1. 首页
  2. 课程学习
  3. 嵌入式
  4. TCP/IP详解,卷3:tcp事务协议等(pdf电子书)

TCP/IP详解,卷3:tcp事务协议等(pdf电子书)

上传者: 2022-10-13 00:35:58上传 ZIP文件 10.724 MB 热度 10次

TCP/IP详解,卷3:tcp事务协议等(pdf电子书):第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面: T/TCP (TCP事务协议) HTTP (超文本传送协议) NNTP (网络新闻传送协议 UNIX域协议 与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码,可供参考和学习。

第一部分   TCP事务协议

第1章   T/TCP概述 1

1.1   概述 1

1.2   UDP上的客户-服务器 1

1.3   TCP上的客户-服务器 6

1.4   T/TCP上的客户-服务器 12

1.5   测试网络 15

1.6   时间测量程序 15

1.7   应用 17

1.8   历史 19

1.9   实现 20

1.10   小结 21

第2章   T/TCP协议 23

2.1   概述 23

2.2   T/TCP中的新TCP选项 23

2.3   T/TCP实现所需变量 25

2.4   状态变迁图 27

2.5   T/TCP的扩展状态 28

2.6   小结 30

第3章   T/TCP使用举例 31

3.1   概述 31

3.2   客户重新启动 31

3.3   常规的T/TCP事务 33

3.4   服务器收到过时的重复SYN 34

3.5   服务器重启动 35

3.6   请求或应答超出报文段最大长度MSS 36

3.7   向后兼容性 39

3.8   小结 41

第4章   T/TCP协议(续) 43

4.1   概述 43

4.2   客户的端口号和TIME_WAIT状态 43

4.3   设置TIME_WAIT状态的目的 45

4.4   TIME_WAIT状态的截断 48

4.5   利用TAO跳过三次握手 51

4.6   小结 55

第5章   T/TCP协议的实现:插口层 56

5.1   概述 56

5.2   常量 56

5.3   sosend函数 56

5.4   小结 58

第6章   T/TCP的实现:路由表 59

6.1   概述 59

6.2   代码介绍 59

6.3   radix_node_head结构 60

6.4   rtentry结构 61

6.5   rt_metrics结构 61

6.6   in_inithead函数 61

6.7   in_addroute函数 62

6.8   in_matroute函数 63

6.9   in_clsroute函数 63

6.10   in_rtqtimo函数 64

6.11   in_rtqkill函数 66

6.12   小结 69

第7章   T/TCP实现:协议控制块 70

7.1   概述 70

7.2   in_pcbladdr函数 71

7.3   in_pcbconnect函数 71

7.4   小结 72

第8章   T/TCP实现: TCP概要 73

8.1   概述 73

8.2   代码介绍 73

8.3   TCP的protosw结构 74

8.4   TCP控制块 74

8.5   tcp_init函数 75

8.6   tcp_slowtimo函数 75

8.7   小结 76

第9章   T/TCP实现:TCP输出 77

9.1   概述 77

9.2   tcp_output函数 77

9.2.1   新的自动变量 77

9.2.2   增加隐藏的状态标志 77

9.2.3   在SYN_SENT状态不要重传SYN 78

9.2.4   发送器的糊涂窗口避免机制 78

9.2.5   有RST或SYN标志时强制发送报文段 79

9.2.6   发送MSS选项 80

9.2.7   是否发送时间戳选项 80

9.2.8   发送T/TCP的CC选项 80

9.2.9   根据TCP选项调整数据长度 83

9.3   小结 83

第10章  T/TCP实现:TCP函数 84

10.1   概述 84

10.2   tcp_newtcpcb函数 84

10.3   tcp_rtlookup函数 85

10.4   tcp_gettaocache函数 86

10.5   重传超时间隔的计算 86

10.6   tcp_close函数 89

10.7   tcp_msssend函数 90

10.8   tcp_mssrcvd函数 91

10.9   tcp_dooptions函数 96

10.10   tcp_reass函数 98

10.11   小结 99

第11章   T/TCP实现:TCP输入 101

11.1   概述 101

11.2   预处理 103

11.3   首部预测 104

11.4   被动打开的启动 105

11.5   主动打开的启动 108

11.6   PAWS:防止序号重复 114

11.7   ACK处理 115

11.8   完成被动打开和同时打开 115

11.9   ACK处理(续) 116

11.10   FIN处理 118

11.11   小结 119

第12章   T/TCP实现:TCP用户请求 120

12.1   概述 120

12.2   PRU_CONNECT请求 120

12.3   tcp_connect函数 120

12.4   PRU_SEND和PRU_SEND_EOF请求 124

12.5   tcp_usrclosed函数 125

12.6   tcp_sysctl函数 126

12.7   T/TCP的前景 126

12.8   小结 127

第二部分   TCP的其他应用

第13章   HTTP:超文本传送协议 129

13.1   概述 129

13.2   HTTP和HTML概述 130

13.3   HTTP 132

13.3.1   报文类型:请求与响应 132

13.3.2   首部字段 133

13.3.3   响应代码 133

13.3.4   各种报文头举例 134

13.3.5   例子:客户程序缓存 135

13.3.6   例子:服务器重定向 136

13.4   一个例子 136

13.5   HTTP的统计资料 138

13.6   性能问题 139

13.7   小结 141

第14章   在HTTP服务器上找到的分组 142

14.1   概述 142

14.2   多个HTTP服务器 144

14.3   客户端SYN的到达间隔时间 145

14.4   RTT的测量 149

14.5   用listen设置入连接队列的容量 150

14.6   客户端的SYN选项 154

14.7   客户端的SYN重传 156

14.8   域名 157

14.9   超时的持续探测 157

14.10   T/TCP路由表大小的模拟 160

14.11   mbuf的交互 162

14.12   TCP的PCB高速缓存和首部预测 163

14.13   小结 165

第15章   NNTP:网络新闻传送协议 166

15.1   概述 166

15.2   NNTP 167

15.3   一个简单的新闻客户 170

15.4   一个复杂的新闻客户 171

15.5   NNTP的统计资料 172

15.6   小结 173

第三部分   Unix域协议

第16章   Unix域协议:概述 175

16.1   概述 175

16.2   用途 176

16.3   性能 177

16.4   编码举例 177

16.5   小结 179

第17章   Unix域协议:实现 180

17.1   概述 180

17.2   代码介绍 180

17.3   Unix domain和protosw结构 181

17.4   Unix域插口地址结构 182

17.5   Unix域协议控制块 183

17.6   uipc_usrreq函数 185

17.7   PRU_ATTACH请求和unp_attach函数 186

17.8   PRU_DETACH请求和unp_detach函数 187

17.9   PRU_BIND请求和unp_bind函数 189

17.10   PRU_CONNECT请求和unp_connect

函数 191

17.11   PRU_CONNECT2请求和unp_connect2

函数 195

17.12   socketpair系统调用 198

17.13   pipe系统调用 202

17.14   PRU_ACCEPT请求 203

17.15   PRU_DISCONNECT请求和

unp_disconnect函数 204

17.16   PRU_SHUTDOWN请求和unp_shutdown

函数 205

17.17   PRU_ABORT请求和unp_drop函数 206

17.18   其他各种请求 207

17.19   小结 209

第18章   Unix域协议:I/O和描述符的传递 210

18.1   概述 210

18.2   PRU_SEND和PRU_RCVD请求 210

18.3   描述符的传递 214

18.4   unp_internalize函数 218

18.5   unp_externalize函数 220

18.6   unp_discard函数 221

18.7   unp_dispose函数 222

18.8   unp_scan函数 222

18.9   unp_gc函数 223

18.10   unp_mark函数 230

18.11   性能(再讨论) 231

18.12   小结 231

附录A   测量网络时间 232

附录B   编写T/TCP应用程序 242

用户评论