已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 7 章 网络层1第 7 章 网络层本章基本要求:掌握 IP 地址的规划及子网划分技术,掌握网络层中源到目标分组传输的实现机理;理解网络层的主要功能,理解数据报和虚电路的区别,理解路径选择的作用与实现,理解 IP 协议、ARP 协议和 ICMP 协议的作用,理解路由器的功能;了解路拥塞控制的概念,了解 IP 报文的格式,了解静态路由与动态路由的特点及实现方法。本章难点:IP 子网划分技术,网络层中源到目标分组传送的实现机理。教学时数与实验建议:8-10 学时,建议另外开设 1.5-2 学时的“DHCP 服务的配置与管理”实验以帮助学生掌握动态 IP 地址分配。在前面的几章中,我们已经学习了物理层和数据链路层的功能及其实现,并对典型的局域网和广域网技术有了一定的了解。我们说,各种网络技术的主要区别就在于物理层和数据链路层,那么当这些不同的网络被互连在一起时,就会出现异构网络互连的问题。而且当互连网络的规模增加时,相互通信的源和目标节点之间可能会存在一系列的中间节点,从而还会带来路径选择的问题。这些问题都有待于 OSI 的第三层即网络层去解决。在这一章中,我们首先介绍 OSI 第三层的功能和提供的服务,然后着重围绕 TCP/IP 的网络层展开讨论,包括 IP 协议、IP 地址及其规划,ARP 协议和 ICMP 协议,路由与路由协议等内容。71 网络层功能概述7.1.1为什么需要网络层在学习了物理层和数据链路层之后,再来学习网络层,同学们一定会有一个疑问:既然数据链路层已经能利用物理层所提供的比特流传输服务实现相邻节点之间的可靠数据传输,为什么还要在数据链路层之上有一个网络层?注意,问题就在于数据链路层所涉及的“相邻”两字,我们在第四章中曾说明,所谓“相邻”是指位于同一物理网段或物理链路上的节点。也就是说,数据链路层只能将数据帧由传输介质的一端送到另一端。如图 7.1 所示,源主机 DTE1 和 DCE1 为相邻节点,而 DCE1 则分别与 DCE2 、DCE3 和 DCE4 为相邻节点,数据链路层可以解决诸如这些相邻节点之间的数据传输问题。但是从图中我们可以看出,从源主机 DTE1 到目标主机 DTE2 要历经许多中间节点,而这些中间节点构成了多条不同的网络路径,从而必然带来路径选择问题。也就是说,当 DCE1 收到从 DTE1 来的2计算机网络技术数据后,就马上面临着是从 DCE2 还是 DCE3 或者是 DCE4 进行数据转发的问题,而数据链路层显然没有提供这种实现源到目标数据传输所必需的路径选择功能。DCE4DCE5DTE1DCE1DCE3DCE6DTE2源主机目的主机DCE2图 7.1 网络中间节点和网络路径的示例但是有的同学可能会提出反问,既然数据链路层能够以物理地址如 MAC 地址来标识网络中的每一个节点,为什么不能绕开路径选择问题而直接利用物理层地址实现主机寻址呢?我们说,当源和目标位于同一个网桥或交换机的不同端口直接相连的网段时,这种寻址方式可以非常方便地定位到目标主机。但是,若网桥或交换机的其他端口直接所连的网段没有目标主机时,则网桥和交换机就只能通过向所有其他相连的网桥或交换机进行广播的方式来间接地找到目标节点。从表面上看,这种方式似乎是可行的,但大家设想一下如果网络规模增大时,这种“广播找人”的方法是不可想象的,甚至会因为过量的广播导致网络瘫痪。所以通过物理地址直接寻址的方式只能适用于规模非常小的网络,在许多情况下网络路径选择功能是必不可少的。7.1.2 网络层的功能概述网络层涉及将源主机发出的分组经由各种网络路径到达目的主机,其利用了数据链路层所提供的相邻节点之间的数据传输服务,向传输层提供了从源到目标的数据传输服务。网络层是处理端到端(end to end)数据传输的最低层,但同时又是通信子网的最高层。如图7.2 所示,资源子网中的主机具备了 OSI 模型中所有七层的功能,但通信子网中的主机因为只涉及通信问题而只拥有 OSI 模型的下三层。所以网络层被看成是通信子网与资源子网的接口,即通信子网的边界。主机X第 7 章 网络层主机Y3APDUPPDUSPDU分段应用层表示层会话层传输层应用层表示层会话层传输层分组帧位网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层图 7.2 网络层的地位与作用为了有效地实现源到目标的分组传输,网络层需要提供多方面的功能。首先,需要规定该层协议数据单元的类型和格式,网络层的协议数据单元称为分组(packet),和其他各层的协议数据单元类似,分组是网络层协议功能的集中体现,其中要包括实现该层功能所必需的控制信息如收发双方的网络地址等。其次,要了解通信子网的拓扑结构,从而能进行最佳路径的选择,最佳路径选择又被称为路由(Routing);第三,在选择路径时还要注意既不要使某些路径或通信线路处于超负载状态,也不能让另一些路径或通信线路处于空闲状态,即所谓的拥塞控制和负载平衡;当网络带宽或通信子网中的路由设备性能不足时都可能导致拥塞。另外,当源主机和目标主机的网络不属于同一种类型时,网络层还要能协调好不同网络间的差异即所谓解决异构网络互连的问题。同时根据分层的原则,网络层在为传输层提供分组传输服务还要做到:服务与通信子网技术无关,即通信子网的数量、拓扑结构及类型对于传输层是透明的;传输层所能获得的地址应采用统一的方式,以使其能跨越不同的 LAN 和 WAN。这也是网络层设计的基本目标。7.1.3 网络层所提供的服务网络层提供给传输层的服务有面向连接和面向无连接之分。简单地说,所谓面向连接就是指在数据传输之前双方需要为此建立一种连接,然后在该连接上实现有次序的分组传输,直到数据传送完毕连接才被释放;面向无连接则不需要为数据传输事先建立连接,其只提供简单的源和目标之间的数据发送与接收功能。网络层服务方式的不同主要取决于通信子网的内部结构。面向无连接的服务在通信子网内通常以数据报(datagram)方式实现。在数据报服务中,每个分组都必须提供关于源和目标的完整地址信息,通信子网根据地址信息为每一个分组独立进行路径选择。数据报方式的分组传输可能会出现丢失、重复或或乱序的现象。面向连接的服务则通常采用虚电路(virtual circuit,简称 VC)方式实现。虚电路是指通信子网为实现面向连接服务而在源与目标之间所建立的逻辑通信链路。虚电路服务的实现涉及三个阶段,即虚电路建立、数据传输和虚电路拆除三个阶段。在建立连接时,将从源端4计算机网络技术网络到目标网络的路由作为连接建立的一部分加以保存;在数据传输过程中,在虚电路上传送的分组总是取相同的路径通过通信子网;数据传输完毕需要拆除连接。如果我们以生活化的实例进行类比,数据报有点类似于中国邮政的平信服务,而虚电路则更象是电话服务。关于数据报与虚电路服务的比较参考表 7.1。表 7.1 数据报和虚电路的比较7.2TCP/IP 的网络层TCP/IP 的网络层被称为网络互连层或网际层(internet layer),其以数据报形式向传输层提供面向无连接的服务。如图 7.3 所示,该层的主要协议包括 IP 协议、ARP 协议、RARP协议、ICMP 协议和一系列路由协议。下面我们分别对其中的几个重要协议进行介绍。应用层FTPHTTPSMTPTELNETDNSTFTP传输层TCPUDP网际层IPICMPARPRARP网络访问层EthernetToken RingFDDIFrame Ralay图 7.3 TCP/IP 模型中的网络层分组交换方式比较项目数据报虚电路连接设置不需要需要地址每个分组需要完整的源和目的地址每个分组包含一个虚电路号状态信息有路由表,无连接表连接表路由选择每个包独立选择虚电路建立后勿需路由路由器失败的影响丢失失败时的分组所有经过失败路由器的 VC 失效传输质量同一报文会出现乱序、重复、丢失同一报文的不同分组不会出现乱序、重复、丢失第 7 章 网络层57.2.1IP 协议IP 协议是 TCP/IP 网络层的核心协议,其定义了用以实现面向无连接服务的网络层分组格式,其中包括 IP 寻址方式。在第 5 章和第 6 章的讨论中我们说过,不同网络技术的主要区别在数据链路层和物理层,如不同的局域网技术和广域网技术。而 IP 协议则能够将不同的网络技术在 TCP/IP 的网际层统一在 IP 协议之下,以统一的 IP 分组传输提供了对异构网络互连的支持。图 7.4 给出了 IP 分组的格式,由于 IP 协议实现的是面向无连接的数据报服务,故 IP分组通常又被称为 IP 数据报。其中有关字段的说明如下:版本:数据报协议的版本。通常为 IP 协议的 4.0 版本。头标长:数据报报头的长度。以 32 位(相当于 4byte)长度为单位,当报头中无可选项时,报头的基本长度为 5。服务类型:主机要求通信子网提供的服务类型。包括一个 3 位长度的优先级、3 个标志位 D、T 和 R,D、T、R 分别表示延迟(Delay)、呑吐量(Troughput)和可靠性(Relibility)。另外 2 位未用。通常文件传输更注重可靠性,而数字声音或图象的传输更注重延迟。总长:数据报的总长度,包括头部和数据,以字节为单位。数据报的最大长度为16标识:标识数据报。当数据报长度超出网络最大传输单元(Maximum transitionunit, MTU)时,必须要进行分割,并且需要为分割段(fragment)提供标识。所有属于同一数据报的分割段被赋予相同的标识值。标志:指出该数据报是否可分段。DF 表示不可分段,例如在工作站无盘启动时,就要求从服务器端传送一个完整无缺的包含内存映象的单个数据包;MF 代表还有进一步的分段。分段的基本单位为 8 个字节。分段偏移:若有分段时,用以指出该分段在数据报中的位置。13 位的偏移长度意13生存时间或生命期:限定数据报生存期的计时器。推荐以秒来计数,最长为8就要被丢弃。设定生存时间是为了防止数据报在网络中无限制地漫游。协议:指示传输层所采用的协议,如 TCP、UDP 或 ICMP 等。头校验和:用于校验头标。采用累加求补再取其结果补码的校验方法。若正确到达时,校验和应为零。任选字段:支持各种选项,提供扩展余地。根据选项的不同,该字段是可变长的。IP 地址:32 位的源地址与目标地址分别指出源主机和目的主机的网络地址。2 -1 字节即 65535 字节。味着一个长数据报至多可被分为 2 个小段。2 -1=255S。生存时间每经过一个路由节点都要递减,当生存时间减到零时,分组6计算机网络技术32比特版本头长标识生命期服务类型协议D MF F总长分段偏移头校验和源地址目的地址7.2.2IP 地址选顶(0 或更多的词)图 7.4 IP 分组的基本格式1逻辑地址与物理地址IP 数据报中的源 IP 地址和目标 IP 地址是 TC/IP 的网络层用以标识网络中主机的逻辑地址。所谓逻辑地址,是与数据链路层的物理地址即硬件地址相对应的。物理地址如 MAC地址是第二层地址,其固化在网卡的硬件结构中,只要主机或设备的网卡不变,则其 MAC地址就是不变的,即使其从一个网络被移到另一个网络,从地球的一端移到另一端。也就是说,MAC 地址是一种平面化的地址,其不能提供关于主机所处的网络位置信息。而逻辑地址如 IP 地址则是第三层地址,所以有时又被称为网络地址,该地址是随着设备所处网络位置不同而变化的,即设备从一个网络被移到另一个网络时,其 IP 地址也会相应地发生改变。也就是说,IP 地址是一种结构化的地址,其可以提供关于主机所处的网络位置信息。逻辑地址和物理地址的关系有点类似于人的姓名和住址的关系,当人一出生时,就会由父母为了取一个终生不变的姓名,正所谓“行不更名,坐不改姓”;但在人的一生中因为学习、工作和生活等多种原因会产生很多的迁移,从而住址是可以经常改变的。而且从住址可以知道一个从当前所在的位置信息,但从一个人的姓名显然是不可能获取其当前所处的位置信息的。2IP 地址的结构、分类与表示32 位的 IP 地址结构由网络标识和主机号两部分组成,如图 7.5 所示。其中,网络标识用于标识该主机所在的网络,而主机号则表示该主机在相应网络中的序号。正是因为网络第 7 章 网络层7标识所给出的网络位置信息才使得路由器能够在通信子网中为 IP 分组选择一条合适的路径。网络标识主机标识32 Bits图 7.5 IP 地址的组成通常 IP 地址被分为 A、B、C、D 和 E 五类,如图 7.6 所示。 其中 A、B 、C 类被作为普通的主机地址,D 类用于提供网络组播服务或作为网络测试之用,E 类保留给未来扩充使用。有关 A、B 、C 类的最大网络数目和可以容纳的主机数信息参见表 7.2。由于 32 位的 IP 地址不太容易书写和记忆,通常又采用带点十进制标识法(dotteddecimal notation)来表示 IP 地址。在这种格式下,将 32 位的 IP 地址分为四个 8 位组(octet),每个 8 位组以一个十进制数表示,取值范围由 0 到 255;代表相邻 8 位组的十进制数以小圆点分割。所以点十进制表示的最低 IP 地址为 ,最高 IP 地址为55。32比特类别A 0B 1 0C 1 1 0网络网络网络主机主机主机主机地址范围至55至55至55D 1 1 1 0E 1 1 1 1 0多点播送地址保留给将来使用图 7.6 IP 地址的类及其格式表 7.2 关于 A、B 、C 类的最大网络数和可容纳的主机数至55至55网络类最大网络数每个网络可容纳的最大主机数目A27-2=126224-2=16,777,214B214-2=16382216-2=65534C221-2=209715028-2=2548计算机网络技术3特殊的 IP 地址及其作用在 IP 地址空间中,有些 IP 地址是被保留作为特殊之用的。例如,网络标识或主机号部分为全“0”和全“1”的地址通常具有特殊的含义和用途。具有正常的网络号部分,而主机号部分为全“0”的 IP 地址代表一个特定的网络,即作为网络标识之用,如 、 和 分别代表了一个 A 类、B 类和 C 类网络。而主机号部分为全“1”的 IP 地址代表一个在指定网络中的广播,被称为广播地址,如 55、55 和 55 分别代表在一个 A 类、B 类和 C 类网络中的广播。网络号对于 IP 网络通信非常重要,位于同一网络中的主机必然具有相同的网络号,它们之间可以直接相互通信;而网络号不同的主机之间则不能直接进行相互通信,必须经过第三层网络设备如路由器进行转发。广播地址对于网络通信也非常有用,在计算机网络通信中,经常会出现对某一指定网络中的所有机器发送数据的情形,如果没有广播地址源主机就要对所有目标主机启动多次 IP 分组的封装与发送过程。除网络标识地址和广播地址之外,其他一些包含全“0”和全“1”的地址格式及作用参见图 7.7。0000 00000000 0000 0000 00000000 0000本机0000主机本网中的主机1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1局域网中的广播网络1271 1 1 1 1 1 1 1任意值1 1 1 1 1 1 1 1对一个远程网的广播回送地址图 7.7 一些特殊的保留地址另外,在 IP 地址资源中,还保留了一部分被称为私有地址(private address)的地址资源供内部实现 IP 网络时使用。其地址范围包括三个部分,即 -55、-55 和 -55。根据规定,所有以私有地址为目标地址的 IP 数据包都不能被路由至外面的因特网上,这些以私有地址作为逻辑标识的主机若要访问外面的因特网,必须采用网络地址翻译(Network address translation,简称 NAT)或应用代理(proxy)方式。7.2.3IP 地址规划与子网划分1IP 地址的规划与分配当我们在网络层采用 IP 协议组建一个 IP 网络时,必须为网络中的每一台主机分配一个唯一的 IP 地址,也就是要涉及 IP 地址的规划问题。通常 IP 地址规划要参照下面步骤进行。首先,分析网络规模,包括相对独立的网段数量和每个网段中可能拥有的最大主机数,要注意路由器的每一个接口所连的网段都是一个独立网段;其次,确定使用公用地址还是第 7 章 网络层9私有地址,并根据网络规模确定所需要的网络号类别,若采用公有地址还需要向网络信息中心(Network Information Center, NIC)提出申请并获得地址使用权;最后,根据可用的地址资源进行主机 IP 地址的分配。IP 地址和分配可以采用静态分配和动态分配两种方式,所谓静态分配是指由网络管理员为用户指定一个固定不变的 IP 地址并手工配置到主机上;而动态分配则通常以客户机-服务器模式通过动态主机控制协议 (dynamic host control protocol,简称 DHCP)来实现。在 IP 地址规划时,我们常常会遇到这样的问题:一个企业或公司由于网络规模增加、网络冲突增加或呑吐性能下降等多种因素需要对内部网络进行分段。而根据 IP 网络的特点,需要为不同的网段分配不同的网络号,于是当分段数量不断增加时,对 I P 地址资源的需求随之增加。即使不考虑是否能申请到所需的 IP 资源,要对大量具有不同网络号的网络进行管理也是一件非常复杂的事情,至少要将所有这些网络号对外网公布。更何况随着因特网规模的增大,32 位的 IP 地址空间已出现了严重的资源紧缺,也就是说已经不可能随心所欲地获取网络号了。为了解决 IP 地址资源短缺的问题,同时也为了提高 IP 地址资源的利用率,我们引入了子网划分技术。2子网划分的基本概念子网划分(subnetworking )是指由网络管理员将一个给定的网络分为若干个更小的部分,这些更小的部分被称为子网(subnet)。当网络中的主机总数未超出所给定的某类网络可容纳的最大主机数,但内部又要划分成若干个分段(segment)进行管理时,就可以采用子网划分的方法。为了创建子网,网络管理员需要从原有 IP 地址的主机位中借出连续的高若干位作为子网络标识,如图 7.8 所示。也就是说,经过划分后的子网因为其主机数量减少,已经不需要原来那么多位作为主机标识了,从而我们可以将这些多余的主机位用作子网标识。划分前网络标识主机标识划分后网络标识子网络标识主机标识图 7.8 关于子网划分的示意举一个简单的例子可以帮助理解子网划分的概念。假设我们采用 6 位的十进制数“CCCSSS”作为同学们的学号,这是一种结构化的学号编码。其中,三位“C”代表同学们所在的班级,而三位“S”代表同学们在班级中的序号,于是我们在一个学校中可以有 999个班级,而每个班级至多可以有 999 位学生。而大家显然都知道,为了便于对班级进行管理,我们通常要将班级再分为若干个小组,哪么能否通过对学号的编码结构进行改造而使其能体现班级-小组-序号的结构信息呢?答案显然是肯定的。假定每个小组人数不超过 1位数,则可以将三位 S 中的高两位借出作为小组标识,从而每班可至多划分 99 个小组,每组可至多拥有 9 人;假定每个小组人数不超过 2 位数,则可以将三位 S 中的高一位借出作为小组标识,则每班可至多划分 9 个小组,每组可至多拥有 99 人。同样的方法可用于子网10计算机网络技术划分技术中。3子网划分的方法在子网划分时,首先要明确划分后所要得到的子网数量和每个子网中所要拥有的主机数,然后才能确定需要从原主机位借出的子网络标识位数。原则上,根据全“0”和全“1”IP 地址保留的规定,子网划分时至少要从主机位的高位中选择两位作为子网络位,而只要能保证保留两位作为主机位,A、B、C 类网络最多可借出的子网络位是不同的,A 类可达 22位、B 类为 14 位,C 类则为 6 位。显然,与我们上面在班级中划分小组的例子类似,当借出的子网络位数不同时,相应可以得到的子网络数量及每个子网中所能容纳的主机数也是不同的。表 7.3 给出了子网络位数和子网络数量、有效子网络数量之间的对应关系,所谓有效子网络是指除去那些子网络位为全“0”或全“1”的子网后所留下的可用子网。表 7.3 子网络位数与子网数量、有效子网数量的对应关系下面以一个 C 类网络子网划分的例子来说明子网划分的具体方法。假设一个由路由器相连的网络,其有三个相对独立的网段,并且每个网段的主机数不超过 30 台,如图 7.9 所示,现需要我们以子网划分的方法为其完成 IP 地址规划。由于该网络中所有网段合起来的主机数没有超出一个 C 类网络所能容纳的最大主机数,所以可以利用一个 C 类网络的子网划分来实现。假定为它们申请了一个 C 类网络 ,则在子网划分时需要从主机位中借出其中的高 3 位作为子网络位(请同学们思考为什么不能是 2 位),这样一共可得 8 个子网络,每个子网络的相关信息参见表 7.4。其中,第 1 个子网因网络号与未进行子网划分前的原网络号 重复而不用,第 8 个子网因为广播地址与未进行子网划分前的原广播地址 55 重复也不可用,这样我们可以选择 6 个可用子网中的任何三个为现有的三个网段进行 IP 地址分配,留下三个可用子网将作为未来网络扩充之用。子网络位子网数量有效子网数量112 =22-2=0222 =44-2=2332 =88-2=6442 =1616-2=14552 =3232-2=30662 =6464-2=62772 =128128-2=126882 =256256-2=254992 =512512-2=510.网络2第 7 章 网络层网络1网络311图 7.9 一个由路由器相连的网络实例表 7.4 对 C 类网络 进行子网划分的例子4子网划分的优越性对上述子网划分的例子进行进一步的分析我们可以发现,引入子网划分技术可以有效提高 IP 地址的利用率,从而可节省宝贵的 IP 地址资源。在该例子中,假设没有子网划分技术,则至少需要申请三个 C 类地址,从而 IP 地址的使用率仅达 11.81%,而浪费率则高达88.19%;采用子网划分技术后,尽管第 1 个和最后 1 个子网也是不可用的,并且在每个子网中又留出了一个网络号地址和广播地址,但 IP 地址的利用率却可以提高到 71%。表 7.5给出了对一个 C 类网络进行不同位数的子网划分后所对应的 IP 地址利用率。表 7.5 C 类网络子网划分后的 IP 地址利用率第 n 个子网地址范围网络号广播地址1-1122-32334-54546-27627528-592859660-916091792-239223824-55245512计算机网络技术7.2.4 子网掩码前面讲过,网络标识对于网络通信非常重要。但引入子网划分技术后,带来的一个重要问题就是主机或路由设备如何区分一个给定的 IP 地址是否已被进行了子网划分,从而能正确地从中分离出有效的网络标识(包括子网络号的信息)。通常,将未引进子网划分前的 A、B、C 类地址称为有类别(classful)的 IP 地址,对于有类别的 IP 地址,显然可以通过 IP 地址中的标识位直接判定其所属的网络类别并进一步确定其网络标识。但引入子网划分技术后,这个方法显然是行不通了。例如,给你一个 IP 地址 ,已经不能简单地将视为是一个 A 类地址而认为其网络标识为 。因为若是进行了 8 位的子网划分,则其就相当于是一个 B 类地址且网络标识成为 ;如果是进行了 16 位的子网划分,则又相当于是一个 C 类地址并且网络标识成为 ;若是其他位数的子网划分,则甚至不能将其归入任何一个传统的 IP 地址类中,即可能既不是 A 类地址,也不是 B 类或 C 类地址。换言之,引入子网划分技术后,IP 地址类的概念已不复存在。对于一个给定的 IP 地址,其中用来表示网络标识和主机号的位数可以是变化的,取决于子网划分的情况。我们将引入子网技术后的 IP 地址称为无类别的(calssless)IP 地址,并因此引入子网掩码的概念来描述 IP 地址中关于网络标识和主机号位数的组成情况。子网掩码(subnet mask)通常与 IP 地址配对出现,其功能是告知主机或路由设备,IP地址的哪一部分代表网络号部分,哪一部分代表主机号部分。子网掩码使用与 IP 地址相同的编址格式,即 32 位长度的二进制比特位,也可分为 4 个 8 位组并采用点十进制来表示。但在子网掩码中,与 IP 地址中的网络位部分对应的位取值为“1”,而与 IP 地址主机部分对应的位取值为“0”。这样通过将子网掩码与相应的 IP 地址进行求“与”操作,就可决定给定的 IP 地址所属的网络号(包括子网络信息)。例如,/ 表示该地址中的前 8 位为网络标识部分,后 24 位表示主机部分,从而网络号为 ;而/ 则表示该地址中的前 21 位为网络标识部分,后 11 位表示主机部分。显然,对于传统的 A 、B 和 C 类网络,其对应的子网掩码应分别为 、和 。表 7.6 给出了 C 类网络进行不同位数的子网划分后其子网掩码的变化情况。表 7.6 C 类进行子网划分后的子网掩码所借位数创建的子网数每个子网中可拥有的主机数目可用的IP地址总数IP地址的利用率226212449%363018071%4141419677%530618071%662212449%第 7 章 网络层13为了表达的方便,在书写上我们还可以采用诸如“X.X.X.X/Y”的方式来表示 IP 地址与子网掩码,其中每个“X”分别表示与 IP 地址中的一个 8 位组对应的十进制值,而“Y”表示子网掩码中与网络标识对应的位数。如上面提到的 / 也可表示为/8,而 / 则可表示为 /21。7.2.5 ARP 与 RARP虽然在 IP 网络中的每一个主机都具有一个唯一的 IP 地址,但 IP 地址只是一种在网际范围内标识主机的逻辑地址,不能直接利用它们在物理上发送分组。因为数据链路层的硬件是不能识别因特网地址的,它们只能以物理方式进行寻址,例如,以太网中的主机是以网卡方式连接到以太网链路中的,网卡只能识别 48 位的 MAC 地址而不可能识别 32 位的 IP地址。也就是说,为了在物理上实现 IP 分组的传输,需要在网络互连层提供从主机 IP 地址到主机物理地址或 MAC 地址的映射功能。ARP 正是实现这种功能的协议,其全称为地址解释协议(address resolution protocol,简称 ARP),该协议在 RFC865 中定义。下面以图7.10 的网络为例说明 ARP 的工作原理。网络3 网络号:主机18主机19网络1 网络号:T0E1网络2 网络号:E0主机1主机2主机3主机4主机5主机17图 7.10 一个由路由器互连的网络第一种情况是主机 1 向主机 3 发送数据包。主机 1 以主机 3 的 IP 地址为目标 IP 地址,以自己的 IP 地址为源 IP 地址封装了一个 IP 数据包;在数据包发送以前,主机 1 通过将子网掩码和源 IP 地址及目标 IP 地址进行求“与”操作判断源和目标在同一网络中;于是主机 1 转向查找本地的 ARP 缓存,以确定在缓存中是否有关于主机 3 的 IP 地址与 MAC 地址的映射信息;若在缓存中存在主机 3 的 MAC 地址信息,则主机 1 的网卡立即以主机 3 的 MAC地址为目标 MAC 地址、以其自己的 MAC 地址为源 MAC 地址进行帧的封装并启动帧的发送;主机 3 收到该帧后,确认是给自己的帧,进行帧的拆封并取出其中的 IP 分组交给网络层去划分位数23456子网掩码922440485214计算机网络技术处理。若在缓存中不存在关于主机 3 的 MAC 地址映射信息,则主机 1 以广播帧形式向同一网络中的所有节点发送一个 ARP 请求(ARP request),在该广播帧中 48 位的目标 MAC 地址以全“1”即“ffffffffffff” 表示,并在数据部分发出关于“谁的 IP 地址是 ”的询问,这里 代表主机 3 的 IP 地址。网络 1 中的所有主机都会收到该广播帧,并且所有收到该广播帧的主机都会检查一下自己的 IP 地址,但只有主机 3 会以自己的 MAC地址信息为内容给主机 1 发出一个 ARP 回应(ARP reply)。主机 1 收到该回应后,首先将该其中的 MAC 地址信息加入到本地 ARP 缓存中,然后启动相应帧的封装和发送过程。第二种情况为源主机和目标主机不在同一网络中,例如主机 1 向主机 4 发送数据包,假定主机 4 的 IP 地址为网络 192. 168.2.2。这时若继续采用 ARP 广播方式请求主机 4 的MAC 地址是不会成功的,因为第二层广播(在此为以太网帧的广播)是不可能被第三层设备路由器转发的。于是需要采用一种被称为代理 ARP(proxy ARP)的方案,即所有目标主机不与源主机在同一网络中的数据包均会被发给源主机的缺省网关,由缺省网关来完成下一步的数据传输工作。注意,所谓缺省网关是指与源主机位于同一网段中的某个路由器接口的 IP地址,在此例中相当于路由器的以太网接口 E0 的 IP 地址,即 。也就是说在该例中,主机 1 以缺省网关的 MAC 地址为目标 MAC 地址,而以主机 1 的 MAC 地址为源 MAC 地址将发往主机 4 的分组封装成以太网帧后发送给缺省网关,然后交由路由器来进一步完成后续的数据传输。实施代理 ARP 时需要在主机 1 上缓存关于缺省网关的 MAC 地址映射信息,若不存在该信息,则同样可以采用前面所介绍的 ARP 广播方式获得,因为缺省网关与主机 1是位于同一网段中的。ARP 解决了 IP 地址到 MAC 地址的映射问题,但在计算机网络中有时也需要反过来解决从 MAC 地址到 IP 地址的映射。例如,在网络环境中启动一台无盘工作站时就常常会出现这类问题。无盘工作站在启动时需要从远程文件服务器上下载其操作系统启动文件的二进制映象,但首先要知道自己的 IP 地址。RARP 就用于解决此类问题,RARP 的实现采用的是一种客户机-服务器工作模式。关于 RARP 本书不做进一步的要求,有兴趣的学生可查阅 RFC903获得关于 RARP 的详细说明。7.2.6 ICMPIP 协议提供的是面向无连接的服务,不存在关于网络连接的建立和维护过程,也不包括流量控制与差错控制功能。但我们还是需要对网络的状态有一些了解,因此在网际层提供了因特网控制消息协议(Internet control message protocol,简称 ICMP)来检测网络,包括路由、拥塞、服务质量等问题。ICMP 是在 RFC792 中定义的,其中给出了多种形式的ICMP 消息类型,每个 ICMP 消息类型都被封装于 IP 分组中,表 7.7 给出了一些常见的 ICMP消息类型及其作用。同学们在实验课程中将要学到的关于网络状态测试工具“Ping”和“Tracert”就都是基于 ICMP 实现的。例如,若同学们在主机 1 上输入一个“ ping”命令,则相当于向目标主机 发出了一个以回声请求(echorequest)为消息类型的 ICMP 包,若目标主机存在,则其会向主机 1 发送一个以回声应答(echo reply)为消息类型的 ICMP 包;若目标主机不存在,则主机 1 会得到一个以不可达目的地(unreachable destination)为消息类型的 ICMP 错误消息包。第 7 章 网络层15表 7.7 常见的 ICMP 消息类型7.3 路由与路由协议细心的同学可能已经注意到,在前面关于 ARP 工作原理的介绍中我们还留下了一个悬而未决的问题,即当目标主机和源主机不在同一网络中时,数据包将被发送至源主机的缺省网关,在我们所介绍的例子中相当于给了路由器的 E0 端口,哪么路由器收到该数据包后又将做什么样的处理呢?这就涉及到我们下面要讨论的路由与路由协议。7.3.1 路由与路由表所谓路由是指对到达目标网络所进行的最佳路径选择,通俗地讲就是解决“何去何从”的问题,路由是网络层最重要的功能。在网络层完成路由功能的设备被称为路由器,路由器是专门设计用于实现网络层功能的网络互连设备。除了路由器外,某些交换机里面也可集成带网络层功能的模块即路由模块,带路由模块的交换机又称三层交换机。另外,在某些操作系统软件中也可以实现网络层的路由功能,在操作系统中所实现的路由功能又称为软件路由。软件路由的前提是安装了相应操作系统的主机必须具有多宿主功能,即通过多块网卡至少连接了两个以上的不同网络。不管是软件路由、路由模块还是路由器,它们所实现的路由功能都是一致的,所以我们下面在提及路由设备时,将以路由器为代表。路由器将所有有关如何到达目标网络的最佳路径信息以数据库表的形式存储起来,这种专门用于存放路由信息的表被称为路由表。路由表的不同表项可给出到达不同目标网络所需要历经的路由器接口信息,正是路由表才使基于第三层地址的路径选择最终得以实现。图 7.11 给出了一个路由表信息的详细例子。消息类型描述不可达目的地分组不能提交超时生命期字段为0参数问题无效的头字段源端抑制抑制分组重定向告诉路由器有关地理路线回声请求向一个机器发出请求看是否还活着回声应答是的,我还活着时间标记请求类似于回声请求,但要加上时间标记时间标记应答类似于回声应答,但要加上时间标记16计算机网络技术Code:C-connected, s-static, I-IGRP, R-RIP, M-mobile, B-BGPD-EIGRP, EX-EIGRP external, O-OSPF, IA-OSPF inter areaE1-OSPF external type 1, E2-OSPF external type 2, E-EGPi-IS-IS, L1-IS-IS level 1, L2-IS-IS level 2*-candidate defaultGateway of last resort is not set144.25
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省保定市定兴县2025-2026学年第二学期五年级语文期末试卷(文字版含答案)
- 2026年银行信息安全运维银行招聘考试笔试试题(含答案)
- 2026 年晚期胰腺癌安宁疗护舒适护理个案
- 广告投放合作协议
- 2026年秋季公共事业管理专业开学第一课 学科发展简史教学设计
- 2026年秋季化学专业开学第一课 行业案例分析讲座方案
- 2026年助产培训考试试题及答案
- 2026年养老服务公司护理总监工作计划
- 零售药店药品经营质量管理培训试卷及答案
- 2026年《医疗器械召回管理办法》培训试题及答案
- 中国融通资源开发集团有限公司物资接收、仓储人员专项招聘87人考试参考题库及答案详解
- 资产评估师(珠宝)理论强化训练题(含解析)
- 教育法律法规试题带答案
- 2025辽宁盘锦北方沥青股份有限公司大学毕业生招聘18人笔试历年参考题库附带答案详解
- 2026年煤矿重大事故隐患判定标准题库(含答案)
- 江西文演集团招聘笔试题库2026
- 地下空间窒息现场应急处置方案
- 日语阅读试题及答案
- 2026 第六届“四川工匠杯”职业技能大赛 餐厅服务赛项 理论考试参考题库 含答案
- 医院检验科设备更新计划方案
- 2025中国兵器工业第五九研究所招聘参考题库带答案解析
评论
0/150
提交评论