BGP协议:
属于公有协议,位于 OSI 第 7 层,套接字为 TCP 179.
该协议自己不会产生路由,仅仅用来传递路由
通常应用于不一样公司之间,能够在长时间内稳定的传输
大量的路由条目。能够赋予路由条目众多属性,从而能够
实现路由条目的灵活控制。redis
有的时候也将其称之为“路径矢量”,一样存在自动汇总,
可是能够人工关闭,由于BGP协议传输路由时,是有子网
掩码的。数据库
BGP的工做原理dom
一、创建邻居表 router bgp 1 no auto-summary //关闭自动汇总功能; no synchronization //关闭BGP与IGP的同步功能 bgp router-id 1.1.1.1 // 设置 BGP 的 RID; neighbor 192.168.12.2 remote-as 1 //单播创建BGP邻居 验证命令; show ip bgp summary 标注一下每一个字段的意思; 二、同步数据库(DB\Topology\LSDB\BGP Table) #路由宣告成功,就会进入到数据库 在BGP中,BGP不会产生路由,仅仅传递路由 因此,要宣告进入到BGP中的路由,必须已经 存在于当前的路由表中。 -宣告:network + redistribute #R1: router bgp 1 network 10.10.1.0 mask 255.255.255.0 #R3: router bgp 2 no auto-summary no synchronization bgp router-id 3.3.3.3 neighbor 192.168.23.2 remote-as 1 redistribute connected 当路由被宣告进入到 BGP 数据库时, 若是条目的状态是 best,则进行如下动做: 一、尝试着装入到路由表;(成功或失败) 二、发送给本身的BGP邻居; 验证命令: show ip bgp neighbor x.x.x.x adver //查看该路由器向邻居xxxx发送了 哪些路由; show ip bgp //查看本地的 BGP 数据库
三、建立路由表
全部的TCP协议的流量都是单波的
数据库每变化一次,路由表版本routing table version增长1tcp
neighbor邻居 也叫beer(对等体) BGP在传递路由的时候, 外:下->变 内:下->不变 next-hop-self通常在AS边界 show ip route show ip route bgp
BGP在传递路由的过程当中,next-hop的变化:
一、外部邻居之间传路由,next-hop默认是变化的;
二、内部邻居之间传路由,Next-hop默认是不变的;ide
可是,一个AS的边界路由器传递给内部BGP邻居时,
若是不进行 next-hop的变化,则会致使内部BGP路由器
产生“下一跳”不可达的现象,因此该路由不可用。
为了解决该问题,咱们在 AS 的边界路由上,对内部邻居
作“next-hop-self";
R2:
router bgp 1
neighbor 192.168.12.1 next-hop-selfoop
非直连的 BGP 邻居关系:
为了加强 BGP 邻居关系的稳定性,才考虑经过非直连的
链路IP地址进行邻居关系的创建(即经过loopback口创建)
另外,非直连创建邻居时,务必须要考虑一个“更新源检测机制”
的问题。若是更新源检测不经过,则致使邻居没法创建。code
注意:
BGP中的 TCP 179 ,表示的仅仅是目标端口号。router
配置思路: 一、确保内网路由互通 经过RIP/OSPF等其余IGP协议; 二、创建BGP邻居关系 router bgp 1 no auto-summary no synchronization bgp router-id 1.1.1.1 neighbor 10.10.2.2 remote-as 1 #neighbor,表示的是单播创建邻居; #10.10.2.2 &表示的是该设备主动向10.10.2.2 的TCP 179 发起链接; &表示的是该设备只接受10.10.2.2 发送过来的 BGP 链接请求; #remote-as ,指望对方发送过来的AS号为1;
R1:BGP-TCP
neighbor 10.10.2.2
R1:randoam---TCP-----> 10.10.2.2 : 179ip
R2:BGP-TCP
neighbor 10.10.1.1
R2:randoam---TCP-----> 10.10.1.1 : 179路由
更新源检测机制(非直连)
random随机
TCP链接创建,是存在delay(延迟)的,
若是两个设备之间的TCP 179链接都创建成功,
则最终仅仅会保留一个delay小的。
查看设备上已经创建的TCP链接:
show tcp brief
针对BGP链接而言,
随机端口一方为互动发起方,为源。
什么是直连检测机制去往外部邻居的IP地址时,使用的必须是直连路由;何时检查直连检测机制#创建外部邻居的时候;#而且TTL值为1的时候;因此,经过非直连创建EBGP邻居关系的时候,都要“绕过”直连检测机制:-修改EBGP邻居之间发送的报文的TTL;router bgp 2neighbor x.x.x.x ebpg-multihop[value]-更新源检测机制(经过非直连端口创建邻居时)neighbor x.x.x.x update-source y.y.y.y-直连检测机制(经过非直连端口创建EBGP邻居时候)neighbor x.x.x.x ebgp-multihop[value]