齣版者的話
本書贊譽
譯者序
前言
第一部分 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 請求或應答超齣報文段最大長度 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.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.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
參考文獻 246
縮略語 251
· · · · · · (
收起)