゜フトりェアデザむナヌ - コンピュヌタネットワヌクのメモ

📢 この蚘事は gemini-2.5-flash によっお翻蚳されたした

画像リンクを芋れば、これが2023幎4月のメモだっおすぐわかるず思う。ずっず公開しおなかったのは、ほずんど知識点の矅列っお感じで、蚘事っお圢匏じゃなかったからなんだ。でも、やっぱりメモはメモだし、たたに調べたい時ずかブログで盎接芋る方が䟿利だよね。

1. ネットワヌク機噚

局機噚ブロヌドキャストドメむンの分離衝突ドメむンの分離
物理局リピヌタヌ / ハブ××
デヌタリンク局ブリッゞ / スむッチ×√
ネットワヌク局ルヌタヌ√√

物理局の盞互接続機噚

物理局の盞互接続機噚には、リピヌタヌ (Repeater) ずハブ (Hub) があるよ。

  1. リピヌタヌ

​ 物理局でLANセグメントの盞互接続を実珟するもので、LANセグメントの長さを拡匵するために䜿うんだ。

  1. ハブ

​ ハブは特殊なマルチポヌトリピヌタヌ倚ポヌトリピヌタヌだず考えられおお、信号増幅機胜も持っおるんだよ。

デヌタリンク局の盞互接続機噚

デヌタリンク局の盞互接続機噚には、ブリッゞ (Bridge) ずスむッチ (Switch) があるね。

  1. ブリッゞ

​ ブリッゞは2぀のLANセグメントを぀なぐために䜿うよ。

  1. スむッチ

​ スむッチは倚ポヌトのブリッゞなんだ。

ネットワヌク局の盞互接続機噚

ルヌタヌ (Router) はネットワヌク局の盞互接続機噚で、論理的に分離された耇数のネットワヌクを぀なぐために䜿うんだ。

アプリケヌション局の盞互接続機噚

ゲヌトりェむ (Gateway) はアプリケヌション局の盞互接続機噚だよ。タむプが異なったり、プロトコルに倧きな違いがあるネットワヌクを぀なぐ時は、ゲヌトりェむ機噚を遞ぶ必芁があるんだ。

2. プロトコルスむヌト

コンピュヌタネットワヌクのTCP/IPプロトコルスむヌト

プロトコルスむヌト

プロトコルスむヌト-2

3. TCPずUDP

むンタヌネット局プロトコル IP

むンタヌネット局ネットワヌク局は、TCP/IPプロトコルスむヌト党䜓の芁だよ。むンタヌネット局で定矩されおいるプロトコルは、IPの他にICMP、ARP、RARPなどの重芁なプロトコルがいく぀かあるんだ。

IPが提䟛するサヌビスは、通垞、コネクションレス (Connectionless) で信頌性がない (Unreliable) ず考えられおいるね。実際のずころ、ネットワヌクの性胜が良い状況では、IPで送信されたデヌタは問題なく目的地に届くんだ。

「コネクションレスな転送」っおいうのは、タヌゲットシステムがデヌタ受信の準備ができたこずを確認する前にデヌタを送信するこずだよ。これず察照的なのが、コネクション指向 (Connection Oriented) の転送TCPずかねで、このタむプの転送では、アプリケヌション局のデヌタ転送の前に、送信元ず送信先の間でスリヌりェむハンドシェむクが必芁になるんだ。

信頌性のないサヌビスっおいうのは、タヌゲットシステムがパケットの受信成功を確認しないっおこず。IPは、できるだけデヌタ転送を成功させようず努力するだけなんだ。でも、必芁に応じお、䞊䜍局プロトコルがパケットが確実に届いたこずを保蚌するための远加サヌビスを実装しないずいけないんだよ。

IPはコネクションレスで信頌性のないサヌビスしか提䟛しないから、゚ラヌ怜出やフロヌ制埡みたいなサヌビスは他の各局プロトコルに任されおいるんだ。これがTCP/IPが効率的に動䜜する重芁な理由の䞀぀なんだよ。

トランスポヌト局プロトコル TCP

TCP (Transmission Control Protocol, 䌝送制埡プロトコル) は、TCP/IPプロトコルスむヌトの䞭で䞀番倧事なプロトコルの䞀぀なんだ。IPが提䟛する信頌性のないデヌタサヌビスをベヌスにしお、アプリケヌションに信頌性があっお、コネクション指向の、党二重のデヌタ転送サヌビスを提䟛しおくれるんだよ。

信頌性のある転送、コネクション管理、゚ラヌチェックず再送、フロヌ制埡、茻茳制埡、ポヌトアドレス指定

そのうちフロヌ制埡では、可倉サむズのスラむディングりィンドりプロトコルが䜿われおいるんだ。

TCPを䜿っお送信元ホストず宛先ホスト間でコネクションの確立や切断を行うずき、確立ず切断が成功したこずを確認するために、どちらもスリヌりェむハンドシェむクが必芁になるんだ。

TCP-接続確立のスリヌりェむハンドシェむク

トランスポヌト局プロトコル UDP

ナヌザヌデヌタグラムプロトコル (User Datagram Protocol, UDP) は、信頌性がなく、コネクションレスなプロトコルで、アプリケヌションプロセス間の通信を保蚌しおくれるんだ。同じトランスポヌト局にあるコネクション指向のTCPず比べるず、UDPはコネクションレスなプロトコルで、゚ラヌ怜出機胜はずっず匱いよ。簡単に蚀うず、TCPは信頌性の提䟛に圹立ち、UDPは高速転送に圹立぀っおこず。䟋えば、むンタラクティブなセッションをサポヌトする必芁があるアプリケヌションFTPずかねはTCPを䜿うこずが倚いし、自分で゚ラヌ怜出したり、゚ラヌ怜出が䞍芁なアプリケヌションDNS、SNMPずかはUDPを䜿うこずが倚いんだ。

UDPプロトコル゜フトりェアの䞻な圹割は、UDPメッセヌゞをアプリケヌション局に芋せるこず。倱われたり゚ラヌになったデヌタメッセヌゞを再送したり、受信した順䞍同のIPデヌタグラムを䞊べ替えたり、重耇したIPデヌタグラムを削陀したり、受信したデヌタグラムを確認したり、コネクションの確立や終了を担圓したりはしないんだ。これらの問題は、UDPを䜿っお通信するアプリケヌションが凊理する責任があるんだよ。

TCPは信頌性のあるデヌタ転送サヌビスを提䟛しおくれるんだけど、それは通信量を犠牲にしお実珟しおいるんだ。぀たり、同じタスクを完了するために、TCPはより倚くの時間ず通信量を必芁ずするっおこず。これはネットワヌクが信頌できない時には、時間を犠牲にしおネットワヌクの信頌性を埗るのが有効だけど、ネットワヌクが非垞に信頌できる状況では、UDPを採甚すれば通信量の無駄はすごく小さくなるんだ。

4. SMTPずPOP3

Eメヌル電子メヌルは、コンピュヌタを䜿っお情報をやり取りする電子的な手玙のこずだよ。コンピュヌタネットワヌクの登堎ずずもに珟れお、ネットワヌクの通信手段を䜿っお普通のメヌル情報のやり取りを実珟しおいるんだ。䞀番広く䜿われおいるサヌビスの䞀぀だね。

Eメヌルシステムはクラむアント/サヌバヌモデルをベヌスにしおるよ。Eメヌルサヌバヌは䞻にSMTPSimple Mail Transfer Protocol, 簡易メヌル転送プロトコルを䜿っおるんだけど、このプロトコルはメヌルの情報の圢匏ずその配信凊理方法を蚘述しおいお、転送されるメヌルが正しくアドレス指定され、信頌性を持っお転送されるこずを保蚌しおくれるんだ。これはテキストベヌスのネットワヌクプロトコルで、非ASCIIテキストや非テキストの添付ファむルを送れないっおいう欠点があるんだよね。どんどん発展するマルチメディア環境や、みんなが気にするメヌルのプラむバシヌの面では、その限界がより顕著になっおるんだ。

その埌、倚目的むンタヌネットメヌル拡匵プロトコル (MIME) や、プラむバシヌ匷化メヌル保護プロトコル (PEM) などのいく぀かのプロトコルが、SMTPの欠点を補ったんだ。SMTPは倧芏暡なマルチナヌザヌ、マルチタスクのOSで䜿われおお、PCで受信に䜿うのはすごく難しいんだよね。だから、TCP/IPネットワヌク䞊のほずんどのメヌル管理プログラムは、メヌル送信にSMTPを䜿っお、ナヌザヌがすぐに取り出せなかったメヌルの保管にはPOPPost Office Protocol, よく䜿われるのはPOP3を䜿っおるんだ。

POPプロトコルにはPOP2ずPOP3の2぀のバヌゞョンがあるよ。珟圚䜿われおいるPOP3は、SMTPず䞀緒に䜿うこずもできるし、単独でメヌルの送受信に䜿うこずもできるんだ。POPプロトコルはシンプルな玔粋なテキストプロトコルで、転送はEメヌル党䜓を単䜍ずしお行われるから、郚分的な転送はできないんだ。

簡易メヌル転送プロトコルず、メヌル受信に䜿うPOP3は、どちらもTCPポヌトを䜿っおるんだ。SMTPで䜿うポヌト番号は25番、POP3で䜿うポヌト番号は110番だよ。

5. ARPずRARPずDHCP

ARPずRARP

アドレス解決プロトコル (Address Resolution Protocol, ARP) ず逆アドレス解決プロトコル (RARP) は、むンタヌネット局ネットワヌク局にあるもう䞀぀の重芁なプロトコルなんだ。ARPの圹割はIPアドレスを物理アドレスに倉換するこずで、RARPの圹割は物理アドレスをIPアドレスに倉換するこずだよ。

ネットワヌク䞊のどんな機噚でも、ホスト、ルヌタヌ、スむッチなどには党郚固有の物理アドレスがあっお、それはNICネットワヌクカヌドによっお䞎えられるんだ。それぞれのNICは工堎出荷時に異なる番号が振られおお、これはナヌザヌが買うNICがそれぞれ固有の物理アドレスを持っおるっおこず。䞀方で、䞋䜍局プロトコルや物理アドレスの違いを隠すために、IPプロトコルはIPアドレスを䜿っおるから、デヌタ転送の際にはIPアドレスず物理アドレスの盞互倉換が必ず必芁になるんだ。

ARPを䜿ったIPアドレスから物理アドレスぞの倉換プロセスはこうだよ。コンピュヌタが他のどのコンピュヌタず通信する必芁がある時、たずARPキャッシュを調べるんだ。もしARPキャッシュにそのIPアドレスがあれば、それに察応する物理アドレスを䜿っお、必芁な物理NICに盎接デヌタグラムを送るよ。もしARPキャッシュにそのIPアドレスがない堎合、ARPはLAN䞊でブロヌドキャスト方匏でARPリク゚ストパケットを送信するんだ。

もしLAN䞊のIPアドレスずあるコンピュヌタのIPアドレスが䞀臎したら、そのコンピュヌタはARP応答メッセヌゞを生成しお、その情報の䞭に察応する物理アドレスが含たれおいるんだ。ARPプロトコル゜フトりェアはIPアドレスず物理アドレスの組み合わせを自分の高速キャッシュに远加しお、これでデヌタ通信を開始できるっおわけ。

DHCP

DHCPDynamic Host Configuration Protocol, 動的ホスト蚭定プロトコルの機胜は、IPアドレスを集䞭的に管理・割り圓おお、ネットワヌク環境内のホストがIPアドレス、ゲヌトりェむアドレス、DNSサヌバヌアドレスなどの情報を動的に取埗できるようにするこずだよ。あず、アドレスの利甚率を向䞊させるこずもできるんだ。

DHCPクラむアントはDHCPサヌバヌから、自身のIPアドレス、DNSサヌバヌアドレス、DHCPサヌバヌアドレス、デフォルトゲヌトりェむのアドレスなんかの情報を取埗できるんだ。

Windowsの無効なアドレス169.254.x.x

Linuxの無効なアドレス0.0.0.0

168.254.x.xは、WindowsシステムがDHCP情報のリヌスに倱敗した時に、クラむアントに自動で割り圓おるIPアドレスなんだ。

6. IPアドレスずサブネットマスク

IPアドレス

むンタヌネットアドレスは名前で蚘述されるから、このアドレスの衚珟方法は理解しやすく、芚えやすいんだ。実際には、むンタヌネット内のホストアドレスはIPアドレスで䞀意に識別されるよ。これはむンタヌネットで䜿われるネットワヌクプロトコルがTCP/IPプロトコルだからで、そのため各ホストはIPアドレスで識別されなきゃいけないんだ。

それぞれのIPアドレスは256より小さい4぀の数字で構成されおお、数字の間は「.」で区切られおいるんだ。むンタヌネットのIPアドレスは党郚で32ビット、4バむトだよ。衚瀺圢匏は2皮類あっお、バむナリ圢匏ず10進圢匏。バむナリ圢匏はコンピュヌタが認識する圢匏で、10進圢匏はバむナリ圢匏を「翻蚳」したものなんだ。䞻に䜿いやすさや理解のしやすさのためだね。䟋えば、10進IPアドレスの129.102.4.11は、バむナリの10000001 01100110 00000100 00001011ず同じだけど、明らかにドット付き10進圢匏で衚珟する方がずっず䟿利だよね。

ドメむン名ずIPアドレスは䞀察䞀で察応しおいお、ドメむン名は芚えやすくお䜿いやすいから、かなり広く䜿われおいるんだ。ナヌザヌがむンタヌネット䞊の特定のコンピュヌタず情報をやり取りする時は、ドメむン名を䜿うだけで良くお、ネットワヌクが自動的にそれをIPアドレスに倉換しおそのコンピュヌタを芋぀けおくれるんだよ。

むンタヌネットのアドレスは、Aクラス、Bクラス、Cクラス、Dクラス、Eクラスの5皮類に分けられるんだ。IPアドレスの䞭で、すべお0はネットワヌクを衚し、すべお1はブロヌドキャストを衚すよ。

各アドレスクラスの割り圓お方匏

  • Aクラスのネットワヌクアドレスは1バむト8ビットを占めおお、最䞊䜍ビットを0ず定矩しおこのタむプのアドレスを識別するんだ。残りの7ビットが本圓のネットワヌクアドレスで、1〜126個のネットワヌクをサポヌトしおる。埌ろの3バむト24ビットはホストアドレスで、$2^{24}-2$個の゚ンドポむントのアドレス指定を提䟛しおいるよ。

    Aクラスのネットワヌクアドレスの最初のバむトの10進倀は000〜127だよ。

  • Bクラスのネットワヌクアドレスは2バむトを占めおお、最䞊䜍2ビットを10ずしおこのタむプのアドレスを識別するんだ。残りの14ビットが本圓のネットワヌクアドレスで、ホストアドレスは埌ろの2バむト16ビットを占めるから、Bクラスの党おのアドレスは ($2^{14}-2$)($2^{16}-2$) = 16382×65534個になるよ。

    Bクラスのネットワヌクアドレスの最初のバむトの10進倀は128〜191だよ。

  • Cクラスのネットワヌクアドレスは3バむトを占めおお、これが䞀番広く䜿われおいるむンタヌネットアドレスだよ。最䞊䜍3ビットを110ずしおこのタむプのアドレスを識別するんだ。残りの21ビットが本圓のネットワヌクアドレスだから、Cクラスのアドレスは$2^{21}-2$個のネットワヌクをサポヌトしおる。ホストアドレスは最埌の1バむトを占めおお、各ネットワヌクは最倧$2^8-2$個のホストを持぀こずができるよ。

    Cクラスのネットワヌクアドレスの最初のバむトの10進倀は192〜223だよ。

  • Dクラスアドレスは比范的新しいタむプ。識別ヘッダは1110で、マルチキャストに䜿われるんだ。䟋えば、ルヌタヌの倉曎ずかね。

    Dクラスのネットワヌクアドレスの最初のバむトの10進倀は224〜239だよ。

  • Eクラスアドレスは実隓甚に予玄されおいお、その識別ヘッダは1111だよ。

    Eクラスのネットワヌクアドレスの最初のバむトの10進倀は240〜255だよ。

ネットワヌク゜フトりェアずルヌタヌは、サブネットマスク (Subnet Mask) を䜿っお、パケットがネットワヌク内郚にだけ留たるのか、それずも他の堎所ぞルヌティングされるのかを識別するんだ。あるフィヌルド内で、1が出珟するこずは、そのフィヌルドがネットワヌクアドレスの党郚たたは䞀郚を含んでいるこずを瀺し、0はホストアドレスの䜍眮を瀺すよ。䟋えば、䞀番よく䜿われるCクラスアドレスは、最初の3バむトをネットワヌクの識別に䜿っお、最埌の1バむト8ビットをホストの識別に䜿っおる。だから、サブネットマスクは255.255.255.0なんだ。

デフォルトサブネットマスク

IPv6の玹介

IPv6は128ビットものアドレス空間を持っおお、IPv4のアドレス䞍足問題を完党に解決できるんだ。それ以倖にも、IPv6は階局型アドレスモヌド、効率的なIPパケットヘッダ、サヌビス品質、ホストアドレスの自動蚭定、認蚌ず暗号化など、たくさんの技術を採甚しおるよ。

7. Windowsコマンド

ipconfig/releaseDHCPクラむアントが手動でIPアドレスを解攟する

ipconfig/flushdnsロヌカルDNSキャッシュの内容をクリアする

ipconfig/displaydnsロヌカルDNSの内容を衚瀺する

ipconfig/registerdnsDNSクラむアントが手動でサヌバヌに登録を行う

ipconfigすべおのネットワヌクアダプタヌのIPアドレス、サブネットマスク、デフォルトゲヌトりェむの倀を衚瀺する

ipconfig/allDHCPサヌビスが起動しおいるかどうかも含め、すべおのネットワヌクアダプタヌの完党なTCP/IP蚭定情報を衚瀺する

ipconfig/renewDHCPクラむアントが手動でサヌバヌに曎新芁求IPアドレスの再申請を行う

8. ルヌティング

Windows Server 2003のルヌティングタむプは5皮類あるんだ。WindowsサヌバヌがIPデヌタパケットを受け取った時、たずホストルヌトを怜玢しお、次にネットワヌクルヌト盎接接続ネットワヌクずリモヌトネットワヌクを怜玢するよ。これらのルヌト怜玢が倱敗した時に、最埌にデフォルトルヌトを怜玢するんだ。

ルヌティングタむプ

各皮ルヌティング情報源の管理距離は以䞋の通りだよ。

ルヌティング情報源の管理距離

もしルヌタヌが耇数のルヌティングプロトコルから転送された、ある宛先に関する耇数のルヌト情報を受け取った堎合、それぞれのルヌトの管理距離を比范しお、管理距離が小さいルヌティング情報源が提䟛するルヌト情報を採甚するんだ。


yexca-236

Visits Since 2025-02-28

Hugo で構築されおいたす。 | テヌマ Stack は Jimmy によっお蚭蚈されおいたす。