注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)協(xié)議TCP/IP詳解(卷2 實現(xiàn))

TCP/IP詳解(卷2 實現(xiàn))

TCP/IP詳解(卷2 實現(xiàn))

定 價:¥78.00

作 者: (美)[加里·R·賴特]Gary R.Wright,(美)[W.R.史蒂文斯]W.Richard Stevens著;陸雪瑩 等譯
出版社: 機械工業(yè)出版社
叢編項: 計算機科學(xué)叢書
標 簽: TCP/IP

ISBN: 9787111075677 出版時間: 2004-01-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 901 字數(shù):  

內(nèi)容簡介

  本書完整而詳細地介紹了TCP/IP協(xié)議是如何實現(xiàn)的。書中給出了約500個圖例,15 000行實際操作的C代碼,采用舉例教學(xué)的方法幫助你掌握TCP/IP實現(xiàn)。本書不僅說明了插口API和協(xié)議族的關(guān)系以及主機實現(xiàn)與路由器實現(xiàn)的差別。還介紹了4.4BSD-Lite版的新的特點,如多播、長肥管道支持、窗口縮放、時間戳選項以及其他主題等等。讀者閱讀本書時,應(yīng)當具備卷1中闡述的關(guān)于TCP/IP的基本知識。本書適用于希望理解TCP/TP協(xié)議如何實現(xiàn)的人,包括編寫網(wǎng)絡(luò)應(yīng)用程序的程序員以及利用TCP/IP維護計算機網(wǎng)絡(luò)的系統(tǒng)管理員。

作者簡介

  GaryR.Wright研究TCP/IP多年。他是Connix公司的董事長,這個公司的基地在康涅狄格州,它提供Internet接入和咨詢服務(wù)。W.RichardStevens(1951-1999)是一位非常受人尊敬的專家,除了《TCP/IP詳解》三卷本外,他還有其他兩部最為暢銷的作品;《UNIX環(huán)境高級編程》和《UNIX網(wǎng)絡(luò)編程》(兩卷本)。謝希仁,中國人民解放軍理工大學(xué)(南京)計算機系教授,全軍網(wǎng)絡(luò)技術(shù)研究中心主任,博士研究生導(dǎo)師,1952年畢業(yè)于清華大學(xué)電機系電信專業(yè)。所編寫的《計算機網(wǎng)絡(luò)》于1992年獲全國優(yōu)秀教材獎。1999年再版的《計算機網(wǎng)絡(luò)》第2版為普通高等教育“九五”國家級重點教材。近來還主持翻譯了Comer寫的《TCP/IP網(wǎng)絡(luò)互聯(lián)》計算機網(wǎng)絡(luò)經(jīng)典教材一套三卷本,Harnedy寫的《簡單網(wǎng)絡(luò)管理協(xié)議教程》。

圖書目錄

目 錄
譯者序
前言
第1章 概述 1
1.1 引言 1
1.2 源代碼表示 1
1.2.1 將擁塞窗口設(shè)置為1 1
1.2.2 印刷約定 2
1.3 歷史 2
1.4 應(yīng)用編程接口 3
1.5 程序示例 4
1.6 系統(tǒng)調(diào)用和庫函數(shù) 6
1.7 網(wǎng)絡(luò)實現(xiàn)概述 6
1.8 描述符 7
1.9 mbuf與輸出處理 11
1.9.1 包含插口地址結(jié)構(gòu)的mbuf 11
1.9.2 包含數(shù)據(jù)的mbuf 12
1.9.3 添加IP和UDP首部 13
1.9.4 IP輸出 14
1.9.5 以太網(wǎng)輸出 14
1.9.6 UDP輸出小結(jié) 14
1.10 輸入處理 15
1.10.1 以太網(wǎng)輸入 15
1.10.2 IP輸入 15
1.10.3 UDP輸入 16
1.10.4 進程輸入 17
1.11 網(wǎng)絡(luò)實現(xiàn)概述(續(xù)) 17
1.12 中斷級別與并發(fā) 18
1.13 源代碼組織 20
1.14 測試網(wǎng)絡(luò) 21
1.15 小結(jié) 22
第2章 mbuf:存儲器緩存 24
2.1 引言 24
2.2 代碼介紹 27
2.2.1 全局變量 27
2.2.2 統(tǒng)計 28
2.2.3 內(nèi)核統(tǒng)計 28
2.3 mbuf的定義 29
2.4 mbuf結(jié)構(gòu) 29
2.5 簡單的mbuf宏和函數(shù) 31
2.5.1 m_get函數(shù) 32
2.5.2 MGET宏 32
2.5.3 m_retry函數(shù) 33
2.5.4 mbuf鎖 34
2.6 m_devget和m_pullup函數(shù) 34
2.6.1 m_devget函數(shù) 34
2.6.2 mtod和dtom宏 36
2.6.3 m_pullup函數(shù)和連續(xù)的協(xié)議首部 36
2.6.4 m_pullup和IP的分片與重組 37
2.6.5 TCP重組避免調(diào)用m_pullup 39
2.6.6 m_pullup使用總結(jié) 40
2.7 mbuf宏和函數(shù)的小結(jié) 40
2.8 Net/3聯(lián)網(wǎng)數(shù)據(jù)結(jié)構(gòu)小結(jié) 42
2.9 m_copy和簇引用計數(shù) 43
2.10 其他選擇 47
2.11 小結(jié) 47
第3章 接口層 49
3.1 引言 49
3.2 代碼介紹 49
3.2.1 全局變量 49
3.2.2 SNMP變量 50
3.3 ifnet結(jié)構(gòu) 51
3.4 ifaddr結(jié)構(gòu) 57
3.5 sockaddr結(jié)構(gòu) 58
3.6 ifnet與ifaddr的專用化 59
3.7 網(wǎng)絡(luò)初始化概述 60
3.8 以太網(wǎng)初始化 61
3.9 SLIP初始化 64
3.10 環(huán)回初始化 65
3.11 if_attach函數(shù) 66
3.12 ifinit函數(shù) 72
3.13 小結(jié) 73
第4章 接口:以太網(wǎng) 74
4.1 引言 74
4.2 代碼介紹 75
4.2.1 全局變量 75
4.2.2 統(tǒng)計量 75
4.2.3 SNMP變量 76
4.3 以太網(wǎng)接口 77
4.3.1 leintr函數(shù) 79
4.3.2 leread函數(shù) 79
4.3.3 ether_input函數(shù) 81
4.3.4 ether_output函數(shù) 84
4.3.5 lestart函數(shù) 87
4.4 ioctl系統(tǒng)調(diào)用 89
4.4.1 ifioctl函數(shù) 90
4.4.2 ifconf函數(shù) 91
4.4.3 舉例 94
4.4.4 通用接口ioctl命令 95
4.4.5 if_down和if_up函數(shù) 96
4.4.6 以太網(wǎng)、SLIP和環(huán)回 97
4.5 小結(jié) 98
第5章 接口:SLIP和環(huán)回 100
5.1 引言 100
5.2 代碼介紹 100
5.2.1 全局變量 100
5.2.2 統(tǒng)計量 101
5.3 SLIP接口 101
5.3.1 SLIP線路規(guī)程:SLIPDISC 101
5.3.2 SLIP初始化:slopen和slinit 103
5.3.3 SLIP輸入處理:slinput 105
5.3.4 SLIP輸出處理:sloutput 109
5.3.5 slstart函數(shù) 111
5.3.6 SLIP分組丟失 116
5.3.7 SLIP性能考慮 117
5.3.8 slclose函數(shù) 117
5.3.9 sltioctl函數(shù) 118
5.4 環(huán)回接口 119
5.5 小結(jié) 121
第6章 IP編址 123
6.1 引言 123
6.1.1 IP地址 123
6.1.2 IP地址的印刷規(guī)定 123
6.1.3 主機和路由器 124
6.2 代碼介紹 125
6.3 接口和地址小結(jié) 125
6.4 sockaddr_in結(jié)構(gòu) 126
6.5 in_ifaddr結(jié)構(gòu) 127
6.6 地址指派 128
6.6.1 ifioctl函數(shù) 130
6.6.2 in_control函數(shù) 130
6.6.3 前提條件:SIOCSIFADDR、
SIOCSIFNETMASK和
SIOCSIFDSTADDR 132
6.6.4 地址指派:SIOCSIFADDR 133
6.6.5 in_ifinit函數(shù) 133
6.6.6 網(wǎng)絡(luò)掩碼指派:SIOCSIFNETMASK 136
6.6.7 目的地址指派:SIOCSIFDSTADDR 137
6.6.8 獲取接口信息 137
6.6.9 每個接口多個IP地址 138
6.6.10 附加IP地址:SIOCAIFADDR 139
6.6.11 刪除IP地址:SIOCDIFADDR 140
6.7 接口ioctl處理 141
6.7.1 leioctl函數(shù) 141
6.7.2 slioctl函數(shù) 142
6.7.3 loioctl函數(shù) 143
6.8 Internet實用函數(shù) 144
6.9 ifnet實用函數(shù) 144
6.10 小結(jié) 145
第7章 域和協(xié)議 146
7.1 引言 146
7.2 代碼介紹 146
7.2.1 全局變量 147
7.2.2 統(tǒng)計量 147
7.3 domain結(jié)構(gòu) 147
7.4 protosw結(jié)構(gòu) 148
7.5 IP 的domain和protosw結(jié)構(gòu) 150
7.6 pffindproto和pffindtype函數(shù) 155
7.7 pfctlinput函數(shù) 157
7.8 IP初始化 157
7.8.1 Internet傳輸分用 157
7.8.2 ip_init函數(shù) 158
7.9 sysctl系統(tǒng)調(diào)用 159
7.10 小結(jié) 161
第8章 IP:網(wǎng)際協(xié)議 162
8.1 引言 162
8.2 代碼介紹 163
8.2.1 全局變量 163
8.2.2 統(tǒng)計量 163
8.2.3 SNMP變量 164
8.3 IP分組 165
8.4 輸入處理:ipintr函數(shù) 167
8.4.1 ipintr概觀 167
8.4.2 驗證 168
8.4.3 轉(zhuǎn)發(fā)或不轉(zhuǎn)發(fā) 171
8.4.4 重裝和分用 173
8.5 轉(zhuǎn)發(fā):ip_forward函數(shù) 174
8.6 輸出處理:ip_output函數(shù) 180
8.6.1 首部初始化 181
8.6.2 路由選擇 182
8.6.3 源地址選擇和分片 184
8.7 Internet檢驗和:in_cksum函數(shù) 186
8.8 setsockopt和getsockopt系統(tǒng)調(diào)用 190
8.8.1 PRCO_SETOPT的處理 192
8.8.2 PRCO_GETOPT的處理 193
8.9 ip_sysctl函數(shù) 193
8.10 小結(jié) 194
第9章 IP選項處理 196
9.1 引言 196
9.2 代碼介紹 196
9.2.1 全局變量 196
9.2.2 統(tǒng)計量 197
9.3 選項格式 197
9.4 ip_dooptions函數(shù) 198
9.5 記錄路由選項 200
9.6 源站和記錄路由選項 202
9.6.1 save_rte函數(shù) 205
9.6.2 ip_srcroute函數(shù) 206
9.7 時間戳選項 207
9.8 ip_insertoptions函數(shù) 210
9.9 ip_pcbopts函數(shù) 214
9.10 一些限制 217
9.11 小結(jié) 217
第10章 IP的分片與重裝 218
10.1 引言 218
10.2 代碼介紹 219
10.2.1 全局變量 220
10.2.2 統(tǒng)計量 220
10.3 分片 220
10.4 ip_optcopy函數(shù) 223
10.5 重裝 224
10.6 ip_reass函數(shù) 227
10.7 ip_slowtimo函數(shù) 237
10.8 小結(jié) 238
第11章 ICMP:Internet控制報文協(xié)議 239
11.1 引言 239
11.2 代碼介紹 242
11.2.1 全局變量 242
11.2.2 統(tǒng)計量 242
11.2.3 SNMP變量 243
11.3 icmp結(jié)構(gòu) 244
11.4 ICMP 的protosw結(jié)構(gòu) 245
11.5 輸入處理:icmp_input函數(shù) 246
11.6 差錯處理 249
11.7 請求處理 251
11.7.1 回顯詢問:ICMP_ECHO和
ICMP_ECHOREPLY 252
11.7.2 時間戳詢問:ICMP_TSTAMP和
ICMP_TSTAMPREPLY 253
11.7.3 地址掩碼詢問:ICMP_MASKREQ和
ICMP_MASKREPLY 253
11.7.4 信息詢問:ICMP_IREQ和ICMP_
IREQREPLY 255
11.7.5 路由器發(fā)現(xiàn):ICMP_ROUTERADVERT
和ICMP_ROUTERSOLICIT 255
11.8 重定向處理 255
11.9 回答處理 257
11.10 輸出處理 257
11.11 icmp_error函數(shù) 258
11.12 icmp_reflect函數(shù) 261
11.13 icmp_send函數(shù) 265
11.14 icmp_sysctl函數(shù) 266
11.15 小結(jié) 266
第12章 IP多播 268
12.1 引言 268
12.2 代碼介紹 269
12.2.1 全局變量 270
12.2.2 統(tǒng)計量 270
12.3 以太網(wǎng)多播地址 270
12.4 ether_multi結(jié)構(gòu) 271
12.5 以太網(wǎng)多播接收 273
12.6 in_multi結(jié)構(gòu) 273
12.7 ip_moptions結(jié)構(gòu) 275
12.8 多播的插口選項 276
12.9 多播的TTL值 277
12.9.1 MBONE 278
12.9.2 擴展環(huán)搜索 278
12.10 ip_setmoptions函數(shù) 278
12.10.1 選擇一個明確的多播接口:IP_
MULTICAST_IF 280
12.10.2 選擇明確的多播TTL: IP_
MULTICAST_TTL 281
12.10.3 選擇多播環(huán)回:IP_MULTICAST_
LOOP 281
12.11 加入一個IP多播組 282
12.11.1 in_addmulti函數(shù) 285
12.11.2 slioctl和loioctl函數(shù):SIOCADDMULTI和SIOCDELMULTI 287
12.11.3 leioctl函數(shù):SIOCADDMULTI和
SIOCDELMULTI 288
12.11.4 ether_addmulti函數(shù) 288
12.12 離開一個IP多播組 291
12.12.1 in_delmulti函數(shù) 292
12.12.2 ether_delmulti函數(shù) 293
12.13 ip_getmoptions函數(shù) 295
12.14 多播輸入處理:ipintr函數(shù) 296
12.15 多播輸出處理:ip_output函數(shù) 298
12.16 性能的考慮 301
12.17 小結(jié) 301
第13章 IGMP:Internet組管理協(xié)議 303
13.1 引言 303
13.2 代碼介紹 304
13.2.1 全局變量 304
13.2.2 統(tǒng)計量 304
13.2.3 SNMP變量 305
13.3 igmp結(jié)構(gòu) 305
13.4 IGMP的protosw的結(jié)構(gòu) 306
13.5 加入一個組:igmp_joingroup函數(shù) 306
13.6 igmp_fasttimo函數(shù) 308
13.7 輸入處理:igmp_input函數(shù) 311
13.7.1 成員關(guān)系查詢:IGMP_HOST_
MEMBERSHIP_QUERY 312
13.7.2 成員關(guān)系報告:IGMP_HOST_
MEMBERSHIP_REPORT 313
13.8 離開一個組:igmp_leavegroup函數(shù) 314
13.9 小結(jié) 315
第14章 IP多播選路 316
14.1 引言 316
14.2 代碼介紹 316
14.2.1 全局變量 316
14.2.2 統(tǒng)計量 317
14.2.3 SNMP變量 317
14.3 多播輸出處理(續(xù)) 317
14.4 mrouted守護程序 318
14.5 虛擬接口 321
14.5.1 虛擬接口表 322
14.5.2 add_vif函數(shù) 324
14.5.3 del_vif函數(shù) 326
14.6 IGMP(續(xù)) 327
14.6.1 add_lgrp函數(shù) 328
14.6.2 del_lgrp函數(shù) 329
14.6.3 grplst_member函數(shù) 330
14.7 多播選路 331
14.7.1 多播選路表 334
14.7.2 del_mrt函數(shù) 335
14.7.3 add_mrt函數(shù) 336
14.7.4 mrtfind函數(shù) 337
14.8 多播轉(zhuǎn)發(fā):ip_mforward函數(shù) 338
14.8.1 phyint_send函數(shù) 343
14.8.2 tunnel_send函數(shù) 344
14.9 清理:ip_mrouter_done函數(shù) 345
14.10 小結(jié) 346
第15章 插口層 348
15.1 引言 348
15.2 代碼介紹 349
15.3 socket結(jié)構(gòu) 349
15.4 系統(tǒng)調(diào)用 354
15.4.1 舉例 355
15.4.2 系統(tǒng)調(diào)用小結(jié) 355
15.5 進程、描述符和插口 357
15.6 socket系統(tǒng)調(diào)用 358
15.6.1 socreate函數(shù) 359
15.6.2 超級用戶特權(quán) 361
15.7 getsock和sockargs函數(shù) 361
15.8 bind系統(tǒng)調(diào)用 363
15.9 listen系統(tǒng)調(diào)用 364
15.10 tsleep和wakeup函數(shù) 365
15.11 accept系統(tǒng)調(diào)用 366
15.12 sonewconn和soisconnected
函數(shù) 369
15.13 connect系統(tǒng)調(diào)用 372
15.13.1 soconnect函數(shù) 374
15.13.2 切斷無連接插口和外部地址的
關(guān)聯(lián) 375
15.14 shutdown系統(tǒng)調(diào)用 375
15.15 close系統(tǒng)調(diào)用 377
15.15.1 soo_close函數(shù) 377
15.15.2 soclose函數(shù) 378
15.16 小結(jié) 380
第16章 插口I/O 381
16.1 引言 381
16.2 代碼介紹 381
16.3 插口緩存 381
16.4 write、writev、sendto和sendmsg
系統(tǒng)調(diào)用 384
16.5 sendmsg系統(tǒng)調(diào)用 387
16.6 sendit函數(shù) 388
16.6.1 uiomove函數(shù) 389
16.6.2 舉例 390
16.6.3 sendit代碼 391
16.7 sosend函數(shù) 392
16.7.1 可靠的協(xié)議緩存 393
16.7.2 不可靠的協(xié)議緩存 393
16.7.3 sosend函數(shù)小結(jié) 401
16.7.4 性能問題 401
16.8 read、readv、recvfrom和recvmsg
系統(tǒng)調(diào)用 401
16.9 recvmsg系統(tǒng)調(diào)用 402
16.10 recvit函數(shù) 403
16.11 soreceive函數(shù) 405
16.11.1 帶外數(shù)據(jù) 406
16.11.2 舉例 406
16.11.3 其他的接收操作選項 407
16.11.4 接收緩存的組織:報文邊界 407
16.11.5 接收緩存的組織:沒有報文邊界 408
16.11.6 控制信息和帶外數(shù)據(jù) 409
16.12 soreceive代碼 410
16.13 select系統(tǒng)調(diào)用 421
16.13.1 selscan函數(shù) 425
16.13.2 soo_select函數(shù) 425
16.13.3 selrecord函數(shù) 427
16.13.4 selwakeup函數(shù) 428
16.14 小結(jié) 429
第17章 插口選項 431
17.1 引言 431
17.2 代碼介紹 431
17.3 setsockopt系統(tǒng)調(diào)用 432
17.4 getsockopt系統(tǒng)調(diào)用 437
17.5 fcntl和ioctl系統(tǒng)調(diào)用 440
17.5.1 fcntl代碼 441
17.5.2 ioctl代碼 443
17.6 getsockname系統(tǒng)調(diào)用 444
17.7 getpeername系統(tǒng)調(diào)用 445
17.8 小結(jié) 447
第18章 Radix樹路由表 448
18.1 引言 448
18.2 路由表結(jié)構(gòu) 448
18.3 選路插口 456
18.4 代碼介紹 456
18.4.1 全局變量 458
18.4.2 統(tǒng)計量 458
18.4.3 SNMP變量 459
18.5 Radix結(jié)點數(shù)據(jù)結(jié)構(gòu) 460
18.6 選路結(jié)構(gòu) 463
18.7 初始化:route_init和rtable_init
函數(shù) 465
18.8 初始化:rn_init和rn_inithead
函數(shù) 468
18.9 重復(fù)鍵和掩碼列表 471
18.10 rn_match函數(shù) 473
18.11 rn_search函數(shù) 480
18.12 小結(jié) 481
第19章 選路請求和選路消息 482
19.1 引言 482
19.2 rtalloc和rtalloc1函數(shù) 482
19.3 宏RTFREE和rtfree函數(shù) 484
19.4 rtrequest函數(shù) 486
19.5 rt_setgate函數(shù) 491
19.6 rtinit函數(shù) 493
19.7 rtredirect函數(shù) 495
19.8 選路消息的結(jié)構(gòu) 498
19.9 rt_missmsg函數(shù) 501
19.10 rt_ifmsg函數(shù) 503
19.11 rt_newaddrmsg函數(shù) 504
19.12 rt_msg1函數(shù) 505
19.13 rt_msg2函數(shù) 507
19.14 sysctl_rtable函數(shù) 510
19.15 sysctl_dumpentry函數(shù) 514
19.16 sysctl_iflist函數(shù) 515
19.17 小結(jié) 517
第20章 選路插口 518
20.1 引言 518
20.2 routedomain和protosw結(jié)構(gòu) 518
20.3 選路控制塊 519
20.4 raw_init函數(shù) 520
20.5 route_output函數(shù) 520
20.6 rt_xaddrs函數(shù) 530
20.7 rt_setmetrics函數(shù) 531
20.8 raw_input函數(shù) 532
20.9 route_usrreq函數(shù) 534
20.10 raw_usrreq函數(shù) 535
20.11 raw_attach、raw_detach和raw_disconnect函數(shù) 539
20.12 小結(jié) 540
第21章 ARP:地址解析協(xié)議 542
21.1 介紹 542
21.2 ARP和路由表 542
21.3 代碼介紹 544
21.3.1 全局變量 544
21.3.2 統(tǒng)計量 544
21.3.3 SNMP變量 546
21.4 ARP結(jié)構(gòu) 546
21.5 arpwhohas函數(shù) 548
21.6 arprequest函數(shù) 548
21.7 arpintr函數(shù) 551
21.8 in_arpinput函數(shù) 552
21.9 ARP定時器函數(shù) 557
21.9.1 arptimer函數(shù) 557
21.9.2 arptfree函數(shù) 557
21.10 arpresolve函數(shù) 558
21.11 arplookup函數(shù) 562
21.12 代理ARP 563
21.13 arp_rtrequest函數(shù) 564
21.14 ARP和多播 569
21.15 小結(jié) 570
第22章 協(xié)議控制塊 572
22.1 引言 572
22.2 代碼介紹 573
22.2.1 全局變量 574
22.2.2 統(tǒng)計量 574
22.3 inpcb的結(jié)構(gòu) 574
22.4 in_pcballoc和in_pcbdetach函數(shù) 575
22.5 綁定、連接和分用 577
22.6 in_pcblookup函數(shù) 581
22.7 in_pcbbind函數(shù) 584
22.8 in_pcbconnect函數(shù) 589
22.9 in_pcbdisconnect函數(shù) 594
22.10 in_setsockaddr和in_setpeeraddr
函數(shù) 595
22.11 in_pcbnotify、in_rtchange和in_losing函數(shù) 595
22.11.1 in_rtchange函數(shù) 598
22.11.2 重定向和原始插口 599
22.11.3 ICMP差錯和UDP插口 600
22.11.4 in_losing函數(shù) 601
22.12 實現(xiàn)求精 602
22.13 小結(jié) 602
第23章 UDP:用戶數(shù)據(jù)報協(xié)議 605
23.1 引言 605
23.2 代碼介紹 605
23.2.1 全局變量 606
23.2.2 統(tǒng)計量 606
23.2.3 SNMP變量 607
23.3 UDP 的protosw結(jié)構(gòu) 607
23.4 UDP的首部 608
23.5 udp_init函數(shù) 609
23.6 udp_output函數(shù) 609
23.6.1 在前面加上IP/UDP首部和mbuf簇 612
23.6.2 UDP檢驗和計算和偽首部 612
23.7 udp_input函數(shù) 616
23.7.1 對收到的UDP數(shù)據(jù)報的一般確認 616
23.7.2 分用單播數(shù)據(jù)報 619
23.7.3 分用多播和廣播數(shù)據(jù)報 622
23.7.4 連接上的UDP插口和多接口主機 625
23.8 udp_saveopt函數(shù) 625
23.9 udp_ctlinput函數(shù) 627
23.10 udp_usrreq函數(shù) 628
23.11 udp_sysctl函數(shù) 633
23.12 實現(xiàn)求精 633
23.12.1 UDP PCB高速緩存 633
23.12.2 UDP檢驗和 634
23.13 小結(jié) 635
第24章 TCP:傳輸控制協(xié)議 636
24.1 引言 636
24.2 代碼介紹 636
24.2.1 全局變量 636
24.2.2 統(tǒng)計量 637
24.2.3 SNMP變量 640
24.3 TCP 的protosw結(jié)構(gòu) 641
24.4 TCP的首部 641
24.5 TCP的控制塊 643
24.6 TCP的狀態(tài)變遷圖 645
24.7 TCP的序號 646
24.8 tcp_init函數(shù) 650
24.9 小結(jié) 652
第25章 TCP的定時器 654
25.1 引言 654
25.2 代碼介紹 655
25.3 tcp_canceltimers函數(shù) 657
25.4 tcp_fasttimo函數(shù) 657
25.5 tcp_slowtimo函數(shù) 658
25.6 tcp_timers函數(shù) 659
25.6.1 FIN_WAIT_2和2MSL定時器 660
25.6.2 持續(xù)定時器 662
25.6.3 連接建立定時器和?;疃〞r器 662
25.7 重傳定時器的計算 665
25.8 tcp_newtcpcb算法 666
25.9 tcp_setpersist函數(shù) 668
25.10 tcp_xmit_timer函數(shù) 669
25.11 重傳超時:tcp_timers函數(shù) 673
25.11.1 慢起動和避免擁塞 675
25.11.2 精確性 677
25.12 一個RTT的例子 677
25.13 小結(jié) 679
第26章 TCP輸出 680
26.1 引言 680
26.2 tcp_output概述 680
26.3 決定是否應(yīng)發(fā)送一個報文段 682
26.4 TCP選項 691
26.5 窗口大小選項 692
26.6 時間戳選項 692
26.6.1 哪個時間戳需要回顯,RFC1323
算法 694
26.6.2 哪個時間戳需要回顯,正確的
算法 695
26.6.3 時間戳與延遲ACK 695
26.7 發(fā)送一個報文段 696
26.8 tcp_template函數(shù) 707
26.9 tcp_respond函數(shù) 708
26.10 小結(jié) 710
第27章 TCP的函數(shù) 712
27.1 引言 712
27.2 tcp_drain函數(shù) 712
27.3 tcp_drop函數(shù) 712
27.4 tcp_close函數(shù) 713
27.4.1 路由特性 713
27.4.2 資源釋放 716
27.5 tcp_mss函數(shù) 717
27.6 tcp_ctlinput函數(shù) 722
27.7 tcp_notify函數(shù) 723
27.8 tcp_quench函數(shù) 724
27.9 TCP_REASS宏和tcp_reass函數(shù) 724
27.9.1 TCP_REASS宏 725
27.9.2 tcp_reass函數(shù) 727
27.10 tcp_trace函數(shù) 732
27.11 小結(jié) 736
第28章 TCP的輸入 737
28.1 引言 737
28.2 預(yù)處理 739
28.3 tcp_dooptions函數(shù) 745
28.4 首部預(yù)測 747
28.5 TCP輸入:緩慢的執(zhí)行路徑 752
28.6 完成被動打開或主動打開 752
28.6.1 完成被動打開 753
28.6.2 完成主動打開 756
28.7 PAWS:防止序號回繞 760
28.8 裁剪報文段使數(shù)據(jù)在窗口內(nèi) 762
28.9 自連接和同時打開 768
28.10 記錄時間戳 770
28.11 RST處理 770
28.12 小結(jié) 772
第29章 TCP的輸入(續(xù)) 773
29.1 引言 773
29.2 ACK處理概述 773
29.3 完成被動打開和同時打開 774
29.4 快速重傳和快速恢復(fù)的算法 775
29.5 ACK處理 778
29.6 更新窗口信息 784
29.7 緊急方式處理 786
29.8 tcp_pulloutofband函數(shù) 788
29.9 處理已接收的數(shù)據(jù) 789
29.10 FIN處理 791
29.11 最后的處理 793
29.12 實現(xiàn)求精 795
29.13 首部壓縮 795
29.13.1 引言 796
29.13.2 首部字段的壓縮 799
29.13.3 特殊情況 801
29.13.4 實例 802
29.13.5 配置 803
29.14 小結(jié) 803
第30章 TCP的用戶需求 805
30.1 引言 805
30.2 tcp_usrreq函數(shù) 805
30.3 tcp_attach函數(shù) 814
30.4 tcp_disconnect函數(shù) 815
30.5 tcp_usrclosed函數(shù) 816
30.6 tcp_ctloutput函數(shù) 817
30.7 小結(jié) 820
第31章 BPF:BSD 分組過濾程序 821
31.1 引言 821
31.2 代碼介紹 821
31.2.1 全局變量 821
31.2.2 統(tǒng)計量 822
31.3 bpf_if結(jié)構(gòu) 822
31.4 bpf_d結(jié)構(gòu) 825
31.4.1 bpfopen函數(shù) 826
31.4.2 bpfioctl函數(shù) 827
31.4.3 bpf_setif函數(shù) 830
31.4.4 bpf_attachd函數(shù) 831
31.5 BPF的輸入 832
31.5.1 bpf_tap函數(shù) 832
31.5.2 catchpacket函數(shù) 833
31.5.3 bpfread函數(shù) 835
31.6 BPF的輸出 837
31.7 小結(jié) 838
第32章 原始IP 839
32.1 引言 839
32.2 代碼介紹 839
32.2.1 全局變量 839
32.2.2 統(tǒng)計量 840
32.3 原始 IP的protosw結(jié)構(gòu) 840
32.4 rip_init函數(shù) 842
32.5 rip_input函數(shù) 842
32.6 rip_output函數(shù) 844
32.7 rip_usrreq函數(shù) 846
32.8 rip_ctloutput函數(shù) 850
32.9 小結(jié) 852
結(jié)束語 853
附錄A 部分習(xí)題的解答 854
附錄B 源代碼的獲取 872
附錄C RFC 1122 的有關(guān)內(nèi)容 874
參考文獻 895

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號