• 自治系统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

路由反射器