本書按照以TCP/IP協議棧為基礎的五層網絡體系結構,自下而上地系統介紹了計算機網絡的基礎理論和技術,并通過新型網絡架構和網絡前沿專題部分向讀者介紹了近年來計算機網絡領域的前沿技術和研究成果,并盡可能地提供了詳盡的參考文獻。本書內容兼顧計算機網絡理論的系統性和前沿性、圖文并茂、層次清晰。可作為計算機科學與技術、軟件工程、通信工程等相關專業的本科生教材,還可供從事計算機網絡相關領域的科學研究及工程技術等人員參考。
前 言在當今社會向信息化和進一步開放方向發展的過程中,計算機網絡也以空前的速度、廣度和深度進一步發展。計算機網絡應用已遍及政治、經濟、軍事、科技、生活等幾乎人類活動的一切領域,并對社會發展、生產結構乃至人們的日常生活方式產生深刻的影響和強烈的沖擊。可見,充分了解和研究下一代互聯網中,滿足國家和社會對下一代互聯網的需求,已經成為我們當前的緊迫任務。
國務院于2015年7月印發的《關于積極推進“互聯網+”行動的指導意見》中指出,將互聯網的創新成果與經濟社會各領域深度融合的“互聯網+”具有廣闊前景和無限潛力,對推動我國經濟社會發展產生戰略性和全局性的影響。“互聯網+”涉及很多課程,其中計算機網絡就是一門重要的基礎課程。它既是高等學校軟件工程及計算機相關專業的一門核心專業基礎課程,也是非計算機專業學生學習和掌握計算機應用技術的一門專業基礎課程,同時還是軟件工程及計算機相關專業研究生入學考試全國統考課程。
筆者在大連理工大學軟件學院教授本科生“計算機網絡”課程多年,有豐富的教學實踐經驗和計算機網絡相關的科研積累。近年來,無論是在學術界還是工業界,計算機網絡均有著飛速的發展,以SDN、NFV、DTN等為代表的技術層出不窮,并在實際中有了廣泛的應用。為了讓學生能夠緊跟計算機網絡發展前沿,筆者基于教學、科研經驗,并在查閱了大量英文文獻和走訪思科、華為、華三等公司的基礎上編寫了本書。
本書根據計算機網絡中公認的五層體系結構由淺入深、循序漸進地介紹了計算機網絡的內容。全書共分為九章,章節內容具體安排如下。
第1章對計算機網絡的基本概念進行簡單的介紹,包括計算機網絡的定義和分類、發展歷程、組成、性能指標以及國際標準化組織。
第2章對計算機網絡體系結構進行深入介紹,包括計算機網絡體系結構的發展歷程、OSI/RM體系結構、TCP/IP體系結構、五層體系結構以及其他重要的網絡體系結構。
第3章介紹物理層相關概念以及技術,包括物理層提供的服務、數據傳輸方式、傳輸媒體,以及通信中的調制解調技術、編碼解碼技術、信道復用技術。最后解釋寬帶接入網相關技術。
第4章講述數據鏈路層的基本技術,首先簡要介紹數據鏈路層提供的服務,然后詳細介紹差錯檢測與糾錯方法、高級數據鏈路控制協議以及點對點協議,最后介紹以太網、虛擬局域網以及無線局域網的關鍵技術。
第5章介紹網絡層,首先介紹網絡層提供的服務,然后介紹網際協議、地址解析協議和逆地址解析協議、路由算法和路由協議、因特網組管理協議,最后介紹下一代網際協議IPv6、網絡地址轉換以及多協議標簽交換。
第6章講述傳輸層的基本概念,主要包括傳輸層提供的服務、用戶數據報協議,然后介紹TCP的基本原理、可靠傳輸的實現、流量控制以及擁塞控制。
第7章講述應用層的基本概念,首先介紹應用層提供的服務,然后詳細介紹域名系統、文件傳輸協議和簡單文件傳輸協議、遠程登錄協議、電子郵件、簡單網絡管理協議、動態主機配置協議、萬維網、多媒體傳輸的基本原理。
第8章對目前計算機網絡的新型網絡架構進行簡要介紹,重點介紹內容分發網絡、延時容忍網絡和軟件定義網絡。
第9章介紹了計算機網絡的前沿專題,包括網絡安全、軟交換技術、網絡虛擬化和移動自組織網絡。
本書在編寫過程中得到了多位高校教師和企業工程師的指導以及寶貴的意見,大連理工大學軟件學院的很多同學為本書提供了素材或參加了校對,在此深表感謝。筆者所在的大連理工大學阿爾法實驗室的同學為本書的編寫做出了巨大的貢獻,他們是蔡麗偉、杜宏壯、馮玉凡、侯杰、侯軻、康文杰、李夢琳、李世璞、劉嘉瑩、劉雷、劉明亮、劉鑫童、馬凱、毛夢依、石雅潔、謝佳楠、袁宇淵、張凱源、鄭文青,在此表示衷心的感謝!
本書內容參考了很多現有書籍、文獻資料和網絡資源,再次對這些資料的原著者表示感謝。本書的編寫工作得到了國家自然科學基金(61572106)、遼寧省自然科學基金(201602154)等項目的資助,在此向相關部門表示感謝!
由于編寫水平有限,書中難免存在一些不足和錯誤,懇請廣大讀者批評指正。
編者2018年2月
目 錄
前言
教學建議
第1章 計算機網絡的基本概念 1
1.1 計算機網絡的定義 1
1.2 計算機網絡的分類 2
1.2.1 按地理分布范圍分類 2
1.2.2 按交換方式分類 3
1.2.3 按傳輸媒體分類 7
1.2.4 按拓撲結構分類 8
1.3 計算機網絡的發展歷程 9
1.4 計算機網絡的組成 12
1.4.1 網絡邊緣 13
1.4.2 網絡核心 15
1.4.3 Internet的通信方式 17
1.5 計算機網絡的性能指標 19
1.5.1 速率 19
1.5.2 帶寬 19
1.5.3 吞吐量 19
1.5.4 時延 19
1.5.5 其他性能指標 20
1.6 計算機網絡的國際標準化組織 20
本章小結 22
思考題 23
第2章 計算機網絡體系結構 24
2.1 計算機網絡體系結構發展歷程 24
2.2 OSI/RM體系結構 26
2.2.1 OSI/RM的基本概念 26
2.2.2 OSI/RM各層基本功能 27
2.3 TCP/IP體系結構 30
2.3.1 TCP/IP的發展 30
2.3.2 TCP/IP四層模型 31
2.4 五層體系結構 33
2.4.1 五層參考模型 33
2.4.2 三種體系結構的對比 34
2.5 其他網絡體系結構 35
2.5.1 IEEE 802局域網體系結構 35
2.5.2 開放可編程網絡體系結構 37
2.5.3 面向服務的新型網絡體系結構 39
2.5.4 內容中心網絡體系結構 41
2.5.5 面向移動性的新型網絡體系結構 42
本章小結 43
思考題 43
第3章 物理層 44
3.1 物理層提供的服務 44
3.2 數據傳輸方式 44
3.2.1 單工、雙工和半雙工數據傳輸 44
3.2.2 異步傳輸和同步傳輸 45
3.2.3 頻帶傳輸和基帶傳輸 45
3.3 傳輸媒體 46
3.3.1 雙絞線 46
3.3.2 同軸電纜 46
3.3.3 光纖 47
3.3.4 無線傳輸 48
3.4 調制解調技術 49
3.4.1 ASK 50
3.4.2 FSK 51
3.4.3 PSK 52
3.4.4 多級調制 53
3.5 編碼解碼技術 54
3.5.1 不歸零制編碼 54
3.5.2 曼徹斯特編碼和差分曼徹斯特編碼 55
3.5.3 mB/nB編碼 55
3.6 信道復用技術 56
3.6.1 頻分復用 57
3.6.2 時分復用 58
3.6.3 碼分復用 59
3.6.4 波分復用 60
3.6.5 準同步數字系列(PDH)和同步數字系列(SDH) 61
3.7 寬帶接入網 63
3.7.1 xDSL技術 63
3.7.2 FTTx技術 65
3.7.3 EPON+LAN技術 67
3.7.4 光纖接入 68
本章小結 70
思考題 70
第4章 數據鏈路層 71
4.1 數據鏈路層提供的服務 71
4.2 差錯檢測與糾錯 72
4.2.1 奇偶校驗 73
4.2.2 校驗和方法 74
4.2.3 循環冗余檢測 75
4.3 高級數據鏈路控制協議 76
4.3.1 HDLC工作原理 76
4.3.2 HDLC幀格式和傳輸控制 77
4.4 點對點協議 79
4.4.1 PPP的特點 79
4.4.2 PPP的幀格式 81
4.4.3 PPP的工作狀態 82
4.5 以太網 83
4.5.1 以太網的發展 83
4.5.2 以太網MAC子層協議CSMA/CD 86
4.5.3 以太網MAC幀的格式和數據封裝 87
4.5.4 傳統以太網和高速以太網 90
4.6 虛擬局域網 92
4.6.1 VLAN概述 92
4.6.2 VLAN的幀格式 94
4.6.3 VLAN的運行 96
4.7 無線局域網 97
4.7.1 WLAN網絡結構 97
4.7.2 WLAN協議 98
4.7.3 其他種類的無線局域網 101
本章小結 103
思考題 103
第5章 網絡層 105
5.1 網絡層提供的服務 105
5.2 網際協議 106
5.2.1 IPv4地址分類 107
5.2.2 CIDR和VLSM 108
5.2.3 IP數據報的格式 109
5.2.4 IP數據報轉發流程 113
5.2.5 因特網控制報文協議 113
5.2.6 IP地址與硬件地址 116
5.3 地址解析協議和逆地址解析協議 117
5.3.1 ARP 117
5.3.2 數據報格式 118
5.3.3 RARP 118
5.4 路由算法和路由協議 118
5.4.1 概述 119
5.4.2 最短路徑優先算法 120
5.4.3 內部網關協議RIP 121
5.4.4 內部網關協議OSPF 122
5.4.5 外部網關協議BGP 123
5.5 因特網組管理協議 124
5.6 下一代網際協議IPv6 126
5.6.1 IPv6地址格式 126
5.6.2 IPv6地址類型 126
5.6.3 IPv6的數據報格式 126
5.6.4 IPv6路由選擇機制 128
5.6.5 IPv4向IPv6過渡 129
5.7 網絡地址轉換 130
5.7.1 NAT的由來 130
5.7.2 NAT的工作模型和特點 131
5.7.3 NAT的限制與解決方案 132
5.7.4 NAT的應用和實現 136
5.8 多協議標簽交換 138
5.8.1 MPLS的基本概念 138
5.8.2 MPLS的工作原理 139
5.8.3 MPLS的實際應用 141
本章小結 141
思考題 142
第6章 傳輸層 143
6.1 傳輸層提供的服務 143
6.1.1 進程到進程的通信 143
6.1.2 尋址 144
6.1.3 封裝與解封裝 144
6.1.4 多路復用與多路分解 145
6.1.5 流量控制與差錯控制 146
6.2 用戶數據報協議 148
6.2.1 UDP的用途 149
6.2.2 UDP的數據報格式 149
6.2.3 UDP的特點 150
6.3 TCP概述 151
6.3.1 TCP報文段的首部格式 151
6.3.2 TCP的編號與確認 153
6.3.3 TCP的連接管理 154
6.4 TCP可靠傳輸的實現 159
6.4.1 TCP重傳相關概念 159
6.4.2 TCP重傳機制 161
6.4.3 TCP可靠傳輸示例 162
6.5 TCP流量控制 164
6.6 TCP擁塞控制 166
6.6.1