🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

解決済

1回答

3855閲覧

行きと戻りのパケットが物理と論理で違う場合の弊害について

Perfume-T-Anata

総合スコア25

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

1クリップ

投稿2019/09/12 06:59

編集2019/09/16 08:12

当方ネットワークエンジニアで社内ネットワークの構築を行っています
現在調査したところ構築先のネットワークが
以下のようなネットワーク構成を取っています。

PC----L3SW---ROUTER---インターネット

PCのデフォルトゲートウェイはL3SW
L3SWのデフォルトゲートウェイはRouterです

PC、L3SW、ROUTERが同じネットワーク(同一VLAN)にいる(192.168.1.0/18)場合
PCからインターネットのサーバーにアクセスした後の戻りのパケットは
ROUTERのARPテーブルを確認して直接PCへパケットが届くのではないかとおもうのですが
この場合なにか問題はありますでしょうか?

論理ネットワーク的には以下となるはずですが
物理ネットワーク的には同じポートを通ると考えています。

■行きのパケット
PC--L3--ROUTER

■戻りのパケット
ROUTER--PC

個人的にはL3SWからICMPリダイレクトがPCへ帰ってしまい
輻輳しやすくなるのではないかと思うのですが、、、

本来だとL3---Router間は違うネットワークとしないといけないと思われるのですが
現在このような構成になっているためこのままでいいのか判断がつかず。

ご回答お待ちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Ethernet上で行われるIPv4通信の挙動に勘違いがあるようです。

EthernetはMACアドレスで送信元・宛先を設定するネットワークです。よって、Ethernet上にパケットを流すには、自分のMACアドレスは自分で知っているでしょうから「宛先MACアドレス」が最低限必要、ということになります。

しかし、IP通信ユーザーから来る情報には宛先IPアドレスしかありません。よって、「パケットをEthernetに流す前に」どこかでその宛先IPに対応するMACアドレスを調べて来なければなりません。

誰が調べるのか?と言えば、IP層とEthernet層を接続するデバイス(ドライバ)です。どうやって調べるのか?と言えばARPで、です。

そしてここが問題のポイントですが、IPのルーティングテーブルで設定される「ルータ」とは、「知らないIPアドレスの宛先MACアドレスをARPで要求する先」なのです。

例示された構造の場合、宛先IPに対応するMACアドレスを教えてくれというL3SWへのARP要求が発生し、これを受けたL3SWが返す答えは(正しく設定されているのであれば)ROUTERのMACアドレスになります。この回答を受け、PC のデバイスドライバは、パケット送信の時点でL3SWではなくROUTER に向けてパケットを送出します。

よって、論理的にも非対称な状態にはなりません。つまり問題ないということになります。

投稿2019/09/16 05:29

himazin.blm

総合スコア591

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Perfume-T-Anata

2019/09/16 07:20

回答ありがとうございます。 現状試しているのですが、ICMPリダイレクトが返っているようなので デフォルトゲートウェイに設定されている L3SWのMACを返しているようなのです。 正しく設定されていればというのは L3SWがROUTERのデフォルトゲートウェイになっていればという認識でよろしいでしょうか?
himazin.blm

2019/09/16 07:53 編集

正しくというか、単純に同じセグメントにルータが複数ある状態の場合ですね。 L3SWがPCからのARPに対してL3SWのMACを返していて、PCからL3SW宛にパケットが送出されているという場合でも、パケットを受け取ったL3SWがARPを投げてROUTERのMACを得て、宛先MACをそれに書き換えた上でL3SWが送出することになりますので、ROUTERのARPテーブルにはL3SWのMACが記録されます。返信時には、ROUTERはその記録に基づいてL3SWに返信するため、やはり対称性は崩れません。実際の所L3SWの設定次第とも言えますが・・・
Perfume-T-Anata

2019/09/16 08:09

検証してみたのですが、やはりROUTERはL3SWのMACが記録されずPCのMACになるようです。 物理的には同じルートを通ると思うのですが戻りのパケットはMACアドレステーブルに基づいて 転送されるようになるのかなと考えています。 ネットワークの作り方がおかしいとは思っているのですが、、、 ※本来L3SWとROUTERをつなぐネットワークは別のネットワークにすべきですし・・ ■PC(50.17) C:\WINDOWS\system32>arp -a 192.168.1.250 XX-XX-XX-1b-8e-95 192.168.1.254 XX-XX-XX-3a-70-3c ■L3SW(1.250) show arp 192.168.1.250 XX-XX-XX-1B-8E-95 192.168.1.254 XX-XX-XX-3A-70-3C 192.168.50.17 XX-XX-XX-44-36-1F ■ROUTER(1.254) show arp 192.168.1.250 XX:XX:XX:1b:8e:95 192.168.50.17 XX:XX:XX:44:36:1f
himazin.blm

2019/09/16 12:21

L3SWがPC側とROUTER側のLANをブリッジ接続的なことをしている感じですね。 ROUTER側はPCのIP:MAC対応をそのまま覚えてるようなので、 ・PC側LANからはL3SWに投げさせて、L3SWが宛先MACだけ書き換えてROUTER側LANへ転送 ・ROUTER側LANではPC側LANにあるMAC宛のパケットがあったらL3SWが勝手に拾ってPC側へそのまま転送 といった仕組みなんでしょう。 これが合ってるとするなら、ROUTER側LANに迂闊にスイッチングハブを足したりするとまずいことが起きそうな気がする問題以外は大丈夫なんじゃないですかね・・・
Perfume-T-Anata

2019/09/16 13:07

色々とありがとうございます。 キャプチャするとL3SWからICMPリダイレクトが返っているので /18に含まれる端末すべてがインターネットに出るときに無駄パケットが返ってくるような感じですね。 まぁL3SWからのリダイレクトを止めればそれで事足りるんですけど そもそもなぜL3SWとROUTERの間が別セグメントでないのか、なぞが深まるばかりです
Perfume-T-Anata

2019/09/16 13:10

>PC のデバイスドライバは、パケット送信の時点でL3SWではなくROUTER に向けてパケットを送出 >ROUTERのARPテーブルにはL3SWのMACが記録 このようなネットワークの場合通常はこうなりますかね?
himazin.blm

2019/09/16 23:55 編集

通常は、L3SW経由で通信しているのであれば、PCとROUTERはお互いのMACアドレス宛では直接通信できないことを意味します。よって、このネットワークでやっているように、PCから受けた「発:PCのIP・MAC&宛:宛先IP・L3SWのMAC」なパケットを、「発:PCのIP・MAC&宛:宛先IP・ROUTERのMAC」として送出すると、戻りの経路がROUTER→PCになって戻ってこれなくなるので、「発:PCのIP・L3SWのMAC&宛:宛先IP・ROUTER」と送出元MACを書き換えて送出することで、ROUTERにPCのIPに対応するMACアドレスはL3SWのMACだと教え込み、ROUTERからPCへ返送する際にもL3SWを経由するようにするわけなんですが、このネットワークではそうする代わりにROUTERからPC宛に送出するとL3SWがPC側に転送するようにしてPCが返答を受け取れるようにしている。ブリッジ接続(ブロードキャストも全部そのまま双方向で転送する)でないあたり、PC側のLANのブロードキャストを切り分けたいってことなんですかね。
Perfume-T-Anata

2019/09/17 01:43

本来だとPCのデフォルトゲートウェイをROUTERにしてしまえば万事解決するのですが 何故かL3SWのVLANインターフェースををデフォルトゲートウェイとして使用しているようなので.... そもそもL3SWなのにすべてのセグメントが同じVLANに所属しているのが おかしいのですけどね... L3SWなのにL2SWのように使用している…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問