ネットワーク:ネットワーク層のプロトコルと技術

IP

ネットワーク層プロトコル

IPはネットワーク層プロトコルでネットワークを超えた通信を提供。
パケット通信
コネクションレス型通信
IPアドレスを使った経路制御

IPヘッダ(IPv4)

IPv4は32ビット管理。

TTL パケットの生存時間ルータを通過するごとに一つずつ減らし、0になったらパケットを破棄すると同時に送信元にICMPタイプ11のメッセージを送る
プロトコル番号 TCPなどの上位プロトコルを識別する番号
ヘッダチェックサム IPヘッダ部分を対象に算出された誤り検出のための値

IPアドレス

IPアドレス

IPアドレスは各国のNICが割り当ての管理などを行っている。直接接続する際は、ISPに申請し、IPアドレスを取得する。
使われていないIPアドレス空間をダークネットという。

IPアドレスの表記

IPv4では32桁の2進数を利用。通常は8ビットずつ区切って10進数表記にする。

IPアドレスの構成

前半24bitはネットワークアドレス部。それぞれに組織のネットワークを一意に判別。
後半8ビットはホストアドレス部。同じネットワークに種族するノードを一意に識別。

IPアドレスクラス

IPアドレスをその先頭4ビットまでの値によって、4つの種類に分けるアドレスクラスという概念が採用されていた。

特殊なIPアドレス

ネットワークアドレスとブロードキャストアドレス
ホストアドレスがすべて0のアドレスは、ネットワーク自体を指すネットワークアドレス。
ホストアドレスがすべて1のアドレスはネットワーク内のすべてのノード当てを表すブロードキャストアドレス。
ループバックアドレス
127.0.0.1」は自分自身を表すIPアドレス
グローバルIPとプライベートIP
ネットに接続されたノードに一意に割り当てられたIPはグローバルIP。組織内で通用するアドレスはプライベートIP。
RFC1918ではプライベートIPアドレスとして次のアドレスを使用するよう推奨。
クラスA:10.0.0.0~10.255.255.255
クラスB:172.16.0.0~172.16.255.255
クラスC:192.168.0.0~192.168.255.255

サブネットマスク

サブネットマスク

アドレスクラスの欠点を補うため、クラスに縛られずにネットワーク部とホストアドレス部を分けるために考えられたのがサブネットマスク。これはIPアドレスと同様に32ビットであらわされる情報。
IPアドレスサブネットマスクを用いたネットワークアドレスおよびホストアドレスの求め方は下記。
IPアドレスをa, サブネットマスクをmとすると、
ネットワークアドレス = a & m
ホストアドレス= a&~m

プレフィックス表記

ネットワークアドレス部とホストアドレス部の区切りをネットワークアドレス部の桁数であらわす方法。
ブロードキャストアドレスは、ホストアドレス部をすべて1にしたアドレス。

CIDR

先に述べたようにクラスによってネットワーク部とホストアドレス部を分割する従来の手法は、結果的に割れ当てされたものの利用されr内IPアドレスを多く発生させてしまう。そこでIPアドレスの効率的なうんお湯を促進するために考えられたのがサブネットマスクを使ったCIDR。

スーパーネット化

CIDRにより、連続するネットワークを束ねて一つに集約したネットワークを作成することが出来る。

IPv6とアドレス変換技術

IPv6

IPv6は、IPアドレスの枯渇問題に対応するための本命技術。
IPV6の特徴
IPv6ではIPアドレスを128bitに拡張し、家電などにも採用できるようにした。
IPv4から仕様変更した主な内容

  • アドレス空間が32ビットから128bitに拡張。
  • ルーティングに不要なフィールドを拡張ヘッダに分離する音で基本ヘッダを簡素かつ固定長にした。
  • IPレベルのセキュリティ機能IPsecに標準対応
  • IPアドレスの自動設定機能の組み込み
  • 特定グループのうち経路上最も近いノード、あるいは最適なノードにデータを送信するエニーキャストの機能の追加
IPv6IPアドレス

IPv6では16bitごとに:で区切って表記。

プレフィックス

IPv6ではサブネットマスクがないため、プレフィックスを使ったネットワークアドレス部の長さを示す。

IPv6のアドレス
ユニキャストアドレス 一つのノードに対して送信するためのアドレス
エニーキャストアドレス IPv6ルータしか扱うことの出来ない複数向けのアドレス。発信元に最も近い一つのノードだけがパケットを受診
マルチキャストアドレス 複数送信先に対して同一データを送る。上位八ビットがFF00::/8
IPヘッダ

IPv4では使われなかった機能をカットしてシンプルにしている。

次ヘッダ IPv4ヘッダのプロトコル番号に相当。
ホップリミット パケットの生存時間
アドレス変換技術

各組織に一つのIPアドレスがあれば、IPアドレスを割り当てられないないノードからもインターネットに接続できるという技術もある。

NAT グローバルIPアドレスとプライベートIPアドレスを1対1で相互に変換。複数のノードが同時にインターネットに接続する場合、同じ数のグローバルIPアドレスが必要
NAPT(IPマスカレード) NATの考え方に、TCP/UDPのポート番号を組み合わせたもの。一つのグローバルIPアドレスでプライベートIPアドレスを持つ複数のノードが同時に接続可能

ネットワーク層プロトコル(ICMP)

ICMP

ICMPはIPパケットの送信処理におけるエラーの通知や制御メッセージを転送するためのプロトコル

タイプ0 エコー応答
タイプ3 到達不能
タイプ5 経路変更要求
タイプ8 エコー要求
タイプ11 時間経過

ICMPを利用したコマンドにPingがある。
ネットワーク管理のコマンド

  • arpARPテーブルに保存されたキャッシュを表示したり削除したりする
  • ifconfig:IPネットワークの設定情報を表示
  • netstat」:ネットワークの通信状況を調べる
  • nslookup:NSDサーバの動作状態を確認
  • route:ルーティングテーブルの内容を表示変更