TCP/IP详解:IP选项处理与数据结构

需积分: 0 0 下载量 23 浏览量 更新于2024-07-31 收藏 1012KB PDF 举报
本章节深入解析TCP/IP详解2-009中的IP选项处理部分。IP协议在其数据报文中允许包含可选字段,这些选项在分组被转发或接收之前可能会被路由器和目标主机处理。RFC 791和1122定义了IP选项及其处理规则。IP分组最多可以携带40字节的选项,且选项处理顺序可以根据实现的不同而异。 章节开始讨论了IP选项的数据结构,包括两个关键头文件:`netinet/ip.h`(定义了`ip_timestamp`结构)和`netinet/ip_var.h`(定义了`ip_opt`结构),这两个结构用于存储和操作选项数据。此外,`netinet/ip_input.c`和`netinet/ip_output.c`文件中包含了选项处理的代码,其中`ip_insert_options`函数负责插入或处理IP选项。 章节还提到了两个全局变量`ip_nhops`和`ip_srcrt`,用于支持源路由功能的反向路径跟踪。`ip_nhops`记录了先前的源路由跳数,`ip_srcrt`则包含了之前的源路由信息。这些变量有助于在选项处理过程中维护路由信息。 在统计方面,唯一更新的统计量是`ip_stats`结构中的`ip_s_badoptions`,这个计数器记录了错误的或不被支持的选项数量。这有助于监控网络性能和潜在问题。 IP选项分为单字节和多字节两种类型,它们各自有不同的格式,这种灵活性使得选项可以承载不同的信息。图9-4展示了这两种类型的选项结构,包括它们的起始标志、长度、值和可能的后续数据。 本章详细介绍了IP选项的处理流程、涉及到的数据结构和全局变量,以及如何通过代码实现选项的插入和错误检测。这对于理解和使用TCP/IP协议,特别是理解其高级功能和优化网络性能至关重要。
2012-11-04 上传
TCP/IP已成为计算机网络的事实上的标准。在关于TCP/IP的论著中,最有影响的就是两部著作。一部是Douglas E. Comer的《用TCP/IP进行网际互连》,而另一部就是Stevens写的这3卷书。这两套巨著都很有名,各有其特点。无论是从事计算机网络的教师还是进行科研的技术人员,这两套书都应当是必读的。   《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 1第一章概述介绍了基础和背景知识,但也提出了许多重要特性如:分层;TCP,UDP的根本区别;End to End与Hop by Hop;IP地址的分类和点分十进制表示法;数据封装过程;端口号...这些术语在后面的章节会有详细的解释.   第二章介绍了TCP/IP的链路层协议.以太网与IEEE802数据封装的比较;SLIP(现在还有人用么?)和PPP.文中作者提到"现在SLIP用户仍然比PPP用户多",是由于本书的写作时间比较早.另外本章还详细介绍了LOOPBACK,MTU等概念.   第三至十章详细介绍了IP.IP包结构;IP路由选择;子网及其掩码;ARP,RARP协议;ICMP,特别是时间戳和端口不可到达;详细讨论了PING,TRACEROUTE这两个常用的测试用程序;IP路由和动态选路(路由)协议,特别详细介绍了RIP,并简单介绍了OSPF,BGP.与一般的书不同的是本书没有提及CISCO的IGRP,EIGRP,毕竟这不是为CISCO认证编写的。   第十一章介绍UDP,起初觉得奇怪,因为夹在中间而不是和第十七章开始的TCP放在一起.后来才发现,从第十二章的广播开始UDP已经开始使用.   第十二,十三章对广播,多播(现在一般叫组播)和IGMP协议进行讨论.对各种广播形式进行描述,对组播及其IGMP协议论述相当详细,组播现在用的越来越多,大家可以好好学习一下。   第十四,十五,十六章分别介绍DNS,TFTP,BOOTP这些基于UDP的应用.对于大家自认为熟悉的这些应用,只有在读完之后,你才会说:原来是这么回事!   第十七至二十四章详细的讨论了TCP.TCP封装结构;TCP连接建立(三次握手)和拆除,其中介绍了很多一般书上没有出现的内容如半打开和半关闭;TCP数据交互和窗口机制;TCP超时与重传(可靠传输),并描述了多种实际算法;TCP的各种计时器;TCP的一些修改建议,并提出了T/TCP,详细的介绍和源代码在下一卷.   第二十五章介绍SNMP网管协议.详细讨论了MIB和TRAP.做网管的朋友们,这可是福音啊。