ip协议技术与标准(编辑修改稿)内容摘要:
定。 TCP/IP体系规定用一个 32bit的子网掩码来表示子网号字段的长度。 具体的做法是:子网掩码由一连串的“ 1”和一连串的“ 0”组成。 “ 1”对应于网络号码和子网号码字段,而“ 0”对应于主机号码字段(图 16( c)) 多划分出一个子网号码字段是要付出代价的。 例如,对于图 4 的例子,本来一个 B类 IP 地址可以容纳 65534个主机号码。 但划分出 6bit长的子网字段后,最多可有 62个子网(去掉全 1和全 0的子 网号码)。 每个子网有 10bit的主机号码,即每个子网最多可有 1022 个主机号码。 因此主机号码的总数是62*1022=63364 个。 比不划分子网时要少了一些。 若一个单位不进行子网的划分,则其子网掩码即为默认值,此时子网掩码中“ 1”的长度就是网络号码的长度。 因此,对于 A, B 和 C 类 IP 地址,其对应的子网掩码默认值分别为 ,。 n e t i d h os t i d n e t i d h os t i d1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 00 0000 0000本地分配Su bn et id子网号 主网号( a)( b)( c)B 类地址增加子网号字段子网掩码图 4 子网掩码的意义 图 16 子网掩码作用示意图 封装 当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入 网络。 其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图 1 7 所示。 TCP 传给 IP 的数据单元称作 TCP报文段或简称为 TCP 段( TCP segment)。 IP 传给网络IP 协议技术与标准 第 1章 序言 华为技术有限公司 版权所有 , 未经许可不得扩散 10 接口层的数据单元称作 IP 数据报( IP datagram)。 通过以太网传输的比特流称作帧( Frame)。 图 17中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。 在后面的章节中我们将详细讨论这些帧头的具体含义。 以太网数据帧的物理特性是其长度必须在 46~ 1500字节之间。 由于现在几乎所有的计算机系统都采用 8bit 的字节,因此我们在本书中使用字节( byte)这个术语。 图 17 数据进入协议栈时的封装过程 UDP数据与 TCP 数据基本一致。 唯一的不同是 UDP 传给 IP 的信息单元称作UDP 数据报( UDP datagram),而且 UDP 的首部长为 8 字节。 由于 TCP、 UDP、 ICMP 和 IGMP都要向 IP 传送数据,因此 IP 必须在生成的IP 首部中加入某种标识,以表明数据属于哪一层。 为此, IP 在首部中存入一个长度为 8bit 的数值,称作协议域。 1 表示为 ICMP 协议, 2表示为 IGMP 协议, 6 表示为 TCP协议, 17 表示为 UDP 协议。 类似地,许多应用程序都可以使用 TCP 或 UDP 来传送数据。 运输层协议在生成报文首部时要存入一个应用程序的标识符。 TCP 和 UDP 都用一个 16bit的端口号来表示不同的应用程序。 TCP 和 UDP 把源端口号和目的端口号分别存入报文首部中。 IP 协议技术与标准 第 1章 序言 华为技术有限公司 版 权所有 , 未经许可不得扩散 11 网络接口分别要发送和接收 IP、 ARP 和 RARP 数据,因此也必须在以太网的帧首部中加入应用程序某种形式的标识,以指明生成数据的网络层协议。 为此,以太网的帧首部也有一个 16 bit 的帧类型域。 分用 当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上 的报文首部。 每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。 这个过程称作分用( Demultiplexing),图 18 显示了该过程是如何发生的。 图 18 以太网数据帧的分用过程 为协议 ICMP 和 IGMP定位一直是一件很棘手的事情。 在图 14 中,把它们与IP 放在同一层上,那是因为事实上它们是 IP 的附属协议。 但是在这里,我们又把它们放在 IP 层的上面,这是因为 ICMP和 IGMP报文都被封装在 IP 数据报中。 对于 ARP 和 RARP,我们也遇到类似的难题。 在这里把它们放在以太网设备驱动程序的上方,这是因 为它们和 IP 数据报一样,都有各自的以太网数据帧类型。 但在 图 18中,我们又把 ARP 作为以太网设备驱动程序的一部分,放在 IP 层的下面,其原因在逻辑上是合理的。 IP 协议技术与标准 第 1章 序言 华为技术有限公司 版权所有 , 未经许可不得扩散 12 端口号 前面已经指出过, TCP和 UDP采用 16bit 的端口号来识别应用程序。 那么这些端口号是如何选择的呢。 服务器一般都是通过知名端口号来识别的。 例如,对于每个 TCP/IP 实现来说,FTP服务器的 TCP端口号都是 21,每个 Tel服务器的 TCP端口号都是 23,每个 TFTP(简单文件传送协议) 服务器的 UDP 端口号都是 69。 任何 TCP/IP实现所提供的服务都用知名的 1~ 1023 之间的端口号。 这些知名端口号由Inter 号分配机构( Inter Assigned Numbers Authority, IANA)来管理。 到 1992年为止,知名端口号介于 1~ 255 之间。 256~ 1023 之间的端口号通常都是由 Unix系统占用,以提供一些特定的 Unix服务 — 也就是说,提供一些只有 Unix系统才有的、而其他操作系统可能不提供的服务。 现在 IANA管理1~ 1023 之间所有的端口号。 Inter 扩展服 务与 Unix特定服务之间的一个差别就是 Tel和 Rlogin。 它们二者都允许通过计算机网络登录到其他主机上。 Tel 是采用端口号为 23的 TCP/IP 标准且几乎可以在所有操作系统上进行实现。 相反, Rlogin 最开始时只是为 Unix系统设计的(尽管许多非 Unix系统现在也提供该服务),因此在 80 年代初,它的有名端口号为 513。 客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。 客户端口号又称作临时端口号(即存在时间很短暂)。 这是因为它通常只 是在用户运行该客户程序时才存在, 而服务器则只要主机开着的,其服务就运行。 大多数 TCP/IP 实现给临时端口分配 1024~ 5000 之间的端口号。 大于 5000的端口号是为其他服务器预留的( Inter上并不常用的服务)。 我们可以在后面看见许多这样的给临时端口分配端口号的例子。 保留端口号。 (RFC1340) 这些端口号介于 1~ 1023之间,一些应用程序(如有名的 Rlogin, 节)将它作为客户与服务器之间身份认证的一部分。 标准化过程 /RFC 究竟是谁控制着 TCP/IP 协议族,又是谁在定义新的标准以及其他类似的事情。 事实上,有 四个小组在负责 Inter技术。 IP 协议技术与标准 第 1章 序言 华为技术有限公司 版 权所有 , 未经许可不得扩散 13 (1) Inter 协会( ISOC, Inter Society)是一个推动、支持和促进 Inter不断增长和发展的专业组织,它把 Inter 作为全球研究通信的基础设施。 (2) Inter 体系结构委员会( IAB, Inter Architecture Board)是一个技术监督和协调的机构。 它由国际上来自不同专业的 15个志愿者组成,其职能是负责 Inter 标准的最后编辑和技术审核。 IAB 隶属于 ISOC。 (3) Inter 工程专门小组( IETF, Inter Engineering Task Force )是一个面向近期标准的组织,它分为 9个领域(应用、寻径和寻址、安全等等)。 IETF 开发成为 Inter 标准的规范。 为帮助 IETF 主席,又成立了 Inter 工程指导小组( IESG,Inter Engineering Steering Group )。 (4) Inter 研究专门小组( IRIF, Inter Research Task Force )主要对长远的项目进行研究。 IRTF 和 IETF都隶属于 IAB。 文献 [Crocker 1993]提供了关于 Inter 内部标准化进程更为详细的信息,同时还介绍了它的早期历史。 所有关于 Inter的正式标准都以 RFC( Request for Comment )文档出版。 另外,大量的 RFC并不是正式的标准,出版的目的只是为了提供信息。 RFC的篇幅从 1页到 200 页不等。 每一项都用一个数字来标识,如 RFC1122,数字越大说明 RFC 的内容越新。 所有的 RFC 都可以通过电子邮件或用 FTP 从Inter 上免费获取。 IP 协议技术与标准 第 2章 IP 数据报文 华为技术有限公司 版权所有 , 未经许可不得扩散 14 第 2章 IP 数据报文 引言 IP 是 TCP/IP 协议族中最为核心的协议。 所有的 TCP、 UDP、 ICMP 及 IGMP数据都以 IP 数据报格式传输。 IP 提供不可靠、无连接的数据报传送。 不可靠( unreliable)的意思是它不能保证 IP 数据报能成功地到达目的地。 IP 仅提供最好的传输服务。 如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP 有一个简单的错误处理算法:丢弃该数据报,然后发送 ICMP 消息报给信源端。 任何要求的可靠性必须由上层来提供(如 TCP)。 无连接( connectionless)这个术语的意思是 IP 并不维护任何关于后续数据报的状态信息。 每个数据报的处理是相互独立的。 这也说明, IP 数据报可以不按发送顺序接收。 如果一信源向相同的信宿发送两个连续的数据报(先是 A,然后是 B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此 B 可能在 A到达之前先到达。 RFC 791[Postel 1981a]是 IP 的正式规范文件。 IP 首部 在 TCP/IP 的标准中,各种数据格式常常以 32bit(即 4 字节)为单位来描述。 IP 协议技术与标准 第 2章 IP 数据报文 15 图 21 IP 首部封装示意图 一个 IP 数据报由首部和数据两部分组成。 首部的前一部分长度是固定的 20个字节,后面部分的长度则是可 变长度。 下面介绍首部各字段的意义。 IP 数据报首部的固定部分 (5) 版本 版本字段站 4 bit,指 IP 协议的版本。 通信双方使用的 IP 协议的版本必须一致。 目前使用的 IP 协议版本为 4。 (6) 首部长度 首部长度字段占 4bit,可表示的最大数值是 15个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节。 当 IP 分组的首部长度不是 4字节的整数倍时,必须利用最后一个填充字段加以填充。 这样,数据部分永远在 4字节的整数倍时开始,这样在实现起来会比较方便。 首部长度限制为 60字节的缺点是有时(如采用源站选路时)不够用。 但这样做 的用意是要用户尽量减少额外的开销。 (7) 服务类型 服务类型字段共 8bit 长,用来获得更好的服务,其意义见图 6 的上面部分所示。 服务类型字段的前三个比特表示优先级,它可使数据报具有 8 个优先级中的一个。 版本 首部长度 服务类型 总 长 度 标 识 标志 段 偏 移 寿 命 协 议 首 部 检 验 和 源 站 IP 地 址 目 的 站 IP 地 址 长 度 可 变 的 任 选 字 段 填 充 数 据 ... 优先级 D T R C 未用 比特 0 4 8 16 19 24 31 20 个 字节 固定 长度 长度 可变 0 1 2 3 4 5 6 7 IP 协议技术与标准 第 2章 IP 数据报文 华为技术有限公司 版权所有 , 未经许可不得扩散。ip协议技术与标准(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。