网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)

(一)BGP协议

BGP(边界网关协议):是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。BGP可分为IBGP(Internal BGP)和EBGP(External BGP)。BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为30秒)。在路由协议中,只有BGP使用TCP作为传输层协议。

1.BGP工作原理

BGP通过报文的交互完成邻居建立、路由更新等操作,共有Open、 Update、 Notification、 Keepalive
和 Route-refresh等5种报文类型。

网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)

(1)open报文:是TCP连接建立后发送的第一个报文,用于建立BGP邻居之间的连接关系。BGP邻
居在接收到Open报文并协商成功后,将发送 Keepalive报文确认并保持连接的有效性。确认后,BGP邻居间
可以进行 Update、 Notification、 Keepalive和 Route-refresh报文的交换。
(2) Update报文:用于在BGP邻居之间交换路由信息。 Update报文可以发布多条属性相同的可达路
由信息,也可以撤销多条不可达路由信息。
(3) Notification报文:当BGP路由器检测到错误状态时,就向邻居发出 Notification报文,之后BGP
连接会立即中断。
(4) Keepalive报文:BGP路由器会周期性地向邻居发出 Keepalive报文,用来保持连接的有效性。
(5) Route-refresh报文: Route-refresh用于在改变路由策略后请求对等体重新发送路由信息。

2.BGP选路规则

当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由。
(1)优选协议首选值( Prefva)最高的路由。协议首选值( Prefval)是华为设备的特有属性,该属性仅在本地有效。
2)优选本地优先级( Local Pref))最高的路由。如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。
(3)依次优选手动聚合路由、自动聚合路由、 network命令引入的路由、 Import-route命令引入的路由,从对等体学习的路由。
(4)优选AS路径( AS Path)最短的路由。
(5)依次优选ogn类型为Gp.EGP、 Incomplete的路由。
6)对于来自同一AS的路由,优选MED值最低的路由。
7)依次优选EBGP路由、|BGP路由、 Localcross路由、 Remote Cross路由。PE上某个v*n实例的
v*n4路由的ERT匹配其他v*n实例的RT后复制到该v*n实例,称为 LocalCross:从远端PE学习到的
v*nw4路由的ERT匹配某个v*n实例的RT后复制到该v*n实例,称为 RemoteCross
(8)优选到BGP下一跳GP度量值( metric最小的路由
9)优选 Cluster List最短的路由
(10)优选 Router ID最小的设备发布的路由。如果路由携带 Originator ID属性,选路过程中将比较
Originator ID的大小(不再比较 Router ID),并且优选 Originator ID最小的路由
(11)优选从具有最小 IP Address I的对等体学来的路由。
当到达同一目的地址存在多条等价路由时,可以通过BGP等价负载分担实现均衡流量的目的。形成BGP等价负载分担的条件是"BGP选择路由的策略”的1~8条规则中需要比较的属性完全相同。

3.自治系统

自治系统(autonomous system):在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。一个自治系统有时也被称为是一个路由选择域(routing domain)。一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)。——SPTN 自治系统号10(传统域) 自治系统号20(SDN域)

一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如BGP.。

多出口的自治系统(Multihomed AS)是指与其它的自治系统具有多于一个连接的自治系统。一旦那些连接中的某一个完全失效,这个多出口的自治系统也仍然能保持和互联网络的联系。但是,这类自治系统不允许与自己所连接的其它任一个自治系统穿过自己来访问另一个自治系统。

如图1所示,AS1、AS2、AS3、AS4和AS5是五个自治系统,如果自治系统AS2和AS3的连接发生了故障,其他的自治系统之间的连接不受影响。而且如果自治系统AS4想通过AS2来连接AS1,这是不可能实现的。
网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)

4.末端自治系统

末端自治系统(stub AS)是指仅与一个其它自治系统相连的自治系统,如图2中的自治系统AS1它仅仅与自治系统AS2相连接。如果该AS的路由策略与其上游的AS完全相同,这说明该AS其实浪费了一个ASN。这种情况更常发生在互联网路由环境中:表面上的末端自治系统可能实际上与其它未被公共路由显示服务器反映出来的AS之间存在着对等互联关系。
网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)

5.中转自治系统

中转自治系统是指一个自治系统通过自己来为几个隔离开的网络提供连通服务。即,网络A可通过作为中转AS的网络B来连接到网络C。比如图1中的自治系统AS1可以通过自治系统AS2连接到自治系统AS4。所有的ISP都是这类的中转自治系统,因为这原本是它们的根本业务目的。因为我们认为ISP是在向客户网络“贩售中转服务”,所以使用中转自治系统这个术语来表示。

(二)IS-IS协议

ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS可以在不同的子网上操作,包括广播型的LAN、WAN。

中间系统到中间系统(IS-IS,Intermediate system to intermediate system,意为“中间系统到中间系统”)是一种内部网关协议,是电信运营商普遍采用的内部网关协议之一。[1]标准的IS-IS协议是由国际标准化组织制定的ISO/IEC 10589:2002 所规范的。但是标准的IS-IS协议是为无连接网络服务(CLNS)设计的,并不直接适合于IP网络,因此互联网工程任务组制定了可以适用于IP网络的集成化的IS-IS协议,称为集成IS-IS,它由RFC 1195等RFC文档所规范。由于IP网络的普遍存在,一般所称的IS-IS协议,通常是指集成IS-IS协议。
网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)

1.IS-IS路由器的分类:

网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)

Level-1路由器:负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。Level-1路由器只负责维护Level-1的链路状态数据库LSDB(Link State Database),该LSDB包含本区域的路由信息,到本区域外的报文转发给最近的Level-1-2路由器。

Level-2路由器:负责区域间的路由,它可以与同一或者不同区域的Level-2路由器或者其它区域的Level-1-2路由器形成邻居关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。

所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息。

Level-1-2路由器:它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。

Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。

2.邻居关系建立

网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)
广播网络:采用的是可靠的邻接建立过程,如果在接收的IIH报文中看到了自己接口的MAC地址,说明邻接已经收到并确认了自己发送的IIH报文。那么本地维护邻居的状态变为UP状态。

点到点网络:2Way是属于两次握手,没有可靠性保证。只要收到邻接发送的IIH报文,并检测通过,维护邻居的状态为UP状态。

3Way是属于三次握手,在点到点网络中使用3way的方式保证邻接建立的可靠性。新增一种TLV,点到点邻居状态TLV。

两次握手机制存在明显的缺陷。当路由器间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为Up,路由器之间还是能建立起邻接关系。

3.ISIS与OSPF的异同

网络基础知识——路由协议Ⅱ(RIP、OSPF、IS-IS、IGP、BGP等)