第4章 网络层 第一节 网络层服务 一、网络层服务[识记] 在计算机网络体系结构中,网络层位于数据链路层之上、传输层之下,位于提供端到端传输层服务的协议栈底层。网络层是网络核心的最在计算机网络体系结构中,网络层位于数据链路层的最高层,是实现大型网络互连的关键,是网络体系结构中最重要的一层。 二、转发与路由的基本概念[领会] 网络层需要实现两项重要功能:转发和路由选择。 (1)转发。当通过一条输人链路接收到一个分组后路由器需要决策通过哪条输出链路将分组发送出去,并将分组从输人接口转移到输出接口, (2)路由选择。当分组从源主机流向目的主机时,必须通过某种方式决定分组经过的路由或路径,计算分组所经过的路径的算法被称为路由选择算法,或称为路由算法。 一此提供面向连接服务的网络还提供另外一个重要的网络层功能:连接建立。网络层连接是从源主机到目的主机所经过的一条路径,这条路径所经过的每个路由器等网络层设备都要参与网络层连接的建立。 第二节 数据报网络与虚电路网络 一、数据报网络[识记] 按照目的主机地址进行路由选择的网络称为数据报网络。用数据报方式传送数据时,将每个分组作为个独立的数据报进行传送。每台分组交换机有一个把目的地址(或者部分目的地址)映射到某个输出链路的转发表,每当有一个分组到达某台分组交换机时,该分组交换机检查其目的地址,并以该地址检索自己的转发表,决策合适的输出链路,然后将该分组发送到这个输出链路上。 二、虚电路网络[识记] 虚电路网络在网络层提供面向连接的分组交换服务。通信之前,双方需要先建立虚电路,通信结束后再拆除建电路。虚电路是在源主机到目的主机的一条路径上建立的一条网络层逻辑连接,为区别于电路交换中的电路,称之为虚电路。 每条虚电路都有虚电路号,称之为虚电路标识(VCID)。 一条虚电路(VC)由3个要素构成: (1)从源主机到目的主机之间的一条路径(即一系列的链路和分组交换机)。 (2)该路径上的每条链路各有一个虚电路标识(VCID)。 (3)该路径上每台分组交换机的转发表中记录虚电路标识的接续关系。 虚电路交换和数据报交换的比较如表4.2所示。 表4.2 虚电路交换和数据报交换的比较 file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9664/wps1.png 第三节 网络互连与网络互连设备 一、网络互连的基本方法[领会] 异构网络主要是指两个网络的通信技术和运行协议的不同。实现异构网络互连的基本策略主要包括协议转换和构建虚拟互联网络。 协议转换机制采用一类支持异构网络之间协议转换的网络中间设备,实现异构网络之间数据分组的转换与转发。理论上讲,这种中间设备可以在除物理层之外的任何一层实现协议转换。 通过构建虚拟互联网络机制的异构网络互连是在现有异构网络基础上,构建一个同构的虚拟互联网络,异构网络均只需封装、转发虚拟互联网络分组,同时引入虚拟互联网中间设备互连构网络,实现在异构网络间转发统的虚报互联网的数据分组。 二、路由器体系结构[领会] 路由器是一种具有多个输入端口和多个输出端口的专用计路由信息以及转发分组。路由器是最典型的网络层设备。路由器从功能体系结构角度,可以分为输入端口、交换结构、输出端口与路由处理器。 1.输人端口 路由器输入端口接收与处理数据过程:输入端口负责从物理接口接收信号,还原数据链路层帧,提取IP数据报(或其他网络层协议分组),根据IP数据报的目的IP地址检索路由表,决策需要将该IP数据报交换到哪个输出端口。 2.交换结构 交换结构完成将输入端口的IP数据报交换到指定的输出端口。主要包括基于内存交换、基于总线交换和基于网络交换的3种交换结构。 (1)基于内存交换。当分组到达输入端口时,通过中断方式将分组由输入端口送至内存,路由处理器对内存中的分组首部进行解析,获取其目的地址,并根据目的地址查找转发表,确定将该分组转发至哪个端口,进而将分组由内存复制到相应的输出端口。 (2)基于总线交换。在基于总线交换的交换结构中,路由器的输入端口与输出端口同时连接到一条数据总线上,到达输入端口的分组首先经过查询转发表.确定要转发到的输出端口,然后分组经由数据总线传输至指定输出端口。 (3)基于网络交换。基于网络交换可以实现并行交换传输,使得交换效率得到了较大的提高。 3.输出端口 输出端口首先提供一个缓存排队功能,排队交换到该端口的待发送分组,并从队列中不断取出分组进行数据链路层数据帧的封装,通过物理线路端接发送出去。 4.路由处理器 路由处理器就是路由器的CPU,负责执行路由器的各种指令,包括路由协议的运行、路由计算以及路由表的更新维护等。转发与路由选择是路由器两项最重要的基本功能。 第四节 网络层拥塞控制 一、网络层拥塞[识记] 拥塞是一种持续过载的网络状态此时用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的总需求超过了网络固有的容量。 拥塞控制就是端系统或网络结点,通过采取某些措施来避免拥塞的发生,或者对已发生的拥塞做出反应以便尽快消除拥塞。 发生拥塞的原因主要有如下四种: (1)缓冲区容量有限。 (2)传输线路的带宽有限。 (3)网络结点的处理能力有限。 (4)网络中某些部分发生了了故障。 对于拥塞的解决一般可以从两个方面进行:增加网络资源或者是减小网络负载。 二、流量感知路由[领会] 流量感知路由是一种拥塞防御措施,可以在一定程度上缓解或预防拥塞的发生。 流量感知路由在拥塞控制中起到的作用是:根据网络负载动态调整,将网络流量引导到不同的链路上,均衡网络负载,从而延迟或避免拥塞的发生。 三、准入控制基本原理[领会] 准入控制是一种广泛应用于虚电路网络的拥塞预防技术。准入控制的基本思想是对新业虚电路审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立该新虚电路。 准入控制实现的关键,在于当建立一条新虚电路会导致整个网络发生拥塞时,应该如何反应。常用的方法是基于平均流量和瞬时流量,来判断是否有能力接受新虚电路而不会发生拥塞。 四、流量调节基本方法[领会] 在网络发生拥塞时可以通过调整发送方向网络发送数据的速率米消除拥塞。 当某个网络结点(如路由器)感知到当前网络发生了拥塞时,可以通知其上游网络结点(或端系统)降低发送速率,从而逐渐消除拥塞。为此,需解决以下两个问题: 第一个问题是网络结点如何能够感知到网络已经发生了拥塞呢?对路由器而言,就是通过输出端口的排队延迟,来对网络拥塞状况进行感知。 第二个问题当路由器感知到网络发生了拥塞时,应该如何将这个拥塞信息通知到其上游结点,从而使之降低发送速率。解决这个问题的方法有抑制分组和背压两种。 五、负载脱落[领会] 负载脱落是消除拥塞的另种方法,即通过有选择地主动丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。当路由器中的数据报得不到及时处理,可能面临被丢弃的危险时,路由器就主动将该数据报丢弃掉。 第五节 Internet网络层 一、IP数据报结构[识记] Internet是典型的数据报网络。IPv4的数据报格式如图4.10所示。 file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9664/wps2.png (1)版本号字段占4位,给出的时IP版本号。 (2)首都长度字段占4位,给出的是IP数据报的首部长度,包括可变长度的选项字段,以4字节为单位。4位可表示的最大数值是15,因此IP数据报的首部长度的最大值是60字节。 (3)区分服务字段占8位,用来指示期望获得哪种类型的服务。 (4)数据报长度也称为总长度字段,占16位,给出IP数据报的总字节数,包括首部和数据部分。 (5)标识字段占16位,用于标识一个IP数据报。 (6)标志位字段占3位。 (7)片偏移字段占13位,表示一个IP数据报分片封装与原IP数据报数据的相对偏移量。 (8)生存时间字段占8位,表示IP数据报在网络中可以通过的路由器数。 (9)上层协议字段占8位,指示该IP数据报封装的是哪个上层协议的报文段。 (10)首部校验和字段占16位,利用校验和实现对IP数据报首部的差错检测。 (11)源IP地址字段占32位,是发出IP数据报的源主机的IP地址。 (12)目的IP地址字段占32位,是IP数据报的需要送达的主机的IP地址。 (13)选项字段长度可变,范围在1~40字节,取决于选项内容。 (14)数据字段。 一个数据链路层协议帧所能承载的最大数据称为该链路的最大传输单元(MTU)。 二、IP地址[应用] 主机在发送应用层数据时,经过层层封装,在网络层会将源主机IP地址以及目的主机IP地址填充到IP数据报的首部中。路由器依据目的IP地址查询转发表,转发IP数据报,并最终将其送达目的主机。 IPv4地址长度为32位,共有232个不同的IP地址,这个数目约为43亿。IPv4地址有3种常用的标记法,即:二进制标记法、点分十进制标记法、,十六进制标记法。最常用的为点分十进制标记法。 1.分类地址 IPv4地址被设计为定长前缀,但考虑到不同组织所要使用到的地址数量是不同的,因此设计了3种长度的前缀,分别为8、16、24位,整个地址空间被分为5类,A、B、C、D和E类,并规定A、B.C三类可以分配给主机或路由器使用,D类地址作为组播地址,E类地址保留。 分类地址划分如表4-2所示。 file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9664/wps3.png 2.特殊IP地址 常见的特殊地址有: (1)本地主机地址:0.0.0.0/32. (2)有限广播地址:255.255.255.255/32. (3)回送地址:127.0.0.0/8。 除此之外,还有一部分地址保留用于内部网络,称为私有地址。 为了缓解地址空间不足,提高IP地址空间利用率,另外的策略分别是无类地址、子网化与超网化。 三、DHCP[领会] 分配IP地址可以由网络管理员进行手动配置(静态分配),也可以通过动态主机配置协议(DHCP)来动态分配。事实上,很多实际网络都选择动态IP地址分配。DHCP是在应用层实现的。 DHCP的工作过程为: (1)DHCP服务器发现。新到达主机的首要任务便是进行DHCP客户,并发送DHCP发现报文,以便发现DHCP服务器。 (2)DHCP服务器提供。当某台服务器(或路由器)在端口67上提供DHCP服务,并且接收到DHCP发现报文后,会发送一个DHCP提供报文,来响应主机。 (3)DHCP请求。当新加入网络的主机收到了一个或是多个DHCP服务器的DHCP提供报文之后,选择其中一个发送DHCP请求报文。 (4)DHCP确认。被选定的DHCP服务器以DHCP确认报文来对DHCP请求报文进行响应。 四、NAT的原理[领会] 解决私有地址的主机在Internet上进行正常通信的方案之一就是网络地址转换(NAT)。NAT通常运行在私有网络的边缘路由器(或专门服务器)上,同时连接内部私有网络和公共互联网,拥有公共IP地址(非私有地址)。NAT通过替换进出内部私有网络的IP数据报的IP地址与端口号,支持使用私有地址的内部主机与公共互联网中的服务器或其他主机进行通信。 NAT的一般工作原理:对于从内网出去,进入公共互联网的IP数据报,将源IP地址替换为服务器拥有的合法的公共IP地址,同时替换源端口号,并将替换关系记录到NAT转换表中;对于从公共互联网返回的IP数据报,依据其目的IP地址与目的端口号检索NAT转换表,并利用检索到的内部私有IP地址与对应的端口号替换目的IP地址和目的端口号,然后将IP数据报转发到内部网络。 五、ICMP[领会] ICMP的主要功能是进行主机或路由器间的网络层差错报告与网络探测。 ICMP报文分为差错报告报文和询问报文两大类。每个ICMP报文都包括类型(type)和代码(code)两个重要字段。type和code取值不同,代表的含义或作用也不同。 ICMP报文的前4个字节是统一格式,包括3个字段:类型代码和校验和,ICMP差错报告报文共有5种:终点不可达、源点抑制、时间超时、参数问题和路由重定向等;ICMP询问报文有:回声请求/应答、时间戳请求/应答。 第六节 路由算法与路由协议 一、链路状态路由算法基本原理[领会] 链路状态路由选择算法是种全局式路由选择算法。每个路由器在计算路由时需要构建出整个网络的拓扑图。为了构建整个网络的拓扑图,每个路由器周期性检测、收集与其直接相连链路的费用,以及与其直接相连的路由器ID等信息,构造链路状态分组,并向全网广播扩散。 Dijkstra算法求最短路径需记录以下信息: D(v):到本次迭代为止,源结点(计算结点)到目的结点v的当前路径距离。 P(v):到本次迭代为止,在源结点到目的结点v的当前路径上,结点v的前序结点。 c(x,y):结点x与结点y之间直接链路的费用。 S:结点的集合,用于存储从源结点到该结点的最短路径已求出的结点集合。 二、距离向量路由算法基本原理[领会] 距离向量路由选择算法是一种异步的迭代的分布式路由选择算法。距离向量路由选择算法的基础是B-F方程。 距离向量路由选择算法的基本思想是:网络中的每个结点x,估计从自己到网络中所有结点y的最短距离(注意这里只是估计),记为Dx(y),称为结点x的距离向量,即该向量维护了从节点x出发到达网络中所有结点的最短距高(即最低费用)的估计;每个结点向其邻居结点发送它的距离向量的一个拷贝;当结点收到来自邻居的一份距离向量或者是观察到的相连的链路上的费用发生变化后,根据Bellman-Ford方程对自己的距离向量进行计算更新;如果结点的距离向量得到了更新,那么该结点会将更新后的距离向量发送给它的所有邻居结点。实践表明,离向量路由选择算法,可以使Dx(y)最终收敛到真实的最短距离dx(y)。 三、层次化路由基本原理[领会] 实现大规模网络路由选择最有效的、可行的解决方案就是层次化路由选择。将大规模的互联网按组织边界、管理边界、网络技术边界或功能边界划分为多个自治系统(AS),每个自治系统由一组运行相同路由协议和路由选择算法的路由器组成。 层次化路由选择将大规模互联网的路由划分为两层:自治系统内路由选择和自治系统间路由选择。 四、Internet路由选择协议[领会] Internet路由就是层次化路由选择,Internet的自治系统内路由选择协议称为内部网关协议(IGP),Internet的自治系统间路由选择协议称为外部网关协议(EGP)。典型的IGP协议有路由信息协议(RIP)和开放最短路径优先协议(OSPF)等;典型的EGP协议是边界网关协议(BGP)。 1.RIP RIP是最早的自治系统内路由选择协议之一,目前仍然被广泛使用。RIP是一种基于距离向量路由选择算法的IGP。 RIP在使用DV算法时的特性包括: (1)RIP在度量路径时采用的是跳数,每条链路的费用都为1。 (2)RIP的最短路径的费用就是沿着从源路由器到目的子网的最短路径所经过的子网数量。 (3)RIP被限制在网络直径不超过15跳的自治系统内使用。 2.OSPF RIP主要应用于较小规模的AS,如更接近用户的ISP或企业网络,而OSPF则更多地应用于较大规模的AS,如骨干ISP网络等。 OSPF具有许多优点,主要包括以下几个方面: (1)安全。 (2)支持多条相同费用路径。 (3)支持区别化费用度量。 (4)支持单播路由与多播路由。 (5)分层路由。 3.BGP RIP和0SPF等IGP可以实现一个自治系统内的路由计算与路由选择。实现跨自治系统的路由信息交换,则需要EGP,BGP就Internet的标准EGP,目前典型版本为BGP4,每个AS可以通过BGP实现如下功能: (1)从相邻AS获取某子网的可达性信息。 (2)向本AS内部的所有路由器传播跨AS的某子网可达性信息。 (3)基于某子网可达性信息和AS路由策略,决定到达该子网的最佳路由。 BGP主要有4种报文: (1)OPEN(打开)报文,用来与BGP对等方建立BGP会话。 (2)UPDATE(更新)报文,用来通告"一路由可达性信息,或者撤销已有路由. (3)KEEPALIVE(保活)报文,用于对打开报文的确认,或周期性地证实会话的有效。(4)NOTIFICATION(通知)报文,用来通告差错。 在BGP术语中,包含属性的前缀通常被称为一条路由。比较重要的路由属性是AS-PATH和NEXT-HOP。
|