TCP/IP - 東京理科大学 理工学部 情報科学科

Networkゼミ
特別講義
~仕組みがわかればネットワークはもっと楽しくなる~
[IPルーティング編]
この特別講義の位置づけ
ネットワークゼミのメンバー用の講義であり、
インターネットの基盤となっている技術の基礎知識を
身につけるために行う。
 TCP/IP編
 TCP/IP(アプリケーション)編
 IPマルチキャスト編
 ネットワークプログラミング編
 IPルーティング編
本講義の目的
 IP通信の仕組みを理解し、管理者向けの知識を習得する.
 情報通信分野に携わる人間として最低限のネットワーク
知識を習得する.
IP通信に必要なもの
 MACアドレス(ARP)
 IPアドレスだけでは通信できず,ローカルの通信に
はMACアドレスが必要.
 MACアドレスとIPアドレスの変換(ARP)が必要
 ルーティングテーブル
 本講義で後述する.
IPアドレスとは何か
 インターネット上のホストがその時の所在を明ら
かにした名前.
 例: MACアドレス=
本名 松澤智史
IPアドレス= 所在 TUS S&T IS 助教(武田研)
 重複があってはならないネットワーク上の識別子.
IPアドレスの基本
 ネットワークとホストを表す.
 ネットワークアドレスとホストアドレスに分かれる.
 1つのネットワークで同じIPアドレスは使えない.
IPアドレスの基本(contd.)
ネットワークA
ホストA
10000101000111110110011100001010 (32bit)
↓
10000101 00011111 01100111 00001010
↓
133 31 103 10
↓
133.31.103.10
ネットワークB
ネットワークBのホストB宛のパケット
ホストB
クラス
 ネットワークとホストをクラスでわける.
(現在はほぼ使用されていない)
 クラスA(ネットワーク8bit): 1.0.0.0~126.255.255.255
 ネットワーク数 126 ホスト数16777214
 クラスB (ネットワーク16bit): 128.1.0.0~191.254.255.255
 ネットワーク数 16382 ホスト数 65534
 クラスC (ネットワーク32bit): 192.0.1.0~223.255.254.255
 ネットワーク数 2097150 ホスト数 254
詳細はRFC3330参照
※ プライベートアドレス
LAN内に閉じられた範囲で自由に使えるアドレス
 クラスA: 10.0.0.0~10.255.255.255
 クラスB: 172.16.0.0~172.31.255.255
 クラスC: 192.168.0.0~192.168.255.255
サブネット
Classless Inter-Domain Routing
(CIDR)
 効率的にIPアドレスを割り振ることができる.
 サブネットマスクを用いる.
例:
IPアドレス 192.168.100.200
サブネットマスク 255.255.248.0
11000000 10101000 01100100 11001000
11111111 11111111 11111000 00000000 AND演算をする
11111111 11111111 01100000 00000000
ネットワークアドレス 192.168.96.0
このネットワークは192.168.96.1~192.168.103.254
メモ
CIDRではIPアドレスの後ろに
ネットワークアドレスの長さを
/nと表記する.
Ex. 133.31.103.0/24
スーパーネット
 複数のネットワークを1つに集約することを言う.
 後述するルーティングテーブルの情報を少なくできる.
例:
192.168.16.0/24と192.168.17.0/24と192.168.18.0/24と
192.168.19.0/24は
192.168.16.0/22に集約できる.
ルーティング
 パケットを相手先まで転送することをルーティングという.
 ルータやコンピュータに搭載されたルーティングテーブルで
経路が決まる.
 わからない宛先はデフォルトルートに転送する.
ホストA
11.11.11.11/24
ホストB
22.22.22.22/24
10.10.10.10/24
11.11.11.1/24
22.22.22.1/24
Destination Gateway Interface
Destination Gateway Interface
Destination Gateway Interface
11.11.11.0
eth0
11.11.11.0
*
eth0
22.22.22.0
11.11.11.1 eth0
22.22.22.0
*
eth1
Default
Default
*
Default
10.10.10.1 eth2
*
eth0
22.22.22.1 eth0
※Defaultは0.0.0.0と表記される場合もある
ルーティングの種類
 スタティックルーティング
 管理者が手動でルーティング情報を設定する.
 ダイナミックルーティング
 後述するルーティングプロトコルでルータ同士が情報
を交換しあってルーティング情報を設定する.
スタティックルーティング
routeコマンドで設定する.
 Linux (unix系OS)の場合の例:
# route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
# route add default gw 155.155.155.1
 Windowsの場合の例:
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 IF2
ルーティングプロトコル
 経路情報をルータ同士で交換する.
 アルゴリズムの違いによって複数の種類がある.
 RIP (Routing Information Protocol)
 OSPF (Open Shortest Path First)
 BGP (Border Gateway Protocol) ・・・ AS間通信などに利用
 宛先ネットワークまでの距離を表す「メトリック」と
いう値が割り出され,メトリックの小さい経路を最適
な経路とする.
RIP (Routing Information Protocol)
 ほとんどのルータに搭載されているプロトコル.
 ルータが数台程度の時に利用される.
 現在のバージョンは2.
(1はCIDR・手動集約経路未対応 )
 ディスタンスベクタ(Distance Vector)方式で制御する.
距離1
A
1
B
2
D
2
C
E
3
宛先
方向
距離
A
A
2
B
A
3
C
-
0
D
A
4
E
E
3
Cのテーブル
RIP (Routing Information Protocol)
 経路交換の手順
 IPアドレスとメトリックを隣接ルータと30秒ごとに交換(RIP advertisement)す
る.
 経路情報を受け取ったルータはメトリックを1足して追加する.
 同じ宛先からの情報を受け取った場合はメトリックの小さい方を採用する.
ルータA
宛先
GW
メトリック
N
C
1
宛先
GW
メトリック
N
*
0
ルータB
宛先
GW
メトリック
N
B
2
ルータC
ネットワークN
RIP (Routing Information Protocol)
 経路交換の手順
 IPアドレスとメトリックを隣接ルータと30秒ごとに交換(RIP advertisement)す
る.
 経路情報を受け取ったルータはメトリックを1足して追加する.
 同じ宛先からの情報を受け取った場合はメトリックの小さい方を採用する.
ルータA
宛先
GW
メトリック
N
C
1
宛先
GW
メトリック
N
*
0
ルータB
宛先
GW
メトリック
N
B
1
ルータC
ネットワークN
RIP (Routing Information Protocol)
 経路がなくなった時の動作
 ルータ間が切れた場合はタイムアウト(180秒)によってメトリックを16
にして通知する.
 直接繋がっているネットワークが切断された場合はメトリックを16に
して,即通知する.(Triggered Update)
ルータA
宛先
GW
メトリック
N
C
16
宛先
GW
メトリック
N
*
16
ルータB
宛先
GW
メトリック
N
B
16
ルータC
ネットワークN
OSPF (Open Shortest Path First)
 大規模なネットワークに対応したルーティングプロトコル.
 収束が早い.
 回線帯域を考慮した経路制御が可能.
 複雑なため安価なルータには実装されてないケースもある.
 リンクステート(Link State)方式を用いて経路を計算する.
A
C
A
コスト10
+10
B
D
100
10
D
50
10
E
55
F
10
G
50
ネットワークの構成とコスト
H
+10
B
+50
60
+10
E
10
C
10
D
115
125
+55
+10
F
G
+100
110
D
+10
H
120
ルータAを頂点とした最短パスツリー
OSPF (Open Shortest Path First)
コストとホップの違い
RIPの場合
1000Mbps
1000Mbps
1Mbps
OSPFの場合
1000Mbps
1000Mbps
1Mbps
※ Ciscoルータはデフォルトでコストを100÷*Mbpsとしている
OSPF (Open Shortest Path First)
 ルータを識別する方法
 32bitのルータIDを用いる.(明示的に設定しなければIPアドレスの
いずれかが選択される.)
 OSPFルータ同士の通信
 OSPF自身が再送制御などのトランスポート層プロトコルの機能を
持っている.
 経路広告にマルチキャストを利用している.
 ルータ間で主従関係を構成する.
OSPF (Open Shortest Path First)
OSPFパケットタイプ
 Hello
 隣接関係の確立と維持.
 DD
 トポロジデータベースの内容を説明.隣接関係の確立時に使用.
 LSA
 2つのルータ間のリンク状態をまとめた特殊なパケット.後述.
 LSU

LSRへの応答.LSA情報を含む.
 LSR

隣接ルータにトポロジデータベースの一部を要求.
 LSAck

確認応答.
OSPF (Open Shortest Path First)
OSPFの動作のフロー
Init
隣接関係
2way
Init
Hello パケット
ExStart
Exchange
Loading
足りないLSAを要求
Exchange
Loading
LSA (Link State Advertisement)要求
Full
すべてのLSAが揃う
2way
ExStart
DD (Database Description)送付
Full
LSA (Link State Advertisement)送付
LSA (Link State Advertisement)
リンクステート広告
DD (Database Descriptionパケット
各ルータの持っているLSAを要約したもの
Fullになったら集めたLSAを元に
経路計算を行い,
新しいルーティングテーブルを構築する.
(Dijkstraアルゴリズムを使用)
OSPF (Open Shortest Path First)
 隣接関係の確立
 効率的な関係を結ぶために,OSPFではDR (Designated Router)とBDR
(Backup DR)を設けている.
 各ルータはDRとBDRに強い隣接関係を結ぶ.
 DR/BDRの選択には管理者の設定したプライオリティの値を参照す
る.
D DR
D
A
E
B
C
A
BDR B
E
C
OSPF (Open Shortest Path First)
LSAの種類
 タイプ1 LSA: ルータLSA
 ルータに関する情報が格納.LSAを生成したルータが接続しているリンクに対す
る状態とコストを示すために使用される.
 タイプ2 LSA: ネットワークLSA
 ネットワークに関する情報が格納.そのネットワークのサブネットマスクと
ネットワークに繋がっているルータIDが羅列されている.
 タイプ3 LSA: サマリーLSA(IPネットワーク)
 エリアの外部のネットワーク情報を通知(エリア内のみ)
 タイプ4 LSA: サマリーLSA(AS境界)
 ASBRの情報を通知(エリア内のみ)
 タイプ5 LSA: AS外部LSA
3~5はエリア分割で使用される.
OSPF (Open Shortest Path First)
ネットワーク構成が変化した場合
 Helloパケットを利用するケース
 Helloパケットは10秒に1度流れるが40秒間途絶えた場合,ルータが停止
したと判断し,そのルータのLSAを削除する.
 直接トポロジ変化を検知したケース
 DBからリンクダウンしたネットワークのLSAを削除し,即座にDRとBDR
に通知する.
 DRは配下のルータに対してトポロジ変更があった旨の通知を送信する.
ルータの種類
 コアルータ
 放射状のスター型トポロジを持つネットワークの中で,中心部に位置するルータ
 エッジルータ
 放射状のスター型トポロジを持つネットワークの中で,末端部に位置するルータ
 アクセスルータ(リモートルータ,WANルータ)
 ISDN,高速デジタル専用線,フレームリレー,ATMなどのWANインターフェース
を搭載しているルータ.ISDNルータやATMルータなどと呼ばれることもある.
 ローカルルータ(LANルータ)
 大規模LANのトラフィック軽減のために誕生.
 ブロードバンドルータ
 ADSL/CATV/光インターネット接続に対応したローカルルータorアクセスルータ
 ダイヤルアップルータ
 WAN回線にISDNや音声電話網などを使用する.PPP,パケットフィルタなどを搭
載している.
アクセスルータに搭載されている機能
 パケットフィルタリング
 ルータを通過しようとするパケットを精査し,あらかじめ設定
されたポリシー(TCP/UDP/ICMPなどのプロトコルの種類や送信
元・宛先アドレスなど)に従ってパケットの通過の可否を決定
する.
 NAT (Network Address Translation)
 LANからインターネットに送出されるパケットがルータを通過
する際にパケットの送信元のアドレスを書き換える.
 IPマスカレード
 LAN内をプライベートアドレスにしておき,LANからインター
ネットに送出されるパケットがルータを通過する際,送信元ア
ドレスとポート番号を書き換える.
 VPN (Virtual Private Network)
 トンネリング機能と暗号化機能を使用し,拠点間接続をイン
ターネット上で行う.
NATとIPマスカレードの違い
NAT
IPマスカレード
133.31.103.10
192.168.10.10
133.31.103.11
192.168.10.11
192.168.10.12
133.31.103.10
ポート 22252
192.168.10.10
133.31.103.10
ポート 32245
192.168.10.11
192.168.10.12
VPN
物理接続
アクセスルータ
インターネット
トンネリング
アクセスルータ
LAN A
LAN B
論理接続
アクセスルータ
インターネット
アクセスルータ
LAN A
LAN B