数据链路层仅将数据帧从导线的一端送到其另一端.ppt
《数据链路层仅将数据帧从导线的一端送到其另一端.ppt》由会员分享,可在线阅读,更多相关《数据链路层仅将数据帧从导线的一端送到其另一端.ppt(156页珍藏版)》请在三一办公上搜索。
1、第五章 网络层,2008,数据链路层仅将数据帧从导线的一端送到其另一端。网络层将源端发出的分组经各种途径送到目的端。网络层是处理端到端数据传输的最底层。网络层必须知道通信子网的拓扑结构(即所有路由器的位置),并选择通过子网的合适路径。网络层在选路时,应避免一些通信线路超负荷,而另一些通信线路却处于空闲。当源与目的地不处于同一网络时,应该由网络层来处理这些差异。,网络层设计的有关问题,为传输层提供的服务子网的内部设计,为传输层提供的服务,网络层在网络层/传输层接口上为传输层提供服务。网络层/传输层接口是载体与用户的接口,是通信子网的边界。载体通常决定了直到网络层的各种协议和接口,它的工作是传输由
2、其用户提供的分组。网络层提供的服务按下列目标进行设计:1、服务应与通信子网技术无关。2、通信子网的数量、类型和拓扑结构对于传输层来说是隐蔽的。3、传输层所能获得的网络地址应采用统一的编号方式,即使跨越了多个LAN和WAN。,上述目标导致两个相对集团的激烈冲突。冲突的焦点是网络层该提供什么服务:面向连接,无连接。无连接的观点:通信子网不可靠,主机必须进行差错控制和流量控制。面向连接的观点:子网应该提供一种可靠的、面向连接的服务。面向连接和无连接服务方式间的争论,实质是将复杂的功能放在何处的问题。P260实际上,网络层是否面向连接和网络层是否可靠是两个独立的问题。四种组合:重要的两种组合:可靠的、
3、面向连接;不可靠的、无连接因特网具有一个无连接的网络层,ATM有一个面向连接的网络,存储-转发分组交换,若有一台主机要发送一个分组,则它将分组传送给最近的路由器,该路由器或在它自己的LAN上,或在一条通向承运商的点到点链路上。该分组被存储在路由器上,一直到它完全到达路由器为止,所以路由器可以验证它的校验和。然后它被沿路转发到下一台路由器,直到到达目标主机为止,最后在目标主机上它被递交给相应的进程。,无连接服务的实现,所有的分组都被独立地传送到子网中,并且独立于路由,不需要提前建立任何辅助设施。在此环境中,分组称为数据报,且子网称为数据报子网。,面向连接服务的实现,若使用面向连接的服务,则在发送
4、数据分组之前,必须首先建立一条从源路由器到目的路由器之间的路径。这个连接成为一个VC(虚电路),子网成为虚电路子网。虚电路的思想:不需要每次为一个分组选择一条新路径,当一个连接被建立起来的时候,从源机器到目的机器之间的一条路径被选择作为连接的一部分,并且保存在中间这些路由器的内部表中。对于所有在这个连接上通过的流量,都使用这条路径。在面向连接的服务中,每个分组都包含一个标识符,指明了它属于哪一个虚电路。,虚电路子网和数据报子网的比较,路由器的内存空间和带宽之间的平衡。建立虚电路所需的时间和地址解析的时间。路由器内存需要的表空间数量。在服务质量方面,虚电路有优势。若路由器崩溃,虚电路中断。,路由
5、选择算法,网络层的主要功能是将分组从远端机器经选定的路由送到目的端机器。在大多数子网中,分组的整个旅途需要经过多次转发。路由选择算法和它们使用的数据结构是网络层设计的一个主要区域。路由选择算法是网络层软件的一部分,负责确定所收到分组应传送的外出路线。,若子网内部采用数据报,对收到的每个分组都要重新作路由选择,因为对每个分组来说,上次到达的最佳路由可能已经被改变。若子网采用虚电路,仅需作一次路由选择决策,以后,数据就在这条先前建立的路由上传送。又称会话路由选择,因为在整个用户会话期间都存在同一条有效的路由。不论哪种情况,都希望路由选择算法具有某种特征:正确性、简单性、健壮性、稳定性、公平性、最优
6、性。,路由算法的分类:自适应,非自适应非自适应算法:不根据实测或估计的网络的当前通信量和拓扑结构来作路由选择。路由表是事先计算好的,在网络启动后下载到路由器中。又称静态路由选择。自适应算法:根据拓扑结构,通常还有通信量的变化来改变其路由选择。自适应算法分类的依据:获取信息方式的不同,改变路由选择的条件的不同,用于进行优化的参数的不同。,最优化原则,最优化原则,P265,新书P297汇集树,P265,新书P297,最短路由选择,扩散法,在扩散法中,每一个进来的分组将被发送到除了它进来的那条线路之外的每一条输出线路上。会产生大量重复分组需要采用抑制措施一种方法是计数,计数到0,丢弃分组。另一种方法
7、是记录已被扩散的分组。选择性扩散法P269,新书P301,距离矢量路由,上面介绍的静态路由算法。现代计算机网络通常采用动态路由算法。常见的两个动态路由算法:距离矢量路由算法,链路状态路由算法距离矢量路由算法的工作原理:每个路由器维护一张表(即一个矢量),表中列出了当前已知的到每个目标的最佳距离,以及所使用的线路。通过在邻居之间相互交换信息,路由器不断地更新它们内部的表。,在距离矢量路由算法中,每个路由器维护了一张路由表,它以子网中的每个路由器为索引,并且每个路由器对应一个表项。该表项包含两部分:为了到达该目标路由器而首先使用的输出线路,以及到达该目标路由器的时间估计值或距离估计值。,无穷计算问
8、题,距离矢量路由算法有一个严重缺陷:虽然它总是能够得到正确答案,但是它收敛到正确答案的速度可能非常慢。对好消息的反应快。对坏消息的反应非常迟缓。,链路状态路由,链路状态路由选择的思想:1、发现它的邻居节点,并知道其网络地址。2、测量到各邻居节点的延时或开销。3、构造一个分组,分组中包含所有它刚刚知道的信息。4、将这个分组发送给所有其他的路由器。5、计算出到每个其他路由器的最短距离。,发现邻居节点,当一个路由器启动的时候,它的第一个任务是找出哪些路由器是它的邻居。为了实现这个目标,它只需在每一条点到点线路上发送一个特殊的HELLO分组即可。线路另一端的路由器应该回送一个应答来说明它是谁。这些名字
9、必须是全局唯一的。,测量线路开销,链路状态路由算法要求每一个路由器知道它到各个邻居节点之间的延时,或者至少有一个合理的估计值。为了确定这份延时信息,最直接的办法是在这条线路上发送一个特殊的ECHO分组,另一端必须立即送回一个应答。通过计算出往返时间,再除以2,则发送方路由器就可以得到一个合理的延时估计值。这种方法隐含了一个假设,即两个方向上的延时是对称的,而在实践中并不总是这样的。,创建链路状态分组,一旦所需要的交换信息已经收集到了,每个路由器的下一步工作是建立一个包含所有这些数据的分组。该分组的内容首先是发送方的标识,接着是一个序列号(seq)和(age),以及一个邻居列表。对于每个邻居,给
10、出到这个邻居的延时。,什么时候创建链路状态分组?定期重要事件发生时,发布链路状态分组,链路状态路由算法最技巧的部分是如何可靠地发布链路状态分组。P277,新书P307基本的思路是,使用扩散法来发布链路状态分组。为了控制扩散过程,每一个分组都包含一个序列号,序列号随着每个新的分组而递增。每个路由器记录下它所看到的所有(源路由器、序列号)对。当一个新的链路状态分组进来的时候,路由器在已经看到的分组列表中检查这个新进来的分组。若它是新的,则除了它到来的那条线路外,在其他线路上都转发该分组。若是重复的,则丢弃。若一个分组的序列号小于当前所看到过的来自该源路由器的最大序列号,则它将被当作过时分组而被拒绝
11、,因为该路由器已经有了更新的数据。,计算新的路由路径,一旦一个路由器已经获得了全部的链路状态分组之后,它就可以构造出完整的子网图了。每条链路被表示了两次,每个方向各一次。用Dijkstra算法构造所有到目标节点的最短路径。,因特网中的路由选择,静态路由选择也叫做非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。动态路由选择也称为自适应路由选择,其特点是能较好地适应网络状态的变化。但实现起来较为复杂,开销也比较大。因特网采用的路由选择协议属于自适应的(即动态的)、分布式路选择协议。,由于以下两个原因,因特网采用分层次的路由选择协议:(1)因特网的规模非常大,已经有几百万个路
12、由器互连在一起。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。(2)许多单位不愿意外界了解自己单位网络的布局细节和本单位所采用的路由选择协议(这属于本单位内部的事情),但同时还希望连接到因特网上。,基于以上原因,因特网将整个互联网划分为许多较小的自治系统(AUTONOMOUS SYSTEM),一般简称为AS。一个自治系统是一个互联网,其最重要的特点就是它有权自主地决定在本系统内应采用何种路由选择协议。因特网就把路由选择协议划分为两大类:内部网关协议IGP(INTERIOR GATEWA
13、Y PROTOCOL)外部网关协议EGP(EXTERNAL GATEWAY PROTOCOL),内部网关协议IGP(INTERIOR GATEWAY PROTOCOL)。这是一个自治系统内部使用的路由协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如RIP和OSPF协议。外部网关协议EGP(EXTERNAL GATEWAY PROTOCOL)。若源站和目的站处在不同的自治系统中(这两个自治系统使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。在外部网
14、关协议中目前使用最多的是BGP,自治系统之间的路由选择也称为域间路由选择(INTERDOAIN ROUTING),而在自治系统内部的路由选择称为域内路由选择(INTRADONAIN ROUTING)。内部网关协议IGP:具体的协议有多种,如RIP和OSPF等。外部网关协议EGP:目前使用的协议就是BGP。,RIP:是一种分布式的基于距离向量的路由选择协议,是因特网的标准协议,其最大优点就是简单。RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。RIP协议将“距离”定义如下:从一路由器到直接连接的网络的距离定义为1。从一种路由
15、器到非直接连接的网络的距离定义为所经过的路由器数加1。,RIP协议让互联网中的所有路由器都和相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。这里还应注意:虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。RIP协议使用传输层的用户数据报UDP进行传送。因此RIP协议的位置应当在应用层。,OSPF:最主要的特征就是使用分布式的链路状态协议(link state protocol)而不是像RIP那样的距离向量协议。和RIP的3个要点相比,OSPF的三个要点和RIP的
16、都不一样:(1)OSPF向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法(flooding),就是路由器通过所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。RIP协议是仅仅向自己相邻的几个路由器发送信息。,(2)OSPF发送的信息就是与本路由器相邻的所有路由器的链路状态 所谓“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric),例如费用、距离、时延、带宽等等。对于RIP协议,发送的信息是:“到所有网络的距离和下一跳路由器”(3)OSPF只有当链路状态发生变化时,路由器才用洪泛法向所有
17、路由器发送此信息。而不像RIP那样,不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息。,为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的的范围,叫做区域(area)。一个区域也不能太大,在一个区域内的路由器最好不超过200个。,划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统。因此,在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。为了使每一个区域能够和本区域以外的区域进行通信,OSPF使用层次结构的区域划分。在上层的区域叫做主干区域(BACKBONE AREA)。主干区域的标
18、识符规定为。主干区域的作用是用来连通其他在下层的区域。从其他区域来的信息都由区域边界路由器(AREA BORDER ROUTER)进行概括。,在上图中,路由器R3、R4和R7都是区域边界路由器,而显然,每一个区域至少应当有一个区域边界路由器。在主干区域内的路由器叫做主干路由器(BACKBONE ROUTER),如R3、R4、R5、R6和R7。一个主干路由器可以同时是区域边界路由器,如R3、R4和R7。在主干区域内还要有一个路由器专门和本自治系统外的其他自治系统交换路由信息。这样的路由器叫做自治系统边界路由器(如图中R6)。OSPF不用UDP而是直接用IP数据报传送(其IP数据报首部的协议字段值
19、为89)。,OSPF共有以下5种分组类型。类型1,问候(HELLO)分组,用来发现和维持邻站的可达性。类型2,数据库描述(DATABASE DESCRIPTION)分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。类型3,链路状态请求(LINK STATE REPUEST)分组,向对方请求发送某些链路状态项目的详细信息。类型4,链路状态更新(LINK STATE UPDATE)分组,用洪泛法向全网更新的链路状态。这种分组是最复杂的,也是OSPF协议最核心的部分。路由器使用这种分组将其链路状态通知给邻站。链路状态更新分组共有5种不同的链路状态。类型5,链路状态确认(LINK S
20、TATE ACKNOWLEDGMENT)分组,对链路更新分组的确认。,OSPF规定,每两个相邻路由器每隔10秒钟要交换一次问候分组。这样就能确知哪些邻站是可达的。在正常情况下,网络中传送的绝大多数OSPF分组都是问候分组。若有40秒钟没有收到某个相邻路由器发来的问候分组,则可认为该相邻路由器是不可达的,应立即修改链路状态数据库,并重新计算路由表。,其他的四种分组都是用来进行链路状态数据库的同步。所谓同步就是指不同路由器的链路状态数据库的内容是一样的。两个同步的路由器叫做“完全邻接的”(FULLY ADJACENT)路由器。不是完全邻接的路由器表明它们虽然在物理上是相邻的,但其链路状态数据库并没
21、有达到一致。,当一个路由器刚开始工作时,它只能通过问候分组得知它有哪些相邻的路由器在工作,以及将数据发往相邻路由器所需要的“费用”。如果所有的路由器都把自己的本地链路状态信息对全网进行广播,那么各路由器只要将这些链路状态信息综合起来就可得出链路状态数据库。但这样做开销太大,因此OSPF采用了另外的办法。即,OSPF让每一个路由器用数据库描述分组和相邻路由器交换本数据库中已有的链路状态摘要信息。摘要信息主要就是指出有哪些路由器的链路状态信息(以及其序号)已经写入了数据库。经过与相邻路由器交换数据库描述分组后,路由器就使用链路状态请求分组,向对方请求发送自己所缺少的某些链路状态项目的详细信息。通过
22、一系列的这种分组交换,全网的同步的链路数据库就建立了。,分级路由,随着网络规模的增长,路由器的路由表也成比例地增长。不断增长的路由表需要占用大量内存,需要更多CPU时间来查找路由表的表项,需要更多的带宽来发送有关的状态报告。因此,路由选择过程必须进行分级。分级之后,路由器被划分成区域,每个路由器知道如何将分组路由到自己所在区域内的目标地址。但不必了解区域外的情况。对于大型的网络,一个两级的分层结构可能还不够;可能有必要组织成群,将群组织成区,将区组织成组。,虽然节省了空间,但也付出了代价。代价的形式是路径长度增加了。对一个单独的网络变得很大时,分多少级比较合适?例子,一个有720个路由器的子网
23、。若分两级,24个区域,每个区域30个路由器,则每个路由器需要的表项数:30个本地,23个远程。若分三级,8个群,每个群9个区域,每个区域10个路由器,则每个路由器需要的表项数:10个本地,8个到群内其它区域,7个到其它群。,广播路由,广播:将消息发送给子网的每个节点。怎样实现?一种不要求子网具有任何特殊特性的广播方式是,让源机器简单地给每个目标单独发送一个分组。缺点是浪费带宽,同时要求源机器拥有所有目标机器的完整地址列表。扩散法,虽然不适合于普通的点到点通信,但对广播而言,值得考虑。缺点是产生太多分组,消耗太多带宽。多目标路由,每个分组或者包含一组目标,或者包含一个位图,由该位图来指定所期望
24、的目标。当分组到达一个路由器时,路由器会根据目标确定必要输出线路,然后为每一条必要线路生成一个副本,在这份副本中只包含了那些使用了这条线路的目标。,第四种,使用以发起广播的路由器为根的汇集树,或使用适当的生成树。若每个路由器都知道它的哪些线路属于一棵生成树,则它就可以将一个进来的广播分组复制到除了该分组到来的那条线路之外的所有生成树线路上。这种方法可以最佳地使用带宽。缺点:每个路由器必须都知道某一棵生成树才可以使用这种方法。采用链路状态路由算法时,可以得到生成树信息,但采用距离矢量路由算法时则无法获得。,第五种广播算法是,即使当路由器根本不知道任何关于生成树的信息时,也要试图达到前一种方法的近
25、似效果。其基本想法称为逆向路径转发:当一个广播分组到达一个路由器的时候,该路由器对它进行检查,看它到来的那条线路是否是通常用来给广播源发送分组的那条线路。若是,那就很有可能该广播分组是沿着最佳路径被转发过来的,因而是到达当前路由器的第一个副本。如果是这种情况,则路由器将该分组转发到除了到来的那条线路之外的所有其他线路上。若广播分组是从其它任何一条并非首选的到达广播源的线路上到来的话,该分组被当作一个可能的重复分组而丢弃。,逆向路径转发的效率相对合理,而且也容易实现。它不要求路由器都知道生成树它不需要像多目标路由方法那样要求每个分组中包含目标列表或位图的开销。它不需要像扩散法那样要求特殊的机制来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据链 路层仅将 数据 导线 一端 送到 另一
链接地址:https://www.31ppt.com/p-6296971.html