计算机网络 第七章 网络层优秀课件.ppt
计算机网络第七章网络层第1页,本讲稿共155页17.1.1通信子网的内部操作在OSI参考模型中,网络层是网络中继节点中的最高层,所以网络层体现通信子网向端系统所提供的网络服务。数据网络中的网络服务使用最多的通信方式就是分组交换(packetswitch)网络中的虚电路和数据报虚电路和数据报方式。第2页,本讲稿共155页27.1.1通信子网的内部操作虚电路方式中,为进行数据传输,源和目的节点间必须为分组的传输预先建立一条逻辑通路。端系统端系统C C2D DE EF F3 31 14 46 65 57 7B BA A 通信网络节点通信网络节点第3页,本讲稿共155页37.1.1通信子网的内部操作图中,A要给F传送几个消息:首先它给节点4发送一个特殊的分组:Call-Request;节点4根据网络的具体情况决定选择节点5作为该逻辑通路上的下一个节点,并把该控制分组送给节点5;同样该控制分组接着由节点5传递给节点6,最后到达目的站点F。如果目的站点F准备接收该连接建立请求,沿着该逻辑通路的反方向即F-6-5-4-A发送Call-Accept控制分组给源站点A,这样就建立一条A和F之间的逻辑通道A-4-5-6-F。第4页,本讲稿共155页47.1.1通信子网的内部操作在逻辑通道建立好之后,站点A和站点F之间就可以相互传输数据了,所有分组是沿着该逻辑通道传输的,即一个逻辑通道中所有分组传输的路由是固定的,而且只需在连接建立时进行一次路由选择。最后站点A或站点F可以发送Clear-Request分组来释放该逻辑通道。这种传输数据的逻辑通道和电路交换网中的电路类似,叫做虚电路。第5页,本讲稿共155页57.1.1通信子网的内部操作虚电路特点虚电路不是专用的电路,分组仍然在每个节点处首先缓冲起来,并排队等待转发。每个节点到其它节点之间可能同时有若干条虚电路,也可能同时与多个节点间存在虚电路。每条虚电路支持特定的两个端系统之间的数据传输,两个端系统之间也可以有多条虚电路为不同的进程服务,这些虚电路的实际路由可能相同,也可能不同。虚电路标识方法,虚电路标示只具有本地意义,即虚电路的标示号不具有全局性。第6页,本讲稿共155页67.1.1通信子网的内部操作数据报方式中,每个分组的传送是被单独数据报方式中,每个分组的传送是被单独处理的,与先前传送的分组无关。每个分处理的,与先前传送的分组无关。每个分组被称为一个数据报组被称为一个数据报。数据报特点每个数据报自身必须包含有目的端的完整地址信息。一个节点接收到一个数据报后,根据数据报中的地址信息和节点所存储的路由信息,找出一个合适的出路,把数据报原封不动地发送到下一个节点。第7页,本讲稿共155页77.1.1通信子网的内部操作发送端要发送一个报文时,把报文拆装成若干个带有序号和地址信息的数据报,依次发送到网络节点。各个拆散的数据报所经过的路径可能会各不相同,因为各个节点会随时根据网络的流量、故障等情况来选择路由。因此各个数据报的到达没法保证是按发送顺序到达,甚至有的数据报可能丢失。整个数据报传输过程中,没有虚电路的建立没有虚电路的建立,但要为每个数据报作路由选择。第8页,本讲稿共155页87.1.1通信子网的内部操作虚电路子网与数据报子网的比较数据报子网虚电路子网延时分组传输延时电路建立,分组传输延时路由选择每个分组单独选择路由建立虚电路时选择路由,以后所有分组都使用该路由状态信息子网无需保存状态信息每个节点要保存一张虚电路表地址每个分组包括源端和目的端的完整地址每个分组含有一个短的虚电路号节点失败的影响除了在崩溃时正在由该节点处理的分组都丢失外,无其它影响所有经过失效节点的虚电路都要被终止拥塞控制难如果有足够的缓冲区分配给已经建立的虚电路,则容易控制第9页,本讲稿共155页97.1.2网络层提供的服务网络层为运输层提供服务,它常常是通信网络层为运输层提供服务,它常常是通信子网的边界子网的边界。网络层向运输层提供的服务应具有以下特点:服务与通信子网的技术无关。通信子网的数量、类型和拓扑结构对运输层透明。运输层得到的网络地址应该采用统一的编码方式,即使跨越了多个局域网和广域网时也是如此。第10页,本讲稿共155页10网络层向运输层提供两种服务方式面向连接(虚电路)服务方式面向连接(虚电路)服务方式网络层向运输层提供的一种可靠的数据传送方式,所有分组按照发送顺序到达。进行数据交换的两个端系统之间有一条虚电路(网络连接)为它们服务。无连接(数据报)服务方式无连接(数据报)服务方式通信子网内部节点按数据报方式交换数据,而与端系统相连的网络节点向端系统提供虚电路服务。组合方式虚电路子网上提供的数据报服务。例:在ATM子网上运行IP。7.1.2网络层提供的服务第11页,本讲稿共155页11网络层向运输层提供的通信服务方式总结通信子网向端系统所提供的网络服务有面向连面向连接(虚电路)和无连接(数据报)接(虚电路)和无连接(数据报)两种。通信子网内部的工作方式分为虚电路和数据报虚电路和数据报两种方式。两种方式。通信子网提供的网络服务和通信子网内部选择的工作方式是虚电路还是数据报方式是无关虚电路还是数据报方式是无关的,也就是说接口和子网内部对虚电路和数据报的选择有4种组合。7.1.2网络层提供的服务第12页,本讲稿共155页124种组合的通信:7.1.2网络层提供的服务向主机提供的服务虚电路(面向连接)数据报(无连接)虚电路子网通信子网工作方式数据报子网ATM AAL1运行于ATMUDP运行于IP运行于ATMTCP运行于IPUDP运行于IP例:例:例:例:第13页,本讲稿共155页13虚电路服务与数据报服务的本质差别表现在:虚电路服务与数据报服务的本质差别表现在:是把顺序控制、差错控制和流量控制等通信功是把顺序控制、差错控制和流量控制等通信功能交给通信子网去完成,还是由端系统自己来能交给通信子网去完成,还是由端系统自己来完成。完成。两种服务的优缺点各自参半,就看具体的应用背景如何。7.1.2网络层提供的服务第14页,本讲稿共155页147.2路由选择在通信子网内部,分组从一个网络节点转移到另外一个网络节点,直至到达目的用户所连接的网络节点,分组在其中的转发过程成为路由选择转发过程路由选择转发过程。对于通信子网内部采用虚电路方式的,在分组源端点要发送数据之前,会先做路由选择,在源端点连接的网络节先做路由选择,在源端点连接的网络节点到目的端点连接的网络节点之间建立一条虚电路点到目的端点连接的网络节点之间建立一条虚电路。对于通信子网内部采用数据报方式的,每个网络节点根据分组到达的目的地址,根据网络参数情况决定分组传输的路网络参数情况决定分组传输的路由线路由线路。第15页,本讲稿共155页157.2.1路由的特征和要素路由算法的基本特性:正确性(correctness)简单性(simplicity),减小路由算法的复杂度以及系路由系统的开销健壮性(robustness),能够适应网络结构的变化,保证路由选择的有效性稳定性(stability),能够适度反映网络的变化,不会因为网络结构的变化而导致动荡的路由选择。公平性(fairness),找到一种合适的网络路由选择策略最优性(optimality)高效性(efficiency),能够充分利用网络链路资源,减少分组在通信子网中的传递时间第16页,本讲稿共155页167.2.1路由的特征和要素性能标准跳段数、花费、延迟、吞吐量路由选择时机数据报、虚电路路由判决地点每个节点(分布式)、中心节点(集中式)、始发节点(源)网络信息来源无来源、本地、相邻节点、路由中的节点、所有节点路由选择方式静态方式、动态方式网络信息更新时间连续更新、定期更新、显著负载变化、拓扑变化路由算法的技术要素:第17页,本讲稿共155页177.2.2最佳路由算法路由算法的目的是找到一条从源到目的地的一条路由算法的目的是找到一条从源到目的地的一条“最好最好”路径路径(通常是指具有最小花费的路径最小花费的路径)。花费花费可能是距离、信道带宽、平均通信量、通信开销、队列平均距离、信道带宽、平均通信量、通信开销、队列平均长度、测量到的时延和其它一些因素的综合长度、测量到的时延和其它一些因素的综合。即,给定一个代表该网络的图,找到一条由一系列链路组成的路径,其中:路径中的第一条链路连接到源。路径中的最后一条链路连接到目的地。对应所有的i,路径中的第i和i-1条连接到同一个节点上。最小花费路径:源到目的地之间所有可能的路径的链路花费总和最小。(若所有的链路花费相同,则最小花费路径即最短路径。)第18页,本讲稿共155页18Dijkstra前向搜索算法前向搜索算法每个结点用从源节点沿已知最佳路径到本节点的距离来标注。开始一条路径也不知道,故所有节点都标注为无穷大。随着算法的进行不断找到新的路径,标注也随之改变,使之反映出较好的路径。一个标注可以是临时的,也可以是永久的。最初所有的标注都是临时的,当发现标注代表了从源节点到该节点的最短路径时,就成为永久标注。7.2.2最佳路由算法第19页,本讲稿共155页197.2.2最佳路由算法Dijkstra算法例H(,-)D(,-)D(,-)B(2,A)ABCDEFGHAB(2,A)C(,-)D(,-)E(,-)F(,-)G(6,A)H(,-)2732232246AB(2,A)C(9,B)E(4,B)F(6,E)G(5,E)AB(2,A)C(9,B)G(5,E)H(8,F)AB(2,A)C(9,B)D(,-)E(4,B)F(6,E)G(5,E)H(9,G)AC(9,B)D(,-)E(4,B)F(,-)G(6,A)H(,-)E(4,B)F(6,E)(a)(b)(c)(d)(e)(f)第20页,本讲稿共155页207.2.3静态路由方式路由选择方式包括静态路由和动态路由静态路由和动态路由静态路由不根据实际测量的或估计的网络静态路由不根据实际测量的或估计的网络当前通信量和拓扑结构来作路由选择,路当前通信量和拓扑结构来作路由选择,路由选择是按照某种固定的规则、使用初始由选择是按照某种固定的规则、使用初始静态信息来进行静态信息来进行的,又称为非自适应(non-adaptive)路由。扩散法固定路由选择随机路由选择基于流量的路由选择第21页,本讲稿共155页21扩散法一个网络节点从某条输入线路收到一个分组之后,把该分组从除了分组到来的线路外的所有其他输出线路上发出。会产生大量的重复分组。用于健壮性要求很高的场合。还可被用来分发信息、判断可达性、找到最短路径等。7.2.3静态路由方式第22页,本讲稿共155页22固定路由选择固定路由选择每个网络节点存储有一张表格(路由表),表格的每一项记每个网络节点存储有一张表格(路由表),表格的每一项记录着为了到达某个目的节点而选择的下一节点或链路,而不录着为了到达某个目的节点而选择的下一节点或链路,而不是记录到该目的节点的所有中间节点。是记录到该目的节点的所有中间节点。当一个分组到达某节点时,节点只要根据分组中的地址信息从固定路由表中找出对应的目的节点及所应选择的下一节点,将分组转发给该下一节点。优点:简单,适合于在一个负载稳定、拓扑变化不大的网络中运行。缺点:灵活性较差,无法对网络的拥塞和故障作出反应。一个改进办法就是在最优路由的下一节点之外提供几个替换节点,并且可以使这些替换节点的使用符合一定的概率。7.2.3静态路由方式第23页,本讲稿共155页23随机路由选择随机路由选择当分组到达节点后,随意选择一条输出线路进行转发。节点为分组选择的输出线路是在所有相邻节点中随机选取的,在所有相邻节点中随机选取的,使用概率数,使得每个输出线路的选择符合预定的概率使用概率数,使得每个输出线路的选择符合预定的概率。若概率相等,则只是简单地循环选择下一节点。概率数的分配考虑到了网络的拓扑与容量,但是还是有随机性的,而且可能分组会一直在网络中传递,从而无法到达目的地。由于实际选择的路由不一定是最佳路由,因此增加了不必要的负载,而且分组传输延迟也不可预料,所以这种方法很方法很少使用少使用。7.2.3静态路由方式第24页,本讲稿共155页24基于流量的路由选择是一种既考虑拓扑结构又兼顾负载的静态路由考虑拓扑结构又兼顾负载的静态路由算法算法。基本思路:对某一给定的线路,如果已知负载已知负载量与平均流量量与平均流量,那么可以根据排队论的知识计算出该线路上的平均分组延迟。由所有的线路平均延迟,可直接计算出流量的加权平均值,从而得到整个网络的平均分组延迟平均分组延迟。这样找出网络最小平均延迟就可以实现最优路由选择。7.2.3静态路由方式第25页,本讲稿共155页257.2.4动态路由方式静态路由(StaticRouting)路由很少变化,由网管人员人工配置。常用于规模很小的网络。因节点故障时没法自没法自动发现和调整路由,需要人工干预动发现和调整路由,需要人工干预。动态路由(DynamicRouting)又称自适应(adaptive)路由:路由器之间交换路由信息,根据它所了解到的网络信息计算计算最佳路由最佳路由,以设法适应网络流量、拓扑的变化。现代计算机网络更多地使用动态路由方式现代计算机网络更多地使用动态路由方式。第26页,本讲稿共155页267.2.4动态路由方式动态路由算法在节点间交换的信息和所带来的开销间要有一个平衡。交换的信息越多,交换的频率越频繁,节点越能更好地作出路由选择。与此同时,这些交换的信息也会对网络的负载有影响,如果信息过多会严重影响网络的性能。第27页,本讲稿共155页277.2.4动态路由方式精心设计的动态路由算法必须考虑到:路由选择算法非常复杂,故可能增加网络节点的处理负担。大多数情况下,动态方式会使用别的节点来的状态信息来进行路由选择,因此会增加网络中的负载。一个动态路由算法有时会因反应太快而引起振荡,或者反应太慢而起不到作用。第28页,本讲稿共155页287.2.4动态路由方式根据网络状态信息的来源,动态路由方式分为三类:孤立路由选择集中路由选择分布路由选择它们分别对应着网络状态信息网络状态信息的三种来源:本地所有节点相邻节点第29页,本讲稿共155页29孤立路由选择每个节点并不利用其它节点来的网络信息,仅仅根据它自己所看到的情况来确定路由。最短等待法,具有最短队列的链路作为最好路由逆向学习算法(backwardlearning),根据逆向的路由节点数,逆向节点数最少的链路做最好路由。7.2.4动态路由方式第30页,本讲稿共155页30集中路由选择根据所有节点的网络信息来选择路由的。和固定路由选择一样,每个节点都保存了一张当前的路由表,同样也可以通过为最优路由的下一节点指定替换路径,或者不指定替换路径。和固定路由的区别在于:固定路由算法中表格的建立是手工完成的。而集中路由选择中表格的建立是由网络中设置的一个路由控制中心RCC来集中完成的(收集、计算、分发)。7.2.4动态路由方式第31页,本讲稿共155页31分布路由选择根据来自于相邻节点的信息,通过一个最短花费路由算法计算出到每个目的地的路由,分布路由选择算法得到了广泛的使用。距离向量路由选择每个节点只知道直接连接的链路花费。根据从相邻节点了解到的到目的地的路径花费来计算。信息交换量大。链路状态路由选择每个节点了解全局网络拓扑(链路状态)和链路花费。根据从全网络其他节点了解到的全局网络情况来计算。计算量大。7.2.4动态路由方式第32页,本讲稿共155页327.2.4动态路由方式距离向量路由(DistanceVectorRouting)选择基本思路每个节点都保存有一张路由表,每一项对应着一个目的地,包括:到对应的目的地的路由中的下一节点标识测量出的到目的地的距离的度量值(metric)初始化时,对于它所能直接相连的目的地,置为0(表示直接连接,无需经过别的路由器);其它置为。每个节点把它的路由表定期向它的相邻节点(直接连接)传递。第33页,本讲稿共155页337.2.4动态路由方式基本思路(续)当节点K从节点J接收一个更新消息后,它对到每个目的地的路由和距离度量进行检查。如果J知道一条到目的地的更短的路径,节点K更新该目的地对应的下一节点标识和距离度量;如果J列出了一个K还没有记录的有关某个目的地的路径,节点K会向表中增加一项;如果K记录的下一节点标识为J,并且J所报告的到目的地的距离改变了,也会更新路由表中的距离度量。即如果J报告到目的地的距离为N,则节点K所计算出的距离为N+d(J,K)。第34页,本讲稿共155页347.2.4动态路由方式距离向量路由算法表示1)初始化。对于每个节点G,对所有它直接连接的目的地N,路由表中的表项用三元组(N,G,0)来表示,即从节点G到目的地N无需经过转发。2)节点G定期发送它的路由表给相邻节点。更新信息中对应着每一个目的地N用一个三元组来表示(N,V,D),即到目的地N的路由上的下一节点为V,G到N的距离为D。3)节点G收到G送来的路由信息,对于更新信息中给出的每个目的地,在G的路由表中查找相对应的表项,设它为(N,V,D),而更新信息中的三元组为(N,V,D),C为节点G和G之间的距离。如果找不到相应的表项,在G的路由表中增加一项:(N,G,D+C);否则,比较D+C和D:如果D+C1)。7.3.1路由信息协议RIP第52页,本讲稿共155页52RIP工作过程RIP路由器初始化时,会把那些到达它所直接连接的网络的路由加载进来(距离一般被设置为1)。一般RIP的具体实现也允许管理人员增加新的路由,比如说不是通过RIP协议了解到的路由。每个RIP路由器每隔30秒广播一个路由消息。RIP路由器也可能通过发送Request消息来询问别的路由器有关某些路由或者所有路由的信息,比如当一个主机启动后,可能要求相邻的RIP路由器传递路由表中的所有信息。7.3.1路由信息协议RIP第53页,本讲稿共155页53当RIP路由器R从路由器G收到一个路由消息时,它检查该消息中包含的每一条到目的地D的路由,其中距离为cost(G,D),把该路由与自己路由表中到同一目的地D的路由相比较。如果路由表中不存在,在路由表中增加一条路由:到目的地D的下一个路由器跳段的地址为G,距离为cost(R,G)+cost(G,D)。7.3.1路由信息协议RIP第54页,本讲稿共155页54否则比较是否路由消息中指出的到目的地D的路由的距离更短:cost(R,G)+cost(G,D)cost(R,D)?其中cost(R,D)为路由表中原有的到目的地D的路由。如果满足上述式子,说明找到一条更短的路由,更新路由表中那条到目的地D的路由:下一个跳段路由器为G,距离为cost(R,G)+cost(G,D)。如果路由消息中新通知的路由和原来的路由的距离是一样的,RIP仍然选择使用老的路由,这有助于保持路由的稳定。7.3.1路由信息协议RIP第55页,本讲稿共155页55目的主机网络号下一站距离10-020-0目的主机网络号下一站距离20-030-0目的主机网络号下一站距离30040020-030-01020.0.0.714030.0.0.11R1路由表R2路由表R3路由表N220.0.0.0N330.0.0.0N440.0.0.0R1R2R310.0.0.420.0.0.720.0.0.930.0.0.230.0.0.140.0.0.4N110.0.0.020-010-03020.0.0.914020.0.0.9230-040-01030.0.0.222030.0.0.21 R2先收到R1,R3的路由信息更新自己的路由表.R2的路由表送给R1,R1再次更新自己 R3收到R2的信息后,再次更新自己第56页,本讲稿共155页56RIP路由失效RIP在路由表中对每条路由都有一个计时器,当收到新的有关这条路由的消息时,该计时器被重新设置,如果计时器超时(超过180秒,即连续6次没有收到路由消息,是一种n次有k次机制),这条路由就被宣告为失效,即目的地不可达。失效路由并不马上从路由表中删去,因为这条失效的路由还应该向邻居路由器报告,经过一段超时(garbage-collectiontimer,90秒)后,该路由最终被从路由器中去掉。RIP把距离在16hops以上的路由作为不可达(“无穷大”)。不可达的取值考虑到了网络的规模和收敛的速度两者之间的平衡。7.3.1路由信息协议RIP第57页,本讲稿共155页57和其它别的距离向量路由协议,RIP协议也会遇到无穷计数问题。如图例:假设B、D之间的链路现在出现故障,考虑到连在D上的目的网络的路由。ABDC111110D:Dir,1Dir,1Dir,1Dir,1Dir,1Dir,1Dir,1B:D,2UnreachC,4C,5C,6C,11C,12C:B,3B,3A,4A,5A,6A,11D,11A:B,3B,3C,4C,5C,6C,11C,127.3.1路由信息协议RIP第58页,本讲稿共155页58水平分割(Split-Horizon)一种解决无穷计数问题的方法。不要把从某个接口了解到的路由信息再通过该接口传递给其他路由器,以避免形成路由回路。例:如果A到某个目的地D的路由要经过邻居B,则A向B发送的更新消息不应包含到D的路由。毒性反转(Poisonedreverse)水平分割不是不给邻居路由器发送通过该邻居了解的路由信息,而是和往常一样给邻居路由器发送路由信息,只是那些从该邻居了解到的路由信息的距离被置为无穷大,即到目的网络是不可达的。能比水平分割方法更快地解除路由回路。7.3.1路由信息协议RIP第59页,本讲稿共155页59触发更新水平分割解决了两个节点间的路由回路,但是考虑三个或者更多节点间的路由回路:C-D链路断开A认为经B可以到达DC收到该消息,认为经A可到DC告诉B经A可到D当路由器了解到到某个目的地的路由有变化时,马上发送更新消息,从而加快收敛过程。Hold-DownTimer触发更新并不是万能的,可能在触发更新传遍整个网络前有一个节点发送了定时更新消息,无效路由会再次传播。在发生触发更新时开始一个hold-downtimer随机计时,忽略来自于邻居路由器的有关到该目的地的消息。同时可以防止触发更新消息产生过多的网络负载,而形成广播风暴。ABCD7.3.1路由信息协议RIP第60页,本讲稿共155页607.3.1路由信息协议RIPRIP基于UDP,使用UDP端口号520。RIP消息可以分为两类:请求路由信息消息(RIP消息的COMMAND字段为1,request),路由器可以通过发送请求路由信息消息获得某个路由器的全部路由或者部分路由表项路由信息消息(RIP消息的COMMAND字段为2,response)路由信息消息发送的条件:(1)收到请求路由信息消息(2)每隔30秒定期发送。RIP消息都具有一个统一的格式命令(COMMAND)字段指示RIP消息的类型(request或response)地址家族标识(addressfamilyidentifier)字段,使得RIP协议也可以在别的网络层协议下使用,而不是局限在TCP/IP环境中。没有长度字段,这是因为下层的UDP有封装功能,从而可以知道消息的边界。第61页,本讲稿共155页61RIP消息格式命令版本必须为0网络1的地址家族必须为0网络1的IP地址必须为0必须为0到网络1的距离网络2的地址家族必须为0网络2的IP地址必须为0必须为0到网络2的距离0816317.3.1路由信息协议RIP第62页,本讲稿共155页62IP首部UDP首部RIP报文UDP数据报IP数据报20字节8字节IP首部路由48=32bit2025=504bit命令 版本0地址类别0 IP地址 距离(4)RIP的报文格式:p206第63页,本讲稿共155页63RIP协议局限性因为RIP选择16作为无穷大,不能用在网络直径大于15的网络中。RIP使用的距离度量非常简单,不能采取一种动态的方法(比如根据网络延迟或负载)来选择路由。尽管RIP采用了很多措施(比如毒性反转的水平分割和触发更新等)来解决无穷计数问题,但是这种可能性仍然存在,因此RIP一般用在网络规模不是很大的场合。但RIP实现简单。目前的版本是RIPv2,它比RIPv1改进了许多。7.3.1路由信息协议RIP第64页,本讲稿共155页647.3.2开放最短通路优先协议OSPF(1)问题的提出:RIP限制了网络的规模,它能使用的最大距离为15,不适应当今网络的发展需要。(即RIP限制了网络规模N15)(2)OSPF的简介 1989年提出“开放表示该协议不是变某一家厂商控制而是所开发表的,任何人不需付费;OSPF目前还不是ISO或IEEE的标准,但它却从OSI的IS-IS路由选择协议中吸收了许多好思想。内部网关协议中,OSPF协议比较新,很受欢迎。OSPF的基本思想在RFC 2328中,目前IP v4采用OSPF v2,IP v6采用OSPF v3。第65页,本讲稿共155页65(3)OSFP的要点:所有的路由器都维护一个链路状态数据库(路由器到子网的链路状态和可以到达的邻居路由器)。当网络中的链路状态改变时,通过扩散(Flooding)方法把更新的本地链路状态信息广播到区域或自治系统中的每个路由器,因此,OSPF让每一个链路状态都带上一个32bit的序号,序号越大状态就越新。序号每5s更新一次,32位可用600年不重复号。每一个路由器用链路状态数据库中的数据,计算出到每个目的地最短路径。OSPF支持负载平衡,链路状态算法使用的带宽比较小。引入了区域的概念,减少路由表项的大小和洪泛的范围,加速路由收敛速度。支持认证服务和路由注入第66页,本讲稿共155页66IP数据报首部OSPF报文OSPF报文首部类型15的OSPF报文IP数据报只要网络拓扑发生变化,数据库很快进行更新,5秒更新一次,保持全网范围的一致性。依靠各路由器之间的频繁交换信息来建立链路状态数据库,全网范围内维持数据库的一致性。不用UDP而是直接用IP数据报传送,并且数据报委短。第67页,本讲稿共155页67注:每个R的发送原则,不向其上游发送。t1时刻,R1向R2,R3,R4发送更新报文。R2R3R1R4t11、采用洪泛法发送更新报文第68页,本讲稿共155页68 t2时刻,R2,R3,R4向相邻的路由器发送更新报文,但不向R1 发送,因为R1是它们的上游。R2R3R1R4t2t3t4时刻,R1 收到R2,R3,R4的确认报文。R1t4ACKACK第69页,本讲稿共155页692、链路拓扑OSPF支持三种类型的连接和网络(1)点到点网络,比如由串行链路构成的网络(2)广播网络,支持广播,比如以太网(3)非广播方式网络,包括非广播多路访问和点到多点,比如分组交换网、ATM、帧中继等。各种网络可以用有向图表示。第70页,本讲稿共155页70说明:R2与R3之间为点对点连接 L1是LAN连接 W1W5是广域网W1W4W5W2W3R1R2R3L1第71页,本讲稿共155页71b为互连网的链路状态数据库其中 LAN,WAN抽象为一个结点用不同方向的也表示链路W452234W1W2W5W3L1自治系统有向图计算出某一路由器的路由表,先算出最短通路树。W4W1W5W2W3R6应用:目前大多数路由器厂商都支持OSPF,并开始在一些网络中取代器RIP。如:Netware的NLSP.IBM的APPN ATM的PNNI等路由选择都得到应用。第72页,本讲稿共155页723、区域概念(1)自治系统(2)区域,主干区域(3)路由器内部路由器,同一个区域内运行单个OSPF实例的路由器。区域边界路由器,位于多个区域边界交叉点运行多个OSPF实例的路由器。主干路由器,主干区域内的路由器自治系统边界路由器,能和其他自治系统交换路由信息的路由器第73页,本讲稿共155页73第74页,本讲稿共155页744、OSPF工作过程通过洪泛方法实现链路状态信息的传播(1)邻接,路由器之间的逻辑连接,邻接关系维护通过HELLO协议来实现。(2)选取路由器,用于减少广播型网络或非广播方式网络中路由状态信息的洪泛。(3)链路状态更新,包括链路状态、邻接关系以及路径花费(4)数据库描述,只包含链路和当前顺序号,是链路信息的简介(5)链路状态请求第75页,本讲稿共155页755种报文类1,Hello报文类2,DatabaseDescription报文类3,LinkStateRequest报文,请求发送类4,LinkStateUpdate报文,更新状态类5,LinkState确认报文第76页,本讲稿共155页76例如:我国之内的站点在互相传送数据报时不要经过国外兜圈子,如不要经过美国。因此,这些路由选择策略包括政治、安全、或经济方面的等因素考虑。注:这些策略都是由人工对一个路由的进行设置的,并不是BGP协议。BGP将网络划分为以下三类:(1)与BGP只有一个连接的网络,它不能用来转发数据报。(2)与BGP有二个以上连接的网络,可用来转发数据报。(3)能够转发第三方数据报的转发网络、例、主干网。7.3.3、外部网关协议1.BGP作用:BGP用来在不同自治系统的路由器之间交换路由信息,必须考虑有关的策略:如政治、安全、经济等方面考虑进行人工。第77页,本讲稿共155页772.BGP工作原理以F为例:到达D的路由F收到相邻路由信息B说:我使用BCDG说:我使用G C DI说:我使用I F G CDE说:我使用E F G C D;F收到这些信息流,找出其中最好的一个路由。ABCEFIJHDG第78页,本讲稿共155页78分析:从I和E使用的路由显然不能用,因为要经过F;只有从B,或G中选择;选择的标准:BGP用一个模块检查路由,并给它们打分数。BGP基本上是一个距离向协议,可解决“坏信息传得慢”这一问题。BGP交换报文的过程以及报文格式相当复杂,这里不讲。第79页,本讲稿共155页797.4IP协议TCP/IP网络层的主体是IP,IP分组是真正应用数据的承载体。IP提供一种无连接的、不可靠的网络服务。IP协议(InternetProtocol,网际互连协议)给出了IP协议头部的格式、各个字段的含义以及主机和路由器如何处理IP分组。IP层负责(1)路由选择,形成路由表,实现分组转发(2)分组分段和重组(3)流量控制(IP协议本身不处理):通过ICMP实现(4)主机编址和地址解析,通过ARP和RARP实现第80页,本讲稿共155页807.4.1IP地址Internet名字和地址MAC地址08:00:20:72:93:18IP地址132.151.1.35主机名www.ietf.org主机名多对多IP地址多对一MAC地址Internet中的每个主机或路由器有一个或者多个全局唯一的32位(bit)IP地址。IP地址的管理由NIC负责。IP地址包括网络号和主机号,其中网络号标识该网络,而主机号标识该网络中的主机。路由时,只需要了解其他网络的位置,而不必了解每一台主机在互连网中的位置第81页,本讲稿共155页81IP地址可以有五种格式多点广播/组播地址主机地址范围1 1 1 01.0.0.0127.255.255.255A类0 1 2 3 4 8243116128.0.0.0191.255.255.255B类192.0.0.0223.255.255.255C类224.0.0.0239.255.255.255D类240.0.0.0247.255.255.255E类01 01 1 01 1 1 1 0网络号主机号网络号主机号网络号主机号保留供将来使用7.4.1IP地址第82页,本讲稿共155页827.4.1IP地址地址类:A/B/C/D/E类地址两层的层次结构:网络ID主机IDIP地址根据前面4个比特属于不同的类A类地址0 xxx01267位网络+24位主机B类地址10 xx12819114位网络+16位主机C类地址110 x19222321位网络+8位主机D类地址1110224239组播地址E类地址1111240254保留/实验网络第83页,本讲稿共155页837.4.1IP地址IP地址通常用带点十进制标记法来书写,这时IP地址写成4个十进制数,相互之间用小数点(dot)隔开,每个十进制数(从0到255)表示IP地址的一个字节。例:32位十六进制地址0 x0102FF04可以写成1.2.255.4,这是一个A类地址,网络号为1。128.3.0.5是B类地址,192.41.6.20是C类地址。十进制标记法通常用于记忆,用于计算时常用二进制标记法。如:00000001.00000010.11111111.00000100。127.0.0.1是一个特殊IP地址,用于本机IP协议的检测。第84页,本讲稿共155页84网络号或主机号各比特位为全0或全1的地址有特殊的意义,必须保留而不能分配给主机使用。全1的意义为“全部”(all)。全0的意义为“这个”(this)。有限广播(本地网络,不能被路由)本机本网络中的主机标识本网络掩码本机或标识本网络地址直接广播(某个网络)本机回路无意义直接广播(本网络)全0全0全1主机全1全0网络全0网络全1127任意值(常为1)全1主机全0全17.4.1IP地址第85页,本讲稿共155页857.4.1IP地址网络上通信的主机双方需要保证各自IP地址的唯一性。公网(如Internet)的IP地址有统一的管理机构来管理和分配IP地址。IPv4地址及分类法的问题总的地址空间不够。A类网络主机数太多(地址浪费),C类网络主机数太少(增加路由负担,需要合并)。如何充分利用IPv4地址资源?第86页,本讲稿共155页867.4.1IP地址实际应用中使用CIDR技术(ClasslessInter-DomainRouting,无类域间路由)CIDR抛弃了IP地址类的边界(不再指定网络号或主机号的比特位数),从而形成无类或者超类。即CIDR可以将一个A类或B类网络分解成多个子网络,也可以将多个连续的C类网络合并成一个超网(supernetting)。超网只承认网络位和主机位标识地址,不承认网络地址类概念。超网描述格式:x.x.x.x/y,前面的x.x.x.x表示超网地址,后面的y表示IP地址的前y个比特为网络部分。第87页,本讲稿共155页87超网例:需要1000个IP地址,分配4个C类192.60.128.0(11000000.00111100.10000000.00000000)ClassCsubnetaddress192.60.129.0(11000000.00111100.10000001.00000000)ClassCsubnetaddress192.60.130.0(11000000.00111100.10000010.00000000)ClassCsubnetaddress192.60.131.0(11000000.00111100.10000011.00000000)ClassCsubnetaddress-192.60.128.0(11000000.00111100.10000000.00000000)Supernettedsubnetaddress255.255.252.0(11111111.11111111.11111100.00000000)Subnetmask192.60.131.255(11000000.00111100.10000011.11111111)Broadcastaddress4个C类地址组成超网,可标识为:network192.60.128.0,netmask255.255.252.0或192.60.128.0/22一个主机IP地址:192.60.129.2,netmask255.255.252.0或192.60.128.0/22,缺省网关:192.60.129.17.4.1IP地址第88页,本讲稿共155页887.4.1IP地址支持CIDR的路由器在选择路由时基于最长路由前缀优先的原则。例如,IP地址:196.60.128.5和196.60.55.5address/masknexthop192.60.128.0/22 R1192.60.0.0/16R2196.60.128.5路由时优