封面 1 第1 章概述 2 1.1 引言 2 1.2 分層 2 1.3 TCP/IP 的分層 5 1.4 互聯網的地址 6 1.5 域名系統 7 1.6 封裝 8 1.7 分用 9 1.8 客戶-服務器模型 10 1.9 端口號 10 1.10 標準化過程 11 1.11 RFC 12 1.12 標準的簡單服務 12 1.13 互聯網 13 1.14 實現 13 1.15 應用編程接口 14 1.16 測試網絡 14 1.17 小結 14 第2 章鏈路層 16 2.1 引言 16 2.2 以太網和IEEE 802 封裝 16 2.3 尾部封裝 18 2.4 SLIP :串行線路IP 18 2.5 壓縮的SLIP 19 2.6 PPP :點對點協議 19 2.7 環回接口 20 2.8 最大傳輸單元MTU 22 2.9 路徑MTU 22 2.10 串行線路吞吐量計算 22 2.11 小結 23 第3 章IP :網際協議 25 3.1 引言 25 3.2 IP 首部 25 3.3 IP 路由選擇 28 3.4 子網尋址 31 3.5 子網掩碼 33 3.6 特殊情況的IP 地址 33 3.7 一個子網的例子 34 3.8 ifconfig 命令 35 3.9 netstat 命令 37 3.10 IP 的未來 37 3.11 小結 38 第4 章ARP :地址解析協議 39 4.1 引言 39 4.2 一個例子 39 4.3 ARP 高速緩存 41 4.4 ARP 的分組格式 41 4.5 ARP 舉例 41 4.5.1 一般的例子 41 4.5.2 對不存在主機的ARP 請求 43 4.5.3 ARP 高速緩存超時設置 44 4.6 ARP 代理 44 4.7 免費ARP 45 4.8 arp 命令 46 4.9 小結 47 第5 章RARP :逆地址解析協議 48 5.1 引言 48 5.2 RARP 的分組格式 48 5.3 RARP 舉例 48 5.4 RARP 服務器的設計 49 5.4.1 作為用戶進程的RARP 服務器 49 5.4.2 每個網絡有多個RARP 服務器 50 5.5 小結 50 第6 章ICMP :Internet 控制報文協議 51 6.1 引言 51 6.2 ICMP 報文的類型 51 6.3 ICMP 地址掩碼請求與應答 53 6.4 ICMP 時間戳請求與應答 54 6.4.1 舉例 55 6.4.2 另一種方法 56 6.5 ICMP 端口不可達差錯 57 6.6 ICMP 報文的4.4BSD 處理 60 6.7 小結 61 第7 章Ping 程序 62 7.1 引言 62 7.2 Ping 程序 62 7.2.1 LAN 輸出 63 7.2.2 WAN 輸出 64 7.2.3 線路SLIP 鏈接 65 7.2.4 撥號SLIP 鏈路 66 7.3 IP 記錄路由選項 66 7.3.1 通常的例子 67 7.3.2 異常的輸出 69 7.4 IP 時間戳選項 70 7.5 小結 71 第8 章Traceroute 程序 72 8.1 引言 72 8.2 Traceroute 程序的操作 72 8.3 局域網輸出 73 8.4 廣域網輸出 76 8.5 IP 源站選路選項 77 8.5.1 寬松的源站選路的t r a c e r o u t e 程序示例 78 8.5.2 嚴格的源站選路的t r a c e r o u t eL?? 80 8.5.3 寬松的源站選路t r a c e r o u t e 程序的往返路由 81 8.6 小結 82 第9 章IP 選路 84 9.1 引言 84 9.2 選路的原理 84 9.2.1 簡單路由表 85 9.2.2 初始化路由表 87 9.2.3 較復雜的路由表 88 9.2.4 沒有到達目的地的路由 88 9.3 ICMP 主機與網絡不可達差錯 88 9.4 轉發或不轉發 90 9.5 ICMP 重定向差錯 90 9.5.1 一個例子 91 9.5.2 更多的細節 92 9.6 ICMP 路由器發現報文 93 9.6.1 路由器操作 94 9.6.2 主機操作 94 9.6.3 實現 94 9.7 小結 95 第10 章動態選路協議 96 10.1 引言 96 10.2 動態選路 96 10.3 Unix 選路守護程序 97 10.4 RIP :選路信息協議 97 10.4.1 報文格式 97 10.4.2 正常運行 命令 98 10.4.3 度量 99 10.4.4 問題 99 10.4.5 舉例 99 10.4.6 另一個例子 101 10.5 RIP 版本2 103 10.6 OSPF :開放最短路徑優先 103 10.7 BGP :邊界網關協議 104 10.8 CIDR :無類型域間選路 105 10.9 小結 106 第11 章UDP :用戶數據報協議 108 11.1 引言 108 11.2 UDP 首部 108 11.3 UDP 檢驗和 109 11.3.1 tcpdump 輸出 110 11.3.2 一些統計結果 111 11.4 一個簡單的例子 111 11.5 IP 分片 112 11.6 ICMP 不可達差錯(需要分片) 114 11.7 用Traceroute 確定路徑MTU 115 11.8 采用UDP 的路徑MTU 發現 117 11.9 UDP 和ARP 之間的交互作用 119 11.10 最大UDP 數據報長度 120 11.11 ICMP 源站抑制差錯 121 11.12 UDP 服務器的設計 123 11.12.1 客戶IP 地址及端口號 123 11.12.2 目的IP 地址 123 11.12.3 UDP 輸入隊列 123 11.12.4 限制本地IP 地址 125 11.12.5 限制遠端IP 地址 126 11.12.6 每個端口有多個接收者 126 11.13 小結 127 第12 章廣播和多播 129 12.1 引言 129 12.2 廣播 130 12.2.1 受限的廣播 130 12.2.2 指向網絡的廣播 130 12.2.3 指向子網的廣播 130 12.2.4 指向所有子網的廣播 130 12.3 廣播的例子 131 12.4 多播 133 12.4.1 多播組地址 134 12.4.2 多播組地址到以太網地址的轉換 134 12.4.3 FDDI 和令牌環網絡中的多播 135 12.5 小結 135 第13 章IGMP :Internet 組管理協議 137 13.1 引言 137 13.2 IGMP 報文 137 13.3 IGMP 協議 137 13.3.1 加入一個多播組 137 13.3.2 IGMP 報告和查詢 137 13.3.3 實現細節 139 13.3.4 生存時間字段 139 13.3.5 所有主機組 139 13.4 一個例子 139 13.5 小結 142 第14 章DNS :域名系統 143 14.1 引言 143 14.2 DNS 基礎 143 14.3 DNS 的報文格式 145 14.3.1 DNS 查詢報文中的問題部分 147 14.3.2 DNS 響應報文中的資源記錄部分 147 14.4 一個簡單的例子 148 14.5 指針查詢 151 14.5.1 舉例 151 14.5.2 主機名檢查 152 14.6 資源記錄 153 14.7 高速緩存 154 14.8 用UDP 還是用TCP 157 14.9 另一個例子 157 14.10 小結 158 第15 章TFTP :簡單文件傳送協議 160 15.1 引言 160 15.2 協議 160 15.3 一個例子 161 15.4 安全性 162 15.5 小結 163 第16 章BOOTP :引導程序協議 164 16.1 引言 164 16.2 BOOTP 的分組格式 164 16.3 一個例子 166 16.4 BOOTP 服務器的設計 167 16.5 BOOTP 穿越路由器 168 16.6 特定廠商信息 168 16.7 小結 169 第17 章TCP :傳輸控制協議 171 17.1 引言 171 17.2 TCP 的服務 171 17.3 TCP 的首部 172 17.4 小結 174 第18 章TCP 連接的建立與終止 175 18.1 引言 175 18.2 連接的建立與終止 175 18.2.1 t c p d u m p 的輸出 175 18.2.2 時間系列 176 18.2.3 建立連接協議 176 18.2.4 連接終止協議 177 18.2.5 正常的t c p d u m p 輸出 178 18.3 連接建立的超時 179 18.3.1 第一次超時時間 179 18.3.2 服務類型字段 180 18.4 最大報文段長度 180 18.5 TCP 的半關閉 181 18.6 TCP 的狀態變遷圖 183 18.6.1 2MSL 等待狀態 184 18.6.2 平靜時間的概念 187 18.6.3 FIN_WAIT_2 狀態 187 18.7 復位報文段 187 18.7.1 到不存在的端口的連接請求 187 18.7.2 異常終止一個連接 188 18.7.3 檢測半打開連接 189 18.8 同時打開 190 18.9 同時關閉 192 18.10 TCP 選項 193 18.11 TCP 服務器的設計 193 18.11.1 TCP 服務器端口號 194 18.11.2 限定的本地IP 地址 195 18.11.3 限定的遠端IP 地址 196 18.11.4 呼入連接請求隊列 196 18.12 小結 199 第19 章TCP 的交互數據流 201 19.1 引言 201 19.2 交互式輸入 201 19.3 經受時延的確認 202 19.4 Nagle 算法 203 19.4.1 關閉Nagle 算法 205 19.4.2 一個例子 205 19.5 窗口大小通告 208 19.6 小結 209 第20 章TCP 的成塊數據流 210 20.1 引言 210 20.2 正常數據流 210 20.3 滑動窗口 213 20.4 窗口大小 214 20.5 PUSH 標志 216 20.6 慢啟動 217 20.7 成塊數據的吞吐量 218 20.7.1 帶寬時延乘積 221 20.7.2 擁塞 222 20.8 緊急方式 222 20.9 小結 225 第21 章TCP 的超時與重傳 227 21.1 引言 227 21.2 超時與重傳的簡單例子 227 21.3 往返時間測量 228 21.4 往返時間RTT 的例子 229 21.4.1 往返時間RTT 的測量 230 21.4.2 RTT 估計器的計算 232 21.4.3 慢啟動 233 21.5 擁塞舉例 233 21.6 擁塞避免算法 236 21.7 快速重傳與快速恢復算法 237 21.8 擁塞舉例(續) 238 21.9 按每條路由進行度量 241 21.10 ICMP 的差錯 241 21.11 重新分組 244 21.12 小結 244 第22 章TCP 的堅持定時器 246 22.1 引言 246 22.2 一個例子 246 22.3 糊涂窗口綜合癥 247 22.4 小結 251 第23 章TCP 的保活定時器 252 23.1 引言 252 23.2 描述 252 23.3 保活舉例 254 23.3.1 另一端崩潰 254 23.3.2 另一端崩潰并重新啟動 255 23.3.3 另一端不可達 255 23.4 小結 256 第24 章TCP 的未來和性能 257 24.1 引言 257 24.2 路徑MTU 發現 257 24.2.1 一個例子 258 24.2.2 大分組還是小分組 259 24.3 長肥管道 260 24.4 窗口擴大選項 263 24.5 時間戳選項 264 24.6 PAWS :防止回繞的序號 266 24.7 T/TCP :為事務用的TCP 擴展 266 24.8 TCP 的性能 268 24.9 小結 269 第25 章SNMP: 簡單網絡管理協議 271 25.1 引言 271 25.2 協議 271 25.3 管理信息結構 273 25.4 對象標識符 275 25.5 管理信息庫介紹 275 25.6 實例標識 277 25.6.1 簡單變量 277 25.6.2 表格 277 25.6.3 字典式排序 278 25.7 一些簡單的例子 278 25.7.1 簡單變量 279 25.7.2 get-next 操作 279 25.7.3 表格的訪問 280 25.8 管理信息庫(續) 280 25.8.1 s y s t e m 組 280 25.8.2 interface 組 281 25.8.3 a t 組 282 25.8.4 i p 組 284 25.8.5 i c m p 組 286 25.8.6 t c p 組 286 25.9 其他一些例子 289 25.9.1 接口MTU 289 25.9.2 路由表 289 25.10 Trap 291 25.11 ASN.1 和BER 292 25.12 SNMPv2 293 25.13 小結 293 第26 章Telnet 和Rlogin :遠程登錄 294 26.1 引言 294 26.2 Rlogin 協議 295 26.2.1 應用進程的啟動 296 26.2.2 流量控制 296 26.2.3 客戶的中斷鍵 297 26.2.4 窗口大小的改變 297 26.2.5 服務器到客戶的命令 297 26.2.6 客戶到服務器的命令 298 26.2.7 客戶的轉義符 298 26.3 Rlogin 的例子 299 26.3.1 初始的客戶-服務器協議 299 26.3.2 客戶中斷鍵 300 26.4 Telnet 協議 303 26.4.1 NVT ASCII 303 26.4.2 Telnet 命令 303 26.4.3 選項協商 304 26.4.4 子選項協商 305 26.4.5 半雙工、一次一字符、一次一行或行方式 306 26.4.6 同步信號 306 26.4.7 客戶的轉義符 307 26.5 Telnet 舉例 307 26.5.1 單字符方式 307 26.5.2 行方式 311 26.5.3 一次一行方式(準行方式) 313 26.5.4 行方式:客戶中斷鍵 314 26.6 小結 315 第27 章FTP :文件傳送協議 317 27.1 引言 317 27.2 FTP 協議 317 27.2.1 數據表示 317 27.2.2 FTP 命令 319 27.2.3 FTP 應答 320 27.2.4 連接管理 321 27.3 FTP 的例子 322 27.3.1 連接管理:臨時數據端口 322 27.3.2 連接管理:默認數據端口 324 27.3.3 文本文件傳輸:NVT ASCII 表示還是圖像表示 326 27.3.4 異常中止一個文件的傳輸:Telnet 同步信號 327 27.3.5 匿名FTP 330 27.3.6 來自一個未知IP 地址的匿名FTP 331 27.4 小結 331 第28 章SMTP: 簡單郵件傳送協議 333 28.1 引言 333 28.2 SMTP 協議 334 28.2.1 簡單例子 334 28.2.2 SMTP 命令 335 28.2.3 信封、首部和正文 336 28.2.4 中繼代理 336 28.2.5 NVT ASCII 337 28.2.6 重試間隔 337 28.3 SMTP 的例子 338 28.3.1 MX 記錄:主機非直接連到Internet 338 28.3.2 MX 記錄:主機出故障 339 28.3.3 VRFY 和EXPN 命令 341 28.4 SMTP 的未來 341 28.4.1 信封的變化:擴充的SMTP 341 28.4.2 首部變化:非ASCII 字符 343 28.4.3 正文變化:通用Internet 郵件擴充 344 28.5 小結 347 第29 章網絡文件系統 348 29.1 引言 348 29.2 Sun 遠程過程調用 348 29.3 XDR: 外部數據表示 350 29.4 端口映射器 350 29.5 NFS 協議 352 29.5.1 文件句柄 354 29.5.2 安裝協議 354 29.5.3 NFS 過程 355 29.5.4 UDP 還是TCP 356 29.5.5 TCP 上的NFS 356 29.6 NFS 實例 357 29.6.1 簡單的例子:讀一個文件 357 29.6.2 簡單的例子:創建一個目錄 358 29.6.3 無狀態 358 29.6.4 例子:服務器崩潰 359 29.6.5 等冪過程 360 29.7 第3 版的NFS 361 29.8 小結 362 第30 章其他的TCP/IP 應用程序 364 30.1 引言 364 30.2 Finger 協議 364 30.3 Whois 協議 365 30.4 Archie 、WAIS 、Gopher 、Veronica 和WWW 366 30.4.1 Archie 366 30.4.2 WAIS 367 30.4.3 Gopher 367 30.4.4 Veronica 367 30.4.5 萬維網WWW 368 30.5 X 窗口系統 368 30.5.1 Xscope 程序 369 30.5.2 LBX :低帶寬X 371 30.6 小結 371 附錄A tcpdump 程序 372 A.1 BSD 分組過濾器 372 A.2 SunOS 的網絡接口分接頭 373 A.3 SVR4 數據鏈路提供者接口 374 A.4 tcpdump 的輸出 374 A.5 安全性考慮 376 A.6 插口排錯選項 376 附錄B 計算機時鐘 377 附錄C sock 程序 379 附錄D 部分習題的解答 382 附錄E 配置選項 396 E.1 BSD/386 版本1.0 396 E.2 SunOS 4.1.3 398 E.3 SRV4 399 E.4 Solaris 2.2 400 E.5 AIX 3.2.2 405 E.6 4.4BSD 406 附錄F 可以免費獲得的源代碼 407 參考文獻 410 縮略語 421 |
謝謝!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
好 |
好 |
看起來不錯 |
這本書很不錯啊 |
不錯 |
好!!! |
很好的書謝謝分享~ |
好資料,謝謝 |
這個資料好! |
感謝樓主分享 |
好書,謝謝分享 |
再頂表示感謝 |
多謝了 |
感謝分享 |
好書,謝謝分享 |
謝謝分享 |