您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机网络原理(第五章 网络层)
第五章网络层桂劲松2007.4数据链路层仅将数据帧从导线的一端送到其另一端。网络层将源端发出的分组经各种途径送到目的端。网络层是处理端到端数据传输的最底层。网络层必须知道通信子网的拓扑结构(即所有路由器的位置),并选择通过子网的合适路径。网络层在选路时,应避免一些通信线路超负荷,而另一些通信线路却处于空闲。当源与目的地不处于同一网络时,应该由网络层来处理这些差异。网络层设计的有关问题为传输层提供的服务子网的内部设计为传输层提供的服务网络层在网络层/传输层接口上为传输层提供服务。网络层/传输层接口是载体与用户的接口,是通信子网的边界。载体通常决定了直到网络层的各种协议和接口,它的工作是传输由其用户提供的分组。网络层提供的服务按下列目标进行设计:1、服务应与通信子网技术无关。2、通信子网的数量、类型和拓扑结构对于传输层来说是隐蔽的。3、传输层所能获得的网络地址应采用统一的编号方式,即使跨越了多个LAN和WAN。上述目标导致两个相对集团的激烈冲突。冲突的焦点是网络层该提供什么服务:面向连接,无连接。无连接的观点:通信子网不可靠,主机必须进行差错控制和流量控制。面向连接的观点:子网应该提供一种可靠的、面向连接的服务。面向连接和无连接服务方式间的争论,实质是将复杂的功能放在何处的问题。P260实际上,网络层是否面向连接和网络层是否可靠是两个独立的问题。四种组合:重要的两种组合:因特网具有一个无连接的网络层,ATM有一个面向连接的网络存储-转发分组交换若有一台主机要发送一个分组,则它将分组传送给最近的路由器,该路由器或在它自己的LAN上,或在一条通向承运商的点到点链路上。该分组被存储在路由器上,一直到它完全到达路由器为止,所以路由器可以验证它的校验和。然后它被沿路转发到下一台路由器,直到到达目标主机为止,最后在目标主机上它被递交给相应的进程。ABDEC1进程P1H1进程P2H1FLAN路由器分组网络运营商的设备无连接服务的实现所有的分组都被独立地传送到子网中,并且独立于路由,不需要提前建立任何辅助设施。在此环境中,分组称为数据报,且子网称为数据报子网。ABDEC3进程P1H1进程P2H2FLAN1路由器分组网络运营商的设备24ABBCCDBECFC目标线路ABBCCDBEBFB目标线路初后AABACDDEEFE目标ABDCCDDEFF目标线路线路C的表D的表AC面向连接服务的实现若使用面向连接的服务,则在发送数据分组之前,必须首先建立一条从源路由器到目的路由器之间的路径。这个连接成为一个VC(虚电路),子网成为虚电路子网。虚电路的思想:不需要每次为一个分组选择一条新路径,当一个连接被建立起来的时候,从源机器到目的机器之间的一条路径被选择作为连接的一部分,并且保存在中间这些路由器的内部表中。对于所有在这个连接上通过的流量,都使用这条路径。在面向连接的服务中,每个分组都包含一个标识符,指明了它属于哪一个虚电路。ABDEC3进程P1H1进程P2H2FLAN1路由器分组网络运营商的设备24A的表C的表E的表H3进程P3H1H3CC1112进出AAEE1212进出CCFF1212进出虚电路子网和数据报子网的比较路由器的内存空间和带宽之间的平衡。建立虚电路所需的时间和地址解析的时间。路由器内存需要的表空间数量。在服务质量方面,虚电路有优势。若路由器崩溃,虚电路中断。路由选择算法网络层的主要功能是将分组从远端机器经选定的路由送到目的端机器。在大多数子网中,分组的整个旅途需要经过多次转发。路由选择算法和它们使用的数据结构是网络层设计的一个主要区域。路由选择算法是网络层软件的一部分,负责确定所收到分组应传送的外出路线。若子网内部采用数据报,对收到的每个分组都要重新作路由选择,因为对每个分组来说,上次到达的最佳路由可能已经被改变。若子网采用虚电路,仅需作一次路由选择决策,以后,数据就在这条先前建立的路由上传送。又称会话路由选择,因为在整个用户会话期间都存在同一条有效的路由。不论哪种情况,都希望路由选择算法具有某种特征:正确性、简单行、健壮性、稳定性、公平性、最优性。路由算法的分类:自适应,非自适应非自适应算法:不根据实测或估计的网络的当前通信量和拓扑结构来作路由选择。路由表是事先计算好的,在网络启动后下载到路由器中。又称静态路由选择。自适应算法:根据拓扑结构,通常还有通信量的变化来改变其路由选择。自适应算法分类的依据:获取信息方式的不同,改变路由选择的条件的不同,用于进行优化的参数的不同。最优化原则最优化原则,P265,新书P297汇集树,P265,新书P297BADGFHECJINLMOBADGFHECJINKLMO最短路由选择ABCDEFGH22642732312扩散法在扩散法中,每一个进来的分组将被发送到除了它进来的那条线路之外的每一条输出线路上。会产生大量重复分组需要采用抑制措施一种方法是计数,计数到0,丢弃分组。另一种方法是记录已被扩散的分组。选择性扩散法P269,新书P301距离矢量路由上面介绍的静态路由算法。现代计算机网络通常采用动态路由算法。常见的两个动态路由算法:距离矢量路由算法,链路状态路由算法距离矢量路由算法的工作原理:每个路由器维护一张表(即一个矢量),表中列出了当前已知的到每个目标的最佳距离,以及所使用的线路。通过在邻居之间相互交换信息,路由器不断地更新它们内部的表。在距离矢量路由算法中,每个路由器维护了一张路由表,它以子网中的每个路由器为索引,并且每个路由器对应一个表项。该表项包含两部分:为了到达该目标路由器而首先使用的输出线路,以及到达该目标路由器的时间估计值或距离估计值。无穷计算问题距离矢量路由算法有一个严重缺陷:虽然它总是能够得到正确答案,但是它收敛到正确答案的速度可能非常慢。对好消息的反应快。对坏消息的反应非常迟缓。ABCDE1111222334初始时第一次交换后第二次交换后ABCDE3355442556初始时第一次交换后第二次交换后1234633444链路状态路由链路状态路由选择的思想:1、发现它的邻居节点,并知道其网络地址。2、测量到各邻居节点的延时或开销。3、构造一个分组,分组中包含所有它刚刚知道的信息。4、将这个分组发送给所有其他的路由器。5、计算出到每个其他路由器的最短距离。发现邻居节点当一个路由器启动的时候,它的第一个任务是找出哪些路由器是它的邻居。为了实现这个目标,它只需在每一条点到点线路上发送一个特殊的HELLO分组即可。线路另一端的路由器应该回送一个应答来说明它是谁。这些名字必须是全局唯一的。测量线路开销链路状态路由算法要求每一个路由器知道它到各个邻居节点之间的延时,或者至少有一个合理的估计值。为了确定这份延时信息,最直接的办法是在这条线路上发送一个特殊的ECHO分组,另一端必须立即送回一个应答。通过计算出往返时间,再除以2,则发送方路由器就可以得到一个合理的延时估计值。这种方法隐含了一个假设,即两个方向上的延时是对称的,而再实践中并不总是这样的。创建链路状态分组一旦所需要的交换信息已经收集到了,每个路由器的下一步工作是建立一个包含所有这些数据的分组。该分组的内容首先是发送方的标识,接着是一个序列号(seq)和(age),以及一个邻居列表。对于每个邻居,给出到这个邻居的延时。AEBCFD45281637A序号年龄B4E5B序号年龄A4C2F6C序号年龄B4D3E1D序号年龄C3F7E序号年龄A5C1F8F序号年龄B6D7E8什么时候创建链路状态分组?定期重要事件发生时发布链路状态分组链路状态路由算法最技巧的部分是如何可靠地发布链路状态分组。P277,新书P307基本的思路是,使用扩散法来发布链路状态分组。为了控制扩散过程,每一个分组都包含一个序列号,序列号随着每个新的分组而递增。每个路由器记录下它所看到的所有(源路由器、序列号)对。当一个新的链路状态分组进来的时候,路由器在已经看到的分组列表中检查这个新进来的分组。若它是新的,则除了它到来的那条线路外,在其他线路上都转发该分组。若是重复的,则丢弃。若一个分组的序列号小于当前所看到过的来自该源路由器的最大序列号,则它将被当作过时分组而被拒绝,因为该路由器已经有了更新的数据。计算新的路由路径一旦一个路由器已经获得了全部的链路状态分组之后,它就可以构造出完整的子网图了。每条链路被表示了两次,每个方向各一次。用Dijkstra算法构造所有到目标节点的最短路径。因特网中的路由选择静态路由选择也叫做非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。动态路由选择也称为自适应路由选择,其特点是能较好地适应网络状态的变化。但实现起来较为复杂,开销也比较大。因特网采用的路由选择协议属于自适应的(即动态的)、分布式路选择协议。由于以下两个原因,因特网采用分层次的路由选择协议:(1)因特网的规模非常大,已经有几百万个路由器互连在一起。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。(2)许多单位不愿意外界了解自己单位网络的布局细节和本单位所采用的路由选择协议(这属于本单位内部的事情),但同时还希望连接到因特网上。基于以上原因,因特网将整个互联网划分为许多较小的自治系统(AUTONOMOUSSYSTEM),一般简称为AS。一个自治系统是一个互联网,其最重要的特点就是它有权自主地决定在本系统内应采用何种路由选择协议。因特网就把路由选择协议划分为两大类:内部网关协议IGP(INTERIORGATEWAYPROTOCOL)外部网关协议EGP(EXTERNALGATEWAYPROTOCOL)内部网关协议IGP(INTERIORGATEWAYPROTOCOL)。这是一个自治系统内部使用的路由协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如RIP和OSPF协议。外部网关协议EGP(EXTERNALGATEWAYPROTOCOL)。若源站和目的站处在不同的自治系统中(这两个自治系统使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。在外部网关协议中目前使用最多的是BGP自治系统之间的路由选择也称为域间路由选择(INTERDOAINROUTING),而在自治系统内部的路由选择称为域内路由选择(INTRADONAINROUTING)。内部网关协议IGP:具体的协议有多种,如RIP和OSPF等。外部网关协议EGP:目前使用的协议就是BGP。路由器路由器R2路由器路由器路由器R3路由器路由器路由器R1路由器路由器路由器IBM兼容机IBM兼容机自治系统C自治系统B自治系统AIGPEGPH1H2IGPIGP内部网关协议IGP例如,RIP外部网关协议EGP例如,BGP-4内部网关协议IGP例如,OSPF自治系统和内部网关协议、外部网关协议RIP:是一种分布式的基于距离向量的路由选择协议,是因特网的标准协议,其最大优点就是简单。RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。RIP协议将“距离”定义如下:从一路由器到直接连接的网络的距离定义为1。从一种路由器到非直接连接的网络的距离定义为所经过的路由器数加1。RIP协议让互联网中的所有路由器都和相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。这里还应注意:虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。RIP协议使用传输层的用户数据报U
本文标题:计算机网络原理(第五章 网络层)
链接地址:https://www.777doc.com/doc-3874643 .html