- ベストアンサー
どのようにパケットの行き先がLAN内かLAN外かを区別しているのか
どのようにパケットの行き先がLAN内かLAN外かを区別しているのか プライベートアドレスは、先頭が192とか172とか10などのIPアドレスを使うのが”推奨”されているのを知りました。つまり実際は、プライベートアドレスには何を入れてもいいわけですよね。 だとしたら、IPパケットのヘッダにはいる、宛先IPアドレスはプライベートかグローバルか区別つかなくなってしまうのではないかと疑問に思いました。 実際どのようにその区別がなされているのでしょうか?どなたか回答お願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
現実に、どのようなIPアドレスもプライベートで使用することはできます。 ただし、プライベート用として割り当てられた範囲外のIPアドレスを使用すると、 同じIPアドレスの範囲(セグメント単位で)が他所に(グローバルで)存在している可能性があり、 自分と同じセグメント内であればルータから外に出ていくことはありませんので、 当然、そことのやり取りはできないということになります。 他には、プライベートなIPアドレスをDNSで逆引きするとグローバルなホスト&ドメイン名が返ってきたりすることがあります。 プライベートなIPアドレスはあくまでルータまでの世界で、外から見えるものではありませんので、上記以外で他とのやり取りに関しては問題が発生することはありません。 ご質問の意図はそういうことですよね?
その他の回答 (5)
- bunjii
- ベストアンサー率43% (3589/8249)
LAN内、LAN外と云う見方は不適当です。 ネットワークセグメントと云う考え方で解決して下さい。 LAN内であってもセグメントを幾つかに分けるケースもあり、WAN(インターネット)側も多くのセグメントに分かれています。 セグメントを超えて通信する時にルーター(ゲートウェイ)が必要になります。 同一セグメントに有る通信相手とはダイレクトに通信し、セグメントを超える時はルーターへ渡し宛先へ届けてもらいます。 デフォルトゲートウェイと云うのはそのルーター(ゲートウェイ)のことを指します。 また、IPアドレスとサブネットマスク(255.255.255.0など)で通信相手が同一セグメント内か否かを判断出来ることになっています。
- Lchan0211
- ベストアンサー率64% (239/371)
> プライベートアドレスは、先頭が192とか172とか10などのIPアドレスを使うのが”推奨”されている > のを知りました。つまり実際は、プライベートアドレスには何を入れてもいいわけですよね。 誰に教えてもらったのか知りませんが、この認識が誤っています。 「先頭が192とか172とか10などが”推奨”されている」のではなく、 プライベートIPアドレスとして使える範囲は明確に決められています。 その範囲は、 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 のいずれかです。 これ以外はプライベートIPアドレスとしてはいけません。 このため、グローバルアドレスかプライベートアドレスかは、 そのアドレス値だけで明確に区別がつきます。 (参考) http://ja.wikipedia.org/wiki/IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9#.E3.82.B9.E3.82.B3.E3.83.BC.E3.83.97 外部のインターネットに接続しないのであれば、世界のルールに従う必要はありませんので、 そのプライベートネットワーク内で好きなIPを勝手に設定してもよいです。 パケットの行き先がLAN内かLAN外かを区別する方法は、他の回答者さんが 書かれている通り、宛先IPがグローバルかプライベートかで判断するのではなく、 宛先IPが自分のLAN内か否か(サブネットが一致するか否か)で判断します。
- Tacosan
- ベストアンサー率23% (3656/15482)
とりあえず Ethernet に限定してしまえば, そもそも「データを送る」のに IPアドレスなんざ使いませんからね. Ethernet でデータを送るのに必要なのは相手の MACアドレス. 実際には宛先IPアドレスから宛先MACアドレスを調べ, その MACアドレスを持つ相手に送っているだけです. だから, IPアドレスがプライベートなのかグローバルなのかを区別する必要など最初からありません.
- mtaka2
- ベストアンサー率73% (867/1179)
自分自身のIPアドレスと同じネットワークに属するIPアドレスが「LAN内」です。 そうでない場合には、なんらかの「ルーター」などを中継して通信することになります。 たとえば、あるPCが、192.168.0.1/24 に割り当てられているとします。 このとき、ネットマスクは/24 ですので、192.168.0.1~192.168.0.254が「同じネットワークに属している」ことになります。 ですから、そのPCから、例えば 192.168.0.2 を相手に通信しようとした場合、192.168.0.2は 同じLAN内に属しているはずであり、そのPCからは直接通信が可能です。 一方、172.0.0.1 を相手に通信しようとした場合、172.0.0.1/16 は、192.168.0.1/24 とは「別のネットワークに属している」ことになります。172.0.0.1 はプライベートIPアドレスではありますが、ネットワークが異なるため 192.168.0.1 とは直接は通信できません。 異なるネットワークに属するホストとの通信は、「ルーティング情報」に基づいて、 どこか(普通は「ルーター」)に中継してもらうことになります。
- kmetu
- ベストアンサー率41% (562/1346)
ルーターのIPアドレスとサブネットで同一ネットワークかどうか"だけ"区別してるのではないでしょうか。