?? 目錄.txt
字號(hào):
目 錄
譯者序
前言
第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)用和庫(kù)函數(shù) 6
1.7 網(wǎng)絡(luò)實(shí)現(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 進(jìn)程輸入 17
1.11 網(wǎng)絡(luò)實(shí)現(xiàn)概述(續(xù)) 17
1.12 中斷級(jí)別與并發(fā) 18
1.13 源代碼組織 20
1.14 測(cè)試網(wǎng)絡(luò) 21
1.15 小結(jié) 22
第2章 mbuf:存儲(chǔ)器緩存 24
2.1 引言 24
2.2 代碼介紹 27
2.2.1 全局變量 27
2.2.2 統(tǒng)計(jì) 28
2.2.3 內(nèi)核統(tǒng)計(jì) 28
2.3 mbuf的定義 29
2.4 mbuf結(jié)構(gòu) 29
2.5 簡(jiǎn)單的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和簇引用計(jì)數(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)計(jì)量 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)計(jì)量 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 主機(jī)和路由器 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 每個(gè)接口多個(gè)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í)用函數(shù) 144
6.9 ifnet實(shí)用函數(shù) 144
6.10 小結(jié) 145
第7章 域和協(xié)議 146
7.1 引言 146
7.2 代碼介紹 146
7.2.1 全局變量 147
7.2.2 統(tǒng)計(jì)量 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)計(jì)量 163
8.2.3 SNMP變量 164
8.3 IP分組 165
8.4 輸入處理:ipintr函數(shù) 167
8.4.1 ipintr概觀 167
8.4.2 驗(yàn)證 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檢驗(yàn)和: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選項(xiàng)處理 196
9.1 引言 196
9.2 代碼介紹 196
9.2.1 全局變量 196
9.2.2 統(tǒng)計(jì)量 197
9.3 選項(xiàng)格式 197
9.4 ip_dooptions函數(shù) 198
9.5 記錄路由選項(xiàng) 200
9.6 源站和記錄路由選項(xiàng) 202
9.6.1 save_rte函數(shù) 205
9.6.2 ip_srcroute函數(shù) 206
9.7 時(shí)間戳選項(xiàng) 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)計(jì)量 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控制報(bào)文協(xié)議 239
11.1 引言 239
11.2 代碼介紹 242
11.2.1 全局變量 242
11.2.2 統(tǒng)計(jì)量 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 差錯(cuò)處理 249
11.7 請(qǐng)求處理 251
11.7.1 回顯詢問(wèn):ICMP_ECHO和
ICMP_ECHOREPLY 252
11.7.2 時(shí)間戳詢問(wèn):ICMP_TSTAMP和
ICMP_TSTAMPREPLY 253
11.7.3 地址掩碼詢問(wèn):ICMP_MASKREQ和
ICMP_MASKREPLY 253
11.7.4 信息詢問(wèn):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)計(jì)量 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 多播的插口選項(xiàng) 276
12.9 多播的TTL值 277
12.9.1 MBONE 278
12.9.2 擴(kuò)展環(huán)搜索 278
12.10 ip_setmoptions函數(shù) 278
12.10.1 選擇一個(gè)明確的多播接口:IP_
MULTICAST_IF 280
12.10.2 選擇明確的多播TTL: IP_
MULTICAST_TTL 281
12.10.3 選擇多播環(huán)回:IP_MULTICAST_
LOOP 281
12.11 加入一個(gè)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 離開一個(gè)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)計(jì)量 304
13.2.3 SNMP變量 305
13.3 igmp結(jié)構(gòu) 305
13.4 IGMP的protosw的結(jié)構(gòu) 306
13.5 加入一個(gè)組: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)系報(bào)告:IGMP_HOST_
MEMBERSHIP_REPORT 313
13.8 離開一個(gè)組: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)計(jì)量 317
14.2.3 SNMP變量 317
14.3 多播輸出處理(續(xù)) 317
14.4 mrouted守護(hù)程序 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 進(jìn)程、描述符和插口 357
15.6 socket系統(tǒng)調(diào)用 358
15.6.1 socreate函數(shù) 359
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -