【重识云原生】第四章云网络4.3.7.5节——BGP协议实操

 《重识云原生系列》专题索引:

  1. 第一章——不谋全局不足以谋一域
  2. 第二章计算第1节——计算虚拟化技术总述
  3. 第三章云存储第1节——分布式云存储总述
  4. 第四章云网络第一节——云网络技术发展简述
  5. 第四章云网络4.2节——相关基础知识准备
  6. 第四章云网络4.3节——重要网络协议
  7. 第四章云网络4.3.1节——路由技术简述
  8. 第四章云网络4.3.2节——VLAN技术
  9. 第四章云网络4.3.3节——RIP协议
  10. 第四章云网络4.3.4节——OSPF协议
  11. 第四章云网络4.3.4.3节——OSPF协议工作原理
  12. 第四章云网络4.3.4.4节——[转载]OSPF域内路由
  13. 第四章云网络4.3.4.5节——[转载]OSPF外部路由
  14. 第四章云网络4.3.4.6节——[转载]OSPF特殊区域之Stub和Totally Stub区域详解及配置
  15. 第四章云网络4.3.4.7节——[转载]OSPF特殊区域之NSSA和Totally NSSA详解及配置
  16. 第四章云网络4.3.5节——EIGRP协议
  17. 第四章云网络4.3.6节——IS-IS协议
  18. 第四章云网络4.3.7节——BGP协议
  19. 第四章云网络4.3.7.2节——BGP协议概述
  20. 第四章云网络4.3.7.3节——BGP协议实现原理
  21. 第四章云网络4.3.7.4节——高级特性
  22. 第四章云网络4.3.7.5节——实操
  23. 第四章云网络4.3.7.6节——MP-BGP协议
  24. 第四章云网络4.3.8节——策略路由
  25. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术

【重识云原生】第四章云网络4.3.7.5节——BGP协议实操_第1张图片

5 实操-BGP邻居关系和配置

5.1 建立TCP连接

        BGP协议被设计运行在AS之间传递路由,AS之间是广域网链路,数据包在广域网上传递是可能出现不可预测的链路拥塞或丢失等情况,因此BGP使用TCP作为其承载协议来保证可靠性。

        相当于TCP连接一直存在,BGP通过Keep alive机制(不断、定时发送keepalive报文)时TCP连接不会断掉。

        BGP使用TCP封装建立邻居关系,端口号为179,TCP采用单播建立连接,因此BGP协议并不像RIP和OSPF一样使用组播发现邻居。单播建立连接也使BGP只能手动指定邻居。(配置的时候需要自己手动指定邻居)。

        先看起BGP的一端发起TCP的连接。

TCP连接(三次握手)简单介绍:

        一下图为例:RTB向RTA发起建立TCP连接请求,RTA收到之后,返回一个连接请求和确认消息,RTB收到之后返回一个确认消息。连接建立完成。

【重识云原生】第四章云网络4.3.7.5节——BGP协议实操_第2张图片

5.2 BGP邻居类型

        BGP邻居类型分为两种:

  • EBGP(External BGP):运行在不同AS之间的BGP路由器建立的邻居关系为EBGP邻居关系;
  • IBGP(Inter BGP):运行在相同AS内的BGP路由器建立的邻居关系为IBGP邻居关系;

【重识云原生】第四章云网络4.3.7.5节——BGP协议实操_第3张图片

        EBGP只用于不同AS之间传递路由。如图,AS 100内的RTB与BTC分别从AS 200与AS 300学习到不同的路由,怎么实现AS 200与AS 300之间路由在AS 100内的交换?

        在AS 100内实现将学到的AS 200和AS 300路由进行交换,可以在拓扑中的RTB与RTC路由器上将BGP的路由引入IGP协议(图中为OSPF协议),再将IGP协议的路由在RTB与RTC路由器上引入回BGP协议,实现AS 200与AS 300路由的交换。

        上述方法存在以下几个缺点:

  • 公网上BGP承载的路由数目非常大,引入IGP协议后,IGP协议无法承载大量的BGP路由;
  • BGP路由引入IGP协议时,需要做严格的控制,配置复杂,不易维护;
  • BGP携带的属性在引入IGP协议时,由于IGP协议不能识别,可能会丢失。

        因此我们用IBGP来邻居关系来解决上述问题:如上图,因为BGP使用TCP作为其承载协议,所以可以跨设备建立邻居关系。如图所示,RTB与RTC之间建立IBGP邻居关系,并各自将从其他AS学到的路由传递给对端,实现BGP路由在AS内的传递。

        注意:建立IBGP邻居关系建立一般使用Loopback口IP地址,因为Loopback口为逻辑接口,且不会down,非常稳定,这样邻居关系一直处于稳定状态。EBGP邻居关系建立使用直连接口IP地址。

5.3 BGP简单邻居关系配置

【重识云原生】第四章云网络4.3.7.5节——BGP协议实操_第4张图片

5.3.1 第一步

        搭建拓扑,规划网段并配置各个接口IP地址。

以RTB举例:

[RTB]int g0/0/0

[RTB-GigabitEthernet0/0/0]ip ad 10.1.24.2 24

[RTB-GigabitEthernet0/0/0]int g0/0/1

[RTB-GigabitEthernet0/0/1]ip ad 10.1.12.2 24

[RTB-GigabitEthernet0/0/1]int lo0

[RTB-LoopBack0]ip ad 22.22.22.22 32

[RTB-LoopBack0]quit

[RTB]

5.3.2 第二步

        AS 100内部使用IGB:OSPF协议通信。配置OSPF协议。

        注意:不要忘记宣告Loopback接口所在网段。

以RTB为例其余路由器相同:

[RTB]ospf

[RTB-ospf-1]a 0

[RTB-ospf-1-area-0.0.0.0]network 22.22.22.22 0.0.0.0

[RTB-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255

        验证RTB环回口是否能与RTC环回口通信,若正确则进行下一步:

ping -a 22.22.22.22 33.33.33.33

PING 33.33.33.33: 56 data bytes, press CTRL_C to break

Reply from 33.33.33.33: bytes=56 Sequence=1 ttl=254 time=40 ms

Reply from 33.33.33.33: bytes=56 Sequence=2 ttl=254 time=30 ms

Reply from 33.33.33.33: bytes=56 Sequence=3 ttl=254 time=30 ms

Reply from 33.33.33.33: bytes=56 Sequence=4 ttl=254 time=30 ms

Reply from 33.33.33.33: bytes=56 Sequence=5 ttl=254 time=30 ms

--- 33.33.33.33 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 30/32/40 ms

5.3.3 第三步

        配置BGP邻居关系:

  1. 配置Router ID:标识路由器
  2. 配置EBGP邻居关系:AS之间传递路由

        以RTB、RTD之间建立EBGP关系为例:

[RTB]

[RTB]bgp 100

[RTB-bgp]peer 10.1.24.4 as-number 200 //BGP邻居关系的类型主要靠配置的AS号区别,peer关键字后面是对端邻居的接口IP地址,as-number后面是邻居路由器所在的AS号,AS号相同则为IBGP邻居关系;AS号不同,则为EBGP邻居关系。

[RTD]

[RTD]bgp 200

[RTD-bgp]peer 10.1.24.2 as-number 100

5.3.4 第四步

        配置IBGP邻居关系:本例中RTB和RTC建立IBGP邻居关系(本例使用逻辑接口建立IBGP邻居关系):

[RTB]

[RTB]bgp 100

[RTB-bgp]peer 33.33.33.33 as-number 100 //AS号相同则为IBGP邻居关系

[RTB-bgp]peer 33.33.33.33 connect-interface LoopBack 0

[RTC]

[RTC]bgp 100

[RTC-bgp]peer 22.22.22.22 as-number 100

[RTC-bgp]peer 22.22.22.22 connect-interface LoopBack 0

[RTC-bgp]

额外提供直连接口配置方法:

[RTB-bgp]peer 10.1.12.1 as-number 100

查看邻居关系display bgp peer:

以RTB为例:

[RTB]display bgp peer

BGP local router ID : 2.2.2.2

Local AS number : 100

Total number of peers : 2 Peers in established state : 2

Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre

fRcv

10.1.24.4 4 200 41 42 0 00:39:16 Established 0

33.33.33.33 4 100 37 37 0 00:35:27 Established 0

        注意:此时BGP邻居关系已经建立,但是由于没有路由引入所以没有路由表,查看BGP路由表命令:display bgp routing-table。路由引入命令下一遍文章介绍

 参考链接 

BGP协议原理(一)BGP协议基本概念:BGP作用与特点、BGP邻居关系建立与配置_Skye_Zheng的博客-CSDN博客_bgp协议作用

【网络干货】最全BGP路由协议技术详解 - 知乎

BGP协议总结(比较详细,好理解)_Looo~ye的博客-CSDN博客_bgp协议

边界网关协议_百度百科

BGP协议详解(一)_liboyang990814的博客-CSDN博客_bgp协议

BGP协议介绍 - 知乎

BGP报文及格式(2) - 简书

【干货】万字详解BGP路由技术原理及配置命令! - 知乎

32张图详解BGP路由协议:BGP基本概念、BGP对等体、BGP报文类型、BGP状态机等 - 知乎

BGP优雅重启(Graceful Restart) - 知乎

你可能感兴趣的:(后台开发专栏,云原生专栏,网络,云原生,网络协议,BGP,路由)