首页 > 其他分享 >【原创】BGP中的直连检测释疑

【原创】BGP中的直连检测释疑

时间:2023-09-19 10:58:18浏览次数:55  
标签:直连 释疑 接口 BGP 环回 TCP 邻接

                                                                                             BGP直连检测及update-source

当两个不同的自治系统(AS)间进行邻接建立时,会存在BGP的直连检测,它的目的就是建立BGP的邻接,进行路由的传递。而影响其参数的是IP报文头中的TTL值。当不同AS间的路由器进行BGP邻接建立时,默认双方IP报文中的TTL=1,所以需要进行connection-check,而直连检测,它就需要根据neighbor中的指定的具体IP来进行判断,是不是直连IP,如果不是,连TCP三次握手都不成功,更不可能建立完整的BGP邻接了。

当两个处于不同AS之间的路由器在建立BGP邻接时,如果用环回接口loopback0进行连接时,主要是由于环回接口,被称为“永不down接口”,使得邻接状态的稳定,可以防止其他方面的物理影响对邻接的干扰,但此时会引来另一个麻烦:就是TTL=1所带来的直连检测的问题。

所以综合以上这种情况,BGP直连检测是发生在不同AS间的以环回口为neighbor对象的时候需要注意的问题,我们可以修改TTL值进行避免这种问题所带来的邻接问题,修改TTL值我们用间接的方式进行如下配置:

Neighbor loopback地址 ebgp-multihop 或neighbor loopback地址 disable-connected-check

虽然关闭了直连检测,但是由于是以环回接口为邻接对象所建立的BGP仍然没有起来,这又是另一个问题产生的,即是一方发送BGP消息时,发送方以出接口的IP和对方的环回接口进行TCP的三次握手试图建立BGP邻接,但是这样是不会成功的,同时接收方也会以它的环回接口和发送方的直连接口IP进行TCP的三次握手试图建立BGP邻接。这里面有一个疑问?就是:双方以环回接口建立BGP邻接时,为什么在TCP三次握手的时候出现接口IP和环回IP进行发包的情况?这是我们最为关心的问题:原因是因为我们在配置neighbor X.X.X.X时,路由器默认是以直连接口相互发送报文进行TCP三次握手的,而如果不加上update-source时,它会以路由器的出接口作为源地址进行报文的传送(这个和我们平常在进行ping时的原理是一样的,如果不加地址源,它则以出接口为源进行ping测的)。

 

注意点如下:

(一)我们用环回接口建立BGP邻居是为了使得邻居关系更稳定可靠;

(二)我们用环回接口建立 BGP邻居时配置了ebgp-multihop或disable-connnec-check是为了关闭直连检测,从而双方能够相互发送TCP三次握手报文,当然至少一方要有发送(这里面邻居双方是否都要关闭直连检测,是否都要配置update-source,这个不确定,但建议双方都有配置吧)

(三)我们用环回接口建立BGP邻居,还要使用neighbor X.X.X.X update-sourc X.X.X.X是为了邻居的一致性,即是双方均是以环回接口进行TCP三次握手从而正常建立BGP邻居关系。

        实际上在用loopback(回环接口)用于BGP的邻居建立就是先进行三次握手,再进行邻居的建立,解决的核心问题就是:如何使TCP包发出来(直连检测与否)、发出来的TCP如何保证(update-source)、如何使得BGP邻居的建立更加安全可靠(neighbor loopback地址)。

                                                                                   

 

   

   

标签:直连,释疑,接口,BGP,环回,TCP,邻接
From: https://www.cnblogs.com/longshao0918/p/17714024.html

相关文章

  • 【原创】BGP协议的主要进程
    BGP的主要进程在思科路由器上,我们查看对应的BGP协议使用的进程导致CPU及内存利用率,可以用如下命令进行查看(锐捷路由器上不适用) 分别有Scanner进程、I/O进程、Router进程以及其他Scheduler进程、Event进程和Task这三个进程。前三个进程的主要作用如下:Scanner进程:主要是对BG......
  • 【原创】BGP中几种时间上的分析
                                                    BGP当中的关于几种时间上的简单分析在刚接触BGP时,出现了几种时间上的概念,对于这些时间上的概念,除了熟悉之外,也有一些疑惑,疑......
  • 【原创】BGP常见的邻居错误代码
                                                        BGP建立邻居的常见错误代码 在BGP建立邻居的过程当中,若邻居建立有问题,则会在BGP的Notification报文中出现常......
  • 【原创】重置BGP邻居的几种情况和方式
                                                 重置BGP邻居的几种情况和方式1. 什么情况下我们才会对BGP邻居进行重置?答:当我们有以下几种情况的时候,我们才会重置一个BGP的连接。......
  • 【原创】BGP中有关路由注意事项
                                                               BGP中有关路由注意事项1、对于BGP中的路由宣告,必须要和本地路由条目中的路由保持一致么......
  • 16.BGP
    BGP是一种路径矢量协议,主要用于在自治系统(AS)之间进行路由信息的交换。BGP的主要作用是在互联网上提供一种可扩展的路由系统,使得不同的网络可以互相通信。BGP有两种运行方式,当BGP运行于同一AS内部时,被称为IBGP(InternelBGP,内部边界网关协议);当BGP运行于不同AS之间时,称为EBGP(Externe......
  • MPLS解决BGP路由黑洞
    需求1、as200TCP连接采用isis2、r3不配置BGP3、在R1上发布1.1.1.1,在r5上发布5.5.5.54、通过routerecursive-lookuptunnel,解决BGP黑洞配置R1<r1>displaycurrent-configuration [V200R003C00]#sysnamer1#snmp-agentlocal-engineid800007DB03000000000000snmp-agent......
  • 这才是BGP的聚合!!!
    BGP聚合:作用:减少肯干路由器路由条目;提高肯干稳定减少震荡分类:第三项选路:手动>自动>自己network>自2import>从其他邻居学习到的1.自动聚合:summaryautomatic公认任意只能聚合本台设备引入的,对自己network和其他设备引入的路由无效聚合后会产生一条、有类的聚合后的路由聚......
  • 解密Prompt系列14. LLM Agent之搜索应用设计:WebGPT & WebGLM & WebCPM
    前两章,我们分别介绍了基于微调和prompt的工具调用方案,核心都是如何让大模型和工具进行交互,包括生成工具调用语句和处理工具调用请求。不过在实际应用中,想要设计一个可以落地的LLMAgent,需要更全面整体的系统设计。本章我们以搜索工具为例,介绍如何更好和搜索引擎进行交互的LLMAgen......
  • jsessionid释疑解惑
    在web应用的开发中我们会经常看到这样的url:http://www.xxx.com/xxx_app;jsessionid=xxxxxxxxxx?a=x&b=x...。这跟一般的url基本一样,只有一个地方有区别,那就是“;jessionid=xxxxxxxx”。这个参数有时候有,有时候又没有,说它是参数可又跟一般传递的参数不同,它是紧跟在url后面用分号来分......