书籍详情

用TCP/IP进行网际互联

用TCP/IP进行网际互联

作者:(美)D.E.科默(Douglas E. Comer),(美)D.L.史蒂文斯(David L. Stevens)著;张娟 等译

出版社:电子工业出版社

出版时间:2001-04-01

ISBN:9787505366305

定价:¥52.00

购买这本书可以去
内容简介
  很荣幸DougComer给我这个机会,让我能在他的这本书第三版付印时与诸位探讨一些个人的想法。在这过去的十年期间,Internet以惊人的速度发展着。Internet上主机的数目从1989年的100000台发展到1998年的30000000台。在本书第二版出版的时候,连接到Internet的网络大约有26000个。到1998年,这个数字大约在2000000到350000之间,这还不包括那些利用互联网技术但未连接到公共网络上的专用内联网。除了规模上的变化,Internet在应用上也发生了惊人的变化。Internet技术与正在蓬勃发展的WWW作为一个完整的、不可缺少的系统已被人们所认可。而WWW在商业、学术和政府等部门都掀起了一场革命。在WWW上每天出现的“网页”可达三亿两千万之多,并且还在不断涌现。有些学校大约四分之一的入学申请都是通过电子邮件或其他网页申请形式进行的。Dell公司透露,他们通过网站每天销售价值大约六百万美元的PC机。Amazon网上书店以季度盈利达六千六百万美元成为历史上发展最快的公司,这也是第一个在一年之内销售额超过两亿五千万美元的公司。目前,至少有两千多家无线电台将他们的音频服务推向了Internet,许多网站也开始提供音频甚至低质量的视频服务。随着将访问速率提高到兆比特的范围,以及主干网容量的增加,视频服务的质量也将得到提高。随着1996年网络电视和1997年Nokia推出的支持网络功能的手机的问世,其他支持网络功能的产品也不断地涌现。更多的实用产品实现了相似的网络功能,例如水暖加热器既可以用家用电脑来控制,也可以由电力公司来控制用以满足适度的调峰需求。尽管智能代理还没有成为主流,但是XML近来的发展也表明Internet上有关事务处理的应用正在急剧增多。SML的标准“文档”表示方式以及一致的常用解释格式构成了一种可传输对象,该对象已形成所有商业、金融、事务、数据库事务及其他需要标准表示方式和解释格式的交易的基础。再回头看看电话产品的发展,无论传统的服务商还是现代企业都在将支持网络的电话产品推向市场。“软PBX”系统利用LAN和Internet实现传统的专用交换机的功能,基于微处理器的电话机也正在改变远程通信的经济情况和可操作性。具有IP功能的传真机已经出现。网关把原有的模拟世界与现在的Internet世界联系在一起,起着非常重要的作用。对Internet服务需求量的增长速度赶上甚至超过了网络本身的增长。主干网络的速度达到每秒622兆已是很平常的事。新一代利用硬件IP中继器的路由器可望以每秒10G(OC192)以上的速度处理Internet上传输的数据。下一个挑战是利用单模光纤处理每秒兆兆字节的信息量。网络的安全性过去总是处于后台操作状态,随着越来越多领域依赖于Internet,安全性已逐渐走向前台。防火墙技术、端-端加密、密钥管理、信用证策略或鉴认系统已成为成功管理Internet的关键因素。再向未来展望,网络协议和结构已经朝着星际互连的方向发展,也许会形成和互联网一样的形式。域名系统如果还存在,还要考虑将不同的行星计入命名体系。“互连的Internet”协议将能够处理更高的延迟,传统的TCP概念也将被更多的单向过程取代。未来的网际遨游者回看这十年,一定会觉得这是个充满挑战但技术相对落后的时代。在他们看来,这段前言中的观点可能已经过时又难以理解,因为他们所面对的是经历了另外二十年革命的Internet。序言用TCP/IP进行网际互联第二卷提供了第一卷所没有包含的关于TCP/IP协议的一些细节问题。第二卷如同将TCP/IP置于放大镜下,考察每个协议的具体细节。它讨论了协议的实现方案,并着重于介绍协议软件的内部机制。第三版包含了对某些协议的修改和更新的内容。其中的代码改用C++语言的ANSI标准C子集,包含了函数原型和参数的声明。另外还纠正了一些错误。我们将SNMP更新为标准的第二版,这包括替换了地址转换表,增加了UDPlistener列表。在本书的最后,还增加了附录2,给出了书中代码所用到的主要数据结构的声明及变量的交叉参考表,并扩充了附录1中的过程调用交叉参考的内容。书中的范例代码用GnuC++编译器在Intel体系平台编译通过,也在PentiumTM系统上经过测试。所有的代码均可在以下网址得到:ftp://ftp.cs.purdue.edu/pub/comer/TCPIP-vol2.dist.tar.Z虽然本书受到版权保护,但书中的代码可供读者使用,而且已经在许多商业产品中实现。这些代码使用的惟一限制是不得在公开出版物中出版。我们鼓励读者利用计算机工具来查看、修改、编译和测试这些代码。事实上,尽管附录1和附录2中提供了定位代码条目的有效途径,但在查看大段代码时,UNIXgrep程序的价值更是不可估量。对于各种正式的协议规范,以及对协议的实现和使用的讨论,可参见请求评论文档(RFC)。尽管一些RFC文档对初学者来讲难以理解,但这些文档是信息详尽的权威性资源,没有哪个作者能够做到在自己编写的书中包涵RFC文档中的所有内容。尽管RFC文档涉及了每一个协议,但有时它们对协议之间的交互问题并未加以说明。例如,选路信息协议(RIP或OSPF)之类的选路协议规定了网关如何将路由置入IP路由表中,以及如何将表中的路由通知其他网关。RIP还规定路由必须设立定时机制,一旦某条路由超时,就将其删除。但是,我们在RFC文档中并不容易看出RIP和其他协议之间是如何交互作用的,随之而来的问题是:“路由超时机制将如何影响路由表中那些由ICMP设置的路由呢?”我们可能还会考虑这样一个问题:“当RIP更新路由时,应不应该推翻那些由管理员直接输入的路由呢?”为了有助于解释协议之间的交互作用,并确保我们的方案能协调工作,我们设计并构造了一个工作系统,作为全书的中心范例。该系统提供了TCP/IP协议族中的大部分协议,包括:TCP、IP、ICMP、IGMP、UDP、ARP、RIP、SNMPv2以及OSPF的主要部分。另外,还具有一个finger服务的客户和服务器范例。由于本书包括了每一个协议的程序代码,读者可以研究其实现方法及理解其内部结构。最重要的是,由于范例系统将所有协议软件集成为一个工作整体,读者可以清楚地了解协议之间的交互作用。范例的程序代码试图做到一方面遵守协议标准,另一方面引入一些新的思想。例如,我们的TCP程序代码中包含了“糊涂窗口预防”技术、Jacobson-Karels的“慢启动”和“防拥塞”等优化技术,诸如此类的性能可能在商业实现中被忽略。但同时,我们也清楚地认识到商业领域并不总是遵从已经公布的标准,因此我们也努力将系统调整到能够在现实环境中使用。例如,程序代码中包含了一个配置参数,使得它既可以采纳Internet标准,也可以采纳BSDUNIX中“TCP紧急数据指针”的实现方法。我们并不认为书中所提供的程序代码都是准确无误的,甚至不能断言它肯定比其他实现方法要好。事实上,经过多年使用,我们仍然在不断完善这套软件,同时,也希望读者跟我们一起继续改进它。本书可以作为网络工程人员的高级教程,或者作为研究生教材使用。在作为本科教程使用时,应将重点放在前几章,而忽略有关OSPF、SNMP和RIP这几章内容。研究生可能会在有关TCP的章节中发现一些最为有趣和最难理解的概念。为保证其高性能而采用的自适应重发和相关的试探法尤为重要,应当仔细加以研究。纵观全书,绝大部分习题都向大家提示了其他可选择的实现方案及其大致情况,它们并不要求死记硬背,因此学生们可能需要阅读本书以外的其他资料,才能解答这些习题。正如任何耗费甚巨的工程一样,本书中包含了许多人的心血,对此我们表示衷心的感谢。作者之一DavidStevens完成了大部分软件的编制工作,其中包括一个完整的TCP版本。ShawnOstermann为本书付出了许多努力。Shawn将TCP/IP代码集成到Xinu版本8中,并将其从最初的Sun3平台移植到DECstation3100上。在这一版本中,他还对上一版中由VicNorman编写的SNMP软件进行了大量的修改,以满足第二版的标准,也有助于代码的调试。JohnLin对书中的技术细节进行了校对,纠正了一些错误。珀杜(Purdue)大学的网际互连研究小组(InternetworkingResearchGroup)的许多成员对程序代码的早期版本做过很多贡献。AndyMuckelbauer和SteveChapin建立了一个UNIX兼容库,并与ShawnOstermann和ScottMark合作,使用TCP代码运行一个Xwindow服务器。他们对TCP做了大量的测试工作,并指出其性能上存在的几个问题。ScottM.Ballew参与了一些软件的开发工作。我的妻子Christine对本书手稿进行了编辑,并提出许多建议。最后,我们感谢珀杜大学的计算机科学系和计算中心所提供的帮助。
作者简介
  作者:DouglasE.ComerDouglasE.Comer博士从20世纪70年代开始从事互联网的研究和开发工作,他曾是互联网体系结构委员会的成员,该委员会是确定互联网发展标准的权威机构;他也曾任美国计算机网CSTNET技术委员会的主席,该网络是美国早期互联网建设中最重要的网络之一。他现在是美国普渡大学计算机科学系的教授,从事计算机网络和操作系统方面的教学和科研工作。Internet技术基础>>更多作品
目录
第1章 引言与概述
1.1 TCP/IP协议
1.2 了解细节的必要性
1.3 协议间交互作用的复杂性
1.4 本书采用的方法
1.5 研究代码的重要性
1.6 Xinu操作系统
1.7 本书其余部分的组织
1.8 小结
深入研究
第2章 操作系统中的TCP/IP软件结构
2.1 引言
2.2 进程的概念
2.3 进程的优先级
2.4 进程的同步通信
2.5 进程间通信
2.5.1 端口
2.5.2 消息传送
2.6 设备驱动程序和输入、输出程序
2.7 网络的输入和中断
2.8 向高层协议传递分组
2.9 IP协议与传输协议之间的数据报传递
2.9.1 将传入的数据报发送给TCP
2.9.2 将传入的数据报发送给UDP
2.10 向应用程序的传递操作
2.11 输出时的信息流
2.12 从TCP经过IP到网络输出
2.13 UDP输出处理
2.14 小结
深入研究
习题
第3章 网络接口层
3.1 引言
3.2 网络接口抽象模型
3.2.1 接口数据结构
3.3 以太网的基本定义
3.3.1 应用中的统计数据
3.4 接口的逻辑状态
3.5 本地主机接口
3.6 缓冲区管理
3.6.1 大缓冲区方案
3.6.2 链表方案(mbuf)
3.6.3 方案举例
3.6.4 有关缓冲区的其他议题
3.7 传入分组的多路分解
3.8 小结
深入研究
习题
第4章 地址的发现及绑定(ARP)
4.1 引言
4.2 ARP软件在理论上的结构
4.3 ARP设计方案举例
4.4 ARP高速缓存的数据结构
4.5 ARP输出处理
4.5.1 搜索ARP高速缓存
4.5.2 ARP请求分组的广播
4.5.3 输出过程
4.6 ARP输入处理
4.6.1 向表中增加已转换的表项
4.6.2 发送等待发送的分组
4.6.3 ARP输入过程
4.7 ARP高速缓存的管理
4.7.1 高速缓存表项的分配
4.7.2 高速缓存的定期维护管理
4.7.3 释放队列中的分组
4.8 ARP初始化
4.9 ARP参数配置
4.10 小结
深入研究
习题
第5章 IP:软件的总体结构
5.1 引言
5.2 中心环节
5.3 IP软件设计思想
5.4 IP软件结构和数据报流程
5.4.1 选择传入数据报的策略
5.4.2 允许IP进程被阻塞
5.4.3 IP使用的常量的定义
5.4.4 校验和的计算
5.4.5 处理定向广播
5.4.6 识别一个广播地址
5.5 IP首部中的字节顺序
5.6 向IP发送数据报
5.6.1 发送本地生成的数据报
5.6.2 发送传入数据报
5.7 表格的维护
5.8 小结
深入研究
习题
第6章 IP:选路表和选路算法
6.1 引言
6.2 路由维护和查找
6.3 选路表结构
6.4 选路表数据结构
6.5 路由的生成源及保持时间
6.6 为数据报选择路由
6.6.1 实用过程
6.6.2 获得一个路由
6.6.3 数据结构初始化
6.7 选路表的定期维护
6.7.1 增加路由
6.7.2 删除路由
6.8 IP选项处理
6.9 小结
深入研究
习题
第7章 IP:分片与重组
7.1 引言
7.2 数据报的分片
7.2.1 为一个数据报片再次分片
7.3 分片的实现
7.3.1 发送一个数据报片
7.3.2 复制数据报首部
7.4 数据报的重组
7.4.1 数据结构
7.4.2 互斥操作
7.4.3 在链表中加入一个数据报片
7.4.4 溢出时的丢弃
7.4.5 测试一个完整的数据报
7.4.6 将数据报片组装成完整的数据报
7.5 数据报片链表的维护管理
7.6 初始化
7.7 小结
深入研究
习题
第8章 IP:差错处理(ICMP)
8.1 引言
8.2 ICMP报文格式
8.3 ICMP报文的实现
8.4 传入ICMP报文的处理
8.5 ICMP重定向报文的处理
8.6 设置子网掩码
8.7 为一个ICMP分组选择源地址
8.8 生成ICMP差错报文
8.9 避免出现关于差错报文的差错报文
8.10 为ICMP报文分配缓冲区
8.11 ICMP报文中的数据部分
8.12 ICMP重定向报文的生成
8.13 小结
深入研究
习题
第9章 IP:组播处理(IGMP)
9.1 引言
9.2 维护组播主机群的成员信息
9.3 主机群表
9.4 查找一个主机群
9.5 向主机群表中增加一个表项
9.6 为一个组播地址设置网络接口
9.7 IP组播地址和硬件组播地址之间的转换
9.8 从主机群表中删除一个组播地址
9.9 加入一个主机群
9.10 维持与一个组播路由器的联系
9.11 IGMP成员关系报告的实现
9.12 计算随机时延
9.13 发送IGMP报告的进程
9.14 处理输入的IGMP报文
9.15 脱离主机群
9.16 IGMP数据结构的初始化
9.17 小结
深入研究
习题
第10章 UDP:用户数据报
10.1 引言
10.2 UDP端口和多路分解处理
10.2.1 成对通信使用的端口
10.2.2 多对一通信使用的端口
10.2.3 操作模式
10.2.4 多路分解处理中的细节问题
10.3 UDP的输入处理
10.3.1 UDP数据结构的说明
10.3.2 传入数据报队列的说明
10.3.3 UDP端口号与队列的映射
10.3.4 分配空闲队列
10.3.5 网络字节顺序与本机字节顺序之间的相互转换
10.3.6 处理一个已到达的数据报
10.3.7 UDP校验和的计算
10.4 UDP输出的处理
10.4.1 一个UDP数据报的发送
10.5 小结
深入研究
习题
第11章 TCP:数据结构和输入处理
11.1 引言
11.2 TCP软件概览
11.3 传输控制块
11.4 TCP报文段格式
11.5 序列空间中的比较
11.6 TCP有限状态机
11.7 状态变迁举例
11.8 有限状态机的说明
11.9 TCB的分配及初始化
11.9.1 分配一个TCB
11.9.2 释放一个TCB
11.10 有限状态机的实现
11.11 处理一个输入报文段
11.11.1 将TCP首部转换为本地字节顺序
11.11.2 计算TCP的校验和
11.11.3 为报文段查找对应的TCB
11.11.4 检查报文段的有效性
11.11.5 为当前状态选择一个过程
11.12 小结
深入研究
习题
第12章 TCP:有限状态机的实现
12.1 引言
12.2 CLOSED状态处理
12.3 从容关闭
12.4 关闭后的延迟计时
12.5 TIME-WAIT状态处理
12.6 CLOSING状态处理
12.7 FIN-WAIT-2状态处理
12.8 FIN-WAIT-1状态处理
12.9 CLOSE-WAIT状态处理
12.10 LAST-ACK状态处理
12.11 ESTABLISHED状态处理
12.12 处理报文段中的紧急数据
12.13 处理报文段中的其他数据
12.14 经常注意已接收的八位组
12.15 终止一个TCP连接
12.16 建立TCP连接
12.17 初始化TCB
12.18 SYN-SENT状态处理
12.19 SYN-RECEIVED状态处理
12.20 LISTEN状态处理
12.21 为一个新TCB初始化窗口变量
12.22 小结
深入研究
习题
第13章 TCP:输出处理
13.1 引言
13.2 TCP输出控制的复杂性
13.3 TCP输出的四种状态
13.4 作为一个进程的TCP输出
13.5 TCP输出报文
13.6 对输出状态和TCB编号的编码
13.7 TCP输出进程的实现
13.8 互斥操作
13.9 IDLE状态的实现
13.10 PERSIST状态的实现
13.11 TRANSMIT状态的实现
13.12 RETRANSMIT(重发)状态的实现
13.13 发送一个报文段
13.14 计算TCP数据长度
13.15 序号计算
13.16 其他TCP过程
13.16.1 发送复位
13.16.2 转换成网络字节顺序
13.16.3 等待输出缓冲空间
13.16.4 唤醒等待TCB的进程
13.16.5 选择初始序号
13.17 小结
深入研究
习题
第14章 定时器管理
14.1 引言
14.2 定时事件的通用数据结构
14.3 TCP事件使用的数据结构
14.4 定时器、事件和报文
14.5 TCP定时器进程
14.6 删除TCP定时器事件
14.7 删除一个TCB的所有事件
14.8 确定出现一个事件的尚需时间
14.9 插入TCP定时器事件
14.10 启动无时延的TCP输出
14.11 小结
深入研究
习题
第15章 流量控制和自适应重发
15.1 引言
15.2 自适应重发中的难题
15.3 自适应重发的调整
15.4 重发定时器和退避
15.4.1 Kam算法
15.4.2 重发输出状态的处理
15.5 基于窗口的流量控制
15.5.1 糊涂窗口综合症
15.5.2 接收方预防糊涂窗口
15.5.3 零窗口之后的性能优化
15.5.4 调整发送方的窗口
15.6 最大报文段长度的计算
15.6.1 发送方的最大报文段长度
15.6.2 选项处理
15.6.3 通告一个最大输入报文段长度
15.7 网络拥塞预防与控制
15.7.1 成倍递减法
15.8 慢启动和拥塞预防
15.8.1 慢启动
15.8.2 超过上限后减速递增
15.8.3 递增拥塞窗口尺寸的实现
15.9 平均往返时间估值及超时
15.9.1 一种快速平均值更新算法
15.9.2 传入确认的处理
15.9.3 为窗口外的数据创建确认报文段
15.9.4 接收到一个确认后改变输出状态
15.10 技巧和注意事项
15.11 小结
深入研究
习题
第16章 紧急数据处理和推功能
16.1 引言
16.2 带外信令
16.3 紧急数据
16.4 标准的解释
16.4.1 带外数据的解释法
16.4.2 数据标记解释法
16.5 为Berkeley紧急指针解释法而进行的配置
16.6 通知应用程序
16.6.1 多个并发应用程序
16.7 从TCP中读取数据
16.8 发送紧急数据
16.9 TCP的推功能
16.10 在失序交付时对推数据的解释
16.11 输入时推功能的实现
16.12 小结
深入研究
习题
第17章 套接层的接口
17.1 引言
17.2 通过设备形成的接口
17.2.1 单字节I/O
17.2.2 其他一些非传送的函数
17.3 作为设备的TCP连接
17.4 TCP客户程序举例
17.5 TCP服务器程序举例
17.6 TCP主设备的实现
17.6.1 TCP主设备打开功能
17.6.2 被动TCP连接的形成
17.6.3 主动TCP连接的形成
17.6.4 分配一个未使用的本地端口
17.6.5 主动连接的完成
17.6.6 TCP主设备的控制
17.7 TCP从设备的实现
17.7.1 由TCP从设备输入数据
17.7.2 由TCP从设备输入单字节
17.7.3 通过TCP从设备的输出
17.7.4 TCP连接的关闭
17.7.5 TCP从设备的控制操作
17.7.6 接受来自被动设备的连接
17.7.7 改变LISTEN队列的长度
17.7.8 获取从设备中的统计数据
17.7.9 设置或清除TCP选项
17.8 从设备的初始化
17.9 小结
深入研究
习题
第18章 RIP:主动路由传播和被动获取
18.1 引言
18.2 主动和被动模式的参与者
18.3 基本的RIP算法和费用度量
18.4 不稳定性及解决方案
18.4.1 计数到无穷大
18.4.2 网关瘫痪和路由超时
18.4.3 水平划分
18.4.4 毒性逆转
18.4.5 具有毒性逆转的路由超时
18.4.6 触发更新
18.4.7 随机化以防止广播风暴
18.5 报文类型
18.6 协议特性
18.7 RIP的具体实现
18.7.1 实现的两种形式
18.7.2 定义
18.7.3 输出的理论结构
18.8 基本RIP进程
18.8.1 “必须为零”的字段内容必须为零
18.8.2 处理一个传入响应
18.8.3 在更新期间的锁定
18.8.4 验证一个地址
18.9 对输入请求的响应
18.10 生成更新报文
18.11 初始化一个更新报文的副本
18.11.1 向更新报文的副本中添加路由
18.11.2 计算一个待通告的费用值
18.11.3 为RIP报文分配数据报
18.12 生成定期的RIP输出
18.13 RIP的局限性
18.14 小结
深入研究
习题
第19章 OSPF:使用SPF算法的路由传播
19.1 引言
19.2 OSPF配置和选项
19.3 OSPF的图论模型
19.4 OSPF的说明
19.4.1 OSPF分组格式的说明
19.4.2 OSPF接口说明
19.4.3 全局常量和数据结构的说明
19.5 邻接关系和链路状态信息的传播
19.6 用Hello发现相邻网关
19.7 Hello分组的发送
19.7.1 Hello分组的一个模板
19.7.2 Hello分组输出进程
19.8 指定路由器
19.9 选出一个指定路由器
19.10 变动之后重建邻接关系
19.11 处理到达的Hello分组
19.12 在相邻网关表中增加一个网关
19.13 相邻网关状态的变迁
19.14 OSPF定时器事件和重发
19.15 判断是否允许邻接关系
19.16 OSPF输入的处理
19.17 链路状态处理中的说明和过程
19.18 数据库描述分组的生成
19.19 创建一个模板
19.20 传送数据库描述分组
19.21 处理到达的数据库描述分组
19.21.1 处理EXSTART状态下的分组
19.21.2 处理EXCHNG状态下的分组
19.21.3 处理FULL状态下的分组
19.22 处理链路状态请求分组
19.23 建立键路状态概要信息
19.24 OSPF实用过程
19.25 小结
深入研究
习题
第20章 SNMP:MIB变量、表示形式和绑定
20.1 引言
20.2 服务器的组织和名字的映射
20.3 MIB变量
20.3.1 表格中的字段
20.4 MIB变量名
20.4.1 变量名的数字表示形式
20.5 名字之间的字典顺序
20.6 除去前缀
20.7 在MIB变量上执行的操作
20.8 表格名
20.9 名字体系概念上的线索
20.10 MIB变量的数据结构
20.10.1 使用独立的函数完成操作
20.11 用于快速查找的数据结构
20.12 散列表的实现
20.13 MIB绑定的描述
20.14 绑定中使用的内部变量
20.15 散列表的查找
20.16 SNMP的结构和常量
20.17 ASN.1表示形式的处理
20.17.1 长度表示法
20.17.2 将整数转换为ASN.1格式
20.17.3 将对象标识符转换为ASN.1格式
20.17.4 用于转换对象值的例程
20.18 小结
深入研究
习题
第21章 SNMP:客户与服务器
21.1 引言
21.2 服务器中数据的表示形式
21.3 服务器的实现
21.4 对SNMP报文的分析
21.5 绑定链表中ASN.1名字的转换
21.6 解析一个请求
21.7 对get-next操作的解释
21.8 操作的间接执行
21.9 表格的间接寻址
21.10 应答报文的反向生成
21.11 将内部格式转换为ASN.1表示形式
21.12 服务器使用的实用函数
21.13 一个SNMP客户的实现
21.14 变量初始化
21.15 小结
深入研究
习题
第22章 SNMP:表格访问函数
22.1 引言
22.2 表格访问
22.3 表格的对象标识符
22.4 地址入口表函数
22.4.1 对地址入口表的get操作
22.4.2 对地址入口表的get-first操作
22.4.3 对地址入口表的get-next操作
22.4.4 地址入口表中的递增搜索
22.4.5 对地址入口表的set操作
22.5 地址转换表函数
22.5.1 对地址转换表的get操作
22.5.2 对地址转换表的get-first操作
22.5.3 对地址转换表的get_next操作
22.5.4 地址转换表中的递增搜索
22.5.5 乱中有序
22.5.6 对地址转换表的set操作
22.6 网络接口表的函数
22.6.1 接口表标识符的匹配
22.6.2 对网络接口表的get操作
22.6.3 对网络接口表的get-first操作
22.6.4 对网络接口表的get-next操作
22.6.5 对网络接口表的set操作
22.7 选路表函数
22.7.1 对选路表的get操作
22.7.2 对选路表的get-first操作
22.7.3 对选路表的get-next操作
22.7.4 选路表中的递增搜索
22.7.5 对选路表的set操作
22.8 TCP连接表函数
22.8.1 对TCP连接表的get操作
22.8.2 对TCP连接表的get-first操作
22.8.3 对TCP连接表的get-next操作
22.8.4 TCP连接表中的递增搜索
22.8.5 对TCP连接表的set操作
22.9 UDP Listener表
22.9.1 对UDP Listener表的get操作
22.9.2 对UDP Listener表的get-first操作
22.9.3 对UDP Listener表的get-next操作
22.9.4 UDP Listener表中的递增搜索
22.9.5 对UDP Listener表的set操作
22.10 IP地址转换的实用例程
22.11 小结
深入研究
习题
第23章 实现的回顾
23.1 引言
23.2 程序代码统计分析
23.3 各个协议的程序代码行数
23.4 每个协议所需的函数和过程
23.5 小结
习题
附录1 过程调用交叉参考表
附录2 程序代码中使用到的C数据结构交叉参考表
附录3 程序代码中使用到的Xinu函数和常量
参考文献
猜您喜欢

读书导航