ãƒ��タ送信時ã�動ä½�

ネットワークの構æ�

ここでは、コンピュータがデータを送信するときにどのような判断、動作を行ってã�‚‹ã‹ã«ã¤ã�¦è¦‹ã¦ã�ãŸã„と思いますã€�

簡単ã�ため、図のようなイーサネットネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã‚’è€�ˆã¾ã™ã€‚1台のルータによってã€�192.168.1.0/24 と 192.168.2.0/24 の�’つのネットワークを接続してã�¾ã™ã€�
192.168.1.0/24 のネットワークには�¡ã€�¼¢�’台の�°�£ã� 192.168.2.0/24 のネットワークには�£ã®�‘台がつながってã�¾ã™ã€‚ルータのå�‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã€�¼°�£ã®IPアドレス、MACアドレス、デフォルトゲートウェイは次の通りとしますã€�

IPアドレス MACアドレス ãƒ�ƒ•ã‚©ãƒ«ãƒ�GW
ルータ 192.168.1.254/24 R1 ��
192.168.2.254/24 R2 ��
�¡ 192.168.1.1/24 A 192.168.1.254
�¢ 192.168.1.2/24 B 192.168.1.254
�£ 192.168.2.1/24 C 192.168.2.254

※ルータはå�‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹�ˆã�ート)ごとにMACアドレスをもち、IPアドレスを設定しますã€�
また、各PCのãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã¯é€šå¸¸ã€è�åˆ�Œã¤ãªãŒã£ã¦ã�‚‹ãƒ«ãƒ¼ã‚¿ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®IPアドレスを設定しますã€�
/24はサブネãƒ�ƒˆãƒžã‚¹ã‚¯ãŒå�頭から24ビット「1」とã�†ã“とを示しますã€�10進数ではã€�255.255.255.0




同じネットワークå†��通信�ˆç›´æŽ¥ãƒ«ãƒ¼ãƒ�‚£ãƒ³ã‚°��

こã�ようなネットワーク構æ�で同じネットワークå†��通信、つまりA→Bの通信をè€�ˆã¦ã¿ã¾ã—ょã�€�
まずã€�¼¡ã¯ä½•ã‚’するかとã�†ã¨è‡ªåˆ��IPアドレスと通信相手ã�IPアドレスが同じネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã«ã‚るかどã�‹ã¨ã�†ã“とを判断します。そのために、IPアドレスとサブネãƒ�ƒˆãƒžã‚¹ã‚¯ã®è«–理積ï¼�AND�‰ã‚’とって比è¼�—ますã€�

�¡ �¢
192. 168. 1. 1 � 192. 168. 1. 2
11000000.10101000.00000001.00000001 11000000.10101000.00000001.0000010
11111111.11111111.11111111.00000000 11111111.11111111.11111111.0000000
論理ç©� 論理ç©�
11000000.10101000.00000001.00000000 �� 11000000.10101000.00000001.0000000

同じネットワークであれば「直接通信」することができます。ネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯æ©Ÿå™¨ã®è§£èª¬ã®ã¨ãã«ã¾ãŸè©³ã—く説明しますが、この直接通信ができるç¯�›²ã®ã“とを「ブロードキャストドメイン」と呼びます。これをそã�まま日本語に直せã�ã�ã�Ÿã�„å‘³ãŒã‚ã‹ã‚‹ã®ã§ã™ãŒã€ãƒ–ロードキャストが届くç¯�›²ã§ã®ã¿ç›´æŽ¥é€šä¿¡ã‚’行うことができますã€�
これはなぜかとã�†ã¨ã€MACアドレスをもとめるためにARP(Address ResolutionProtocol)を使ã��ですが、このARPはブロードキャストを用ã�‚‹ã‹ã‚‰ã§ã™ã€�ARPにつã�¦è©³ã—いことは今回は省略しますã€�IPアドレスからMACアドレスを求めるためã�もã�ですã€�
ルータはブロードキャストを通しませんので、ブロードキャストをåˆ�‰²ã™ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ©Ÿå™¨ã§ã™ã€�

なぜMACアドレスがå¿�¦ã«ãªã‚‹ã‹�Ÿã“ã‚Œã�イーサネットã�フレーãƒ�を作るためあて先ã�MACアドレスを指定するå¿�¦ãŒã‚るからですã€�
こã�例で通信相手が同じネットワークであると判断したコンピュータ�¡ã¯ã€ARPを行い、コンピュータ�¢ã®IPアドレスからMACアドレスを求めます。そして、次のようなイーサネットフレーãƒ�を作æ�し送信しますã€�



あて先にコンピュータ�¢ã®MACアドレスã€�€ä¿¡å…�«è‡ªåˆ�¼ˆï¼¡�‰ã�MACアドレス、そしてタイプ部にはIPをしめす 0800(16進数) がå�り、そのあとのIPヘッダには 192.168.1.1 から 192.168.1.2 へのãƒ��タとã�†æƒ��±ãŒå�りますã€�IPヘッダには他にもさまざまなæƒ��±ãŒå�りますが、ここでは詳しく触れませんã€�

こã�フレーãƒ�を受け取ったBはあて先をみると、è�åˆ��MACアドレスが指定されてã�‚‹ã®ã§ã€ã€Œã“ã‚Œã�自åˆ�‚てのãƒ��タなんだな」と思って受信をするわけですã�ã€�
もし、このネットワークに�¤ã¨ã�†ã»ã‹ã�コンピュータが接続されてã�‚‹å ´åˆã§ã‚‚、フレーãƒ�は届くのですがあて先ã�MACアドレスが違ã��で破æ£�™ã‚‹ã‚ã‘ですã€�

またこのような同じネットワークå†�§ã®é€šä¿¡ã‚’ã€�
直接ルーãƒ�‚£ãƒ³ã‚°ã€ã¨å‘¼ã¶å ´åˆã‚‚ありますã€�


異なるネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®é€šä¿¡�ˆé–“接ルーãƒ�‚£ãƒ³ã‚°��

次に、異なるネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®é€šä¿¡ã€ã¤ã¾ã‚Šã‚³ãƒ³ãƒ”ュータ�¡ã‹ã‚‰ã‚³ãƒ³ãƒ”ュータ�£ã¸ã®é€šä¿¡ã‚’è€�ˆã¦ã¿ã¾ã™ã€�
最初ã�同じです。è�åˆ��IPアドレスã€�€šä¿¡ç›¸æ‰‹ã�IPアドレス、そしてサブネãƒ�ƒˆãƒžã‚¹ã‚¯ã‚’使って同じネットワークに通信相手がã�‚‹ã‹ã©ã�‹ã‚’まず判断しますã€�IPアドレスとサブネãƒ�ƒˆãƒžã‚¹ã‚¯ã®è«–理積ï¼�AND�‰ã‚’とるわけですã�ã€�

�¡ �£
192. 168. 1. 1 � 192. 168. 2. 1
11000000.10101000.00000001.00000001 11000000.10101000.00000010.0000001
11111111.11111111.11111111.00000000 11111111.11111111.11111111.0000000
論理ç©� 論理ç©�
11000000.10101000.00000001.00000000 � 11000000.10101000.00000010.0000000

違うネットワーク、つまり違ã�ƒ–ロードキャストドメインへの通信とã�†ã“とがわかります。ブロードキャストドメインが異なると、直接の通信は行うことができません。これã�、イーサネットフレーãƒ�のあてå…�MACアドレスを求めるためã�ARPが届かなくなってしまã�‹ã‚‰ã§ã™ã€�

じゃ、どã�™ã‚Œã�ã�„かï¼�
誰かにあて先ã�ネットワークに対するãƒ��タを中継してもらえã�ã�„わけですã�。この中継を行うもã�がデフォルトゲートウェイ�ˆãƒ«ãƒ¼ã‚¿�‰ã«ãªã‚‹ã‚ã‘ですã€�

そうすると、è�åˆ�¨ç›¸æ‰‹ã�IPアドレス、サブネãƒ�ƒˆãƒžã‚¹ã‚¯ã‹ã‚‰é•ã†ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®é€šä¿¡ã¨åˆ¤æ–­ã—たコンピュータ�¡ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã«ãƒ��タを送ってãƒ��タの中継をお願いするんですã�。このとき、イーサネットã�フレーãƒ�は次のようになりますã€�



あてå…�MACアドレスにルータのMACアドレスR1がå�ります。ここがポイントですã�。あとは送信元MACアドレスには自åˆ��MACアドレスがå�ります。そして、IPヘッダには 192.168.1.1 â†� 192.168.2.1 へのãƒ��タですよとã�†æƒ��±ãŒå�ってきますã€�

ãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤�ˆãƒ«ãƒ¼ã‚¿�‰ã�、この送られたフレーãƒ�のIPヘッダのæƒ��±ã‚’見て、どこã�ネットワークにãƒ��タを中継すれã�ã�„のかとã�†ã“とを選択してã�ã¾ã™ã€‚これが
ルーãƒ�‚£ãƒ³ã‚°ã¨å‘¼ã°ã‚Œã¦ã�‚‹ã€ãƒ«ãƒ¼ã‚¿ã®å¤§äº‹ãªå½¹å‰²ã‚Šã§ã™ã€�
ルーãƒ�‚£ãƒ³ã‚°ã«ã¤ã�¦ã¯ã€ã¾ãŸã‚らためて詳しく説明をしてã�ã¾ã™ã€‚ここでは、IPヘッダを見てるんã�なぁぐらいに思ってã�¦ãã ã•ã„。ルータがOSI第�“層のネットワークの層で動作するネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯æ©Ÿå™¨ã¨ã�†ã®ã¯ã€ã“ã�„ã�“とを指しますã€�

IPヘッダのæƒ��±ã‚’見て、経路がわかりました。そã�™ã‚‹ã¨ã€ä»Šåº¦ã¯ãƒ«ãƒ¼ã‚¿ã‹ã‚‰ç›®çš��コンピュータに対するãƒ��タが送られるわけです。このときã�イーサネットフレーãƒ�を見てみると、あてå…�MACアドレスにコンピュータ�£ã®MACアドレス、そして送信元MACアドレスにルータのMACアドレスR2がå�ってきますã€�MACアドレスの付け替えが起こってã�¾ã™ã€‚しかし、IPヘッダのæƒ��±ã¯å¤‰ã‚ã‚Šã¾ã›ã‚“ã€� 192.168.1.1 â†� 192.168.2.1 へのãƒ��タですよとなってますã€�



こã�MACアドレスの付け替えã�ã€�›»è»Šã�乗り換えのようなもã�ã�とè€�ˆã¦ãã ã•ã„。イーサネットフレーãƒ�は、IP以上ã�å�šŽå±¤ã®ãƒ��タを運ぶための入れ物のようなもã�です。つまりã€�›»è»Šã ã¨è€�ˆã¦ãã ã•ã„ã€�
ぼくã�東京の京王沿線に住んでã�‚‹ã®ã§ã™ãŒã€æ±äº¬é§�«è¡Œãã¨ãç›´æŽ¥è¡Œãã“とができません。京王線ã�東京é§�¾ã§å±Šã„てã�¾ã›ã‚“ので。そこで、いったん新宿に出ます。それからJ�²ã§æ±äº¬é§�«å‘かã�¾ã™ã€‚新宿é§�Œãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã«ãªã‚‹ã‚ã‘ですã�。新宿で目çš��é§�«è¡ŒããŸã‚ã®è·¯ç·šï¼ˆãƒãƒ�ƒˆãƒ¯ãƒ¼ã‚¯�‰ã‚’選択してã€�›»è»Šã‚’乗り換えます。これと同じようなイメージでMACアドレスの付け替えをè€�ˆã¦ã¿ã‚‹ã¨ã‚ã‹ã‚Šã‚„すくなるかな�Ÿã¨æ€ã„ますã€�

こã�ように、異なるネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã¸ã®é€šä¿¡ãŒè¡Œã‚ã‚Œã¦ã�¾ã™ã€‚今ã�例ではルータが1台ã�けですが、何台かルータを経由するときも同じです。また、このようにルータを介してあて先ã�ネットアークへ通信を行うことをã€�
間接ルーãƒ�‚£ãƒ³ã‚°ã€ã¨å‘¼ã³ã¾ã™ã€�


ãƒ��タ送信時ã�動作まとã‚�

コンピュータが何かのãƒ��タを送信するときã�動作ã�、次のようなフローチャートになりますã€�



まず同じネãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ã‹ã©ã�‹åˆ¤æ–­ã—ますã€�IPアドレスとサブネãƒ�ƒˆãƒžã‚¹ã‚¯ã‚’使ã�‚“でしたねã€�


通信相手が同じネットワーク、つまり下ã�フローをå�に見てã�ã¾ã—ょã�€‚イーサネットã�フレーãƒ�を作るためにã€�€šä¿¡ç›¸æ‰‹ã�MACアドレスがå¿�¦ã«ãªã‚Šã¾ã™ã€‚送信å…��コンピュータがこれを知ってã�‚‹ã‹ã©ã�‹ã¨ã�†ã“とになりますã€�
知らなければ、それを知るためにARPを行います。このARPはã€�€šä¿¡ç›¸æ‰‹ã�IPアドレスからMACアドレスを求めるためã�もã�でしたねã€�
無事に通信相手ã�MACアドレスがわかれば、イーサネットã�フレーãƒ�を作æ�しデータの送信を行うわけですã€�


次に通信相手が違うネットワーク、右側のフローを見てã�ã¾ã™ã€‚通信相手が違うネットワークにã�‚‹ã¨ãã�、直接ãƒ��タを送信することができません。デフォルトゲートウェイ�ˆãƒ«ãƒ¼ã‚¿�‰ã«ãƒ��タの中継をお願いしなくてはã�‘ませんã€�
これは、ルータによってブロードキャストが遮断されるためARPを使って通信相手ã�MACアドレスを求めることができなã�‹ã‚‰ã§ã™ã€�
そこで、次にãƒ�ƒ•ã‚©ãƒ«ãƒˆã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤�ˆãƒ«ãƒ¼ã‚¿�‰ã�MACアドレスをしってã�‚‹ã‹ã©ã�‹ã§ã™ã€‚もし知らなければ、ルータに対してARPを行いMACアドレスを求めてã�ã¾ã™ã€‚ルータのMACアドレスがわかれば、それをもとにしてイーサネットã�フレーãƒ�を作æ�しデータの送信を行うわけですã�ã€�
送信するコンピュータがやるã�はこれã�けです。あとはルータが適åˆ�ªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ãƒ��タを中継してくれます。たã�、ルータの設定などが間違ってã�‚Œã°ãƒ��タは届かなã�§ã™ã‘どねã€�


※ここまででお話してきたå†�®¹ã¯ã€LAN環å¢��話です。一般の家庭でダイアルアãƒ��をしてインターネットに接続するときã�こã�ようなことはしてã�¾ã›ã‚“。ダイアルアãƒ��接続でのときã�詳しいことにつã�¦ã¯ã€ã¾ãŸæ©Ÿä¼šã‚’見て説明してã�ã¾ã™ã�ã€�






(C) Copyright 2000 Gene All Right Reserved