• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

VPN技术中的MTU问题

2006-02-08 发表
  • 0关注
  • 2收藏 6019浏览
粉丝: 关注:

VPN技术中的MTU问题

【问题简述】

VPN技术中经常遇到隧道已经建立但是某些应用程序无法正常通讯的问题,一般所来是由于路径MTU不匹配的缘故,下面就其中的数据传输流程做一些分析,以说明遇到出现此类问题该如何解决。

 

【问题分析】

先从一个实验说起

实验拓扑如下:

PC1-------VPN网关1―――――VPN网关2--------PC2

 

在上述组网中,VPN网关12之间建立了一条GRE隧道,PC1PC2通过该GRE隧道互访。

       这时,我们会发现,PC1ping 1448的报文时,在PC2上抓包发现没有被分片,而ping 1449时,PC2上会发现PC1过来的报文已经被分片了。为什么呢?

       PC1出来的IP报文长度为14488ICMP报头长)+20IP报头长),到达VPN网关1VPN网关1发到GRE隧道口,封装GRE头(4字节),再加上外层IP头,到达VPN网关外层以太口,这时IP报文的长度已经变为:14488204201500字节,刚好等于以太口的MTU,于是被顺利传送。而ping 1449时,到达外层以太口为1501字节,超出了1500MTU,又因为报文DF位未置1,即可以分片,VPN网关于是将该报文分片发送出去。这就是我们所看到的现象。

在上述实验中,由于应用程序是ping,所以报文可以被分片,因此互通没有问题。但是如果是WEB访问等应用,则有些报文是不允许分片的,这样在外层以太口就会将超过1500的报文丢掉,导致无法通讯。

从上述实验可以看到,由于VPN会额外加入一些报文头,如果通讯双方的MTU不能随之改变的话,就容易产生不通的问题。

下面以HTTP为例,说明为何产生此问题并如何解决。

先看看HTTP为何无法像ICMP那样自动分片通讯。

假设PC1/2建立了HTTP连接后,PC2希望从PC1下载一个大的网页。PC2开始发送,其IPDF位置1,不允许分片,IP报文长度为1500字节。到达VPN网关1的外网口后,VPN网关1发现其长度超过了1500个字节,于是将其丢弃,并给PC1发回一个目的地址不可达的ICMP信息,出错代码为”Fragmentation needed”,表示需要分片,但不允许分片,同时给出”MTU of next hop: 1500”PC1接收到该消息后,又按照1500字节对外发送,又被丢弃,于是就形成了循环,无法通讯。

根据上述的分析,很容易得到如下解决方式,在VPN网关1的出接口设置MTU15004201476,这样VPN网关1返回ICMP不可达消息时将给出”MTU of next hop: 1476”PC2将以1476作为自己的最大MTU对外发送,到达VPN网关1,封装GRE和外层IP头后就不会超过1500而顺利发到对端。

这时仅解决了下载的问题,如果PC2需要将大文件上传到PC1,同样需要设置VPN网关2的出接口MTU值小于1476

       当然,还可以更改VPN网关1的出接口的TCP MSS数值,将其更改为1500-4-20-20TCP头)=1456字节,也可保证HTTPTCP应用顺利通过。但该情况仅适用于TCP应用。

上述解决方式同样适用于其他隧道技术,在L2TPIPSEC等应用时可以相应的根据其包头数值设置MTUMSS

若您有关于案例的建议,请反馈:

作者在2007-01-04对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作