《網路協定本質論》是2011年8月電子工業出版社出版的圖書,作者是李洋。
基本介紹
- 書名:網路協定本質論
- 作者:李洋
- ISBN:978-7-121-14116-4
- 頁數:732
- 定價:85.00元
- 出版社:電子工業出版社
- 出版時間:2011年8月
- 開本:16
宣傳語,內容簡介,前言,本書特色,目錄,
宣傳語
本書按照經典的OSI七層參考模型,分層詳細講述計算機網路的核心原理、協定以及套用開發要點,兼顧對當前計算機網路的熱點問題,如網路安全、雲計算、三網融合等話題展開討論,並為讀者介紹相關的網路套用工具。這本書不講網際網路,物聯網,3G網,雲計算……但他們全基於此!
內容簡介
本書分八篇共31章,具體組織安排如下:第一篇“計算機網路基礎篇”(第1章至第4章):介紹計算機網路基礎知識,包括計算機網路發展史、計算機網路設備、區域網路和廣域網技術等;第二篇“物理及數據鏈路層套用精解篇”(第5章至第6章):介紹計算機網路物理層和數據鏈路層的相關知識及其套用;第三篇“網路層套用精解篇”(第7章至第8章):介紹計算機網路核心層——網路層的基礎知識笑愉埋、核心協定及其套用;第四篇“傳輸層套用精解篇”(第9章):介紹計算機傳輸層原理及其套用;第五篇“套用層應辯戀盼用精解篇”(第10章至第24章):介紹計算機套用層常用協定基本原理、協定分析及套用;第六篇“網路安全篇”(第25章至第26章):介紹計算機網路常見威脅及其安全防護措施;第七篇“工具篇”(第27章至第28章):介紹計算機網路抓包和網路協定分析工具的使用;第八篇“計算機網路高級套用篇”(第29章至第31章):介紹計算機網路高級套用的熱門話題,包括無線網路、三網融合、雲計算。
本書面向眾多的網路技術工作者,包括網路工程師、網路管理員、網路安全工作者和網路開發人員以及網路愛好者。本書可以作為上述讀者群在實際工作、學習中的參考手冊,亦可作為高等院校計算機網路及套用的參考教材。
前言
為什麼要寫這本書?
自20世紀60年代以來,計算機網路從萌芽階段迅猛發展到進入尋常百姓家,也只不過幾十年的光景而已。無論是計算機網路的架構、技術,還是計算機網路的套用,發生了日新月異的變化。雲計算、Web 2.0、三網融合,等等新鮮的名詞和技術都在不斷地充斥和刺激著廣大用戶尤其是網路工程師、網路管理員等技術人員的視聽。而且如今社會上對網路技術人員的要求也越來越高,因此,計算機網路在自身發展和進化的同時訂霸,也促進了相關技術人員的成熟和進步。
筆者在網路和信息安全領域已經工作十多年了,從基礎網路運維管理到網路協定分析,從基礎的網路套用開發到網路信息安全架構分析都有所涉及。在工作過程中,與相關網路技術人員以及用戶的交流機會比較多,總會遇到這樣那樣的問題。比如說,SSL協定是怎么保證HTTP安全的呢?交換機和路由器到底有什麼區別,企業該怎么選擇這些網路設備呢?企業的網路中了ARP病毒,該怎么進行解決和防範呢?我們部署的企業入口網站,該怎么來進行網路拓撲設計和信息安全保障呢?……
我發現,在分析和解決這些問題的過程中,目前有部分網路技術工程師更多的是憑藉他們多年積姜尋祖騙累的寶貴經驗和教訓,來定位和分析問題的。他們通過大大小小成百上千的項目經驗積累,頭腦中形成了一套分析和解決問題的方法。然而,大多數的網路技術工程師還在學習和成長的過程中,他們遇到問題時大多求助於網路搜尋以及BBS論壇。這種方式的最大缺陷是難以快速、系統地獲取他們所需要了解的信息和知識,也難以系統、全面地提升他們的網路知識及技能。因此,急需有一本系統、全面的網路基礎及協定分析的書籍,以供網路技術工程師們在實踐中進行快速查找和參考。
去年筆者與電子工業出版社的高級策劃編輯胡辛征套洪尋就該問題進行了探討,我們一拍即合,認為這樣的書籍在目前市場上還是一個空白。為了滿足廣大網路技術人員對計算機網路相關原理、設備、協定及套用知識的快速、全面獲取的需求,從而達到高效解決實際工作問題的目的,我們決定進行合作,把這樣一本書籍奉獻給大家。白拜乃促
本書面向眾多的網路技術工作者,包括網路工程師、網路管理員、網路安全工作者和網路開發人員以及網路愛好者。本書亦可作為高等院校計算機網路及套用的參考教材。
筆者有多年從事網路運維、研究及開發的工作經驗,在精心編寫本書時還十分考辨探槳究內容的編排、章節的組織以及講解的方式,爭取讓讀者能夠在短時間內系統、全面地掌握計算機網路的技術知識、套用方法和安全理念。
本書特色
1.結構嚴謹,內容全面、系統
筆者對計算機網路內容的選取十分嚴謹,一環扣一環,從一個知識點過渡到另一個知識點非常順暢和自然。內容全面、系統,涵蓋了計算機網路基礎、計算機網路協定分析、計算機網路套用開發、計算機網路熱點分析、網路信息安全、計算機網路實用工具介紹等多個層面。
2.覆蓋面廣,適用的讀者群廣泛
本書在選材上,從適用人群、學習曲線等各個方面進行了細緻的分析和考慮,本書面向眾多的網路技術工作者,包括網路工程師、網路管理員、網路安全工作者和網路開發人員以及網路愛好者。
3.彌補市場空白,具有很高的參考和學術價值
本書彌補了網路基礎的協定分析書籍市場空白,在對計算機網路基礎進行詳細、全面講解的前提下,對網路協定分析、網路套用開發、網路信息安全等進行了詳細闡述,從而可以讓讀者在打牢基礎知識的前提下,在實踐中迅速加以套用,舉一反三,以解決實際遇到的問題。
本書內容
本書分八篇進行講解,共包括31章,並外加一個附錄:
第一篇“計算機網路基礎篇”(第1章至第4章):介紹計算機網路基礎知識,包括計算機網路發展史、計算機網路設備、區域網路和廣域網技術等;
第二篇“物理及數據鏈路層套用精解篇”(第5章至第6章):介紹計算機網路物理層和數據鏈路層的相關知識及其套用;
第三篇“網路層套用精解篇”(第7章至第8章):介紹計算機網路核心層——網路層的基礎知識、核心協定及其套用;
第四篇“傳輸層套用精解篇”(第9章):介紹計算機傳輸層原理及其套用;
第五篇“套用層套用精解篇”(第10章至第24章):介紹計算機套用層常用協定基本原理、協定分析及套用;
第六篇“網路安全篇”(第25章至第26章):介紹計算機網路常見威脅及其安全防護措施;
第七篇“工具篇”(第27章至第28章):介紹計算機網路抓包和網路協定分析工具的使用;
第八篇“計算機網路高級套用篇”(第29章至第31章):介紹計算機網路高級套用的熱門話題,包括無線網路、三網融合、雲計算;
附錄A:推薦和介紹計算機網路常用工具集。
致謝
筆者首先由衷地感謝電子工業出版社博文視點資訊有限公司總經理郭立,她對本書的大力支持是本書得以順利完成的巨大動力。其次,電子工業出版社博文視點資訊有限公司副總經理兼高級策劃編輯胡辛征和編輯顧慧芳在我寫書的過程中給了我無私的幫助。他們花費了大量的心血和精力,對於本書的質量和體系的把握起到了重要作用,使本書能得以儘快與讀者見面。最後,作者還要感謝家人的大力支持和無私奉獻,正因為有他們的關心和照顧,我才有足夠的時間和精力來完成撰寫工作。
由於筆者水平和時間有限,書中難免存在疏漏與不當之處,敬請專家和廣大讀者給予批評指正。李洋2011年2月於北京
目錄
第一篇 計算機網路基礎篇
第1章 計算機網路簡介 2
1.1 網路的基本概念 2
1.1.1 計算機網路的定義 2
1.1.2 計算機網路的發展歷史 2
1.1.3 計算機網路的基本組成 4
1.1.4 計算機網路的主要作用 6
1.2 ISO/OSI參考模型 6
1.2.1 七層協定 6
1.2.2 OSI每層的功能 8
1.3 TCP/IP參考模型 9
1.3.1 TCP/IP模型概述 9
1.3.2 TCP/IP的基本工作原理 10
1.3.3 TCP/IP與OSI的比較 10
第2章 計算機網路設備 12
2.1 網路接口卡 12
2.1.1 網路接口卡簡介 12
2.1.2 網路接口卡的主要功能部件 13
2.1.3 網路接口卡的主要類型 15
2.2 物理層設備——中繼器 17
2.3 集線器(HUB) 18
2.3.1 集線器簡介 18
2.3.2 集線器的主要特點 19
2.3.3 集線器的主要分類 20
2.3.4 集線器的常用接口 21
2.4 數據鏈路層設備——網橋 22
2.5 數據鏈路層/網路層設備——
交換機 23
2.5.1 基本原理 23
2.5.2 網路交換機的基本功能 24
2.5.3 網路交換機的交換模式 24
2.6 網路層設備——路由器 25
2.6.1 路由器的特徵和功能 25
2.6.2 路由器的分類 26
2.6.3 常見的路由協定 27
2.7 套用層設備——網關 28
第3章 區域網路技術 30
3.1 計算機區域網路的發展歷史 30
3.1.1 以太區域網路
(Ethernet Local Area Network) 30
3.1.2 乙太網的分類 31
3.1.3 無線區域網路(WLAN) 33
第4章 廣域網技術 38
4.1 廣域網概述 38
4.1.1 廣域網與區域網路的區別 38
4.1.2 廣域網的主要特點 38
4.2 廣域網的基本原理 39
4.2.1 虛電路廣域網 40
4.2.2 數據報廣域網 41
4.2.3 兩種廣域網的套用比較 41
4.3 廣域網的連線 42
4.3.1 廣域網的連線設備 42
4.3.2 廣域網的連線類型 42
4.4 廣域網的常用封裝協定 43
4.4.1 HDLC 43
4.4.2 PPP協定 43
4.4.3 幀中繼協定 44
4.4.4 ATM協定 44
4.5 廣域網的關鍵技術 44
4.5.1 公用交換電話網(PSTN) 44
4.5.2 綜合業務數字網(ISDN) 44
4.5.3 數字數據網DDN 45
4.5.4 X.25分組交換數據網 45
4.5.5 Frame Relay幀中繼 45
4.5.6 ATM 46
4.5.7 SONET/SDH傳輸技術 46
4.5.8 SMDS技術 46
4.5.9 MSTP技術 46
第二篇 物理及數據鏈路層套用精解篇
第5章 物理層原理及套用精解 50
5.1 物理層概述 50
5.1.1 物理層的定義 50
5.1.2 物理層的特性 50
5.1.3 物理層的主要功能 51
5.2 物理層導向傳輸介質 51
5.2.1 雙絞線 51
5.2.2 同軸電纜 52
5.2.3 光纖 52
5.3 物理層非導向傳輸介質 54
5.4 雙絞線 54
5.4.1 雙絞線的分類 54
5.4.2 超五類非禁止雙絞線 55
5.4.3 六類非禁止雙絞線 55
5.4.4 七類雙禁止雙絞線 56
5.4.5 如何選用雙絞線 56
5.5 光纖的分類 57
5.5.1 按傳輸模式分類 57
5.5.2 按纖芯直徑分類 57
5.5.3 按光纖纖芯折射率分布分類 57
5.6 物理層重要接口及標準 57
5.6.1 串列接口通信原理 57
5.6.2 RS-232串列接口標準 58
5.6.3 EIA標準接口 59
第6章 數據鏈路層原理及套用精解 60
6.1 數據鏈路層的主要功能簡介 60
6.2 數據鏈路層的成幀功能 61
6.2.1 面向位元組的成幀 61
6.2.2 面向位的分幀 61
6.2.3 基於時鐘的成幀 61
6.3 數據鏈路層的差錯控制功能 61
6.3.1 糾錯碼方案 62
6.3.2 檢錯碼方案 62
6.4 數據鏈路層的流量控制功能 62
6.4.1 XON/XOFF方案 62
6.4.2 視窗協定機制 63
6.5 數據鏈路層協定 63
6.5.1 IPX協定 63
6.5.2 SPX協定 63
6.5.3 IPX/SPX協定 64
6.5.4 NetBIOS協定 64
6.5.5 NetBEUI協定 64
6.5.6 HDLC協定 65
6.5.7 LAPB協定 65
6.5.8 SDLC協定 66
6.6 ARP/RARP協定 66
6.6.1 ARP/RARP協定簡介 66
6.6.2 ARP/RARP協定報文格式 67
6.6.3 ARP協定的安全問題和安全威脅 68
6.7 VLAN技術 70
6.7.1 VLAN簡介 70
6.7.2 VLAN的技術特點 72
6.7.3 VLAN分類 72
6.8 PPP協定 73
6.8.1 PPP協定簡介 73
6.8.2 PPP協定封裝 73
6.8.3 PPP鏈路建立的五個階段 74
6.9 PPPOE協定 76
6.9.1 PPPOE協定簡介 76
6.9.2 協定的基本框架 76
6.9.3 PPPOE通信流程 77
6.9.4 PPPOE的LCP配置選項 78
6.9.5 PPP會話終結 78
6.9.6 PPP會話續傳(L2TP VPN) 79
6.9.7 用戶認證和IP位址分配 80
6.10 第二層隧道協定L2TP 81
6.10.1 L2TP簡介 81
6.10.2 套用L2TP技術的網路拓撲結構 82
6.10.3 L2TP報頭格式 82
6.10.4 相關技術與套用 84
第三篇 網路層套用精解篇
第7章 網路層原理 88
7.1 網路層概述 88
7.2 虛電路和數據報 88
7.2.1 通信交換技術 88
7.2.2 虛電路操作方式和虛電路服務 88
7.2.3 數據報操作方式及數據報服務 89
7.2.4 兩種操作方式/網路服務的
特點和比較 89
7.3 IPv4協定 90
7.3.1 IPv4協定包結構 92
7.3.2 IP位址 93
7.3.3 子網 96
7.4 IPv6協定 97
7.4.1 IPv6誕生的發展背景 97
7.4.2 IPv6的新特性 98
7.4.3 IPv6的報文格式 100
7.4.4 IPv6的地址空間及其表示方法 102
7.4.5 IPv6的地址類型 102
7.4.6 IPv4向IPv6過渡的技術 103
7.4.7 IPv6與IPv4互通技術 108
第8章 網路層核心算法和協定 112
8.1 路由和路由算法簡介 112
8.2 路由算法設計原則和目的 112
8.3 路由的基本原理 113
8.3.1 路由的內涵 113
8.3.2 路由算法的基本類型 114
8.3.3 路由好壞的度量標準 115
8.4 幾種主要的路由算法 116
8.4.1 最短路徑優先算法——
Dijkstra算法 116
8.4.2 擴散算法(Flooding) 117
8.4.3 距離向量路由算法
(Distance Vector Routing) 117
8.4.4 鏈路狀態路由算法
(Link State Routing) 117
8.5 幾種主要的路由協定 117
8.5.1 路由協定的演進發展 117
8.5.2 RIP路由協定 118
8.5.3 OSPF協定 119
8.5.4 IGRP路由協定 122
8.5.5 BGP協定 123
8.5.6 路由協定的選擇 123
8.6 MPLS(多協定標記交換)技術 124
8.6.1 MPLS(Multi-Protocol Label
Switching)簡介 124
8.6.2 MPLS原理 129
8.6.3 MPLS的基本選路方法 130
8.7 CMP協定 131
8.7.1 ICMP協定簡介 131
8.7.2 ICMP安全問題分析 132
8.8 IPSec協定 133
8.8.1 IPSec簡介 133
8.8.2 IPSec協定組 134
8.8.3 IPSec工作模式 135
8.8.4 AH頭結構 136
8.8.5 ESP頭結構 137
第四篇 傳輸層套用精解篇
第9章 傳輸層原理及套用精解 140
9.1 傳輸層概述 140
9.1.1 傳輸層的基本功能 140
9.1.2 傳輸層的服務類型和協定級別 141
9.2 TCP協定 141
9.2.1 TCP協定的報文格式 141
9.2.2 TCP“三次握手”建立連線 143
9.2.3 TCP“四次告別”關閉連線 143
9.2.4 TCP中的連線埠 145
9.2.5 TCP可靠傳輸 152
9.2.6 TCP 流量控制 153
9.3 UDP協定 153
9.4 TCP/IP協定棧面臨的
網路安全問題 154
9.4.1 IP欺騙 154
9.4.2 SYN Flooding 155
9.4.3 ACK Floodinging 158
9.4.4 UDP Flooding 159
9.4.5 Connection Flooding 159
9.5 RSVP協定 160
9.5.1 RSVP簡介 160
9.5.2 RSVP數據流 161
9.5.3 RSVP數據流處理 162
9.5.4 RSVP服務質量(QoS) 162
9.5.5 RSVP連線啟動 162
9.5.6 RSVP資源預訂類型 162
9.5.7 RSVP軟狀態實現 163
9.5.8 RSVP操作模型 163
9.5.9 加權平均排隊方案 164
9.5.10 RSVP訊息和包格式 164
第五篇 套用層套用精解篇
第10章 HTTP/HTTPS協定原理及
套用精解 172
10.1 HTTP協定原理 172
10.1.1 Web簡介 172
10.1.2 HTTP簡介 173
10.1.3 HTTP中的幾個重要概念 173
10.1.4 HTTP流程的基本原理 174
10.1.5 HTTP非持久連線和持久連線 176
10.2 HTTP 請求報文 178
10.3 HTTP回響報文 179
10.4 HTTP訊息報頭 180
10.4.1 普通報頭 180
10.4.2 請求報頭 180
10.4.3 回響報頭 181
10.4.4 實體報頭 182
10.5 HTTP編程套用實例 182
10.5.1 HTTP請求包 182
10.5.2 HTTP應答包 183
10.5.3 Socket類與ServerSocket類 184
10.5.4 讀取HTTP包代碼示例 184
10.6 HTTPS協定原理 189
10.6.1 SSL簡介 189
10.6.2 SSL基本原理 190
10.6.3 SSL協定通信流程 193
10.6.4 SSL協定結構 195
10.6.5 SSL與TLS 196
10.7 HTTPS編程套用實例 198
10.7.1 伺服器端代碼 198
10.7.2 客戶端代碼 201
第11章 FTP協定原理及套用精解 203
11.1 FTP簡介 203
11.2 FTP基本概念 204
11.3 FTP模型 205
11.4 FTP的用戶分類及許可權歸屬 206
11.4.1 Real賬戶 206
11.4.2 Guest用戶 206
11.4.3 Anonymous(匿名)用戶 206
11.5 通過FTP傳輸檔案的一般步驟 206
11.6 FTP基本原理 207
11.6.1 傳輸方式 207
11.6.2 FTP Port模式和FTP Passive模式 208
11.7 FTP基本命令 211
11.8 FTP套用開發 213
11.8.1 C++實現 213
11.8.2 Java實現 216
11.9 FTP安全問題 218
第12章 DNS協定原理及套用精解 220
12.1 DNS簡介 220
12.2 DNS基本概念 222
12.2.1 DNS組成 222
12.2.2 域名空間和資源記錄 222
12.2.3 命名規則 223
12.2.4 資源記錄
(Resource Record,RR) 223
12.2.5 RR的文本表示 225
12.2.6 別名和統一命名 225
12.2.7 查詢 226
12.3 名字伺服器原理 228
12.3.1 介紹 228
12.3.2 資料庫如何被劃分為區 229
12.3.3 名字伺服器高級內容 230
12.4 Resolver原理 231
12.4.1 客戶-Resolver的接口 231
12.4.2 Resolver的內部機制 232
12.5 DNS報文格式 234
12.6 DNS報文舉例 237
12.6.1 QNAME=SRI-NIC ARPA,
QTYPE=A 237
12.6.2 QNAME=SRI-NIC ARPA,
QTYPE=* 238
12.6.3 QNAME=SRI-NIC ARPA,
QTYPE=MX 239
12.6.4 QNAME=SIR-NIC ARPA,
QTYPE=A 239
12.6.5 QNAME=BRL MIL,QTYPE=A 240
12.6.6 QNAME=USC-ISIC ARPA,
QTYPE=A 240
12.6.7 QNAME=USC-ISIC ARPA,
QTYPE=CNAME 241
12.6.8 解析例子 241
12.7 DNS安全問題及對策 243
12.7.1 DNS安全問題 243
12.7.2 DNS安全解決方案 244
第13章 DHCP協定原理及套用精解 249
13.1 DHCP簡介 249
13.2 DHCP工作流程 249
13.3 DHCP租用期限的工作原理 252
13.4 DHCP的報文格式 253
13.5 動態地址分配過程 254
13.6 IP位址衝突防範 255
第14章 電子郵件協定原理及套用精解 256
14.1 SMTP簡介 256
14.2 電子郵件系統的組成原理 257
14.2.1 郵件傳遞代理(MTA) 257
14.2.2 郵件獲取代理(MSA) 258
14.2.3 郵件客戶代理(MUA) 258
14.3 電子郵件傳輸協定原理 258
14.3.1 SMTP的通信模型 258
14.3.2 SMTP協定的郵件路由過程 260
14.3.3 SMTP的基本命令 260
14.3.4 SMTP協定會話流程示意 262
14.3.5 mail relay簡介 262
14.4 POP & POP3:郵局協定
(郵局協定第3版)簡介 263
14.5 協定結構 263
14.6 POP3命令流程示意 264
14.7 使用telnet連線Winmail Server
收信 265
14.8 SMTP套用開發實例 266
14.8.1 郵件頭準備 266
14.8.2 由Socket套接字為SMTP
提供網路通信基礎 267
14.8.3 SMTP會話應答的實現 267
14.9 POP3套用開發實例 269
14.9.1 使用JavaMail 269
14.9.2 使用PHP實現 271
14.10 防治垃圾郵件的
主流策略和技術 277
14.10.1 SMTP用戶認證技術 277
14.10.2 逆向DNS解析 277
14.10.3 實時黑名單過濾 278
14.10.4 白名單過濾 278
14.10.5 內容過濾 278
14.10.6 IMAP協定簡介 279
14.10.7 IMAP與POP3及Web Mail的
比較 279
第15章 SNMP協定原理及套用精解 281
15.1 SNMP概述 281
15.2 SNMP的工作原理 281
15.2.1 網路管理模型 281
15.2.2 網路管理協定結構 283
15.2.3 網路管理服務 283
15.2.4 委託代理 284
15.3 管理信息結構SMI 284
15.3.1 ASN.1 284
15.3.2 文本約定 285
15.3.3 對象定義 286
15.3.4 Trap定義 286
15.3.5 對象標誌符 287
15.3.6 表對象的定義 288
15.3.7 對象和對象實例的區別 289
15.3.8 OID的字典序 289
15.4 協定數據單元
(PDU-Protocol Data Unit) 290
15.4.1 SNMP報文格式 290
15.4.2 SNMP報文類型 290
15.4.3 SNMPv2基本的PDU格式 291
15.4.4 SNMP訊息的生成 292
15.4.5 SNMP訊息的接受和處理 292
15.5 SNMP協定操作 293
15.5.1 GetRequest 293
15.5.2 GetNextRequest—PDU 295
15.5.3 Response——PDU 297
15.5.4 SetRequest——PDU 299
15.5.5 GetBulkRequest——PDU 301
15.5.6 InformRequest——PDU 303
15.5.7 Trap——PDU 304
15.6 SNMP的安全控制 306
15.7 SNMP套用開發實例 308
15.7.1 SNMP傳送訊息 308
15.7.2 SNMP接受訊息 312
第16章 SIP協定原理及套用精解 315
16.1 SIP歷史簡介 315
16.2 SIP原理簡介 316
16.2.1 基本原理 316
16.2.2 會話構成 317
16.2.3 SIP結構 318
16.2.4 SIP訊息 319
16.2.5 SIP訊息實例 321
16.2.6 H.323和SIP協定的比較 325
16.3 SDP協定 326
16.3.1 SDP協定的功能描述 326
16.3.2 SDP協定的會話描述 327
16.4 SIP開源協定棧介紹 328
16.4.1 OPAL 328
16.4.2 VOCAL 329
16.4.3 sipX 329
16.4.4 ReSIProcate 330
16.4.5 oSIP 331
第17章 RTP/RTSP/SRTP協定 332
17.1 RTP概述 332
17.1.1 流媒體簡介 332
17.1.2 RTP簡介 332
17.1.3 RTP的協定層次 333
17.1.4 RTP的封裝 334
17.1.5 RTCP的封裝 334
17.1.6 RTP的會話過程 336
17.2 RTCP原理 336
17.2.1 RTCP簡介 336
17.2.2 RTCP信息包 337
17.2.3 RTCP傳輸間隔 338
17.2.4 SR源報告包和RR接收者
報告包 339
17.2.5 SDES源描述包 339
17.2.6 BYE斷開RTCP包 340
17.2.7 APP特殊套用包 340
17.2.8 RTP/ RTCP的不足之處 341
17.3 SRTP協定 341
第18章 P2P協定原理及套用精解 343
18.1 P2P概述 343
18.1.1 P2P簡介 343
18.1.2 Web站點交換與P2P傳輸的比較 345
18.1.3 P2P的定義和特點 346
18.1.4 P2P的用途 347
18.2 P2P協定分類簡介 348
18.3 集中式P2P簡介 349
18.4 全分散式非結構化P2P算法簡介 349
18.4.1 Gnutella 349
18.4.2 Freenet 351
18.5 半分散式P2P算法簡介 353
18.5.1 Kazaa 353
18.5.2 BitTorrent 353
18.6 基於DHT的結構化P2P
算法簡介 356
18.6.1 DHT 356
18.6.2 chord 359
18.6.3 Kademlia 360
18.6.4 Pastry 362
18.6.5 Tapestry 363
18.6.6 CAN 363
18.6.7 Koorde 365
18.6.8 Viceroy 366
18.6.9 Bamboo 367
18.6.10 Tourist 367
18.6.11 Accordion 369
18.7 P2P安全問題分析 370
18.7.1 P2P技術存在的安全缺陷 371
18.7.2 P2P網路面臨的主要安全威脅 371
18.7.3 P2P網路安全的防禦體系建設 373
18.7.4 P2P安全技術的研究重點 374
第19章 SOAP協定原理及套用精解 378
19.1 SOAP協定簡介 378
19.2 SOAP訊息舉例 379
19.3 SOAP與XML的關係 380
19.4 SOAP封裝 380
19.4.1 SOAP encodingStyle屬性 381
19.4.2 封裝版本模型 381
19.5 SOAP頭 381
19.5.1 使用頭屬性 382
19.5.2 SOAP actor屬性 382
19.5.3 SOAP mustUnderstand屬性 382
19.6 SOAP體 383
19.6.1 SOAP頭和體的關係 383
19.6.2 SOAP錯誤 383
19.7 SOAP編碼 384
19.7.1 XML中的編碼類型規則 385
19.7.2 簡單類型 387
19.8 多態accessor 389
19.9 Compound types複合類型 389
19.9.1 複合值,結構和值引用 389
19.9.2 數組 391
19.9.3 一般複合類型 395
19.10 預設值 396
19.11 SOAP root屬性 396
19.12 在HTTP中使用SOAP 396
19.12.1 SOAP HTTP請求 397
19.13 在RPC中使用SOAP 398
19.13.1 RPC和SOAP體 398
19.13.2 RPC和SOAP頭 399
19.14 SOAP封裝舉例 399
19.14.1 請求編碼舉例 399
19.14.2 應答編碼舉例 400
19.15 SOAP協定套用開發實例 401
19.15.1 PHP SOAP開發實例 401
19.15.2 Java SOAP開發實例 403
第20章 SSH協定原理及套用精解 406
20.1 SSH概述 406
20.2 SSH基本原理 407
20.2.1 主機密鑰機制 407
20.2.2 字元集和數據類型 408
20.2.3 命名規則及訊息編碼 410
20.2.4 SSH協定的可擴展能力 411
20.3 SSH中用戶認證方式 412
20.3.1 概述 412
20.3.2 認證過程 412
20.3.3 用戶認證方式 414
20.4 SSH1與SSH2的主要區別概述 417
20.4.1 SSH1 417
20.4.2 SSH2 418
第21章 LDAP協定原理及套用精解 419
21.1 LDAP簡介 419
21.2 LDAP原理 421
21.2.1 LDAP安全和訪問控制 421
21.2.2 LDAP目錄樹結構 421
21.2.3 LDAP複製 425
21.2.4 LDAP存儲結構原理 426
21.3 LDAP目錄客戶端訪問工具 428
21.3.1 openldap命令行 428
21.3.2 ldapbrowser Java開源LDAP
客戶端工具 429
21.4 LDAP如何工作以及
如何開發LDAP的套用 429
21.5 LDAP的主從備份功能 432
21.6 LDAP API 436
21.6.1 LDAP API簡介 436
21.6.2 LDAP API函式調用 437
21.6.3 使用API示例代碼 445
第22章 SOCKS協定原理及套用精解 447
22.1 SOCKS簡介 447
22.2 基於TCP協定的客戶 447
22.3 請求 448
22.4 地址 449
22.5 應答 449
22.6 基於UDP協定的客戶 451
第23章 XMPP協定原理及套用精解 452
23.1 XMPP簡介 452
23.1.1 XMPP協定的優點 452
23.1.2 XMPP協定的缺點 452
23.2 XMPP基礎 453
23.2.1 網路層次和數據包 453
23.2.2 XMPP的節點與路由 454
23.2.3 地址標識 454
23.3 XMPP核心數據包 454
23.3.1 公有屬性 455
23.3.2 初始化XML stream,身份驗證 455
23.3.3 Roster獲取聯繫人列表 456
23.3.4 Presence狀態數據包 456
23.3.5 Message信息數據包 457
23.4 XMPP擴展 458
23.4.1 通過vcard-temp獲取電子名片 458
23.4.2 通過In-Band Bytestreams
傳輸二進制數據 459
23.4.3 通過SOCKS5 Bytestreams
傳輸二進制數據 459
23.4.4 擴展機制的缺點 461
第24章 Telnet協定原理及套用精解 462
24.1 Telnet簡介 462
24.2 Telnet基本概念 462
24.3 Telnet工作過程 463
24.4 適應異構 464
24.5 傳送遠地命令 464
24.6 數據流向 465
24.7 強制命令 465
24.8 選項協商 465
24.9 Telnet常用命令 466
第六篇 網路安全篇
第25章 計算機網路安全威脅及策略 468
25.1 Scanning(掃描攻擊) 468
25.1.1 TCP全連線掃描 468
25.1.2 TCP半連線(SYN)掃描 469
25.1.3 UDP掃描 469
25.1.4 標誌獲取掃描 469
25.1.5 包分片 469
25.1.6 欺騙掃描 469
25.1.7 標識掃描 470
25.1.8 FTP反彈掃描 470
25.1.9 源連線埠掃描 470
25.1.10 主機掃描 470
25.1.11 作業系統“指紋”掃描 471
25.2 木馬 472
25.3 拒絕服務攻擊和分散式
拒絕服務攻擊 474
25.3.1 DoS攻擊 474
25.3.2 DDoS攻擊 477
25.4 病毒 479
25.4.1 病毒的起源和歷程 479
25.4.2 病毒的主要類型 480
25.5 IP Spoofing 481
25.6 ARP Spoofing 481
25.7 Phishing 481
25.8 Botnet 484
25.9 跨站腳本攻擊 485
25.10 零日攻擊(Zero Day Attack) 485
25.11 “社會工程學”攻擊 486
25.12 構建企業安全防範體系(架構) 487
25.12.1 企業安全防範體系(架構)的
概念 487
25.12.2 企業安全架構的層次結構及
相關安全技術 488
25.12.3 企業安全防範架構設計準則 490
25.13 網路最佳化須做好的七項工作 492
25.13.1 做好網路設計 492
25.13.2 選擇合適的網路互聯設備 492
25.13.3 確認網線和網路設備工作正常 492
25.13.4 最佳化網卡 493
25.13.5 配備高性能的伺服器 493
25.13.6 做好流量監控與管理 493
25.13.7 做好網路安全 494
25.14 維護網站安全必須“做好”的
10件事 495
25.15 網路流量管理 497
25.15.1 網路流量管理的範疇 497
25.15.2 需要關注的常見網路流量 499
25.15.3 網路流量管理的策略 500
25.16 企業備份和恢復全攻略 501
25.16.1 數據備份和恢復簡介 501
25.16.2 常見的數據備份策略 502
25.16.3 Windows下的數據備份和
恢復軟體 504
25.16.4 Linux下的開源數據備份和
恢復軟體 507
25.16.5 硬碟恢復 511
25.16.6 套用磁碟陣列——RAID 512
25.16.7 套用三大存儲設備——SAN、
DAS和NAS 514
25.16.8 合理制定備份和恢復計畫 518
第26章 網路安全技術概覽 521
26.1 網路層防護——防火牆 521
26.1.1 防火牆簡介 521
26.1.2 防火牆的分類 523
26.1.3 傳統防火牆技術 524
26.1.4 新一代防火牆的技術特點 525
26.1.5 防火牆技術的發展趨勢 527
26.1.6 防火牆的配置方式 528
26.1.7 防火牆的實際安全部署建議 529
26.2 套用層防護:IDS/IPS 531
26.2.1 入侵檢測系統(IDS)簡介 531
26.2.2 入侵檢測技術的發展 532
26.2.3 入侵檢測的分類 533
26.2.4 入侵防禦系統(IPS) 537
26.2.5 IPS的發展 537
26.2.6 IPS技術特徵 538
26.2.7 IPS的功能特點 538
26.2.8 IPS產品種類 541
26.3 網關級防護——UTM 542
26.4 Web套用綜合防護——WAF 543
26.5 數據防護——數據加密 544
26.5.1 加密技術的基本概念 544
26.5.2 加密系統分類 545
26.5.3 常用的加密算法 547
26.5.4 加密算法的主要套用場景 548
26.6 遠程訪問安全保障——VPN 549
26.6.1 VPN簡介 549
26.6.2 VPN的分類 550
26.7 身份認證技術 552
26.7.1 靜態密碼 552
26.7.2 智慧卡(IC卡) 553
26.7.3 簡訊密碼 553
26.7.4 動態口令牌 553
26.7.5 USB KEY 553
26.7.6 生物識別技術 554
26.7.7 雙因素身份認證 554
第七篇 工具篇
第27章 Wireshark抓包工具介紹 556
27.1 Wiresahrk簡介 556
27.2 安裝Wireshark 556
27.2.1 在Linux下安裝 556
27.2.2 在Windows下安裝 557
27.3 Wireshark用戶界面介紹 557
27.3.1 主視窗 558
27.3.2 主選單 559
27.3.3 “File”選單 559
27.3.4 “Edit”選單 561
27.3.5 “View”選單 562
27.3.6 “Go”選單 564
27.3.7 “Capture”選單 565
27.3.8 “Analyze”選單 566
27.3.9 “Statistics”選單 567
27.3.10 “Help”選單 567
27.3.11 “Main”工具列 568
27.3.12 “Filter”工具列 569
27.3.13 “Pcaket List”面板 570
27.3.14 “Packet Details”面板 571
27.3.15 “Packet Byte”面板 571
27.3.16 狀態欄 572
27.4 實時捕捉數據包 572
27.4.1 簡介 572
27.4.2 開始捕捉 572
27.4.3 捕捉接口對話框 573
27.4.4 捕捉選項對話框 574
27.4.5 捕捉檔案格式、模式設定 576
27.4.6 鏈路層包頭類型 576
27.4.7 捕捉時過濾 577
27.4.8 停止捕捉 578
27.4.9 重新啟動捕捉 578
27.5 檔案輸入/輸出及列印 579
27.5.1 打開捕捉檔案 579
27.5.2 “save Capture File As/保存檔案為”
對話框 580
27.5.3 輸出格式 581
27.5.4 合併捕捉檔案 582
27.5.5 檔案集合 583
27.5.6 導出數據 584
27.5.7 列印包 587
27.6 處理已經捕捉的包 588
27.6.1 瀏覽捕捉的包 588
27.6.2 彈出選單項 589
27.6.3 瀏覽時過濾包 592
27.6.4 建立顯示過濾表達式 593
27.6.5 “Filter Expression/過濾表達式”
對話框 595
27.6.6 定義、保存過濾器 596
27.6.7 查找包 597
27.6.8 跳轉到指定的包 598
27.6.9 標記包 598
27.6.10 時間顯示格式及參考時間 599
27.7 Wireshark高級套用 599
27.7.1 “Follow TCP Stream” 599
27.7.2 時間戳 601
27.7.3 合併包 602
27.7.4 名稱解析 603
27.7.5 校檢和 604
27.8 Wireshark統計功能 605
27.8.1 功能說明 605
27.8.2 摘要視窗 606
27.8.3 “Protocol Hierarchy”視窗 606
27.8.4 “Endpoints” 607
27.8.5 會話/conversations 609
27.8.6 “IO Graphs”視窗 609
27.8.7 服務相應時間 610
第28章 ntop網路流量分析工具介紹 612
28.1 ntop簡介 612
28.2 ntop的安裝及參數配置 612
28.2.1 ntop在Windows下的安裝 612
28.2.2 ntop在Linux下的安裝 612
28.3 ntop對網路流量的統計分析 613
28.3.1 ntop選項介紹 613
28.3.2 ntop選項具體分析介紹 615
第八篇 計算機網路高級套用篇
第29章 無線通信技術概覽 632
29.1 短距離無線通信技術 632
29.1.1 WLAN 632
29.1.2 紅外通信技術 634
29.1.3 無線雷射通信技術 637
29.1.4 藍牙通信技術 639
29.1.5 NFC技術 642
29.1.6 ZigBee技術 643
29.1.7 UWB技術 644
29.2 遠距離無線通信技術 644
29.2.1 無線網橋 644
29.2.2 無線Mesh網路 647
29.2.3 移動通信網路 650
29.2.4 衛星通信網路 668
第30章 計算機網路套用熱點——
雲計算 670
30.1 雲計算概述 670
30.2 雲計算的幾大形式 672
30.3 雲計算的特點 672
30.4 雲計算的商業現狀 675
30.5 什麼不是雲計算 678
30.6 雲計算的20個基本定義 678
30.7 雲計算當前的主要套用 681
30.8 雲計算在存儲領域的
發展趨勢和優勢 683
30.9 雲安全 684
第31章 三網融合 687
31.1 三網融合提出的背景 687
31.2 三網融合發展情況 687
31.3 三網融合的技術可行性 689
31.3.1 公用電信網 690
31.3.2 網際網路 691
31.3.3 有線電視網 696
31.4 三網融合的技術方案 698
31.4.1 三網融合技術難點 699
31.4.2 現有資源 699
31.4.3 三網融合的3個重要技術 699
附錄A 網路工具資源匯總 700
參考文獻 712
去年筆者與電子工業出版社的高級策劃編輯胡辛征就該問題進行了探討,我們一拍即合,認為這樣的書籍在目前市場上還是一個空白。為了滿足廣大網路技術人員對計算機網路相關原理、設備、協定及套用知識的快速、全面獲取的需求,從而達到高效解決實際工作問題的目的,我們決定進行合作,把這樣一本書籍奉獻給大家。
本書面向眾多的網路技術工作者,包括網路工程師、網路管理員、網路安全工作者和網路開發人員以及網路愛好者。本書亦可作為高等院校計算機網路及套用的參考教材。
筆者有多年從事網路運維、研究及開發的工作經驗,在精心編寫本書時還十分考究內容的編排、章節的組織以及講解的方式,爭取讓讀者能夠在短時間內系統、全面地掌握計算機網路的技術知識、套用方法和安全理念。
本書特色
1.結構嚴謹,內容全面、系統
筆者對計算機網路內容的選取十分嚴謹,一環扣一環,從一個知識點過渡到另一個知識點非常順暢和自然。內容全面、系統,涵蓋了計算機網路基礎、計算機網路協定分析、計算機網路套用開發、計算機網路熱點分析、網路信息安全、計算機網路實用工具介紹等多個層面。
2.覆蓋面廣,適用的讀者群廣泛
本書在選材上,從適用人群、學習曲線等各個方面進行了細緻的分析和考慮,本書面向眾多的網路技術工作者,包括網路工程師、網路管理員、網路安全工作者和網路開發人員以及網路愛好者。
3.彌補市場空白,具有很高的參考和學術價值
本書彌補了網路基礎的協定分析書籍市場空白,在對計算機網路基礎進行詳細、全面講解的前提下,對網路協定分析、網路套用開發、網路信息安全等進行了詳細闡述,從而可以讓讀者在打牢基礎知識的前提下,在實踐中迅速加以套用,舉一反三,以解決實際遇到的問題。
本書內容
本書分八篇進行講解,共包括31章,並外加一個附錄:
第一篇“計算機網路基礎篇”(第1章至第4章):介紹計算機網路基礎知識,包括計算機網路發展史、計算機網路設備、區域網路和廣域網技術等;
第二篇“物理及數據鏈路層套用精解篇”(第5章至第6章):介紹計算機網路物理層和數據鏈路層的相關知識及其套用;
第三篇“網路層套用精解篇”(第7章至第8章):介紹計算機網路核心層——網路層的基礎知識、核心協定及其套用;
第四篇“傳輸層套用精解篇”(第9章):介紹計算機傳輸層原理及其套用;
第五篇“套用層套用精解篇”(第10章至第24章):介紹計算機套用層常用協定基本原理、協定分析及套用;
第六篇“網路安全篇”(第25章至第26章):介紹計算機網路常見威脅及其安全防護措施;
第七篇“工具篇”(第27章至第28章):介紹計算機網路抓包和網路協定分析工具的使用;
第八篇“計算機網路高級套用篇”(第29章至第31章):介紹計算機網路高級套用的熱門話題,包括無線網路、三網融合、雲計算;
附錄A:推薦和介紹計算機網路常用工具集。
致謝
筆者首先由衷地感謝電子工業出版社博文視點資訊有限公司總經理郭立,她對本書的大力支持是本書得以順利完成的巨大動力。其次,電子工業出版社博文視點資訊有限公司副總經理兼高級策劃編輯胡辛征和編輯顧慧芳在我寫書的過程中給了我無私的幫助。他們花費了大量的心血和精力,對於本書的質量和體系的把握起到了重要作用,使本書能得以儘快與讀者見面。最後,作者還要感謝家人的大力支持和無私奉獻,正因為有他們的關心和照顧,我才有足夠的時間和精力來完成撰寫工作。
由於筆者水平和時間有限,書中難免存在疏漏與不當之處,敬請專家和廣大讀者給予批評指正。李洋2011年2月於北京
第一篇 計算機網路基礎篇
第1章 計算機網路簡介 2
1.1 網路的基本概念 2
1.1.1 計算機網路的定義 2
1.1.2 計算機網路的發展歷史 2
1.1.3 計算機網路的基本組成 4
1.1.4 計算機網路的主要作用 6
1.2 ISO/OSI參考模型 6
1.2.1 七層協定 6
1.2.2 OSI每層的功能 8
1.3 TCP/IP參考模型 9
1.3.1 TCP/IP模型概述 9
1.3.2 TCP/IP的基本工作原理 10
1.3.3 TCP/IP與OSI的比較 10
第2章 計算機網路設備 12
2.1 網路接口卡 12
2.1.1 網路接口卡簡介 12
2.1.2 網路接口卡的主要功能部件 13
2.1.3 網路接口卡的主要類型 15
2.2 物理層設備——中繼器 17
2.3 集線器(HUB) 18
2.3.1 集線器簡介 18
2.3.2 集線器的主要特點 19
2.3.3 集線器的主要分類 20
2.3.4 集線器的常用接口 21
2.4 數據鏈路層設備——網橋 22
2.5 數據鏈路層/網路層設備——
交換機 23
2.5.1 基本原理 23
2.5.2 網路交換機的基本功能 24
2.5.3 網路交換機的交換模式 24
2.6 網路層設備——路由器 25
2.6.1 路由器的特徵和功能 25
2.6.2 路由器的分類 26
2.6.3 常見的路由協定 27
2.7 套用層設備——網關 28
第3章 區域網路技術 30
3.1 計算機區域網路的發展歷史 30
3.1.1 以太區域網路
(Ethernet Local Area Network) 30
3.1.2 乙太網的分類 31
3.1.3 無線區域網路(WLAN) 33
第4章 廣域網技術 38
4.1 廣域網概述 38
4.1.1 廣域網與區域網路的區別 38
4.1.2 廣域網的主要特點 38
4.2 廣域網的基本原理 39
4.2.1 虛電路廣域網 40
4.2.2 數據報廣域網 41
4.2.3 兩種廣域網的套用比較 41
4.3 廣域網的連線 42
4.3.1 廣域網的連線設備 42
4.3.2 廣域網的連線類型 42
4.4 廣域網的常用封裝協定 43
4.4.1 HDLC 43
4.4.2 PPP協定 43
4.4.3 幀中繼協定 44
4.4.4 ATM協定 44
4.5 廣域網的關鍵技術 44
4.5.1 公用交換電話網(PSTN) 44
4.5.2 綜合業務數字網(ISDN) 44
4.5.3 數字數據網DDN 45
4.5.4 X.25分組交換數據網 45
4.5.5 Frame Relay幀中繼 45
4.5.6 ATM 46
4.5.7 SONET/SDH傳輸技術 46
4.5.8 SMDS技術 46
4.5.9 MSTP技術 46
第二篇 物理及數據鏈路層套用精解篇
第5章 物理層原理及套用精解 50
5.1 物理層概述 50
5.1.1 物理層的定義 50
5.1.2 物理層的特性 50
5.1.3 物理層的主要功能 51
5.2 物理層導向傳輸介質 51
5.2.1 雙絞線 51
5.2.2 同軸電纜 52
5.2.3 光纖 52
5.3 物理層非導向傳輸介質 54
5.4 雙絞線 54
5.4.1 雙絞線的分類 54
5.4.2 超五類非禁止雙絞線 55
5.4.3 六類非禁止雙絞線 55
5.4.4 七類雙禁止雙絞線 56
5.4.5 如何選用雙絞線 56
5.5 光纖的分類 57
5.5.1 按傳輸模式分類 57
5.5.2 按纖芯直徑分類 57
5.5.3 按光纖纖芯折射率分布分類 57
5.6 物理層重要接口及標準 57
5.6.1 串列接口通信原理 57
5.6.2 RS-232串列接口標準 58
5.6.3 EIA標準接口 59
第6章 數據鏈路層原理及套用精解 60
6.1 數據鏈路層的主要功能簡介 60
6.2 數據鏈路層的成幀功能 61
6.2.1 面向位元組的成幀 61
6.2.2 面向位的分幀 61
6.2.3 基於時鐘的成幀 61
6.3 數據鏈路層的差錯控制功能 61
6.3.1 糾錯碼方案 62
6.3.2 檢錯碼方案 62
6.4 數據鏈路層的流量控制功能 62
6.4.1 XON/XOFF方案 62
6.4.2 視窗協定機制 63
6.5 數據鏈路層協定 63
6.5.1 IPX協定 63
6.5.2 SPX協定 63
6.5.3 IPX/SPX協定 64
6.5.4 NetBIOS協定 64
6.5.5 NetBEUI協定 64
6.5.6 HDLC協定 65
6.5.7 LAPB協定 65
6.5.8 SDLC協定 66
6.6 ARP/RARP協定 66
6.6.1 ARP/RARP協定簡介 66
6.6.2 ARP/RARP協定報文格式 67
6.6.3 ARP協定的安全問題和安全威脅 68
6.7 VLAN技術 70
6.7.1 VLAN簡介 70
6.7.2 VLAN的技術特點 72
6.7.3 VLAN分類 72
6.8 PPP協定 73
6.8.1 PPP協定簡介 73
6.8.2 PPP協定封裝 73
6.8.3 PPP鏈路建立的五個階段 74
6.9 PPPOE協定 76
6.9.1 PPPOE協定簡介 76
6.9.2 協定的基本框架 76
6.9.3 PPPOE通信流程 77
6.9.4 PPPOE的LCP配置選項 78
6.9.5 PPP會話終結 78
6.9.6 PPP會話續傳(L2TP VPN) 79
6.9.7 用戶認證和IP位址分配 80
6.10 第二層隧道協定L2TP 81
6.10.1 L2TP簡介 81
6.10.2 套用L2TP技術的網路拓撲結構 82
6.10.3 L2TP報頭格式 82
6.10.4 相關技術與套用 84
第三篇 網路層套用精解篇
第7章 網路層原理 88
7.1 網路層概述 88
7.2 虛電路和數據報 88
7.2.1 通信交換技術 88
7.2.2 虛電路操作方式和虛電路服務 88
7.2.3 數據報操作方式及數據報服務 89
7.2.4 兩種操作方式/網路服務的
特點和比較 89
7.3 IPv4協定 90
7.3.1 IPv4協定包結構 92
7.3.2 IP位址 93
7.3.3 子網 96
7.4 IPv6協定 97
7.4.1 IPv6誕生的發展背景 97
7.4.2 IPv6的新特性 98
7.4.3 IPv6的報文格式 100
7.4.4 IPv6的地址空間及其表示方法 102
7.4.5 IPv6的地址類型 102
7.4.6 IPv4向IPv6過渡的技術 103
7.4.7 IPv6與IPv4互通技術 108
第8章 網路層核心算法和協定 112
8.1 路由和路由算法簡介 112
8.2 路由算法設計原則和目的 112
8.3 路由的基本原理 113
8.3.1 路由的內涵 113
8.3.2 路由算法的基本類型 114
8.3.3 路由好壞的度量標準 115
8.4 幾種主要的路由算法 116
8.4.1 最短路徑優先算法——
Dijkstra算法 116
8.4.2 擴散算法(Flooding) 117
8.4.3 距離向量路由算法
(Distance Vector Routing) 117
8.4.4 鏈路狀態路由算法
(Link State Routing) 117
8.5 幾種主要的路由協定 117
8.5.1 路由協定的演進發展 117
8.5.2 RIP路由協定 118
8.5.3 OSPF協定 119
8.5.4 IGRP路由協定 122
8.5.5 BGP協定 123
8.5.6 路由協定的選擇 123
8.6 MPLS(多協定標記交換)技術 124
8.6.1 MPLS(Multi-Protocol Label
Switching)簡介 124
8.6.2 MPLS原理 129
8.6.3 MPLS的基本選路方法 130
8.7 CMP協定 131
8.7.1 ICMP協定簡介 131
8.7.2 ICMP安全問題分析 132
8.8 IPSec協定 133
8.8.1 IPSec簡介 133
8.8.2 IPSec協定組 134
8.8.3 IPSec工作模式 135
8.8.4 AH頭結構 136
8.8.5 ESP頭結構 137
第四篇 傳輸層套用精解篇
第9章 傳輸層原理及套用精解 140
9.1 傳輸層概述 140
9.1.1 傳輸層的基本功能 140
9.1.2 傳輸層的服務類型和協定級別 141
9.2 TCP協定 141
9.2.1 TCP協定的報文格式 141
9.2.2 TCP“三次握手”建立連線 143
9.2.3 TCP“四次告別”關閉連線 143
9.2.4 TCP中的連線埠 145
9.2.5 TCP可靠傳輸 152
9.2.6 TCP 流量控制 153
9.3 UDP協定 153
9.4 TCP/IP協定棧面臨的
網路安全問題 154
9.4.1 IP欺騙 154
9.4.2 SYN Flooding 155
9.4.3 ACK Floodinging 158
9.4.4 UDP Flooding 159
9.4.5 Connection Flooding 159
9.5 RSVP協定 160
9.5.1 RSVP簡介 160
9.5.2 RSVP數據流 161
9.5.3 RSVP數據流處理 162
9.5.4 RSVP服務質量(QoS) 162
9.5.5 RSVP連線啟動 162
9.5.6 RSVP資源預訂類型 162
9.5.7 RSVP軟狀態實現 163
9.5.8 RSVP操作模型 163
9.5.9 加權平均排隊方案 164
9.5.10 RSVP訊息和包格式 164
第五篇 套用層套用精解篇
第10章 HTTP/HTTPS協定原理及
套用精解 172
10.1 HTTP協定原理 172
10.1.1 Web簡介 172
10.1.2 HTTP簡介 173
10.1.3 HTTP中的幾個重要概念 173
10.1.4 HTTP流程的基本原理 174
10.1.5 HTTP非持久連線和持久連線 176
10.2 HTTP 請求報文 178
10.3 HTTP回響報文 179
10.4 HTTP訊息報頭 180
10.4.1 普通報頭 180
10.4.2 請求報頭 180
10.4.3 回響報頭 181
10.4.4 實體報頭 182
10.5 HTTP編程套用實例 182
10.5.1 HTTP請求包 182
10.5.2 HTTP應答包 183
10.5.3 Socket類與ServerSocket類 184
10.5.4 讀取HTTP包代碼示例 184
10.6 HTTPS協定原理 189
10.6.1 SSL簡介 189
10.6.2 SSL基本原理 190
10.6.3 SSL協定通信流程 193
10.6.4 SSL協定結構 195
10.6.5 SSL與TLS 196
10.7 HTTPS編程套用實例 198
10.7.1 伺服器端代碼 198
10.7.2 客戶端代碼 201
第11章 FTP協定原理及套用精解 203
11.1 FTP簡介 203
11.2 FTP基本概念 204
11.3 FTP模型 205
11.4 FTP的用戶分類及許可權歸屬 206
11.4.1 Real賬戶 206
11.4.2 Guest用戶 206
11.4.3 Anonymous(匿名)用戶 206
11.5 通過FTP傳輸檔案的一般步驟 206
11.6 FTP基本原理 207
11.6.1 傳輸方式 207
11.6.2 FTP Port模式和FTP Passive模式 208
11.7 FTP基本命令 211
11.8 FTP套用開發 213
11.8.1 C++實現 213
11.8.2 Java實現 216
11.9 FTP安全問題 218
第12章 DNS協定原理及套用精解 220
12.1 DNS簡介 220
12.2 DNS基本概念 222
12.2.1 DNS組成 222
12.2.2 域名空間和資源記錄 222
12.2.3 命名規則 223
12.2.4 資源記錄
(Resource Record,RR) 223
12.2.5 RR的文本表示 225
12.2.6 別名和統一命名 225
12.2.7 查詢 226
12.3 名字伺服器原理 228
12.3.1 介紹 228
12.3.2 資料庫如何被劃分為區 229
12.3.3 名字伺服器高級內容 230
12.4 Resolver原理 231
12.4.1 客戶-Resolver的接口 231
12.4.2 Resolver的內部機制 232
12.5 DNS報文格式 234
12.6 DNS報文舉例 237
12.6.1 QNAME=SRI-NIC ARPA,
QTYPE=A 237
12.6.2 QNAME=SRI-NIC ARPA,
QTYPE=* 238
12.6.3 QNAME=SRI-NIC ARPA,
QTYPE=MX 239
12.6.4 QNAME=SIR-NIC ARPA,
QTYPE=A 239
12.6.5 QNAME=BRL MIL,QTYPE=A 240
12.6.6 QNAME=USC-ISIC ARPA,
QTYPE=A 240
12.6.7 QNAME=USC-ISIC ARPA,
QTYPE=CNAME 241
12.6.8 解析例子 241
12.7 DNS安全問題及對策 243
12.7.1 DNS安全問題 243
12.7.2 DNS安全解決方案 244
第13章 DHCP協定原理及套用精解 249
13.1 DHCP簡介 249
13.2 DHCP工作流程 249
13.3 DHCP租用期限的工作原理 252
13.4 DHCP的報文格式 253
13.5 動態地址分配過程 254
13.6 IP位址衝突防範 255
第14章 電子郵件協定原理及套用精解 256
14.1 SMTP簡介 256
14.2 電子郵件系統的組成原理 257
14.2.1 郵件傳遞代理(MTA) 257
14.2.2 郵件獲取代理(MSA) 258
14.2.3 郵件客戶代理(MUA) 258
14.3 電子郵件傳輸協定原理 258
14.3.1 SMTP的通信模型 258
14.3.2 SMTP協定的郵件路由過程 260
14.3.3 SMTP的基本命令 260
14.3.4 SMTP協定會話流程示意 262
14.3.5 mail relay簡介 262
14.4 POP & POP3:郵局協定
(郵局協定第3版)簡介 263
14.5 協定結構 263
14.6 POP3命令流程示意 264
14.7 使用telnet連線Winmail Server
收信 265
14.8 SMTP套用開發實例 266
14.8.1 郵件頭準備 266
14.8.2 由Socket套接字為SMTP
提供網路通信基礎 267
14.8.3 SMTP會話應答的實現 267
14.9 POP3套用開發實例 269
14.9.1 使用JavaMail 269
14.9.2 使用PHP實現 271
14.10 防治垃圾郵件的
主流策略和技術 277
14.10.1 SMTP用戶認證技術 277
14.10.2 逆向DNS解析 277
14.10.3 實時黑名單過濾 278
14.10.4 白名單過濾 278
14.10.5 內容過濾 278
14.10.6 IMAP協定簡介 279
14.10.7 IMAP與POP3及Web Mail的
比較 279
第15章 SNMP協定原理及套用精解 281
15.1 SNMP概述 281
15.2 SNMP的工作原理 281
15.2.1 網路管理模型 281
15.2.2 網路管理協定結構 283
15.2.3 網路管理服務 283
15.2.4 委託代理 284
15.3 管理信息結構SMI 284
15.3.1 ASN.1 284
15.3.2 文本約定 285
15.3.3 對象定義 286
15.3.4 Trap定義 286
15.3.5 對象標誌符 287
15.3.6 表對象的定義 288
15.3.7 對象和對象實例的區別 289
15.3.8 OID的字典序 289
15.4 協定數據單元
(PDU-Protocol Data Unit) 290
15.4.1 SNMP報文格式 290
15.4.2 SNMP報文類型 290
15.4.3 SNMPv2基本的PDU格式 291
15.4.4 SNMP訊息的生成 292
15.4.5 SNMP訊息的接受和處理 292
15.5 SNMP協定操作 293
15.5.1 GetRequest 293
15.5.2 GetNextRequest—PDU 295
15.5.3 Response——PDU 297
15.5.4 SetRequest——PDU 299
15.5.5 GetBulkRequest——PDU 301
15.5.6 InformRequest——PDU 303
15.5.7 Trap——PDU 304
15.6 SNMP的安全控制 306
15.7 SNMP套用開發實例 308
15.7.1 SNMP傳送訊息 308
15.7.2 SNMP接受訊息 312
第16章 SIP協定原理及套用精解 315
16.1 SIP歷史簡介 315
16.2 SIP原理簡介 316
16.2.1 基本原理 316
16.2.2 會話構成 317
16.2.3 SIP結構 318
16.2.4 SIP訊息 319
16.2.5 SIP訊息實例 321
16.2.6 H.323和SIP協定的比較 325
16.3 SDP協定 326
16.3.1 SDP協定的功能描述 326
16.3.2 SDP協定的會話描述 327
16.4 SIP開源協定棧介紹 328
16.4.1 OPAL 328
16.4.2 VOCAL 329
16.4.3 sipX 329
16.4.4 ReSIProcate 330
16.4.5 oSIP 331
第17章 RTP/RTSP/SRTP協定 332
17.1 RTP概述 332
17.1.1 流媒體簡介 332
17.1.2 RTP簡介 332
17.1.3 RTP的協定層次 333
17.1.4 RTP的封裝 334
17.1.5 RTCP的封裝 334
17.1.6 RTP的會話過程 336
17.2 RTCP原理 336
17.2.1 RTCP簡介 336
17.2.2 RTCP信息包 337
17.2.3 RTCP傳輸間隔 338
17.2.4 SR源報告包和RR接收者
報告包 339
17.2.5 SDES源描述包 339
17.2.6 BYE斷開RTCP包 340
17.2.7 APP特殊套用包 340
17.2.8 RTP/ RTCP的不足之處 341
17.3 SRTP協定 341
第18章 P2P協定原理及套用精解 343
18.1 P2P概述 343
18.1.1 P2P簡介 343
18.1.2 Web站點交換與P2P傳輸的比較 345
18.1.3 P2P的定義和特點 346
18.1.4 P2P的用途 347
18.2 P2P協定分類簡介 348
18.3 集中式P2P簡介 349
18.4 全分散式非結構化P2P算法簡介 349
18.4.1 Gnutella 349
18.4.2 Freenet 351
18.5 半分散式P2P算法簡介 353
18.5.1 Kazaa 353
18.5.2 BitTorrent 353
18.6 基於DHT的結構化P2P
算法簡介 356
18.6.1 DHT 356
18.6.2 chord 359
18.6.3 Kademlia 360
18.6.4 Pastry 362
18.6.5 Tapestry 363
18.6.6 CAN 363
18.6.7 Koorde 365
18.6.8 Viceroy 366
18.6.9 Bamboo 367
18.6.10 Tourist 367
18.6.11 Accordion 369
18.7 P2P安全問題分析 370
18.7.1 P2P技術存在的安全缺陷 371
18.7.2 P2P網路面臨的主要安全威脅 371
18.7.3 P2P網路安全的防禦體系建設 373
18.7.4 P2P安全技術的研究重點 374
第19章 SOAP協定原理及套用精解 378
19.1 SOAP協定簡介 378
19.2 SOAP訊息舉例 379
19.3 SOAP與XML的關係 380
19.4 SOAP封裝 380
19.4.1 SOAP encodingStyle屬性 381
19.4.2 封裝版本模型 381
19.5 SOAP頭 381
19.5.1 使用頭屬性 382
19.5.2 SOAP actor屬性 382
19.5.3 SOAP mustUnderstand屬性 382
19.6 SOAP體 383
19.6.1 SOAP頭和體的關係 383
19.6.2 SOAP錯誤 383
19.7 SOAP編碼 384
19.7.1 XML中的編碼類型規則 385
19.7.2 簡單類型 387
19.8 多態accessor 389
19.9 Compound types複合類型 389
19.9.1 複合值,結構和值引用 389
19.9.2 數組 391
19.9.3 一般複合類型 395
19.10 預設值 396
19.11 SOAP root屬性 396
19.12 在HTTP中使用SOAP 396
19.12.1 SOAP HTTP請求 397
19.13 在RPC中使用SOAP 398
19.13.1 RPC和SOAP體 398
19.13.2 RPC和SOAP頭 399
19.14 SOAP封裝舉例 399
19.14.1 請求編碼舉例 399
19.14.2 應答編碼舉例 400
19.15 SOAP協定套用開發實例 401
19.15.1 PHP SOAP開發實例 401
19.15.2 Java SOAP開發實例 403
第20章 SSH協定原理及套用精解 406
20.1 SSH概述 406
20.2 SSH基本原理 407
20.2.1 主機密鑰機制 407
20.2.2 字元集和數據類型 408
20.2.3 命名規則及訊息編碼 410
20.2.4 SSH協定的可擴展能力 411
20.3 SSH中用戶認證方式 412
20.3.1 概述 412
20.3.2 認證過程 412
20.3.3 用戶認證方式 414
20.4 SSH1與SSH2的主要區別概述 417
20.4.1 SSH1 417
20.4.2 SSH2 418
第21章 LDAP協定原理及套用精解 419
21.1 LDAP簡介 419
21.2 LDAP原理 421
21.2.1 LDAP安全和訪問控制 421
21.2.2 LDAP目錄樹結構 421
21.2.3 LDAP複製 425
21.2.4 LDAP存儲結構原理 426
21.3 LDAP目錄客戶端訪問工具 428
21.3.1 openldap命令行 428
21.3.2 ldapbrowser Java開源LDAP
客戶端工具 429
21.4 LDAP如何工作以及
如何開發LDAP的套用 429
21.5 LDAP的主從備份功能 432
21.6 LDAP API 436
21.6.1 LDAP API簡介 436
21.6.2 LDAP API函式調用 437
21.6.3 使用API示例代碼 445
第22章 SOCKS協定原理及套用精解 447
22.1 SOCKS簡介 447
22.2 基於TCP協定的客戶 447
22.3 請求 448
22.4 地址 449
22.5 應答 449
22.6 基於UDP協定的客戶 451
第23章 XMPP協定原理及套用精解 452
23.1 XMPP簡介 452
23.1.1 XMPP協定的優點 452
23.1.2 XMPP協定的缺點 452
23.2 XMPP基礎 453
23.2.1 網路層次和數據包 453
23.2.2 XMPP的節點與路由 454
23.2.3 地址標識 454
23.3 XMPP核心數據包 454
23.3.1 公有屬性 455
23.3.2 初始化XML stream,身份驗證 455
23.3.3 Roster獲取聯繫人列表 456
23.3.4 Presence狀態數據包 456
23.3.5 Message信息數據包 457
23.4 XMPP擴展 458
23.4.1 通過vcard-temp獲取電子名片 458
23.4.2 通過In-Band Bytestreams
傳輸二進制數據 459
23.4.3 通過SOCKS5 Bytestreams
傳輸二進制數據 459
23.4.4 擴展機制的缺點 461
第24章 Telnet協定原理及套用精解 462
24.1 Telnet簡介 462
24.2 Telnet基本概念 462
24.3 Telnet工作過程 463
24.4 適應異構 464
24.5 傳送遠地命令 464
24.6 數據流向 465
24.7 強制命令 465
24.8 選項協商 465
24.9 Telnet常用命令 466
第六篇 網路安全篇
第25章 計算機網路安全威脅及策略 468
25.1 Scanning(掃描攻擊) 468
25.1.1 TCP全連線掃描 468
25.1.2 TCP半連線(SYN)掃描 469
25.1.3 UDP掃描 469
25.1.4 標誌獲取掃描 469
25.1.5 包分片 469
25.1.6 欺騙掃描 469
25.1.7 標識掃描 470
25.1.8 FTP反彈掃描 470
25.1.9 源連線埠掃描 470
25.1.10 主機掃描 470
25.1.11 作業系統“指紋”掃描 471
25.2 木馬 472
25.3 拒絕服務攻擊和分散式
拒絕服務攻擊 474
25.3.1 DoS攻擊 474
25.3.2 DDoS攻擊 477
25.4 病毒 479
25.4.1 病毒的起源和歷程 479
25.4.2 病毒的主要類型 480
25.5 IP Spoofing 481
25.6 ARP Spoofing 481
25.7 Phishing 481
25.8 Botnet 484
25.9 跨站腳本攻擊 485
25.10 零日攻擊(Zero Day Attack) 485
25.11 “社會工程學”攻擊 486
25.12 構建企業安全防範體系(架構) 487
25.12.1 企業安全防範體系(架構)的
概念 487
25.12.2 企業安全架構的層次結構及
相關安全技術 488
25.12.3 企業安全防範架構設計準則 490
25.13 網路最佳化須做好的七項工作 492
25.13.1 做好網路設計 492
25.13.2 選擇合適的網路互聯設備 492
25.13.3 確認網線和網路設備工作正常 492
25.13.4 最佳化網卡 493
25.13.5 配備高性能的伺服器 493
25.13.6 做好流量監控與管理 493
25.13.7 做好網路安全 494
25.14 維護網站安全必須“做好”的
10件事 495
25.15 網路流量管理 497
25.15.1 網路流量管理的範疇 497
25.15.2 需要關注的常見網路流量 499
25.15.3 網路流量管理的策略 500
25.16 企業備份和恢復全攻略 501
25.16.1 數據備份和恢復簡介 501
25.16.2 常見的數據備份策略 502
25.16.3 Windows下的數據備份和
恢復軟體 504
25.16.4 Linux下的開源數據備份和
恢復軟體 507
25.16.5 硬碟恢復 511
25.16.6 套用磁碟陣列——RAID 512
25.16.7 套用三大存儲設備——SAN、
DAS和NAS 514
25.16.8 合理制定備份和恢復計畫 518
第26章 網路安全技術概覽 521
26.1 網路層防護——防火牆 521
26.1.1 防火牆簡介 521
26.1.2 防火牆的分類 523
26.1.3 傳統防火牆技術 524
26.1.4 新一代防火牆的技術特點 525
26.1.5 防火牆技術的發展趨勢 527
26.1.6 防火牆的配置方式 528
26.1.7 防火牆的實際安全部署建議 529
26.2 套用層防護:IDS/IPS 531
26.2.1 入侵檢測系統(IDS)簡介 531
26.2.2 入侵檢測技術的發展 532
26.2.3 入侵檢測的分類 533
26.2.4 入侵防禦系統(IPS) 537
26.2.5 IPS的發展 537
26.2.6 IPS技術特徵 538
26.2.7 IPS的功能特點 538
26.2.8 IPS產品種類 541
26.3 網關級防護——UTM 542
26.4 Web套用綜合防護——WAF 543
26.5 數據防護——數據加密 544
26.5.1 加密技術的基本概念 544
26.5.2 加密系統分類 545
26.5.3 常用的加密算法 547
26.5.4 加密算法的主要套用場景 548
26.6 遠程訪問安全保障——VPN 549
26.6.1 VPN簡介 549
26.6.2 VPN的分類 550
26.7 身份認證技術 552
26.7.1 靜態密碼 552
26.7.2 智慧卡(IC卡) 553
26.7.3 簡訊密碼 553
26.7.4 動態口令牌 553
26.7.5 USB KEY 553
26.7.6 生物識別技術 554
26.7.7 雙因素身份認證 554
第七篇 工具篇
第27章 Wireshark抓包工具介紹 556
27.1 Wiresahrk簡介 556
27.2 安裝Wireshark 556
27.2.1 在Linux下安裝 556
27.2.2 在Windows下安裝 557
27.3 Wireshark用戶界面介紹 557
27.3.1 主視窗 558
27.3.2 主選單 559
27.3.3 “File”選單 559
27.3.4 “Edit”選單 561
27.3.5 “View”選單 562
27.3.6 “Go”選單 564
27.3.7 “Capture”選單 565
27.3.8 “Analyze”選單 566
27.3.9 “Statistics”選單 567
27.3.10 “Help”選單 567
27.3.11 “Main”工具列 568
27.3.12 “Filter”工具列 569
27.3.13 “Pcaket List”面板 570
27.3.14 “Packet Details”面板 571
27.3.15 “Packet Byte”面板 571
27.3.16 狀態欄 572
27.4 實時捕捉數據包 572
27.4.1 簡介 572
27.4.2 開始捕捉 572
27.4.3 捕捉接口對話框 573
27.4.4 捕捉選項對話框 574
27.4.5 捕捉檔案格式、模式設定 576
27.4.6 鏈路層包頭類型 576
27.4.7 捕捉時過濾 577
27.4.8 停止捕捉 578
27.4.9 重新啟動捕捉 578
27.5 檔案輸入/輸出及列印 579
27.5.1 打開捕捉檔案 579
27.5.2 “save Capture File As/保存檔案為”
對話框 580
27.5.3 輸出格式 581
27.5.4 合併捕捉檔案 582
27.5.5 檔案集合 583
27.5.6 導出數據 584
27.5.7 列印包 587
27.6 處理已經捕捉的包 588
27.6.1 瀏覽捕捉的包 588
27.6.2 彈出選單項 589
27.6.3 瀏覽時過濾包 592
27.6.4 建立顯示過濾表達式 593
27.6.5 “Filter Expression/過濾表達式”
對話框 595
27.6.6 定義、保存過濾器 596
27.6.7 查找包 597
27.6.8 跳轉到指定的包 598
27.6.9 標記包 598
27.6.10 時間顯示格式及參考時間 599
27.7 Wireshark高級套用 599
27.7.1 “Follow TCP Stream” 599
27.7.2 時間戳 601
27.7.3 合併包 602
27.7.4 名稱解析 603
27.7.5 校檢和 604
27.8 Wireshark統計功能 605
27.8.1 功能說明 605
27.8.2 摘要視窗 606
27.8.3 “Protocol Hierarchy”視窗 606
27.8.4 “Endpoints” 607
27.8.5 會話/conversations 609
27.8.6 “IO Graphs”視窗 609
27.8.7 服務相應時間 610
第28章 ntop網路流量分析工具介紹 612
28.1 ntop簡介 612
28.2 ntop的安裝及參數配置 612
28.2.1 ntop在Windows下的安裝 612
28.2.2 ntop在Linux下的安裝 612
28.3 ntop對網路流量的統計分析 613
28.3.1 ntop選項介紹 613
28.3.2 ntop選項具體分析介紹 615
第八篇 計算機網路高級套用篇
第29章 無線通信技術概覽 632
29.1 短距離無線通信技術 632
29.1.1 WLAN 632
29.1.2 紅外通信技術 634
29.1.3 無線雷射通信技術 637
29.1.4 藍牙通信技術 639
29.1.5 NFC技術 642
29.1.6 ZigBee技術 643
29.1.7 UWB技術 644
29.2 遠距離無線通信技術 644
29.2.1 無線網橋 644
29.2.2 無線Mesh網路 647
29.2.3 移動通信網路 650
29.2.4 衛星通信網路 668
第30章 計算機網路套用熱點——
雲計算 670
30.1 雲計算概述 670
30.2 雲計算的幾大形式 672
30.3 雲計算的特點 672
30.4 雲計算的商業現狀 675
30.5 什麼不是雲計算 678
30.6 雲計算的20個基本定義 678
30.7 雲計算當前的主要套用 681
30.8 雲計算在存儲領域的
發展趨勢和優勢 683
30.9 雲安全 684
第31章 三網融合 687
31.1 三網融合提出的背景 687
31.2 三網融合發展情況 687
31.3 三網融合的技術可行性 689
31.3.1 公用電信網 690
31.3.2 網際網路 691
31.3.3 有線電視網 696
31.4 三網融合的技術方案 698
31.4.1 三網融合技術難點 699
31.4.2 現有資源 699
31.4.3 三網融合的3個重要技術 699
附錄A 網路工具資源匯總 700
參考文獻 712