我们用S6800起了点到点的Vxlan隧道,但是问题是用户的主机MTU是1500,中间的传输也是1500。因为Vxlan的封装,导致报文长度变成1550从而丢包。我看文档说只能修改主机或者是传输MTU,请问有支持Vxlan分片的命令吗?
(0)
最佳答案
Q: S6800设备VSI虚接口的MTU值默认值为什么设置为1444字节?
A: 上层协议发送报文, 如果出口是VSI接口,从TUNNEL口出, 加VXLAN封装, IP层会判定报文长度, 如果超过出口MTU,进行分片。将VXLAN封装和后面的数据报文砍成两片:出去的第一片报文带VXLAN头,第二片报文不带VXLAN头。
隧道末节点收包,第一片报文按VXLAN报文进行解析并转发;第二片报文没法按VXLAN报文进行解析,没法转发,丢弃;如果收包的是软转发设备,IP会将报文重组后给tunnel模块进行解封装,不会丢片。
上层协议发送报文,查ARP,从VSI虚接口出,会带上eth头,增加长度14---22字节(无tag---双tag)。
VXLAN报文的封装格式为:在原始二层数据帧外添加8字节VXLAN头、8字节UDP头和20字节IP头,再次增加36字节。
因此范围是1442—1450字节,默认MTU值取值为1444字节为一个优化的中间值,相对能较好解决分片问题,但也不能保证能解决所有分片问题。
另外,没有将MTU设置为最大值1500字节,原因是如果设置为1500字节,报文再进行vxlan封装的话会超过1500字节,这样经过一些中间设备时报文可能会被丢弃。
(0)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
可以分的