1第4章网络层运输层:接受网络层提供的主机到主机的通信服务。为主机上的两个进程之间提供通信服务。运输层只在网络的主机中出现;网络层在网络的主机和路由器中出现。本章主要讨论网络层如何实现主机到主机的通信服务。应用层运输层网络层链路层物理层2主要内容网络层功能和服务:虚电路和数据报;路由器结构:分组转发;网络层的选路:决定分组从源到目的地所经路径的一些选路算法。4.1概述4.2虚电路和数据报网络4.3路由器的构成4.4IP协议4.5选路算法4.6因特网的选路4.7广播和多播小结34.1概述发送方主机网络层的作用:将来自运输层的每个报文段封装成一个数据报(网络层分组);将数据报向目的地发送,即向相邻的路由器R1发送。networkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical网络层数据链路层物理层applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalH1H2R1R24接收方主机网络层的作用:接收来自相邻的路由器R2的数据报;解封出报文段,并交付给其运输层。networkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical网络层数据链路层物理层applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalH1H2R1R2路由器的主要作用:将数据报从输入链路“转发”到输出链路。通常路由器只实现下三层部分4.1.1转发和选路4.1.2网络服务模型51、网络层功能将分组从发送主机移动到接收主机。主要包括:转发:当一个分组到达某个路由器的输入链路时,该路由器必须将其移动到合适的输出链路。与路由器的内部结构有关。选路:确定分组从发送方流向接收方时所经过的路由或路径。通过选路算法计算路径。networkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical网络层数据链路层物理层applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalH2R1R26两者区别:转发:将分组从路由器的一个输入链路接口转移到一个合适的输出链路接口的本地动作。只涉及分组在路由器中从入链路到出链路的传送选路:指分组从源到目的地的端到端路径的网络范围动作。涉及网络中的所有路由器,集体经选路协议交互,决定分组从源到目的地的路径。类比——汽车旅行:选路:从起点到目的终点计划行程的过程。转发:通过单个立交桥的过程72、路由器如何转发分组转发表:每台路由器有一张。分组首部(目的地址或某个连接标识)和相应输出链路的对照表。转发表的内容由选路算法决定(集中式或分布式)。81230111到达分组首部的值选路算法本地转发表首部值输出链路01000101011110013221转发方法:路由器根据到达分组的首部值在转发表中查询,找到相应的输出链路接口,并将分组转发出去。93、术语分组交换机:一台通用分组交换设备,根据分组首部值,从输入链路接口到输出链路接口传送分组。链路层交换机:根据链路层字段值作转发决定的分组交换机。路由器:根据网络层字段值作转发决定的分组交换机。104、连接建立运输层连接:如TCP协议,在数据实际传输之前,需要发送方和接收方经过三次握手建立所需的状态信息。网络连接:指网络层数据分组开始传输前,在所选择的从源到目的地路径上的各路由器之间相互握手,建立连接状态。如ATM、帧中继的网络层。因特网网络层不执行连接建立。使用IP协议!114.1.2网络服务模型问题:发送主机的运输层是否能依靠网络层将分组交付到目的地;多个分组是否能按发送顺序交付给接收主机的运输层;传输两个连续分组的时间间隔是否与接收到的时间间隔相同;网络层是否能提供网络拥塞的反馈信息;连接发送与接收主机的运输层通道的抽象视图(特性)是什么?由网络层提供的服务模型来确定。12网络服务模型:定义在网络的一侧“边缘”到另一侧“边缘”之间(即在发送与接收端系统之间)端到端的数据运输特性。131、网络层可能提供的服务确保交付:确保分组到达目的地。具有时延上界的确保交付:主机到主机的时延。有序分组交付:按发送顺序到达。确保最小带宽:当发送主机以低于特定比特率的速率发送比特,分组不会丢失,在一定时延到达。确保最大时延抖动:发送方发送两个连续分组的时间间隔与接收到的间隔相同。142、因特网网络层提供的服务单一的服务,即尽力而为服务(best-effortservice),类似于“根本无服务”。分组间的定时不能被保证;分组的接收顺序与发送顺序不一定相同;传送的分组不能保证最终交付,即网络可能未向目的地交付分组。153、ATM服务模型提供多重的服务模型,即在同一网络中为不同的连接提供不同类别的服务。恒定比特率CBR(Costantbitrate)服务:标准的ATM服务模型。适用于实时、恒定比特率的音频和视频流。服务目标:使网络连接看起来就像在发送主机和接收主机之间有一条专用的固定带宽的传输链路。ATM信元传输时的端到端时延可变性(时延抖动)及丢失、迟交的信元都保证在规定值以下。16可用比特率ABR(Availablebitrate)服务“比尽力服务稍好一点”的服务。可能会丢失信元,但不能被重排序;保证最小信元传输速率(MCR),或比MCR更高(有足够空闲资源);能够为发送方提供反馈信息。17网络层服务模型:网络体系结构服务模型带宽保证无丢失保证排序定时拥塞指示因特网尽力而为无无任何可能的顺序不维持无ATMCBR保证恒定速率是有序维持拥塞不出现ATMABR保证最小速率无有序不维持提供拥塞指示184.2虚电路和数据报网络运输层:提供无连接服务和面向连接服务。如因特网的UDP、TCP。网络层:提供无连接服务和面向连接服务。面向连接服务:源和目的主机之间先握手。无连接服务:无握手过程。19区别:网络层:向运输层提供的主机到主机的服务。运输层:向应用层提供的进程到进程的服务。网络层:任何网络中的网络层只提供两种服务之一,不会同时提供。虚电路网络:提供连接服务。数据报网络:提供无连接服务。运输层:面向连接服务在网络边缘的端系统中实现。网络层:面向连接服务在端系统及网络核心的路由器中实现。20本节内容4.2.1虚电路网络4.2.2数据报网络4.2.3数据报和虚电路服务的由来214.2.1虚电路网络如X.25、帧中继和ATM等。根据虚电路号转发分组。221、虚电路VC组成源和目的地之间的一条连接路径:一系列链路和路由器;VC号:该路径上每段链路的号码,每条链路上的VC号可能不同;路由器转发表中的表项:VC路径上每台路由器中都有该表。232、工作原理在源和目的之间创建一个VC;源向该VC发送带有VC号的分组;每经过一台中间路由器,用新的VC号代替原VC号:从VC号转发表获得;分组在每条链路上的VC号不同。依此规则,直到目的地。24主机A与主机B通信过程122232132VC号接口号:路由器连接链路的接口号码主机A与主机B之间创建一条VC:路径为AR1R2B,3个链路分配VC号12、22和32。传输时,分组VC号变化过程:122232AR1R2BABR1R2R3R4253、VC号转发表结构入接口入VC#出接口出VC#11222226311837217197387…………例,R1中的VC号转发表。路由器维护连接状态信息!122232132VC号BR1R2R3R4AVC1VC2VC3VC426只要该路由器创建新的VC,其转发表中就增加一项;终止一个VC,其转发表中就删除对应项。路由器必须为正在进行的连接维护连接状态信息,直到该连接释放。每条链路采用不同VC号的优点:减少分组首部VC字段的长度;简化虚电路的建立过程。27虚电路的三个阶段:虚电路建立:在发送方与接收方之间建立一条虚电路,即决定所有分组要通过的一系列链路与路由器,并为每条链路确定一个VC号。发送方与网络层联系,指定接收方地址,由网络建立虚电路(VC)。如图4-4(1~4步)。涉及到路径上每个路由器转发表的更新、资源的预留等。应用运输网络数据链路物理应用运输网络数据链路物理1.发起呼叫2.入呼叫3.接受呼叫4.呼叫已连接28应用运输网络数据链路物理应用运输网络数据链路物理1.发起呼叫2.入呼叫3.接受呼叫4.呼叫已连接5.数据流开始6.接收数据数据传送:沿该虚电路传输数据分组(5~6步)。虚电路拆除:由其中一方通知其网络层终止该虚电路;通知网络另一侧的端系统呼叫结束,并更新路径上每台路由器中的转发表。29网络层与运输层连接建立区别运输层的连接建立:只涉及两个端系统,相互协商通信并共同确定连接的参数。网络中的路由器并不知道该运输层连接。网络层虚电路建立:沿两个端系统之间路径上的路由器都要参与虚电路的建立,且每个路由器都完全知道所经过的所有虚电路。30信令报文:端系统向网络发送的指示虚电路的启动与终止的报文、以及路由器之间传递的用于建立虚电路的报文信令协议:用来交换信令报文的协议。314.2.2数据报网络如,因特网。网络层无呼叫建立路由器没有端到端连接的状态无网络级“连接”的概念分组使用目的主机地址转发相同源和目的地的分组可能采用不同的路径32传输过程发送方给要发送的分组加上目的端系统地址,并送入网络,经过若干中间路由器转发分组,直到目的地。应用运输网络数据链路物理应用运输网络数据链路物理1.发送数据2.接收数据33路由器转发方法:根据到达分组的目的地址在转发表中查询,找到相应的输出链路接口,并将分组转发出去。转发表:每台路由器有一张。目的地址与链路接口的映射表。转发表中的表项数与地址位数有关,每个可能的地址对应一项。例,设目的地址32位,40亿可能的项。34转发表目的地址范围链路接口11001000000101110001000000000000到01100100000010111000101111111111111001000000101110001100000000000到11100100000010111000110001111111111001000000101110001100100000000到211001000000101110001111111111111其他3例,某个路由器有4条链路(0~3),地址与链路接口关系:是否可简化?35最长前缀匹配转发表前缀匹配链路接口110010000001011100010011001000000101110001100011100100000010111000112其他336路由器查表方法:用目的地址前缀与转发表的前缀匹配:存在匹配:向对应链路转发。如,目的地址11001000000101110001011010100001不存在匹配:选择