因此节点5到节点1的距离要更新,从∞减小到2。 对于节点6,不与节点4直接相连,现在到节点1的距离仍为∞ 步骤2:在节点1和4以外的节点中,找出一个距节点1最近的节点。现有两个节 点(节点2和5)到节点1的距离一样,都是2。选择节点5(当然也可以选择节点2 最后得出的结果是一样的),后面的详细算法执行过程,与步骤1一样,现省略 用 Dijkstra算法求出最短路径树的各个步骤如下 初始化 步骤1 选择节点1为源节点 步骤2: 步骤3: 步骤4 步骤5: 1 最后就得出以节点1为根的最短路径树。从最短路径树可清楚地找出从源节点(节 点1)到网内任何一节点的最短路径。用 Dijkstra算法求出的最短路径树如图49所示。 图49用 Dijkstra算法求出的最短路径树 把图49的最短路径树转换成节点1的路由表,如表42所示。此路由表指出对于
因此节点 5 到节点 1 的距离要更新,从∞减小到 2。 对于节点 6,不与节点 4 直接相连,现在到节点 1 的距离仍为∞。 步骤 2:在节点 1 和 4 以外的节点中,找出一个距节点 1 最近的节点。现有两个节 点(节点 2 和 5)到节点 1 的距离—样,都是 2。选择节点 5(当然也可以选择节点 2, 最后得出的结果是一样的),后面的详细算法执行过程,与步骤 1 一样,现省略。 用 Dijkstra 算法求出最短路径树的各个步骤如下: 初始化: 步骤 1: 步骤 2: 步骤 3: 步骤 4: 步骤 5: 最后就得出以节点 1 为根的最短路径树。从最短路径树可清楚地找出从源节点(节 点 1)到网内任何一节点的最短路径。用 Dijkstra 算法求出的最短路径树如图 4.9 所示。 图 4.9 用 Dijkstra 算法求出的最短路径树 把图 4.9 的最短路径树转换成节点 1 的路由表,如表 4.2 所示。此路由表指出对于
发往某个目的节点的分组,从节点1发出后的下一跳节点(在算法中常称为“后继节点”) 和距离。当然,像这样的路由表,在所有其它各节点中都有一个。但这就需要分别以这 些节点为源节点,重新执行算法,然后才能找出以这个节点为根的最短路径树和相应的 路由表。 表42节点1的路由表 目的节点下一跳节点 距高 23456 24444 231 L-S算法的主要优点在于: ①LS信息向全网广播,各路由器都便用相同的原始数据进行路径计算,保证了 各路由器LS图的一致性; ②各路由器在本地进行路由计算,路由信息不会反过来对原路由器发生作用,使 路由的收敛性得到了保证; ③广播的路由信息只与该路由器相连的链路数目和状态有关,比VD算法要少。 距高向量算法和链路状态算法各有特点。距离向量算法原理清楚,实现简单,并且 对路由器的处理能力要求不高,在规模较小和拓扑结构变化不快的网络中获得了广泛的 应用,而且由于成形较早,比较成熟。链路状态算法性能优越,适应于规模较大及拓扑 变化比较快的网络,但每一网络节点(包括主机和路由器)均要实时形成全网的拓扑 图及以自己为根节点的树,因此对CPU的处理能力提出较高的要求,同时由于路由信 息是以广播的方式传播的,比较占网络带宽。由于两种算法各有优点,为适应组网的需 要,路由器中一般同时配置两种类型的路由协议。 42互联网域内路由协议 互联网采用分层的路由结构将整个互联网划分为许多较小自治系统。自治系统最 重要的特点就是它有权决定在本系统内采用何种路由选择协议。在自治系统内部网络中, 自治系统内部路由器完成本区域主机之间的分组交换;作为一个自治系统,其核心是路 由寻址的“自治”。它包括两方面内容:自治系统内部路由器了解内部网络全部路由信 息,并能够通过一条路径将发送到其它自治系统的分组传送到连接本自治系统和其它自
发往某个目的节点的分组,从节点1发出后的下一跳节点(在算法中常称为“后继节点”) 和距离。当然,像这样的路由表,在所有其它各节点中都有一个。但这就需要分别以这 些节点为源节点,重新执行算法,然后才能找出以这个节点为根的最短路径树和相应的 路由表。 表 4.2 节点 1 的路由表 目的节点 下一跳节点 距离 2 2 2 3 4 3 4 4 1 5 4 2 6 4 4 L-S 算法的主要优点在于: ① L-S 信息向全网广播,各路由器都使用相同的原始数据进行路径计算,保证了 各路由器 L-S 图的一致性; ② 各路由器在本地进行路由计算,路由信息不会反过来对原路由器发生作用,使 路由的收敛性得到了保证; ③ 广播的路由信息只与该路由器相连的链路数目和状态有关,比 V-D 算法要少。 距离向量算法和链路状态算法各有特点。距离向量算法原理清楚,实现简单,并且 对路由器的处理能力要求不高,在规模较小和拓扑结构变化不快的网络中获得了广泛的 应用,而且由于成形较早,比较成熟。链路状态算法性能优越,适应于规模较大及拓扑 变化比较快的网络,但每一网络节点(包括主机和路由器)均需要实时形成全网的拓扑 图及以自己为根节点的树,因此对 CPU 的处理能力提出较高的要求,同时由于路由信 息是以广播的方式传播的,比较占网络带宽。由于两种算法各有优点,为适应组网的需 要,路由器中一般同时配置两种类型的路由协议。 4.2 互联网域内路由协议 互联网采用分层的路由结构将整个互联网划分为许多较小自治系统。自治系统最 重要的特点就是它有权决定在本系统内采用何种路由选择协议。在自治系统内部网络中, 自治系统内部路由器完成本区域主机之间的分组交换;作为一个自治系统,其核心是路 由寻址的“自治”。它包括两方面内容:自治系统内部路由器了解内部网络全部路由信 息,并能够通过一条路径将发送到其它自治系统的分组传送到连接本自治系统和其它自
治系统的边界路由器;自治系统内部路由器要向边界路由器报告内部路由信息。 互联网将自治系统内部使用的路由选择协议称为内部网关协议( Interior Gateway Protocol,IGP)。常用的内部网关协议为路由信息协议( Routing information protocol, RP)和开放最短路径优先协议( Open Shortest Path First,OSPF)。 42.1路由信息协议 1、RIP协议的特点 RIP协议采用的是距离向量路由算法,该算法早在互联网的前身 ARPANET网络中 就已经被广泛采用。随着OSPF和IS-IS等域内路由协议的出现,许多人认为RIP协议 软件已经过时。尽管RIP在协议性能和网络适应能力上远远落后于后来提出的路由协议, 但是RIP仍然具有自身的特点。首先,在小型的网络环境中,从使用的网络带宽以及协 议配置和管理复杂程度上看,RIP的运行开销很小;其次,与其它路由协议相比,RIP 使用简单的距离向量算法,实现更容易;最后,由于历史的原因,RIP的应用范围非常 广,在未来的一段时间内仍然会使用在各种网络环境中。因此,在目前的商用路由器产 品中,RIP协议仍然是不可缺少的路由协议之一。 2、RIPV2协议的报文结构 RIPV2充分利用了RIPV报文结构中未被使用的字段,对RIPⅥ进行了进一步的扩 展,包括:采用多播方式提高网络报文利用效率,为每个路由表项增加子网掩码信息, 对RP交互报文增加安全机制以及为不同路由协议的交互提供支持等 RIPV2仍由头部和路由信息两部分组成,图4.10是RIPV2所采用的报文结构
治系统的边界路由器;自治系统内部路由器要向边界路由器报告内部路由信息。 互联网将自治系统内部使用的路由选择协议称为内部网关协议(Interior Gateway Protocol,IGP)。常用的内部网关协议为路由信息协议(Routing Information Protocol, RIP)和开放最短路径优先协议(Open Shortest Path First,OSPF)。 4.2.1 路由信息协议 1、RIP 协议的特点 RIP 协议采用的是距离向量路由算法,该算法早在互联网的前身 ARPANET 网络中 就已经被广泛采用。随着 OSPF 和 IS-IS 等域内路由协议的出现,许多人认为 RIP 协议 软件已经过时。尽管 RIP 在协议性能和网络适应能力上远远落后于后来提出的路由协议, 但是 RIP 仍然具有自身的特点。首先,在小型的网络环境中,从使用的网络带宽以及协 议配置和管理复杂程度上看,RIP 的运行开销很小;其次,与其它路由协议相比,RIP 使用简单的距离向量算法,实现更容易;最后,由于历史的原因,RIP 的应用范围非常 广,在未来的一段时间内仍然会使用在各种网络环境中。因此,在目前的商用路由器产 品中,RIP 协议仍然是不可缺少的路由协议之一。 2、RIPv2 协议的报文结构 RIPv2 充分利用了 RIPvl 报文结构中未被使用的字段,对 RIPvl 进行了进一步的扩 展,包括:采用多播方式提高网络报文利用效率,为每个路由表项增加子网掩码信息, 对 RIP 交互报文增加安全机制以及为不同路由协议的交互提供支持等。 RIPv2 仍由头部和路由信息两部分组成,图 4.10 是 RIPv2 所采用的报文结构
命令 版本 地址簇标识符 路由标记 IPv4地址 子网掩码 下一跳路由器地址 距离 可重复出现,最多25个 地址簇标识符 路由标记 IPv4地址 子网掩码 下一跳路由器地址 图410RIPv2报文结构 下面对报文字段进行介绍: 命令( Command)字段:表示RIP报文的类型,目前RIP只支持两种报文类型,分 别是请求( request)报文和响应( response)报文。 版本( Version)字段:表示RIP报文的版本信息,RIPV2报文中此字段为2。 地址簇标识符( Address Family Identifier)字段:表示路由信息所属的地址族,目 前RP中规定此字段必须为2,表示使用IP地址族。 未使用( Unused)字段:RIPv2不对此字段做任何处理,不要求字段必须为0 IP4 Address字段:表示路由信息对应的目的IP地址,可以是网络地址、子网地址 以及主机地址。 路由标记( Route tag)字段:表示路由对应的自治系统号,从而用于协议的交互。 距离( Metric)字段:表示从本路由器到达目的地的距离,目前RIP协议将路由路 径上经过的路由器数作为距离度量值。 子网掩码( Subnet mask):表示路由信息对应的子网掩码,增加对CIDR路由的支
图 4.10 RIPv2 报文结构 下面对报文字段进行介绍: 命令(Command)字段:表示 RIP 报文的类型,目前 RIP 只支持两种报文类型,分 别是请求(request)报文和响应(response)报文。 版本(Version)字段:表示 RIP 报文的版本信息,RIPv2 报文中此字段为 2。 地址簇标识符(Address Family Identifier)字段:表示路由信息所属的地址族,目 前 RIP 中规定此字段必须为 2,表示使用 IP 地址族。 未使用(Unused)字段:RIPv2 不对此字段做任何处理,不要求字段必须为 0。 IPv4 Address 字段:表示路由信息对应的目的 IP 地址,可以是网络地址、子网地址 以及主机地址。 路由标记(Route Tag)字段:表示路由对应的自治系统号,从而用于协议的交互。 距离(Metric)字段:表示从本路由器到达目的地的距离,目前 RIP 协议将路由路 径上经过的路由器数作为距离度量值。 子网掩码(Subnet Mask):表示路由信息对应的子网掩码,增加对 CIDR 路由的支
持 下一跳( Next Hop)路由器地址:表示路由对应的下一跳路由器IP地址,如为000.0 则以此RIP报文的发送源地址作为下一跳路由器 为了给RP路由交互报文提供认证功能,RIPV2在每个路由交互报文中增加了认证 字段,报文结构如图411所示,可以看到,RIPV2利用了一个完整的路由信息项来实现 认证功能,这样整个报文最多只能包括24个路由信息项。 命令 版本 未使用 OxFFFF 认证类型 认证(03字节) 认证(4-7字节) 认证(8-11字节) 认证(12-15字节) 地址簇标识符 路由标记 IP4地址 子网掩码 下一跳路由器地址 距离 可重复出现,最多24个 图411RIPV2认证字段报文结构 认证类型( Authentication Type)字段:表示认证的类型,当前协议只规定为2,表 示明文密码认证。 认证( Authentication)字段:表示认证的数据,即认证密码值。该字段为16字节 未满16字节最后填0。 3、RIP协议要点 1)协议运行过程 RIP协议使用UDP的520端口进行路由信息的交互,交互的RIP信息报文主要是 两种类型:请求( request)报文和响应( response)报文。请求报文用来向相邻运行RP
持。 下一跳(Next Hop)路由器地址:表示路由对应的下一跳路由器 IP 地址,如为 0.0.0.0 则以此 RIP 报文的发送源地址作为下一跳路由器。 为了给 RIP 路由交互报文提供认证功能,RIPv2 在每个路由交互报文中增加了认证 字段,报文结构如图 4.11 所示,可以看到,RIPv2 利用了一个完整的路由信息项来实现 认证功能,这样整个报文最多只能包括 24 个路由信息项。 图 4.11 RIPv2 认证字段报文结构 认证类型(Authentication Type)字段:表示认证的类型,当前协议只规定为 2,表 示明文密码认证。 认证(Authentication)字段:表示认证的数据,即认证密码值。该字段为 16 字节, 未满 16 字节最后填 0。 3、RIP 协议要点 (1)协议运行过程 RIP 协议使用 UDP 的 520 端口进行路由信息的交互,交互的 RIP 信息报文主要是 两种类型:请求(request)报文和响应(response)报文。请求报文用来向相邻运行 RIP