TCP-IP基本原理与UNIX网络服务第4章
发布时间:2021-06-06
发布时间:2021-06-06
第4章 路由原理与协议4.1路由原理 4.2内部网关路由协议 4.3外部网关路由协议 4.4组播路由 4.5小结 习题
Internet的根本目的就是将IP数据报从源站点正确地 传递到目的站点,为此,Internet中需要有大量的 路由器来进行IP数据报的转发,每个路由器都维护 着一张路由表,根据该路由表为要转发的IP数据报 选择一条合适的路径。由于Internet中网络的连接 情况和网络负载随时都可能发生变化,路由表也必 须及时进行调整,以适应网络情况的变化。因此, 路由器之间需要有合适的路由协议来交换信息以更 新和维护各自的路由表。在本章中,先对路由协议 的一般问题和互联网结构作些讨论,然后重点研究 当今流行的一些具体的路由协议。
4.1 路由原理4.1.1 路由表的建立 Internet中的每个路由器都与两个或两个以上的实际 网络相连,负责在这些网络之间转发数据报,它从 一个网络接口中接收数据报,选路之后通过另一个 网络接口转发出去。除了那些目的站就在本机所在 网络上的数据报之外,主机把所有IP报文传递给路 由器,由它按照报文最终目的站的位置将其转发。 数据报传输过程中经过若干个路由器,最后到达与 目的站处于同一网络上的路由器。
在第2章“网际协议IP”已介绍了用于主机和路由器 转发数据报所用的IP路由算法,其算法的核心包括 一个路由表,路由表中的每个表项都指出了一个目 的地址的网络部分,并给出了沿到达该目的网络的 路径上所经过的下一台机器的IP地址。这一章介绍 了数据报转发的基本原理,但没有介绍主机和路由 器如何获得路由表中的信息。这个问题包括两方面 的内容: 表中该有什么样的数据和路由器如何获 得这些数据。问题的答案依赖于互联网结构的复杂 性、规模和管理策略。
建立路由涉及初始化和更新两个方面。每个路由器 在启动时都必须建立初始的一系列路由,还要在路 由改变时更新路由表。初始化的情况与操作系统有 关: 在某些系统中,路由器启动时从辅存储器中 读取初始路由表并将其驻留在主存中;在另一些系 统中,操作系统把路由表初始化为空表,然后使用 显式命令来赋初值;还有的系统在启动时根据本机 直接相连的网络的地址推导出初始的一系列路由, 并和相邻主机联络请求得到其他路由。 路由器还要适应路由的变化情况来更改路由表。在 小型的、变化缓慢的互联网中,管理员可以用手工 方式来建立和更改路由。但在大型的、迅速变化的 环境下,就需要自动更新路由的协议和方法。
4.1.2 Internet的结构 1. 最初的Internet结构与核心路由器 Internet是由早期的ARPANET演变而来的。
其路由 器可以大致分为两类: 有一小类是核心路由器, 由BBN公司控制;另一大类是非核心路由器,由各 个独立的群组控制。核心系统将整个Internet中的 所有网点连接在一起,并提供到所有可能的目的站 的可靠的、一致的、权威的路由。 非核心路由器中只包含本网络的部分路由信息,与 本网络以外的通信都采用默认路由的方式交由核心 路由器去处理,典型结构如图4-1所示。
图4-1 Internet核心路由器结构图
2. 从核心结构到对等结构 随着美国国家科学基金网NSFNET引入Internet并成 为Internet的主要组成部分,原有的核心路由结构 就无法满足要求了,这时,ARPANET与NSFNET 之间建有多个连接,如图4-2示。称这两网络为对 等主干网络或简称为对等网络(peers)。 把Internet的核心结构扩展成对等的拓扑结构后,两 个主干网的管理员必须对各自的核心路由器进行精 心配置和相互协调。随着骨干网的进一步增多和 Internet规模的扩展,核心路由器越来越难以保证 路由信息的一致。为了解决这些问题,Internet引 入了自治系统的概念。
图4-2 对等主干网通过多个路由器互连
3. 自治系统AS 从路由的目的来看,将处于同一个管理机构控制之 下的网络和路由器群组称为一个自治系统,简称为 AS。在一个AS内的路由器可以自由选择一种协议 来发现路由、传播路由以及检测路由的一致性。 在Internet的最上层保留核心路由的结构,各AS通过 核心路由器接入Internet。核心路由器群组本身也 构成一个AS,由专门的机构INOC(Internet Network Operation Center)统一管理,可以保证 极高的可靠性,并且互相交换信息,以保证 Internet路由的一致性。其拓扑结构如图4-3所示。
图4-3 采用自治系统的拓扑结构
为了能通过Internet到达隐藏在各个AS中的网络,每 个AS在内部通过RIP、OSPF等内部网关协议来控 制路由表的变化,并收集路由数据,同时用BGP、 EGP等外部网关协议将收集的网络可达信息传播给 其他AS。为了能区分各个AS,每一个AS都被赋予 一个AS编号。当两个AS中的路由器交换路由信息 时,报文中都携带有该路由器所代表的AS的系统 编号。AS号分为私有AS号和公有AS号。 为了减少对核心系统的依赖关系,使Internet的管理 和控制尽可能分散化进而提高可靠性,在各自治系 统之间可以建立信任关系,信任度高的自治系统之 间可以通过EGP协议直接交换路由信息,而不需要 通过核心系统。
4.2 内部网关路由协议4.2.1 路由信息协议(RIP) 路由信息协议(RIP,Routing Information Protocol) 是内部网关协议IGP中使用得最广泛的一个。RIP 是一个基于距离向量的分布式路由选择协议,它的 最大优点就是
简单。最初实现RIP协议的是加利福 尼亚大学伯克利分校设计的routed软件。直到1988 年6月才形成RIP的一个RFC标准[RFC 1058],从 而解决了各种不同版本软件的互操作性问题。 1. RIP报文格式 RIP报文包含在UDP数据报中,如图4-4所示。 RIP报文格式见图4-5。
图4-4 封装在UDP数据报中的RIP报文
图4-5 RIP报文格式
图4-5中,命令字段的含义如表4-1所示。 表4-1 RIP报文中命令字段的含义命令 1 2 3 4 含义 请求部分或全部路由信息 响应,包含发送方路由表内的网络距离序偶 启动跟踪模式(已过时) 关闭跟踪模式(已过时)
5
保留由Sun Microsystem公司内部使用
版本字段通常为1,RIPv2将此字段设置为2。 紧跟在后面的20字节指定网络中使用的协议族(若 使用IP协议,其值为2)、网络的IP地址以及到该 网络的距离。在RIP中,该距离的度量是以跳 (hop)计数的,每经过一个路由器跳数加1。 采用这种20字节格式的RIP报文,一次可以通告多达 25条路由。上限25是用来保证RIP报文的总长度为 20×25+4=504,小于512字节。由于每个报文最多 携带25个路由,因此为了发送整个路由表,通常需 要多个报文。
2. RIP操作 采用RIP协议的routed程序正常运行时的工作状况。 (1) 初始化 在启动一个路由守护程序时,它先判 断启动了哪些接口,并将这些接口所在的网络信息 填入路由表,然后在每个接口上发送一个请求报文, 要求其他路由器发送完整路由表。在点对点链路中, 该请求是发送给其他终点的。如果网络支持广播的 话,这种请求是以广播形式发送的。目的UDP端口 号是520。 这种请求报文的命令字段设为1,但网络协议族字段 设置为0,而到网络的距离字段设置为16。这是一 种要求另一端发送完整路由表的请求报文。
(2) 接收到请求报文 如果报文是请求完整路由表, 那么路由器就将内部的完整的路由表发送给请求者。 如果该报文是请求部分路由,就处理请求报文中的 每一个表项。如果路由表中有连接到该指明网络地 址的路由,则将到该网络的距离设置成相应的值, 否则将其置为16(在RIP中,距离为16是一种称为 “无穷大”的特殊值,它意味着没有到达目的的路 由),然后给请求方发回响应。 (3) 接收到响应报文收到响应报文以后,可能会更 新路由表。当路由器K收到相邻路由器X的“我到 目的网络Y的距离为N”的信息,那么按如下规则进 行更新:
若K的路由表中没有到网络Y的表项,则增加到网络 Y的表项,并将距离值设为N+1,下一站设为X; 若K的路由表中已有到网络Y的表项: “到目的网络 Y经过路由器Z距离为M”,则当M≤N+1时,不进行 更新,当M>N+1,将该表项更新
为“到目的网络Y 经过路由器X距离为N+1”; 若K的路由表中已有到网络Y的表项: “到目的网络 Y经过路由器X距离为M”,则当M≠N+1时,将其 距离值更新为N+1。 (4) 定期进行路由更新 每过30秒,所有或部分路 由器会将其完整路由表发送给相邻路由器。收到报 文的路由器按前面的规则进行更新。经过一段时间 后,使所有的路由器都建立起自己的路由表。
每条路由都有与之相关的定时器。如果运行RIP的系 统发现一条路由在3分钟内未更新,就将该路由的 度量设置成无穷大(16),并标注为删除。这意味 着已经在6个30秒更新时间里没收到通告该路由的 路由器的更新了。再过60秒,将从本地路由表中删 除该路由,以保证该路由的失效信息被传播开。 (5) 触发更新每当一条路由的距离值发生变化时, 就对它进行更新。不需要发送完整路由表,而只需 要发送那些发生变化的表项。 考察图4-6所示的网络拓扑图,各路由器从初始化直 到路由信息收敛,其路由表的变化情况如图4-7。
图4-6 网络拓扑图
上一篇:武汉市电动自行车登记上牌合格目录
下一篇:高一经济生活选择题精练(人教版)