热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

TCP/IP详解卷2:实现

编号:
wx1201845260
销售价:
¥122.32
(市场价: ¥139.00)
赠送积分:
122
数量:
   
商品介绍

本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点。本书适用于希望理解TCP/IP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。

加里•R. 赖特(Gary R. Wright)研究TCP/IP多年。他是Connix公司的董事长,Connix公司的总部在康涅狄格州,主要提供Internet接入和咨询服务。W. 理查德 史蒂文斯(W. Richard Stevens)(1951—1999)是靠前知名的Unix和网络专家,备受赞誉的技术作家。生前著有《TCP/IP 详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境不错编程》,均为不朽的经典著作。

出版者的话译者序前言章 概述11.1 引言11.2 源代码表示11.2.1 将拥塞窗口设置为111.2.2 印刷约定21.3 历史21.4 应用编程接口31.5 程序示例41.6 系统调用和库函数61.7 网络实现概述61.8 描述符71.9 mbuf与输出处理111.9.1 包含插口地址结构的mbuf111.9.2 包含数据的mbuf121.9.3 添加IP和UDP首部131.9.4 IP输出141.9.5 以太网输出141.9.6 UDP输出小结141.10 输入处理151.10.1 以太网输入151.10.2 IP输入151.10.3 UDP输入161.10.4 进程输入171.11 网络实现概述(续)171.12 中断级别与并发181.13 源代码组织201.14 测试网络211.15 小结22第2章 mbuf:存储器缓存242.1 引言242.2 代码介绍272.2.1 全局变量272.2.2 统计282.2.3 内核统计282.3 mbuf的定义292.4 mbuf结构292.5 简单的mbuf宏和函数312.5.1 m_get函数322.5.2 MGET宏322.5.3 m_retry函数332.5.4 mbuf锁342.6 m_devget和m_pullup函数342.6.1 m_devget函数342.6.2 mtod和dtom宏362.6.3 m_pullup函数和连续的协议首部362.6.4 m_pullup和IP的分片与重组372.6.5 TCP重组避免调用m_pullup392.6.6 m_pullup使用总结402.7 mbuf宏和函数的小结402.8 Net/3联网数据结构小结422.9 m_copy和簇引用计数432.10 其他选择472.11 小结47第3章 接口层493.1 引言493.2 代码介绍493.2.1 全局变量493.2.2 SNMP变量503.3 ifnet结构513.4 ifaddr结构573.5 sockaddr结构583.6 ifnet与ifaddr的专用化593.7 网络初始化概述603.8 以太网初始化613.9 SLIP初始化643.10 环回初始化653.11 if_attach函数663.12 ifinit函数723.13 小结73第4章 接口:以太网744.1 引言744.2 代码介绍754.2.1 全局变量754.2.2 统计量754.2.3 SNMP变量764.3 以太网接口774.3.1 leintr函数794.3.2 leread函数794.3.3 ether_input函数814.3.4 ether_output函数844.3.5 lestart函数874.4 ioctl系统调用894.4.1 ifioctl函数904.4.2 ifconf函数914.4.3 举例944.4.4 通用接口ioctl命令954.4.5 if_down和if_up函数964.4.6 以太网、SLIP和环回974.5 小结98第5章 接口:SLIP和环回1005.1 引言1005.2 代码介绍1005.2.1 全局变量1005.2.2 统计量1015.3 SLIP接口1015.3.1 SLIP线路规程:SLIPDISC1015.3.2 SLIP初始化:slopen和slinit1035.3.3 SLIP输入处理:slinput1055.3.4 SLIP输出处理:sloutput1095.3.5 slstart函数1115.3.6 SLIP分组丢失1165.3.7 SLIP性能考虑1175.3.8 slclose函数1175.3.9 sltioctl函数1185.4 环回接口1195.5 小结121第6章 IP编址1236.1 引言1236.1.1 IP地址1236.1.2 IP地址的印刷规定1236.1.3 主机和路由器1246.2 代码介绍1256.3 接口和地址小结1256.4 sockaddr_in结构1266.5 in_ifaddr结构1276.6 地址指派1286.6.1 ifioctl函数1306.6.2 in_control函数1306.6.3 前提条件:SIOCSIFADDR、SIOCSIFNETMASK和SIOCSIFDSTADDR1326.6.4 地址指派:SIOCSIFADDR1336.6.5 in_ifinit函数1336.6.6 网络掩码指派:SIOCSIFNETMASK1366.6.7 目的地址指派:SIOCSIFDSTADDR1376.6.8 获取接口信息1376.6.9 每个接口多个IP地址1386.6.10 附加IP地址:SIOCAIFADDR1396.6.11 删除IP地址:SIOCDIFADDR1406.7 接口ioctl处理1416.7.1 leioctl函数1416.7.2 slioctl函数1426.7.3 loioctl函数1436.8 Internet实用函数1446.9 ifnet实用函数1446.10 小结145第7章 域和协议1467.1 引言1467.2 代码介绍1467.2.1 全局变量1477.2.2 统计量1477.3 domain结构1477.4 protosw结构1487.5 IP 的domain和protosw结构1507.6 pffindproto和pffindtype函数1557.7 pfctlinput函数1577.8 IP初始化1577.8.1 Internet传输分用1577.8.2 ip_init函数1587.9 sysctl系统调用1597.10 小结161第8章 IP:网际协议1628.1 引言1628.2 代码介绍1638.2.1 全局变量1638.2.2 统计量1638.2.3 SNMP变量1648.3 IP分组1658.4 输入处理:ipintr函数1678.4.1 ipintr概观1678.4.2 验证1688.4.3 转发或不转发1718.4.4 重装和分用1738.5 转发:ip_forward函数1748.6 输出处理:ip_output函数1808.6.1 首部初始化1818.6.2 路由选择1828.6.3 源地址选择和分片1848.7 Internet检验和:in_cksum函数1868.8 setsockopt和getsockopt系统调用1908.8.1 PRCO_SETOPT的处理1928.8.2 PRCO_GETOPT的处理1938.9 ip_sysctl函数1938.10

简介本书描述并给出了TCP/IP实现引用的源代码—加利福尼亚大学伯克利分校的计算机系统研究组(CSRG)的实现。历史上,它曾以4.x BSD系统(伯克利软件发行)发布。这个实现次发布是在1982年,经过了很多重大的改变和改进,并且其中很多特性被引入到其他Unix和非Unix系统中。这不是一个没有多大意义的实现,而是天天在世界上成千上万个系统上运行的TCP/IP实现的基础。这个实现还提供路由功能,显示主机和路由器的TCP/IP实现间的区别。我们描述这个实现并给出TCP/IP内核实现的完整源代码,大约15 000行C代码。在本文中描述的是4.4BSD-Lite版本。这个代码在1994年4月公开,包含很多增强的联网部分,它们被添加到1988年的4.3BSD Tahoe版、1990年的4.3BSD Reno版和1993年的4.4BSD版(附录B介绍了如何获得这些源代码)。4.4BSD版提供最新的TCP/IP特征,如多播和长肥管道支持(用于高宽带、长时延路径)。图1-1提供了伯克利联网代码的各种版本的其他细节。本书适用于希望理解TCP/IP的实现细节的广大读者:编写网络应用的程序员,负责利用TCP/IP维护计算机系统和网络的系统管理员,以及任何想理解大块的重要代码是如何满足一个真实操作系统的程序员。本书的组织结构下图显示的是所涉及的各种协议和子系统。每个方框旁的斜体数字指出方框中的论题在哪一章讨论。我们采用自底向上的方法来讨论TCP/IP协议族,从数据链路层开始,然后是网络层(IP、ICMP、IGMP、IP路由选择和多播路由选择),接下来是插口层,最后以运输层(UDP、TCP和原始IP)结束。预期的读者本书假设读者对TCP/IP的工作原理有基本的理解。不熟悉TCP/IP的读者应该参考本套书中的卷[Stevens 1994],那本书对TCP/IP协议组进行了全面的描述。在本书中对卷的引用均为卷1。本书还假设读者对操作系统原理有基本的理解。我们用数据结构方法来描述这个协议的实现。即,除了给出源代码外,每章还包括源代码使用和维护的数据结构的图与说明。我们显示了这些数据结构是如何适用于TCP/IP和内核使用的其他数据结构的。通篇使用大量的图表—超过250个图表。这种数据结构方法允许读者采用各种方式使用本书。对所有实现细节感兴趣的读者可以从头到尾阅读全书,看完所有的源代码。可能只想理解协议的实现细节的其他读者,可通过理解所有数据结构并阅读所有文字达到目的,而不必看完所有的源代码。我们预料很多读者会对书中的特定部分感兴趣并且想直接进入那一章。因此,通篇提供了很多向前或向后的引用,沿着完整的索引,允许单独学习某一章。在各章的结尾都提供了习题,并在附录A中给出大多数习题的答案作为自学的参考,使本书能发挥最大的作用。源代码版权本书中出现的所有代码,除了图1-2和图8-27,都是来自4.4BSD-Lite发行版。这个软件是公开的,可从很多地方获得(参见附录B)。源代码的所有部分都包含下列版权声明。Gary R.Wright米德尔顿,康涅狄格W. Richard Stevens图森,亚利桑那1994年11月

商品参数
基本信息
出版社 机械工业出版社
ISBN 9787111617938
条码 9787111617938
编者 [美]加里·R·赖特Gary R.Wright,W.理查德·史蒂文斯
译者
出版年月 2018-09-01 00:00:00.0
开本 16开
装帧 平装
页数 901
字数 null千字
版次 1
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]