圖書信息
TCP/IP協定原理與套用(第5版)
作者:[美] 詹姆斯·派爾斯(James Pyles),傑弗里·卡雷爾(Jeffrey L. Carrell),埃德·泰特爾(Ed Tittel ), 金名 等譯
定價:128元
印次:1-1
ISBN:9787302488415
出版日期:2018.08.01
印刷日期:2018.06.28
內容介紹
TCP/IP是支持網際網路運行的一套協定的總稱,TCP和IP是該協定族中的兩個核心協定。本書深入介紹了TCP/IP的模型、協定、服務以及標準。本書採用理論與實踐相結合的方法,利用各種網路工具(如Wireshark),通過捕獲網路上的真實數據包,並把數據包的內部結構以可視化的形式詳細分解,讓讀者能夠以直觀的方式了解TCP/IP的精髓。此外,通過每章末尾的習題、動手項目和案例項目,深化讀者對關鍵概念的理解,掌握常見網路管理和監視工具的運用。
目錄
第1章TCP/IP導引 1
1.1什麼是TCP/IP 1
1.2TCP/IP的起源和歷史 2
1.2.1TCP/IP的設計目標 2
1.2.2TCP/IP大事年表 2
1.2.3誰“擁有”Internet 3
1.2.4管理TCP/IP的標準化組織 4
1.2.5IPv4與IPv6 4
1.3TCP/IP標準和RFC 5
1.4OSI網路參考模型概覽 6
1.4.1網路分層 6
1.4.2ISO/OSI網路參考模型 7
1.4.3協定層如何工作 8
1.5TCP/IP網路模型 12
1.5.1TCP/IP網路訪問層 12
1.5.2TCP/IP網路訪問層協定 13
1.5.3TCP/IP網際網路層的功能 14
1.5.4TCP/IP網際網路層協定 14
1.5.5TCP/IP傳輸層的功能 15
1.5.6TCP/IP傳輸層協定 15
1.5.7TCP/IP套用層 16
1.6TCP/IP協定、服務、套接字與連線埠 17
1.6.1TCP/IP協定號 17
1.6.2TCP/IP連線埠號 18
1.6.3TCP/IP套接字 19
1.7TCP/IP中的數據封裝 19
1.8關於協定分析 20
1.8.1協定分析的有用規則 20
1.8.2協定分析器的要素 20
1.8.3將協定分析器安裝在網路上 24
本章小結 25
習題 26
動手項目 28
動手項目1-1:安裝Wireshark 29
動手項目1-2:捕獲基本數據包,查看基本數據包和統計信息 30
動手項目1-3:選擇一個過濾器並捕獲數據包 35
動手項目1-4:創建一個顯示過濾器 35
動手項目1-5:查看一個完整的數據包解碼 36
案例項目 36
案例項目1-1:解決小型網路中的網路連線問題 36
案例項目1-2:討論升級到IPv6的理由 37
案例項目1-3:確定正在使用的是哪種IP協定 37
案例項目1-4:解釋協定錯誤或廣播數據流的後果 37
案例項目1-5:學習Internet的歷史 37
第2章IP定址及其他 38
2.1IP定址基礎 38
2.2IPv4定址 40
2.2.1IPv4地址類 40
2.2.2網路、廣播、多播及其他特殊IP位址 41
2.2.3廣播數據包結構 42
2.2.4IPv4網路與子網掩碼 44
2.2.5IPv4子網與超網 45
2.2.6IPv4的無類域間路由 47
2.2.7公用和專用IPv4地址 48
2.2.8管理對IPv4地址的訪問 49
2.3獲得公用IP位址 50
2.4IPv4定址模式 50
2.4.1網路空間 51
2.4.2主機空間 52
2.5正在耗盡的IPv4地址空間 53
2.6IPv6概述 55
2.7IPv6定址 56
2.7.1地址格式與表示法 56
2.7.2網路與主機部分 57
2.7.3作用域標識符 57
2.7.4接口標識符 57
2.7.5URL中的原始IPv6地址 59
2.7.6地址類型 59
2.7.7地址分配 63
2.8IPv6定址與子網劃分的因素 64
2.9從IPv4轉換到IPv6 65
本章小結 67
習題 68
動手項目 70
動手項目2-1:熟悉IPv6反向代理 70
動手項目2-2:計算域的IPv6反向代理 70
動手項目2-3:根據所需的IPv4子網數量,計運算元網掩碼 71
動手項目2-4:使用線上教程學習子網劃分 71
動手項目2-5:使用子網計算器,確定某個IP位址的主機地址範圍、
廣播地址以及其他相關值 72
動手項目2-6:查看與IPv6定址有關的RFC文檔 73
動手項目2-7:找出Windows計算機的IPv6地址 73
動手項目2-8:找出Mac計算機的IPv6地址 74
動手項目2-9:找出Linux計算機的IPv6地址 74
動手項目2-10:訪問和使用Windows計算機的ARP表 75
動手項目2-11:訪問和使用Linux計算機的ARP表 76
案例項目 77
案例項目2-1:設計一個公司網路 77
案例項目2-2:為單個站點實現一個網路 77
案例項目2-3:設計一個IPv6地址空間 77
第3章基本的IP數據包結構:首部與有效載荷 78
3.1IP數據包與數據包結構 78
3.2IPv4首部欄位及其功能 78
3.2.1版本欄位 79
3.2.2首部長度欄位 79
3.2.3TOS欄位的功能:差分服務和擁塞控制 79
3.2.4總長度欄位 83
3.2.5標識符欄位 83
3.2.6標誌欄位 84
3.2.7分段偏移量欄位 84
3.2.8生存時間欄位 84
3.2.9協定欄位 85
3.2.10首部校驗和欄位 85
3.2.11源地址欄位 86
3.2.12目的地址欄位 86
3.2.13可選欄位 86
3.2.14填充欄位 86
3.3IPv6首部欄位及其功能 87
3.3.1版本欄位 87
3.3.2流量類型欄位 87
3.3.3數據流標籤欄位 88
3.3.4有效載荷長度欄位 88
3.3.5下一個首部欄位的作用 88
3.3.6Internet組管理協定 89
3.3.7跳限制欄位 89
3.3.8源地址欄位 89
3.3.9目的地址欄位 89
3.4IPv6擴展首部 89
3.4.1擴展首部的順序 90
3.4.2逐跳選項擴展首部 91
3.4.3目的地選項擴展首部 91
3.4.4路由擴展首部 92
3.4.5分段擴展首部 92
3.4.6認證擴展首部 93
3.4.7封裝安全有效載荷擴展首部和尾部 94
3.4.8超大包 95
3.4.9服務質量 95
3.4.10路由器警告與逐跳選項 96
3.5IPv6MTU與數據包處理 97
3.6IPv6的上層協定校驗和 98
3.7IPv6首部結構與IPv4首部結構 100
3.7.1IPv4與IPv6首部比較 100
3.7.2從IPv4轉換到IPv6的小結 101
本章小結 102
習題 104
動手項目 107
動手項目3-1:使用Wireshark軟體查看IPv4數據包首部 107
動手項目3-2:使用Wireshark軟體查看IPv6數據包首部 108
動手項目3-3:在Wireshark軟體中查看IPv6上層協定 110
案例項目 111
案例項目3-1:Wireshark與訊息分析器 111
案例項目3-2:解釋校驗和錯誤 111
案例項目3-3:查看IPv6的下一個首部欄位 112
第4章TCP/IP中的數據鏈路層與網路層協定 113
4.1數據鏈路協定 114
4.2點到點協定 115
4.3幀的類型與大小 117
4.3.1乙太網幀類型 117
4.3.2EthernetⅡ幀結構 117
4.4IP環境中的硬體地址 120
4.4.1地址解析協定與網路發現協定 120
4.4.2ARP協定的特性與處理 121
4.4.3NDP協定的特徵與處理 128
4.5理解IP協定 129
4.5.1傳送IP數據報 130
4.5.2路由解析過程 131
4.5.3IPv4與IPv6有何不同 133
4.6IP數據包的生存周期 134
4.7分段與重組 135
4.8服務交付選項 137
4.9優先權 137
4.10服務類型 137
4.11理解IP路由 139
4.11.1在路由表中如何存放記錄 140
4.11.2路由協定和被路由協定 141
4.11.3為路由協定分組 141
4.12路由特性 145
4.12.1路由匯聚 145
4.12.2IPv4路由機制 145
4.13IPv6路由的考慮因素 149
4.13.1IPv6路由機制 149
4.13.2IPv6中的多播偵聽器發現 154
4.14路由協定 159
4.14.1IPv4路由協定 159
4.14.2IPv6路由協定 166
4.15管理內部網的路由 172
4.16廣域網上的路由 173
4.16.1幾個小型辦公室 173
4.16.2輻射型結構 173
4.16.3多協定 173
4.16.4移動用戶 174
4.16.5移動IP 174
4.16.6本地區移動性 174
4.17往返於Internet的路由 175
4.18保護路由器和路由行為的安全 175
本章小結 176
習題 179
動手項目 182
動手項目4-1:管理本地ARP緩衝區 182
動手項目4-2:讀取本地IPv4路由表 183
動手項目4-3:讀取本地IPv6路由表和鄰居緩衝區 183
動手項目4-4:用Wireshark軟體查看IPv4和IPv6路由協定 183
案例項目 187
案例項目4-1:查看跟蹤檔案 187
案例項目4-2:基於跳限制值來確定IPv6數據報傳輸的距離 187
案例項目4-3:TCP/IP網路的QoS 187
第5章Internet控制訊息協定 188
5.1ICMP基礎 188
5.2ICMPv4 190
5.2.1RFC792概覽 190
5.2.2ICMPv4的首部 190
5.2.3ICMPv4訊息的類型 194
5.2.4可變的ICMP結構和功能 198
5.3ICMPv6 206
5.3.1ICMPv6概述 206
5.3.2ICMPv6訊息的類型 206
5.3.3ICMPv6首部 208
5.4ICMPv6錯誤訊息 208
5.4.1目的地不可達訊息 208
5.4.2數據包太大訊息 209
5.4.3逾時訊息 210
5.4.4參數問題訊息 210
5.5ICMPv6信息訊息 211
5.5.1Echo請求與Echo應答訊息 211
5.5.2路由器公告與路由器請求訊息 212
5.5.3鄰居請求與鄰居公告訊息 213
5.5.4重定向訊息 214
5.5.5路由器重編號訊息 215
5.5.6ICMPv4與ICMPv6訊息的簡單比較 216
5.6路徑MTU發現 216
5.7ICMP測試和故障診斷順序 218
5.7.1使用ping進行可連線性測試 218
5.7.2使用Traceroute進行路徑發現 219
5.7.3使用Pathping進行路徑發現 220
5.7.4使用ICMP的路徑MTU發現 220
5.7.5ICMP的路由序列 223
5.7.6ICMPv4的安全問題 226
5.7.7ICMPv6的安全問題 228
5.8解碼ICMP數據包 228
5.8.1ICMPv4 228
5.8.2ICMPv6 230
本章小結 231
習題 232
動手項目 234
動手項目5-1:在網路上使用ICMPv4Echo請求訊息ping另一個設備 234
動手項目5-2:為你的數據流構建一個過濾器 234
動手項目5-3:捕獲ICMPv6Echo請求與Echo應答數據包 235
動手項目5-4:捕獲ICMPv6鄰居請求與鄰居公告訊息 236
案例項目 238
案例項目5-1:確定默認網關設定 238
案例項目5-2:ICMPv6安全性問題 238
案例項目5-3:測試路徑MTU發現 238
案例項目5-4:研究一下JonPostel 238
第6章IPv6中的鄰居發現 239
6.1理解鄰居發現 239
6.2IPv6鄰居發現協定與IPv4協定的比較 240
6.3鄰居發現訊息的格式 241
6.3.1路由器請求訊息 241
6.3.2路由器公告訊息 242
6.3.3鄰居請求訊息 245
6.3.4鄰居公告訊息 246
6.3.5重定向訊息 248
6.4鄰居發現選項的格式 250
6.4.1源鏈路層地址與目標鏈路層地址選項 250
6.4.2前綴信息選項 252
6.4.3重定向首部選項 254
6.4.4MTU選項 255
6.4.5公告時間間隔選項 256
6.4.6宿主智慧型體信息選項 256
6.4.7路由信息選項 257
6.5概念主機模型 257
6.5.1在主機上存儲鄰居數據 258
6.5.2概念傳送算法 258
6.6鄰居發現過程 260
6.6.1地址解析 260
6.6.2鄰居不可達檢測 261
6.6.3重複地址檢測 262
6.6.4路由器發現 263
6.6.5重定向 265
本章小結 267
習題 268
動手項目 271
動手項目6-1:查看ICMPv6鄰居發現訊息 271
動手項目6-2:創建一個過濾器,查看特定主機的鄰居公告訊息 272
動手項目6-3:創建一個過濾器,查看鄰居公告訊息,該訊息是對
鄰居請求重複地址檢測訊息的應答訊息 273
動手項目6-4:創建一個過濾器,查看設定了M和O標誌的路由器
公告訊息 274
動手項目6-5:創建一個過濾器,查看具有前綴信息的路由器公告訊息 275
案例項目 276
案例項目6-1:理解鄰居請求和鄰居公告訊息 276
案例項目6-2:排除網路問題 276
案例項目6-3:描述初始的IPv6主機通信 277
第7章IP位址自動配置 278
7.1理解自動定址 279
7.2動態主機配置協定介紹 279
7.2.1DHCP的工作原理 280
7.2.2租用的作用 281
7.2.3DHCP軟體部件 281
7.2.4DHCP租用類型 282
7.2.5DHCP租用的更多信息 283
7.3IPv4自動配置 283
7.3.1自動專用IP定址(APIPA) 284
7.3.2DHCP 284
7.4IPv6自動配置 299
7.4.1IPv6自動配置的類型 299
7.4.2IPv6自動配置的地址的功能狀態 303
7.4.3結點網卡標識符 304
7.4.4DHCPv6 307
7.4.5IPv6自動配置過程 316
7.5MicrosoftWindows2012R2的DHCP範圍 319
7.6創建一個簡單的DHCP伺服器 319
本章小結 325
習題 326
動手項目 328
動手項目7-1:查看DHCP啟動序列 329
動手項目7-2:查看DHCP更新、重新綁定和重新初始化序列 329
動手項目7-3:查看DHCPv6啟動序列 330
動手項目7-4:查看和管理DHCP與DHCPv6租借信息 330
案例項目 331
案例項目7-1:DHCP設計與實現 331
案例項目7-2:靜態與動態IPv4地址問題 332
案例項目7-3:解決DHCP地址問題 332
案例項目7-4:DHCPv6設計與實現 332
第8章IP網路中的名稱解析 333
8.1理解名稱解析的基礎 333
8.2網路名稱解析協定 334
8.2.1LLMNR 334
8.2.2DNS 335
8.2.3DNS資料庫結構 337
8.2.4DNS名稱空間 338
8.2.5DNS資料庫記錄 339
8.2.6委託DNS授權 340
8.2.7DNS伺服器的類型 340
8.3域名伺服器的工作原理 342
8.3.1遞歸查詢 342
8.3.2疊代或非遞歸查詢 343
8.4DNS快取的重要性 344
8.5DNS配置檔案和資源記錄格式 345
8.5.1授權開始記錄 345
8.5.2地址和別名記錄 346
8.5.3將地址映射為名稱 348
8.6IPv6網路中的名稱解析 349
8.6.1IPv6中的DNS 350
8.6.2源地址與目的地址選擇 352
8.6.3源地址選擇算法 353
8.6.4目的地址選擇算法 356
8.6.5使用地址選擇 357
8.7Windows作業系統對名稱解析的支持 359
8.7.1DNS解析器 359
8.7.2DNS伺服器服務 360
8.7.3DNS動態更新 362
8.7.4源地址與目的地址選擇 363
8.7.5LLMNR支持 364
8.7.6使用ipv6-literal.net名稱 366
8.7.7對等體名稱解析協定 366
8.8解決名稱解析問題與失敗的故障 368
8.8.1故障的常見原因 369
8.8.2解決DNS問題的工具 370
8.8.3netstat 370
8.8.4nslookup 371
本章小結 374
習題 375
動手項目 377
動手項目8-1:作用於DNS解析器快取 377
動手項目8-2:設定Windows計算機來使用DNS動態更新 379
動手項目8-3:把IPv6地址轉換為一個ipv6-literal.net名稱 380
動手項目8-4:捕獲並查看你的DNS數據流 380
動手項目8-5:找出Linux計算機的DNS解析器 381
動手項目8-6:使用dig工具來進行DNS查詢任務 382
案例項目 385
案例項目8-1:收集IPv6地址數據以配置名稱伺服器 385
案例項目8-2:請解釋一下只用於快取的伺服器的使用 385
案例項目8-3:理解在網路基礎設施中所需要的最少DNS伺服器數量 385
第9章TCP/IP傳輸層協定 386
9.1理解UDP與TCP 386
9.1.1IPv4與IPv6上的UDP 387
9.1.2IPv4與IPv6上的TCP 389
9.2UDP 390
9.2.1UDP首部欄位和功能 391
9.2.2UDP連線埠號與進程 394
9.2.3UDP與IPv6 395
9.3TCP 396
9.3.1TCP與IPv4 396
9.3.2TCP與IPv6 411
9.4UDP、TCP與IPv6擴展首部 412
9.5在TCP和UDP之間做出選擇 413
本章小結 414
習題 415
動手項目 417
動手項目9-1:查看UDP首部結構 417
動手項目9-2:查看IPv4與IPv6的TCP首部 418
動手項目9-3:查看TCP握手進程 419
案例項目 420
案例項目9-1:使用Wireshark軟體清查網路 420
案例項目9-2:發現動態連線埠號 420
案例項目9-3:TCP視窗大小問題 420
案例項目9-4:理解重複ACK 421
第10章從IPv4轉換到IPv6 422
10.1IPv4與IPv6如何相互作用 422
10.1.1雙重棧技術 423
10.1.2通過IPv4雲的隧道技術 423
10.1.3採用IPv6的進展 424
10.1.4轉換到IPv6的實際問題 424
10.1.5互操作性 424
10.1.6網路元素 425
10.1.7軟體 425
10.1.8從Windows的角度看IPv6轉換 426
10.1.9可用性 427
10.1.10下一步的工作 427
10.2IPv4/IPv6混合網路與網路結點 428
10.2.1基本的混合網路模型 428
10.2.2嵌套的混合網路模型 429
10.2.3真實的混合網路模型 429
10.3IPv6轉換地址 430
10.4IPv4/IPv6轉換機制 431
10.5雙重IP層體系結構 432
10.6雙重棧體系結構 433
10.6.1雙重體系結構與隧道技術 434
10.6.2IPv6-over-IPv4隧道技術 434
10.6.3DNS基礎設施 435
10.7IPv4與IPv6混合的隧道配置 436
10.7.1路由器到路由器的隧道配置 436
10.7.2主機到路由器與路由器到主機的隧道配置 437
10.7.3主機到主機的隧道配置 438
10.7.4隧道技術的類型 438
10.8ISATAP隧道技術 439
10.8.1ISATAP概述 439
10.8.2ISATAP的組件 440
10.8.3ISATAP結點的路由器發現 441
10.8.4ISATAP定址與路由 441
10.8.5ISATAP的通信 443
10.8.6配置一台ISATAP路由器 444
10.96to4隧道技術 446
10.9.16to4概述 446
10.9.26to4的組件 447
10.9.36to4定址與路由 448
10.9.46to4通信 448
10.9.5ISATAP與6to4一起使用 449
10.10Teredo隧道技術 450
10.10.1Teredo概述 450
10.10.2Teredo的組件 450
10.10.3Teredo定址與路由 451
10.10.4Teredo的處理過程 452
本章小結 454
習題 456
動手項目 458
動手項目10-1:查看ISATAP網路中的數據流 458
動手項目10-2:查看6to4捕獲檔案 460
動手項目10-3:查看一個Teredo捕獲檔案和路由器請求數據包 461
案例項目 462
案例項目10-1:準備一個網路,進行IPv4-to-IPv6轉換技術部署 462
案例項目10-2:配置要使用Teredo的Windows7客戶端 462
案例項目10-3:繪製ISATAP封裝首部 462
第11章部署IPv6 463
11.1理解IPv6部署 463
11.2規劃IPv6部署 464
11.2.1成功準則 465
11.2.2體系結構的決策 465
11.2.3遷移與轉換技術 472
11.2.4要完成的任務 476
11.3部署和使用IPv6 481
11.3.1構建一個IPv6測試/示範網路 481
11.3.2開始遷移應用程式 482
11.3.3把只支持IPv4的主機升級到支持IPv4/IPv6 483
11.3.4使用6to4創建一個隧道式的IPv6環境 485
11.3.5使用ISATAP創建一個隧道式的IPv6環境 487
11.4探討一些網路管理任務 489
本章小結 490
習題 491
動手項目 493
動手項目11-1:探索路由伺服器 493
動手項目11-2:探索IPv6配置 497
案例項目 497
案例項目11-1:創建一個測試實驗網路 497
案例項目11-2:創建一個遷移規劃 497
第12章構建安全的TCP/IP環境 498
12.1理解網路安全性基礎 499
12.2IP安全的原則 500
12.3常見的TCP/IP攻擊、探測與入侵 501
12.3.1主要術語 501
12.3.2TCP/IP的主要弱點 502
12.3.3靈活性與安全性 503
12.4與IP有關的常見攻擊類型 503
12.5哪些IP服務最易受攻擊 504
12.6IP攻擊的各個階段 506
12.6.1偵探與發現 506
12.6.2攻擊階段 508
12.6.3掩蓋階段 508
12.7詳論常見攻擊與入侵點 508
12.7.1病毒、間諜軟體與類似安全威脅 508
12.7.2拒絕服務攻擊 509
12.7.3分散式拒絕服務攻擊 509
12.7.4緩衝區溢出或過載 510
12.7.5欺騙 510
12.7.6TCP會話劫持 510
12.7.7網路嗅探 511
12.8維護IP安全性 512
12.8.1套用安全補丁與修復 512
12.8.2知道要堵住哪些連線埠 513
12.8.3使用IPSec 514
12.8.4保護網路外設 515
12.8.5實現防火牆 517
12.8.6在IP安全中IDS與IPS的作用 519
12.9蜜罐與蜜網 520
12.10實行安全意識培訓 520
本章小結 520
習題 521
動手項目 523
動手項目12-1:在Wireshark中查看本地掃描 523
動手項目12-2:在Wireshark中查看連線埠掃描 524
動手項目12-3:在Wireshark中堵住連線埠 524
動手項目12-4:在Wireshark中查看數據流來自的連線埠號 525
動手項目12-5:在Wireshark中查看基於IPv4的特定類型連線埠掃描 525
動手項目12-6:在Wireshark中查看基於IPv6的特定類型連線埠掃描 526
案例項目 527
案例項目12-1:防火牆過濾器 527
案例項目12-2:防火牆研究、規劃與實現 527
附錄學生與教師線上資源 528
術語表 530