第五章网络层5.1网络层功能和服务5.2网络层互连设备5.3路由选择策略5.4基本的路由算法5.5基本的网关路由协议5.6虚电路中数据包的传输5.7拥塞控制和流量控制5.1网络层功能和服务为了实现端到端的传递,网络层提供了两种主要功能:交换和路由交换和路由需要在原始数据包上附加源和目的地址,这些地址和数据链路层的上、下结点地址不同,网络层地址是信源和信宿。网络层提供任意两个网络结点的可靠通信。5.1.1网络层的功能信源到信宿的传输:将多条物理链路连接成一条传输路径。逻辑寻址:为了完成从信源到信宿的传输,在数据包的头部加入源地址和目的地址。路由:选择从一点到另一点发送数据包的最佳路经。地址转换:将网络层地址翻译成对应的物理地址。复用:同一条物理线路同时传输多个设备间的数据流量和拥塞控制网络互连:解决网络互连的有关问题5.1.2面向连接的网络服务面向连接的网络服务为数据传输建立一条虚电路,这条电路在整个数据传输过程中都是有效的。属于这次数据传输过程的所有包都将按顺序沿着这条电路传输。应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层H1H2虚电路一个面向连接的网络服务通过如下步骤完成一次传输过程:发送者发送一个连接请求包接收者使用一个连接确认包进行确认发送者传输数据发送者发送一个连接终止请求包接收者使用一个终止确认包进行确认面向连接网络服务的优点:1.数据顺序到达、具有流量和差错控制;2.可以使用滑动窗口进行流量控制;3.控制信息少,减少了额外开销;面向连接网络服务的缺点:1.一旦连接建立以后,路由的灵活性就不存在了。如果一条链路发生阻塞或出现其他问题,后续的包不能使用其他的路径来替代。2.速度低。在面向连接的网络服务中,包必须被检查、或者被确认、或者被重传。5.1.3面向无连接的网络服务一次多包传输中,每个包被当作一个独立的单元。无连接协议不提供逻辑连接。中间结点根据路由信息和报头地址选择路径。应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层H1H2IP数据报丢失面向非连接网络服务的优点:如果可靠性和排序可由上层协议来处理的话,面向非连接具有速度和开销方面的优势。如果某一条路经发生阻塞或中断,包可以选择另一条路经。单个传输的各个片断可以通过不同的路径传输,从而达到最大的效率。面向非连接网络服务的缺点:1.不可靠,无法保证数据包顺序到达。2.每个包所需的开销较大,每个包必须携带完整的地址信息。⊙两种方式总结通信子网向端系统提供两种网络服务:虚电路,数据报。而通信子网内部的工作也有虚电路和数据报方式。提供虚电路服务的通信子网内部的操作可以使虚电路方式、也可以是数据报方式。以虚电路方式操作的网络一般总是提供虚电路服务。以数据报操作的网络也可以提供虚电路服务。即通信子网内部结点按数据报方式交换数据,而与端系体连接的网络结点向端系统提供虚电路服务。对于端系统来说,它的网络层与网络结点的通信像虚电路操作方式一样,先建立虚电路,再交换数据,最后拆除连接。但每个分组被网络结点分成若干数据报,附上地址分送到目的地。例如:TCP/IP协议,IP协议是无连接的,但TCP协议是面向连接的。尽管通信子网的数据报交换是不可靠的,但两端的网络结点作了诸如排序、重发等工作,从而满足了虚电路的服务。数据报服务一般由数据报交换网来提供。网络层提供的两种服务在计算机网络领域,网络层应该向传输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。争论焦点是:在计算机通信中,可靠交付由谁来负责?是网络还是端系统?电信网的成功经验让网络负责可靠交付。因特网采用的设计思路,网络层不提供服务质量的承诺。只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。5.2网络层互连设备网络层互连设备主要是路由器。网络网络网络网络网络路由器5.2.1路由器路由器工作在网络层。路由器在多个互连设备之间中继数据包。路由器对来自某个网络的数据包确定传输路径,发送到互连网络中任何可能的目的网络中。路由器路由器路由器路由器总线令牌环令牌环令牌环202.198.1.0202.198.1.0桥接器202.198.2.02202.198.1.02路由器路由器和交换机的区别5.2.2第三层交换机三层交换机的特征:转发基于第三层地址的业务流完全交换功能完成特殊任务,如报文过滤有路由功能5.2.3网关网关是一个协议转换器。网关通常是安装在路由器内部的软件。可以工作在OSI的7层。5.3路由选择策略路由选择就是网络中各个结点为到来的数据包选择一条输出链路。如果网络内部使用数据报,那么就必须为每个到来的包作一次路由选择。如果网络内部使用虚电路,则仅在建立一个虚电路时作一次路由选择,以后各数据包都按建立的路由传送。5.3.1路由选择的基本要求正确性:路由算法必须是正确的简单性:算法在计算上应该简单坚定性:长时间运行不会出现系统故障稳定性:算法是收敛的公平性:通信结点利用信道的机会均等最佳性:按一定的标准获得最好的效果5.3.2路由选择策略根据路由算法能否随网络的通信量或拓扑结构变化而进行调整来划分,路由选择算法可分为两大类:非适应性路由选择算法适应性路由选择算法①非适应性路由选择非适应性路由算法不能随网络的通信量变化而变化,但实现起来容易。有以下几种方法:⑴洪泛(flooding)法:某个结点收到一个包时,向所有与此结点相连的链路发送这个包。⑵有选择的洪泛法:满足事先确定的条件的链路上转发包。⑶固定路由法:按最短路径建立一个表,表上标明每个目的地址的包应当从哪条链路上转发。⑷随机走动(randomwalk)法:随机选择一条链路进行转发。⑸分散通信量法:每个结点上设置一个表,表中给出几个可采用的输出链路,并且对每条链路赋予一定的概率,此概率就是利用此链路进行转发的概率。?0.25M0.30N0.45PE0.15M0.30P0.55ND0.10P0.25M0.65NC0.30L0.35N0.35MB0.10N0.40L0.50MA概率经过概率经过概率经过目的站???0.25M0.30N0.45PE0.15M0.30P0.55ND0.10P0.25M0.65NC0.30L0.35N0.35MB0.10N0.40L0.50MA概率经过概率经过概率经过目的站APBCDEMNKL网络拓扑节点K路由表②适应性路由选择非适应性路由选择算法不适合网络中通信量变化很大的情况,这时需要适应性路由选择算法,适应性路由选择算法主要由以下3种:⑴孤立的路由选择策略各结点只根据自己的状态决定路由选择,而不与其它结点交换信息。算法非常简单,但并不准确,使用此方法有时效率不高。⑵分布式路由选择策略每个结点有一个路由表,并周期性地从周围相邻的结点获得网络状态信息,同时,也将本结点做出的路由周期性地通知相邻的各结点。整个网络的路由选择经常处于动态变化之中。典型的算法有:RIP协议和OSPF协议。⑶集中式路由选择策略网络控制中心NCC负责全网状态信息的收集、路由计算、以及路由选择的实现。每个结点定期向网络控制中心报告一些状态信息。优点:各个结点不需要路由选择计算缺点:通信量大、可靠性差、网络的规模受到限制5.4基本的路由算法距离最短的路径是最佳路径,距离最短的标准可以是费用最小、传输延迟最小、数据传输速率最大、以及这些因素的一种组合。有两种最常用的计算最短路经的方法:距离向量路由链路状态路由5.4.1距离向量路由算法在距离向量路由中,每个路由器周期性的将自己关于整个网络的信息发送给它的邻居。①每个路由器保存关于整个网络的信息②仅仅和邻居交换网络信息③信息的交换是通过有规律的时间间隔来进行,一般每个30秒每个路由器依据路由表来转发数据包,距离向量路由算法的路由表中的每一项一般具有如下的格式:NetID:Distance:Nexthop例:FEDCBANet:7Net:6Net:5Net:4Net:3Net:2Net:1轮路由器目的网络12345670A1:1:-2:∞:?3:1:-4:∞:?5:1:-6:∞:?7:∞:?B1:1:-2:1:-3:∞:?4:∞:?5:∞:?6:∞:?7:∞:?C1:∞:?2:1:-3:∞:?4:∞:?5:∞:?6:1:-7:∞:?D1:∞:?2:∞:?3:∞:?4:∞:?5:∞:?6:1:-7:1:-E1:∞:?2:∞:?3:∞:?4:∞:?5:1:-6:∞:?7:1:-F1:∞:?2:∞:?3:1:-4:1:-5:∞:?6:∞:?7:∞:?1A1:1:-2:2:B3:1:-4:2:F5:1:-6:∞:?7:2:EB1:1:-2:1:-3:2:A4:∞:?5:2:A6:2:C7:∞:?C1:2:B1:1:-3:∞:?4:∞:?5:∞:?6:1:-7:2:DD1:∞:?2:2:C3:∞:?4:∞:?5:2:E6:1:-7:1:-E1:2:A2:∞:?3:2:A4:∞:?5:1:-6:2:D7:1:-F1:2:A2:∞:?3:1:-4:1:-5:2:A6:∞:?7:∞:?2A1:1:-2:2:B3:1:-4:2:F5:1:-6:3:B7:2:EB1:1:-2:1:-3:2:A4:3:A5:2:A6:2:C7:3:AC1:2:B1:1:-3:3:B4:∞:?5:3:A6:1:-7:2:DD1:3:C2:2:C3:3:E4:∞:?5:2:E6:1:-7:1:-E1:2:A2:3:D3:2:A4:3:A5:1:-6:2:D7:1:-F1:2:A2:3:A3:1:-4:1:-5:2:A6:∞:?7:3:A3A1:1:-2:2:B3:1:-4:2:F5:1:-6:3:B7:2:EB1:1:-2:1:-3:2:A4:3:A5:2:A6:2:C7:3:AC1:2:B1:1:-3:3:B4:4:B5:3:A6:1:-7:2:DD1:3:C2:2:C3:3:E4:4:E5:2:E6:1:-7:1:-E1:2:A2:3:D3:2:A4:3:A5:1:-6:2:D7:1:-F1:2:A2:3:A3:1:-4:1:-5:2:A6:4:A7:3:A算法的特点:优点:简单、适用于小规模网络缺点:网络规模的伸展性差、对链路状态的变化响应慢、路由包文尺寸大且包文长与路由器的个数成正比.典型的协议是:RIP(RoutingInformationProtocol)在路由器上键入命令:RouterripNetwork192.168.1.0Network192.168.2.05.4.2链路状态路由算法在链路状态路由中,每个路由器和互连网络中的所有其它路由器共享关于它邻居的信息:①共享关于邻居的信息②共享的信息发给所有的路由器③信息的共享在有规律的时间间隔内进行(一般30分钟)理解链路状态路由的关键在于它和距离向量路由的不同之处。在链路状态路由中,每个路由器和互连网络中的所有其它路由器共享关于它邻居的信息。链路状态路由可分为两步完成:第一步是共享链路状态信息,即每个路由器将它自己和它的所有邻居之间的链路状态信息发送给互连网络中的所有其它路由器。第二步是每个路由器根据自己所掌握的关于整个网络的链路状态信息计算到每个网路的路由。①链路状态信息共享FEDCBANet:7Net:6Net:5Net:4Net:3Net:2Net:11223425532323(1)路由器传输包的费用:在链路状态路由中,费用是许多因素的加权值。这些因素包括安全级别,流量和链路的传输速率等。(2)链路状态包:路由器通过向整个互连网络中的所有路由器发送链路状态包(LSP),在网络中扩散关于自己邻居的信息。一个LSP通常包含四个信息域:广告者的ID,所影响的目标网络ID,费用,邻居路由器的ID。(3)获得关于邻居路由器的信息:每个路由器都周期性地发送一个简短的问候包来获取关于它们邻居的信息。这些问候包很小,只占用很小的网络资