基本概念:
1.BGP 是路径矢量协议,是自治系统间的路由协议
2.BGP采用TCP 179号端口,BGP路由器之间基于TCP建立BGP会话
3.运行BGP的路由器称为BGP Spearker,他们之间建立对等体关系后(邻居关系)才可以交换路由,进行路由学习
4.BGP具有大量丰富的路径属性和强大的策略工具
自治系统:
1.我们通常使用AS号来表示不同的自治系统
2.在同一个自治系统内,一般使用相同内部路由协议——IGB协议(OSPF、IS-IS等)
3.自治系统间使用外部路由协议——通常是BGP协议
4.一台路由器只能运行在同一个AS内
AS号有两种表示方法:
1.使用2子节来表示AS号 范围为1~65535 其中64512~65535是私有AS号(类似私有IP地址)
2.使用3子节来表示AS号 范围为1~4294967295 (目前是这种给方式)
BGP对等体概述:
名词解释:
BGP Speakers 运行BGP的路由器
BGP Peers/Neighbors BGP对等体/邻居
基本概念:
1.要想建立对等体关系,前提是TCP对等体之间的TCP连接建立成功
2.BGP的对等体之间无需直连,只需要IP可达就可以——一般使用IGP连使得IP可达,最后在使用BGP协议建立对等体
3.对等体建立关系需要手动配置——例如:Peer 邻居IP地址
4.BGP的对等体关系建立后,不会周期性的更新,只发增量更新或者触发更新
对等体类型:
EBGP 不同AS间建立邻居——一般通过物理真实接口建立EBGP对等体关系
IBGP AS内建立邻居 ——一般通过回环口来建立IBGP对等体关系
建立对等体关系的条件:
1.邻居地址可达
2.自己配置的AS号 = 邻居声明的AS号
3.数据包的源IP(更新源) = 对方配置的邻居IP
影响对等体建立的因素:
1.对等体本地地址不可达
2.更新源的问题------使用回环接口建立IBGP邻居时有此问题,此时需要手动将更新源改为环回接口
3.eBGP跳数问题-----eBGP建立eBGP邻居时的跳数为1,如果使用环回口建立eBGP邻居关系,则需要增加跳数
4.BGP版本号不一致
5.AS号不一致--------怎对与iBGP邻居的建立
6.Router ID冲突
7.BGP认证失败
8.TCP 的179号端口阻塞
BGP对等体6种邻居状态:
注意:在TCP来凝结建立过程中,主动端为更新源大的
Idle 尝试建立TCP连接-初始状态 先查找对方的ip,然后尝试三次握手
Connect 发送TCP包 正在进行tcp连接,等待完成中。认证都是在tcp建立期间完成的,连接不起进入Active状态
Active 发送TCP包 tcp三次握手建立不成功,反复尝试tcp连接
Opensent 发送Open包 连接建立成功,发送open包,open包携带参数协商对等体的建立
Openconfim 发送KeepLive包 参数,能力特征协商成功,自己发送keepalive包,等待对方发送keep alive包
Established 发送Update包 双方特性一致,通告路由信息 路径属性
BGP一致呆在Active的原因:
- 数据源地址不匹配
- 邻居与错误的地址建立了对等体关系
- 不存在该路由器的邻居声明(即对端没有配置)
- AS号配置错误