スポンサーリンク
スポンサーリンク

Path MTU-Discovery について簡単に説明

【概要】

Path MTU-DiscoveryについてCiscoCMLを利用して構成を作り、絵を使ってまとめる。
Path MTU-Discoveryを理解する事で、トラブルシュートや身近ではPPPoEによるMTUの
仕組みが理解できると思う。

構成図

path_mtu1-2

文字で説明すると

① PC2からData長 [1448byte]で送信

② R3でDF bitを 0 -> 1 に変更(PC2でDF bitを1にできなかったため)

  • IP Headerの Don’t Fragment Set が1になる

③ R2のMTUが1000byteだが、受信したData長が [1448byte]でMTU値より大きかったため、R2はICMP Type3 Code4 でPC2に自身のMTUは1000byteであることを通知する。

  • 通知MTUは、ICMP Header内に自身のMTU 1000byteが記載されている
  • Wireshwrkでは、Infomationとして、Destination unreachable (Fragmentation need)

④ R3を経由して、PC2へ転送される。

  • そもそも、ICMPをACLでフィルタリングしていると、Path MTU-Discoveryが動作しなくなるので注意

⑤ PC2はICMP Type3 Code4で得たMTUを考慮し、Data長を小さくして再送する。

  • 今回、PC2はデータ長[948byte]で再送する

⑥ 再送されたデータ長[948byte]がMTU以下になったため、R2を通過してPC1へ転送される。

Config (Cisco CML利用)

※端末からのTCP通信にはiperfを利用

R1-config click
hostname R1
!
interface GigabitEthernet0/0
 ip address 10.12.1.1 255.255.255.0
!
interface GigabitEthernet0/1
 ip address 192.168.1.254 255.255.255.0
!
router ospf 1
 passive-interface GigabitEthernet0/1
 network 0.0.0.0 255.255.255.255 area 0
!
control-plane
!
end
R2-config click
hostname R2
!
interface GigabitEthernet0/0
 mtu 1000
 ip address 10.12.1.2 255.255.255.0
!
interface GigabitEthernet0/1
 ip address 10.23.1.2 255.255.255.0
!
router ospf 1
 network 0.0.0.0 255.255.255.255 area 0
!
control-plane
!
end
R3-config click
hostname R3
!
interface GigabitEthernet0/0
 ip address 172.16.1.254 255.255.255.0
!
interface GigabitEthernet0/1
 ip address 10.23.1.3 255.255.255.0
!
router ospf 1
 passive-interface GigabitEthernet0/0
 network 0.0.0.0 255.255.255.255 area 0
!
ip access-list extended ACL
 permit ip host 172.16.1.100 host 192.168.1.100
!
route-map R-MAP permit 10
 match ip address ACL
 set ip df 1
!
control-plane
!
endほ

DF bitについて

DF bit =0 (パケットのフラグメントOK)
DF bit =1 (パケットのフラグメントNG)

そもそも、DF bit =0のままであれば「Path MTU-Discovery」利用することはない。
データ通信においてNW機器の都合上、DF bit =1にしなければならない事は稀かと思う。

多くの場合、アプリケーションの都合上、パケットのフラグメントNGすることが多いと思う。

ip tcp adjust–mss と Path MTU-Discovery

管理範囲内のNW機器で、Data長を調整したければ「tcp adjust-mss」で対応が可能。

「Path MTU-Discovery」は、管理範囲外(他社ルータ)においてMTUを超過した場合に有効。

注意

「Path MTU-Discovery」は、MTUを超過と判断されたルータから送信元端末にICMP Type3 Code4が

送信されてくる。途中ルータのACLでセキュリティ上などICMPを全てフィルタリングしていると、当然

ICMP Type3 Code4もフィルタリングされ送信元端末に届かなくなる。

その場合、MTUを超過したルータ内でパケットが破棄されるので、宛先まで通信ができない。

以下、1~3の場合はICMP Type3 Code4だけフィルタリングしないようにするも解決となる。

  1.  DF bit =1のパケットあり
  2. 「Path MTU-Discovery」が必要な可能性がある
  3. ICMPをACLでフィルタリングしている
ALL
スポンサーリンク
スポンサーリンク