《第5讲_路由选择协议及IP多播_网络层3》由会员分享,可在线阅读,更多相关《第5讲_路由选择协议及IP多播_网络层3(88页珍藏版)》请在金锄头文库上搜索。
1、网络层-34.5 因特网的路由选择协议因特网的路由选择协议4.6 IP多播多播9/6/20241计算机网络计算机网络_网络层网络层34.5 因特网的路由选择协议4.5.1 有关路由选择协议的基本概念有关路由选择协议的基本概念4.5.2 内部网关协议内部网关协议RIP4.5.3 内部网关协议内部网关协议OSPF协议协议4.5.4 外部网关协议外部网关协议BGP4.5.5 路由器的构成路由器的构成9/6/20242计算机网络计算机网络_网络层网络层3路由选择协议是什么n功能:建立路由表n解答:路由器中的路由表是如何得来的?n核心:路由算法n不同的路由算法可能建立不同的路由表n如何工作?n相邻路由器
2、之间直接交换信息n非相邻路由器直接或间接交换信息n更新和维护这些信息n依据选路原则建立路由表项9/6/20243计算机网络计算机网络_网络层网络层3H1A互联网BDECH5H6H4H2H3路由器主机C C要知道邻居要知道邻居E E的哪些信息的哪些信息? ?A A通过通过C C间接知道间接知道E E的信息的信息E E可到达哪些网络?直接可到达哪些网络?直接oror间接间接与与E E相连的各条链路的参数相连的各条链路的参数要建立路由表才能实现转发1. 1. 网络的连通性:网络的连通性:能不能不能到目的地。能到目的地。E E可到达哪些网络?直接可到达哪些网络?直接oror间接间接与与E E相连的各条
3、链路的参数相连的各条链路的参数2. 2. 链路及路径的性能参数:链路及路径的性能参数:选择最佳路径的依据选择最佳路径的依据3. 3. 选路原则:选路原则:考虑哪个或考虑哪个或哪几个性能参数?哪几个性能参数?建立路由表要了解:建立路由表要了解:9/6/20244计算机网络计算机网络_网络层网络层3路由算法的自适应性n静态路由选择策略n人工配置,很少更新:就像特定主机路由n非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。 n动态路由选择策略n路由器之间不断更新信息,根据网络状态的变化修改路由表n即自适应路由选择,能较好地适应网络状态的变化;但实现起来较为复杂,开销也比较大。
4、9/6/20245计算机网络计算机网络_网络层网络层3分层次的路由选择协议n因特网采用分层次的路由选择协议。n因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来很花时间,且路由器之间交换路由信息需要大量带宽。n许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。9/6/20246计算机网络计算机网络_网络层网络层3路由的层次结构 用内部网关协议(例如,RIP)自治系统 B自治系统 A用外部网关协议(例如,BGP-4)R1R2 用内部网关协议(例如,OSPF)R3路由表只涉及自
5、治路由表只涉及自治系统系统内部的路由器内部的路由器路由表只涉及自治路由表只涉及自治系统之间系统之间的路由器的路由器9/6/20247计算机网络计算机网络_网络层网络层3自治系统 AS(Autonomous System) 例如,中国网通的所有网络构成一个AS AS内部使用某种路由选择协议和度量 AS之间使用另一种路由选择协议9/6/20248计算机网络计算机网络_网络层网络层3因特网有两大类路由选择协议 n内部网关协议 IGP (Interior Gateway Protocol) n在一个自治系统内部使用的路由选择协议。n这类路由选择协议使用广泛,如 RIP 和 OSPF 协议。n外部网关协
6、议EGP (External Gateway Protocol) n不同自治系统之间使用的协议n在外部网关协议中目前使用最多的是 BGP-4。 9/6/20249计算机网络计算机网络_网络层网络层3自治系统和内部网关协议、外部网关协议 用内部网关协议(例如,RIP)自治系统 B自治系统 A用外部网关协议(例如,BGP-4)R1R2 用内部网关协议(例如,OSPF)自治系统之间的路由选择也叫做 域间路由选择(interdomain routing)在自治系统内部的路由选择叫做域内路由选择(intradomain routing) 9/6/202410计算机网络计算机网络_网络层网络层34.5 因
7、特网的路由选择协议4.5.1 有关路由选择协议的基本概念有关路由选择协议的基本概念4.5.2 内部网关协议内部网关协议RIP4.5.3 内部网关协议内部网关协议OSPF协议协议4.5.4 外部网关协议外部网关协议BGP4.5.5 路由器的构成路由器的构成9/6/202411计算机网络计算机网络_网络层网络层34.5.2 内部网关协议 RIP (Routing Information Protocol)1. 工作原理nRIP 是内部网关协议 IGP中最先得到广泛使用的协议。nRIP 是一种分布式的基于距离向量的路由选择协议。nRIP 协议要求网络中的每个路由器维护从它自己到其他每一个目的网络的距
8、离记录。 选路依据9/6/202412计算机网络计算机网络_网络层网络层3“距离”的定义 n从路由器到直接连接的网络的距离定义为 1。n从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。nRIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。9/6/202413计算机网络计算机网络_网络层网络层3“距离”的定义 nRIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短”。nRIP 允许一条路径最多只能包含 15 个路由器。n“距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网。9/6/202414计算机网
9、络计算机网络_网络层网络层3RIP 协议的三个要点 n仅和相邻路由器交换信息。 n交换的信息是当前本路由器所知道的全部信息,即自己的路由表。 n按固定的时间间隔交换路由信息,例如,每隔 30 秒。 9/6/202415计算机网络计算机网络_网络层网络层3路由表的建立 n路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。n以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。n经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。nRIP 协议的收敛(convergence)过程较快n所有路由器都能在较短时间内建
10、立正确的路由表 9/6/202416计算机网络计算机网络_网络层网络层3RIP的解决方案1. 网络的连通性:网络的连通性:能不能不能到目的地。能到目的地。2. 链路及路径的性能参数:链路及路径的性能参数:选择最佳路径的依据选择最佳路径的依据3. 选路原则:选路原则:考虑哪个或哪考虑哪个或哪几个性能参数?几个性能参数?建立路由表要了解:建立路由表要了解:仅仅与邻居交换与邻居交换信息,信息,间接了解远端路由器间接了解远端路由器带宽?时延?带宽?时延? 只需只需搜集距离信息搜集距离信息路径所经过路径所经过跳数最少跳数最少9/6/202417计算机网络计算机网络_网络层网络层32. 距离向量算法收到相
11、邻路由器(其地址为 X)的一个 RIP 报文:(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:若项目中的目的网络不在路由表中,则把该项目加到路由表中。 否则 若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。 否则 若收到项目中的距离小于路由表中的距离,则进行更新,否则,什么也不做。(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达,即将距离置为16(距离为16表示不可达)。(4) 返回。举例举例继续继续9/6/2
12、02418计算机网络计算机网络_网络层网络层3RIP的路由表更新1更新前目的网络距离下一跳Net2Net334R4R5表1:路由器R6的路由表路由器R6收到R4发来的更新路由表9/6/202419计算机网络计算机网络_网络层网络层3RIP的路由表更新2更新信息目的网络距离下一跳Net1Net2Net3452R4R4R4表表3:修改后的表:修改后的表2目的网络距离下一跳Net1Net2Net3341R1R2直接交付直接交付表表2:R4发来的路由更新信息发来的路由更新信息目的网络距离下一跳Net2Net334R4R5表表1:路由器:路由器R6的路由表的路由表返回返回原表没有原表没有下一跳相同下一跳
13、相同距离更小距离更小9/6/202420计算机网络计算机网络_网络层网络层3RIP的路由表更新3更新后目的网络距离下一跳Net1Net2Net3452R4R4R4表表4:R6更新后的路由表更新后的路由表9/6/202421计算机网络计算机网络_网络层网络层3路由器之间交换信息 n所有路由器都和自己的相邻路由器交换路由信息(即路由表项),并不断更新其路由表n一旦路由表发生变化,就向邻居发出更新n每隔30s无论是否变化,都执行一次更新n使得每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)n由于每一个路由器的位置不同,它们的路由表当然也是不同的9/6/202422计算机网络计算机网络_网络
14、层网络层3RIP 协议的优缺点 nRIP 协议最大的优点就是实现简单,开销小nRIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。n路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。nRIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。9/6/202423计算机网络计算机网络_网络层网络层3R2R1网 1网 3网 2正常情况1 1 1 2 R1R1 说:“我到网 1 的距离是 1,是直接交付。”“1”表示“从本路由器到网 1”“1”表示“距离是 1”“ ”表示“直接交付”9/6/202424计算机
15、网络计算机网络_网络层网络层3R2R1网 1网 3网 2正常情况1 1 1 2 R1R2 说:“我到网 1 的距离是 2,是经过 R1。”“1”表示“从本路由器到网 1”“2”表示“距离是 2”“R1”表示经过 R19/6/202425计算机网络计算机网络_网络层网络层3R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 2 R11 2 R1R1 说:“我到网 1 的距离是 16 (表示无法到达), 是直接交付。”但 R2 在收到 R1 的更新报文之前,还发送原来的报文,因为这时 R2 并不知道 R1 出了故障。9/6/202426计算机网络计算机网
16、络_网络层网络层3R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 2 R11 2 R1R1 收到 R2 的更新报文后,误认为可经过 R2 到达网1,于是更新自己的路由表,说:“我到网 1 的距离是 3,下一跳经过 R2”。然后将此更新信息发送给 R2。1 3 R29/6/202427计算机网络计算机网络_网络层网络层3R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 2 R11 2 R1R2 以后又更新自己的路由表为“1, 4, R1”,表明 “我到网 1 距离是 4,下一跳经过 R1”。 1 3 R
17、21 4 R19/6/202428计算机网络计算机网络_网络层网络层3R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 3 R21 5 R21 16 R21 2 R11 2 R11 4 R11 16 R1这样不断更新下去,直到 R1 和 R2 到网 1 的距离都增大到 16 时,R1 和 R2 才知道网 1 是不可达的。 这就是好消息传播得快,而坏消息传播得慢。网络出故障的传播时间往往需要较长的时间(例如数分钟)。这是 RIP 的一个主要缺点。 9/6/202429计算机网络计算机网络_网络层网络层34.5 因特网的路由选择协议4.5.1 有关路由
18、选择协议的基本概念有关路由选择协议的基本概念4.5.2 内部网关协议内部网关协议RIP4.5.3 内部网关协议内部网关协议OSPF协议协议4.5.4 外部网关协议外部网关协议BGP4.5.5 路由器的构成路由器的构成9/6/202430计算机网络计算机网络_网络层网络层34.5.3 开放最短路径优先OSPF三个要点 n向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。n发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。n“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。 nRIP的度量即跳数(距离)。nOSPF可采用多
19、种度量:带宽、延时、丢失率等n只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 RIP呢?RIP呢?9/6/202431计算机网络计算机网络_网络层网络层3链路状态数据库(link-state database) n由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。n这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。nOSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。nOSPF 的更新过程收敛得快是其重要优点。 为什么能得到:为什么能得到:向所有路由器发向所有路由器发!9
20、/6/202432计算机网络计算机网络_网络层网络层3洪泛:快速向全网传播更新报文tACK报文RRRRt1t2t3t49/6/202433计算机网络计算机网络_网络层网络层3层次化OSPF: 区域(area)的概念n为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。n每一个区域都有一个 32 位的区域标识符(用点分十进制表示)。n区域也不能太大,在一个区域内的路由器最好不超过 200 个。 9/6/202434计算机网络计算机网络_网络层网络层3自治系统 ASOSPF 划分为两种不同的区域 区域 0.0.0.1区域 0.0.0.3主干区域 0
21、.0.0.0至其他自治系统R9R7R6R5R4R3R2R1网 8网 6网 3网 2网 1网 7区域 0.0.0.2网 4网 5R89/6/202435计算机网络计算机网络_网络层网络层3划分区域 n划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。n在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑。nOSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。 9/6/202436计算机网
22、络计算机网络_网络层网络层3自治系统 AS主干路由器区域 0.0.0.1区域 0.0.0.3主干区域 0.0.0.0至其他自治系统R9R7R6R5R4R3R2R1网 8网 6网 3网 2网 1网 7区域 0.0.0.2网 4网 5R89/6/202437计算机网络计算机网络_网络层网络层3自治系统 AS区域边界路由器 区域 0.0.0.1区域 0.0.0.3主干区域 0.0.0.0R9R7R6R5R4R3R2R1网 8网 6网 3网 2网 1网 7区域 0.0.0.2网 4网 5R89/6/202438计算机网络计算机网络_网络层网络层3OSPF 的特点 n直接使用 IP 数据报传送路由消息n
23、RIP使用UDP封装路由消息n可根据业务类型计算链路代价,从而对不同业务使用不同的路由n支持负载平衡n如果到同一个目的网络有多条相同代价的路径,那么可以将通信量尽可能平均地分配给这几条路径n支持可变长度的子网划分和无分类编址 CIDR。n每一个链路状态都带上一个 32 位的序号,序号越大状态就越新。可有多种链路状态可有多种链路状态9/6/202439计算机网络计算机网络_网络层网络层3OSPF 的其他特点 n每隔一段时间(如 30 分钟),刷新一次数据库中的链路状态。 n路由更新时发送的链路状态只涉及与相邻路由器的连通状态,与全网规模并无直接关系n因此,OSPF 协议适合大规模网络使用nOSP
24、F 没有“坏消息传播得慢”的问题,据统计,其响应网络变化的时间小于 100 ms。 9/6/202440计算机网络计算机网络_网络层网络层3IP 数据报OSPF 分组 IP数据报首部OSPF 分组OSPF 分组首部类型 1 至类型 5 的 OSPF 分组24 字节081631版 本路 由 器 标 识 符类 型分 组 长 度检 验 和鉴 别位鉴 别区 域 标 识 符鉴 别 类 型9/6/202441计算机网络计算机网络_网络层网络层32. OSPF 的五种分组类型 n类型1,问候(Hello)分组。n类型2,数据库描述(Database Description)分组。n类型3,链路状态请求(Li
25、nk State Request)分组。n类型4,链路状态更新(Link State Update)分组, 用洪泛法对全网更新链路状态。n类型5,链路状态确认(Link State Acknowledgment) 分组。 9/6/202442计算机网络计算机网络_网络层网络层3路由器启动后五种分组的作用9/6/2024计算机网络_网络层3Hello分组n探查有哪些相邻的路由器及相应的链路度量n收到Hello分组的相邻路由器回复Hello9/6/202444计算机网络计算机网络_网络层网络层3数据库描述分组n告知邻居主机有哪些路由器的链路状态n不仅仅是邻居,包括所知的所有路由器 n(只是一个摘要
26、,并非完整的信息)n这样,每个路由器都能知道相邻的路由器有哪些链路的状态信息9/6/202445计算机网络计算机网络_网络层网络层3链路状态请求、更新与确认n收到链路状态的摘要信息后n发送“链路状态请求”,索取自己缺少的某些链路的状态信息n收到请求的路由器回复“链路状态更新”n请求者收到更新后,再回复“链路状态确认”9/6/202446计算机网络计算机网络_网络层网络层3OSPF的基本操作 问候问候数据库描述数据库描述数据库描述数据库描述链路状态请求链路状态更新链路状态确认确定可达性达到数据库的同步新情况下的同步9/6/202447计算机网络计算机网络_网络层网络层3何时触发更新n只要一个路由
27、器的链路状态发生变化,该路由器就要使用链路状态更新分组,用洪泛法向全网发出链路状态更新分组n仅包含与此路由器相邻的链路状态信息n洪泛法的工作方式以后介绍9/6/202448计算机网络计算机网络_网络层网络层3洪泛:快速向全网传播更新报文tACK报文RRRRt1t2t3t49/6/202449计算机网络计算机网络_网络层网络层34.5 因特网的路由选择协议4.5.1 有关路由选择协议的基本概念有关路由选择协议的基本概念4.5.2 内部网关协议内部网关协议RIP4.5.3 内部网关协议内部网关协议OSPF协议协议4.5.4 外部网关协议外部网关协议BGP4.5.5 路由器的构成路由器的构成9/6/
28、202450计算机网络计算机网络_网络层网络层34.5.4 外部网关协议 BGPn因特网的规模太大,在自治系统之间寻找最佳路由是很不现实的。n对于跨越AS的路径,无法计算有意义的代价n因此一般 AS 之间仅交换“可达性”信息nBGP 只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。 9/6/202451计算机网络计算机网络_网络层网络层3BGP 发言人(BGP speaker) n每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“ BGP 发言人” n该路由器运行BGP协议n参与自治系统之间的路由n一般说来,BGP 发言人往往就是 BGP 边界
29、路由器,但也可以不是 BGP 边界路由器 n两个 BGP 发言人首先建立 TCP 连接(可靠)n在此连接上交换 BGP 报文以建立 BGP 会话n利用 BGP 会话交换路由信息9/6/202452计算机网络计算机网络_网络层网络层3BGP 发言人和自治系统 AS 的关系 BGP 发言人BGP发言人BGP 发言人BGP 发言人BGP发言人AS1AS3AS2AS5AS49/6/202453计算机网络计算机网络_网络层网络层3AS 的连通图举例 nBGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS。n当 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用
30、的策略从收到的路由信息中找出到达各 AS 的较好路由。 AS1AS2AS3AS4AS59/6/202454计算机网络计算机网络_网络层网络层3BGP 发言人交换路径向量 主干网(AS1)地区 ISP(AS2)地区 ISP(AS3)本地 ISP(AS4)N1, N2本地 ISP(AS5)N3, N4本地 ISP(AS6)N5本地 ISP(AS7)N6, N7自治系统 AS2 的 BGP 发言人通知主干网的 BGP 发言人:“要到达网络 N1, N2, N3 和 N4 可经过 AS2。” 9/6/202455计算机网络计算机网络_网络层网络层3BGP 发言人交换路径向量 主干网(AS1)地区 IS
31、P(AS2)地区 ISP(AS3)本地 ISP(AS4)N1, N2本地 ISP(AS5)N3, N4本地 ISP(AS6)N5本地 ISP(AS7)N6, N7主干网还可发出通知:“要到达网络 N5, N6 和 N7 可沿路径(AS1, AS3)。” 9/6/202456计算机网络计算机网络_网络层网络层3BGP 协议的特点nBGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。n每一个自治系统中 BGP 发言人(或边界路由器)的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。 9/6/202457计算机网络计算机网络_网络层网络层3BGP
32、协议的特点nBGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。n在BGP 刚刚运行时,BGP 邻站之间交换整个P 路由表n之后只在发生变化时更新有变化的部分n节省网络带宽n减少路由器的处理开销9/6/202458计算机网络计算机网络_网络层网络层3BGP-4 共使用四种报文 (1) 打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系。(2) 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。(3) 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。(4)
33、通知(NOTIFICATION)报文,用来发送检测到的差错。n在 RFC 2918 中增加了 ROUTE-REFRESH 报文,用来请求对等端重新通告。 9/6/202459计算机网络计算机网络_网络层网络层3BGP 报文具有通用的首部BGP 报文通用首部字节 16 2 1BGP 报文主体部分类 型长 度标 记TCP首部IP 首部BGP 报文TCP 报文9/6/202460计算机网络计算机网络_网络层网络层3关于路由选择协议n最重要的:理解此类协议的作用和任务n掌握RIP的 “距离矢量算法”,会解题nOSPF协议n划分区域的思想n链路状态数据库包含全网拓扑n更新的是本地链路状态信息n五种分组的
34、作用nBGP的设计思想和特点9/6/202461计算机网络计算机网络_网络层网络层34.5 因特网的路由选择协议4.5.1 有关路由选择协议的基本概念有关路由选择协议的基本概念4.5.2 内部网关协议内部网关协议RIP4.5.3 内部网关协议内部网关协议OSPF协议协议4.5.4 外部网关协议外部网关协议BGP4.5.5 路由器的构成路由器的构成9/6/202462计算机网络计算机网络_网络层网络层34.5.5 路由器的构成n路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。n将某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个输出端口转
35、发给下一跳路由器。n下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。 9/6/202463计算机网络计算机网络_网络层网络层3课件制作人:谢希仁典型的路由器的结构 路由选择路由选择处理机路由选择协议路由表3输入端口3交换结构输入端口输出端口分组转发转发表分组处理输出端口11133122223网络层2数据链路层1物理层9/6/202464计算机网络计算机网络_网络层网络层3“转发”和“路由选择”的区别 n“转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。n“路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓
36、扑的变化 情况,动态地改变所选择的路由。n即:确定路由表n路由表是根据路由选择算法得出的。而转发表是从路由表得出的。n在讨论路由选择的原理时,往往不去区分转发表和路由表的区别, 9/6/202465计算机网络计算机网络_网络层网络层3输入端口对线路上收到的分组的处理 n数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延。 物理层处理数据链路层处理网络层处理 分组排队 交换结构 输入端口的处理从线路接收分组查表和转发9/6/202466计算机网络计算机网络_网络层网络层3输出端口将交换结构传送来的分组发送到线路 n从交换结构传送过来的分组先进行缓存。数据链路层
37、处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。 物理层处理数据链路层处理网络层处理 分组排队 输出端口的处理向线路发送分组缓存管理交换结构9/6/202467计算机网络计算机网络_网络层网络层3分组丢弃 n若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终会溢出,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。n路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。 n需要注意n每个输入和输出端口均有自己的缓冲队列9/6/202468计算机网络计算机网络_网络层网络层32 交换结构I1I3I2O1O2存储器I1I3I2O1O2I1I3I2O1O
38、2O3(a) 通过存储器(c) 通过互连网络(b) 通过总线总线互连网络O3O39/6/202469计算机网络计算机网络_网络层网络层3网络层-34.5 因特网的路由选择协议因特网的路由选择协议4.6 IP多播多播9/6/202470计算机网络计算机网络_网络层网络层3共有 90 个主机接收视频节目R1R3R4R2视频服务器 M30 个30 个30 个30 个30个30 个90 个不使用多播时需要发送 90 次单播:每条链路上都有大量相同的数据4.6 IP 多播4.6.1 IP 多播的基本概念9/6/202471计算机网络计算机网络_网络层网络层3多播1 个1 个多播多播多播可明显地减少网络中
39、资源的消耗多播组成员共有 90 个R1R3R4R2视频服务器 M1 个1 个1 个1 个1 个发送 1 次多播复制9/6/202472计算机网络计算机网络_网络层网络层3IP 多播的一些特点 (1)多播使用组地址 IP 协议使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。n所有成员都声明自己加入了由某个D类地址所标识的多播组,它们拥有共同的多播地址(2) 永久组地址由因特网号码指派管理局 IANA 负责指派。见课本 P165(3) 动态的组成员(4) 多播最后阶段局域网内部多播 使用硬件进行多播9/6/202473计算机网络计算机网络_网络层网络层3R1R3R4R2视频服
40、务器 M向224.1.1.1多播“哈利波特”我们都加入了224.1.1.1有主机需要通过“我”接收发往224.1.1.1的分组我也得加入我也得加入9/6/202474计算机网络计算机网络_网络层网络层34.6.2 在局域网上进行硬件多播 n因特网号码指派管理局 IANA 拥有的以太网多播地址范围n01-00-5E-00-00-00 01-00-5E-7F-FF-FFn只有23位是可变的nD 类 IP 地址可供分配的有 28 位,为使D类IP地址与硬件多播地址一一对应n 28 位中的前 5 位不能用来构成以太网硬件地址。 9/6/202475计算机网络计算机网络_网络层网络层3D 类 IP 地址
41、与以太网多播地址的映射关系 0000000000000001010111100111008162431D 类 IP 地址这 5 位不使用48 位以太网地址0 1 0 0 5 E表示多播最低 23 位来自 D 类 IP 地址即到局域网后,使用硬件地址表示多播即到局域网后,使用硬件地址表示多播9/6/202476计算机网络计算机网络_网络层网络层34.6.3 网际组管理协议 IGMP 和多播路由选择协议 1. IP多播需要两种协议n为了使路由器知道其下多播组成员的信息,需要利用网际组管理协议 IGMP (Internet Group Management Protocol)。n连接在局域网上的多播
42、路由器还必须和因特网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议。 9/6/202477计算机网络计算机网络_网络层网络层3IGMP 使多播路由器知道多播组成员信息 128.56.24.34135.27.74.52130.12.14.56130.12.14.43多播组226.15.37.123IGMPIGMPIGMPIGMPR1R4R3R29/6/202478计算机网络计算机网络_网络层网络层3IGMP 的本地使用范围 nIGMP 并非在因特网范围内对所有多播组成员进行管理的协议。nIGMP 不知道 IP 多播组包含的成员数,也不知道这
43、些成员都分布在哪些网络上。nIGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。 9/6/202479计算机网络计算机网络_网络层网络层3多播路由选择协议比单播路由选择协议复杂得多n多播转发必须动态地适应多播组成员的变化(这时网络拓扑并未发生变化)。n单播路由通常在拓扑发生变化时才需要更新n多播路由器在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,而是还要考虑这个多播数据报从什么地方来和要到什么地方去。n多播数据报可由未加入多播组的主机发出n多播组本来就是由接收主机组成的n多播数据报也可以通过没有组成员接入的网络
44、。n数据报需要这个网络中转9/6/202480计算机网络计算机网络_网络层网络层3R1R3R4R2视频服务器 M多播路由选择协议工作范围IGMP工作范围9/6/202481计算机网络计算机网络_网络层网络层32. 网际组管理协议 IGMP n1989 年公布的 RFC 1112(IGMPv1)n1997 年公布的 RFC 2236(IGMPv2)n2002 年 10 月公布了 RFC 3376(IGMPv3,建议标准)nIGMP 使用 IP 数据报传递其报文n因此, IGMP不是一个单独的协议,而是属于整个网际协议 IP 的一个组成部分。9/6/202482计算机网络计算机网络_网络层网络层3
45、IGMP 可分为两个阶段 n第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。9/6/202483计算机网络计算机网络_网络层网络层3IGMP 可分为两个阶段 n第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。n只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。n但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。9/6/
46、202484计算机网络计算机网络_网络层网络层3IGMP 采用的一些具体措施 n在主机和多播路由器之间的所有通信都是使用 IP 多播。n多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文。默认的询问速率是每 125 秒发送一次。n当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系。 9/6/202485计算机网络计算机网络_网络层网络层3IGMP 采用的一些具体措施(续)n在 IGMP 的询问报文中有一个数值 N,它指明一个最长响应时间(默认值为 10秒)。当收到询问时,主机在 0 到 N 之间随机选择发送响应所需经过的时延。对应于最小时延的响应最先发送。n同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就可以不再发送响应了。 9/6/202486计算机网络计算机网络_网络层网络层33. 多播路由选择此部分略!9/6/2024计算机网络_网络层3作业n4-15, 4-17, 4-19, 4-22n4-28, 4-41, 4-429/6/202488计算机网络计算机网络_网络层网络层3