第七章 路由器技术和路由选择协议 于银辉 教授 吉林大学 通信工程学院
本章介绍路由器技术及路由选择协议的相关内容,主要包括: ●路由器技术 ●IP网的路由选择协议
7.1 路由器技术 7.2 IP网的路由选择协议
7.1 路由器技术 路由器(Router)是在网络层实现网络互连,可实现网络层、链路层和物理层协议转换(以OSI参考模型为例)。 7.1.1 路由器的层次结构及用途 1.路由器的层次结构 路由器(Router)是在网络层实现网络互连,可实现网络层、链路层和物理层协议转换(以OSI参考模型为例)。
2.路由器的用途 (1)局域网之间的互连。 (2)局域网与广域网(WAN)之间的互连 (3)WAN与WAN的互连。利用路由器互连WAN,要求两个WAN只是低三层协议不同。
7.1.2 路由器的基本构成 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是对传输的分组进行路由选择并转发分组(网络层的数据传送单位是X.25分组或IP数据报,以后统称为分组)。 图7-3给出了一种典型的路由器的基本构成框图。
图7-3 典型的路由器的结构
1、路由选择部分 路由选择部分主要由路由选择处理机构成,其功能是根据所采取的路由选择协议建立路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
2、分组转发部分 输入端口——功能逻辑上均包括三层:物理层、数据链路层和 网络层 输出端口——功能逻辑上均包括三层:物理层、数据链路层和网 交换结构——交换方式: 通过总线进行交换 通过存储器进行交换 通过纵横交换结构进行交换
7.1.3 路由器的接口 路由器接口将路由器连接到网络,可分为两类。 1、局域网接口 主要包括以太网、令牌环、令牌总线、FDDI等网络接口。
2、广域网接口 主要包括El/T1、E3/T3、通用串行口(可转换成X.21DTE/DCE、V.35DTE/DCE、RS-232DTE/DCE、RS-449DTE/DCE等)、ATM接口、POS接口等网络接口。
7.1.4 路由器的基本功能 选择最佳传输路由 实现IP、ICMP、TCP、UDP等互联网协议 流量控制和差错指示 分段和重新组装功能 提供网络管理和系统支持机制
●按能力划分 中高端路由器 中低端路由器 ●按结构划分 模块化结构路由器 非模块化结构路由器
●按位置划分 核心路由器 接入路由器 ●按功能划分 为通用路由器 专用路由器 ●按性能划分 线速路由器 非线速路由器
7.1.6 路由器与交换机的比较 ●工作层次不同 ●数据转发所依据的对象不同 ●广播控制功能不同 ●应用场合不一样 1、路由器与二层交换机的比较 ●工作层次不同 ●数据转发所依据的对象不同 ●广播控制功能不同 ●应用场合不一样
2、路由器与三层交换机的比较 ●主要功能不同 ●主要适用的环境不一样 ●性能体现不一样
7.2 IP网的路由选择协议 7.2.1 IP网的路由选择协议概述 1.路由选择算法分类 路由选择算法按照其能否随网络的拓扑结构或通信量自适应地进行调整变化进行分类,路由选择算法可分为静态路由选择算法和动态路由选择算法。
静态路由选择策略就是非自适应路由选择算法,这是一种不测量、不利用网络状态信息,仅按照某种固定规律进行决策的简单的路由选择算法。 (1)静态路由选择算法 静态路由选择策略就是非自适应路由选择算法,这是一种不测量、不利用网络状态信息,仅按照某种固定规律进行决策的简单的路由选择算法。 静态路由选择算法的特点是简单和开销较小,但不能适应网络状态的变化。
动态路由选择算法即自适应式路由选择算法,是依靠当前网络的状态信息进行决策,从而使路由选择结果在一定程度上适应网络拓朴与网络通信量的变化。 (2)动态路由选择算法 动态路由选择算法即自适应式路由选择算法,是依靠当前网络的状态信息进行决策,从而使路由选择结果在一定程度上适应网络拓朴与网络通信量的变化。
动态路由选择算法的特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。 动态路由选择算法主要包括分布式路由选择算法和集中式路由选择算法。
分布式路由选择算法是每一节点通过定期地与相邻节点交换路由选择的状态信息来修改各自的路由表,这样使整个网络的路由选择经常处于一种动态变化的状况。
集中式路由选择算法是网络中设置一个节点,专门收集各节点定期发送的状态信息,然后由该节点根据网络状态信息,动态地计算出每个节点的路由表,再将新的路由表发送给各个节点。
由于IP网规模庞大,为了路由选择的方便和简化,一般将整个IP网划分为许多较小的区域,称为自治系统AS。
③IP网采用分层次的路由选择协议,即分自治系统内部和自治系统外部路由选择协议。 ①属于自适应的(即动态的); ②是分布式路由选择协议; ③IP网采用分层次的路由选择协议,即分自治系统内部和自治系统外部路由选择协议。
内部网关协议IGP——在一个自治系统内部使用的路由选择协议。 具体的协议有RIP和OSPF等。
外部网关协议EGP——两个自治系统(使用不同的内部网关协议)之间使用的路由选择协议。 目前使用最多的是BGP(即BGP-4)。 注意此处的网关实际指的是路由器。
7.2.2 内部网关协议RIP (路由信息协议) 1、RIP协议的工作原理 (1)RIP协议的概念 RIP是一种分布式的基于距离向量的路由选择协议,它要求网络中的每一个路由器都要维护从自己到其他每一个目的网络的最短距离记录。
RIP协议中“距离”(也称为“跳数”)的定义为: ●从一路由器到直接连接的网络的距离定义为1。
●从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1。 (每经过一个路由器,跳数就加1) RIP所谓的“最短距离”指的是选择具有最少路由器的路由。 RIP允许一条路径最多只能包含15个路由器。 “距离”的最大值为16时即相当于不可达。
2、RIP2协议的报文格式 RIP2的报文由首部和路由部分组成。
图7-9 RIP2的报文格式
(1)RIP2报文的首部 RIP2报文的首部有4个字节:命令字段占1个字节,用于指出报文的意义;版本字段占1个字节,指出RIP协议的版本;填充字段的作用是填“0”使首部补齐4字节。
(2)RIP2报文的路由部分 RIP2报文中的路由部分由若干个路由信息组成,每个路由信息需要用20个字节,用于描述到某一目的网络的一些信息。 RIP协议规定路由信息最多可重复出现25个。
每个路由信息中各部分的作用如下: ①地址族标识符(AFI,2个字节)——用来标志所使用的地址协议,IP的AFI为2。 ②路由标记(2个字节)——路由标记填入自治系统的号码,这是考虑使RIP有可能收到本自治系统以外的路由选择信息。
③网络地址(4个字节)——表示目的网络的IP地址。 ④子网掩码(4个字节)——表示目的网络的子网掩码。
⑤下一跳路由器地址(4个字节)——表示要到达目的网络的下一跳路由器的IP地址。 ⑥距离(4个字节)——表示到目的网络的距离。
设某路由器收到相邻路由器(其地址为X)的一个RIP报文: 3、距离向量算法 设某路由器收到相邻路由器(其地址为X)的一个RIP报文:
(1)先修改此RIP报文中的所有项目:将“下一跳”字段中的地址都改为X,并将所有的“距离”字段的值加1。(这样做是为了便于进行路由表的更新)
①若项目中的目的网络不在路由表中,则将该项目加到路由表中。(表明这是新的目的网络) (2)对修改后的RIP报文中的每一个项目,重复以下步骤: ①若项目中的目的网络不在路由表中,则将该项目加到路由表中。(表明这是新的目的网络)
②若项目中的目的网络在路由表中: 若下一跳字段给出的路由器地址是同样的,则将收到的项目替换原路由表中的项目。(因为要以最新的消息为准)
否则 若收到项目中的距离小于路由表 中的距离,则进行更新。 否则,什么也不做。
(3)若3分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16(距离为16表示不可达)。 (4)返回。
利用上述距离向量算法,互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,这样,每一个路由器都知道到各个目的网络的最短路由。
下面举例说明因特网内部网关协议采用RIP时,各路由器路由表的建立、交换和更新情况。 例:几个用路由器互连的网络结构图如下,分别标出各路由器的初始路由表和最终路由表。
一开始,各路由表只有到相邻网络的路由信息:
收到了相邻路由器的路由表,进行路由表的更新。
4、RIP协议的优缺点 ①实现简单; ②开销较小。 (1)优点
①当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器,即坏消息传播得慢。 (2)主要缺点 ①当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器,即坏消息传播得慢。 ②因为RIP“距离”的最大值限制为15,所以也影响了网络的规模。
③由于路由器之间交换的路由信息是路由器中的完整路由表,随着网络规模的扩大,开销必然会增加。 RIP协议适合规模较小的网络。 为了克服RIP协议的缺点,1989年开发了另一种内部网关协议——OSPF协议。
7.2.3 内部网关协议OSPF (开放最短路径优先) “链路状态”是说明本路由器都和哪些路由器相邻,以及该链路的“度量”。 7.2.3 内部网关协议OSPF (开放最短路径优先)
“度量”的含义是广泛的,它可表示距离、时延、费用、带宽等。 归纳起来,OSPF协议有以下几个要点:
(1)OSPF使用洪泛法向本自治系统中的所有路由器发送信息,即每个路由器向所有其它相邻路由器发送信息(但不再发送给刚刚发来信息的那个路由器)。所发送的信息就是与本路由器相邻的所有路由器的链路状态。
(2)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
(3)各路由器之间频繁地交换链路状态信息,所有的路由器最终都能建立一个链路状态数据库,它与全网的拓扑结构图相对应。每一个路由器使用链路状态数据库中的数据可构造出自己的路由表。
(4)OSPF还规定每隔一段时间,如30分钟,要刷新一次数据库中的链路状态。以确保链路状态数据库的同步(即每个路由器所具有的全网拓扑结构图都是一样的)。
2、OSPF分组(OSPF数据报) (1)OSPF分组格式
图7-19 OSPF分组格式
①类型1,问候分组,用来发现和维持邻站的可达性。 ②类型2,数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。 (2)OSPF的五种分组类型 ①类型1,问候分组,用来发现和维持邻站的可达性。 ②类型2,数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
③类型3,链路状态请求分组,向对方请求发送某些链路状态项目的详细信息。 ④类型4,链路状态更新分组,用洪泛法对全网更新链路状态。
⑤类型5,链路状态确认分组,对链路状态更新分组的确认。 类型3、4、5三种分组是当链路状态发生变化时,各路由器之间交换的分组,以达到链路状态数据库的同步。
3、OSPF的特点 (1)由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系,因此OSPF适合规模较大的网络。
(2)OSPF是动态算法,能自动和快速地适应网络环境的变化。 (3)OSPF没有“坏消息传播得慢”的问题,其响应网络变化的时间小于100ms。
(4)OSPF支持基于服务类型的路由选择。
(6)OSPF有分级支持能力。 (7)有良好的安全性。 (8)支持可变长度的子网划分和无分类编址CIDR。
7.2.4 外部网关协议BGP (边界网关协议) BGP是不同自治系统的路由器之间交换路由信息的协议,它是一种路径向量路由选择协议。
BGP协议的路由度量方法——链路是否稳定、速度是否快和可靠性是否高等。 因为Internet的规模庞大,自治系统之间的路由选择非常复杂,要寻找最佳路由很不容易实现。
而且,自治系统之间的路由选择还要考虑一些与政治、经济和安全有关的策略。 而且,自治系统之间的路由选择还要考虑一些与政治、经济和安全有关的策略。 所以BGP与内部网关协议RIP和OSPF不同,它只能是力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。
②建立AS路径列表,从而构建出一幅AS和AS间的网络连接图。 2、BGP协议基本原理 (1)BGP协议的基本功能 ①交换网络的可达性信息; ②建立AS路径列表,从而构建出一幅AS和AS间的网络连接图。
BGP路由器——BGP协议是通过BGP路由器来交换自治系统之间网络的可达性信息的。 BGP路由器和自治系统AS的关系如图7-20所示。
图7-20 BGP路由器和自治系统AS的关系
一个BGP路由器与其他自治系统中的BGP路由器要交换路由信息,步骤为:
首先建立TCP连接。 在此连接上交换BGP报文以建立BGP会话。 利用BGP会话交换路由信息,如增加了新的路由、撤消了过时的路由及报告出差错情况等。
使用TCP连接交换路由信息的两个BGP路由器,彼此成为对方的邻站或对等站。
每个BGP路由器不是定期地向它的邻站提供到每个可能目的地的开销,而是向邻站说明它正在使用的确切路由。
BGP路由器互相交换网络可达性的信息(就是要到达某个网络所要经过的一系列自治系统)后,各BGP路由器根据所采用的策略就可从收到的路由信息中找出到达各自治系统的比较好的路由,即构造出对应上图自治系统的连通图,如图7-22所示。
图7-22 自治系统的连通图
3、BGP协议的特点 (1)BGP协议是在自治系统中BGP路由器之间交换路由信息,而BGP路由器的数目是很少的,这就使得自治系统之间的路由选择不致过分复杂。
(2)BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
(3)在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。以后只需要在发生变化时更新有变化的部分,即BGP协议不要求对整个路由表进行周期性刷新。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。
(4)BGP协议寻找的只是一条能够到达目的网络且比较好的路由(不能兜圈子),而并非是最佳路由。
谢谢各位! 2012年4月