《第六部分IP路由技术与协议课件》由会员分享,可在线阅读,更多相关《第六部分IP路由技术与协议课件(140页珍藏版)》请在金锄头文库上搜索。
1、IP网络技术网络技术第第6部分部分IP路由协议与技术路由协议与技术参考内容:参考内容:(1)用用TCP/IP进行网际互连进行网际互连第一卷:原理、协第一卷:原理、协议与体系结构(第五版)议与体系结构(第五版)第第13、14、15、16章章 (2)TCP/IP协议族协议族(第(第4版)版)第第11、12章章 lxmlxm1 1内容提纲内容提纲n1、引言、引言 n2、域内和域间路由选择、域内和域间路由选择n3、距离向量路由选择与、距离向量路由选择与RIPn4、链路状态路由选择与、链路状态路由选择与OSPFn5、路径向量路由选择与、路径向量路由选择与BGPn6、多播和多播路由选择协议、多播和多播路由
2、选择协议lxmlxm2 21、引言、引言n互联网由许多互联网由许多路由器路由器连接起来的网络组成连接起来的网络组成n数据从源站到目的站,可能经过多个路由器数据从源站到目的站,可能经过多个路由器n一个一个路由器路由器连接多个网络,当路由器收到分组,连接多个网络,当路由器收到分组,应该将分组转发到哪个网络?应该将分组转发到哪个网络?n按照路由表(选路表)转发!按照路由表(选路表)转发!n路由表路由表是怎样形成的?是怎样形成的?n何时如何发现路由?何时如何发现路由?n如何建立和管理路由表?如何建立和管理路由表?lxmlxm3 31、引言、引言n根据何时和如何发现路由,路由可分为:根据何时和如何发现路
3、由,路由可分为:n先应式路由先应式路由n表驱动路由(事先建立路由表,查表转发)表驱动路由(事先建立路由表,查表转发)n适合静态网络的路由适合静态网络的路由n反应式路由反应式路由n按需路由(需要时发现并建立路由,按实时路由转发)按需路由(需要时发现并建立路由,按实时路由转发)n适合动态移动网络路由(如移动多跳适合动态移动网络路由(如移动多跳Ad-hoc网络)网络)n根据路由表的建立方式,路由可分为:根据路由表的建立方式,路由可分为:n静态路由静态路由路由表管理者人工配置和维护路由表管理者人工配置和维护n建表不需要额外网络开销建表不需要额外网络开销n不能及时自动反映网络变化不能及时自动反映网络变化
4、n可能出现路由与网络不一致的情况可能出现路由与网络不一致的情况n动态路由动态路由路由表由路由协议动态创建和维护路由表由路由协议动态创建和维护n路由发现过程需要占用网络资源,额外开销路由发现过程需要占用网络资源,额外开销n表的形成需要一定时间表的形成需要一定时间n能自动适应网络变化,更灵活能自动适应网络变化,更灵活lxmlxm4 41、引言、引言n路由协议的目的路由协议的目的使路由器能够找到到达目使路由器能够找到到达目的地的最佳路径的地的最佳路径n路由协议的共同特点路由协议的共同特点n路由器协同工作路由器协同工作n彼此共享对互连网络的信息彼此共享对互连网络的信息n计算路径,建立路由表计算路径,建
5、立路由表n根据拓扑或某些策略根据拓扑或某些策略n规定信息交互的周期,定期更新路由表规定信息交互的周期,定期更新路由表n网络拓扑变化时,触发更新路由网络拓扑变化时,触发更新路由lxmlxm5 5交互信息(报文)不同,体交互信息(报文)不同,体现了不同路由协议特点现了不同路由协议特点不同的路由协议,计算方法不同的路由协议,计算方法不同不同:可能局部路由,可能全可能局部路由,可能全局路由,可能依赖邻居局路由,可能依赖邻居关键词关键词Metric(度量)(度量)nMetric:用来衡量:用来衡量通过某一网络通过某一网络所需的代价所需的代价n代价代价是什么?是什么?n代价的度量取决于代价的度量取决于Ro
6、uting ProtocolnHop count(跳数)(跳数), bandwidth(带宽)(带宽), delay(延迟)(延迟), MTU, load(负载)(负载), reliability(可靠性)(可靠性), nRouting protocol 使用使用Metric来选择一条来选择一条 best path (最优路)(最优路)for routingnMetric之和最小的路径之和最小的路径64K64K64K64K10M10M10M10M10M10MHop count: A Hop count: A B B Net NetBandwidth: A Bandwidth: A C C D
7、D Net NetA AD DC CB BNetNetlxmlxm6 6关键词关键词Convergence(收敛)(收敛)nConvergencen网络中的所有路由器都认为一致的网络中的所有路由器都认为一致的 topologynConvergence time(收敛时间)(收敛时间)n网络发现到网络形成或网络变化到恢复的时间网络发现到网络形成或网络变化到恢复的时间n反应了网络形成或恢复的快慢反应了网络形成或恢复的快慢n从不一致到一致所经历的时间从不一致到一致所经历的时间n体现路由算法的效率体现路由算法的效率n影响收敛的因素影响收敛的因素n使用的路由协议使用的路由协议n变化点到路由器的距离变化点
8、到路由器的距离n网络中路由器的数量网络中路由器的数量n通信链路的带宽和负载通信链路的带宽和负载n路由器的负载路由器的负载n。lxmlxm7 72、域内路由与域间路由、域内路由与域间路由nInternet十分庞大,需要划分多个自治系统十分庞大,需要划分多个自治系统ASnAutonomous system(自治系统,(自治系统,AS)n一个管理机构管辖的一组网路和路由器一个管理机构管辖的一组网路和路由器n每个每个AS可选择一个或多个路由协议处理本可选择一个或多个路由协议处理本AS内的路由选择内的路由选择nAS内部的路由选择称为内部的路由选择称为域内路由选择域内路由选择nAS 的编号的编号n每个每个
9、AS都赋予一个编号都赋予一个编号nRange: 165535nPrivate AS number: 6451265535lxmlxm8 82、域内路由与域间路由、域内路由与域间路由nInternet十分庞大,需要划分多个自治系统十分庞大,需要划分多个自治系统ASnAutonomous system(自治系统,(自治系统,AS)n一个管理机构管辖的一组网路和路由器一个管理机构管辖的一组网路和路由器n每个每个AS可选择一个或多个路由协议处理本可选择一个或多个路由协议处理本AS内的路由选择内的路由选择nAS内部的路由选择称为内部的路由选择称为域内路由选择域内路由选择nAS 的编号的编号n每个每个AS
10、都赋予一个编号都赋予一个编号nRange: 165535nPrivate AS number: 6451265535lxmlxm9 92、域内路由与域间路由、域内路由与域间路由nInternet由若干由若干AS互相连接构成互相连接构成n每个每个AS内可能有多个网络存在内可能有多个网络存在n核心主干网也可以构成一个核心主干网也可以构成一个ASn核心主干网提供到所有可能的目的地的核心主干网提供到所有可能的目的地的可靠的、统一的、权威的路由可靠的、统一的、权威的路由lxmlxm1010ASxASyAS1核心主干网核心主干网核心主干网核心主干网AS3AS2IGP 与与 EGPnIGP: Interio
11、r Gateway Protocol(内部网关协议)(内部网关协议)n适用于适用于AS内部路由,寻找内部路由,寻找AS内的最佳路径内的最佳路径nExample:RIP、OSPF、IS-ISnEGP: Exterior Gateway Protocol(外部网关协议)(外部网关协议)n适用于适用于AS 之间路由,寻找到之间路由,寻找到AS的最佳路径的最佳路径nExample:BGP-4nNotenThe static routing or an IGP could also be used between autonomous systems in some caseAS1AS1AS2AS2R
12、RR REGPEGPIGPIGPlxmlxm1111IGP:动态路由协议:动态路由协议nRIP:适用于密集型网络:适用于密集型网络n采用广播方式与邻居网关交互路由信息采用广播方式与邻居网关交互路由信息nV-D路由算法路由算法nRIPv1:RFC1058(STD 34, 1988), 基本协议基本协议nRIPv2:RFC1723(1994), 增加增加CIDR支持支持nOSPF:适用于稀疏型网络:适用于稀疏型网络n采用扩散方式与所有网关交互路由信息采用扩散方式与所有网关交互路由信息nOpen SPF,具有开放性的链路状态路由算法,具有开放性的链路状态路由算法nOSPF V2: RFC2178 ,
13、. J. Moy. April 1998.lxmlxm12123、距离向量路由选择与、距离向量路由选择与RIP协议协议n3.1 距离向量路由选择距离向量路由选择n3.1.1 距离向量路由选择算法距离向量路由选择算法n3.1.2 环路问题分析环路问题分析n3.1.3 解决环路的措施解决环路的措施n3.2 RIP协议协议lxmlxm1313距离距离向量向量法(法(V-D:Vector Distance)n根据协议的设计者命名,也称为根据协议的设计者命名,也称为nBellman-Ford路由算法路由算法nV-D算法通常以跳数作为算法通常以跳数作为Metric(cost)n当然也可以是其他度量参数:如
14、时延、带宽等当然也可以是其他度量参数:如时延、带宽等n基本思想基本思想n每个节点都保持一张到其他节点的路由表每个节点都保持一张到其他节点的路由表 (目的网络,距离,下一节点(目的网络,距离,下一节点)(如以跳数为)(如以跳数为cost,则距离就是跳数),则距离就是跳数)n邻居之间交换路由信息(目的网络,距离)邻居之间交换路由信息(目的网络,距离)n根据收到相邻节点的信息,判断并决定是否更新路由根据收到相邻节点的信息,判断并决定是否更新路由n算法涉及的内容算法涉及的内容n初始的路由表如何建立?初始的路由表如何建立?n邻居交换哪些信息邻居交换哪些信息?n如何根据邻居信息计算并更新自己的路由表?如何
15、根据邻居信息计算并更新自己的路由表?V-D路由算法路由算法n算法的几个步骤算法的几个步骤n 初始化初始化n建立初始路由表建立初始路由表直连路由表直连路由表n扩散扩散n向邻居扩散自己的路由表信息向邻居扩散自己的路由表信息n计算计算n根据收到相邻节点的信息,计算最短路径,更新路由表根据收到相邻节点的信息,计算最短路径,更新路由表n再扩散、再计算再扩散、再计算n这样就逐渐形成了到全网路由这样就逐渐形成了到全网路由n使每个节点都计算出了到其他节点的路径信息使每个节点都计算出了到其他节点的路径信息n值得注意的是:何时向邻居扩散路由信息?值得注意的是:何时向邻居扩散路由信息?n定期定期n拓扑发生变化时拓扑
16、发生变化时V-D算法案例算法案例1)初始路由表建立)初始路由表建立(目的网络,距离,下一跳)(初始都是直连网路(目的网络,距离,下一跳)(初始都是直连网路2)路由表向邻居扩散)路由表向邻居扩散2 21 13 34 45 5特别说明:特别说明:l为方便讲解,本教案为方便讲解,本教案采用跳数作为采用跳数作为metricl到直连网络的最短距到直连网络的最短距离为离为1跳,因此跳,因此“距离距离”记为记为1注意:注意:度量值也可以是其他参度量值也可以是其他参数数1 12 23 34 45 56 6目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳11-21-目的目的目的目的网络网络网络网
17、络距离距离下下下下一跳一跳一跳一跳11-31-目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳21-41-51-目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳31-41-61-目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳51-61-V-D算法案例算法案例3)节点计算并更新本节点的路由表)节点计算并更新本节点的路由表n相邻节点定期交换信息相邻节点定期交换信息(目的网络,距离)(目的网络,距离)(目的网络,跳数)(目的网络,跳数)n更新路由表的原则更新路由表的原则(以跳数为例)(以跳数为例)n将收到的路由表信息与本节点原路由表比较将收到的路由表
18、信息与本节点原路由表比较n(1)若原表项无该项,则代价)若原表项无该项,则代价+1,添加该项,添加该项n(2)若原表项中有该项)若原表项中有该项n若具有不同的下一跳,但代价若具有不同的下一跳,但代价+1小于原表项,更新;小于原表项,更新;n 否则,保留原表项否则,保留原表项n若具有相同的下一跳,无论代价是否若具有相同的下一跳,无论代价是否=原代价,都必须更原代价,都必须更新!新!Why?距离矢量算法距离矢量算法节点节点节点节点1 1 1 1路由表更新路由表更新路由表更新路由表更新初始值初始值初始值初始值目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳11-21-收到节点收到节点
19、收到节点收到节点2 2信息信息信息信息目的目的目的目的网络网络网络网络距离距离1131更新更新更新更新1 1目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳11-21-3222 21 13 35 51 12 23 34 45 56 64 4目的目的目的目的网络网络网络网络距离距离214151收到节点收到节点收到节点收到节点3 3信息信息信息信息目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳11-21-322423523更新更新更新更新2 2目的目的目的目的网络网络网络网络距离距离下下下下一跳一跳一跳一跳11-21-322423523多次更新的多次更新的多次更新
20、的多次更新的稳定的表项稳定的表项稳定的表项稳定的表项632也可能是也可能是3,取决,取决于节点于节点1先收到先收到2还是还是3的再次路由的再次路由信息发布信息发布同理,其他节点也能得到稳定的路由表同理,其他节点也能得到稳定的路由表同理,其他节点也能得到稳定的路由表同理,其他节点也能得到稳定的路由表Count to Infinity,计数到无穷大,计数到无穷大n n2-node loopNet 1Net 1Net 2Net 2Net 3Net 3Net1Routing tableRouting tableNet1ARouting tableRouting tableA AB BYou can r
21、each You can reach net1 through me net1 through me with length 2with length 2B can reach net1 B can reach net1 ! Great ! Great !Hop count Hop count changed !changed !- -1 116162 23 3Hop count Hop count changed !changed !4 4- -B B B: ( net1, 2 )B: ( net1, 2 )A: ( net1, 3 )A: ( net1, 3 )B: ( net1, 4 )
22、B: ( net1, 4 )lxmlxm1919定义定义16代表无代表无穷大穷大 2005 2005年秋冬年秋冬 mlxmlxA AC CB BD D 平时:平时:平时:平时:A A收到收到收到收到C C告知:告知:告知:告知:D D有两跳有两跳有两跳有两跳A A收到收到收到收到B B告知:告知:告知:告知:D D有一跳有一跳有一跳有一跳选选选选B BC C收到收到收到收到A A告知:告知:告知:告知:D D有两跳有两跳有两跳有两跳C C收到收到收到收到B B告知:告知:告知:告知:D D有一跳有一跳有一跳有一跳选选选选B B 当当当当B B到到到到D D的链路断掉后,一种可能的情形:的链路断
23、掉后,一种可能的情形:的链路断掉后,一种可能的情形:的链路断掉后,一种可能的情形:B B告诉告诉告诉告诉A A、C C:D D不可达不可达不可达不可达A A重新选路,正好收到重新选路,正好收到重新选路,正好收到重新选路,正好收到C C告知告知告知告知D D有两跳(有两跳(有两跳(有两跳(C C还没收到还没收到还没收到还没收到B B的更新信息)的更新信息)的更新信息)的更新信息)A A选择到选择到选择到选择到D D经过经过经过经过C C,距离为三跳,距离为三跳,距离为三跳,距离为三跳A A告知告知告知告知B B:D D有三跳有三跳有三跳有三跳B B选择到选择到选择到选择到D D经过经过经过经过A
24、 A,距离为四跳,距离为四跳,距离为四跳,距离为四跳C C收到收到收到收到B B先前的先前的先前的先前的D D不可达更新,重新选路不可达更新,重新选路不可达更新,重新选路不可达更新,重新选路B B告知告知告知告知C C:D D有四跳有四跳有四跳有四跳C C选择到选择到选择到选择到D D经过经过经过经过B B,距离为五跳,距离为五跳,距离为五跳,距离为五跳出现路由环路,出现路由环路,出现路由环路,出现路由环路,并计数到无穷大并计数到无穷大并计数到无穷大并计数到无穷大几种解决措施几种解决措施n nDefining infinity(定义无穷大)(定义无穷大)n nU Use a se a fini
25、tefinite metric value to represent metric value to represent “infinity“infinity“(典型值典型值典型值典型值1616)n nThThe e value must be large enough that no real value must be large enough that no real metric would ever get that largemetric would ever get that largen nTriggered update(触发更新)(触发更新)n nSplit horizon
26、s(水平分割)(水平分割)n nPoison reverse(毒性逆转)(毒性逆转)n nA variation of split horizonsA variation of split horizonsNone of them are 100% effective !lxmlxm2121触发更新触发更新n目的:促进快速收敛目的:促进快速收敛n如网络无变化如网络无变化n每隔每隔30秒定期发送路由更新消息秒定期发送路由更新消息n如网络有变化如网络有变化n立即触发发送路由更新消息立即触发发送路由更新消息lxmlxm2222Split Horizons(水平分割)(水平分割)Net 1Net 1N
27、et 2Net 2Net 3Net 3A AB BNet2Net21 1Net3Net32 2Net3Net31 1Net1Net12 2Net2Net21 1节点没有必要将从某节点节点没有必要将从某节点收到的信息再传回给该节点收到的信息再传回给该节点lxmlxm2323Net1Net11 -1 -Net2Net21 -1 -Net3Net32 B2 BA A路由表路由表路由表路由表Net2Net2- -Net3Net3- -B B发给发给发给发给A ANet1Net11 1A A传给传给传给传给B BPoison Reverse(毒性反转)(毒性反转)Net 1Net 1Net 2Net 2
28、Net 3Net 3A AB BNet2Net21 1Net3Net32 2Net1Net11616Net2Net21616Net3Net31616Net1Net11 1Net2Net21616Net3Net31 1Net1Net11616Net2Net21 1Net3Net31616Net1Net12 2节点将从某节点收到的节点将从某节点收到的信息再传回给该节点时,信息再传回给该节点时,告诉对方不能从我这里告诉对方不能从我这里过(设置成过(设置成16)lxmlxm2424Hold-down Timer, 抑制定时器抑制定时器n当路由器收到一个路由不可达更新消息时,当路由器收到一个路由不可达更
29、新消息时,启动抑制定时器启动抑制定时器( 60s 、120s)n路由器收到某条路由不可达的消息后,在一段时路由器收到某条路由不可达的消息后,在一段时间内(典型间内(典型6060秒),忽略关于该网络的任何路由秒),忽略关于该网络的任何路由信息信息n确保有较大范围内的站点都收到该坏消息,避免确保有较大范围内的站点都收到该坏消息,避免过时的路由通告,但抑制期间环路依然存在过时的路由通告,但抑制期间环路依然存在V-D算法小节算法小节n特点:特点:n只与邻节点交换路由信息只与邻节点交换路由信息n各节点独立计算最优路径(但依赖邻居的计算结果)各节点独立计算最优路径(但依赖邻居的计算结果)n能适应网络拓扑的
30、变化能适应网络拓扑的变化n稳定后,形成最短路径稳定后,形成最短路径n算法简单算法简单n缺点:缺点:n网络变化扩散到全网速度慢网络变化扩散到全网速度慢n扩散时间:所有节点都发现变化的速度扩散时间:所有节点都发现变化的速度n路由收敛慢路由收敛慢n经过多轮邻居信息交换才能趋于一致经过多轮邻居信息交换才能趋于一致n存在路由环在网络变化未扩散完全时。存在路由环在网络变化未扩散完全时。适用于适用于适用于适用于小网小网小网小网lxmlxm26263.2 RIP协议协议n3.2.1 RIP概述概述n3.2.2 RIP操作操作n3.2.3 RIP定时器定时器n3.2.4 RIP消息格式消息格式n3.2.5 相关
31、讨论相关讨论lxmlxm27273.2.1 RIP概述概述n标准标准nRIPv1:RFC1058(STD 34, 1988), 基本协议基本协议nRIPv2:RFC2453, 增加增加CIDR支持支持n采用采用V-D算法算法n采用跳数作为度量采用跳数作为度量n采用采用UDP封装封装n平面路由协议,仅适合小网平面路由协议,仅适合小网lxmlxm2828 3.2.1 RIP协议协议nRouting Information Protocol,RIPnv1:RFC 1058,v2:RFC 2453,路由信息协议,路由信息协议 IPLANsMANsWANsICMPIGMPARPRARPNetworkNe
32、tworkLayerLayerNetworkNetworkAccess LayerAccess LayerTCPUDPTransportTransportLayerLayerRIPApplicationApplicationLayerLayer520520软件实现层次软件实现层次RIP = RIPv1RIP = RIPv1lxmlxm29293030Example of a domain using RIPMetric: hop countMetric: hop count(跳数)(跳数)(跳数)(跳数) Infinity = 16, means unreachableInfinity = 1
33、6, means unreachable The maximum hop count = 15The maximum hop count = 153.2.2 RIP 操作操作nDiscoverynTopology changenCalculatingnRIP updating algorithmInitializeInitializeRTRTSendSendRTRTUpdate RTUpdate RTUpdatUpdate?e?Send RT per 30sSend RT per 30sNoNoYesYesFind the Find the changechangeUpdateUpdateRT
34、RTSend RTSend RTon scheduleon scheduleLike discoveryLike discoverySplit horizons & poison reverseSplit horizons & poison reverseTriggered updateTriggered updatelxmlxm31313232n nRFC1058RFC1058: 发送时发送时发送时发送时 unchangedunchanged接收时接收时接收时接收时 Metric + 1Metric + 1n n某些实现:某些实现:某些实现:某些实现: 发送时发送时发送时发送时 Metric
35、 + 1Metric + 1接收时接收时接收时接收时 unchangedunchangedlxmlxm3232网络发现网络发现A AB BC CN1N1N2N2N3N3N4N41 12 21 12 21 12 2N3-1 0N4-2 0N1-1 0N2-2 0N2-1 0N3-2 0路由表:路由表:路由表:路由表: 目的网络目的网络下一跳下一跳发送接口发送接口MetricN3N3N1N1N2N2B1B12 21 1A2A21 11 1B2B21 11 1C1C12 21 1N4N4A: (N1, 1) (N2, 1)A: (N1, 1) (N2, 1)B: (N2, 1) (N3, 1)B:
36、(N2, 1) (N3, 1)C: (N3, 1) (N4, 1)C: (N3, 1) (N4, 1)B: (N2, 1) (N3, 1)B: (N2, 1) (N3, 1)N4N4B1B12 22 2N1N1B2B21 12 2A: (N1,1) (N2,1) (N3,2)A: (N1,1) (N2,1) (N3,2)B: (N2,1) (N3,1)B: (N2,1) (N3,1) (N1,2) (N4,2) (N1,2) (N4,2)C: (N3,1) (N4,1) (N2,2)C: (N3,1) (N4,1) (N2,2)B: (N2,1) (N3,1)B: (N2,1) (N3,1)
37、(N1,2) (N4,2) (N1,2) (N4,2) A:(N1,1)(N2,1)(N3,2)(N4,3)A:(N1,1)(N2,1)(N3,2)(N4,3)B: (N2,1) (N3,1)B: (N2,1) (N3,1) (N1,2) (N4,2) (N1,2) (N4,2)C:(N3,1)(N4,1)(N2,2)(N1,2)C:(N3,1)(N4,1)(N2,2)(N1,2)B: (N2,1) (N3,1)B: (N2,1) (N3,1) (N1,2) (N4,2) (N1,2) (N4,2)lxmlxm3333拓扑变化拓扑变化A AB BC CN1N1N2N2N3N3N4N41 12
38、21 12 21 12 2N3-1 0N4-2 0N1-1 0N2-2N2-1N3-2 0N3N3N1N1N2N2B1B12 21 1A2A21 11 1B2B21 11 1C1C12 21 1N4N4N4N4B1B12 22 2N1N1B2B21 12 2B: (N2,16) (N3,1)B: (N2,16) (N3,1) (N1,16) (N4,2) (N1,16) (N4,2)A: (N1,1) (N2,16)A: (N1,1) (N2,16) (N3,16) (N4,16) (N3,16) (N4,16)0 00 0 C: (N3,1) (N4,1)C: (N3,1) (N4,1) (
39、N2,16) (N1,16) (N2,16) (N1,16) lxmlxm34343.2.3 RIP的定时器的定时器TimersTimers无用信息收集无用信息收集无用信息收集无用信息收集 6060或或或或120 s120 s(for each route)(for each route)截至期截至期截至期截至期180 s180 s(for each (for each route)route)定期定期定期定期30 s30 s(for each (for each router)router)控制更新报文定控制更新报文定期通告,期通告,通常为通常为25-35s的的随机数随机数避免同时更新引避免
40、同时更新引起过载起过载触发更新例外触发更新例外管理路由的有效性管理路由的有效性正常情况下,每正常情况下,每30s复位一次,如复位一次,如故障,在故障,在180s未收未收到更新报文,则过到更新报文,则过期,跳数设置为期,跳数设置为16当某条路由信息成当某条路由信息成为无效时(为无效时(16),),路由器并不立即清路由器并不立即清除该表项,而是继除该表项,而是继续通告,待续通告,待120s后后才清除该表项才清除该表项lxmlxm35353.2.4 RIP消息格式(消息格式(V1)nRIP只定义了有一种报文格式只定义了有一种报文格式n交换(交换(IP address,Metric)对)对nIP ad
41、dress 可为可为A、B、C类网络地址或主机地址类网络地址或主机地址CommandCommand Version=1Version=1IP addressIP addressAll 0sAll 0sAll 0sAll 0sAll 0sAll 0sMetric ( hop count )Metric ( hop count )All 0sAll 0sFamily = 2Family = 2R Re ep pe ea at te ed dlxmlxm36363.2.4 RIP消息格式(消息格式(V1)nCommandn1=Request 请求部分或全部选路信息请求部分或全部选路信息n2=Resp
42、onse 发送方给出自己选路表的发送方给出自己选路表的(V,D)n9=更新请求更新请求 10=更新响应更新响应 11=更新确认更新确认nAddress Family Identifiern2 IPaddressnV1版未定义掩码,只能用于有类地址方式版未定义掩码,只能用于有类地址方式lxmlxm3737 RIPv2的扩展的扩展nRIPv2格式格式n路由标记:路由起点、自治域号等额外信息路由标记:路由起点、自治域号等额外信息nRIP2实现对实现对CIDR的扩展的扩展081624 31CommandVersion=2Must be 0Address Family Identifier目的网的路由标
43、记目的网的路由标记目的网地址(目的网地址(IP Addr)目的网掩码(目的网掩码(Mask)到目的网的下一网关(到目的网的下一网关(Next Hop)到目的网的距离(到目的网的距离(Metric) 重复重复25次次lxmlxm38383.2.5 RIP的讨论的讨论n距离距离16指网络的跨度,而不是路由器的数目指网络的跨度,而不是路由器的数目nRIP适合于不大的网络适合于不大的网络n简单的路由,无法处理时延、容量要求简单的路由,无法处理时延、容量要求n相对固定的路由,较长时间不变相对固定的路由,较长时间不变n无法对网络性能变化(负载、时延等)做出反应无法对网络性能变化(负载、时延等)做出反应(调
44、整路由)(调整路由)n仍有大量的应用仍有大量的应用lxmlxm39394、链路状态路由选择与、链路状态路由选择与OSPFn4.1 链路状态路由选择链路状态路由选择n4.1.1 算法基本思想算法基本思想n4.1.2 链路状态算法的操作链路状态算法的操作n4.2 OSPF协议协议lxmlxm40404.1.1 L-S路由选择算法基本思想路由选择算法基本思想n参与该算法的所有路由器都需要掌握全部拓扑结构参与该算法的所有路由器都需要掌握全部拓扑结构n拓扑结构:拓扑结构:n点:路由器点:路由器n边:路由器相连的网络边:路由器相连的网络n算法基本思想算法基本思想n周期地检查邻接路由器的状态(可达性)周期地
45、检查邻接路由器的状态(可达性)n向所有路由器通告自己的链路状态(全网扩散)向所有路由器通告自己的链路状态(全网扩散)n每个路由器根据自己掌握的拓扑结构,独立计算到所有目每个路由器根据自己掌握的拓扑结构,独立计算到所有目网络的路由网络的路由n典型算法:典型算法:Dijkstra最短路径算法最短路径算法lxmlxm41414.1.1 L-S路由选择算法基本思想路由选择算法基本思想n涉及到的主要问题涉及到的主要问题n(1)各路由器如何知道全部拓扑?)各路由器如何知道全部拓扑?n(2)路由器如何扩散自己的链路状态)路由器如何扩散自己的链路状态n(3)路由器如何计算到各网的最短路径)路由器如何计算到各网
46、的最短路径lxmlxm42424.1.2 链路状态算法的操作链路状态算法的操作n发现邻居发现邻居n探寻邻居,得到邻居的唯一地址探寻邻居,得到邻居的唯一地址n测量链路开销测量链路开销n测量到各邻居节点的延迟(链路质量)测量到各邻居节点的延迟(链路质量)n交换路链路状态信息交换路链路状态信息n形成链路状态分组,向所有节点扩散形成链路状态分组,向所有节点扩散n充实路由信息库充实路由信息库n根据收到各节点的链路状态信息,进而得出全网拓扑根据收到各节点的链路状态信息,进而得出全网拓扑n计算到各网络的最佳路径计算到各网络的最佳路径n根据自己掌握的路由信息,独立计算本节点到其他节点的最佳根据自己掌握的路由信
47、息,独立计算本节点到其他节点的最佳路由路由n特别注意:特别注意:n交流的路由信息:链路状态信息交流的路由信息:链路状态信息n交流的对象:向所有的节点交流的对象:向所有的节点n交流的方法:扩散法交流的方法:扩散法n路由的计算:只根据自己掌握的路由信息,独立计算最佳路由路由的计算:只根据自己掌握的路由信息,独立计算最佳路由(不依赖别人的计算)(不依赖别人的计算)lxmlxm4343链路状态算法链路状态算法发现邻居发现邻居n初始时,每个节点都向每个出口(直接链路)发送初始时,每个节点都向每个出口(直接链路)发送“Hello”分组,告知自己的分组,告知自己的IP地址地址n收到分组的节点则回应一个分组告
48、知自己的收到分组的节点则回应一个分组告知自己的IP地址地址n特别强调:每个节点的地址必须唯一特别强调:每个节点的地址必须唯一ABHello,I am AHello,I am Blxmlxm4444链路状态算法链路状态算法测量链路开销测量链路开销n测量链路开销(以链路时延为例)测量链路开销(以链路时延为例)n向邻居发送向邻居发送“Echo”分组(对方必须应答)分组(对方必须应答)n对方发送应答对方发送应答n计算来回延时除以计算来回延时除以2,得到时延(可计算几次得平均值),得到时延(可计算几次得平均值)n计算链路开销时值得讨论的问题计算链路开销时值得讨论的问题n是否考虑负荷?是否考虑负荷?n两种
49、观念两种观念n考虑负荷,从进入发送队列排队开始算考虑负荷,从进入发送队列排队开始算n忽略负荷,从发送开始算忽略负荷,从发送开始算n正反方向延时是否一样?正反方向延时是否一样?n可能不一样可能不一样n为分析简便,通常忽略差异,用平均值为分析简便,通常忽略差异,用平均值A AB BT T“Echo”“Echo”Responselxmlxm4545链路状态算法链路状态算法测量并计算链路开销测量并计算链路开销n通过测试计算出到邻居的开销通过测试计算出到邻居的开销n假设各节点测得的开销如下所示假设各节点测得的开销如下所示A节点节点B节点节点4C3B开开销销邻邻居居6C5D3A开开销销邻邻居居2D6B1E
50、4A开开销销邻邻居居3E2C2F5B开开销销邻邻居居3D2F1C开开销销邻邻居居2E2D开开销销邻邻居居C节点节点D节点节点F节点节点E节点节点lxmlxm4646链路状态算法链路状态算法交换链路状态信交换链路状态信息息n创建链路状态分组并向全网发布创建链路状态分组并向全网发布n根据测得的到所有邻居的的延时,形成链路状态分组根据测得的到所有邻居的的延时,形成链路状态分组n链路状态分组的内容链路状态分组的内容n发布者:发布信息的节点名称发布者:发布信息的节点名称n序号:序号的大小表示信息的新旧序号:序号的大小表示信息的新旧n年龄:一个分组在网络中的存活时间年龄:一个分组在网络中的存活时间B BA
51、 AC CD DE EF F1 12 22 25 56 62 24 43 33 34C3B时间时间序号序号A发布发布者者6C3A时间时间序号序号B发布发布者者5D6B4A时间时间序号序号C发布发布者者2D1E2C5B时间时间序号序号D发布发布者者3E2F3D1C时间时间序号序号E发布发布者者2F2E2D时间时间序号序号F发布发布者者lxmlxm4747链路状态算法链路状态算法n发布链路状态分组发布链路状态分组n发布对象:所有节点发布对象:所有节点n发布时间:定期,连路状态发生改变时发布时间:定期,连路状态发生改变时n发布方法:扩散法(洪泛)发布方法:扩散法(洪泛)n采用扩散法一定可以到达全网各
52、节点采用扩散法一定可以到达全网各节点n节点可能收到多个相同的分组节点可能收到多个相同的分组n可根据序号判别,相同的序号则丢弃重复的可根据序号判别,相同的序号则丢弃重复的n节点也可能收到同一个发布者不同序号的分组节点也可能收到同一个发布者不同序号的分组n根据发布时间判别,丢弃老的,处理新的根据发布时间判别,丢弃老的,处理新的n为避免分组可能在网中循环为避免分组可能在网中循环n通过年龄字段避免(年龄按时间递减,到通过年龄字段避免(年龄按时间递减,到0时将被丢弃)时将被丢弃)lxmlxm4848链路状态算法链路状态算法绘制全局拓扑绘制全局拓扑n根据逐步收到的链路分组,充实根据逐步收到的链路分组,充实
53、路由信息库,逐步路由信息库,逐步“绘出绘出”拓扑拓扑图图n以节点以节点A为例,各节点发布链路分为例,各节点发布链路分组后,组后,A逐步得到了分组逐步得到了分组4C3B时间时间序号序号A发布发布者者6C3A时间时间序号序号B发布发布者者5D6B4A时间时间序号序号C发布发布者者2D1E2C5B时间时间序号序号D发布发布者者3E2F3D1C时间时间序号序号E发布发布者者2F2E2D时间时间序号序号F发布发布者者B BA AC CD DE EF F1 12 22 25 56 62 24 43 33 3lxmlxm4949链路状态算法链路状态算法计算最佳路径计算最佳路径n计算到各节点的最佳路由计算到各
54、节点的最佳路由n计算方法:计算方法:n把本节点作为源节点,计算到其他节点的路由把本节点作为源节点,计算到其他节点的路由n采用著名的采用著名的Dijkstra算法(最短路径算法)算法(最短路径算法)n计算的依据计算的依据n只根据自己掌握的路由信息库(拓扑)只根据自己掌握的路由信息库(拓扑)n独立计算最佳路由(不依赖别人的计算)独立计算最佳路由(不依赖别人的计算)lxmlxm5050链路状态算法链路状态算法nDijkstra算法的基本思想算法的基本思想 以计算路由的节点以计算路由的节点V0为源节点(出发点)为源节点(出发点)1)设置源节点到其他所有节点的初始开销)设置源节点到其他所有节点的初始开销
55、n相邻的节点设置为测得的开销值(相邻的节点设置为测得的开销值(Ci,Vi)nCi:源节点到相邻节点:源节点到相邻节点Vi的代价(的代价(cost)n不相邻的节点设置为(不相邻的节点设置为(,- -)2 2)将具有最小)将具有最小CiCi的节点的节点ViVi及链路加入到及链路加入到V0V0的路由中的路由中3 3)根据加入的)根据加入的ViVi节点计算与之相邻节点到节点计算与之相邻节点到V0V0的最小代价的最小代价 并将到并将到V0V0代价最小的节点及链路加入到路由中(已加入代价最小的节点及链路加入到路由中(已加入的节点和链路除外)的节点和链路除外)4 4)依此,不断重复)依此,不断重复3 3),
56、直到包含所有节点和最佳链路为止),直到包含所有节点和最佳链路为止lxmlxm5151链路状态算法链路状态算法nDijkstra算法案例算法案例n假设假设A收到收到B的链路分组,的链路分组,n以以A为源节点,为源节点, 计算计算A到其他节点的路由到其他节点的路由B BA AC CD D5 56 64 43 3ABCD34A B48A B C8A B C D8节点的逐步节点的逐步加入加入链路的逐步链路的逐步加入加入A到其他节点代价的到其他节点代价的逐步优化逐步优化A-BA-CB-D6C3A时间时间序号序号B发布发布者者5DB BA AC CD D5 54 43 3A的路由的路由 转发表转发表目目的
57、的节节点点下下一一节节点点 开开销销BB3CC4DB8A节点节点4C3B开开销销邻邻居居lxmlxm5252链路状态算法链路状态算法nDijkstra算法案例算法案例n假设假设A收到收到B、C的链路分组,的链路分组,n以以A为源节点,为源节点, 计算计算A到其他节点的路由到其他节点的路由6C3A时间时间序号序号B发布发布者者5D6B4A时间时间序号序号C发布发布者者2D1EB BA AC CD DE E1 15 56 62 24 43 3ABCDE34A B48A B C65A B C E6A B C ED节点的逐步节点的逐步加入加入链路的逐步链路的逐步加入加入A到其他节点代价的到其他节点代价
58、的逐步优化逐步优化A-BA-CC-EC-DB BA AC CD DE E1 12 24 43 3A的路由转发表的路由转发表目目的的节节点点下下一一节节点点 开开销销BB3CC4DC6EC5lxmlxm5353A的路由转发表的路由转发表链路状态算法链路状态算法nDijkstra算法案例算法案例nA点收到所有节点分组后点收到所有节点分组后n以以A为源节点,为源节点,n计算计算A到其他节点的路由到其他节点的路由B BA AC CD DE EF F1 12 22 25 56 62 24 43 33 3ABCDEF34A B48A B C65A B C E67A B C ED7A B C ED F节点的
59、逐步节点的逐步加入加入链路的逐步链路的逐步加入加入A到其他节点代价的到其他节点代价的逐步优化逐步优化A-BA-CC-EC-DE-Flxmlxm5454链路状态算法链路状态算法nDijkstra算法案例算法案例n计算的结果,计算的结果,A点到其他节点形成了一棵以点到其他节点形成了一棵以A为根的树为根的树n根据最优判决原理,这是一棵最佳路由树根据最优判决原理,这是一棵最佳路由树n也称为信源树或汇集树也称为信源树或汇集树B BA AC CD DE EF F1 12 22 25 56 62 24 43 3A AB BC CE ED DF F3 33 34 42 21 12 2lxmlxm5555链路状
60、态算法链路状态算法nDijkstra算法案例算法案例n根据计算结果,根据计算结果,A节点的路由转发表如下:节点的路由转发表如下:A AB BC CE ED DF F3 34 42 21 12 2目的节点目的节点下一节点下一节点 开销开销BB3CC4DC6EC5FC7A节点的路由转发表节点的路由转发表B BA AC CD DE E1 12 22 25 56 62 24 43 33 3F Flxmlxm5656链路状态算法小结链路状态算法小结n特点特点n与全网节点交换路由信息路由信息的扩散与全网节点交换路由信息路由信息的扩散n各节点独立计算最优路径一致性、准确性有各节点独立计算最优路径一致性、准确
61、性有较好的保证较好的保证n不是建立在别人的计算结果上(如距离矢量算法以来邻不是建立在别人的计算结果上(如距离矢量算法以来邻居的计算结构)居的计算结构)n能适应网络拓扑的变化,稳定后能形成最短路径能适应网络拓扑的变化,稳定后能形成最短路径n收敛速度快可在大网中使用收敛速度快可在大网中使用n拓扑改变立即独立计算拓扑改变立即独立计算n算法复杂,存储空间需求大算法复杂,存储空间需求大n需要记录全网所有的链路状态需要记录全网所有的链路状态lxmlxm57574.2 OSPFn4.2.1 OSPF概述概述n4.2.2 OSPF的分区的分区n4.2.3 OSPF路由器类型路由器类型n4.2.4 OSPF链路
62、类型链路类型n4.2.5 OSPF分组格式分组格式n4.2.6 OSPF的的LSU分组分组n4.2.7 OSPF的的LSA类型类型n4.2.8 OSPF的操作的操作lxmlxm58584.2.1 OSPF概述概述nOSPF: Open Shortest Path Firstn 一种适合与一种适合与AS内的路由协议内的路由协议n采用采用L-S算法计算最短路径算法计算最短路径nOSPF直接使用直接使用IP实体提供的服务实体提供的服务nIP协议协议ID 89n是一种分层的路由协议,适合于大网是一种分层的路由协议,适合于大网lxmlxm59594.2.1 OSPF概述概述lxmlxm6060IPLAN
63、sMANsWANsICMPIGMPARPRARPNetworkNetworkLayerLayerNetworkNetworkAccess LayerAccess LayerTCPUDPTransportTransportLayerLayerOSPFApplicationApplicationLayerLayer8989软件实软件实现层次现层次RIP520520OSPF算法核心思想算法核心思想n掌握网络拓扑结构掌握网络拓扑结构n掌握网络拓扑掌握网络拓扑 = 掌握所有路由器与邻居的连接关系掌握所有路由器与邻居的连接关系n通过路由器之间彼此共享链路状态通过路由器之间彼此共享链路状态n拓扑有变化时更新
64、并共享拓扑有变化时更新并共享n路由计算路由计算n根据网络拓扑结构,计算到任意站点的最短路径根据网络拓扑结构,计算到任意站点的最短路径(SPF)nDijkstra经典算法经典算法n从最短路径确定下一跳地址从最短路径确定下一跳地址(FIB内容内容)n关键点关键点n只要掌握了网络拓结构,路由器就能计算所有路由只要掌握了网络拓结构,路由器就能计算所有路由R1,1R2,2R3,3R0,2R1,2R5,25R2,25R3,35R4,45R6,56R8,58邻居关系:邻居关系:R0R2R5R0,1R2,12R4,14R8,18R1lxmlxm61614.2.2 OSPF的分区的分区n分区域理由:大规模的网络
65、会给分区域理由:大规模的网络会给OSPF路由路由器带来沉重的负担器带来沉重的负担n链路状态的改变,可能会使路由器经常执行链路状态的改变,可能会使路由器经常执行SPF(最短路径优先)算法(最短路径优先)算法n路由表膨胀路由表膨胀n每个路由器需要保持的完整网络拓扑(链路数据每个路由器需要保持的完整网络拓扑(链路数据库)库)nOSPF将网络划分成若干较小的区域将网络划分成若干较小的区域n区域内的路由器执行区域内的路由器执行SPF算法算法n区域间:交换汇总后的路由信息,而不是详细的区域间:交换汇总后的路由信息,而不是详细的路由信息路由信息lxmlxm62624.2.2 OSPF的分区的分区lxmlxm
66、63n多区域多区域n每个区域是独立的每个区域是独立的OSPF路由协议范围路由协议范围n网络拓扑数据库只包含区域内部分网络拓扑数据库只包含区域内部分nOSPF协议在区域边界处终止协议在区域边界处终止n某些路由器会属于多个区域某些路由器会属于多个区域n称为:区域边界路由器称为:区域边界路由器n区域边界路由器构成另一个路由域(主干域)区域边界路由器构成另一个路由域(主干域)n形成分层路由结构形成分层路由结构n一级路由:区域间路由一级路由:区域间路由主干路由主干路由n二级路由:区域内路由二级路由:区域内路由OSPF域OSPF域OSPF域OSPF域OSPF域OSPF域ASRRRRRRRRRRRRRRRR
67、RRRRRRRRR2级路由级路由区域内路由区域内路由1级路由级路由区域间路由)区域间路由)3级路由级路由RRR区域内路由器区域内路由器R区域间路由器区域间路由器RAS边界路由器边界路由器分级路由结构分级路由结构OSPF多区域模型多区域模型2级路由级路由区域内路由区域内路由2级路由级路由区域内路由区域内路由3级路由级路由lxmlxm63634.2.2 OSPF的分区的分区nArea:包含在:包含在AS中的一些网络、主机和路由器的中的一些网络、主机和路由器的集合集合n类型:标准区域、主干区域(类型:标准区域、主干区域( Backbone area )、)、残桩区域(残桩区域(Stub area)A
68、utonomous SystemArea 1Area 2Area 0 (backbone)TootherASslxmlxm6464OSPF区域类型区域类型n区域的类型:决定区域的类型:决定了该区域内路由器所能接了该区域内路由器所能接收的路由信息的类型收的路由信息的类型n标准区域:区域内路由器能够接收标准区域:区域内路由器能够接收链路状态链路状态更新更新和和路由归纳(区间路由)路由归纳(区间路由)n主干区域:具有标准区域的一切属性,特殊主干区域:具有标准区域的一切属性,特殊之处在于:它需要负责之处在于:它需要负责互连互连其它所有其它所有区域区域n残桩区域:这种区域残桩区域:这种区域不接收不接收那
69、些那些自治系统以自治系统以外外的路由信息的路由信息n如果需要发送分组到自治系统之外的网络,区域如果需要发送分组到自治系统之外的网络,区域内路由器将使用内路由器将使用默认路由默认路由lxmlxm6565Area 2Area 2Area 3Area 3Area 0Area 0Area 1Area 1Area 0Area 0n主干区域主干区域n负责分发非主干区域间的路由信息负责分发非主干区域间的路由信息nAS中的其他所有区域必须与主干区邻接中的其他所有区域必须与主干区邻接n并不要求一定是物理连接并不要求一定是物理连接n可以是可以是Virtual link(可以人工配置)(可以人工配置)Area 0A
70、rea 0Area 0Area 2Area 2Area 1Area 1Area 3Area 3lxmlxm666667674.2.3 OSPF路由器类型路由器类型Autonomous SystemArea 1Area 1Area 2Area 0 (backbone)To otherASABR,BRIRASBR,BRIR,BRnInternal router(内部路由器)(内部路由器), IRnBackbone router(主干路由器)(主干路由器), BRnArea Border Router(区域边界路由器)(区域边界路由器), ABRnAS Border Router( AS边界路由器)
71、边界路由器), ASBRlxmlxm676768684.2.3 OSPF路由器类型路由器类型Autonomous SystemArea 1Area 1Area 2Area 0 (backbone)To otherASABR:ABR接口连接不同区域接口连接不同区域ABR为其连接的每个区域维护单为其连接的每个区域维护单独的链路状态数据库独的链路状态数据库并从中归纳路由,将汇总路由发并从中归纳路由,将汇总路由发布到主干区域,而主干区域中的布到主干区域,而主干区域中的ABR再将其扩散到其它区域再将其扩散到其它区域IR:IR所有接口都在同一区域,同所有接口都在同一区域,同区的区的IR有相同的链路状态库有
72、相同的链路状态库ASBR:向:向AS通告通告AS以外以外的路由的路由IR,BRlxmlxm68684.2.4 OSPF 的链路类型的链路类型Types of linksStubTransientPoint-to-pointVirtualConnect two routers directlyEach router has many neighborsA special case of the transient networkCreated when link is brokenlxmlxm69694.2.4 OSPF 的链路类型的链路类型nPoint-to-point network,点到点
73、网络(链路),点到点网络(链路)nStub network,残桩网络(链路),残桩网络(链路)nTransit network,转接网络(穿越网络,链路),转接网络(穿越网络,链路)nBroadcastFrame RelayX.25RFC2328lxmlxm70707171333225225StubnetworkPoint-to-point networkPoint-to-point networkTransit networkStubnetworkStub networklxmlxm7171穿越网络中的指定路由器穿越网络中的指定路由器DR 和备份路和备份路由器由器 BDREthernetEt
74、hernetA AB BC CDDE ETransient networkTransient networkA AB BC CDDE EUnrealistic representationUnrealistic representationA AB BC CDDE ERealistic representationRealistic representationDesignated RouterDesignated Routeruu A designated router is used to A designated router is used to show the connectivi
75、ty of each show the connectivity of each router and one single network, so router and one single network, so each router has only one each router has only one neighbor nowneighbor nowuu A transient link is a network A transient link is a network with several routers attached to itwith several router
76、s attached to itlxmlxm72724.2.5 OSPF 分组分组nFormatn所有所有OSPF路由器组播地址路由器组播地址n穿越网络中的穿越网络中的DR/BDR组播地址组播地址nEncapsulation: IP ( protocol 89 )VersionTypeRouter IDArea IDPacket LengthAuthenticationAuthenticationAuthentication TypeChecksumHeaderOSPF Packet Data路由器在路由器在AS内的唯一标识,内的唯一标识,发送该分组的源路由器。发送该分组的源路由器。32位,采
77、用路由器最大接口位,采用路由器最大接口或最小接口的或最小接口的IP地址地址lxmlxm7373TYPE字段:分组类型字段:分组类型1: Hello packet:问候分组(类型:问候分组(类型1)nA 64-byte packet (周期性发送(周期性发送 以保持链路以保持链路 “alive”)2: DBD ( Database Description ),数据库描述分组,数据库描述分组(类型(类型2)路由器间交换网络拓扑数据库路由器间交换网络拓扑数据库3: LSR ( Link-State Request ),链路状态请求分组,链路状态请求分组(类型(类型3)n用于路由器向相邻路由器请求查询
78、特定链路的当前信息用于路由器向相邻路由器请求查询特定链路的当前信息4: LSU ( Link-State Update ),链路状态更新分组,链路状态更新分组(类型(类型4)n对对LSR的响应,通告链路状态的响应,通告链路状态5: LSAck ( Link-State Acknowledgement ),链路状,链路状态确认分组(类型态确认分组(类型5)n对链路状态通告(对链路状态通告(LSA)的确认)的确认4.2.5 LSU分组格式分组格式OSPF common headerOSPF common header24 bytes, Type = 424 bytes, Type = 4R Re
79、ep pe ea at te ed dLSAsLSAs(any combination of different kinds)(any combination of different kinds)# LSAs# LSAs ( 1 byte )( 1 byte )链路状态通告:五种不同类型的任意组合链路状态通告:五种不同类型的任意组合链路状链路状态通告态通告数数lxmlxm7575LSA格式格式H He ea ad de er rLSA dataLSA dataLSLS sequencesequence numbernumberAdvertising Router IDAdvertising
80、Router IDLink state IDLink state IDLS checksumLS checksumlengthlengthLS ageLS ageOptionsOptionsLS typeLS type创建创建LSA的路由器的路由器ID链路状态类链路状态类型:型:5种种lxmlxm7676Link State ID & Link IDnLink state ID in LSA headernLink ID in Router-LSA ( type 1 LSA )LS typeLink State ID1: router-LSAThe originating routers Ro
81、uter ID2: network-LSAThe IP interface address of the networks DR3: summary-LSAThe destination networks IP address4: summary-LSAThe Router ID of the described ASBR5: AS-external-LSAThe destination networks IP addressLink typeLink State ID1: Point-to-point linkNeighbor Router ID2: link to transit netw
82、orkInterface address of DR(指定路由器)(指定路由器)3: link to stub networkIP network address4: virtual linkNeighbor Router IDlxmlxm77774.2.6 OSPF的的LSA类型类型nIntra-area(区域内)(区域内)nType 1: RouterLSAnType 2: NetworkLSAnInter-area(区域间)(区域间)nType 3: SummaryLSAnType 4: SummaryLSAnExternal(AS外)外)nType 5: ASexternalLSAlx
83、mlxm7878Intra-area LSAsnType 1: RouterLSAn由所有路由器创建由所有路由器创建n描述连接真路由器的一条链路描述连接真路由器的一条链路n仅在一个区域内洪泛仅在一个区域内洪泛nType 2: NetworkLSAn由指定路由器由指定路由器DR创建创建n包含连接到该网路的所有路由器包含连接到该网路的所有路由器n仅在一个区域内洪泛仅在一个区域内洪泛lxmlxm7979Inter-area LSAsnType 3: SummaryLSA(汇总链路到网络汇总链路到网络):由:由ABR产生,在其产生,在其所属的每个区域所属的每个区域里中发里中发布布到达其它区域到达其它区
84、域的路由信息的路由信息lxmlxm8080R1/R2:两个路由表(区域:两个路由表(区域1/区域区域2,区域,区域0) 向区域向区域1/区域区域2发布如何到达区域发布如何到达区域0的信息的信息ABS 产生的产生的LSA (汇总链路到网络)(汇总链路到网络) 举例举例当子网当子网当子网当子网1 1恢复连通以恢复连通以恢复连通以恢复连通以后,在子网后,在子网后,在子网后,在子网4 4中收到中收到中收到中收到的链路状态通告的链路状态通告的链路状态通告的链路状态通告lxmlxm8181Inter-area LSAsnType 4: SummaryLSA (汇总链路到汇总链路到ASBR) :由:由ABR
85、产生,在本产生,在本AS内的内的所有区所有区域中域中发布到达发布到达ASBR的路径信息的路径信息lxmlxm8282ABS 产生的产生的LSA (汇总链路到(汇总链路到ASBR) 举例举例lxmlxm8383External LSAsnType 5: ASexternalLSA:由:由ASBR产生,在产生,在本本AS内的某些区域内的某些区域中发布到达中发布到达AS以外网络以外网络的路径信息的路径信息nOriginated by ASBRnDescribes a route to a destination in another ASnFlooded throughout the AS exce
86、pt the stub arealxmlxm8484OSPF LSA Examplen哪些路由器会发送哪些路由器会发送RouterLSA?nSolutionnAll routers advertise router link LSAs. nR1 has two links, Net1 and Net2.nR2 has one link, Net2 in this AS. nR3 has two links, Net2 and Net3lxmlxm8585OSPF LSA Examplen哪些路由器发送的哪些路由器发送的LSA中含有网络信息?中含有网络信息?nSolutionnAll three
87、 network must advertise network links:nR1通告通告Net1nBecause it is the only router and therefore the designated router.nNet2可能由可能由 R1, R2, R3中任意一个通告中任意一个通告ndepending on which one is chosen as the designated router. nR3通告通告Net3 is donenbecause it is the only router and therefore the designated router. l
88、xmlxm8686LSA的发送方式的发送方式nLSA采用组播发送,所有采用组播发送,所有OSPF路由器的组路由器的组播地址都是:播地址都是:n在转接(穿越)网络中,在转接(穿越)网络中,DR和和BDR还具有还具有自己的组播地址:自己的组播地址:224.0.0.6n转接网络中,由于一般路由器只与转接网络中,由于一般路由器只与DR/BDR存存在邻居关系,所以其在邻居关系,所以其LSA将发送到将发送到224.0.0.6lxmlxm8787 OSPF DatabasesnAdjacency database(邻接数据库)(邻接数据库)nAll the neighbors to which a rout
89、er has established bidirectional communicationnUnique for each routernLink-state database(链路状态数据库)(链路状态数据库)nThe relationship between each router and its neighbors nAll routers within an area have identical link-state databasesnForwarding database ( routing table )转发表转发表nThe routes generated when an
90、SPF algorithm is run on the link-state databasenThe routing table on each router is uniquelxmlxm88884.2.7 OSPF 操作操作1. Establish router adjacencies(建立邻接关系)(建立邻接关系)nDone with the exchange of Hellos2. Elect the DR / BDR ( if necessary )如需要选如需要选择择DR/BDRnDone on multiaccess network only3. Discover routes
91、 (发现路由)(发现路由)nDone in the ExStart and Exchange states4. Select appropriate routes 选择合适路由选择合适路由nDone through the calculation of SPF algorithm5. Maintain routing information 维护路由信息维护路由信息nDone through the regular exchange of Helloslxmlxm8989Step 3. Discover routesHello PacketHello PacketABExstartExchan
92、geLoadingFullHello PacketHello PacketDBD PacketDBD PacketDBD PacketDBD PacketLSAck PacketLSAck PacketLSAck PacketLSAck PacketLSR PacketLSR PacketLSU PacketLSU PacketLSAck PacketLSAck Packetlxmlxm9090 5、路径向量路由选择与、路径向量路由选择与BGPn n5.1 路径向量路由选择路径向量路由选择n5.1.1 问题的提出问题的提出n5.1.2 基本思路基本思路n5.2 BGPlxmlxm91915.1
93、 问题的提出问题的提出nRIP与与OSPF适合适合AS内的路由协议内的路由协议n当运行区域变大时,当运行区域变大时,RIP和和OSPF变得不可用变得不可用nRIP变得不稳定,很难收敛变得不稳定,很难收敛nOSPF计算路由表需要大量资源计算路由表需要大量资源n引出引出AS间路由选择间路由选择路径向量路由选择路径向量路由选择Path vector routing一种策略路由选择:一种策略路由选择:基于路径属性选择到达目的地的基于路径属性选择到达目的地的最佳路径最佳路径lxmlxm92925.2 基本思路基本思路n每个每个AS中指定一些发言节点中指定一些发言节点代表整个代表整个ASn发言节点创建到达
94、其他网络的路由表,并将其发言节点创建到达其他网络的路由表,并将其通知给相邻通知给相邻AS中发言节点中发言节点n路由信息:(网络,路径)路由信息:(网络,路径)n路径:路径:AS列表组成列表组成lxmlxm93939494Initial Routing TablesAS 3AS 1AS 2AS 49595Stabilized Routing TablesA1B1C1D1AS1B2B3B4A4A2A3A5C2C3D2D3D4AS2AS3AS433路径向量路由选择路由表路径向量路由选择路由表n路由表:路由表:目的地,目的地,Next-hop,PathnAn ordered list of ASs t
95、hat a packet should travel through to reach the destinationnExamplenLoop preventionn如果自己的如果自己的AS在到达终点路径上,直接丢弃该报文。在到达终点路径上,直接丢弃该报文。NetworkNext RouterPathN01R01 AS14, AS23, AS67N02R05 AS22, AS67, AS05, AS89N03R06 AS67, AS89, AS09, AS34N04R12 AS62, AS02, AS09lxmlxm96964.2 BGP-4n nBorder Gateway Protoco
96、l,BGPn nv4v4:RFC 1771RFC 1771,RFC 1772RFC 1772,边界网关协议,边界网关协议,边界网关协议,边界网关协议 IPLANsMANsWANsICMPIGMPARPRARPNetworkNetworkLayerLayerNetworkNetworkAccess LayerAccess LayerTCPUDPTransportTransportLayerLayerBGP-4ApplicationApplicationLayerLayer179179软件实现层次软件实现层次lxmlxm9797从从BGP的观点来看互联网的观点来看互联网AS10AS10AS20AS
97、20AS30AS30AS50AS50AS40AS40到到AS60的路的路由是:由是:AS20、 AS10、AS30AS60AS60lxmlxm9898AS的类型的类型nStub AS(Single-homed AS,残庄,残庄AS)nOnly one connection to another ASnExample: AS 1, AS 3nMultihomed AS(多归属(多归属AS)nMore than one connection to other ASsnOnly a source or sink for data trafficnnot allow transit traffic t
98、o pass through itnExample: the campus network of UESTCnTransit AS(转接(转接 或穿越或穿越 AS)nA multihomed AS that allows transient trafficnExample: ChinaNET, CERNET, AS 1AS 1AS 2AS 2R RR RR RAS 3AS 3R Rlxmlxm9999外部网关协议实例外部网关协议实例n两个两个AS:CerNet和和ChinaNet沈阳沈阳北京北京上海上海武汉武汉成都成都广州广州CerNetChinaNet担心:存在过度侵占其它担心:存在过度侵占
99、其它AS资源的可能性资源的可能性AS间的路由需求问题间的路由需求问题-不合理路由不合理路由-外部进入的访问保护外部进入的访问保护-穿越穿越AS能力能力(ISP)-穿越穿越AS时选择避开非友时选择避开非友好好AS-存在多条链路的协议交互存在多条链路的协议交互lxmlxm100100BGP,Border Gateway Protocoln一种一种BGP协议协议BGP SpeakerBGP Speaker两个两个AS的多对网的多对网关连接和路由选择关连接和路由选择AS1核心网核心网AS2核心网核心网用少量网关代言用少量网关代言(speaker)所有网所有网关关BGP核心功能核心功能向对方通告本方可达
100、向对方通告本方可达性信息及对应网关性信息及对应网关Net-ANet-BGaGbGcGdBGP基本操作基本操作Gc向对方通告:向对方通告: 效果:效果: 到到Net-A只能通过只能通过Ga 到到Net-B只能通过只能通过Gclxmlxm101101BGP的工作模型的工作模型nBGP对等实体间通信方式对等实体间通信方式n采用采用TCP保持长期连接,交互可达信息保持长期连接,交互可达信息n两端两端BGP路由器不必有直接的链路连接路由器不必有直接的链路连接n向内部路由器通告外部路由向内部路由器通告外部路由BGPBGPTCP连接连接链路链路链路链路向向AS内其它路由内其它路由通告外部路由通告外部路由lx
101、mlxm102102BGP协议交互协议交互nBGP 定义定义5个交互报文个交互报文nOPENn建立于对方建立于对方AS speaker的的BGP通信连接、进行认证等通信连接、进行认证等nUPDATEn通告路由项:增加、删除操作通告路由项:增加、删除操作(核心报文核心报文)nNOTIFICATIONn通告报文出错情况通告报文出错情况nKEEPALIVEn维持和测试通信连接维持和测试通信连接nREFRESHn请求对方重传路由通告请求对方重传路由通告nTCP的好处的好处n可靠的通信,因此不需要应答、重传等复杂交互过程可靠的通信,因此不需要应答、重传等复杂交互过程n为了保证可靠,仍设计了为了保证可靠,
102、仍设计了refresh报文,在需要的时候让对方重传报文,在需要的时候让对方重传lxmlxm103103BGP核心报文解析核心报文解析n通告对方增加和通告对方增加和/或删除的路由项目或删除的路由项目UPDATE(删除删除(路由列表路由列表),新增,新增)到该路由所经过的到该路由所经过的ASAS列表列表该路由下一跳网关该路由下一跳网关Speaker功能功能让对方选择使用或弃用的参考让对方选择使用或弃用的参考网关通过策略控制向网关通过策略控制向对方有选择地通告路对方有选择地通告路由项由项-选择权在通告方选择权在通告方-由由ASAS管理者制定策管理者制定策略略lxmlxm104104BGP的功能的功能
103、n通告可达性通告可达性BGPBGPAS1AS2新增可达区域新增可达区域N3原可达区域原可达区域N1R1R2原可达区域原可达区域N2AS2 BGP通告通告UPDATE(删除删除N1,新增,新增N3(via R1)可访问:可访问:AS2的的N1和和N2网络部分网络部分可访问:可访问:AS2的的N2和和N3网络部分,网络部分,N1部分已不可访问部分已不可访问通知通知R2拒绝来访拒绝来访N1通知通知R1开放开放N3的来访的来访lxmlxm105105BGP协议交互过程协议交互过程n设计交互过程的因素设计交互过程的因素nTCP提供了可靠通信,因此,信息传递是可靠的提供了可靠通信,因此,信息传递是可靠的n
104、通告给对方的可达性信息不会经常改变通告给对方的可达性信息不会经常改变n一旦信息传递发生错误一旦信息传递发生错误(小概率小概率),有恢复措施,有恢复措施n某条链路若出现故障时的预案某条链路若出现故障时的预案n交互过程设计交互过程设计n信息传递及握手过程该如何实现?信息传递及握手过程该如何实现?n可达性信息传递是全部还是部分,周期还是非周期?可达性信息传递是全部还是部分,周期还是非周期?n链路状态如何探测?链路状态如何探测?n出错或重新连接时,如何得到可达性信息?出错或重新连接时,如何得到可达性信息?n链路故障时,采取什么预案,如何交互?链路故障时,采取什么预案,如何交互?lxmlxm106106
105、BGP应用应用Cernet对外路由对外路由n教育网和电信网两个自治系统教育网和电信网两个自治系统n两个网络有多处互连两个网络有多处互连成都成都武汉武汉西安西安北京北京上海上海哈尔滨哈尔滨广州广州成都成都武汉武汉西安西安北京北京上海上海哈尔滨哈尔滨广州广州CernetChinanetUestc校园网校园网从从uestc到新浪网经过的是哪条路?到新浪网经过的是哪条路?从从uestc到清华校园网经过哪条路?到清华校园网经过哪条路?lxmlxm107107BGP应用应用负载均衡负载均衡n为了增加某条链路容量,设置两条或更多的并为了增加某条链路容量,设置两条或更多的并行链路,把网间通信流量均衡分配到这些
106、链路行链路,把网间通信流量均衡分配到这些链路上上n如何用如何用BGP进行流量均衡?进行流量均衡?n方法方法1、。、。n方法方法2、。、。lxmlxm108108BGP小结小结n自治系统间的路由协议自治系统间的路由协议n传递路由可达性信息传递路由可达性信息n可达性路由信息与我们常说的路由信息有什么不同?可达性路由信息与我们常说的路由信息有什么不同?n自治系统对外开放窗口自治系统对外开放窗口nBGP如何处理到达的如何处理到达的IP报文?报文?nBGP交互特性交互特性nTCP可靠连接下的交互可靠连接下的交互n交互过程的特点、实现的功能交互过程的特点、实现的功能n自治系统内应用自治系统内应用n网络之间
107、互联与访问控制网络之间互联与访问控制n例如:我校学院间的互访、与学校其它部门的互访例如:我校学院间的互访、与学校其它部门的互访n负载均衡负载均衡n网络间多条链路的负载平衡网络间多条链路的负载平衡lxmlxm1091095、多播和多播路由选择协议、多播和多播路由选择协议n引言引言n多播特点多播特点nIP多播地址多播地址nIP多播在物理网上是如何实现的?多播在物理网上是如何实现的?n路由器如何掌握子网上是否需要多播?路由器如何掌握子网上是否需要多播?n多播的路由问题多播的路由问题lxmlxm110110引言引言n单播单播(unicast)、广播、广播(broadcast)、多播、多播(multic
108、ast)单播:目的地址单播:目的地址=单播地址单播地址跨子网跨子网本地广播:目的地址本地广播:目的地址=全全1地址地址子网广播:目的地址子网广播:目的地址=子网子网+全全1主机主机某个子网内某个子网内子网广播地址作单播子网广播地址作单播地址看待地址看待多播多播目的地址目的地址=多播地址多播地址跨子网跨子网引言引言nIP协议接收和处理多播报文的条件协议接收和处理多播报文的条件nIP协议加入指定的多播组协议加入指定的多播组IP实体实体报文报文(丢弃报文丢弃报文)未加入多播组时未加入多播组时IP实体实体报文报文(处理报文处理报文)加入了多播组时加入了多播组时每一个多播地址代表一个多播组每一个多播地址
109、代表一个多播组IPIP实体可同时加入多个多播组实体可同时加入多个多播组lxmlxm112112多播的用途多播的用途n子网内路由器多播子网内路由器多播nRIP路由器之间用多播传播路路由器之间用多播传播路由信息由信息nIPTVn一路电视网上只有一个视频流一路电视网上只有一个视频流n极大减轻网络负担极大减轻网络负担n多播在多播在Internet应用广泛应用广泛nVODnNet-Meetingn远程教学远程教学nTV1TV2lxmlxm113113多播特点和多播类型多播特点和多播类型n多播组多播组n多播组由多播地址来定义多播组由多播地址来定义n站点加入多播组来接收多播报文站点加入多播组来接收多播报文n
110、加入多播组:设置接口允许接收该多播地址的报文加入多播组:设置接口允许接收该多播地址的报文n退出多播组:设置接口禁止接收该多播地址的报文退出多播组:设置接口禁止接收该多播地址的报文n多播域多播域n多播的传播范围,最大范围是多播的传播范围,最大范围是AS内所有子网内所有子网n站点站点n可随时加入或退出一个或多个多播组可随时加入或退出一个或多个多播组n多播路由器多播路由器n专门的多播路由器专门的多播路由器n或在常规路由器中增加多播路由功能或在常规路由器中增加多播路由功能lxmlxm114114IP多播地址多播地址n地址范围地址范围n,共,共228个多播地址个多播地址n每个多播地址定义一个多播组每个多
111、播地址定义一个多播组n多播地址属性多播地址属性n子网多播地址:多播域有效范围在一个子网内子网多播地址:多播域有效范围在一个子网内n全局多播地址全局多播地址n每个多播地址的用途在所有多播域是一致的每个多播地址的用途在所有多播域是一致的n如同电话的如同电话的110,119等等n本地多播地址本地多播地址n多播用途只在该多播域内有效,其它多播域可重用多播用途只在该多播域内有效,其它多播域可重用lxmlxm115115IETF规定的一些规定的一些IP多播地址多播地址n:本子网上的所有站点:本子网上的所有站点n:本子网上的所有路由器:本子网上的所有路由器n:多播域内所有:多播域内所有OSPF路由器路由器n
112、:多播域内所有:多播域内所有RIP路由器路由器n:移动代理:移动代理n:语音新闻广播:语音新闻广播n:未定义,本地多播:未定义,本地多播n:多媒体会议:多媒体会议n:未定义,本地多播:未定义,本地多播n:未定义,本地多播:未定义,本地多播lxmlxm116116IP多播技术多播技术nIP多播如何在多播如何在IP子网内实现?子网内实现?n路由器如何掌握和管理子网内的多播组?路由器如何掌握和管理子网内的多播组?n路由器如何为多播选择路由路由器如何为多播选择路由(多播路由多播路由)?lxmlxm117117IP多播在子网内实现多播在子网内实现nIP多播实现策略多播实现策略n利用物理网的多播机制利用物
113、理网的多播机制n或利用物理网的广播机制或利用物理网的广播机制n关键是让组播成员收到应该收到的组播报文关键是让组播成员收到应该收到的组播报文n非多播成员收到多网报文会自动滤除非多播成员收到多网报文会自动滤除n局域网都支持多播和广播局域网都支持多播和广播n广域网通常不支持多播和广播广域网通常不支持多播和广播n则采用单播方式实现多播则采用单播方式实现多播n在支持多播的物理网上实现多播在支持多播的物理网上实现多播n如:以太网具备多播功能如:以太网具备多播功能n关键问题是关键问题是IP多播地址到多播地址到 物理网地址映射物理网地址映射lxmlxm118118以太网上实现多播以太网上实现多播n以太网的多播
114、机制以太网的多播机制n多播地址多播地址=1xxxxxxxxxxxxxxxx (x不全为不全为1)MACMACMACMACMAC多播组列表多播组列表MAC协议中需配置多播组列表协议中需配置多播组列表MAC接收以太网帧种类:接收以太网帧种类:目的地址目的地址=自身自身目的地址目的地址=广播地址广播地址目的地址目的地址 in (多播组列表多播组列表)配置接口配置接口MAC最多设最多设16个多播地址个多播地址当地址多于当地址多于16个时,个时,MAC进入全收状态进入全收状态lxmlxm119119IP多播映射到多播映射到MAC多播多播nIP多播到以太网多播多播到以太网多播nIETF规定的映射规则规定的
115、映射规则n将将IP多播地址的低多播地址的低23bit放置到放置到MAC地址的低地址的低23bit上上B01110xxxxB1xxxxxxxxB2xxxxxxxxB3xxxxxxxx01005E000000IP地址地址MAC地址地址IPMAC发送:以太网多播地址发送:以太网多播地址=ARP(IP多播地址多播地址)接收:根据多播组地址列表进行过滤接收:根据多播组地址列表进行过滤IP多播多播组列表组列表lxmlxm120120接收多播报文接收多播报文n以太网接收多播报文以太网接收多播报文nMAC对接收帧的过滤,只接收规定目的地址的帧对接收帧的过滤,只接收规定目的地址的帧nIP接收多播报文接收多播报文
116、n加入多播组加入多播组设置设置MAC实体的多播表实体的多播表n加入多个多播组加入多个多播组=多次设置多次设置MAC实体的多播表实体的多播表(设置计数加设置计数加1)nIP实体退出多播实体退出多播n撤销加入多播组撤销加入多播组=撤销撤销MAC多播表对应地址多播表对应地址(设置计数减设置计数减1)nMAC的设置计数为的设置计数为0,则删除对应多播,则删除对应多播MAC地址地址MACSAP=0800HIP允许接收:允许接收:1、目的、目的MAC是自己是自己2、目的、目的MAC是广播是广播3、目的、目的MAC是预设的多播是预设的多播MAC之一之一多播表多播表未加入多播组的站点不会收到多播报文未加入多播
117、组的站点不会收到多播报文lxmlxm121121IP多播管理协议多播管理协议(IGMP)n路由器掌握子网的多播组信息,能更高效地实现多路由器掌握子网的多播组信息,能更高效地实现多子网区域的多播中继子网区域的多播中继n见示意图见示意图nIGMP协议功能协议功能n站点向路由器报告加入或退出某个多播的情况站点向路由器报告加入或退出某个多播的情况n路由器查询子网的多播组情况路由器查询子网的多播组情况IPIPIP若路由器知道若路由器知道B网没有多播组网没有多播组1的成员,的成员,则可以不向则可以不向B网转发多播组网转发多播组1的报文的报文BA多播组多播组1MACIPIGMP内部接口内部接口lxmlxm1
118、22122IGMP协议协议n路由器掌握子网的多播组情况,是实现多子路由器掌握子网的多播组情况,是实现多子网区域组播的关键网区域组播的关键(将多播报文从其它子网将多播报文从其它子网中继进来中继进来)n站点加入或退出多播组时,需向物理网的路由器站点加入或退出多播组时,需向物理网的路由器报告报告n站点需确信路由器掌握自己加入多播组信息站点需确信路由器掌握自己加入多播组信息IPAlxmlxm123123IGMP协议设计协议设计n路由器查询、站点报告的协议路由器查询、站点报告的协议n使用多播机制使用多播机制(224.0.0.1)实现实现IGMP协议通信协议通信n路由器查询(路由器查询(查询范围,路由器接
119、口所在的子网)查询范围,路由器接口所在的子网)n周期性查询,重新登记多播组记录周期性查询,重新登记多播组记录n发出查询时,路由器将发出查询时,路由器将“清空清空”组播记录组播记录n成员报告成员报告n每个组有一个成员发出报告即可每个组有一个成员发出报告即可IPIPIPIPIPIPIPIP组1组1组2定期查询定期查询(125s)报告报告lxmlxm124124IGMP协议说明协议说明n使用多播机制使用多播机制(224.0.0.1)实现实现IGMP通信通信n不参与多播的站点不受干扰不参与多播的站点不受干扰n加入多播组的站点,一定同时要加入组加入多播组的站点,一定同时要加入组n路由器实际上只关心子网上
120、有哪些多播组路由器实际上只关心子网上有哪些多播组n哪些多播报文需要向该子网转发,与成员多少无关哪些多播报文需要向该子网转发,与成员多少无关n查询时清空记录,以清空不存在的多播组查询时清空记录,以清空不存在的多播组n站点报告站点报告n组内有一个成员报告即可组内有一个成员报告即可n路由器中有了多播组记录,站点才能成为多播组成员路由器中有了多播组记录,站点才能成为多播组成员n在向路由器报告前,站点不算成员,故称为在向路由器报告前,站点不算成员,故称为“延迟的成员延迟的成员”lxmlxm125125多播组成员状态转换多播组成员状态转换n路由器周期性查询,站点的多播成员也随着路由器周期性查询,站点的多播
121、成员也随着周期性发生改变周期性发生改变n路由器开始查询时,站点暂时退出路由器开始查询时,站点暂时退出“正式正式”成员,成员,直到发出报告为止直到发出报告为止n站点刚加入某多播组时,不清楚路由器是否有该站点刚加入某多播组时,不清楚路由器是否有该组的记录,所以站点不能算正式成员组的记录,所以站点不能算正式成员非成员非成员延迟的延迟的成员成员成员成员加入加入/ /定时定时退出退出/ /取消定时取消定时超时超时/ /发出报告发出报告其它站点报告其它站点报告/ /取消定时取消定时计数为计数为0/0/退出群组退出群组查询查询/ /定时定时lxmlxm126126IGMP报文格式报文格式nIGMPv3比以前
122、版本有较大改变,但基本思路没变比以前版本有较大改变,但基本思路没变n查询报文查询报文n通用查询功能:要求任何群组都发出报告通用查询功能:要求任何群组都发出报告n特定查询功能:要求报文中指定的群组发出报告特定查询功能:要求报文中指定的群组发出报告n报告报文报告报文n站点在报告中列出自己加入的一个或多个群组站点在报告中列出自己加入的一个或多个群组nIGMP目前的不足目前的不足nIGMP没有为站点提供多播地址查询功能没有为站点提供多播地址查询功能n除了永久分配的群组地址,站点不知道该子网上正在使用或可除了永久分配的群组地址,站点不知道该子网上正在使用或可以使用哪些群组地址,也不知道这些群组地址的用途
123、,也无法以使用哪些群组地址,也不知道这些群组地址的用途,也无法查询查询n没有站点主动退出时的报告机制没有站点主动退出时的报告机制(造成路由器定时清空处理造成路由器定时清空处理)lxmlxm127127多播转发和多播路由多播转发和多播路由n多子网区域的多播,路由器转发多播报文多子网区域的多播,路由器转发多播报文n多播转发的特征:多播转发的特征:n动态:成员在动态变化动态:成员在动态变化n无方向性:应该向各处转发无方向性:应该向各处转发ABC动态路由选择:动态路由选择:1、当网络、当网络C没有该多播组成员时,路由没有该多播组成员时,路由器不应该向网络器不应该向网络C转发多播报文转发多播报文2、网络
124、、网络C的其它站点也可向该组发送多的其它站点也可向该组发送多播报文,路由器应该转发此报文播报文,路由器应该转发此报文2、当网络、当网络C有站点加入该多播组时,路有站点加入该多播组时,路由器应当向网络由器应当向网络C转发多播报文转发多播报文某多播组成员多播路由环路:多播路由环路:多播的路由极易形成环路多播的路由极易形成环路lxmlxm128128用洪泛方式实现多播用洪泛方式实现多播n思想:确保多播报文送达多播域各处思想:确保多播报文送达多播域各处n从一个接口收到多播,向其余接口转发从一个接口收到多播,向其余接口转发n洪泛控制洪泛控制n转发次数控制(转发次数控制(IP报文中的报文中的TTL值)值)
125、n序号控制转发序号控制转发(IP报文中的报文中的ID值值)n记住并停止转发已转发过的多播报文记住并停止转发已转发过的多播报文(源源IP,ID)第第k次转发次转发1223333k333极易形成极易形成“广播风暴广播风暴”lxmlxm129129用洪泛方式实现多播用洪泛方式实现多播n洪泛的性能洪泛的性能n多播报文在网络中的信道出现次数多播报文在网络中的信道出现次数AA处发出多播报文处发出多播报文计算计算TTL控制法和序号控制法的洪泛性能控制法和序号控制法的洪泛性能lxmlxm130130经典的多播路由经典的多播路由n反向路径转发反向路径转发(RPF)n与单播路由结合,实现多播转发与单播路由结合,实
126、现多播转发AG1G2目的目的Next接口接口Net1ANet1G11233当当G2从接口从接口3收到源为收到源为A的多播报文时,向其余接口转发的多播报文时,向其余接口转发当当G2从其它接口收到源为从其它接口收到源为A的多播报文时,拒绝转发的多播报文时,拒绝转发G2关于关于Net1的路由表项的路由表项与路由方向相反时转发多播,否则拒绝与路由方向相反时转发多播,否则拒绝lxmlxm131131经典的多播路由经典的多播路由n截尾反向路径转发截尾反向路径转发(TRPF)n对对RPF的多播性能改进的多播性能改进ANet1Net2R1R2R3R4R5R61、当、当Net2中中没有没有站点加入站点加入A的多
127、播组时,的多播组时,R3应该应该不再不再向向R4转发多播报文转发多播报文2、当、当Net2中中又有又有站点加入站点加入A的多播组时,的多播组时,R3应该应该恢复恢复向向R4转发多播报文转发多播报文lxmlxm132132反向路径多播反向路径多播(RPM)nRPM本质同本质同TRPFn增加路由器之间的多播组信息传递,动态修剪树枝增加路由器之间的多播组信息传递,动态修剪树枝n广播并剪除广播并剪除(截尾技术截尾技术)n如果某路由器下没有该多播组成员,则将此信息如果某路由器下没有该多播组成员,则将此信息(剪除请求剪除请求)通知路通知路径的上一路由器,从而在多播传输上剪除该树枝径的上一路由器,从而在多播
128、传输上剪除该树枝n实现该截尾技术的条件是,第一个多播尽可能传递到所有子网,让实现该截尾技术的条件是,第一个多播尽可能传递到所有子网,让路由器知道多播源站的方向,便于回溯多播信息路由器知道多播源站的方向,便于回溯多播信息n嫁接请求嫁接请求n若某路由器获知又有站点加入该多播组,则向上一路由器发出嫁接若某路由器获知又有站点加入该多播组,则向上一路由器发出嫁接请求,把剪除的树枝再接上请求,把剪除的树枝再接上第一次多播用第一次多播用“广播广播”到所有子网,路到所有子网,路由器才考虑多播树的方向由器才考虑多播树的方向然后路由器开始考虑发送然后路由器开始考虑发送“剪除请求剪除请求”剪除剪除剪除剪除嫁接嫁接l
129、xmlxm133133多播树多播树n树可能是实现多播转发的树可能是实现多播转发的“最好最好”的方法的方法n树的形状树的形状n根、枝、叶根、枝、叶nRPF、TRPF、RPM的树的树n是一个以多播源站为是一个以多播源站为“根根”的树的树n值得思考的是值得思考的是n一个网络上有多个多播源,就有了多颗树一个网络上有多个多播源,就有了多颗树n路由器就需要为多棵树考虑不同方向的转发路由器就需要为多棵树考虑不同方向的转发n记录每个记录每个 (多播群组,源站)(多播群组,源站)n问题的复杂性在于:问题的复杂性在于:n网络有多个群组网络有多个群组n每个群组有多个源每个群组有多个源(多播群组多播群组1,源站源站1
130、1) (多播群组多播群组1,源站源站12) (多播群组多播群组1,源站源站13)(多播群组多播群组2,源站源站21) (多播群组多播群组2,源站源站22) (多播群组多播群组2,源站源站23)(多播群组多播群组3,源站源站31) (多播群组多播群组3,源站源站32) (多播群组多播群组3,源站源站33)多播组多播组1多播源多播源1转发接口转发接口1转发接口转发接口2转发接口转发接口3多播源多播源2转发接口转发接口1转发接口转发接口2多播组多播组2lxmlxm134134核心基干树核心基干树(CBT)n考虑图论考虑图论“树根树根”的性质的性质n树的任意树的任意“点点”都可以看作树根都可以看作树根
131、n由此,网络上只需要一颗多播树即可由此,网络上只需要一颗多播树即可(共享树共享树)n即使没有即使没有“最短路径最短路径”的优势的优势n可以在网络拓扑的众多树中选择一颗可以在网络拓扑的众多树中选择一颗“最佳最佳”的树的树n每个路由器只需考虑自己的哪些接口是每个路由器只需考虑自己的哪些接口是“树枝树枝”nCBT的形成:静态的形成:静态+动态动态n静态:静态:n把网络划分成多个把网络划分成多个“区段区段”,指定区段内,指定区段内“核心路由器核心路由器”n动态:动态:n其它路由器通过其它路由器通过“发现机制发现机制”找到找到“核心路由器核心路由器”,形成,形成区段内的树区段内的树树枝树枝树枝树枝树枝树
132、枝lxmlxm135135多播多播从任意节点进行多播,多播到所有节点从任意节点进行多播,多播到所有节点lxmlxm136136多播树多播树从任意节点进行多播从任意节点进行多播只需要树上的几个节点实现多播报文转发和多播发送只需要树上的几个节点实现多播报文转发和多播发送lxmlxm137137PIMDM、SMnPIM: Protocol Independent Multicastn实际指:本身与单播路由协议有关,但仅实际指:本身与单播路由协议有关,但仅用单播路由表来建用单播路由表来建立多播树立多播树nPIM-DMn密集模式,站点密集的子网组成的多子网区域密集模式,站点密集的子网组成的多子网区域n多
133、播技术:多播技术:RPMn多播报文向所有路由器扩散,直到收到某路由器多播报文向所有路由器扩散,直到收到某路由器“剪除请求剪除请求”后,后续报文才不向该路由器扩散后,后续报文才不向该路由器扩散nPIM-SMn稀疏模式,网络上有很多点对点信道稀疏模式,网络上有很多点对点信道n多播技术:多播技术:CBTn指定一个指定一个“多播汇聚点多播汇聚点”的路由器的路由器(只有一个区段的只有一个区段的CBT技术技术)lxmlxm138138可靠多播?可靠多播?n一般情况下,广播和多播都不采用可靠传输技术一般情况下,广播和多播都不采用可靠传输技术n可靠传输技术可靠传输技术(按序按序)需要应答和重传机制需要应答和重
134、传机制n如果要实现可靠多播,主要问题在于:如果要实现可靠多播,主要问题在于:n所有多播成员都向多播源发送所有多播成员都向多播源发送ACK信息、或请求重传信息、或请求重传n多播源站无法承受非常多、来自多个子网的多播源站无法承受非常多、来自多个子网的ACKn如果非要实现可靠多播,该怎么办?如果非要实现可靠多播,该怎么办?n确认聚集器:分散处理确认聚集器:分散处理ACK应答应答多子网区域多子网区域1多子网区域多子网区域2多子网区域多子网区域3确认聚集器确认聚集器缓存多播报文,处理缓存多播报文,处理ACK及重传及重传减少减少ACK措施措施 不使用不使用ACK,仅使用,仅使用NAKlxmlxm139139多播小结多播小结nIP的的D类地址为多播地址类地址为多播地址nIP多播要求物理子网至少支持广播通信多播要求物理子网至少支持广播通信n点对点的子网除外点对点的子网除外n子网内的多播群组是动态变化的子网内的多播群组是动态变化的n多播分为:本地多播和多子网区域多播多播分为:本地多播和多子网区域多播nIGMP:供路由器掌握子网的多播群组情况:供路由器掌握子网的多播群组情况n路由器增加多播报文转发功能路由器增加多播报文转发功能n依靠依靠“树树”形拓扑形成多播路由形拓扑形成多播路由nRPF、TRPF、RPM、CBT、n靠分散处理靠分散处理ACK来实现可靠多播来实现可靠多播lxmlxm140140