最近、ルータ越えのお問い合わせが結構あるので、簡単にまとめてみることにしました。
想定するネットワーク図のような構成であると仮定します。
まず、普通にシン覚え書をインストールしてStdNet.dxlを設定しただけでは、PC-1からはPC-2しか見えず、PC-3/4/5/6とは小片を送ることができません。
それを可能にするためには、ルータを超える必要があります。
設定をするまえに、ルータの向こうにあるPCがまずアクセス可能なのか、pingなどを使い確認する必要があります。
PC-1のコマンドプロンプトで確認します |
■アクセスできるかもしれない例 |
C:\>ping 192.168.2.10 Pinging 192.168.2.10 with 32 bytes of data: Reply from 192.168.2.10: bytes=32 time<10ms TTL=64 Reply from 192.168.2.10: bytes=32 time<10ms TTL=64 Reply from 192.168.2.10: bytes=32 time<10ms TTL=64 Reply from 192.168.2.10: bytes=32 time<10ms TTL=64 Ping statistics for 192.168.2.10: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms |
■アクセスできない例(ここでの172.16.254.254はPC-1のdefault gateway) |
C:\>ping 192.168.2.10 Pinging 192.168.2.10 with 32 bytes of data: Reply from 172.16.254.254: Destination host unreachable. Reply from 172.16.254.254: Destination host unreachable. Reply from 172.16.254.254: Destination host unreachable. Reply from 172.16.254.254: Destination host unreachable. Ping statistics for 192.168.2.10: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms |
192.168.2.10はPC-3のアドレスと仮定しています。 |
もし、PINGでルータを越えられないなら、ネットワーク構成を変更しない限りどうしようもないです。利用しているネットワークの管理者にご相談ください。
まず、PC-3/4に送ることができるようにしてみましょう。
StdNet.nxlの設定画面で「broadcast」の「address」欄に、ここの例では192.168.2.255を追加します。このおまじないで、ネットワークBに参加するマシンPC-3/4が見えるようになります。
さらに、ネットワークCのマシンPC-5/6を見えるようにするには、さらに10.1.255.255を追加します。
ネットワークAについては255.255.255.255の替わりに172.31.255.255を使うことができます。
なので、総てのマシンへ
172.31.255.255
192.168.2.255
10.1.255.255
を設定するようにしてもいいですね。この際には255.255.255.255は削除(ダブルクリック)しておいてください。
前述のおまじないと同じ数値をnetstatコマンドで見ることができます。
C:\>netstat -r Route Table =========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x1000003 ...XX XX XX XX XX XX ...... 10/100Mb Fast Ethernet Adapte =========================================================================== =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 172.16.254.254 172.16.1.55 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 172.16.0.0 255.240.0.0 172.16.1.55 172.16.1.55 1 172.16.1.55 255.255.255.255 127.0.0.1 127.0.0.1 1 172.31.255.255 255.255.255.255 172.16.1.55 172.16.1.55 1 224.0.0.0 224.0.0.0 172.16.1.55 172.16.1.55 1 255.255.255.255 255.255.255.255 172.16.1.55 172.16.1.55 1 Default Gateway: 172.16.254.254 =========================================================================== |
← ※1 ← ※2 |
これはPC-1(172.16.1.55)の結果の例です。 |
注意してみると、Network Destinationの項目にある172.31.255.255(※1)が255.255.255.255(※2)と同じような設定になっていることがわかると思います。この172.31.255.255(※1)がおまじないの数値というわけです。
おまじないの数値はこのPC-1が参加するネットワークAのブロードキャストアドレスというものなのです。
このおまじないの数値(以下、ブロードキャストアドレス)を前述のようにnetstatコマンドで見つけてもいいのですが、簡単な計算で求めることができます。
計算に必要なものは、対象となるネットワークに参加するPCのIPアドレスとサブネットマスクです。
PC-1(IPアドレス172.16.1.55/サブネットマスク255.240.0.0)を元に計算してみましょう。
最初に、172.16.1.55と255.240.0.0をそれぞれ2進数にします。
10101100 00010000 00000001 00110111 (172.16.1.55)
11111111 11110000 00000000 00000000 (255.240.0.0)
つぎに、サブネットマスクの0/1を反転します。
00000000 00001111 11111111 11111111 (0.15.255.255)
総て得られたところで、「( 172.16.1.55 AND 255.240.0.0) OR 0.15.255.255」 を計算します。
10101100 00010000 00000001 00110111 (172.16.1.55) AND) 11111111 11110000 00000000 00000000 (255.240.0.0) --------------------------------------------------------- 10101100 00010000 00000000 00000000 OR) 00000000 00001111 11111111 11111111 (0.15.255.255) --------------------------------------------------------- 10101100 00011111 11111111 11111111 (172.31.255.255)
これでブロードキャストアドレスが得られました。
ブロードキャストアドレスはルータ越えだけでなく、ブロードキャストする対象を絞る上でも利用できます。つまり、NICが複数枚実装されている場合や、ダイアルアップで外部へ接続することがある場合などです。
一応、注意深く書いたつもりですが、間違いなどあリましたら、ご指摘いただけると幸いです。
Copyright © 2000 T.Chiba/Sayoka Brand.
All rights reserved.