インターネットオペレーション
重近 範行
おさらい:ブロードキャスト
・
同一ブロードキャストドメインに所属している全てのマシンに情報を伝播
おさらい:ブロードキャスト
・
同一ブロードキャストドメインに所属している全てのマシンに情報を伝播
おさらい:ブロードキャスト
・
同一ブロードキャストドメインに所属している全てのマシンに情報を伝播
ブロードキャストアドレス
rg-gate> /sbin/ifconfig vlan2
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 vlan: 2 parent: wm1
address: 00:02:b3:ec:6c:d4
inet 203.178.143.1 netmask 0xffffff80 broadcast 203.178.143.127
ブロードキャストアドレスは?
• 同一ブロードキャストドメインで
同じ
である
•
IPアドレスとネットマスクから生成される
ホスト部がすべて「1」
サブネット部
の
論理和
論理和
ブロードキャストアドレスの計算
rg-gate> /sbin/ifconfig vlan2
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 vlan: 2 parent: wm1
address: 00:02:b3:ec:6c:d4
inet 203.178.143.1 netmask 0xffffff80 broadcast 203.178.143.127
「
0xffffff80」 はネットワーク部が「1」でホスト部が「0」
ネットワーク部が「0」でホスト部が「1」のマスク
を作るため、「
0xffffff80」の否定を算出する。
ブロードキャストアドレスの計算
rg-gate> /sbin/ifconfig vlan2
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 vlan: 2 parent: wm1
address: 00:02:b3:ec:6c:d4
inet 203.178.143.1 netmask 0xffffff80 broadcast 203.178.143.127
「
0xffffff80」
=
11111111 11111111 11111111 10000000
よって否定は
00000000 00000000 00000000 01111111
= 「0x0000007f」
ブロードキャストアドレスの計算
rg-gate> /sbin/ifconfig vlan2
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 150 vlan: 2 parent: wm1
address: 00:02:b3:ec:6c:d4
inet 203.178.143.1 netmask 0xffffff80 broadcast 203.178.143.127
「
203.178.143.1」と
ブロードキャストアドレスの計算
rg-gate> /sbin/ifconfig vlan2
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 150 vlan: 2 parent: wm1
address: 00:02:b3:ec:6c:d4
inet 203.178.143.1 netmask 0xffffff80 broadcast 203.178.143.127
「
203.178.143.1」
= 0xcbb78f01
=11001011 10110111 01111111 00000001
0x0000007f
ブロードキャストアドレスの計算
rg-gate> /sbin/ifconfig vlan2
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 vlan: 2 parent: wm1
address: 00:02:b3:ec:6c:d4
inet 203.178.143.1 netmask 0xffffff80 broadcast 203.178.143.127
11001011 10110111 01111111 00000001
00000000 00000000 00000000 01111111
+)
11001011 10110111 01111111 01111111
=0xcbb78f01
=「203.178.143.127」
IPアドレスとネットマスクと8bit境界
• Class A,B,C
– Class A
• アドレスの先頭が0から始まる • 8bitマスク– Class B
• アドレスの先頭が10から始まる • 16bitマスク– Class C
• アドレスの先頭が110から始まる • 24bitマスクマスク長が8bit境界からずれると
• 25bitマスク – 255.255.255.128(0xffffff80) • 26bitマスク – 255.255.255.192(0xffffffc0) • 27bitマスク – 255.255.255.224(0xffffffe0 • 28bitマスク – 255.255.255.240(0xfffffff0) • 29bitマスク – 255.255.255.248(0xfffffff8) • 30bitマスク – 255.255.255.252(0xfffffffc) • 23bitマスク – 255.255.254.0(0xfffffe00) • 22bitマスク – 255.255.252.0(0xfffffc00) • 21bitマスク – 255.255.248.0(0xfffff800) • 20bitマスク – 255.255.240.0(0xfffff000) • 19bitマスク – 255.255.224.0(0xffffe000) • 18bitマスク – 255.255.192.0(0xffffc000) • 17bitマスク – 255.255.128.0(0xffff8000)ネットワークアドレスの表記
IPアドレス
133.27.63.238
Subnetmask 255.255.248.0
の場合
• 21bitマスク
– クラスC相当×8
• 133.27.56.0/21
ブロードキャストアドレスへの通信
• 自分のPCのインターフェースの情報を調べてブ
ロードキャストアドレスにpingを打ってみよう
– Windowsだと反応無いかも。。。
cpu.sfc.wide.ad.jp % ifconfig em0
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
inet 203.178.142.143 netmask 0xffffffe0 broadcast 203.178.142.159 inet6 fe80::203:47ff:fedf:7475%em0 prefixlen 64 scopeid 0x3
inet6 2001:200:0:8803:203:47ff:fedf:7475 prefixlen 64 autoconf ether 00:03:47:df:74:75
media: Ethernet autoselect (1000baseSX <full-duplex>) status: active
ブロードキャストアドレスで遊ぼう
• 自分のPCのインターフェースの情報を調べてブ
ロードキャストアドレスにpingを打ってみよう
– Windowsだと反応無いかも。。。
cpu.sfc.wide.ad.jp % ping 203.178.142.159結果はどうなると思いますか???
ブロードキャストアドレスで遊ぼう
• 自分のPCのインターフェースの情報を調べてブ
ロードキャストアドレスにpingを打ってみよう
– Windowsだと反応無いかも。。。
cpu.sfc.wide.ad.jp % ping 203.178.142.159
PING 203.178.142.159 (203.178.142.159): 56 data bytes
64 bytes from 203.178.142.146: icmp_seq=0 ttl=64 time=7.565 ms
64 bytes from 203.178.142.155: icmp_seq=0 ttl=255 time=7.585 ms (DUP! 64 bytes from 203.178.142.131: icmp_seq=0 ttl=255 time=7.633 ms (DUP! 64 bytes from 203.178.142.158: icmp_seq=0 ttl=64 time=7.657 ms (DUP!) 64 bytes from 203.178.142.157: icmp_seq=0 ttl=64 time=7.676 ms (DUP!) 64 bytes from 203.178.142.135: icmp_seq=0 ttl=64 time=9.187 ms (DUP!) 64 bytes from 203.178.142.136: icmp_seq=0 ttl=255 time=9.430 ms (DUP! 64 bytes from 203.178.142.151: icmp_seq=0 ttl=64 time=9.578 ms (DUP!)
では、これではどうなる?
• ping 255.255.255.255
– Limited broadcast address
• ping
[他のセグメントのブロードキャストアドレス]
– Directed broadcast address
原理的にはどちらのパケットがルータを越える事が
できるでしょうか?
なぜ、no ip drected-broadcast ?
• ルータの設定の際に各L3インターフェースで
– no ip directed-broadcast
を見たことはありませんか?
2種類のbroadcast
• Limited broadcast
– 255.255.255.255
ルータ 10.0.1.0/24 10.0.2.0/242種類のbroadcast
• Limited broadcast
– 10.0.2.255 (自分のセグメント)
ルータ 10.0.1.0/24 10.0.2.0/242種類のbroadcast
• Limited broadcast
– 10.0.1.255 (他のセグメント)
– ルータがコピーして送信
ルータ 10.0.1.0/24 10.0.2.0/242種類のbroadcast
• Limited broadcast
– 10.0.1.255
– ブロードキャストメッセージの嵐に
ルータ 10.0.1.0/24 10.0.2.0/24ブロードキャストを用いたアプリケーション
• DHCP
– dhcp discoverの宛先に使用
– Limited broadcast
• Netbios
– Name service時に使用
– Directed broadcast(自分のセグメント)
– 宛先Mac addressは all ” f ”
では、ネットワーク構築!:
ネットワークをどんどん接続
??? ??? ??? ???– 何でつなぐ?
• ハブ?スイッチ?ルータ?
では、ネットワーク構築!:
ネットワークをどんどん接続
??? ??? ??? ???– 結局それぞれの特性が掴めないと決定できない
• リンクの特性、拠点間の距離、使い方、アドレス数
…etc
リピータとブリッジの違い
• ブロードキャストドメイン
ハブ ハブ ハブ ハブ swリピータとブリッジの違い
• ????ドメイン
ハブ ハブ ハブ ハブ swリピータとブリッジの違い
• コリジョンドメイン
ハブ ハブ ハブ ハブ swコリジョンドメインが同一である意味
• あなたのPCをCNSへの接続する場合
– リピータにつなぐ
ー> 無線LANで接続
• 同じAPにつながっている人と手前の回線資源を奪い
合う
– ブリッジにつなぐ
• 同じSWにつながっている人と奪い合うのは上流の回
線資源のみ
状況1:あなたはどっちに接続するとお得?
AP(11Mbps) SW(10Mbps) ITCへ ITCへ Aさん Bさん cさん Aさん Bさん cさん•Aさん、Bさん、Cさんはそれぞれ3Mbpsで
外部の
FTPサーバからファイルを転送中
Uplink : 10M Uplink : 100M状況2:あなたはどっちに接続するとお得?
AP(11Mbps) SW(10Mbps) ITCへ ITCへ Aさん Bさん cさん Aさん Bさん cさん•Aさん、Bさん、Cさんはそれぞれ3Mbpsで
お互いにファイルを交換中
Uplink : 10M Uplink : 100Mリピータのやってること:コリジョンって何?
• 全てのポートに同じ電気信号をコピーして送信
A B C D E F G H 宛先:B
リピータのやってること:コリジョンって何?
• 宛先:B の電気信号が全てのノードに送信
リピータのやってること:コリジョンって何?
• 全てのノードが宛先を確認し、Bのみが受信
リピータのやってること:コリジョンって何?
• AとHが同時に送信を始めるとコリジョンが発生。
A B C D E F G H
コリジョン回避手法
• CSMA/CD
– Carrier Sense Multiple Access with Collision
Detection
• CSMA/CA
– Carrier Sense Multiple Access with Collision
Avoidance
CSMA/CDによる衝突回避
• AとHが同時に送信を始めるとコリジョンが発生。
A B C D E F G H
CSMA/CDによる衝突回避
• AとHは自分が出した電気信号が戻ってこないの
で、衝突が起こったことを把握する。
A B C D E F G H?
?
CSMA/CDによる衝突回避
• AとHは一定時間待って、データを再送信する。
A B C D E F G H 宛先:B
リピータのやってること:コリジョンって何?
• 全てのノードが宛先を確認し、Bのみが受信
CSMA/CDによる衝突回避
• AとHは一定時間待って、データを再送信する。
A B C D E F G H
リピータのやってること:コリジョンって何?
• 同様に全てのノードが宛先を確認し、Gのみが受信
CSMA/CAによる衝突回避
• 無線は有線と同じCDを使うことができない
CSMA/CAによる衝突回避
• 誰も使っていないことを検知したら、
A B C D E F G Hん?誰も
使ってな
さそう!
CSMA/CAによる衝突回避
• 一定時間待って、
A B C D E F G H
大丈夫か
な?
CSMA/CAによる衝突回避
• データを送信
A B C D E F G H
リピータを用いたネットワークの限界
• 段数
– 10-baseT : 4段まで
– 100-baseT: 2段まで
• 距離
– 伝送媒体の特性に拠って異なる
ブリッジの働き:コリジョンドメインの分離手法
• とにかくFrameが目的のノードに届けばいい
– どのポートに誰がいるか覚えておけばいい
MACアドレス学習による送信ポート選択
• Bを宛先とするデータが送信された場合
A B C D E F G H 宛先:B