BGP---边界网关协议 IGP----内部网关协议---OSPF RIP ISISEGP---外部网关协议----EGP BGP AS---自治系统: 由单一的组织或者机构独立维护的网络设备以及网络资源的集合网络范围太大 自治 为了区分不同的AS,网终世界提出了AS号---0-65535 0和65535一般做完保留AS号1-65534 1-64511---公有AS号 64512-65534---私有AS号拓展AS号: 将原本16位AS号拓展到32位
BGPV4 BGPV4+ BGP的一些特性 高可控性---BGP设计了很多路径属性,可以通过路由策略关联这些属性达到路由控制的效果 IGP: 选路 收敛 资源占用
BGP BGP传递一定是路由条目信息 BGP没有使用周期更新传递路由信息BGP存在触发更新 BGP在传输层使用TCP进行传输: 179 UDP: 520 BGP建邻时必须指定建邻的对象,BGP支持非直连建邻 RIP---无类别的距离矢量路由协议 BGP----无类别的路径矢量协议 BGP在传递路由条目信息时携带子网掩码 BGP默认情况下不支持负载均衡,BGP会根据传递过来的路由信息中携带的路径属性选择最优的路由信息加载到路由表中 BGP把一个AS看作一个整体 RIP (IGP)实际上是一个算法的概念,BGP不是一个算法的概念,BGP也不需要计算路由信息,只负责转发路由信息 高可控性--路径属性 高可靠性---TCP AS-BY-AS---BGP把一个AS看作一个整体
IBGP[对等体---一般建议采用非直连建邻邻 BGP为了实现这两个规则: BGP规定EBGP对等体之间发送的数据包中携带的TTL值为1而IBGP对等体之间传递的数据包TTL值为255
BGP的数据包
BGP的公共头部
OPEN---用来建立BGP对等体关系的数据报文
AS号---自身的AS号,比对逻辑对等体发过来的OPEN报文中携带的AS号,必须和指定建邻的AS 必须一致,否则会导致建邻失败。
RID----建邻双方的RID不能一致,如果相同会导致建立对等体失败。 认证
保活时间:类似OSPF的死亡时间默认180s,如果对等体双方保活时间补一致,会按照时间更 小的执行。
KEEPALIVE:1.用于周期保活BGP对等体关系,默认是1/3的保活时间60s。
2.用来做OPEN报文的临时确认包 UPDATE---传递BGP路由信息的数据包
Notification----告警报文,在bgp工作过程中如果出现问题,会发送Notification报文告知对等体问题的原因。 BGP的状态机 建立对等体之间TCP会话: 指定建立对等体的对象会保留RID大的设备发起的TCP会话BGP在建立对等体过程中会建立两次TCP会话, 6种状态机
IDLE状态下,启动BGP协议后必须指定建立对等体的目标之后,进入下一个状态。 必须路由可达(依靠IGP协议或者静态,直连) Connet状态下BGP对等体之间开始建立TCP会话连接。如果TCP会话建立成功则进入OpenSent状 态,如果TCP会话建立失败则进入Active状态。 如果TCP会话(三次握手)建立成功则进入OPensent状态,OPensent状态下,开始发送OPen报 文去建立BGP对等体关系。 如果认可对等体发过来的OPEN报文中的参数,首先会回复一个keepalive报文用来确认OPen报 文中的参数我已经认可。并且进入OPenConfirm状态。 OPenConfirm状态---如果收到对等体发送的keepalive报文则进入最终状态Estabished。
BGP的工作过程 BGP的工作过程 1,基于IGP(静态、直连、RIP、OSPF...)实现路由可达,原因:BGP需要建立TCP会话(单播)
2,指定邻居关系,邻居之间单播传输,通过三次握手,建立TCP会话通道。之后所有的BGP通信都将基于TCP会话通道来传输。并且 依靠TCP提供传输的可靠性
3,使用OPEN报文和Keeplive报文进行邻居关系的建立。OPEN报文用来携带建邻使用的参数,keeplive报文用于OPEN报文参数的 确认。最终完成对等体关系的建立。生成邻居表,存储BGP对等体关系信息。
4,建立邻居关系后,使用update报文来共享路由条目信息。信息中将携带目标网络号,掩码及路径属性;之后,将发送以及收集到 的路由信息记录在一张表中 --- BGP表。
5,之后,会将BGP表中最优的路由信息(通过路径属性选择的结果)加载到路由表中。
6,收敛完成后,将使用keeplive报文进行对等体之间周期保活,默认的保活时间为180S(hold time),发送周期为60S。
7,如果这个过程中出现任何问题,都将使用notification报文进行告警。
8,如果出现结构突变(网段消失或者新增网段),则将使用update报文进行触发更新,并通告给其他的对等体。
BGP的路由黑洞
控制层面的可达 数据层面实际不可达 IGP内部存在没有运行BGP的设备,当访问BGP网段的流量来到这些设备之后,由于控制层面可 达,数据层面不可达(这些设备没有运行BGP,没有BGP网段的路由信息),那么将丢弃这些 流量。
1.所有设备均运行BGP
2.重发布
3.MPLS---最早专门用来解决BGP路由黑洞
同步机制----当设备学习到一条BGP路由,如果本地IGP路由表不可达,将视该BGP路由无效
默认关闭
BGP的防环
BGP的基础配置