情報ネットワーク論
MACアドレス編
産業技術科学科
2010/5/27 情報ネットワーク論 1産業技術科学科
多田 知正
用語の定義
計算機 コンピュータのこと データ 計算機で扱う情報のこと 文字(テキスト),画像,音声など 通信 計算機間でデータをやり取りすること 2010/5/27 情報ネットワーク論 2 ネットワーク 複数の計算機が接続され,通信を行うことができる仕組み 送信,受信 データを送ること,受け取ること サーバ 他の計算機にサービスを提供する計算機 クライアント サーバからサービスを受ける計算機 ユーザ 計算機を使う人間LANでのパケットの送り方
「あて先のIPアドレスがついたパケット」が全員に届く →各計算機は 「自分あてのデータ」のみを受け取る 「自分あてでないデータ」は見て見ぬふりをする 133.1.244.12あてのパケット 2010/5/27 情報ネットワーク論 3 133.1.244.18 133.1.244.7 133.1.244.36 133.1.244.12 133.1.244.56 無視 無視 来た 無視 133.1.244.12あての ケットネットワークカード
計算機には通信を行うためネットワークカード(Network Interface Card: NIC) というのがついている NIC 2010/5/27 情報ネットワーク論 4 http://e-words.jpより NICの役割 ケーブルを流れる電気信号を読み取り パケットを計算機に渡す
NICの数
NIC つながっているネットワークの数だけNICが存在する 普通のパソコン ゲートウェイ ルータ NIC NIC NIC NIC NICIPアドレスは計算機の名前?
ゲートウェイは2つのIPアドレスを持つ →1つの計算機に2つの名前がついているのか? 厳密に言うと, IPアドレスは計算機の名前ではなくNICの名前 NIC NIC ゲートウェイは2つのNICを持ち それぞれのNICに異なるIPアドレスがついている 一方のLANからはどちらか1つのNICしか見えない 133.1.244.62 133.1.1.4NICの受け取るパケット
LANでは1本の線にすべての計算機がつながっている →いろいろな計算機あてのパケットが流れている →NICは自分に関係のないパケットを大量に受け取る 2010/5/27 情報ネットワーク論 7 NICずぼらなNIC
NIC NICが受け取ったパケットをすべて計算機に渡すと... えーとこれは必要 2010/5/27 情報ネットワーク論 8 え とこれは必要 これは無視と... 計算機は必要なパケットをより分けるのが大変気の利いたNIC
NIC もしNICが関係あるパケットだけを計算機に渡してくれたら 私が余計なやつ をはじいておきま した 2010/5/27 情報ネットワーク論 9 計算機は他の仕事に集中できる うむ,ご苦労問題
自分のパケットかそうでないかは パケットに書かれているあて先のIPアドレスで判断 IPアドレスは計算機に人間が勝手につけた名前 2010/5/27 情報ネットワーク論 10 NICが工場で作られた時,どのIPアドレスになるかはわからない →NICは自分の担当する計算機のIPアドレスを知らない しかし,アドレスがないと自分のパケットか どうか判断できないもう一つのアドレス
すべてのNICにあらかじめ 世界でただ1つのアドレス(数字)をつけておく →工場出荷時につける NIC1020401 NIC NICに始めからつけられているアドレスをMAC(Media Access Control)アドレスという
NIC1020402
MACアドレスの書き方
000D60F9FE75 なんか数字と文字が混じってますが... →いいえこれは全部数字です 16で繰り上がる数 16進数 10から15は数字がないので こんな感じ 16で繰り上がる数:16進数 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) 00-0D-60-F9-FE-75 桁が多くてみにくいので普通2桁ずつ区切って書く 00:0D:60:F9:FE:75 ちなみに2進数で書くと48桁(48ビット)になる 0000 0000 0000 1101 0110 0000 1111 1001 1111 1110 0111 0101 アルファベットを使う素朴な疑問
いろんなメーカーがNICを作っている →なぜMACアドレスは重複しないのか? 「IPアドレスを使い切ってしまうかも」という話があった 2010/5/27 情報ネットワーク論 13 →MACアドレスを使い切ってしまうことはないのか?MACアドレスはなぜ重複しないか
00:0D:60:F9:FE:75 メーカーを表す部分 各メーカーが自由につける 部分 2010/5/27 情報ネットワーク論 14 各メーカーは自社の作る製品の MACアドレスが重複しないように 割り当てる 世界でただ一つの MACアドレスが割り当てられるMACアドレスはなくならない?
2進数で書くと48桁 →組み合わせは全部で248(約281兆)通り →そう簡単にはなくならない ただし 2010/5/27 情報ネットワーク論 15 メーカーがつける部分は24桁 →組み合わせは全部で224(約1700万)通り →ちょっと微妙 メーカーでMACアドレスを使い切ってしまうことがあるのでは? →もしそうなったらどうする? 答えは後ほど「LANでのパケットの送り方」のウソ
無視 無視 来た 無視 133.1.244.12あてのパケット 2010/5/27 情報ネットワーク論 16 133.1.244.18 133.1.244.7 133.1.244.36 133.1.244.12 133.1.244.56 各計算機は 「自分あてのデータ」のみを受け取る 「自分あてでないデータ」は見て見ぬふりをする →実はこの選別は各計算機のNICが行っている NICは自分の担当する計算機のIPアドレスを知らないLANの本当の姿
「あて先MACアドレスのついたパケット」が全員に届く →各計算機のNICは 「自分あてのパケット」のみを計算機に渡す 「自分あてでないパケット」は捨ててしまう 00:90:CC:07:22:66あてのパケット 00:90:CC:07:22:66あてのパケット NIC 00:90:CC:07:22:66 NIC NIC NIC 00:E0:29:10:DD:87 00:01:80:2B:67:50というわけで
LANではパケットを送る相手を指定するために IPアドレスを使わない 同一LAN上の計算機は そーなの? MACアドレスを用いて通信を行います 当然,MACアドレスが分からない相手とは通信できませんパケットにくっつける情報
IPで決められているもの • あて先のIPアドレス • 送り主のIPアドレス • パケットの大きさ • パケットの寿命 2010/5/27 情報ネットワーク論 19 ケットの寿命 • あて先のMACアドレス • 送り主のMACアドレス 本当はさらに がくっついている あて先IPアドレス etc. 送りたいデータ あて先IPアドレス etc. 送りたいデータ あて先MACアドレス etc.2つのあて先
パケットには IPアドレスによるあて先 MACアドレスによるあて先 の2つのあて先がくっついている 2010/5/27 情報ネットワーク論 20 これらは同じ計算機をさすのか? →そうとは限らない IPアドレスのあて先はパケットを最終的に届ける計算機 MACアドレスのあて先はパケットを次に送る計算機 を指定する復習(ゲートウェイとあて先)
とりあえずここに送る ゲートウェイにも普通の計算機と同じく名前がある →データのあて先はどちらの名前を書けばいいのか? ゲートウェイ,目的地の計算機? 2010/5/27 情報ネットワーク論 21 でも本当はここに送りたい復習(あて先は目的地)
• データには最終的な目的地をあて先として書く (そうしないとデータを届けようがないので) • ゲートウェイの名前は各計算機にあらかじめ登録しておく • 各計算機は • あて先がLAN内の計算機→そのまま送る 2010/5/27 情報ネットワーク論 22 • あて先がLAN外の計算機→ゲートウェイにとりあえず送る 計算機は,本当のあて先とは違うのに どうやってゲートウェイにデータを送ることができるのか? →もうわかりましたねデータのあて先とゲートウェイ
とりあえずここに送る ゲートウェイを経由して他のLANの計算機にパケットを送るとき でも本当はここに送りたい このとき,パケットに 目的地の計算機のIPアドレスと ゲートウェイのMACアドレス をくっつけて送るパケット転送とMACアドレス
MACアドレスはとりあえずの送り先 →転送されるたびにMACアドレスは変わる 目的地のIPアドレスル タ1のMACアドレス 目的地のIPアドレスゲ トウ イ2のMACアドレス
ルータ1のMACアドレス ゲートウェイ2のMACアドレス 210.80.243.14 NIC NIC NIC NIC NIC NIC NIC NIC 目的地のIPアドレス ゲートウェイ1の MACアドレス 133.1.244.14 目的地のIPアドレス 目的地のMACアドレス ゲートウェイ1 ルータ1 ゲートウェイ2
MACアドレスはわかったけど...
目的地はLAN外の計算機 →とりあえずゲートウェイに送る 実際にパケットを送ろうと思うと 2010/5/27 情報ネットワーク論 25 計算機はどうやって パケットを次に送る計算機のMACアドレスを知るのか? りあえずゲ トウ イ 送る →ゲートウェイのIPアドレスは分かる →はて,MACアドレスは?MACアドレスのリクエスト
MACアドレスを知っているのはその計算機だけ →「アドレス教えて」とリクエストする 133.1.244.62の MACアドレス教えて 2010/5/27 情報ネットワーク論 26 そもそもMACアドレスがわからないのに どうやってリクエストを送るのか? ゲートウェイ 133.1.244.14 133.1.244.62NIC NIC NIC NIC 00:E0:29:10:DD:87 133.1.244.30 133.1.244.25 00:0D:60:F9:FE:75
Do you remember?
アドレスの分からない相手にリクエストを出さないといけない というケースが他にもあります 覚えてますか(→情報通信ネットワークを受けた人) 2010/5/27 情報ネットワーク論 27復習(DHCPでの送り方)
DHCPではブロードキャストアドレスを使って アドレスの分からない相手にリクエストを送る ジョウホウオクレ 255.255.255.255あて 2010/5/27 情報ネットワーク論 28 133.1.244.14 133.1.244.30 133.1.244.25 ?.?.?.? おっ おっ おっ おっ 133.1.244.77 DHCPサーバ クライアントというわけで
133.1.244.62の MACアドレス教えて FF:FF:FF:FF:FF:FFあて MACアドレスのブロードキャストアドレスを使って リクエストを送る →LAN上のすべての計算機のNICが受信し,計算機に渡す ゲートウェイ MACアドレス教えて 133.1.244.14 133.1.244.62NIC NIC NIC NIC 00:E0:29:10:DD:87 133.1.244.30 133.1.244.25 00:0D:60:F9:FE:75
リクエストの受信
すべての計算機がリクエストを受信する IPアドレスが一致した計算機:リクエストに答える 他の計算機:無視する ゲートウェイ 133.1.244.14 133.1.244.62NIC NIC NIC 00:E0:29:10:DD:87 133.1.244.62の MACアドレス教えて 133.1.244.62の MACアドレス教えて 133.1.244.62の MACアドレス教えて 知らん 知らん 了解 133.1.244.30 133.1.244.25 NIC 00:0D:60:F9:FE:75
リクエストの返答
NIC NIC NIC NIC 00:E0:29:10:DD:87ですぜ 相手に直接MACアドレスの書かれた返事を送る 00:0D:60:F9:FE:75あて 2010/5/27 情報ネットワーク論 31 DHCPのときはたしか返事もブロードキャストしていた... なぜ今回は返事が直接送れるのか? ゲートウェイ 133.1.244.14 133.1.244.62
NIC NIC NIC NIC 00:E0:29:10:DD:87 133.1.244.30 133.1.244.25 00:0D:60:F9:FE:75
リクエストの中身
133.1.244.62の MACアドレス教えて さっきのリクエストを良く見ると 2010/5/27 情報ネットワーク論 32 送り主のMACアドレスがちゃんと書いてある これをみて返事を送る 突然のお便り失礼いたします 私,00:0D:60:F9:FE:75 というものですが,133.1.244.62の MACアドレスを教えていただけますでしょうか? お忙しいところ申し訳ありませんが なにとぞよろしくお願いいたしますさっきの問題
それぞれのメーカーに割り当てられている MACアドレスは1700万くらい もし使い切ってしまったらどうする? 2010/5/27 情報ネットワーク論 33 NIC NIC NIC NIC NIC 00:0D:60:FF:FF:FF 最後のMACアドレスMACアドレスを使いまわす
実はメーカーでは一度使ったMACアドレスを 使いまわしている(らしい) 00:0D:60:F9:FE:75 NIC 2010/5/27 情報ネットワーク論 34 本当は,MACアドレスはIPアドレスとは違って 「世界でただ1つ」でなくてもかまわない MACアドレスは同一LAN内での通信でのみ用いる 異なるLAN上に同じMACアドレスがあっても問題にはならない NIC 00:0D:60:F9:FE:75 NIC 00:0D:60:F9:FE:75 同じアドレスもちろん
同一LAN内に同じMACアドレスを持つNICが複数あると問題NIC NIC NIC
00:0D:60:F9:FE:75 00:0D:60:F9:FE:75 もともとその確率はかなり低い →普通の故障の確率の方が高いかも 古いNICを使い続けることもあまりない