网络层1第4章网络层NetworkLayer计算机网络:自顶向下方法(原书第三版)陈鸣译,机械工业出版社,2005年ComputerNetworking:ATopDownApproachFeaturingtheInternet,3rdedition.JimKurose,KeithRossAddison-Wesley,July2004.网络层2第4章网络层本章目的:理解网络层服务依赖的原理:选路(路径选择)处理扩展性路由器工作原理先进主题:IPv6,NAT因特网中的实例和实现网络层3第4章网络层4.1概述4.2虚电路和数据报网络4.3路由器的构成4.4IP:网际协议数据报格式IPv4编址NATICMPIPv64.5选路概念4.6选路算法链路状态距离矢量等级选路4.7互联网中选路RIPOSPFBGP4.8广播和多播选路网络层4网络层从发送主机到接收主机传输段在发送侧将段封装进数据报在接收侧,向运输层交付段网络层协议在每台主机、路由器中当IP数据报通过路由器时,路由器检查所有数据报首部字段networkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical网络层数据链路层物理层applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysical网络层5关键的网络层功能转发:将分组从路由器的输入移动到适当的路由器输出选路:决定分组从源到目的地所采用的路由选路算法类比:选路:规划从源到目的地路径的过程转发:通过单个立交桥的过程网络层61230111到达分组首部的值选路算法本地转发表首部值输出链路01000101011110013221选路和转发相互影响网络层7连接建立在某些网络体系结构中第三重要的功能:ATM,帧中继,X.25在数据报流动之前,两台主机和其间的路由器创建虚拟连接需要路由器参与网络层和运输层的连接服务:网络层:在两台主机之间运输层:在两个进程之间网络层8网络服务模型问题:对从发送方到接收方“隧道”化传输数据报,其服务模型是什么?对单个数据报的例子服务:确保交付以少于40msec时延确保交付对数据报流的例子服务:按序数据报交付对流确保最小带宽对分组间间隔变化的限制网络层9网络层服务模型:网络体系结构服务模型带宽保证无丢失保证排序定时拥塞指示因特网尽力而为无无任何可能的顺序不维持无ATMCBR保证恒定速率是有序维持拥塞不出现ATMABR保证最小速率无有序不维持提供拥塞指示网络层10第4章网络层4.1概述4.2虚电路和数据报网络4.3路由器的构成4.4IP:网际协议数据报格式IPv4编址NATICMPIPv64.5选路概念4.6选路算法链路状态距离矢量等级选路4.7互联网中选路RIPOSPFBGP4.8广播和多播选路网络层11网络层连接和无连接服务数据报网络提供网络层无连接服务虚电路网络提供网络层连接服务与运输层服务的类比:服务:主机到主机无选择:网络提供一个或其他实现:在网络内部网络层12虚电路在数据流动之前,建立呼叫;然后拆除每个分组携带VC标识符在源到目的地路径上的每台路由器为每条经过的连接维护维护状态链路、路由器资源(带宽、缓存)可能分配给VC“源到目的地路径与电话电路行为非常相似”性能明确沿着源到目的地路径的网络动作网络层13VC实现一条VC由下列组成:1.从源到目的地的路径2.VC号是标识沿路径每条链路的号码3.沿路径路由器中转发表中的项属于VC的分组携带一个VC号每条链路的VC号必须改变新的VC号来自转发表网络层14转发表122232132VC号接口号入接口入VC#出接口出VC#11222226311837217197387…………西北路由器中的转发表:路由器维护连接状态信息!网络层15虚电路:信令协议用于建立、维护和拆除VC用于ATM、帧中继、X.25中没有用于今天的因特网中应用运输网络数据链路物理应用运输网络数据链路物理1.发起呼叫2.入呼叫3.接受呼叫4.呼叫已连接5.数据流开始6.接收数据网络层16数据报网络在网络层无呼叫建立路由器:没有端到端连接的状态无网络级“连接”的概念分组使用目的主机地址转发在相同源和目的对可能采用不同的路径应用运输网络数据链路物理应用运输网络数据链路物理1.发送数据2.接收数据网络层17转发表目的地址范围链路接口11001000000101110001000000000000到01100100000010111000101111111111111001000000101110001100000000000到11100100000010111000110001111111111001000000101110001100100000000到211001000000101110001111111111111其他340亿可能的项网络层18最长前缀匹配前缀匹配链路接口110010000001011100010011001000000101110001100011100100000010111000112otherwise3目的地址:11001000000101110001100010101010例子目的地址:11001000000101110001011010100001哪个接口?哪个接口?网络层19数据报或虚电路网络:why?因特网在计算机间交换数据“弹性”服务,无严格的定时要求“智能”端系统(计算机)能够适应,执行控制,差错控制网络内部简单,“边缘”复杂许多链路类型不同的特点难以提供统一服务ATM从电话技术演化来人类交谈:严格定时,可靠性要求对确保服务的需求“哑”端系统电话网络内部复杂网络层20第4章网络层4.1概述4.2虚电路和数据报网络4.3路由器的构成4.4IP:网际协议数据报格式IPv4编址NATICMPIPv64.5选路概念4.6选路算法链路状态距离矢量等级选路4.7互联网中选路RIPOSPFBGP4.8广播和多播选路网络层21路由器体系结构概述路由器的两个关键功能:运行选路算法/协议(RIP,OSPF,BGP)从入链路到出链路转发数据报网络层22输入端口功能分散式交换:给定数据报目的地址,在输入端口内存中使用转发表查找输出端口目的:以“线速”完成输入端口处理排队:如果数据报到达比交换结构的转发速率快物理层:比特级接收数据链路层:如以太网参见第5章网络层23三种类型的交换结构内存总线纵横制网络层24经内存交换第一代路由器:具有交换功能的传统计算机,在CPU的直接控制下分组拷贝到系统的内存速率受内存带宽限制(每数据报跨越两次总线)输入端口输出端口内存系统总线网络层25经总线交换数据报从输入端口到输出端口内存经一个共享的总线总线竞争:交换速率受总线带宽限制1Gbps总线,Cisco1900:用于接入和企业(非区域或主干)路由器的充足速率总线网络层26经互联网络的交换克服了总线带宽限制Banyan网络,其他互联网络最初研制以连接多处理器中的处理器先进的设计:数据报分段为固定长度的信元,通过交换结构搅和信元Cisco12000:通过互联网络交换Gbps网络层27Batcher-Banyan交换机Linecard(转发buffering)Linecard(转发buffering)Linecard(转发buffering)Linecard(转发buffering)选路CPUBuffermemory选路softwarew/routerOS高速路由器网络层28输出端口当数据报来自交换结构比传输速率更快时,需要缓存调度安排为了传输在排队数据报之间选择交换结构排队:缓存管理数据链路处理(协议、拆封)线路端接网络层29输出端口排队当到达速率经交换机超过输出链路速率时缓存因为输出缓存溢出,出现排队(时延)和丢包!交换结构交换结构在时间t输出端口竞争一个分组时间以后网络层30输入端口排队交换结构比组合的输入端口慢-排队可能出现在输入队列线头(HOL)阻塞:排队的数据报在队列的前面阻碍队列中的其他数据报转发由于输入缓存溢出,出现排队时延和丢包!在时间t输出端口竞争,仅一个红色分组能被传输绿色分组经历了HOL阻塞交换结构网络层31第4章网络层4.1概述4.2虚电路和数据报网络4.3路由器的构成4.4IP:网际协议数据报格式IPv4编址NATICMPIPv64.5选路概念4.6选路算法链路状态距离矢量等级选路4.7互联网中选路RIPOSPFBGP4.8广播和多播选路网络层32TheInternet网络层转发表主机,路由器网络层功能:选路协议•路径选择•RIP,OSPF,BGPIP协议•编址规则•数据报格式•分组处理规则ICMP协议•差错报告•路由器“信令”运输层:TCP,UDP链路层物理层网络层网络层33IP:无连接交付系统互联网服务被定义成不可靠的、尽力而为、无连接分组交付系统。服务是不可靠的,因为分组可能丢失、重复、延迟或不按序交付等,但服务不检测这些情况,也不提醒发送方和接收方。服务是尽力而为的,互联网并不随意地丢弃分组;只有当资源用完或底层网络出现故障时才可能出现不可靠性。服务是无连接的,因为每个分组都是独立对待的。分组序列可能经过不同的传输路径或者有的丢失有的到达。网络层34IP数据报格式ver长度32bits数据(变长,通常是一个TCP或UDP段)16-bit标识符互联网检查和寿命32bit源IP地址IP协议版本号首部长度(字节)剩余跳的最大数(在每台路由器减1)对分段/重装总数据报长度(字节)较高层协议交付的负载首部长度服务类型数据的“类型”标志段偏移高层32bit目的IP地址选项(如果有的话)例如,时间戳,记录所经路径,定义访问的路由器列表TCP的开销多大?20字节TCP20字节IP=40字节+应用层开销网络层35IP分片和重新组装网络链路有MTU(最大传输长度)–最大可能的链路级帧不同的链路类型,不同的在网络中,大IP数据报被分割(“分段”)一个数据报变为几个数据报“重新装配”仅在最后目的地IP首部比特用于标识、排序相关段分段:输入:一个大的数据报输出:3个小的数据报reassembly网络层36IP分片和重新组装ID=x偏移=0段标识=0长度=4000ID=x偏移=0段标识=1长度=1500ID=x偏移=185段标识=1长度=1500ID=x偏移=370段标识=0长度=1040一个大数据报变为几个较小的数据报例子4000字节数据报MTU=1500字节在数据字段1480字节偏移=1480/8网络层37第4章网络层4.1概述4.2虚电路和数据报网络4.3路由器的构成4.4IP:网际协议数据报格式IPv4编址NATICMPIPv64.5选路概念4.6选路算法链路状态距离矢量等级选路4.7互联网中选路RIPOSPFBGP4.8广播和多播选路网络层38IP编址:概述IP地址:对主机、路由器接口的32-bit标识符接口:在主机/路由器和物理链路之间的连接路由器通常具有多个接口主机可能具有多个接口IP编址与每个接口相联系223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27223.1.1.1=110111