助け合いフォーラム
ループバックインターフェースを宛先、または送信元とした場合のTTLの変動について。 eBGPのピア設定で疑問に感じたため。
タイトルの通り、ループバックインターフェースを宛先、または送信元とした場合のTTLの変動について、教えて頂けないでしょうか?
[routerA]-------------------[routerB]
ルーターA:loopback 5.5.5.5/32 ・fa0/0 192.168.0.5/24
ルーターB:loopback 6.6.6.6/32 ・fa0/0 192.168.0.6/24
上記のようにルーターAとルーターBが直接接続されており、通信できる状態です。
ルーターAからルーターBにパケットを送信する際、送信元をルーターAのループバック、宛先をルーターBのループバックとした時、
TTLがどのタイミングで減少していくのか教えてください。
またそれらの一連の流れを確認できるコマンド等ありましたら教えて頂けると助かります。
以下が私が確認してみた内容です。
ルーターAから拡張tracerouteコマンドで 宛先を6.6.6.6 送信元を5.5.5.5 ttlを1にしたパケットを送信し、それをdebugコマンドで確認したところ、下記のログが表示されました。
*Mar 1 01:21:56.711: ICMP: dst (6.6.6.6) port unreachable sent to 5.5.5.5
*Mar 1 01:21:56.711: IP: tableid=0, s=192.168.0.6 (local), d=5.5.5.5 (FastEthernet0/0), routed via FIB
*Mar 1 01:21:56.711: IP: s=192.168.0.6 (local), d=5.5.5.5 (FastEthernet0/0), len 72, sending
*Mar 1 01:21:56.715: ICMP type=3, code=3
上記ログの1行目を見て頂きたいのですが、内容としては パケットは6.6.6.6に届いているが、利用できないポートが宛先となっている為、エラーメッセージを5.5.5.5宛に返すという内容で合っていますか?
私の認識が正しいのであれば、つまり、5.5.5.5から6.6.6.6まではTTL 1 で疎通可能であるという事でしょうか?
もしTTL 1 で疎通可能なのであれば、なぜeBGPでループバックインターフェース間のピア設定をする際にTTL 2以上にする必要があるのか疑問に感じまして。
目を通していただき有難うございました。回答いただけますと助かります。宜しくお願い致します。
もしTTL 1 で疎通可能なのであれば、なぜeBGPでループバックインターフェース間のピア設定をする際にTTL 2以上にする必要があるのか疑問に感じまして。
TTLについて聞きたいのかeBGPピアリング時のTTLをどう設定するのかと、話題が二つあるようなのでコメントの仕方が悩ましいですね。
加えて、どの問題IDに関連するものかがわからないので、解説や参考に疑問の解消ポイントが記載されているかが確認できないのも…
それはそれとして。
単純な話をするとeBGPはデフォルトで「直接接続した相手」とピアを張ることになるので、直接接続していないアドレス(=対向ルータのLoopback)は「TTL=1」以内にいないと言うことでピアリングに失敗するんです。この挙動については以下のドキュメントが参考になるかと思います。
https://community.cisco.com/t5/tkb-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/7-19-webcast-quot-%E5%88%9D%E7%B4%9A%E8%80%85%E5%90%91%E3%81%91-bgp%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8cisco%E3%83%AB%E3%83%BC%E3%82%BF%E3%81%AE%E5%8B%95%E4%BD%9C-quot-q-a%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/ta-p/3163961
TTL=1のパケットを送信しようとするルータは、参照したルートが「C」だったなら、パケットを送信します。それ以外の「S」や「O」を参照したなら、パケットを送信しません。
コメント
この投稿に対して返信しませんか?
c ciscoooo
2023/05/27 22:44
話題を絞り切れず申し訳ありません。回答いただきありがとうございます。 上記ドキュメントで理解できたかと思います。間違っていましたら指摘して頂けると助かります。 つまり、デフォルトでは、eBGPの制御パケットを送信する際、TTL1の場合、参照したルーティングテーブル上でCとなっている場合にしか送信しないという事ですね。 参考書や私が目にしたQ&AにはTTL1だと、制御パケットが対向のルーターに到着した時点で0になりLoopbackには届かない。といった旨の内容が書かれていましたので、もやもやしていました。 最後に教えて頂きたいのですが、パケットが、同一ルーターの物理インターフェースからLoopbackに対して転送される際にTTLが1減る、といった仕組みはありませんよね?あくまで他のルーターに転送された際にのみTTLが1減るという認識で間違いないでしょうか?