客户根据配置脚本进行交付,存在如下问题 :
1、路由器接口MTU默认为1500,客户使用电脑进行Ping外网测试,最多通过1456,客户电脑直接拨号进行Ping外网测试,可以通过1500,想请问各位,这是由于MTU = 载荷+IP头部 +ICMP头部的原因吗
2、客户在更改路由器接口的TCP MSS之前,路由器无法打开百度网页,修改之后可以打开,这是为什么呢 ?是因为TCP建立连接的时候需要TCP MSS值一样吗还是 ?
(0)
最佳答案
TCP MSS是分包大小啊,跟ICMP有什么关系,又不影响ping的结果,影响ping值的应该是MTU吧。降低TCP MSS值后减少数据分片,图片就能被加载出来了
(0)
暂无评论
针对客户根据配置脚本进行交付时遇到的两个问题,以下是对每个问题的分析和解释:
(0)
暂无评论
1.MTU确实是二层上的载荷,即网络层(比如ipdeng)+传输层(如果有的话,比如tcp)+应用层的内容。
2.没那么复杂,TCP不需要两端的tcp mss一致。
这个问题主要涉及ip报文里的禁止分片flag置位。
如果这个flag不置位,说明报文可以随意分片,那就没有异常。
如果这个flag置位了,而你的tcp mss不是转发路径上最小的,就会有问题。比如你的tcp mss是1460,访问百度的路径上有个节点的tcp mss是1200,那么当你1460的报文发到这个节点时需要根据这个1200的数值再次分片,但因为你的报文本身又禁止分片,就会导致报文无法转发,只能被丢弃。
顺便一说,在ipv6网络里由于有相应的探测机制,因此不存在该问题。
(0)
暂无评论
MTU是不包含你的以太网头部,从以太网的payload开始算的,比如ICMP中的就是IP头的20字节+ICMP头部的8字节+ICMP的载荷,默认是56字节,你在ping的时候,修改的数据大小,就是改的icmp的载荷,而且看你的环境应该是还有pppoe拨号的,此时还要考虑到PPPOE的头部8字节(如果有其他的payload还要额外添加TAG等),这个具体的1456怎么来的还要看你的抓包情况
然后MSS这个是指的TCP的分段的大小,是不包含TCP头的,之后的数据的大小,然后你的打开网页是基于TCP的,如果你的TCP的MSS没有修改较小,那么也就是说TCP的分段是比较大的,加上TCP头、IP头,如果此时不允许分片的话,就可能导致数据大小超过了MTU的要求
(0)
暂无评论
1、MTU是指数据帧的载荷,你说的是对的,只是顺序变一下,MTU =IP头部 +ICMP头部+ 载荷
2、pppoe拨号的话,MTU由于ppp报文头占用了8个字节,所以MTU只有1492。
3、ping使用的icmp协议,ip头和icmp头又占用了28个字节
4、所以按理说,你使用命令
ping X.X.X.X -f -l 数字
这个数字最大应该是1492-28=1464
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论