出版者的話
本書贊譽
譯者序
前言
第一部分 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 狀態(tài)變遷圖27
2.5 T/TCP的擴展狀態(tài)28
2.6 小結30
第3章 T/TCP使用舉例31
3.1 概述31
3.2 客戶重新啟動31
3.3 常規(guī)的T/TCP事務33
3.4 服務器收到過時的重復SYN34
3.5 服務器重啟動35
3.6 請求或應答超出報文段最大長度36
3.7 向后兼容性39
3.8 小結41
第4章 T/TCP協議(續(xù))43
4.1 概述43
4.2 客戶的端口號和TIME_WAIT狀態(tài)43
4.3 設置TIME_WAIT狀態(tài)的目的45
4.4 TIME_WAIT狀態(tài)的截斷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.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處理(續(xù))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 HTTP132
13.4 一個例子136
13.5 HTTP的統(tǒng)計資料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 超時的持續(xù)探測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 NNTP167
15.3 一個簡單的新聞客戶170
15.4 一個復雜的新聞客戶171
15.5 NNTP的統(tǒng)計資料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系統(tǒng)調用198
17.13 pipe系統(tǒng)調用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
參考文獻246
縮略語251