路由器协议----IGP、EGP、RIP、OSPF、BGP、MPLS

一、路由控制的定义html

<br>1.1.IP地址与路由控制 file:///var/folders/pz/cy11_lpd5rqfs66s778032580000gn/T/51.html算法

互联网是由路由器链接的网络组合而成的。为了能让数据包正确地到达目标主机,路由器必须在途中进行正确地转发。这种向“正确的方法”转发数据所进行的处理就叫作路由控制或路由
路由器根据路由控制表(Routing Table)转发数据包。它根据所收到的数据包中目标主机的IP地址与路由控制表的比较得出下一个应该接收的路由器。所以,这个过程当中路由控制表的记录必定要正确无误。但凡出现错误,数据包就有可能没法到达目标。

1.2.静态路由与动态路由
是谁又是怎样制做和管理路由控制表的呢?路由控制分静态(Static Routing)和动态(Dynamic Routing)两种类型。数据库

静态路由:事先设置好路由器和主机中并将路由信息固定的一种方法
动态路由:让路由协议在运行过程当中自动地设置路由控制信息的一种方法。

静态路由的设置一般是由使用者手工操做完成的。缺点:1).每增长一个新网络,就须要将这个被追加的网络信息设置在以前全部的路由器上。2).一旦某个路由器发生故障,基本只能由管理员手工设置之后才能恢复正常。
使用动态路由,管理员必须设置好路由协议,其设定过程的复杂程度与具体要设置路由协议的类型有直接关系。如RIP就简单,而OSPF就复杂。动态路由能避免静态的1,2点问题,缺点:1).路由器为可以按期相互交换必要的路由控制信息,会与相邻的路由器之间互发消息,这些互换的消息会给网络带来必定程序的负荷,特别是环路状况下,须要特别注意。
无论是静态路由仍是动态路由,不要只使用其中一种,能够将它们组合起来使用。

2.路由控制范围
随着IP网络的发展,想要对全部网络统一管理是不可能的事。所以,人们根据路由控制的范围使用IGP(Interior Gatewary Protocol:外部网关协议)和EGP(Exterior Gateway Protocol:内部网关协议)两种类型的路由协议。
互联网中各类组织机构没有管理者,也没有被管理者,每一个组织之间保持平等的关系。网络

2.1.IGP与EGP
路由协议大体分为两大类,一类是外部网关协议EGP,另外一类是内部网关协议IGP.
IP地址分为网络部分和主机部分,EGP和IGP的关系与IP地址相似,EGP相似IP的网络部分,能够根据EGP在区域网络之间(或ISP之间)进行路由选择;IGP相似Ip的主机部分,根据IGP在区域网络内部(或ISP内部)进行主机识别。
由此,路由协议被分为EGP和IGP两个层次,没有EGP就不可能有世界上各个不一样组织机构之间的通讯,没有IGP机构内部也就不可能进行通讯。
IGP中还可能使用RIP,RIP2,OSPF等众多协议 ,EGP使用的是BGP协议。ide

2.2.自治系统与路由协议
制定本身的路由策略,并以此为准在一个或多个网络群体中采用的小型单位叫作自治系统(AS: Autonomous System)或路由选择域(Routing Domain)工具

3.路由算法
路由控制有各类各样的算法,其中最具表明性的有两种,是距离向量算法和链路状态算法
3.1.距离向量算法
距离向量算法(Distance-Vector)是指根据距离(代价:至关于所要通过的路由器的个数)和方向决定目标网络或目标主机位置的一种方法。
路由器之间能够互换目标网络的方向及其距离的相关信息,并以这些信息为基础制做路由器由控制表。这种方法在处理上比较简单,不过因为只有距离和方向的信息,因此当网络变得分外复杂时,在得到稳定的路由信息以前须要消耗必定时间(也叫路由收敛),也极易发生路由循环等问题。
3.2.链路状态算法
链路状态算法(Link-State)是路由器在了解网络总体链接状态的基础上生成路由控制表的一种方法。该方法中,每一个路由器必须保持一样的信息才能进行正确的路由选择。
距离向量算法中每一个路由器掌握的信息都不相同,通往每一个网络所耗的距离(代价)也根据路由器的不一样而不一样,所以,该算法的一个缺点就是不太容易判断每一个路由器的信息是否正确。
而链路状态算法中全部路由器持有相同的信息,对于任何一台路由器,网络拓扑都彻底同样。所以,只要某一台路由器与其余路由器保持一样的路由控制信息,就意味着该路由器上的路由信息是正确的,只要每一个路由器尽快地与其余路由器同步路由信息,就可使路由信息达到一个稳定的状态。所以,即便网络结构变得复杂,每一个路由器也可以保持正确的路由信息、进行稳定的路由选择,这也是该算法的一个优势。
为了实现上述机制,链路状态算法付出的代价就是如何从网络代理获取路由信息表,这一过程至关复杂。设计

4.RIP
RIP(Routing Information Protocol)是距离向量型的一种路由协议,普遍用于LAN。
4.1.广播路由控制信息
RIP将路由控制信息按期(30s一次)向全网广播,因为可能丢包,所以RIP规定等待5次,若是等了6次(180S)仍未收到路由信息,才会真正关闭链接。
过程:
1).30S一次,将本身所知道的路由信息广播出去。
2).将已知的路由信息通过一跳以后继续广播。
3).以此类推,逐步传播路由信息。代理

4.2.根据距离向量肯定路由
RIP基于距离向量算法决定路径,距离的单位为“跳数”,跳数是指所通过的路由器的个数。RIP但愿尽量少经过路由器将数据包转了到目标IP地址。根据距离向量生成距离向量表,再抽出较小的路由生成最终的路由控制表。code

4.3.使用子网掩码时的RIP处理
RIP虽然不交换子网掩码信息,但能够用于使用子网掩码的网络环境。采用RIP进行路由控制的范围内必须注意两点:
1).因IP地址的分类而产生不一样的网络地址时
2).构造网络地址长度不一样的网络环境时orm

4.4.RIP中路由变动时的处理
RIP的基本行为可概括为以下两点:
1).将本身所知道的路由信息按期进行广播
2).一旦认为网络被断开,数据将没法流过此路由器,其余路由器也就能够得知网络已经断开。
不过,这两点不论哪一种方式都存在一些问题。
如:在非环路的状况下,路由器A将网络A的链接信息发送给路由器B,路由器B又将本身掌握的路由信息在原来的基础上加1跳后发送给路由器A和路由器C,假定这时路由器A与网络A的链接发生了故障。路由器A虽然觉察到本身与网络A的链接已经断开,没法将网络A的信息发送给路由器,但它会收到路由器B曾经获知的信息,这就使得路由器A误认为本身的信息还能够经过路由器B到达网络A。
像这样收到本身发出去的消息,这个问题被称为无限计数。为了解决这个问题能够采起如下两种方法:
1).最长距离不超过16.由此即便发生无限计数的问题,也能够从时间上进行控制
"距离为16"这个信息只会被保留120秒,一旦超过这个时间,信息将会被删除,没法发送,这个时间由一个叫垃圾收集计时器的工具进行管理。
2).规定路由器再也不把所收到的路由器由消息原路返还给发送端,这也被称做水平分割(Split Horizon)

然而这咱方法对有些网络来讲是没法解决问题的,在网络自己就有环路的状况下。为了解决这个问题,人们提出了”毒性逆转“和”转发更新“
毒性逆转:指当网络中发生链路被断开的时候,不是再也不发送这个消息,而是将这个没法通讯的消息转播出去,即发一个距离为16的消息。
触发更新:指当路由信息发生变化时,不等待30S而是马上发送出去的一种方法。
有了这两种方法,在链路不通时,能够迅速传送消息以使路由信息尽快收敛。
在一个具备众多环路的复杂的网络环境中,路由信息想要达到一个稳定的状态是须要花一段时间,为了解决这个问题,必须明确地掌握网络结构,在了解究竟哪一个链路断开后再进行路由控制很是重要。为此,能够采用OSPF.

4.5.RIP2
新的特色:
1).做用多播
2).支持子网掩码
3).路由选择域
4).外部路由标志
5).身份验证密钥

5.OSPF
OSPF(Open Shortest Path First)是根据OSI的IS-IS协议而提出的一种链路状态型路由协议。因为采用链路状态类型,因此即便网络中有环路,也可以进行稳定的路由控制。
另外,OSPF支持子网掩码,曾经在RIP中没法实现的可变长度子网构造的网络路由控制成为现实。
为了减小网络流量,OSPF还引入了“区域”这一律念。区域是将一个自治网络划分为若干个更小的范围,由此,能够减小路由协议之间没必要要的交换。
OSPF能够针对IP首部中的区分服务(TOS)字段,生成多个路由控制表。不过也会出现已经实现了OSPF功能的路由器没法支持这个TOS的状况。

5.1.OSPF是链路状态型路由协议
OSPF为链路状态型路由协议。路由器之间交换链路状态生成网络拓扑信息,而后再根据这个拓扑信息生成路由控制表。

RIP的路由选择,要求途中所通过的路由器个数越少越好。与之相比,OSPF能够给每条链路赋予一个权重(也能够叫作代价, 这个代价只用于发送端,接收凋不须要考虑),并始终选择一个权重最小的路径做为最终路由。也就是说OSPF以每一个链路上的代价为度量标准,始终选择一个总的代价最小的一条路径。

5.2.OSPF基础知识
在OSPF中,把链接到同一个链路的路由器称相邻路由器(Neighboring Router)。在一个相对简单的网络结构中,例如每一个路由器仅跟一个路由器相互链接时(在专线网络中,路由器之间采用PPP相连),相邻路由器之间能够交换路由信息。可是在一个比较复杂的网络中,例如在同一个链路中加入以太网或FDDI等路由器时,就不须要在全部相邻的路由器之间都进行控制信息的交换,而是肯定一个指定路由器(Designated Router),并以它为中心交换路由信息便可。
RIP中包的类型只有一种,它利用路由控制信息,一边确认是否链接了网络,一边传送网络信息。可是这种方式,有一个严重的缺点,那就是,网络个数越多,每次所要交换的路由控制信息就越大,并且当网络已经处于比较稳定的、没有什么变化的状态时,仍是要按期交换相同的路由控制信息,这在必定程序浪费了网络带宽。
而在OSPF中,根据做用不一样能够分为5种类型的包:

经过发送问候(HELLO)包确认是否链接,每一个路由器为了同步路由控制信息,利用数据库描述包相互发送路由摘要信息和版本信息
若是版本较老,则首先发出一个链路状态请求包(Link State Request)请求路由控制信息,而后由链路状态更新包接收路由状态信息
而后由链路状态更新包(Link State Update)接收路由状态信息,
最后再经过链路状态确认包(Link State ACK Packet)通知你们本地已经接收到路由控制信息。
有了这样的机制后,OSPF不只能够大大减小网络流量,还能够达到迅速更新路由信息的目的。

5.3.OSPF工做原理
OSPF中进行链接确认的协议叫作HELLO协议

LAN中每10S发送一个HELLO包,没有HELLO包没有到达,则进行链接是否断开的判断,具体为:容许空等3次,直到第4次(40S后)仍无任何反馈就认为链接已经断开。以后在进行链接断开或恢复链接操做时,因为链路状态发生了变化,路由器会发送一个链路状态更新包(Link State Update)通知其余路由器网络状态的变化。
链路状态更新包所要传送的消息大体分为两类:一是网络LSA(Network Link State Advertisement), 另外一个是路由器LSA(Router Link State Advertisement).
网络LSA是以网络为中心生成的信息,表示这个网络都与哪些路由器相链接;而路由器LSA是以路由器为中心生成的信息,表示这个路由器与哪些网络相链接。
若是这两种信息(除这两种信息外还有网络汇总LSA和自治系统外部信息)主要采用OSPF发送,每一个路由器就均可以生成一个能够表示网络结构的链路状态数据库。能够根据这个数据库,采用Dijkstra算法(最短路径优先算法)生成相应的路由控制表。
相比距离向量,由上述过程生成的路由控制表更加清晰不容易混淆,还能够有效地下降无线循环问题的发生。不过,当网络规模逐渐变大时,最短路径优先算法的处理时间就会变得越长,对CPU和内存的消耗也就越大。

5.4.将区域分层化进行细分管理
链路状态型路由的问题在于:当网络规模愈来愈大时,表示链路状态的拓扑数据库就变得愈来愈大,路由控制信息的计算也就越困难。OSPF为减小计算负荷,引入了区域的概念。
区域:指将链接在一块儿的网络和主机划分红小组,使一个自治系统(AS)内能够拥有多个区域。不过具备多个区域的自治系统必需要有一个主干区域(Backbone Area),而且全部其余区域必须都与这个主干区域相链接。
区域边界路由器:链接区域与主干区域的路由器,
内部路由器:区域内部的路由器
主干路由器:只与主干区域内链接的路由器
AS边界路由器:与外部相链接的路由器。

每一个区域内的路由器都持有本区域网络拓扑的数据库,然而,关于区域以外的路径信息,只能从区域边界路由器那里获知它们的距离。区域边界路由器也不会将区域内的链路状态信息所有原样发送给其余区域,只会发送本身到达这些路由器的距离信息,内部路由器所持有的网络拓扑数据库就会明显变小。

换句话,就是指内部路由器只了解区域内部的链路状态信息,并在该信息的基础上计算出路由控制表。这种机制不只能够有效地减小路由控制信息,还能减轻处理的负担。

此外,做为区域出口的区域边界路由器若只有一个的话叫作末端区域,末端区域内不须要发送区域外的路由信息。它的区域边界路由器将成为默认路径传送路由信息便可。所以,因为不须要了解到达其余各个网络的距离,因此它能够减小必定地路由信息。
要想在OSPF中构造一个稳定的网络,物理设计和区域设计一样重要,若是区域设计不合理,就有可能没法充分发挥OSPF的优点。

六、BGP
BGP(Border Gateway Protocol),边界网关协议是链接不一样组织机构(或者说链接不一样自治系统)的一种协议。所以,它属于外部网关协议(EGP),具体划分,它主要用于ISP之间相链接的部分。只有BGP、RIP和OSPF共同进行路由控制,才可以进行整个互联网的路由控制。

6.1.BGP和AS号
在RIP和OSPF中利用IP的网络地址部分进行着路由控制,然而BGP则须要放眼整个互联网进行路由控制。BGP的最终路由控制表由网络地址和下一站的路由器组来表示,不过它会根据所要通过的AS个数进行路由控制。

ISP、区域网络等会将每一个网络域编配成一个个自治系统(AS: Autonomous System)进行管理。它们为每一个自治系统分配一个16比特的AS编号。BGP就是根据这个编号进行相应的路由控制。

AS之间是否要进行数据中转由它们本身决定。若是进行中转,就意味着网络负荷的加剧以及成本的提高,所以,这种中转合约一般都会涉及中转费用。
如下咱们将假定这二者都容许中转来介绍BGP

6.2.BGP是路径向量协议
BGP扬声器:根据BGP交换路由控制信息的路由器。BGP扬声器为了在AS之间交换BGP信息,必须与全部AS创建对等的BGP链接。而若是AS内部有多个BGP扬声器,为了使AS内部也能够交换BGP信息,就须要创建BGP链接。
AS路径信息访问列表(AS Path List):BGP中数据包送达目标网络时,会生成一个中途通过全部AS的编号列表。若是针对同一个目标地址出现多条路径时,BGP会从AS路径信息访问列表中选择一个较短的路由。
在作路由选择时使用的度量,RIP中表示为路由器个数,OSPF表示为每一个子网的成本,而BGP则用AS进行度量标准。RIP和OSPF本着提升转发效率为目的,考虑到了网络的跳数和网络的带宽。BGP则基于AS之间的合约进行数据包的转发。BGP通常选择AS数量少的路径,不过仍然要遵循各个AS之间签约的细节进行更细粒度的路由选择。
在AS路径信息访问列表中不只包含转发方向和距离,还涵盖了途径全部AS的编号,所以它不是一个距离向量型协议。此处对网络构造仅用一元化表示,所以也不属于链路状态型协议。像BGP这种根据所要通过的路径信息访问列表进行路由控制的协议属于路径向量型协议。做为距离向量型的RIP协议,由于没法检测出环路,因此可能发生无限计数的问题。而路径向量型因为可以检测出环路,避免了无线计数的问题,因此令网络更容易进入一个稳定的状态。同时,它还支持策略路由(指在发送数据包时,能够选择或指定所要经过的AS的意思)的优点。

7.MPLS
现现在,在转发IP数据包的过程当中除了使用路由技术时,还在使用标记交换技术。路由技术基于IP地址中最长匹配原则进行转发,而标记交换则对每一个IP包都设定一个叫作“标记”的值,而后根据这个“标记”再进行转发。标记交换技术中最具表明性的当属多协议标记交换技术,即MPIS(Multi Protocol Label Switching)。

MPLS的标记不像MAC地址直接对应到硬件设备,所以,MPLS不须要具有以太网或ATM等数据链路层协议的做用,而只须要关注它与下面一层IP层之间的功能和协议便可。
因为基于标记的转发一般没法在路由器上进行,因此MPLS也就没法被整个互联网采用。它的转发处理方式甚至与IP网也有所不一样。

7.1.MPLS的网络基本动做
标记交换路由器(LSR: Label Switching Router):MPLS网络中实现MPLS功能的路由器。特别是与外部网络链接的那部分LSR叫作标记边缘路由器(LER: Label Edge Router)。MPLS正是在LER上对数据包进行追加标记和删除标记的操做。

在一个数据包上附加标记是一个及其简单的动做。若是数据链路原本就有一个至关于标记的信息,那么能够直接进行映射。若是数据链路中没有携带任何至关于标记的信息(最典型的就是以太网),那么就须要追加一个全新的垫片头(Shim Header)。这个垫片头中就包含标记信息(介于IP首部与数据链路首部之间)。
如图展现了数据从以太网的Ip网开始通过MPLS网再发给其余Ip网的整个转发过程。数据包在进入MPLS时,在其IP首部的前面被追加了32比特的垫片头(其中包含20比特的标记值)。MPLS网络内,根据垫片头中的标记进一步进行转发。当数据离开MPLS时,垫片头就被去除。在此咱们称附加标记转发的动做为Push,替换标记转发的动做为Swap,去掉标记转发的动做为Pop

MPLS中目标地址和数据包都要经过由标记决定的同一个路径,这个路径叫标记交换路径(LSP, Label Switch Path)。LSP又能够划分为:
1)一对一链接的点对点LSP,
2)一对多绑定的合并LSP两类。
扩展LSP有两种方式。能够经过各个LSP向本身邻接的LSR分配MPLS标记,也能够由路由协议载着标记信息进行交互。LSP属于单方向的通路,若是须要双向的通讯则须要两个LSP。

7.2.MPLS的优势MPLS的优点可概括为两点:1).转发速度快。路由器转发IP数据包时,先对目标地址和路由控制表中可变长的网络地址进行比较,而后从中选出最长匹配的路径才能进行转发。MPLS则否则,它使用固定长度的标记信息,使得处理更加简单,能够经过高速的硬件实现转发。此外,相比互联网中的主干路由器须要保存大量路由表才能进行处理的现状,MPLS只须要设置必要的几处信息便可,所要处理的数据量也大幅度减小。并且,除了IPv4, IPv6以外,针对其余协议,MPLS仍然能够实现高速转发。2).利用标记生成虚拟的路径,并在它的上面实现IP等数据包的通讯。基于这些特色,“尽力而为”的IP网也能够提供基于MPLS的通讯质量控制、带宽保证和×××等功能。

相关文章
相关标签/搜索