- 自治系统AS(Autonomous System):
- AS是指在一个实体管辖下的拥有相同选路策略的IP网络。
- AS号:
- 共有:1-64511
- 私有:64512-65534
- 记忆办法:
- 2^16-1=65535,私有AS有1024个,65535-1024=64511,因此为公1-64511有AS
- BGP分类
- IBGP:运行于不同AS之间
- 当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。–防环
- EBGP:运行于同一AS内部
- BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体
- 注意:
- 如果在AS内一台BGP设备收到EBGP邻居发送的路由后,需要通过另一台BGP设备将该路由传输给其他AS,此时推荐使用IBGP。
- BGP报文交互中的角色:
- Speaker:发言者—发送BGP报文的设备
- •Peer:对等体或邻居
- BGP的路由器号(Router ID)
- 唯一的
- 手动配置
- 设备自动选取
- 缺省情况下,lookback 接口作为 id
- 没有配置lookback,最大ipv4 接口地址
- 一旦配置,不会被抢,除非删除接口地址
BGP 工作原理
- BGP的报文:5种报文进行交互
- Open报文:用于建立BGP对等体连接。
- Update报文:用于在对等体之间交换路由信息
- Notification报文:用于中断BGP连接。
- Keepalive报文:用于保持BGP连接
- •Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新
- 图
ljl
- 初始化idle,如果开启,首先进入发起Connect连接,如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。
- 如果TCP连接失败,那么BGP停留在Active状态。超时,返回,connect转态
- 在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。
- 如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。
- 如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。
- 在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。
- 在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。
BGP对等体之间的交互原则
- 从IBGP学到的,只发给它的EBGP
- 从EBGP学到的,发给所有EBGP、IEBGP
- 只发最优的给对等体
- 只发送部分更新的路由
BGP 与IGP路由的引入
- BGP引入路由时支持Import和Network两种方式:
- import:将RIP、OSPF、ISIS等协议的路由引入到BGP路由表中,直连,静态也行
- network:将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确
BGP 属性:
- 公认必须遵循:可以识别,必须存在更新报文中
- origin
- 标记路由来源 :
- network—igp、egp
- import ---->incomplete
- as_path
- 不接受带有本地as号的路由
- next_hop
- 公认任意:可以识别,不要求存在更新报文中
- local fref
- 于判断流量离开AS时的最佳路由。
- 本地有效,不发给其它AS域
- 缺省 100
- 可选过度:不识别此类属性,它任会接受,发送
- 团体属性
- 用于标识具有相同特征的BGP路由
- 定义团体属性
- 公认团体属性
- internet 属性号 0 ,向任何对等体发送该路由
- no_advertise 属性号:0xFFFFFF02 不向任何对等体发送该路由
- no_port 0xFFFFFF01 将不向AS外发送该路由。
- No_Export_Subconfed (0xFFFFFF03 将不向AS外发送该路由,也不向AS内其他子AS发布此路由。
- 可选非过度:忽略属性,不发送给对等体
- med 值
- 用于判断流量进入AS时的最佳路由
- 将优先选择MED值较小者作为最佳路由
- 缺省 0
- originator-id
- cluster_list
- 用于解决路由反射器场景中的环路问题
BGP选择路由的策略
- 优选协议
首选值
(PrefVal)最高的路由。 - 优选
本地优先级
(Local_Pref)最高的路由 - 优选 汇总、引入(手动、自动、network、inport)
- 优选
AS path
(AS_Path)最短的路由 - 优选 IGP 、EGP 、Incomplete的路由
- 对于来自同一AS的路由 优选
MED值
MED值最低的路由。 - 依次优选EBGP路由、IBGP路由、LocalCross路由、RemoteCross路由。
- 优选到BGP下一跳IGP度量值
metric
最小的路由 - 优选Cluster_List最短的路由
- 优选Router ID最小的设备发布的路由
- 选从具有最小IP Address的对等体学来的路由\
- 总结:
- 首选值 比大
- 本地优先级 比大
- 汇总 手动>自动
- AS-PATH 最短的
- 起源 IGP > EGP >引入的
- MED 比小
- 路由 EBGP IBGP 、隧道实例路由
- 下一跳 IGP 度量值 metric 最小的
- Cluster_List最短的路由
- Router ID 最小的
- 最小ip 地址学路由
- 顺口溜:
- 首选 本地 汇总 AS 起源
- MED 路由 下一跳度量
- Cluster_List Router ID 最小ip
- 需要熟悉的是 起源 AS-PATH next-hop MED local-preference Community
路由反射器