首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UDP或TCP上的隧道

UDP或TCP上的隧道
EN

Server Fault用户
提问于 2009-05-13 12:37:00
回答 5查看 7.4K关注 0票数 7

是否只有在UDP或TCP?

上才能创建类似Is或GRE隧道的东西?

我在两个服务器之间有一个GRE隧道,我注意到有时它会开始丢弃数据包。同时,如果我在互联网上的服务器之间切换,我没有问题。

我认为这是来自我的提供者的流量形成问题(它没有考虑到GRE协议)。我也尝试过IPIP隧道,结果也是一样。

EN

回答 5

Server Fault用户

回答已采纳

发布于 2009-05-13 15:52:46

给他一次机会。您可以在UDP或TCP上创建隧道。

票数 13
EN

Server Fault用户

发布于 2009-05-13 12:42:27

我不知道是什么导致了您的特定问题,但是您应该注意,一般来说,隧道使用不可靠的传输流(即UDP)比使用可靠的传输流要好。

这样做的原因是,如果您碰巧丢失了数据包,隧道TCP层应该是管理重传的层,而不是真正的传输层。

如果两个层都内置了重传,他们就可以开始重传战争,这最终会扼杀吞吐量。

另外,不要忘记任何隧道协议都会减少有效的MTU (因此也会减少TCP MSS)。如果MTU和MSS没有得到适当的调整,您将看到过多的碎片和/或丢弃的数据包。

票数 9
EN

Server Fault用户

发布于 2009-05-13 19:54:53

你知道你是在用GRE隧道丢包还是丢包?对于任何类型的隧道,遇到MTU问题与几乎任何类型的隧道并不少见。MTU问题很难诊断,因为较小的数据包(比如默认的pings)可以很好地通过隧道。只有当应用程序或系统设置DF (不要碎片)位时,您才会看到大数据包的问题。不幸的是这很常见。

您可以通过使用大数据包大小和DF位集的pings来测试网络路径中最小的MTU。

在Windows上,您可以使用-f选项设置DF位,并使用-l选项设置数据包大小,如下所示:

代码语言:javascript
复制
ping -f -l 1450

在Linux上,使用"-M do“选项设置DF位,并使用-s选项设置数据包大小,如下所示:

代码语言:javascript
复制
ping -M do -s 1450

你没说你用什么做GRE端点..。如果他们是思科路由器,此链接是相当不错的。如果不是,搜索谷歌的GRE问题,你会发现大量的信息。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/7735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档