Rate this post
BGP(外部网关协议,IGP内部网关协议,以往所学的,都是IGP)
运用范围广,国家与国家之间,运营商之间,城市之间。
基于TCP传输 端口号179
属于七层协议(但凡有端口号的都是7层协议)
无环,本质为距离矢量协议
触发增量更新。
周期性的发送keeplive 保证tcp是否是链接的。
拥有最强大的metric(度量)属性(值可达40几亿)(可以使增大传输距离和质量)
ospf可存储路由条目为8000多, ISIS为3万多,BGP可存储的达35万多左右。
AS号(自制系统号,相当于ospf中的区域):0~65535 (一般的)64512~65534(私有的,一般不用)
其下一跳基于下一个AS(AS是一个区域,可以直接跨越一个区域,到达下一区域的第一个相连router)(要想让同一区域的接受到,就要指定下一跳为自己)
BGP距离矢量协议的跳数,为经过的AS数
一,通过路由表更新,即指单纯地通过邻居关系,传送路由表。
二,通过跳数来选路。
(一般会关闭自动汇总)
keeplive这个包的报文60秒一次,超过180秒,主要承载的东西是internet公网的路由协议(还有别的),35万条左右。
必须要保证内部的设备能通,才能起BGP的邻居。内部的协议比如ospf与isis之间,不用建立邻居。
之所以使用BGP是为了选路,尤其是在有后续网络的时候。通常使用AS对联的时候一般为多线连接。
BGP中的邻居:
IBGP邻居:在同一自制系统内部的邻居。一个路由器从IBGP中得到的BGP路由条目,不会传给下一个IBGP路由器(即使是邻居也不行)(BGP中的水平分割)
EBGP邻居:跨自制系统的邻居。
在同一AS中(在同一BGP中),即使跨网段,只要能ping通,就可以建立IBGP关系。
每经过一个路由器的时候,TTL值会减一。
所以,在不同的AS中,跨了网段,就不可能建立邻居关系,在EBGP之间,TTL(可理解为跳数)为1,跨过之后,就减为零了,所以无法建立邻居关系。建立EBGP时,使用的是直连接口,建立IBGP的邻居关系,用环回接口,因为各自的环回接口虚拟,耗存小,而因为TTL此时不为1的原因,必须使用直连接口。
I BGP之间的TTL值为255,所以不能建立邻居。
换回接口相当于router-id
c#router bgp 100
c-r#no au
bgp router-id 1.1.1.1
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source loopback 0(确定元接口为环回接口)
c#router bgp 100
c-r# no au
bgp router 2.2.2.2
neighbor 1.1.1.1remote-as 100
neighbor 1.1.1.1 update-source loopback 0
show bgp summary 查看BGP邻居
c#router bgp 100
c-r#net
bgp router-id ….(以换回接口作为id)
c-r#nei 4.4.4.4 next-hop-self (下一跳为自身),边界的IBGP都得指自己
RR反射器:将从客户端学习到的路由条目反射到所有客户端与非客户端。
从非客户端学到的路由条目能反射给客户端。
c-r#nei 3.3.3.3 router-reflector-client (3.3.3.3即为客户端)
nei router-id
bgp router-id 3.3.3.3(确认router-id)
neighbor 4.4.4.4 remote-as 200(邻居AS200 router-id为4.4.4.4)
neighb 4.4.4.4 upadate-source loopback 0(确定元接口为环回接口)
nei 4.4.4.4 next-hop-self
过程
1.可在内部建立ospf,保证互联
2.起bgp
3.确认各bgp各自的router-id为本地环回
bgp router-id 3.3.3.3(确认router-id)
neighbor 4.4.4.4 remote-as 200(邻居AS200 router-id为4.4.4.4)
neighb 4.4.4.4 upadate-source loopback 0(确定元接口为环回接口)
nei 4.4.4.4 next-hop-self(如果从0.0.0.0得到,也就可以说明是从自己得到)
4.在实际物理接口上建立邻居(EBGP)之后
neighbor 192.168.1.2 remote-as 200
BGP不用反复宣告网段,因为已配好邻居。
net 11.1.1.0 mask 255.255.255.0