第5章互联网与IP 互联网是将物理网络相互连接形成的计算机网络。那么,为什么要进行网络互联? 网络 互联的解决方案都有哪些? 本章将对网络互联的这些基本问题进行讨论。对目前应用最广泛 的IP 互联问题,将在第6~9章详细介绍。 5.互联网 1 有线以太网和无线局域网是两种使用比较广泛的局域网络,它们能够在一定的范围内提 供高速的数据通信服务。除了以太网和无线局域网外,世界上存在着各种各样的物理网络,每 种物理网络都有其与众不同的技术特点。这些网络有的提供短距离高速服务(如以太网、无线 局域网等), 有的提供长距离大容量服务(如DDN 网、ATM 网等)。到目前为止,没有一种物 理网络能够满足所有应用的需求。因为在介质访问控制方法、寻址机制、分组最大长度、差错 恢复技术、状态报告和用户接入等方面存在很大差异,所以不同种类的物理网络之间不能直接 相连,形成了相互隔离的物理网络孤岛,如图5-1所示。 图5- 1 相互隔离的物理网络 随着网络应用的深入和发展,用户越来越不满足物理网络相互隔离的现状。不但一个物 理网络上的用户有与另一个物理网络上的用户通信的需要(如图5-1中的用户A与用户B需 要直接进行在线通信或相互发送电子邮件), 而且一个物理网络上的用户也有共享另一个网络 上资源的需求(如图5-1中的用户A和用户C需要共享服务器B中的文件)。在用户强大需 求的推动下,互联网络诞生了。 连接物理网络之间的设备称为路由器。路由器通常具有两个或多个物理网络接口,用于 连接两个或多个物理网络。图5-2显示了一个连接两个物理网络的路由器,该路由器具有两 个物理网络接口,一个接口与以太网交换机相连,另一个接口与ATM 交换机相连。该路由器 接收以太网交换机转发的以太帧,并将其转换成ATM 帧后发送到ATM 交换机。同时,它也 可以从ATM 交换机接收ATM 帧,并将其转换成以太帧后发送给以太网交换机。 互联网屏蔽了各个物理网络的差别(如寻址机制的差别、分组最大长度的差别、差错恢复 的差别等), 隐藏了各个物理网络实现细节,为用户提供通用服务(universalservice)。因此,用 图5- 2 用于连接以太网和ATM 网的路由器 户常常把互联网看成一个虚拟网络(virtualnetwork)系统,如图5-3所示。这个虚拟网络系统是 对互联网结构的抽象,它提供通用的通信服务,能够将所有主机互联起来,实现全方位的通信。 图5- 3 互联网与虚拟网的概念 5.网络互联解决方案 网络互联是ISO/OSI 参考模型的网络层或TCP/IP 体系结构的互联层需要解决的问题。 广义上讲,网络互联可以采用面向连接的解决方案和面向非连接的解决方案。 5.1 面向连接的解决方案 2. 面向连接的解决方案要求两个结点在通信时建立一条逻辑通道,所有信息单元都沿着这 99 条逻辑通道传送。路由器将一个网络中的逻辑通道连接到另一个网络中的逻辑通道,最终形 成一条从源结点至目的结点的完整通道。 在图5-4中,结点A和结点B通信时形成一条逻辑通道。该通道经过物理网络1、物理网 络2和物理网络4,并利用路由器i和路由器m连接起来。一旦该逻辑通道建立起来,结点A 和结点B之间的后续信息传输就会沿着该通道进行。 图5- 4 面向连接的解决方案 在面向连接的解决方案中,通信开始时建立逻辑通道的过程就是路由选择。由于后续的 数据传输沿逻辑通道顺序进行,因此,源结点只需通知物理网络这些后续数据发往的逻辑通道 号,物理网络就会将它们正确传输到目的地址。逻辑通道上的各结点不需要对后续数据进行 路由选择,后续数据也不需要携带源地址、目的地址等信息。但是,面向连接的解决方案可以 看成一种有状态的解决方案,它对互联网中间结点要求较高。每个中间结点不但在通信开始 时要进行路由选择(建立逻辑通道), 而且在通信过程中要保持和维护逻辑通道状态。由于面 向连接的解决方案的实现较为复杂,因此,尽管很多学者在这方面做了很大的努力,但是始终 没有被业界接受。 5.2 面向非连接的解决方案 2. 与互联网面向连接的解决方案不同,面向非连接的解决方案并不需要建立逻辑通道。网 络中的信息单元都被独立对待,这些信息单元经过一系列的网络和路由器,最终到达目的 结点。 图5-5显示了一个面向非连接的解决方案示意图。当主机A需要发送一个数据单元P1 到主机B时,主机A首先进行路由选择,判断P1 到达主机B的最佳路径。如果它认为P1 经 过路由器i到达主机B是一条最佳路径,那么主机A就将P1 投递给路由器i。路由器i收到 主机A发送的数据单元P1 后,根据自己掌握的路由信息为P1 选择一条到达主机B的最佳路 径,从而决定将P1 传递给路由器k,还是传递给路由器m。这样,P1 经过多个路由器的中继 和转发,最终将到达目的主机B。 如果主机A需要发送另一个数据单元P2 到主机B,那么主机A同样需要对P2 进行路由 选择。在面向非连接的解决方案中,由于设备对每一数据单元的路由选择独立进行,因此,数 据单元P2 到达目的主机B可能经过一条与P1 完全不同的路径。 100 图5- 5 面向非连接的解决方案 在面向非连接的互联网解决方案中,由于中间结点独立地对待每个数据单元,因此,每个 数据单元都需要携带完整的源地址、目的地址等信息,以便中间结点为它们选路。另外,面向 非连接的解决方案并不能保证发送结点发送的数据单元按顺序到达目的结点。但是,面向非 连接的解决方案是一种无状态的解决方案,中间结点不需要维护前后传输数据单元的因果关 系,因此,实现起来比较简单。事实上,目前流行的互联网都采用了这种方案。 IP(nentPoool)和IPX(nentwokPcecage)协议是两种比较重要的互 ItrertcItrerakteXhn 联网协议,它们都采用了面向非连接的互联网解决方案。其中,IPX协议主要用于Novel 网 络,有些路由器(如Cisco路由器、华为路由器等)也可对其进行支持。但是,随着Novel 网络 市场份额的逐渐萎缩,逐渐被兴起的IP取代。 IPX协议已风光不再, IP是面向非连接的互联解决方案中设计最成功、应用最广泛的互联协议。尽管IP不是 国际标准,但由于它效率高、互操作性好、实现简单、比较适合于异构网络,因此,被众多著名的 网络供应商(如IBM 、Microsoft、Novel 、Cisco等公司)采用,成为事实上的标准。支持IP的路 由器称为IP路由器,有时又称为IP数据分组)。 IP处理的数据单元称为IP数据包( 实际上,世界上最具影响力的Internet(因特网,又称国际互联网)就是一种计算机互联 网。它是由分布在世界各地的、数以万计的、各种规模的计算机网络借助网络互联设备———路 由器,相互连接形成的全球性互联网。这个正以惊人速度发展的Internet采用的互联协议就 是IP 。高效、可靠的IP为Internet的发展起到了不可低估的作用。 3 IP与IP层服务 5. 如果说IP数据包是IP互联网中行驶的车辆,那么IP就是IP互联网中的交通规则,连入 互联网的每台计算机以及处于十字路口的路由器都必须熟知和遵守该交通规则。发送数据的 主机需要按IP装载数据,路由器需要按IP指挥交通,接收数据的主机需要按IP拆卸数据。 满载着数据的IP数据包从源主机出发,在沿途各个路由器的指挥下,就可以顺利地到达目的 主机。 IP精确定义了IP数据包格式,并且对数据包寻址和路由、数据包分片和重组、差错控制 和处理等做出了具体规定。 101 5.1 IP互联网的工作机理 3. 图5-6给出了一个IP 互联网工作机理示意图,它包含两个以太网和一个广域网,其中主 机A与以太网1相连,主机B与以太网2相连,两台路由器除了分别连接两个以太网外,还与 广域网相连。从图5-6中可以看到,主机A、主机B、路由器X和路由器Y都加有IP 层并运行 IP 。由于IP 层具有将数据单元从一个网转发至另一个网的功能,因此,互联网上的数据可以 进行跨网传输。 图5- 6 IP 互联网工作机理示意图 如果主机A发送数据至主机B,处理和投递该信息的过程如下: IP 互联网封装、 (1)主机A的应用层形成要发送的数据,并将该数据经传输层送到IP 层处理。 (2)主机A的IP 层将该数据封装成IP 数据包,并对该数据包进行路由选择,最终决定将 它投递到路由器X。 (3)主机A把IP 数据包送交给它的以太网控制程序,以太网控制程序将其封装成以太帧 后,传递到路由器X。 (4)路由器X的以太网控制程序收到主机A发送的以太帧后,进行拆封和处理,将得到 的IP 数据包送到它的IP 层处理。 (5)路由器X的IP 层对该IP 数据包进行处理。经过路由选择得知该数据必须穿越广域 网,才能到达目的地。 (6)路由器X将IP 数据包送到它的广域网控制程序,封装成广域帧。 (7)广域网控制程序负责将封装后的广域帧从路由器X传递到路由器Y。 (8)路由器Y的广域网控制程序将收到的广域帧拆封后,提交给它的IP 层处理。 (9)与路由器X相同,路由器Y对收到的IP 数据包进行处理。通过路由选择得知,路由 器Y与目的主机B处于同一以太网,可直接投递到达。 (10)路由器Y再次将该IP 数据包转交给自己的以太网控制程序,并封装成以太帧。 (11)以太网控制程序负责把封装后的以太帧由路由器Y传送到主机B。 (12)主机B的以太网控制程序将收到的以太帧拆封后,提交给它的IP 层处理。 (13)主机B的IP 层处理该IP 数据包,在确定数据目的地为本机后,将IP 数据包的数据 102 部分经传输层提交给应用层。 5.2 IP层服务 3. 互联网应该屏蔽低层网络的差异,为用户提供通用的服务。具体地讲,运行IP 的互联层 可以为其高层用户提供的服务具有如下3个特点: (1)不可靠的数据投递服务。这意味着IP 不能保证数据包的可靠投递, IP 本身没有能力 证实发送的IP 数据包是否被正确接收。数据包可能在线路延迟、路由错误、数据包分片和重组 等过程中受到损坏,但IP 不检测这些错误。在错误发生时, IP 也没有可靠的机制通知发送方或 接收方 (2 。 )面向无连接的传输服务。它不管数据包沿途经过哪些结点,甚至也不管数据包起始 于哪台计算机、终止于哪台计算机。从源结点到目的结点的每个数据包都可能经过不同的传 输路径,而且在传输过程中数据包有可能丢失,有可能正确到达。 (3)尽最大努力投递服务。尽管IP 层提供的是面向非连接的不可靠服务,但是IP 并不 随意丢弃数据包。只有在系统的资源用尽、接收数据错误或网络故障等状态下, IP 才被迫丢 弃报文。 3.P互联网的特点 5.3 I IP 互联网是一种面向非连接的互联网络,它对各个物理网络进行高度抽象,形成一个大 的虚拟网络。总体来说, IP 互联网具有如下特点: (1)IP 互联网隐藏了低层物理网络细节,为上层用户提供通用的、一致的网络服务。因 此,尽管从网络设计者角度看,但从用户观点 IP 互联网由不同网络借助IP 路由器互联而成, 看, IP 互联网是一个单一的虚拟网络。 (2)IP 互联网不指定网络互联的拓扑结构, IP 数据包 也不要求网络之间全互联。因此, 从源主机至目的主机可能经过若干中间网络。一个网络只要通过路由器与IP 互联网中的任 意一个网络相连,它就具有访问整个互联网的能力,如图5-7所示。 图5- 7 IP 互联网不要求网络之间全互联 103 (3)IP 互联网能在物理网络之间转发数据,信息可以跨网传输。 (4)IP 互联网中的所有计算机使用统一的、全局的地址描述法。 (5)IP 互联网平等地对待互联网中的每个网络,不管这个网络规模是大还是小,也不管这 个网络的速度是快还是慢。实际上,在IP 互联网中,任何一个能传输数据单元的通信系统均 被看作网络(无论该通信系统的特性如何)。因此,大到广域网、小到局域网甚至两台机器间的 点到点链接都被当作网络, IP 互联网平等地对待它们。 练习与思考 一、填空题 (1)网络互联的解决方案有两种:一种是 是目前主要使用的解决方案。 ,另一种是。其中, (2)IP 提供服务的特点为 二、单项选择题 、和。 (1)Internet使用的互联协议是( ) 。 a)IPX b)IP c)AppleTalk d)NetBEUI (2)关于IP 层提供的功能,错误的是( )。 a)屏蔽各个物理网络的差异b)代替各个物理网络的数据链路层工作 c)为用户提供通用的服务d)隐藏各个物理网络的实现细节 三、简答题 简述IP 互联网的主要作用和特点。 104 第6章IP 数据包 在IP 层,需要传输的数据首先需要加上IP 头信息,封装成IP 数据包。IP 数据包(t) 是IP 层使用的数据单元,互联层数据信息和控制信息的传递都需要通过IP 数据包进行 IP 。 packe 1 IP 数据包的格式 6. IP 数据包的格式可以分为包头区和数据区两大部分,其中数据区包括高层需要传输的数 据,而包头区是为了正确传输高层数据而增加的控制信息。图6-1给出了IP 数据包的具体格式。 图6- 1 IP 数据包的具体格式 包头区包含了源IP 地址、目的IP 地址等控制信息,下面分别介绍各主要字段的功能。 1. 版本与协议 在IP 包头中,版本字段表示该数据包对应的IP 版本号,不同IP 版本规定的数据包格式 稍有不同,目前最常使用的IP 版本号为4。为了避免错误解释报文格式和内容,所有IP 软件 在处理数据包之前都必须检查版本号,以确保版本正确。 协议字段表示该数据包数据区数据使用的协议类型(如TCP), 用于指明数据区数据的格式。 2. 长度 包头中有两个表示长度的字段:一个是包头长度,另一个是总长度。 包头长度以32 位双字为单位,指出该包头区的长度。在没有选项和填充的情况下,该值 为5。一个含有选项的包头长度取决于选项域的长度。但是,包头长度应当是32 位的整数 倍,否则需在填充域加0凑齐。 总长度以8位(为单位, 其中包含头部长度和数据区长度。 1字节) 表示整个IP 数据包的长度, 3. 服务类型 服务类型字段规定对本数据包的处理方式。利用该字段,发送端可以为IP 数据包分配一 个转发优先级,并可以要求中途转发路由器尽量使用低时延、高吞吐率或高可靠性的线路投 递。但是,中途路由器能否按照IP 数据包要求的服务类型进行处理,则依赖于路由器的实现 方法和底层物理网络技术。 4. 生存周期 IP 数据包的路由选择具有独立性,因此从源主机到目的主机的传输延迟也具有随机性。 如果路由表发生错误,数据包有可能进入一条循环路径,无休止地在网络中流动。利用IP 包 头中的生存周期字段,可以有效地控制这一情况发生。在网络中,生存周期域随时间而递减, 该域为0时,报文将被删除,避免死循环发生。 5. 头部校验和 头部校验和用于保证IP 数据包包头的完整性。注意,在IP 数据包中只含有包头校验字 段,而没有数据区校验字段。这样做的最大好处是可以节约路由器处理数据包的时间,并允许 不同的上层协议选择自己的数据校验方法。 6. 地址 在IP 数据包包头中,源IP 地址和目的IP 地址分别表示该IP 数据包发送者和接收者地 址。IP 地址采用32 位的地址形式,其作用和使用方法将在第7章详细介绍。在整个数据包 传输过程中,无论经过什么路由,无论如何分片,这两个字段都一直保持不变。 2 IP 封装、分片与重组 6. 因为IP 数据包可以在互联网上传输,所以它可能要跨越多个网络。作为一种高层网络数 据,-2显示了一个IP 数据包从源主机至目的主 IP 数据包最终也需要封装成帧进行传输。图 6 机被多次封装和解封装的过程 。 图6- 2 IP 数据包在各个网络中被重新封装 106 从图6-2中可以看出,主机和路由器只在内存中保留了整个IP数据包,而没有附加的帧 头信息。只有当IP数据包通过一个物理网络时,才会被封装进一个合适的帧中。帧头的大小 依赖于相应的网络技术。例如,如果网络1是一个以太网,则帧1有一个以太网头部;如果网 络2是一个FDDI环网,则帧2有一个FDDI头部。注意,在数据包通过互联网的整个过程 中,帧头并没有累积起来。当数据包到达它的最终目的地时,数据包的大小与其最初发送时是 一样的。 6.1 MTU与分片 2. 根据网络使用的技术不同,每种网络都规定了一个帧最多能够携带的数据量,这一限制称 为最大传输单元(MaximumTransmisionUnit,MTU )。因此,一个IP数据包的长度只有小 于或等于一个网络的MTU,才能在这个网络中传输。 互联网可以包含各种各样的异构网络,一个路由器也可能连接具有不同MTU值的多个网 络,能从一个网络上接收IP数据包并不意味着一定能在另一个网络上发送该数据包。在图6-3 中,一个路由器连接了两个网络,其中一个网络的MTU为1500B,另一个网络的MTU为1000B 。 图6- 3 路由器连接具有不同MTU 的网络 主机1连接着MTU值为1500B的网络1,因此,每次传送的IP数据包字节数不超过 1500B 。而主机2连接着MTU值为1000B的网络2,因此,主机2可以传送的IP数据包最大 尺寸为1000B 。如果主机1需要将一个1400B的数据包发送给主机2,路由器R尽管能够收 到主机1发送的数据包,却不能在网络2上转发它。 为了解决这一问题, IP互联网通常采用分片与重组技术。当一个数据包的尺寸大于将发 往网络的MTU值时,路由器会将IP数据包分成若干较小的部分,这个过程称为分片,然后再 将每片独立地进行发送。 与未分片的IP数据包相同,分片后的数据包也由包头区和数据区两部分构成,而且除一 些分片控制域(如标志域、片偏移域)之外,分片的包头与原IP数据包的包头非常相似,如图6-4 所示。 图6- 4 IP数据包分片 一旦进行分片,每片都可以像正常的IP数据包一样经过独立的路由选择等处理过程,最 终到达目的主机。 6.2 重组 2. 在接收到所有分片的基础上,主机对分片进行重新组装的过程称为IP数据包重组。IP 107