第7章网络层本章基本要求:掌握IP地址的规划及子网划分技术,掌握网络层中源到目的分组传输的实现机理。理解网络层的主要功能,理解数据报和虚电路的区别,理解路径选择的作用与实现。理解IP协议、ARP协议和ICMP协议的作用,理解路由器的功能。了解拥塞控制的概念。了解IP报文的格式。了解静态路由与动态路由的特点及实现方法。第7章网络层7.1网络层功能概述7.2数据交换方式7.3TCP/IP的网络层7.4路由与路由协议7.5下一代的网际协议IPv67.6网络层的设备7.7技能训练习题7.1网络层功能概述7.1.1网络层的作用数据链路层能利用物理层所提供的比特流传输服务实现相邻结点之间的可靠数据传输,也就是说,数据链路层只能将数据帧由传输介质的一端送到另一端。如图7.1所示,源主机DTE0/1和DCE0/1为相邻结点,而DCE0/1则分别与DCE2、DCE3和DCE4为相邻结点,数据链路层可以解决诸如这些相邻结点之间的数据传输问题。但是在图7.1中,从源主机DTE1到目的主机DTE2要历经许多中间结点,而这些中间结点构成了多条不同的网络路径,从而必然带来路径选择问题。也就是说,当DCE1收到从DTE1来的数据后,就7.1网络层功能概述马上面临着是从DCE2还是DCE3或者是DCE4进行数据转发的问题,而数据链路层显然没有提供这种实现源到目的数据传输所必需的路径选择功能。数据链路层能够以物理地址(如MAC地址)来标识网络中的每一个结点,但不能绕开路径选择问题而直接利用物理层地址实现主机寻址。可以说,当源和目的位于同一个网桥或交换机的不同端口直接相连的网段时,这种寻址方式可以非常方便地定位到目的主机。但是,若网桥或交换机的其他端口直接所连的网段没有目的主机时,则网桥和交换机就只能通过向所有其他相连的网桥或交换机进行广播的方式来间接地找到目的结点。这种通过物理地址直接寻址的方式只能适用于规模非常小的网络,在许多情况下网络路径选择功能是必不可少的。7.1网络层功能概述图7.1网络中间结点和网络路径的示例7.1网络层功能概述网络层涉及将源主机发出的分组经由各种网络路径到达目的主机,其利用了数据链路层所提供的相邻结点之间的数据传输服务,向传输层提供了从源到目的的数据传输服务。网络层是处理端到端(endtoend)数据传输的最低层,但同时又是通信子网的最高层。如图7.2所示,资源子网中的主机具备了OSI模型中所有7层的功能,但通信子网中的主机因为只涉及通信问题而只拥有OSI模型的低3层。所以网络层被看成是通信子网与资源子网的接口,即通信子网的边界。7.1网络层功能概述7.1网络层功能概述为了有效地实现源到目的的分组传输,网络层需要提供多方面的功能。首先,需要规定该层协议数据单元的类型和格式,网络层的协议数据单元称为分组(Packet。其次,要了解通信子网的拓扑结构,从而能进行最佳路径的选择,最佳路径选择又被称为路由(Routing)。第三,进行拥塞控制和负载平衡。另外,当源主机和目的主机的网络不属于同一种类型时,网络层还要协调好不同网络间的差异即所谓异构网络互连的问题。7.1网络层功能概述7.1.2网络层所提供的服务网络层提供给传输层的服务有面向连接和面向无连接之分。网络层服务方式的不同主要取决于通信子网的内部结构。面向无连接的服务在通信子网内通常以数据报(Datagram)方式实现。面向连接的服务则通常采用虚电路(VirtualCircuit,简称VC)方式实现。7.2数据交换方式常用的数据交换方式可分为两大类:电路交换方式(CircuitSwitching)和存储转发交换方式(StoreandForwardSwitching)。存储转发交换方式按照被转接的信息单位不同,又可分为报文交换和报文分组交换。7.2.1电路交换在电路交换(CircuitSwitching)网络中,通过网络结点在两个工作站之间建立一条专用的通信电路。最普通的电路交换例子是公用电话交换网(PSTN)。①电路建立:在传输任何数据之前,都必须建立端到端(站到站)的线路,即在源结点和目的结点间建立一条由各个中间交换结点的分段连接所组成的通信电路。7.2数据交换方式如图7.3所示的网络,站点A向结点1发出请求,要求与B站通信。由于站点A到结点1以及站点B到结点6均只有专用线路,所以结点1必须接通一条到结点6的电路,结点1到结点6的电路可以有多种选择:比如1?2?6,1?4?3?6等等。假设根据路由选择的规则选择了电路1?4?3?6,那么就建立了从A到B的电路A?1?4?3?6?B。②数据传输:一旦通信电路建立起来,就可通过这条专用电路从站点A通过网络传输数据到站点B。其中传输的数据可以是数字数据,也可以是模拟数据。③电路拆除:数据通信结束后,应拆除电路,供其他用户使用。通常是由两个站点中的一个站点来完成这一动作。拆除线路信号必须传输到电路所经过的各个结点,以便重新分配资源。7.2数据交换方式7.2数据交换方式7.2.2报文交换报文交换(MessageSwitching)属于存储交换,它不需要在两个站之间建立一条专用通路。存储交换的主要原理是:把待传输的信息存储起来,等到信道空闲时发出去。只要存储时间足够长,就能够把信道忙碌和空闲的状态均匀化,大大压缩了必需的信道容量和转接设备容量。但是,这种方式对于有实时性要求的信息传输是不允许的,而对于数据通信则是合适的。存储交换具有存储信息的能力,所以能平滑通信和充分利用信道。7.2数据交换方式报文交换工作过程如下:发信端将发往收信端(目的地)的信息分割成一份份的报文正文,连同收信地址等辅助信息形成一份份的报文,首先发往本地的交换中心(或交换局),然后由交换中心将每份报文完整地存储起来;由于报文一般较长,往往将它存入联机的大容量存储器或脱机的大容量存储器中,当等到去目的地的线路空闲时,再将一份份报文转发到下一个交换中心,然后再转到目的地。目的地收信交换中心将收到的各份报文按原来的顺序进行装配,而后将完整的信息交付给目的地收信的计算机或终端设备,如图7.4所示。报文从站点A出发经过结点1、结点2和结点6的存储转发,最后到达站点B。7.2数据交换方式7.2数据交换方式7.2.3报文分组交换报文分组交换(PacketSwitching)方式是1964年提出来的,简称为分组交换或包交换,最早在ARPANET上得以应用。报文分组交换方式采用了较短的格式化的信息单位,称为报文分组,简称报文组(Packet)。在报文交换网络中,报文长度远比分组长得多。CCITT(现已改名为ITU)给报文分组下的定义是:一组包含数据和呼叫控制信号(例如地址)的二进制数,对它作为一个组合整体加以交换,这些数据、呼叫信号以及可能附加的差错控制信息是按规定的格式排列的。由于它在发送端将报文分割成更小的报文分组,使它适合在交换机(计算机)的主存储器中存储转发,所以比起报文交换方式,报文分组交换能改善传输的接续时间和传输延迟时间。7.2数据交换方式图7.5表示了报文分组交换的过程:当报文从站点A出发到达结点1后,分成多个分组,每个分组各自选择不同的路径,最后都到达结点6后,重新装配成报文,传输给站点B。由于采用分组传输以后,发送信息时需要把报文信息拆卸并加入分组报头,即将报文转换成分组信号;接收时还需要去掉分组报头,将分组数据装配成报文信息。所以,用于控制和处理数据传输的软件较复杂,同时对通信设备的要求也较高。7.2数据交换方式7.2数据交换方式7.2.4三种交换技术比较不同的交换技术适用于不同的场合:①对于交互式通信来说,报文交换是不合适的。②对于较轻的或间歇式负载来说,电路交换是最合算的,因为可以通过电话拨号来使用公用电话系统。③对于两个站之间很重的和持续的负载来说,使用租用的电路交换是最合算的。④当有一批中等数量数据必须交换到大量的数据设备时,可用分组交换方法,这种技术的线路利用率是最高的。⑤数据报分组交换适用于短报文,能具有灵活性的报文。⑥虚电路分组交换适用于长交换,能减轻各站点的处理负担。7.2数据交换方式7.2.5其他通信交换技术随着通信和网络应用的发展,传统的交换技术已经不能满足需要。例如,交互式的会话通信对实时性要求很高,延迟要小;高清晰度(HDTV)图像及高速数据的传输要求高速宽带的通信网。目前提高数据交换速度的方案有很多,主要有数字语音插空技术、帧中继技术和异步传输模式等。1.数字语音插空技术利用数字语音插空技术(DSI,DigitalSpeechInterpolation)能提高线路交换的传输能力。传统的电路交换技术在接通通路后,该通路被一对用户完全占用。但是在传输语音信号时,通路并不始终处于忙的状态,有很多空闲的状态。DSI技术的原理仅当传输语音信号时,才向通话用户分配通道,其余时刻可把通道分配给数据通信。7.2数据交换方式2.帧中继技术帧中继(FrameRelay)是对目前广泛采用的X.25分组交换通信协议的简化和改进。在链路上无差错控制和流量控制,是一种简化的面向连接的分组交换。3.信元交换信元交换是一种新的交换技术。异步传输模式(ATM,AsynchronousTransferMode)采用信元交换。ATM数据传输单位是一固定长度的分组,称为信元,它有一个信元头及一个信元信息域。信元长度为53个字节,其中信元头占5个字节,信息域占48个字节。信息头的主要功能是信元的网络路由。ATM是面向连接的,信令和用户信息在分别的虚拟通道中传输。7.3TCP/IP的网络层TCP/IP的网络层被称为网络互连层或网际层(InternetLayer。网络层的主要协议包括IP协议、ARP协议、RARP协议、ICMP协议和一系列路由协议。7.3.1IP协议IP协议定义了用以实现面向无连接服务的网络层分组格式,其中包括IP寻址方式。不同网络技术的主要区别在数据链路层和物理层,如不同的局域网技术和广域网技术。而IP协议则能够将不同的网络技术在TCP/IP的网络层统一在IP协议之下,以统一的IP分组传输提供对异构网络互连的支持。IP协议使互连起来的许多计算机网络能够通信,因此,TCP/IP体系中的网络层常常称为网际层(InternetLayer),或IP层。7.3TCP/IP的网络层7.3TCP/IP的网络层图7.7给出了IP分组的格式,由于IP协议实现的是面向无连接的数据报服务,故IP分组通常又被称为IP数据报。由图7.7可看出,一个IP数据报有首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。①版本:占4比特,指IP协议的版本。。②首部长度:占4比特,数据据报报头的长度。以32位(相当于4字节)长度为单位,当报头中无可选项时,报头的基本长度为5。7.3TCP/IP的网络层③服务类型:占8比特,主机要求通信子网提供的服务类型。包括一个3比特长度的优先级,4个标志位D、T、R和C,D、T、R、C分别表示延迟、呑吐量、可靠性和代价。另外1比特未用。④总长度:占16比特,数据报的总长度,包括头部和数据,以字节为单位。数据报的最大长度为216?1字节即65535字节(即64KB)。在IP层下面的每一种数据链路层都有其自己的帧格式,其中包括帧格式中的数据字段的最大长度,称为最大传输单元(MTU,MaximumTransferUnit)。当一个IP数据报封装成数据链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。表7.2给出了不同数据链路层协议的MTU值。7.3TCP/IP的网络层表7.2不同数据链路层协议的MTU值7.3TCP/IP的网络层⑤标识:占16比特,标识数据报。当数据报长度超出网络最大传输单元(MTU)时,必须进行分割,并且需要为分割段(fragment)提供标识。所有属于同一数据报的分割段被赋予相同的标识值。⑥标志:占3比特,指出该数据报是否可分段。目前只有前两个比特有意义。⑦片偏移:占13比特,若有分段时,用以指出该分段在数据报中的