第7章网络层 第7章网络层 本章基本要求:掌握P地址的规划及子网划分技术,掌握网络层中源到目标分组传输的实 现机理:理解网络层的主要功能,理解数据报和虚电路的区别,理解路径选择的作用与实 现,理解P协议、ARP协议和ICMP协议的作用,理解路由器的功能;了解路拥塞控制的 概念,了解P报文的格式,了解静态路由与动态路由的特点及实现方法。 本章难点:P子网划分技术,网络层中源到目标分组传送的实现机理。 教学时数与实验建议:8-10学时,建议另外开设1.5-2学时的“DHCP服务的配置与管理” 实验以帮助学生掌握动态P地址分配。 在前面的几章中,我们已经学习了物理层和数据链路层的功能及其实现,并对典型的 局域网和广域网技术有了一定的了解。我们说,各种网络技术的主要区别就在于物理层和 数据链路层,那么当这些不同的网络被互连在一起时,就会出现异构网络互连的问题。而 且当互连网络的规模增加时,相互通信的源和目标节点之间可能会存在一系列的中间节点, 从而还会带来路径选择的问题。这些问题都有待于O$I的第三层即网络层去解决。 在这一章中,我们首先介绍OSI第三层的功能和提供的服务,然后着重围绕TCPP的 网络层展开讨论,包括P协议、P地址及其规划,ARP协议和ICMP协议,路由与路由协 议等内容。 7.1网络层功能概述 7.1.1为什么需要网络层 在学习了物理层和数据链路层之后,再来学习网络层,同学们一定会有一个疑问:既 然数据链路层已经能利用物理层所提供的比特流传输服务实现相邻节点之间的可靠数据传 输,为什么还要在数据链路层之上有一个网络层?注意,问题就在于数据链路层所涉及的 “相邻”两字,我们在第四章中曾说明,所谓“相邻”是指位于同一物理网段或物理链路 上的节点。也就是说,数据链路层只能将数据帧由传输介质的一端送到另一端。如图7.1所 示,源主机DTE1和DCEI为相邻节点,而DCE1则分别与DCE2、DCE3和DCE4为相 邻节点,数据链路层可以解决诸如这些相邻节点之间的数据传输问题。但是从图中我们可 以看出,从源主机DTE1到目标主机DTE2要历经许多中间节点,而这些中间节点构成了多 条不同的网络路径,从而必然带来路径选择问题。也就是说,当DCE1收到从DTE1来的
第 7 章 网络层 1 第 7 章 网络层 本章基本要求:掌握 IP 地址的规划及子网划分技术,掌握网络层中源到目标分组传输的实 现机理;理解网络层的主要功能,理解数据报和虚电路的区别,理解路径选择的作用与实 现,理解 IP 协议、ARP 协议和 ICMP 协议的作用,理解路由器的功能;了解路拥塞控制的 概念,了解 IP 报文的格式,了解静态路由与动态路由的特点及实现方法。 本章难点:IP 子网划分技术,网络层中源到目标分组传送的实现机理。 教学时数与实验建议:8-10 学时,建议另外开设 1.5-2 学时的“DHCP 服务的配置与管理” 实验以帮助学生掌握动态 IP 地址分配。 在前面的几章中,我们已经学习了物理层和数据链路层的功能及其实现,并对典型的 局域网和广域网技术有了一定的了解。我们说,各种网络技术的主要区别就在于物理层和 数据链路层,那么当这些不同的网络被互连在一起时,就会出现异构网络互连的问题。而 且当互连网络的规模增加时,相互通信的源和目标节点之间可能会存在一系列的中间节点, 从而还会带来路径选择的问题。这些问题都有待于 OSI 的第三层即网络层去解决。 在这一章中,我们首先介绍 OSI 第三层的功能和提供的服务,然后着重围绕 TCP/IP 的 网络层展开讨论,包括 IP 协议、IP 地址及其规划,ARP 协议和 ICMP 协议,路由与路由协 议等内容。 7.1 网络层功能概述 7.1.1 为什么需要网络层 在学习了物理层和数据链路层之后,再来学习网络层,同学们一定会有一个疑问:既 然数据链路层已经能利用物理层所提供的比特流传输服务实现相邻节点之间的可靠数据传 输,为什么还要在数据链路层之上有一个网络层?注意,问题就在于数据链路层所涉及的 “相邻”两字,我们在第四章中曾说明,所谓“相邻”是指位于同一物理网段或物理链路 上的节点。也就是说,数据链路层只能将数据帧由传输介质的一端送到另一端。如图 7.1 所 示,源主机 DTE1 和 DCE1 为相邻节点,而 DCE1 则分别与 DCE2 、DCE3 和 DCE4 为相 邻节点,数据链路层可以解决诸如这些相邻节点之间的数据传输问题。但是从图中我们可 以看出,从源主机 DTE1 到目标主机 DTE2 要历经许多中间节点,而这些中间节点构成了多 条不同的网络路径,从而必然带来路径选择问题。也就是说,当 DCE1 收到从 DTE1 来的
计算机网络技术 数据后,就马上面临着是从DCE2还是DCE3或者是DCE4进行数据转发的问题,而数据 链路层显然没有提供这种实现源到目标数据传输所必需的路径选择功能。 DCE4 DCE5 DCEI DCE3 DCE6 DTE2 源主机 目的主机 DCE2 图7.1网络中间节点和网络路径的示例 但是有的同学可能会提出反问,既然数据链路层能够以物理地址如MAC地址来标识网 络中的每一个节点,为什么不能绕开路径选择问题而直接利用物理层地址实现主机寻址 呢?我们说,当源和目标位于同一个网桥或交换机的不同端口直接相连的网段时,这种寻 址方式可以非常方便地定位到日标主机。但是,若网桥或交换机的其他瑞口直接所车的网 段没有目标主机时,则网桥和交换机就只能通过向所有其他相连的网桥或交换机进行广播 的方式来间接地找到目标节点。从表面上看,这种方式似乎是可行的,但大家设想一下如 果网络规模增大时,这种“广播找人”的方法是不可想象的,甚至会因为过量的广播导致 网络难痪。所以通过物理地址直接寻址的方式只能适用于规模非常小的网络,在许多情况 下网络路径选择功能是必不可少的。 7.1.2网络层的功能概述 网络层涉及将源主机发出的分组经由各种网络路径到达目的主机,其利用了数据链路 层所提供的相邻节点之间的数据传输服务,向传输层提供了从源到目标的数据传输服务。 网络层是处理端到瑞(end to end)数据传输的最低层,但同时又是通信子网的最高层。如图 72所示,资源子网中的主机具备了OSI模型中所有七层的功能,但通信子网中的主机因为 只涉及通信问题而只拥有OSI模型的下三层。所以网络层被看成是通信子网与资源子网的 接口,即通信子网的边界
2 计算机网络技术 数据后,就马上面临着是从 DCE2 还是 DCE3 或者是 DCE4 进行数据转发的问题,而数据 链路层显然没有提供这种实现源到目标数据传输所必需的路径选择功能。 DCE1 DCE2 DCE3 DCE4 DCE5 DTE1 DTE2 DCE6 源主机 目的主机 图 7.1 网络中间节点和网络路径的示例 但是有的同学可能会提出反问,既然数据链路层能够以物理地址如 MAC 地址来标识网 络中的每一个节点,为什么不能绕开路径选择问题而直接利用物理层地址实现主机寻址 呢?我们说,当源和目标位于同一个网桥或交换机的不同端口直接相连的网段时,这种寻 址方式可以非常方便地定位到目标主机。但是,若网桥或交换机的其他端口直接所连的网 段没有目标主机时,则网桥和交换机就只能通过向所有其他相连的网桥或交换机进行广播 的方式来间接地找到目标节点。从表面上看,这种方式似乎是可行的,但大家设想一下如 果网络规模增大时,这种“广播找人”的方法是不可想象的,甚至会因为过量的广播导致 网络瘫痪。所以通过物理地址直接寻址的方式只能适用于规模非常小的网络,在许多情况 下网络路径选择功能是必不可少的。 7.1.2 网络层的功能概述 网络层涉及将源主机发出的分组经由各种网络路径到达目的主机,其利用了数据链路 层所提供的相邻节点之间的数据传输服务,向传输层提供了从源到目标的数据传输服务。 网络层是处理端到端(end to end)数据传输的最低层,但同时又是通信子网的最高层。如图 7.2 所示,资源子网中的主机具备了 OSI 模型中所有七层的功能,但通信子网中的主机因为 只涉及通信问题而只拥有 OSI 模型的下三层。所以网络层被看成是通信子网与资源子网的 接口,即通信子网的边界
第7章网络层 主机 主机Y APDU 应用层 f........-.......................... 应用层 PPD 表示层 表示层 会话层 会话层 分段 传输层 传输层 分组 网络层 网络层 网络层门 网络层 网络层 数据链路用 数据筛路 数据链路层 数据链路层 對据链路层 位 物理层 物理层 物理层 物理层 物理层 图7.2网络层的地位与作用 为了有效地实现源到目标的分组传输,网络层需要提供多方面的功能。首先,需要规 定该层协议数据单元的类型和格式,网络层的协议数据单元称为分组(packet),和其他各 层的协议数据单元类似,分组是网络层协议功能的集中体现,其中要包括实现该层功能所 必需的控制信息如收发双方的网络地址等。其次,要了解通信子网的拓扑结构,从而能进 行最伴路径的洗择,最伴路径选择又被称为路由(Routing):第三,在选择路径时还要注意 既不要使某些路径或通信线路处于超负载状态,也不能让另一些路径或通信线路处于空闲 状态,即所谓的拥寒控制和负载平衡:当网络带宽或通信子网中的路由设备性能不足时都 可能导致拥塞。另外,当源主机和目标主机的网络不属于同一种类型时,网络层还要能协 周好不同网络间的差异即所谓解决异构网络互车的问颗。同根据分层的原则,网络层在 为传输层提供分组传输服务还要做到:服务与通信子网技术无关,即通信子网的数量、拓 扑结构及类型对于传输层是透明的:传输层所能获得的地址应采用统一的方式,以使其能 跨越不同的LAN和WAN。这也是网络层设计的基本目标。 7.1.3网络层所提供的服务 网络层提供给传输层的服务有面向连接和面向无连接之分。简单地说,所谓面向连接 就是指在数据传输之前双方需要为此建立一种连接,然后在该连接上实现有次序的分组传 输,直到数据传送完毕连接才被释放:面向无连接则不需要为数据传输事先建立连接,其 只提供简单的源和目标之间的数据发送与接收功能。 网络层服务方式的不同主要取决于通信子网的内部结构。面向无连接的服务在通信子 网内通常以数据报(datagram)方式实现。在数据报服务中,每个分组都必须提供关于源和目 标的完整地址信息,通信子网根据地址信息为每一个分组独立进行路径选择。数据报方式 的分组传输可能会出现丢失、重复或或乱序的现象, 面向连接的服务则通常采用虚电路,简称VC方式实现。虚电路是指通信 子网为实现面向连接服务而在源与目标之间所建立的逻辑通信链路。虚电路服务的实现涉 及三个阶段,即虚电路建立、数据传输和虚电路拆除三个阶段。在建立连接时,将从源端
第 7 章 网络层 3 网络层 数据链路层 物理层 应用层 表示层 会话层 传输层 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 网络层 数据链路层 物理层 网络层 数据链路层 物理层 网络层 数据链路层 物理层 APDU PPDU SPDU 分段 分组 帧 位 主机X 主机Y 图 7.2 网络层的地位与作用 为了有效地实现源到目标的分组传输,网络层需要提供多方面的功能。首先,需要规 定该层协议数据单元的类型和格式,网络层的协议数据单元称为分组(packet),和其他各 层的协议数据单元类似,分组是网络层协议功能的集中体现,其中要包括实现该层功能所 必需的控制信息如收发双方的网络地址等。其次,要了解通信子网的拓扑结构,从而能进 行最佳路径的选择,最佳路径选择又被称为路由(Routing);第三,在选择路径时还要注意 既不要使某些路径或通信线路处于超负载状态,也不能让另一些路径或通信线路处于空闲 状态,即所谓的拥塞控制和负载平衡;当网络带宽或通信子网中的路由设备性能不足时都 可能导致拥塞。另外,当源主机和目标主机的网络不属于同一种类型时,网络层还要能协 调好不同网络间的差异即所谓解决异构网络互连的问题。同时根据分层的原则,网络层在 为传输层提供分组传输服务还要做到:服务与通信子网技术无关,即通信子网的数量、拓 扑结构及类型对于传输层是透明的;传输层所能获得的地址应采用统一的方式,以使其能 跨越不同的 LAN 和 WAN。这也是网络层设计的基本目标。 7.1.3 网络层所提供的服务 网络层提供给传输层的服务有面向连接和面向无连接之分。简单地说,所谓面向连接 就是指在数据传输之前双方需要为此建立一种连接,然后在该连接上实现有次序的分组传 输,直到数据传送完毕连接才被释放;面向无连接则不需要为数据传输事先建立连接,其 只提供简单的源和目标之间的数据发送与接收功能。 网络层服务方式的不同主要取决于通信子网的内部结构。面向无连接的服务在通信子 网内通常以数据报(datagram)方式实现。在数据报服务中,每个分组都必须提供关于源和目 标的完整地址信息,通信子网根据地址信息为每一个分组独立进行路径选择。数据报方式 的分组传输可能会出现丢失、重复或或乱序的现象。 面向连接的服务则通常采用虚电路(virtual circuit,简称 VC)方式实现。虚电路是指通信 子网为实现面向连接服务而在源与目标之间所建立的逻辑通信链路。虚电路服务的实现涉 及三个阶段,即虚电路建立、数据传输和虚电路拆除三个阶段。在建立连接时,将从源端
4 计算机网络技术 网络到目标网络的路由作为连接建立的一部分加以保存:在数据传输过程中,在虚电路上 传送的分组总是取相同的路径通过通信子网:数据传输完毕需要拆除连接。 如果我们以生 活化的实例进行类比,数据报有点类似于中国邮政的平信服务,而虚电路则更象是电话服 务。关于数据报与虚电路服务的比较参考表7.1。 表7.1数据报和虚电路的比较 分组交换方式 数据报 虚电路 比较项目 连接设置 不需要 需要 地址 每个分组包含一个虚电路号 状态信息 有路由表,无连接表 连接表 路由选择 每个包独立选择 虚电路建立后勿需路由 路由器失败的影响 丢失失败时的分组 所有经过失败路由器的VC失效 传输质量 7.2 TCP/IP的网络层 TCP/IP的网络层被称为网络互连层或网际层(internet layer),其以数据报形式向传 输层提供面向无连接的服务。如图7.3所示,该层的主要协议包括IP协议、ARP协议、RARP 协议、ICMP协议和一系列路由协议。下面我们分别对其中的几个重要协议进行介绍。 应用层 FTP HTTP SMTP TELNET DNS厂TP 传输层 TCP UDP 网际层 IP ICMP ARP RARP 网络访问层 Ethernet Token Ring FDDI Frame Ralay 图7.3TCPP模型中的网络层
4 计算机网络技术 网络到目标网络的路由作为连接建立的一部分加以保存;在数据传输过程中,在虚电路上 传送的分组总是取相同的路径通过通信子网;数据传输完毕需要拆除连接。如果我们以生 活化的实例进行类比,数据报有点类似于中国邮政的平信服务,而虚电路则更象是电话服 务。关于数据报与虚电路服务的比较参考表 7.1。 表 7.1 数据报和虚电路的比较 分组交换方式 比较项目 数据报 虚电路 连接设置 不需要 需要 地址 每个分组需要完整的源和目 的地址 每个分组包含一个虚电路号 状态信息 有路由表,无连接表 连接表 路由选择 每个包独立选择 虚电路建立后勿需路由 路由器失败的影响 丢失失败时的分组 所有经过失败路由器的 VC 失效 传输质量 同一报文会出现乱序、重复、 丢失 同一报文的不同分组不会出 现乱序、重复、丢失 7.2 TCP/IP 的网络层 TCP/IP 的网络层被称为网络互连层或网际层(internet layer),其以数据报形式向传 输层提供面向无连接的服务。如图 7.3 所示,该层的主要协议包括 IP 协议、ARP 协议、RARP 协议、ICMP 协议和一系列路由协议。下面我们分别对其中的几个重要协议进行介绍。 FTP HTTP SMTP DNS TFTP IP ICMP RARP Ethernet Token Ring TELNET TCP UDP ARP FDDI Frame Ralay 应用层 传输层 网际层 网络访问层 图 7.3 TCP/IP 模型中的网络层
第7章网络层 7.2.1P协议 IP协议是TCP/IP网络层的核心协议,其定义了用以实现面向无连接服务的网络层分组 格式,其中包括P寻址方式。在第5章和第6章的讨论中我们说过,不同网络技术的主要 区别在数据链路层和物理层,如不同的局域网技术和广域网技术。而P协议则能够将不同 的网络技术在TCP/IP的网际层统一在IP协议之下,以统一的IP分组传输提供了对异构网 络互连的支持。 图7.4给出了IP分组的格式,由于P协议实现的是面向无连接的数据报服务,故IP 分组通常又被称为IP数据报。其中有关字段的说明如下: ●版本:数据报协议的版本。通常为IP协议的4.0版本。 ·头标长:数据报报头的长度。以32位(相当于4byte)长度为单位,当报头中无可 选项时,报头的基本长度为5。 ·服务类型:主机要求通信子网提供的服务类型。包括一个3位长度的优先级、3个 标志位D、T和R,D、T、R分别表示延迟(Delay)、吞吐量(Troughput)和可靠性 (Relibility)。另外2位未用。通常文件传输更注重可靠性,而数字声音或图象 的传输更注重延迟。 总长:数据报的总长度,包括头部和数据,以字节为单位。数据报的最大长度为 2-1字节即65535字节。 ●标识:标识数据报。当数据报长度超出网络最大传输单元(Maximum transition unit,MTU)时,必须要进行分割,并且需要为分割段(fragment)提供标识。所 有属于同一数据报的分割段被赋予相同的标识值。 ·标志:指出该数据报是否可分段。DF表示不可分段,例如在工作站无盘启动时, 就要求从服务器端传送一个完整无缺的包含内存映象的单个数据包:MF代表还有 进一步的分段。分段的基本单位为8个字节。 分段偏移:若有分段时,用以指出该分段在数据报中的位置。13位的偏移长度意 味着一个长数据报至多可被分为23个小段。 生存时间或生命期:限定数据报生存期的计时器。推荐以秒来计数,最长为 2-1=255S。生存时间每经过一个路由节点都要递减,当生存时间减到零时,分组 就要被丢弃。设定生存时间是为了防止数据报在网络中无限制地漫游 ·协议:指示传输层所采用的协议,如TCP、DP或ICP等。 头校验和:用于校验头标。采用累加求补再取其结果补码的校验方法。若正确到 达时,校验和应为零。 ·任选字段:支持各种选项,提供扩展余地。根据选项的不同,该字段是可变长的。 ●IP地址:32位的源地址与目标地址分别指出源主机和目的主机的网络地址
第 7 章 网络层 5 7.2.1 IP 协议 IP 协议是 TCP/IP 网络层的核心协议,其定义了用以实现面向无连接服务的网络层分组 格式,其中包括 IP 寻址方式。在第 5 章和第 6 章的讨论中我们说过,不同网络技术的主要 区别在数据链路层和物理层,如不同的局域网技术和广域网技术。而 IP 协议则能够将不同 的网络技术在 TCP/IP 的网际层统一在 IP 协议之下,以统一的 IP 分组传输提供了对异构网 络互连的支持。 图 7.4 给出了 IP 分组的格式,由于 IP 协议实现的是面向无连接的数据报服务,故 IP 分组通常又被称为 IP 数据报。其中有关字段的说明如下: z 版本:数据报协议的版本。通常为 IP 协议的 4.0 版本。 z 头标长:数据报报头的长度。以 32 位(相当于 4byte)长度为单位,当报头中无可 选项时,报头的基本长度为 5。 z 服务类型:主机要求通信子网提供的服务类型。包括一个 3 位长度的优先级、3 个 标志位 D、T 和 R,D、T、R 分别表示延迟(Delay)、呑吐量(Troughput)和可靠性 (Relibility)。另外 2 位未用。通常文件传输更注重可靠性,而数字声音或图象 的传输更注重延迟。 z 总长:数据报的总长度,包括头部和数据,以字节为单位。数据报的最大长度为 2 16-1 字节即 65535 字节。 z 标识:标识数据报。当数据报长度超出网络最大传输单元(Maximum transition unit, MTU)时,必须要进行分割,并且需要为分割段(fragment)提供标识。所 有属于同一数据报的分割段被赋予相同的标识值。 z 标志:指出该数据报是否可分段。DF 表示不可分段,例如在工作站无盘启动时, 就要求从服务器端传送一个完整无缺的包含内存映象的单个数据包;MF 代表还有 进一步的分段。分段的基本单位为 8 个字节。 z 分段偏移:若有分段时,用以指出该分段在数据报中的位置。13 位的偏移长度意 味着一个长数据报至多可被分为 2 13个小段。 z 生存时间或生命期:限定数据报生存期的计时器。推荐以秒来计数,最长为 2 8 -1=255S。生存时间每经过一个路由节点都要递减,当生存时间减到零时,分组 就要被丢弃。设定生存时间是为了防止数据报在网络中无限制地漫游。 z 协议:指示传输层所采用的协议,如 TCP、UDP 或 ICMP 等。 z 头校验和:用于校验头标。采用累加求补再取其结果补码的校验方法。若正确到 达时,校验和应为零。 z 任选字段:支持各种选项,提供扩展余地。根据选项的不同,该字段是可变长的。 z IP 地址:32 位的源地址与目标地址分别指出源主机和目的主机的网络地址
6 计算机网络技术 32比特一 LLLLLLLLLLLLLLLLLLLLLLLLL 版本 头长 服务类型 总长 标识 M 分段偏移 生命期 协议 头校验和 源地址 目的地址 选项(0或更多的词) 图7.4P分组的基本格式 7.2.2P地址 1.逻辑地址与物理地址 IP数据报中的源IP地址和目标IP地址是TC/IP的网络层用以标识网络中主机的逻辑 地址。所谓逻辑地址,是与数据链路层的物理地址即硬件地址相对应的。物理地址如MC 地址是第二层地址,其固化在网卡的硬件结构中,只要主机或设备的网卡不变,则其MAC 地址就是不变的,即使其从一个网络被移到另一个网络,从地球的一端移到另一端。也就 是说,MAC地址是一种平面化的地址,其不能提供关于主机所处的网络位置信息。而逻辑地 址如P地址则是第三层地址,所以有时又被称为网络地址,该地址是随着设备所处网络位 置不同而变化的,即设备从一个网络被移到另一个网络时,其P地址也会相应地发生改变。 也就是说,P地址是一种结构化的地址,其可以提供关于主机所处的网络位置信息。逻辑 地址和物理地址的关系有点类似于人的姓名和住址的关系,当人一出生时,就会由父母为 了取一个终生不变的姓名,正所谓“行不更名,坐不改姓”:但在人的一生中因为学习、工 作和生活等多种原因会产生很多的迁移,从而住址是可以经常改变的。而且从住址可以知 道一个从当前所在的位置信息,但从一个人的姓名显然是不可能获取其当前所处的位置信 息的。 2.P地址的结构、分类与表示 32位的IP地址结构由网络标识和主机号两部分组成,如图7.5所示。其中,网络标识 用于标识该主机所在的网络,而主机号则表示该主机在相应网络中的序号。正是因为网络
6 计算机网络技术 版本 头长 服务类型 总长 ~ ~ 标识 D F M F 分段偏移 生命期 协议 头校验和 源地址 目的地址 选顶(0 或更多的词) 32比特 图 7.4 IP 分组的基本格式 7.2.2 IP 地址 1.逻辑地址与物理地址 IP 数据报中的源 IP 地址和目标 IP 地址是 TC/IP 的网络层用以标识网络中主机的逻辑 地址。所谓逻辑地址,是与数据链路层的物理地址即硬件地址相对应的。物理地址如 MAC 地址是第二层地址,其固化在网卡的硬件结构中,只要主机或设备的网卡不变,则其 MAC 地址就是不变的,即使其从一个网络被移到另一个网络,从地球的一端移到另一端。也就 是说,MAC 地址是一种平面化的地址,其不能提供关于主机所处的网络位置信息。而逻辑地 址如 IP 地址则是第三层地址,所以有时又被称为网络地址,该地址是随着设备所处网络位 置不同而变化的,即设备从一个网络被移到另一个网络时,其 IP 地址也会相应地发生改变。 也就是说,IP 地址是一种结构化的地址,其可以提供关于主机所处的网络位置信息。逻辑 地址和物理地址的关系有点类似于人的姓名和住址的关系,当人一出生时,就会由父母为 了取一个终生不变的姓名,正所谓“行不更名,坐不改姓”;但在人的一生中因为学习、工 作和生活等多种原因会产生很多的迁移,从而住址是可以经常改变的。而且从住址可以知 道一个从当前所在的位置信息,但从一个人的姓名显然是不可能获取其当前所处的位置信 息的。 2.IP 地址的结构、分类与表示 32 位的 IP 地址结构由网络标识和主机号两部分组成,如图 7.5 所示。其中,网络标识 用于标识该主机所在的网络,而主机号则表示该主机在相应网络中的序号。正是因为网络
第7章网络层 标识所给出的网络位置信息才使得路由器能够在通信子网中为IP分组选择一条合适的路 径。 网络标识 主机标识 32 Bits 图7.5P地址的组成 通常P地址被分为A、B、C、D和E五类,如图7.6所示。其中A、B、C类被作为 普通的主机地址,D类用于提供网络组播服务或作为网络测试之用,E类保留给未来扩充使 用。有关A、B、C类的最大网络数目和可以容纳的主机数信息参见表7.2。 由于32位的IP地址不太容易书写和记忆,通常又采用带点十进制标识法(dotted decimal notation))来表示P地址。在这种格式下,将32位的IP地址分为四个8位组 (octet),每个8位组以一个十进制数表示,取值范围由0到255:代表相邻8位组的十进 制数以小圆点分割。所以点十进制表示的最低P地址为0.0.0.0,最高IP地址为 247.255.255.255. 32比特 LLLLLLLLLLLLLLLLLLL 类 主机地址范围 A网络 主机 8s86525 B 10 网络 主机 8黑 c110 网络 主机 竖2 D1110 多点播送地址 ], E1110 保留给将来使用 图7.61P地址的类及其格式 表7.2关于A、B、C类的最大网络数和可容纳的主机数 网络类 最大网络数 每个网络可容纳的最大主机数目 A 27-2=126 224-2=16,777.214 B 214.2=16382 216.2=65534 221.2=-2097150 28.2=254
第 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 地址不太容易书写和记忆,通常又采用带点十进制标识法(dotted decimal notation)来表示 IP 地址。在这种格式下,将 32 位的 IP 地址分为四个 8 位组 (octet),每个 8 位组以一个十进制数表示,取值范围由 0 到 255;代表相邻 8 位组的十进 制数以小圆点分割。所以点十进制表示的最低 IP 地址为 0.0.0.0,最高 IP 地址为 247.255.255.255。 类别 A B C D E 1.0.0.0至 127.255.255.255 192.0.0.0至 223.255.255.255 224.0.0.0至 239.255.255.255 240.0.0.0至 247.255.255.255 32比特 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 网络 主机 网络 网络 主机 主机 多点播送地址 保留给将来使用 主机地址范围 128.0.0.0至 191.255.255.255 图 7.6 IP 地址的类及其格式 表 7.2 关于 A、B 、C 类的最大网络数和可容纳的主机数 网络类 最大网络数 每个网络可容纳的最大主机数目 A 27-2=126 224-2=16,777,214 B 214-2=16382 216-2=65534 C 221-2=2097150 28-2=254
计算机网络技术 3.特殊的P地址及其作用 在IP地址空间中,有些IP地址是被保留作为特殊之用的。例如,网络标识或主机号 部分为全“0”和全“1”的地址通常具有特殊的含义和用途。具有正常的网络号部分,而 主机号部分为全“0”的P地址代表一个特定的网络,即作为网络标识之用,如102.0.0.0、 138.1.0.0和198.10.1.0分别代表了一个A类、B类和C类网络。而主机号部分为全“1” 的IP地址代表一个在指定网络中的广播,被称为广播地址,如102.255.255.255、 138.1.255.255和198.10.1.255分别代表在一个A类、B类和C类网络中的广播。网络号 对于P网络通信非常重要,位于同一网络中的主机必然具有相同的网络号,它们之间可以 直接相互通信:而网络号不同的主机之间则不能直接进行相互通信,必须经过第三层网络 设备如路由器讲行转发。广播地址对于网络通信也非常有用,在计机网络通信中,经常 会出现对某一指定网络中的所有机器发送数据的情形,如果没有广播地址源主机就要对所 有目标主机启动多次IP分组的封装与发送过程。除网络标识地址和广播地址之外,其他 些包含全“0”和全“1”的地址格式及作用参见图7.7。 00000000000000000000000000000000 本机 00…00 主机 本网中的主机 111111111111111111111111111111 局域网中的广播 网络1111111111111111 对一个远程网的广播 127 任意值 回送地址 图7.7一些特殊的保留地址 另外,在IP地址资源中,还保留了一部分被称为私有地址(private address)的地址 资源供内部实现IP网络时使用。其地址范围包括三个部分,即10.0.0.0-10.255.255.255、 172.16.0.0-172.31.255.255和192.168.0.0-192.168.255.255。根据规定,所有以私有地 址为目标地址的P数据包都不能被路由至外面的因特网上,这些以私有地址作为逻辑标识 的主机若要访问外面的因特网,必须采用网络地址翻译(Network address translation, 简称NAT)或应用代理(proxy)方式。 7.2.3P地址规划与子网划分 1,P地址的规划与分配 当我们在网络层采用P协议组建一个IP树络时,必须为网络中的每一台主机分配 个唯一的P地址,也就是要涉及IP地址的规划问题。通常IP地址规划要参照下面步骤进 行。首先,分析网络规模,包括相对独立的网段数量和每个网段中可能拥有的最大主机数, 要注意路由器的每一个接口所连的网段都是一个独立网段:其次,确定使用公用地址还是
8 计算机网络技术 3.特殊的 IP 地址及其作用 在 IP 地址空间中,有些 IP 地址是被保留作为特殊之用的。例如,网络标识或主机号 部分为全“0”和全“1”的地址通常具有特殊的含义和用途。具有正常的网络号部分,而 主机号部分为全“0”的 IP 地址代表一个特定的网络,即作为网络标识之用,如 102.0.0.0、 138.1.0.0 和 198.10.1.0 分别代表了一个 A 类、B 类和 C 类网络。而主机号部分为全“1” 的 IP 地址代表一个在指定网络中的广播,被称为广播地址,如 102.255.255.255、 138.1.255.255 和 198.10.1.255 分别代表在一个 A 类、B 类和 C 类网络中的广播。网络号 对于 IP 网络通信非常重要,位于同一网络中的主机必然具有相同的网络号,它们之间可以 直接相互通信;而网络号不同的主机之间则不能直接进行相互通信,必须经过第三层网络 设备如路由器进行转发。广播地址对于网络通信也非常有用,在计算机网络通信中,经常 会出现对某一指定网络中的所有机器发送数据的情形,如果没有广播地址源主机就要对所 有目标主机启动多次 IP 分组的封装与发送过程。除网络标识地址和广播地址之外,其他一 些包含全“0”和全“1”的地址格式及作用参见图 7.7。 0000 00000000 0000 0000 00000000 0000 1 11 1 1 11 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 主机 任意值 1 11 1 1 11 1 1 11 1 1 11 1 127 网络 0 0 0 0 本机 本网中的主机 局域网中的广播 对一个远程网的广播 回送地址 图 7.7 一些特殊的保留地址 另外,在 IP 地址资源中,还保留了一部分被称为私有地址(private address)的地址 资源供内部实现 IP 网络时使用。其地址范围包括三个部分,即 10.0.0.0 -10.255.255.255、 172.16.0.0-172.31.255.255 和 192.168.0.0-192.168.255.255。根据规定,所有以私有地 址为目标地址的 IP 数据包都不能被路由至外面的因特网上,这些以私有地址作为逻辑标识 的主机若要访问外面的因特网,必须采用网络地址翻译(Network address translation, 简称 NAT)或应用代理(proxy)方式。 7.2.3 IP 地址规划与子网划分 1.IP 地址的规划与分配 当我们在网络层采用 IP 协议组建一个 IP 网络时,必须为网络中的每一台主机分配一 个唯一的 IP 地址,也就是要涉及 IP 地址的规划问题。通常 IP 地址规划要参照下面步骤进 行。首先,分析网络规模,包括相对独立的网段数量和每个网段中可能拥有的最大主机数, 要注意路由器的每一个接口所连的网段都是一个独立网段;其次,确定使用公用地址还是
第7章网络层 私有地址,并根据网络规模确定所需要的网络号类别,若采用公有地址还需要向网络信息 中心(Network Information Center,,NIC)提出申请并获得地址使用权:最后,根据可用的 地址资源进行主机IP地址的分配。 P地址和分配可以采用静态分配和动态分配两种方式,所谓静态分配是指由网络管理 员为用户指定一个固定不变的P地址并手工配置到主机上:而动态分配则通常以客户机 服务器模式通过动态主机控制协议(dynamic host control protocol,简称DHCP)来实现 在P地址规划时,我们常常会遇到这样的同问题:一个企业或公司由于树络规模增加 网络冲突增加或吞吐性能下降等多种因素需要对内部网络进行分段。而根据P网络的特点 需要为不同的网段分配不同的网络号,于是当分段数量不断增加时,对工P地址资源的 求随之增加。即使不考虑是否能申请到所需的P资源,要对大量具有不同网络号的网络进 行管理也是一件非常复杂的事情,至少要将所有这些网络号对外网公布。更何况随着丙特 网规模的增大,32位的P地址空间已出现了严重的资源紧缺,也就是说己经不可能随心所 欲地获取网络号了。为了解决IP地址资源短缺的问题,同时也为了提高IP地址资源的利 用率,我们引入了子网划分技术。 2.子网划分的基本概念 子网划分(subnetworking)是指由网络管理员将一个给定的网络分为若干个更小的部 分,这些更小的部分被称为子网(subnet).。当网络中的主机总数未超出所给定的某类网络 可容纳的最大主机数,但内部又要划分成若千个分段(segment)进行管理时,就可以采用 子网划分的方法。为了创建子网,网络管理员需要从原有P地址的主机位中借出连续的高 若干位作为子网络标识,如图7.8所示。也就是说,经过划分后的子网因为其主机数量减 少,已经不需要原来那么多位作为主机标识了,从而我们可以将这些多余的主机位用作子 网标识。 划分前 网络标识 主机标识 划分后 网络标识 子网络标识主机标识 图7.8关于子网划分的示意 举一个简单的例子可以帮助理解子网划分的概念。假设我们采用6位的十进制数 “cccsss”作为同学们的学号,这是一种结构化的学号编码。其中,三位“C”代表同学们 所在的班级,而三位“S”代表同学们在班级中的序号,于是我们在一个学校中可以有999 个班级,而每个班级至多可以有999位学生。而大家显然都知道,为了便于对班级进行管 理,我们通常要将班级再分为若干个小组,哪么能否通过对学号的编码结构进行改造而使 其能体现班级-小组-序号的结构信息呢?答案显然是背定的。假定每个小组人数不超过1 位数,则可以将三位S中的高两位借出作为小组标识,从而每班可至多划分99个小组,每 组可至多拥有9人:假定每个小组人数不超过2位数,则可以将三位S中的高一位借出作 为小组标识,则每班可至多划分9个小组,每组可至多拥有99人。同样的方法可用于子网
第 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位。显然,与我们上面在班级中划分小组的例子类似,当借 出的子网络位数不同时,相应可以得到的子网络数量及每个子网中所能容纳的主机数也是 不同的。表73给出了子网络位数和子网络数量、有效子网络数量之间的对应关系,所谓 有效子网络是指除去那些子网络位为全“0”或全“1”的子网后所留下的可用子网。 表7,3子网络位数与子网数量、有效子网数量的对应关系 子网络位 子网数量 有效子网数量 1 2=2 2.2=0 2 22-4 4-2=2 3 2=8 8-2=6 2=16 16-2=14 5 2=32 32-2=30 6 2=64 64-2=62 1 27-128 128-2=126 2=256 256-2=254 9 2=512 512-2=510 下面以一个C类网络子网划分的例子来说明子网划分的具体方法。假设一个由路由器 相连的网络,其有三个相对独立的网段,并且每个网段的主机数不超过30台,如图7.9所 示,现需要我们以子网划分的方法为其完成IP地址规划。由于该网络中所有网段合起来的 主机数没有超出一个C类网络所能容纳的最大主机数,所以可以利用一个C类网络的子网 划分来实现。假定为它们申请了一个C类网络202.11.2.0,则在子网划分时需要从主机位 中借出其中的高3位作为子网络位(请同学们思考为什么不能是2位),这样一共可得8个 子网络,每个子网络的相关信息参见表7.4。其中,第1个子网因网络号与未进行子网划分 前的原网络号202.11.2.0重复而不用,第8个子网因为广播地址与未进行子网划分前的原 广播地址202.11.2.255重复也不可用,这样我们可以选择6个可用子网中的任何三个为现 有的三个网段进行IP地址分配,留下三个可用子网将作为未来网络扩充之用
10 计算机网络技术 划分技术中。 3.子网划分的方法 在子网划分时,首先要明确划分后所要得到的子网数量和每个子网中所要拥有的主机 数,然后才能确定需要从原主机位借出的子网络标识位数。原则上,根据全“0”和全“1” IP 地址保留的规定,子网划分时至少要从主机位的高位中选择两位作为子网络位,而只要 能保证保留两位作为主机位,A、B、C 类网络最多可借出的子网络位是不同的,A 类可达 22 位、B 类为 14 位,C 类则为 6 位。显然,与我们上面在班级中划分小组的例子类似,当借 出的子网络位数不同时,相应可以得到的子网络数量及每个子网中所能容纳的主机数也是 不同的。表 7.3 给出了子网络位数和子网络数量、有效子网络数量之间的对应关系,所谓 有效子网络是指除去那些子网络位为全“0”或全“1”的子网后所留下的可用子网。 表 7.3 子网络位数与子网数量、有效子网数量的对应关系 子网络位 子网数量 有效子网数量 1 21 =2 2-2=0 2 22 =4 4-2=2 3 23 =8 8-2=6 4 24 =16 16-2=14 5 25 =32 32-2=30 6 26 =64 64-2=62 7 27 =128 128-2=126 8 28 =256 256-2=254 9 29 =512 512-2=510 … …. … 下面以一个 C 类网络子网划分的例子来说明子网划分的具体方法。假设一个由路由器 相连的网络,其有三个相对独立的网段,并且每个网段的主机数不超过 30 台,如图 7.9 所 示,现需要我们以子网划分的方法为其完成 IP 地址规划。由于该网络中所有网段合起来的 主机数没有超出一个 C 类网络所能容纳的最大主机数,所以可以利用一个 C 类网络的子网 划分来实现。假定为它们申请了一个 C 类网络 202.11.2.0,则在子网划分时需要从主机位 中借出其中的高 3 位作为子网络位(请同学们思考为什么不能是 2 位),这样一共可得 8 个 子网络,每个子网络的相关信息参见表 7.4。其中,第 1 个子网因网络号与未进行子网划分 前的原网络号 202.11.2.0 重复而不用,第 8 个子网因为广播地址与未进行子网划分前的原 广播地址 202.11.2.255 重复也不可用,这样我们可以选择 6 个可用子网中的任何三个为现 有的三个网段进行 IP 地址分配,留下三个可用子网将作为未来网络扩充之用