欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

BGP协议-邻居PMTU检测

程序员文章站 2022-07-03 08:26:37
BGP协议-邻居PMTU检测   BGP协议是运行在TCP之上的,所以TCP的参数设置会影响BGP的性能。在路由数目比较少的情况下TCP的参数调整可能对BGP性能影响不大,但...


BGP协议-邻居PMTU检测

 

BGP协议是运行在TCP之上的,所以TCP的参数设置会影响BGP的性能。在路由数目比较少的情况下TCP的参数调整可能对BGP性能影响不大,但是当路由数目比较巨大的时候调整TCP参数可以起到优化性能的作用。下面我们开始分析具体的优化方法。

 

首先我们来了解一下BGP协议包发送的方法,请看下图:

 

BGP协议-邻居PMTU检测

 

BGP与TCP数据传输格式

 

BGP首先需要把自己需要发送的数据告诉TCP,然后TCP根据数据的长度进行分段,分段大小由TCP协商的MSS值的大小决定,每个TCP分段对应着一个发出去的IP包。所以MSS参数的设置对于BGP数据传输的性能起着关键作用,如果设置过大可能会造成中间某台设备的IP层分片,BGP协议报文的传输其实是一个端到端的传输过程。  www.2cto.com  

 

如果数据被分片了那么必然还需要重新组合恢复回来,这样会给接收者的CPU带来一定的负担,组包的过程降低了处理效率;如果MSS值设置过小,那么又会使网络的有效利用率很低,发送端和接收端对能够一次处理的报文进行多次处理,降低了效率。

 

通过BGP邻居PMTU检测可以解决前面提到的问题,在建立BGP邻居之前,路由器会自动发送一个PMTU报文来检测路径上的最大MTU,当得到这个值后TCP协议可以根据这个值来设定MSS的大小,发送报文时按照PMTU探测的结果,进而达到性能的最优。