TCP/IPで通信するための仕組み
可変長サブネットマスクとCIDR
可変長サブネットマスク
サブネット毎に、サビネットマスクの長さを変えることができる技術。サブネットマスクの長さを自由に変えられるようになると、サブネット毎に接続するコンピュータ数を柔軟に決める事ができる。
CIDR
複数のネットワークへの転送を1つの転送ルールで済ませる技術。
ルーターB (192.168.0.0/22宛は全部、ルーターAに渡すよ) ↓ ルーターA ↓ 192.168.**0**.0/24, 192.168.**1**.0/24, 192.168.**2**.0/24
/24
はサブネットマスクのビット数を表しており、CIDR記法と呼ぶ。
MACアドレスを使った情報転送
MACアドレスとは、イーサネットなどのネットワークハードウェアに1つずつ割り当てられているアドレス。物理アドレスとも呼ばれる。
昔と現在とでMACアドレスの使い方は異なる。
古いイーサネットでのMACアドレスの使い方
全てのコンピュータに同じデータを送り、MACアドレスが自分宛ての場合のみ受信、そうでなければスルーする。
現在のイーサネットでのMACアドレスの使い方
どのポートにどのMACアドレスの機器がつながれているかをMACアドレステーブルに保存しておき、その機器だけに送る。
ARPが必要なわけ
ARPとは、ネットワーク内に同じIPアドレスのコンピュータが存在するかを確認するためのプロトコル。
パケットを相手に送る時、その相手が同じネットワーク内に存在したらその相手のMACアドレスが知りたいです。相手が同じネットワーク内にいる場合は、IPアドレスからMACアドレスを導きだし、別のネットワーク内に相手がいる場合は、パケットを次のルータに引き渡す必要がある。これらの操作をするためのプロトコルがARPである。
ARPの動作
ARPにはブロードキャストが使われる。これはARPリクエストとARPリプライから成る。
ARPリクエスト
ネットワークに対して、送り先のIPと同じIPを持つコンピュータがあるかをネットワーク内に対して聞く事。
ARPリプライ
ARPリクエストに対して、送り先と同じIPを持つコンピュータから、自分自身のMACアドレスの情報を含めて、送信元に送りかえる事。
これにより、送信元は送信先のMACアドレスを特定することができる。
ルーティングとデフォルトゲートウェイ
ルーティングとは、ルーターによるパケットの転送の事。ルーティングは何をどこへ転送すればいいかを定めた転送ルールに従って行われている。そのための重要な要素がルーティングテーブルである。
ルーティングテーブルとは、宛先のネットワークとそのネットワークに対する配送方法が登録されている。
デフォルトゲートウェイ
送り先が分からない時にとりあえず送っておく先。
スタティックルーティングとダイナミックルーティング
ルーティングテーブルは、ネットワークの構成が変わった時にその情報を更新する必要がある。 この時、ルーティングテーブルを更新するスタイルが2つある。
スタティックルーティング
ネットワーク接続が更新するたびに、関連するルーターなどのルーティングテーブルを手動で修正する方法。小さな規模のネットワークでは手軽にできるので有効。
ダイナミックルーティング
ネットワークの構成が変わる度に、自動でルーティングテーブルを更新する。大規模ネットワークに有効。
DHCPサーバー
新たにネットワークにコンピュータを接続する場合、IPアドレスやサブネットマスク、DNSサーバーのIPアドレスなどを逐一設定する必要がある。DHCPサーバーを用いることでこれらの設定を自動で行う事ができる。
DHCPサーバーの動作の流れ
**① DHCPディスカバー** 新たに接続したいコンピュータ(クライアント)からDHCPサーバーに対して、IPアドレスを付けて下さいと呼びかける事 ↓ **② DHCPオファー** DHCPサーバーからクライアントに対して、IPアドレスの候補が送られる ↓ **③ DHCPリクエスト** クライアントからDHCPサーバーに対して、候補を使用することを伝える ↓ **④ DHCPアック** DHCPサーバーからクライアントへ、設定情報の使用を開始を承諾したことを知らせる。
NATとNAPT
企業や家庭内で通信する際はプライベートIPアドレスを使用するが、インターネットと通信する時には、グローバルIPアドレスが必要になる。この時、アドレス交換という方法用いてグローバルIPアドレスを使えるようにしている。アドレス交換の方法はNATとNAPTの2つ存在する。 グローバルIPアドレスは、ネットワーとネットワークを繋ぐルータが持っている。
NAT
NATとは、ルータに複数のグローバルIPアドレスを保持しておき、LAN内のコンピュータがインターネットに接続しようとした時に、複数あるグローバルIPアドレス内のどれかを使用して通信を行う方法。 NATの場合、同時にインターネットに接続できるコンピュータの数はルーターが持っているグローバルIPアドレス数に依存する。
NAPT
NAPTとは、IPアドレスを変換する際にポート番号も変換することで、1つグローバルIPを複数のコンピュータで共有できる仕組み。