【原创】BGP-1随笔(BGP如何建立邻居)

发布时间 2023-09-19 11:07:33作者: 艳花三月下春秋
       大家好,我是你们的龙少一郎,有些光阴没有拿笔挥洒了,觉得有必要写点东西,还是似曾相似的感觉,追随着心的方向,带着努力的梦想,一路跌跌撞撞,将回忆轻轻随手写上,今天我给大家说的是BGP的入门基础篇,菜鸟可以简单了解一下。
        说到BGP,我们不得不把路由分类一下:内部路由(IGP)和外部路由(EGP)。内部路由包括RIP、EIGRP、OSPF,ISIS等路由;外部路由包括BGP等;现在EGP已经淘汰了,主要指的是BGP路由,而BGP又分为IBGP和EBGP。下篇文章简单说下IBGP和EBGP的区别。BGP传递路由的原理是基于AS进行学习和传递的,是一种无为而治的AS-By-AS的带有丰富的策略和属性进行精确的路由控制。它是一种基于四层的网络协议,以TCP三层握手和四次断开为基础,具有安全、可靠和稳定的特性,从94年一直延用至今,仍然活跃在历史的舞台上。
       我们知道,TCP协议保证了数据传输的可靠性,而基于TCP的BGP在真正传输数据之前是要进行TCP三次握手的建立,邻居也是从这时候开始建立的。而TCP具有全双工性,所以为了避免两主机之间的BGP报文的重放,我们在进行neighbor 宣告指定时,有几点需要注意:
       一:neighbor指定的地址对象是我们需要与对方进行TCP建立的目标对象,也是希望允许该对象访问我端的TCP协议的179端口。
       二:我们只需要建立一方tcp会话的连接就可以保证tcp的可靠连接,这些连接都是基于IPV4-unicast的建立 。虽然查看tcp会话时,在命令行中只会显示随机某一条,通过show tcp  brief ,但是如果我们希望稳定出现一条,或者只希望我主动请求建立连接的一方的179端口被对方随机高位进行连接。这时候我们可以采取防问控制列表(拒绝neighbor指定的对象访问我端的179端口并且接口中in引入)、传输模式(transport connection-mode active /passive )。
       三:如果tcp建立是以环回口为对象建立,我们需要考虑到路由表中的环回口路由、TTL值(EBGP多跳)、直连检测(connection-check)、路由更新源(update-source)也可以避免BGP路由的重放,这样也是稳定建立邻居的一种方式。