Upload
dinhdien
View
216
Download
0
Embed Size (px)
Citation preview
1
ネットワーク レイヤ
- IP (Internet Protocol) -
(1) IP (Internet Protocol) (2) Addressing (3) ARP (4) Routing (5) Address Discovery (e.g., DHCP) (6) ICMP/IGMP(7) Multicast
2
インターネットの階層モデル• IP層はバケツリレー(伝言ゲーム)
• IP層ではじめてエンドエンドの通信が確立
• IPの上位層はIPの機能をするために世界中のホストと通
信できる
Physical
NetworkInterface
IP
TCP
Application
Physical
NetworkInterface
IP
TCP
Application
Physical
NetworkInterface
IP
TCP
Application
Physical
NetworkInterface
IP
TCP
Application
3
ping telnet ftp X tftp bootp smtptraceroute NFS/RPC
TCP UDP
IP ICMP IGMP
Data-Link
FDDI SDH FR ATMEthernet
4
ネットワーク レイヤ
- IP (Internet Protocol) -
→ (1) IP (Internet Protocol)(2) Addressing (3) ARP (4) Routing (5) Address Discovery (e.g., DHCP) (6) ICMP/IGMP
5
IP ; Internet Protocol ・ ベストエフォートでのデータグラム配送
- パケットの廃棄の可能性
・ Connectionlessデータグラム配送- 順序逆転の可能性
・ IPの機能- 「アドレス処理」、「フラグメント処理」
・ IP version 4 (IPv4) - RFC791: “Internet Protocol”, Sept. 1981.
・ IP version 6 (IPv6) - RFC1883: “Internet Protocol Version 6 (IPv6)
Specification”, Apr.1996.
6
IP version 4 (IPv4) Header Format 0 7 8 15 16 23 24 31
TOSversion headerlength
Total length (Bytes)
protocol-idflag(3)
TTL header checksum
datagram-id
source IP addressdestination IP address
01
options (if any)
TCP/UDP data
20 B
ytesFragment offset (13bits)
2
3
4
7
IP version 4 (IPv4) ・ ビット転送順序: “big endian” = “network byte order”
→ 0-7,8-15,16-23,24-31 の順序
・ TOSフィールド(8 bits ; 4bitsが有効) - 現在の実装では通常利用されていない。
→ Differentiated Serviceで利用が再検討中。・ Total Length(16 bits)
→ 最大MTU(Maximum Transfer Unit) ; 65,535 Bytes。→ Host Implementation Requirement ; 576 Bytes。→ Path MTU Discovery (ICMPエラーメッセージを利用)
・ TTL (8 bits) ; max. 256 (i) ループ時のパケット廃棄(ii) パケットの配送Scope
・ Checksum ;→ エラー検出の場合には、Silent discard(通知なし)
8
IPv6パケットヘッダ構成の特徴
・ アドレス長; 32 bits → 128 bits (2^76倍) ・ フラグメントは原則行わない(Option化)・ チェックサムの廃止・ オプションを TLV(Time Length Value)に
より表現(RFC1700) ・ フローラベルの導入
IP version 6 (IPv6) 基本Header Format 0 7 8 15 16 23 24 31
version Priority Flow Label
Next Header TypePayload Length
source IP address (128 bits)
destination IP address (128 bits)
0
234
options (if any)
TCP/UDP data
40 B
ytes
56789
1 Hop-Limit
10
IPv6パケットヘッダ構成IPパケット
IPv6ヘッダ
IPv6拡張ヘッダ
ペイロード
ホップバイホップ・オプション・ヘッダ*ルーティング・ヘッダ(Type0)フラグメント・ヘッダ終点オプション・ヘッダ**認証ヘッダカプセル化セキュリティ・ペイロード
*)すべての中継点で処理**)終点でのみ処理
11
IPv6拡張ヘッダのチェーン
IPヘッダNH=TCPヘッダ
TCP ヘッダ+
データ
IPヘッダNH=ルーテングヘッダ
ルーテングヘッダNH=TCPヘッダ
TCP ヘッダ+
データ
フラグメントヘッダNH= TCPヘッダ
ルーテングヘッダNH=フラグメントヘッダ
IPヘッダNH=ルーテングヘッダ
TCP ヘッダ+
データ
・ TLV (Type Length Value) 形式によるオプションヘッダフォーマット
12
TLV形式の可変長オプションの形式
• TLV(Type-Length-Value)エンコード
• 適当なアライメントを要求
Option Type Option Len Option Data
00-パケットを破棄せず、次のヘッダへ01-パケットを破棄10-破棄し,ICMPエラーを発信元へ11-破棄し,マルチキャストでない場合ICMPエラー発信元へ
0 - オプションデータは途中で変更しない1 - オプションデータは途中で途中で変更
オプション種別
Option Len オクテット
13
ネットワーク レイヤ
- IP (Internet Protocol) -
(1) IP (Internet Protocol)→ (2) Addressing
(3) ARP (4) Routing (5) Address Discovery (e.g., BOOTP) (6) ICMP/IGMP
14
(2) Addressing 1. IPv4 Addressing ; アドレス枯渇への対策
- Subnetting - CIDR(Classless Inter-Domain Routing)
- NAT (Network Address Translation)2. IPv6 Addressing
- Multi-layer3-protocol - Aggregatable Unicast Address - Well-Known Multicast / Anycast Address
15
ネットマスクとプレフィックス
• ネットワーク部は可変
• プレフィックス長によるネットワーク番号表記
net-id
1111..............11111
host-id
プレフィックス長
マスク 0000......0000
アドレス
例)133.201.2/24プレフィックス長
ネットワーク番号
16
CIDR• Classless Inter-Domain Routing (RFC1519)• 枯渇を防ぎながら経路表の増加を防ぐ
• 既存の環境との共存
– すべてをCIDRにする必要はない
• 可変長net-id/netmaskの導入
• Address Aggregation • Supernetting; best-matchテーブル検索
• 長期的な解決はIPv6
17
アグリケーション(集約)• 連続したネットワークのブロック化
ホスト00ネットワーク番号
24
ホスト01ネットワーク番号
ホスト10ネットワーク番号
ホスト11ネットワーク番号
C
C
C
C
プレフィックス
22
4C
- Address Aggregation- 4x(/24アドレス) → 1x(/22アドレス)
18
アグリゲーションの例192.24.0.0 - 192.24.7.0= 192.24.0.0/21
192.24.16.0 - 192.24.31.0= 192.24.16.0/20
192.24.8.0 - 192.24.11.0= 192.24.8.0/22
192.24.34.0 - 192.24.35.0= 192.24.34.0/23
192.32.0.0 - 192.32.15.0= 192.32.0.0/20
192.24.12.0 - 192.24.15.0= 192.24.12.0/22RA RB
192.24.32.0 - 192.24.33.0= 192.24.32.0/23
192.24.32.0/22192.24.0.0/19 192.32.0.0/20
192.24.32.0/22192.24.0.0/19192.32.0.0/20
19
0 1 2 3 12345678 90123456 78901234 56789012
[1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[2] 192.24.34.0/23 : 11000000.00011000.0010001- --------[3] 192.24.32.0/23 : 11000000.00011000.0010000- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- --------[5] 192.24. 0.0/21 : 11000000.00011000.00000--- --------[6] 192.24. 8.0/22 : 11000000.00011000.000010-- --------[7] 192.24.12.0/22 : 11000000.00011000.000011-- --------
Aggregate; [2] + [3] = [8] (.34/23 + .32/23)[6] + [7] = [9] (.8/22 + .12/22)
0 1 2 3 12345678 90123456 78901234 56789012
[1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[8] 192.24.32.0/22 : 11000000.00011000.001000-- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- --------[5] 192.24. 0.0/21 : 11000000.00011000.00000--- --------[9] 192.24. 8.0/21 : 11000000.00011000.00001--- --------
Aggregate; [5] + [9] = [10] (.0/21 + .8/21)
20
0 1 2 3 12345678 90123456 78901234 56789012
[1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[8] 192.24.32.0/22 : 11000000.00011000.001000-- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- --------[5] 192.24. 0.0/21 : 11000000.00011000.00000--- --------[9] 192.24. 8.0/21 : 11000000.00011000.00001--- --------
Aggregate; [5] + [9] = [10] (.0/21 + .8/21)
0 1 2 3 12345678 90123456 78901234 56789012
[1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[8] 192.24.32.0/22 : 11000000.00011000.000110-- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- --------[10] 192.24. 0.0/20 : 11000000.00011000.0000---- --------
Aggregate; [4] + [10] = [11] (.16/20 + .0/20)
0 1 2 3 12345678 90123456 78901234 56789012
[1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[8] 192.24.32.0/22 : 11000000.00011000.000110-- --------[11] 192.24. 0.0/19 : 11000000.00011000.000----- --------
21
可変長サブネットとSupernetting
• VLSM(Valiable Length Subnet Mask)• スーパネット (RFC1518, 1519)• 経路情報
<ネットワーク番号,プレフィックス長,転送ノード>
– 最長一致 (best-match / longest-match)
22
Supernettingの例
192.24.0.0/20
192.24.0.0/20
192.24.0.0/23 192.24.0.0/23
192.24.0.0/23
192.24.0.0/20
0 1 2 3 Next-hop 12345678 90123456 78901234 56789012
192.24.0.0/20 : 11000000.00011000.0000---- -------- R1192.24.0.0/23 : 11000000.00011000.0000000- -------- R2
: : : :: : : :
R1
R2 R3
<< Routing table in R3 >>
Destination next-hop(1) 192.24.1.122 : R2 (2) 192.24.8.36 : R1
24
プライベートネットワーク用アドレス
• 組織のホストを次の3つのカテゴリに分類
– 他組織にアクセスする必要のないホスト
– 外部にメイルやTELNETなど限られたサービ
スのみ必要
– IPにより外部とネットワーク層での通信が必要
なホスト
• 外部にIPレベルでアクセスする必要のな
いホスト用
– 業務システム
– ファイアウオールの内側のホスト
25
プライベートネットワーク用アドレス
• IANAにより予約(RFC1918) – 他の組織には割り当てられない
→ しかし、同じアドレスがインターネットの中には存在する。
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
26
NAT(Network Address Translation)・ 受信パケットのIPアドレス(src_IP)およびポート番号
の(src_port)変換テーブルを持ちIPヘッダの変換。(RFC1631) (1) Private → Global
- DNS : NATルータのIPアドレスが解決される。- 受信パケット(dst_IP)
→ 送信パケットの(src_IP, src_port)の書換え
(2) Global → Private - 受信パケット(src_IP, src_port)
→ 送信パケットの(dst_IP)の書換え
(*) ポート番号(src_port)の機能(i) src_IPの多重化(ii) dst_IPのマッピング
27
NAT
入力 出力アドレス ポート アドレス ポート送信 宛先 送信 宛先 送信 宛先 送信 宛先A ー ー ー
ー ー ーN
NAT CA
CA送信アドレス
A→Nに変換
CN
A C N C宛先アドレス
N→Aに変換
28
Traditional NAT組織内 インターネット
NAT CA
AC
宛先アドレス
100200
宛先ポート番号CA
200100
に変換送信ポート番号 送信アドレス A→N
100200
NC
Basic NAT
CN
200100
N→Aに変換
AC
宛先アドレス
100200
送信ポート番号
宛先ポート番号
CN
150200
200150
NC
CA
200100
A→N、100→150に変換
N→A150→100に変換
送信アドレス
NAPT
29
Bi-directional NAT
組織内 インターネット
NAT CA
AC
宛先アドレス
100200
宛先ポート番号
A→Nに変換
CA
200100
CN
200100
送信アドレス送信ポート番号
100200
NC
N→Aに変換
(1) ホストAのアドレスは?(2)アドレスはNDNS
(3)
(4)
30
Twice NAT
組織内 インターネット
NAT CA
ANl1
(1)ホストC のアドレスは?(2)アドレスは Nl1
A→NgNl1→Cに変換
宛先アドレス
DNS送信アドレス
Ng1C
(3)
Nl1A
CNg1
(4)
Ng→AC→Nl1に変換
31
ネットワーク レイヤ
- IP (Internet Protocol) -(1) IP (Internet Protocol) (2) Addressing
→ (3) ARP(4) Routing (5) Address Discovery (e.g., DHCP) (6) ICMP/IGMP
32
ARP(Address Resolution Protocol)RARP(Reverse ARP)
32 bit Internet Address 32 bit Internet Address : 192.220.20.161
48-bit Ethernet Address 48-bit Ethernet Address
ARP(RFC826)
RARP(RFC903)
: 18:0:20:3:F6:42
(*) IPv6 では、Neighbor Discovery Protocol が提供
33
ARP when we use ftp host_name
host_name
resolver FTP (1)(1) resolve destination IP address(2) establish TCP session(3) send IP datagram to IP module(4) send IP datagram to ARP module(5) send ARP request to Ether driver(6) send ARP request to Ethernet(7) ARP reply from destination host(8) send IP datagram to dst_tcp_module
IP_addr (2)TCP
(3)IP (4)
ARP (5)
Ethernet driver
ARP
Ethernet driver
Ethernet driver
ARP IP
FTP
ARP_request (6)
(7) (8)
34
ARP Cache・ Chaching を行いARPメッセージの不必要な送信を減らす。
- Aging ; 20 分(default) - Chache内容のチェック;
bsdi% arp -a sun (140.252.13.33) at 8:0:20:3:F6:42svr4 (140.252.13.34) at 0:0:C0:C2:9B:26
- Gratuitous ARP ; ARP cacheのFlush/Refresh (*) 通常、bootstrap手続き中に行われる
- ARP Command ; arp表示 ; arp -a消去 ; arp -d追加 ; arp -s host_name, Ethernet_address, [temp]
35
ネットワーク レイヤ
- IP (Internet Protocol) -(1) IP (Internet Protocol) (2) Addressing(3) ARP
→ (4) Routing(5) Address Discovery (e.g., DHCP) (6) ICMP/IGMP
36
インターネットの中での 小包配送
論理的な名前 (FQDN/URI) 宛先IPアドレス ZIPコードMACアドレス 具体的な道
(*) 具体的な道にはいろいろな種類があるZIPコードは、統一化されたもの人間は、番号では理解が難しい
37
Routing[Routingの種類]
(a) 静的ルーティング(static_routing, default_routing) (b) 動的ルーティング(dynamic_routing)
[Routing Process(Dynamic Routing)が行う仕事](i) 経路情報の広告(to 隣接ノード) (ii) 経路の計算(iii) パケットの送信・転送・受信
[パケットの受信時の手続き] (1) host_address の検索(2) network_address の検索(3) defaultエントリー の検索
38
routing daemon
routecommand
netstatcommand
ICMP
IP output: calculate next hop
router (if necessary)
Our packet (one ofour IP addresses or broardcast addrs) ?
Process IP options
IP input queueIP layer
routingtable
yes
noICMPredirect
sourcerouting
forwardpacket
routing protocol information
UDP TCP
network interface
<< Datagram processing in the node >>
39
IPIP経路経路((ルーティングルーティング))制御制御-- What a dynamic routing protocol does What a dynamic routing protocol does --
Webサーバ
R2
R1R3
R4
R5
R6
R7
R8
R9
133.196.16.19
202.249.10.122
A. 経路の計算(back-ground)1.Routing Domain内の全接続情報2. 接続されている全アドレス情報(輸出入)
(Routing Domain 内・外)
202.249.xxx.yyy → R4
202.249.xxx.yyy → R6202.249.xxx.yyy
→ R8
Import & Exportavailable networks
B. L3パケット転送制御(on-demand)→ 宛先=202.249.10.122 (ベストマッチ検索)→ Next Hop=“R2” for 202.249.xxx.yyy
From 133.196.16.19 to 202.249.10.122From 133.196.16.19 to 202.249.10.122
40
IGMP (RFC1112)Operation
MH3192.251.102.34
MH2192.251.102.18
TTL=1,IGMP group addr=0dest_IP_addr=224.0.0.1src_IP_addr=192.251.102.1
TTL=1,IGMP group addr=224.1.2.3dest_IP_addr=224.1.2.3src_IP_addr=192.251.102.18
①
②
IGMP reportの送信キャンセル
③192.251.39.11
UH1
UH3
MR1
MR2
①
②
①
②
①
①
①
②
192.251.39.1
To Multicast Source NodeUH2
MH1192.251.39.23 192.251.102.1
IGMP QueryIGMP Report