TCP/IP 詳解 (捲2):實現 (TCP/IP Illustrated, Volume 2: The Implementation)
內容描述
《TCP/IP詳解·捲2:實現》完整而詳細地介紹了TCP/IP協議是如何實現的。書中給出了約500個圖例,15000行實際操作的C代碼,採用舉例教學的方法幫助你掌握TCP/IP實現。《TCP/IP詳解·捲2:實現》不僅說明瞭插口API和協議族的關系以及主機實現與路由器實現的差別。還介紹了4.4BSD-Lite版的新的特點。《TCP/IP詳解·捲2:實現》適用於希望理解TCP/IP協議如何實現的人,包括編寫網絡應用程序的程序員以及利用TCP/IP維護電腦網絡的系統管理員。
海報:
目錄大綱
譯者序
前言
第1章概述
1.1引言
1.2源代碼表示
1.2.1將擁塞窗口設置為1
1.2.2印刷約定
1.3歷史
1.4應用編程接口
1.5程序示例
1.6系統調用和庫函數
1.7網絡實現概述
1.8描述符
1.9 mbuf與輸出處理
1.9.1包含插口地址結構的mbuf
1.9.2包含數據的mbuf
1.9.3添加IP和UDP首部
1.9.4 IP輸出
1.9.5以太網輸出
1.9.6 UDP輸出小結
1.10輸入處理
1.10 .1以太網輸入
1.10.2 IP輸入
1.10.3 UDP輸入
1.10.4進程輸入
1.11網絡實現概述(續)
1.12中斷級別與並發
1.13源代碼組織
1.14測試網絡
1.15小結
第2章mbuf:存儲器緩存
2.1引言
2.2代碼介紹
2.2.1全局變量
2.2.2統計
2.2.3內核統計
2.3 mbufl的定義
2.4 mbuf結構
2.5簡單的mbuf宏和函數
2.5.1 m-get函數
2.5.2 MGET宏
2.5.3 m-etry函數
2.5.4 mbuf鎖
2.6 m-devget和m-pullup函數
2.6.1 m-devget函數
2.6.2 mtod和dtom宏
2.6.3 pullup函數和連續的協議首部
2.6.4 m-pullup和IP的分片與重組
2.6.5 TCP重組避免調用m-pullup
2.6. 6 m-pullup使用總結
2.7 mbuf宏和函數的小結
2.8 Neff3聯網數據結構小結
2.9 m-Copy和簇引用計數
2.10其他選擇
2.11小結
第3章接口層
3.1引言
3.2代碼介紹
3.2.1全局變量
3.2.2 SNMP變量
3.3 ifnet結構
3.4 ifadck結構,
3.5 sockaddr結構
3.6 ifnet與土faddr的專用化
3.7網絡初始化概述
3.8以太網初始化
3.9 suP初始化
3.10環回初始化
3.11 if_attach函數
3.12 ifinit函數
3.13小結
第4章接口:以太網
4.1引言
4.2代碼介紹
4.2.1全局變量
4.2.2統計量
4.2.3 SNMP變量
4.3以太網接口
4.3.1 leintr函數
4.3. 2 leread函數
4.3.3 ether_input函數
4.3.4 ether_output函數
4.3.5 lestart函數
4.4 ioctl系統調用
4.4.1 ifioctl函數
4.4.2 ifconf函數
4.4.3舉例
4.4.4通用接口ioctl命令
4.4.5 if_down和if_up函數
4.4.6以太網、SLIP和環回
4.5小結
第5章接口:SLIP和環回
5.1引言
5.2代碼介紹
5.2.1全局變量
5.2.2統計量
5.3 SLIP接口
5.3.1 SLIP線路規程:SLIPDISC
5.3.2 SLIP初始化:slopen slinit
5.3.3 SLIP輸入處理:slinput
5.3.4 SLIP輸出處理:sloutput
5.3.5 slstart函數
5.3.6 SLIP分組丟失
5.3.7 SLIP性能考慮
5.3.8 slclose函數
5.3.9 sltioctl函數
5.4環回接口
5.5小結
第6章IP編址
6.1引言
6.1.IIP地址
6.I.2 IP地址的印刷規定
6.1.3主機和路由器
6.2代碼介紹
6.3接口和地址小結
6.4 sockaddr_in結構
6.5 in_ifaddr結構
6.6地址指派
6.6.1 ifioctl函數
6.6 .2 in_control函數
6.6.3前提條件:SIOCSIFADDR、SIOCSIFNETMASK和SIOCSIFDSFADDR
6.6.4地址指派:SIOCSIFADDR
6.6.5 in_ifinit函數
6.6.6網絡掩碼指派:SIOCSIFNETMASK
6.6.7目的地址指派:SIOCSIFDSTADDR
6.6.8獲取接口信息
6.6.9每個接口多個IP地址
6.6.10附加IP地址:SIOCAIFADDR
6.6.11刪除IP地址:SIOCDIFADDR
6.7接口ioctl處理
6.7.1 leioctl函數
6.7.2 slioctl函數
6.7.3 loioctl函數
6.8 Internet實用函數
6.9 ifnet實用函數
6.10小結
第7章域和協議
7.1引言
7.2代碼介紹
7.2. 1全局變量
7.2.2統計量
7.3 domain結構
7.4 protosw結構
7.5 IP的domain和protosw結構
7.6 pffindproto~Hpffindtype函數
7.7 pfctlinput函數
7.8 IP初始化
7.8.1 Intemet傳輸分用
7.8.2 ip_init函數
7.9 sysctl系統調用
7.10小結
第8章IP:網際協議
8.1引言
8.2代碼介紹
8.2.1全局變量
8.2.2統計量
8.2.3 SNMP變量
8.3 IP分組
8.4輸入處理:ipintr函數
8.4.1 ipintr概觀
8.4.2驗證
8.4.3轉發或不轉發
8.4.4重裝和分用
8.5轉發:ip_forward函數
8.6輸出處理:ip_output函數
8.6.1首部初始化
8.6.2路由選擇
8.6.3源地址選擇和分片
8.7 Internet檢驗和: in_cksum函數
8.8 setsockopt和getsockopt系統調用
8.8.1 PRCO_SETOPT的處理
8.8.2 PRCO_GETOPT的處理
8.9 ip_sysctl函數
8.10小結
第9章IP選項處理
9.1引言
9.2代碼介紹
9.2.1全局變量
9.2.2統計量
9.3選項格式
9.4 ip_dooptions函數
9.5記錄路由選項
9.6源站和記錄路由選項
9.6.1 save_rte函數
9.6.2 ip_srcroute函數
9.7時間戳選項:
9.8 ip_insertoptions函數
9.9 ip_pcbopts函數
9.10一些限制
9.11小結
笫10章IP的分片與重裝
10.1引言
10.2代碼介紹
10.2.1全局變量
10.2.2統計量
10.3分片
10.4 ip_optcopy函數
10.5重裝
10.6 ip_reass函數
10.7 ip_slowtimo函數
10.8小結
第11章ICMP:Internet控制報文協議
11.1引言
11.2代碼介紹
11.2.1全局變量
11.2.2統計量
11.2.3 SNMP變量
11.3 icmp結構
11.4 ICMP的protosw結構
11.5輸入處理:icmp_input函數
11.6差錯處理
11.7請求處理
11.7.1回顯詢問:ICMP_ECHO和ICMLHCHOREPLY
11.7.2時間戳詢問:ICMP_TSTAMP和ICMPTSTAMPREPLY
11.7.3地址掩碼詢問:ICMP_MASKREQ和ICMP_MASKREPLY
11.7.4信息詢問:ICMP_IREQ和ICMP_IREQREPLY
11.7.5路由器發現:ICMP_ROUTERADVERy和ICMP_ROUTERSOLICIF
11.8重定向處理
11.9回答處理
11.10輸出處理
11.11 icmp_error函數
11.12 icmpreflect函數
11.13 icmp_send函數
11.14 icmp_sysctl函數
11.15小結
第12章IP多播
12.1引言
12.2代碼介紹
12.2.1全局變量
12.2.2統計量
12.3以太網多播地址
12.4 ether_multi結構
12.5以太網多播接收
12.6 inmulti結構
12.7 ip_moptions結構
12.8多播的插口選項
12.9多播的TTL值
12.9.1 MBONE
12.9.2擴展環搜索
12.10 ip_setmoptions函數
12.10.1選擇一個明確的多播接口:IP_MULTICAS%_IF
12.10.2選擇明確的多播TTL:IP_MULTICASTTTL
12.10.3選擇多播環回:IPMULTICAST_LOOP
12.11加入一個IP多播組
12.11.1 in_addmulti函數
12.11.2 slioctl和loioctl函數:SIOCADDMULTT和SIOCDRLTI
12.11.3 Leioctl函數:SIOCADDMULTI和SIOCDELMULTI
12.11.4 etheraddmulti函數
12.12離開一個IP多播組
12.12.1 in_delmulti函數
12.12.2 ether_delmulti函數
12.13 ip_getmoptions函數
12.14多播輸入處理:ipintr函數
12.15多播輸出處理:ip_output函數
12.16性能的考慮
12.17小結
第13章IGMP:Intemet組管理協議
13.1引言
13.2代碼介紹
13.2.1全局變量
13.2.2統計量
13.2.3 SNMP變量
13.3 igrmp結構
13.4 IGMP的protosw的結構
13.5加入一個組:igmp_joingroup函數
13.6 igmp_fasttimo函數
]3.7輸入處理: igmp_input函數
13.7.1成員關係查詢:IGMP_HOST_M194BERSHIPQUERY
13.7.2成員關係報告:IGMP_HOST_MEMBERSHIPREPORT
13.8離開一個組:ignlo_leavegroup函數
13.9小結
第14章IP多播選路
14.1引言
14.2代碼介紹
14.2.1全局變量
14.2.2統計量
14.2.3 SNMP變量
14.3多播輸出處理(續)
14.4 mrouted守護程序
14.5虛擬接口
14.5.1虛擬接口表
14.5.2 add_vif函數
14.5.3 del_vif函數
14.6 IGMP(續)
14.6.1 add_igrp函數
14.6.2 del_igrp函數
14.6.3 grplst_member函數
14.7多播選路
……
第15章插口層
第16章插口I/O
第17章插口選項
第18章Radix樹路由表
第19章選路請求和選路消息
第20章選路插口