BGP (border gateway protocol)
什么是BGP:
连接进互联网的一种方式。
适用的规模:
如果你用了BGP,你就和电信,联通是一个级别了
如果你用到了BGP,那么你得向RIR要一个PI网段,同时会给你一个AS号
解释一下AS :
可运行多种路由协议
一个AS可看成一个ISP
一个AS即一个管理域
AS字段 16bit
公有0~64531
私有64532~65535
BGP与其他协议比较:
可把BGP看作一种另类的距离矢量路由协议
传递域间路由
OSPF,EIGRP无端口号,即没有传输层,但是有确保机制,就是ACK。
RIP基于UDP所以有传输层即520
BGP的特点:
- BGP端口号为179,即有传输层,传输层应用的协议是TCP协议。
- 增量的触发更新
- 周期性发送keppalive保活报文来保持TCP会话
- 丰富的属性
- 专门为超大型网络设计的一个协议,例如internet
思科有关BGP的show操作:
show tcp brief查看本地的TCP连接
谁先发起neighbor所指向的路由器TCP用的之上的端口就是179
show ip bgp summary 查看BGP邻居概括
show ip bgp neighbors 查看BGP邻居
show ip bgp 查看BGP路由表,可查看weight
Show ip route bgp 查看路由表里的BGP,BGP有路由但是不一定加入路由表里
show run | s bgp 查看关于BGP的指令
具体操作:
conf#router bgp 100(AS号)
conf-router#neighbor 10.0.12.2 remote-as 100 手工指定邻居(邻居的AS号)
conf-router#neighbor 10.0.12.1 remote-as 100 需要相互指定邻居才会起来
IBGP与EBGP的区别:
如果建立BGP邻居的两个设备AS是一致的,那么该邻居关系就叫做IBGP邻居,intra BGP
如果建立BGP邻居的两个设备AS不一致,那么该邻居关系就叫做EBGP邻居,external BGP
AS内部的所有设备之间都需要建立IBGP邻居关系,否则就会出现路由黑洞(自行百度)
这里区别一下IGP:
IGP(里面包括各种路由协议)可以在一个AS内相互传递路由
BGP的路由两种产生方式
1.network宣告,如果宣告,这宣告的那个路由相会公布于所有BGP的邻居内
2.redistribute重分布,network只能宣告路由表里面有的路由
建立邻居:
AS内一般用环回接口做邻居:
一般在AS内用环回接口建邻居,如果用物理接口,容易坏,如果是虚拟接口,那么设备会通过IGP找到另外一跳路通道目的路由器,如果是单接口,固定只有一个路由,坏了邻居关系就断了,所以不好。
建立邻居要注意点:
源IP接口默认是用离目的最近的IP地址
Conf-if#router bgp 100
解决方案:
conf-router#neighbor 2.2.2.2 remote-as 100
Conf-router neighbor 2.2.2.2 upate-source loopback0指定源地址
先后顺序要一致,乱了就错了。
BGP宣告自己的网段给其他邻居:
Conf#router bgp 100
Conf-router#network 1.1.1.0 mask 255.255.255.0
应用router-map到路由器BGP邻居上:
conf-router#neighbor 10.0.14.4 router-map R4-route in
IBGP的AD值为200,且环回接口掩码正常;与OSPF的环回接口IP不同,其为32位掩码。
在router-map中匹配ACL,并设置匹配成功后执行的动作:
conf-route-map#match IP address yourname
conf-route-map#set weight 99999设置weight为9999
因为去往1.1.1.0/24
的路由是1.1.1.1(代表邻居的名字)
这个邻居传来的,所以IBGP的路由表1.1.1.0/24
网段的下一跳是1.1.1.1(代表邻居的名字)
今天先介绍到这里,下一站,将介绍什么是路由黑洞以及BGP的协议内容和属性。