本書是計算機網絡教材之一,采用了作者的自頂向下方法來講授計算機網絡的原理及其協議,自16年前1版出版以來已經被數百所大學和學院選作教材,被譯為14種語言。第7版保持了以前版本的特色,繼續關注因特網和計算機網絡的現代處理方式,注重原理和實踐,為計算機網絡教學提供了一種新穎和與時俱進的方法。同時,第7版進行了相當多的修訂和更新,改變了各章的組織結構,將網絡層分成兩章(第4章關注網絡層的數據平面,第5章關注網絡層的控制平面),并將網絡管理主題放入了新的第5章中。此外,為了反映自第6版以來計算機網絡領域的新變化,對其他章節也進行了更新,刪除了FTP和分布式散列表的材料,用流行的因特網顯式擁塞通告(ECN)材料代替了ATM網絡的材料,更新了有關802.11(所謂WiFi)網絡和蜂窩網絡(包括4G和LTE)的材料,全面修訂并增加了新的課后習題,等等。
前言
第1章 計算機網絡和因特網1
1.1 什么是因特網1
1.1.1 具體構成描述1
1.1.2 服務描述4
1.1.3 什么是協議5
1.2 網絡邊緣6
1.2.1 接入網8
1.2.2 物理媒體13
1.3 網絡核心15
1.3.1 分組交換15
1.3.2 電路交換19
1.3.3 網絡的網絡22
1.4 分組交換網中的時延、丟包和吞吐量24
1.4.1 分組交換網中的時延概述24
1.4.2 排隊時延和丟包27
1.4.3 端到端時延28
1.4.4 計算機網絡中的吞吐量30
1.5 協議層次及其服務模型32
1.5.1 分層的體系結構32
1.5.2 封裝36
1.6 面對攻擊的網絡37
1.7 計算機網絡和因特網的歷史40
1.7.1 分組交換的發展:1961~197241
1.7.2 專用網絡和網絡互聯:1972~198042
1.7.3 網絡的激增:1980~199042
1.7.4 因特網爆炸:20世紀90年代43
1.7.5 最新發展44
1.8 小結44
課后習題和問題46
復習題46
習題47
Wireshark實驗51
人物專訪52
第2章 應用層54
2.1 應用層協議原理54
2.1.1 網絡應用程序體系結構55
2.1.2 進程通信57
2.1.3 可供應用程序使用的運輸服務59
2.1.4 因特網提供的運輸服務60
2.1.5 應用層協議63
2.1.6 本書涉及的網絡應用63
2.2 Web和HTTP64
2.2.1 HTTP概況64
2.2.2 非持續連接和持續連接65
2.2.3 HTTP報文格式67
2.2.4 用戶與服務器的交互:cookie70
2.2.5 Web緩存72
2.2.6 條件GET方法74
2.3 因特網中的電子郵件75
2.3.1 SMTP76
2.3.2 與HTTP的對比78
2.3.3 郵件報文格式79
2.3.4 郵件訪問協議79
2.4 DNS:因特網的目錄服務83
2.4.1 DNS提供的服務83
2.4.2 DNS工作機理概述85
2.4.3 DNS記錄和報文89
2.5 P2P文件分發92
2.6 視頻流和內容分發網97
2.6.1 因特網視頻97
2.6.2 HTTP流和DASH98
2.6.3 內容分發網98
2.6.4 學習案例:Netflix、YouTube和看看101
2.7 套接字編程:生成網絡應用104
2.7.1 UDP套接字編程105
2.7.2 TCP套接字編程109
2.8 小結112
課后習題和問題113
復習題113
習題114
套接字編程作業118
Wireshark實驗:HTTP119
Wireshark實驗:DNS120
人物專訪120
第3章 運輸層121
3.1 概述和運輸層服務121
3.1.1 運輸層和網絡層的關系122
3.1.2 因特網運輸層概述123
3.2 多路復用與多路分解125
3.3 無連接運輸:UDP130
3.3.1 UDP報文段結構132
3.3.2 UDP檢驗和133
3.4 可靠數據傳輸原理134
3.4.1 構造可靠數據傳輸協議135
3.4.2 流水線可靠數據傳輸協議143
3.4.3 回退N步145
3.4.4 選擇重傳148
3.5 面向連接的運輸:TCP152
3.5.1 TCP連接152
3.5.2 TCP報文段結構154
3.5.3 往返時間的估計與超時157
3.5.4 可靠數據傳輸159
3.5.5 流量控制164
3.5.6 TCP連接管理166
3.6 擁塞控制原理170
3.6.1 擁塞原因與代價171
3.6.2 擁塞控制方法175
3.7 TCP擁塞控制176
3.7.1 公平性183
3.7.2 明確擁塞通告:網絡輔助擁塞控制184
3.8 小結185
課后習題和問題187
復習題187
習題189
編程作業195
Wireshark實驗:探究TCP196
Wireshark實驗:探究UDP196
人物專訪196
第4章 網絡層:數據平面198
4.1 網絡層概述198
4.1.1 轉發和路由選擇:數據平面和控制平面199
4.1.2 網絡服務模型202
4.2 路由器工作原理203
4.2.1 輸入端口處理和基于目的地轉發205
4.2.2 交換207
4.2.3 輸出端口處理209
4.2.4 何處出現排隊209
4.2.5 分組調度211
4.3 網際協議:IPv4、尋址、IPv6及其他214
4.3.1 IPv4數據報格式214
4.3.2 IPv4數據報分片216
4.3.3 IPv4編址217
4.3.4 網絡地址轉換225
4.3.5 IPv6227
4.4 通用轉發和SDN231
4.4.1 匹配233
4.4.2 動作234
4.4.3 匹配加動作操作中的OpenFlow例子234
4.5 小結236
課后習題和問題236
復習題236
習題237
Wireshark實驗240
人物專訪241
第5章 網絡層:控制平面242
5.1 概述242
5.2 路由選擇算法244
5.2.1 鏈路狀態路由選擇算法246
5.2.2 距離向量路由選擇算法248
5.3 因特網中自治系統內部的路由選擇:OSPF254
5.4 ISP之間的路由選擇:BGP256
5.4.1 BGP的作用257
5.4.2 通告BGP路由信息257
5.4.3 確定最好的路由259
5.4.4 IP任播261
5.4.5 路由選擇策略262
5.4.6 拼裝在一起:在因特網中呈現264
5.5 SDN控制平面265
5.5.1 SDN控制平面:SDN控制器和SDN網絡控制應用程序266
5.5.2 OpenFlow協議267
5.5.3 數據平面和控制平面交互的例子269
5.5.4 SDN的過去與未來270
5.6 ICMP:因特網控制報文協議272
5.7 網絡管理和SNMP274
5.7.1 網絡管理框架274
5.7.2 簡單網絡管理協議275
5.8 小結277
課后習題和問題278
復習題278
習題279
套接字編程作業281
編程作業282
Wireshark實驗282
人物專訪283
第6章 鏈路層和局域網285
6.1 鏈路層概述285
6.1.1 鏈路層提供的服務287
6.1.2 鏈路層在何處實現287
6.2 差錯檢測和糾正技術288
6.2.1 奇偶校驗289
6.2.2 檢驗和方法290
6.2.3 循環冗余檢測291
6.3 多路訪問鏈路和協議292
6.3.1 信道劃分協議294
6.3.2 隨機接入協議295
6.3.3 輪流協議301
6.3.4 DOCSIS:用于電纜因特網接入的鏈路層協議301
6.4 交換局域網302
6.4.1 鏈路層尋址和ARP303
6.4.2 以太網308
6.4.3 鏈路層交換機312
6.4.4 虛擬局域