moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:3138回复:4

TCP/IP Illustrated, Volume 2

楼主#
更多 发布于:2002-08-03 20:40
From the Back Cover
TCP/IP Illustrated, Volume 2 contains a thorough explanation of how TCP/IP protocols are implemented. There isn\'t a more practical or up-to-date bookothis volume is the only one to cover the de facto standard implementation from the 4.4BSD-Lite release, the foundation for TCP/IP implementations run daily on hundreds of thousands of systems worldwide.

Combining 500 illustrations with 15,000 lines of real, working code, TCP/IP Illustrated, Volume 2 uses a teach-by-example approach to help you master TCP/IP implementation. You will learn about such topics as the relationship between the sockets API and the protocol suite, and the differences between a host implementation and a router. In addition, the book covers the newest features of the 4.4BSD-Lite release, including multicasting, long fat pipe support, window scale, timestamp options, and protection against wrapped sequence numbers, and many other topics.

Comprehensive in scope, based on a working standard, and thoroughly illustrated, this book is an indispensable resource for anyone working with TCP/IP.


020163354XB04062001


About the Author


Gary R. Wright has worked with TCP/IP for more than eight years. He is President of Connix, a Connecticut-based company providing Internet access and consulting services.


We are deeply saddened to learn of the death of noted author W. Richard Stevens. His passing is obviously a tremendous loss for the technical community, but it is a personal one for us as well. Rich was both a gifted colleague and a valued friend who will be greatly missed. We extend our sympathies to his family.


Obituary from the Arizona Daily Star:

STEVENS, W. Richard, noted author of computer books died on September 1. He is best known for his \"UNIX Network Programming\" series (1990, 1998, 1999), \"Advanced Programming in the UNIX Environment\" (1992), and \"TCP/IP Illustrated\" series (1994, 1995, 1996). Richard was born in 1951 in Luanshya, Northern Rhodesia (now Zambia), where his father worked for the copper industry. The family moved to Salt Lake City, Hurley, New Mexico, Washington, DC and Phalaborwa, South Africa. Richard attended Fishburne Military School in Waynesboro, Virginia. He received a B.SC. in Aerospace Engineering from the University of Michigan in 1973, and an M.S. (1978) and Ph.D. (1982) in Systems Engineering from the University of Arizona. He moved to Tucson in 1975 and from then until 1982 he was employed at Kitt Peak National Observatory as a computer programmer. From 1982 until 1990 he was Vice President of Computing Services at Health Systems International in New Haven, CT, moving back to Tucson in 1990. Here he pursued his career as an author and consultant. He was also an avid pilot and a part-time flight instructor during the 1970\'s.


He is survived by his loving wife of 20 years, Sally Hodges Stevens; three wonderful children, Bill, Ellen and David; sister, Claire Stevens of Las Vegas, NV; brother, Bob and wife Linda Stevens of Dallas, TX; nieces, Laura, Sarah, Collette, Christy; and nephew, Brad. He is predeceased by his parents, Royale J. Stevens (1915-1984); and Helen Patterson Stevens (1916-1997). Helen lived in Tucson from 1991-1997, and Royale lived here in the early 1930\'s attending Tucson High School while his father was treated for TB at the Desert Sanitorium (now TMC). The family asks that in lieu of flowers, donations be made in Richard\'s name to Habitat for Humanity, 2950 E. 22nd Street, Tucson, AZ 85713. A memorial service for Richard will be held at St. Phillip\'s in the Hills Episcopal Church on Tuesday, September 7th at 12:00 noon. Following the service there will be a reception in the Murphy Gallery of the Church. Please wear colorful clothing to the service; Richard loved colors.


W. Richard Stevens was an acknowledged UNIX and networking expert and the highly-respected author of several books. He was also a sought-after instructor and consultant

最新喜欢:

okincnokincn
按第一贴的“给分”键,给分。
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-03 21:49
 TCP/IP详解(卷2):实现
本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。
¥78元
出 版 社:机械工业出版社
出版日期:2000-8-2
 
ISBN:7111075676
页数:901
 系列:计算机科学丛书
尺寸:16
 
 
 

内容提要
 
 
本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。 本书针对任何希望理解TCP/IP协议是如何实现的读者设计;无论是编写网络应用的程序员,负责利用TCP/TP维护计算机系统和网络的系统管理员,还是任何有兴趣理解大块非凡代码的普通读者;本书都是一本优秀的教科书。
 
 

目录
 
 
第一章 概述

1.1 引言
1.2 源代码表示
1.3 历史
1.4 应用编程接口
1.5 程序示例
1.6 系统调用和库函数
1.7 描述符
1.8 网络实现概述
1.9 mbuf与输出处理
1.10 输入处理
1.11 网络实现概述
1.12 中断级别与并发
1.13 源代码组织
1.14 测试网络
1.15 小结

第二章 mduf:存储器缓存

2.1 引言
2.2 代码介绍
2.3 mduf的定义
2.4 mduf结构
2.5 简单的mduf宏和函数
2.6 m_devget和m_pullup函数
2.7 mduf宏和函数的小结
2.8 Net/3联网数据结构小结
2.9 m_copy和簇引用记数
2.10 其他选择
2.11 小结

第三章 接口层

3.1 引言
3.2 代码介绍
3.3 ifnet结构
3.4 ifaddr结构
3.5 sockaddr结构
3.6 ifnet与ifaddr的专用化
3.7 网络初始化概述
3.8 以太网初始化
3.9 SLIP初始化
3.10 环回初始化
3.11 if_attach函数
3.12 ifinit函数
3.13 小结

第四章 接口:以太网

4.1 引言
4.2 代码介绍
4.3 以太网接口
4.4 ioctl系统调用
4.5 小结

第五章 接口:SLIP和环回

5.1 引言
5.2 代码介绍
5.3 SLIP接口
5.4 环回接口
5.5 小结

第六章 IP编址

6.1 引言
6.2 代码介绍
6.3 接口和地址小结
6.4 sockaddr_in结构
6.5 in_ifaddr结构
6.6 地址指派
6.7 接口ioctl处理
6.8 internet实用函数
6.9 ifnet实用函数
6.10 小结

第七章 域和协议

7.1 引言
7.2 代码介绍
7.3 domain结构
7.4 protosw结构
7.5 IP的domain和protosw结构
7.6 pffindproto和pffindtype函数
7.7 pfctlinput函数
7.8 IP初始化
7.9 sysctl系统调用
7.10 小结

第八章 IP:网际协议

8.1 引言
8.2 代码介绍
8.3 IP分组
8.4 输入处理:ipintr函数
8.5 转发:ip_forward函数
8.6 输出处理:ip_output函数
8.7 Internet检验和:in_cksum函数
8.8 setsockopt和getsockopt系统调用
8.9 ip_sysctl函数
8.10 小结

第九章 IP选项处理

9.1 引言
9.2 代码介绍
9.3 选项格式
9.4 ip_dooptions函数
9.5 记录路由选项
9.6 源站和记录路由选项
9.7 时间戳选项
9.8 ip_insertoptions函数
9.9 ip_pcbopts函数
9.10 一些限制
9.11 小结

第十章 IP的分片与重装

10.1 引言
10.2 代码介绍
10.3 分片
10.4 ip_optcopy函数
10.5 重装
10.6 ip_optcopy函数
10.7 ip_slowtimo函数
10.8 小结

第十一章 ICMP:Internet控制报文协议

11.1 引言
11.2 代码介绍
11.3 icmp结构
11.4 ICMP的protosw结构
11.5 输入处理:icmp_input函数
11.6 差别处理
11.7 请求处理
11.8 重定向处理
11.9 回答问题
11.10 输出处理
11.11 icmp_error函数
11.12 icmp_reflect函数
11.13 icmp_send函数
11.14 icmp_sysctl函数
11.15 小结

第十二章 IP多播

12.1 引言
12.2 代码介绍
12.3 以太网多播地址
12.4 ether_multi结构
12.5 以太网多播接收
12.6 in_multi结构
12.7 ip_moptions结构
12.8 多播的插口选项
12.9 多播的TTL值
12.10 ip_setmoptions函数
12.11 加入一个IP多播组
12.12 离开一个IP多播组
12.13 ip_getmoptions函数
12.14 多播输入处理:ipintr函数
12.15 多播输出处理:ip_output函数
12.16 性能的考虑
12.17 小结

第十三章 IGMP:Internet组管理协议

13.1 引言
13.2 代码介绍
13.3 igmp结构
13.4 IGMP的protosw结构
13.5 加入一个组:igmp_joingroup函数
13.6 igmp_fasttimo函数
13.7 输入处理:igmp_input函数
13.8 离开一个组:igmp_leavegroup函数
13.9 小结

第十四章 IP多播选路

14.1 引言
14.2 代码介绍
14.3 多播输出处理
14.4 mrouted守护程序
14.5 虚拟接口
14.6 IGMP
14.7 多播选路
14.8 多播转发:ip_mforward函数
14.9 清理:ip_mrouter_done函数
14.10 小结

第十五章 插口层

15.1 引言
15.2 代码介绍
15.3 socket介绍
15.4 系统调用
15.5 进程,描述符和插口
15.6 socket系统调用
15.7 getsock和sockargs函数
15.8 bind系统调用
15.9 listen系统调用
15.10 tsleep和wakeup函数
15.11 accept系统调用
15.12 sonewconn和soisconnected函数
15.13 connect系统调用
15.14 shutdown系统调用
15.15 close系统调用
15.16 小结

第十六章 插口I/O

16.1 引言
16.2 代码介绍
16.3 插口缓存
16.4 write,writev,sendto和sendmsg系统调用
16.5 sendmsg系统调用
16.6 sendit函数
16.7 sosend函数
16.8 read,readv,recvfrom和recvmsg系统调用
16.9 recvgsm系统调用
16.10 soreceive函数
16.11 recvit函数
16.12 soreceive代码
16.13 select系统调用
16.14 小结

第十七章 插口选项

17.1 引言
17.2 代码介绍
17.3 setsockopt系统调用
17.4 getsockopt系统调用
17.5 fcntl和ioctl系统调用
17.6 getsockname系统调用
17.7 getpeername系统调用
17.8 小结

第十八章 Radix树路由表

18.1 引言
18.2 路由表结构
18.3 选路插口
18.4 代码介绍
18.5 Radix结点数据结构
18.6 选路结构
18.7 初始化:route_init和rtable_init函数
18.8 初始化:rn_init和rn_inithead
18.9 重复键和掩码列表
18.10 rn_match函数
18.11 rn_search函数
18.12 小结

第十九章 选路请求和选路消息

19.1 引言
19.2 rtalloc和rtallocl函数
19.3 宏RTFREE和rtfree函数
19.4 rtrequest函数
19.5 rt_setgate函数
19.6 rtinit函数
19.7 rtredirect函数
19.8 选路消息的结构
19.9 rt_missmsg函数
19.10 rt_ifmsg函数
19.11 rt_newaddrmsg函数
19.12 rt_msg1函数
19.13 rt_msg2函数
19.14 sysctl_rtable函数
19.15 sysctl_dumpentry函数
19.16 sysctl_iflist函数
19.17 小结

第二十章 选路接口

20.1 引言
20.2 routedomain和protosw结构
20.3 选路控制块
20.4 raw_init函数
20.5 route_output函数
20.6 rt_xaddrs函数
20.7 rt_setmetrics函数
20.8 raw_input函数
20.9 route_usrreq函数
20.10 raw_usrreq函数
20.11 raw_attach,raw_detach和raw_disconnect函数
20.12 小结

第二十一章 ARP:地址解析协议

21.1 介绍
21.2 ARP和路由表
21.3 代码介绍
21.4 ARP结构
21.5 arpwhohas函数
21.6 arprequest函数
21.7 arpintr函数
21.8 in_arpinput函数
21.9 ARP定时器函数
21.10 arpresolve函数
21.11 arplookup函数
21.12 代理ARP
21.13 arp_rtrequest函数
21.14 ARP和多播
21.15 小结

第二十二章 协议控制块

22.1 引言
22.2 代码介绍
22.3 inpcb结构
22.4 in_pcballoc和in_pcbdetach函数
22.5 绑定,连接和分用
22.6 in_pcblookup函数
22.7 in_pcbbind函数
22.8 in_pcbconnect函数
22.9 in_pcbdisconnect函数
22.10 in_setsockaddr和in_setpeeraddr函数
22.11 in_pcbnotify,in_rtchange和in_losing函数
22.12 实现求精
22.13 小结

第二十三章 UDP:用户数据报协议

23.1 引言
23.2 代码介绍
23.4 UDP的protosw结构
23.5 udp_init函数
23.6 udp_output函数
23.7 udp_saveopt函数
23.8 udp_ctlinput函数
23.9 udp_usrreq函数
23.10 udp_sysctl函数
23.11 udp_input函数
23.12 实现求精
23.13 小结

第二十四章 TCP:传输控制协议

24.1 引言
24.2 代码介绍
24.3 TCP的protosw结构
24.4 TCP的首部
24.5 TCP的控制块
24.6 TCP的状态变迁图
24.7 TCP的序号
24.8 tcp_init函数
24.9 小结

第二十五章 TCP的定时器

25.1 引言
25.2 代码介绍
25.3 tcp_canceltimers函数
25.4 tcp_fasttimo函数
25.5 tcp_slowtimo函数
25.6 tcp_timers函数
25.7 重传定时器的计算
25.8 tcp_newtcpcb算法
25.9 tcp_setpersist函数
25.10 tcp_xmit_timer函数
25.11 重传超时:tcp_timers函数
25.12 一个RTT的例子
25.13 小结

第二十六章 TCP输出

26.1 引言
26.2 tcp_output概述
26.3 决定是否应发送一个报文段
26.4 TCP选项
26.5 窗口大小选项
26.6 时间戳选项
26.7 发送一个报文段
26.8 tcp_template函数
26.9 tcp_respond函数
26.10 小结

第二十七章 TCP的函数

27.1 引言
27.2 tcp_drain函数
27.3 tcp_drop函数
27.4 tcp_close函数
27.5 tcp_mss函数
27.6 tcp_ctlinput函数
27.7 tcp_notify函数
27.8 tcp_quench函数
27.9 TCP_REASS宏和tcp_reass函数
27.10 tcp_trace函数
27.11小结

第二十八章 TCP的输入

28.1 引言
28.2 预处理
28.3 tcp_dooptions函数
28.4 首部预测
28.5 TCP输入:缓慢的执行路径
28.6 完成被动打开或主动打开
28.7 PAWS:防止序号回饶
28.8 裁剪报文段使数据在窗口内
28.9 自连接和同时打开
28.10 记录时间戳
28.11 RST处理
28.12 小结

第二十九章 TCP的输入(续)

29.1 引言
29.2 ACK处理概述
29.3 完成被动打开和同时打开
29.4 快速重传和快速恢复的算法
29.5 ACK处理
29.6 更新窗口信息
29.7 紧急方式处理
29.8 tcp_pulloutofband函数
29.9 FIN处理
29.10 最后的处理
29.11 处理已接收的数据
29.12 实现求精
29.13 首部压缩
29.14 小结

第三十章 TCP的用户需求

30.1 引言
30.2 tcp_usrreq函数
30.3 tcp_attach函数
30.4 tcp_disconnect函数
30.5 tcp_usrclosed函数
30.6 tcp_ctloutput函数
30.7 小结

第三十一章 BPF:BSD分组过滤程序

31.1 引言
31.2 代码介绍
31.3 bpf_if结构
31.4 bpf_d结构
31.5 BPF的输入
31.6 BPF的输出
31.7 小结

第三十二章 原始IP

32.1 引言
32.2 代码介绍
32.3 原始IP的protosw结构
32.4 rip_init函数
32.5 rip_input函数
32.6 rip_output函数
32.7 rip_usrreq函数
32.8 rip_ctloutput函数
32.9 小结

结束语
附录A 部分习题的解答
附录B 源代码的获取
附录C RFC 1122的有关内容
参考文献

 
 
 
 
按第一贴的“给分”键,给分。
skyrvr
驱动牛犊
驱动牛犊
  • 注册日期2002-07-04
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-05 20:27
的确很好
struct
驱动小牛
驱动小牛
  • 注册日期2003-08-21
  • 最后登录2013-12-05
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望50点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-29 18:34
拥有的多,看的少
明天的事明天再说
Sundsea
驱动老牛
驱动老牛
  • 注册日期2003-05-06
  • 最后登录2012-06-05
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望35点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-18 23:13
顶!@@!!!!!!!!!!!!!!!
游客

返回顶部