用 ping 查找 MTU

PING

NAME
     ping -- send ICMP ECHO_REQUEST packets to network hosts

DESCRIPTION
     -c count
             Stop after sending (and receiving) count ECHO_RESPONSE packets.  If this option is not specified, ping will operate until interrupted.  If this option is specified in conjunction with ping sweeps, each sweep will consist of count packets.

     -D     
             Set the Do not Fragment bit.

     -s packetsize
             Specify the number of data bytes to be sent.  The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data.  This option cannot be used with ping sweeps.

MTU = max icmp data + icmp header(8 bytes) + ip header(20 bytes)
(题外话:MTU = MSS + tcp header(20 bytes) + ip header(20 bytes)
因为 ping -s 选项指定的是 icmp data size,所以:
ping -s (MTU-28) -D -c 1 ip_address
不断试探 -s 选项的参数最后可以查找到 MTU。

➜  ~ ping -s 1473 -D -c 1 192.168.1.105
PING 192.168.1.105 (192.168.1.105): 1473 data bytes
ping: sendto: Message too long

--- 192.168.1.105 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
➜  ~
➜  ~ ping -s 1472 -D -c 1 192.168.1.105
PING 192.168.1.105 (192.168.1.105): 1472 data bytes
1480 bytes from 192.168.1.105: icmp_seq=0 ttl=64 time=103.999 ms

--- 192.168.1.105 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 103.999/103.999/103.999/0.000 ms

上面的例子可以看出测试机的 MTU 是 1472 + 28 = 1500(bytes)

推荐阅读更多精彩内容

  • Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with...
    michael_jia阅读 668评论 0 0
  • 最近在做一个ping的功能,用python实现,要分别实现ipv4和ipv6两种栈。虽然也是用开源的ping包,并...
    running_sheep阅读 4,020评论 0 1
  • 简述osi七层模型和TCP/IP五层模型 osi七层模型: osi七层模型主要分为:(1)应用层(Applicat...
    家有猪宝_阅读 341评论 1 0
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 2,526评论 0 7
  • 整合资源,沟通协作 不要装作没问题 建立整合资源的思维-- 上司、同事、供应商、客户、合作伙伴 沟通协作提高效率 ...
    我很爱学习_你呢阅读 197评论 0 0
  • 感恩日记(26) 昨天晚上去单位加班,回到家以后总觉得有一项好像没弄完整。今天早上,我早早地去单位查看,但办公室的...
    清凉温润阅读 360评论 0 0
  • 八重柳 风雅古韵着青衫,谈笑诗书画春阳。 明月重楼高几阁,秋水无波妄相思。 我遇到了很多女...
    与洛阅读 88评论 0 1
  • 老公,明天情人节! 信息发过去,不出所料,石沉大海了! 老公,周六我想追雪去杭州! 不出所料地回了:我要值班! 嗯...
    叶的日子阅读 88评论 0 0