計算機網路原理——基於實驗的協定分析方法

計算機網路原理——基於實驗的協定分析方法

《計算機網路原理——基於實驗的協定分析方法》是2014年1月清華大學出版社出版的圖書,作者是曹雪峰。

基本介紹

  • 書名:計算機網路原理——基於實驗的協定分析方法
  • 作者:曹雪峰
  • ISBN:9787302336600
  • 定價:44.50元
  • 出版社:清華大學出版社
  • 出版時間:2014年1月
內容簡介,圖書目錄,

內容簡介

本書以自底向上的方式,分物理層、數據鏈路層、網路層、運輸層和套用層等5層結構組織內容。全書共9章,以協定分析為主線,利用虛擬實驗把計算機網路的理論知識和實踐緊密結合在一起,理論知識和實踐同步進行,避免對理論知識的枯燥敘述,並且通過對捕獲報文的分析,詳細介紹了不同層協定的工作原理和互動過程。
本書適合作為高等院校相關專業本專科學生計算機網路課程的教材,也可作為從事計算機網路的工程技術人員與技術管理人員的參考用書。

圖書目錄

第1章緒論/1
1.1計算機網路概述1
1.1.1什麼是計算機網路1
1.1.2計算機網路的分類2
1.1.3計算機網路的拓撲結構4
1.2數據交換技術6
1.2.1電路交換6
1.2.2分組交換7
1.3計算機網路性能指標8
1.3.1頻寬8
1.3.2時延9
1.3.3往返時間10
1.3.4吞吐量10
1.3.5時延頻寬積10
1.4計算機網路體系結構10
1.4.1分層的體系結構11
1.4.2協定12
1.4.3計算機網路體系結構的定義12
1.5ISO/OSI模型13
1.5.1ISO/OSI模型的結構13
1.5.2OSI各層的主要功能13
1.6網際網路體系結構15
1.6.1分層的網際網路體系結構15
1.6.2數據的封裝和解封裝17
1.6.3網際網路標準和管理機構18
1.7編址19
1.7.1物理地址19
1.7.2邏輯地址20
1.7.3連線埠地址20
1.7.4域名21〖1〗計算機網路原理——基於實驗的協定分析方法[3]〖3〗1.8虛擬實驗環境21
1.8.1GNS3安裝與使用21
1.8.2VirtualBox軟體安裝與使用34
1.8.3Wireshark軟體安裝和使用39
1.8.4xcap軟體42
1.8.5常用網路命令44
1.9本章小結47
習題47
第2章數據通信基礎/49
2.1數據通信的基本模型49
2.2數據通信基本概念49
2.2.1數據49
2.2.2信號50
2.2.3信道50
2.2.4信道的數據率51
2.2.5傳輸53
2.3編碼與調製54
2.3.1編碼54
2.3.2調製55
2.3.3模擬數據與數位訊號57
2.3.4擴頻59
2.4復用技術59
2.5傳輸媒體60
2.5.1有線傳輸媒體60
2.5.2無線傳輸媒體62
2.6本章小結63
習題64
第3章區域網路/65
3.1共享式乙太網65
3.1.1兩台計算機直連65
3.1.2乙太網技術69
3.1.3CSMA/CD協定70
3.1.4定址方式73
3.1.5差錯控制73
3.1.6乙太網數據幀結構75
3.1.7傳統乙太網工作過程報文分析75
3.1.8中繼器和集線器77
3.2高速乙太網77
3.2.1快速乙太網78
3.2.2吉比特乙太網79
3.3交換式乙太網80
3.3.1區域網路交換技術80
3.3.2乙太網交換機的工作原理81
3.3.3交換式乙太網工作過程報文分析84
3.4虛擬區域網路88
3.4.1衝突域和廣播域88
3.4.2VLAN的概念89
3.4.3劃分VLAN90
3.4.4802.1Q協定原理91
3.4.5VLAN工作過程報文分析93
3.5生成樹協定98
3.5.1基本概念99
3.5.2BPDU報文100
3.5.3STP協定原理102
3.5.4生成樹協定工作過程報文分析104
3.6無線區域網路108
3.6.1IEEE 802.11體系結構109
3.6.2媒體訪問控制111
3.6.3802.11幀115
3.7本章小結117
習題118
第4章廣域網與廣域網接入/120
4.1廣域網概述120
4.1.1廣域網的概念120
4.1.2廣域網協定120
4.2高級數據鏈路控制規程122
4.2.1幀格式122
4.2.2三種HDLC幀124
4.2.3Cisco HDLC協定分析124
4.3點到點協定PPP126
4.3.1PPP協定的組成126
4.3.2PPP幀格式127
4.3.3PPP鏈路工作過程127
4.3.4認證協定129
4.3.5PPP工作過程報文分析130
4.4幀中繼135
4.4.1幀中繼協定概述135
4.4.2幀中繼術語136
4.4.3幀中繼的工作原理137
4.4.4幀中繼DLCI的分配和地址映射138
4.4.5幀中繼數據幀格式139
4.4.6幀中繼協定工作過程報文分析140
4.5異步傳輸模式146
4.5.1異步傳輸模式概述146
4.5.2ATM協定參考模型147
4.5.3虛通道和虛電路148
4.5.4ATM的特點和套用149
4.6接入網技術149
4.6.1概述149
4.6.2ADSL接入技術151
4.7本章小結157
習題157
第5章網路互聯/159
5.1概述159
5.1.1網路層所提供的服務159
5.1.2簡單的網路互聯161
5.2網際網路協定163
5.2.1IP位址164
5.2.2劃分子網168
5.2.3可變長子網劃分170
5.2.4CIDR無類別編址170
5.3IP數據報173
5.3.1IP數據報格式173
5.3.2IP數據報分片174
5.3.3分片過程報文分析175
5.4路由器177
5.4.1路由器的功能177
5.4.2路由器的硬體組成178
5.4.3路由器的連線埠178
5.4.4路由器工作原理180
5.5地址解析協定182
5.5.1ARP報文格式182
5.5.2ARP工作原理183
5.5.3ARP工作過程報文分析184
5.5.4代理ARP186
5.6IP數據報轉發過程分析188
5.6.1直接交付和間接交付188
5.6.2IP數據報轉發過程189
5.6.3IP數據報轉發過程報文分析191
5.7三層交換機196
5.7.1三層交換的概念196
5.7.2三層交換原理196
5.7.3三層交換的實現197
5.7.4三層交換機與路由器198
5.7.5VLAN間通信199
5.8ICMP協定201
5.8.1ICMP報文201
5.8.2ICMP差錯報告報文202
5.8.3ICMP查詢報文204
5.9IPv6協定206
5.9.1IPv6協定概述207
5.9.2IPv6數據報格式208
5.9.3IPv6過渡技術209
5.10本章小結209
習題210
第6章IP路由選擇/214
6.1概述214
6.1.1基本概念214
6.1.2路由模式215
6.2路由選擇算法217
6.2.1距離向量算法217
6.2.2鏈路狀態算法218
6.2.3層次選路221
6.3靜態路由222
6.3.1靜態路由配置222
6.3.2默認路由222
6.4RIP協定224
6.4.1RIP協定概述224
6.4.2RIP報文格式225
6.4.3RIP協定工作原理226
6.4.4RIP路由自環分析228
6.4.5RIP協定工作過程報文分析228
6.5OSPF協定231
6.5.1OSPF基本概念231
6.5.2OSPF協定工作原理234
6.5.3OSPF報文格式236
6.5.4LSA報文格式240
6.5.5路由器收到LSA之後的處理過程243
6.5.6OSPF協定工作過程報文分析244
6.6BGP協定249
6.6.1BGP概述249
6.6.2路徑屬性250
6.6.3BGP報文格式252
6.6.4路由選擇處理254
6.6.5BGP協定工作過程報文分析255
6.7多播259
6.7.1多播地址259
6.7.2網際網路組管理協定260
6.7.3多播路由選擇協定262
6.7.4多播工作過程報文分析266
6.8移動IP271
6.8.1基本概念271
6.8.2移動IP的工作原理273
6.8.3移動IP的工作過程分析274
6.9本章小結279
習題280
第7章端到端的數據通信/283
7.1概述283
7.1.1進程之間的通信283
7.1.2連線埠283
7.1.3運輸層的兩個主要協定284
7.1.4運輸層的復用與分用284
7.2用戶數據報協定285
7.2.1UDP報文首部格式285
7.2.2UDP偽首部及校驗和計算285
7.3可靠傳輸的工作原理285
7.3.1停止等待協定286
7.3.2回退N協定288
7.3.3選擇重傳協定290
7.4傳輸控制協定290
7.4.1TCP報文首部格式分析291
7.4.2TCP連線292
7.5TCP的差錯控制297
7.5.1TCP的序號確認機制297
7.5.2TCP報文段重傳297
7.5.3TCP的差錯控制過程報文分析298
7.6TCP流量控制299
7.6.1動態滑動視窗300
7.6.2糊塗視窗綜合徵300
7.6.3動態滑動視窗工作過程報文分析301
7.6.4Nagle算法工作過程報文分析303
7.7TCP擁塞控制304
7.7.1擁塞控制概述304
7.7.2TCP擁塞控制算法305
7.7.3TCP擁塞控制過程報文分析307
7.8本章小結308
習題308
第8章網路套用/311
8.1域名系統311
8.1.1域名系統概述311
8.1.2域名的結構311
8.1.3DNS工作原理313
8.1.4DNS報文格式316
8.1.5DNS工作過程分析318
8.2全球資訊網324
8.2.1統一資源定位符325
8.2.2超文本傳送協定325
8.2.3網頁檔案329
8.2.4信息檢索系統331
8.2.5Web伺服器的配置332
8.2.6HTTP工作過程報文分析340
8.3檔案傳輸協定341
8.3.1檔案傳輸協定概述341
8.3.2FTP工作原理341
8.3.3FTP工作模式344
8.3.4FTP伺服器的配置345
8.3.5FTP工作過程分析348
8.4電子郵件系統350
8.4.1電子郵件系統概述350
8.4.2電子郵件工作原理351
8.4.3簡單郵件傳送協定351
8.4.4多用途網際網路郵件擴充355
8.4.5郵局協定和網際網路郵件訪問協定356
8.4.6Web郵件系統356
8.4.7電子郵件伺服器的配置357
8.4.8SMTP和MIME工作過程報文分析359
8.5動態主機配置協定361
8.5.1DHCP概述361
8.5.2DHCP工作原理362
8.5.3租用地址364
8.5.4DHCP中繼代理364
8.5.5DHCP報文格式365
8.5.6DHCP工作過程報文分析366
8.6網路管理369
8.6.1簡單網路管理協定概述369
8.6.2管理信息結構370
8.6.3管理信息庫372
8.6.4簡單網路管理協定372
8.6.5SNMP協定工作過程分析374
8.7本章小結377
習題378
第9章網路安全/380
9.1網路安全概述380
9.1.1計算機網路安全定義380
9.1.2計算機網路安全目標380
9.1.3網路安全防護381
9.2數據加密算法382
9.2.1DES加密算法382
9.2.2RSA加密算法383
9.3數字簽名384
9.3.1RSA數字簽名385
9.3.2數字證書385
9.4IP安全協定386
9.4.1IPSec的工作模式387
9.4.2AH協定388
9.4.3封裝安全載荷協定388
9.4.4安全關聯389
9.4.5Internet密鑰交換協定389
9.5安全套接層協定390
9.5.1握手協定391
9.5.2記錄協定391
9.5.3警告協定和改變加密規範協定391
9.6防火牆技術392
9.6.1包過濾防火牆392
9.6.2訪問控制列表392
9.6.3網路地址轉換393
9.6.4NAT工作過程分析395
9.7虛擬專用網397
9.7.1概述397
9.7.2IPSec VPN技術398
9.7.3SSL VPN技術402
9.8本章小結408
習題409
參考文獻/411
第1章概述/1
§1.1C++語言的發展簡況及其特點1
1.1.1C++語言的發展簡況1
1.1.2C++語言的特點2
§1.2C++語言程式組成及其結構3
§1.3關鍵字和標識符5
1.3.1關鍵字6
1.3.2標識符6
§1.4幾個特殊的C++語句6
1.4.1空語句6
1.4.2複合語句7
1.4.3注釋語句7
§1.5簡單的輸入輸出8
1.5.1格式化輸入輸出函式8
1.5.2I/O流13
§1.6數制與編碼15
1.6.1二進制、八進制和十六進制16
1.6.2二進制、八進制、十六進制和十進制之間的轉換16
1.6.3原碼、反碼和補碼20
1.6.4編碼21
思考與練習題22
第2章數據與運算/25
§2.1基本數據類型25
2.1.1類型bool25
2.1.2類型char26
2.1.3類型short26
2.1.4類型int27
2.1.5類型long27
2.1.6浮點類型27〖1〗C++程式設計基礎[3]〖3〗§2.2常量28
2.2.1整型常量28
2.2.2浮點常量28
2.2.3字元常量30
2.2.4字元串常量30
2.2.5標識常量32
2.2.6換碼序列32
§2.3變數34
2.3.1變數和變數的地址34
2.3.2C++存儲類型35
2.3.3變數使用範圍37
2.3.4變數的初始化和賦值38
2.3.5強制數據類型的轉換38
2.3.6常量化的變數40
§2.4數組41
2.4.1一維數據41
2.4.2字元數組44
2.4.3多維數組46
§2.5運算符及其運算48
2.5.1算術運算符48
2.5.2關係運算符和邏輯運算符50
2.5.3位運算符52
2.5.4賦值運算符與賦值複合運算符58
2.5.5C++語言的特殊運算符59
2.5.6C++運算符的優先權61
思考與練習題62
第3章控制語句/64
§3.1程式設計方法與程式結構64
3.1.1結構化程式設計65
3.1.2面向對象的程式設計67
§3.2分支語句67
3.2.1單分支語句——if語句68
3.2.2雙分支語句——if~else語句69
3.2.3多分支語句——else if語句70
3.2.4嵌套結構及其分析73
3.2.5switch語句76
§3.3循環語句79
3.3.1for循環語句79
3.3.2while循環語句82
3.3.3do~while循環語句84
3.3.4循環語句使用的注意事項86
3.3.5循環語句的嵌套87
§3.4輔助控制語句88
3.4.1break語句——中途退出語句88
3.4.2continue語句——截流語句92
3.4.3return語句93
3.4.4goto語句95
思考與練習題96
第4章指針/101
§4.1指針變數101
§4.2指針變數的聲明與初始化104
4.2.1指針變數的聲明104
4.2.2指針的初始化105
§4.3指針運算107
4.3.1指針的算術運算107
4.3.2指針的關係運算111
4.3.3指針的賦值運算112
§4.4指針與數組113
§4.5字元指針與字元串115
§4.6指針數組117
§4.7多級指針119
§4.8new和delete運算符121
4.8.1new運算符121
4.8.2delete運算符123
§4.9引用124
4.9.1普通變數的引用124
4.9.2數組的引用124
§4.10const型指針和void型指針125
4.10.1常量化的指針變數126
4.10.2void型指針變數128
思考與練習題128
第5章函式與宏/130
§5.1自定義函式的定義、聲明和使用130
5.1.1函式的定義130
5.1.2函式的聲明132
5.1.3函式的使用133
§5.2函式之間的參數傳遞135
5.2.1複製傳遞方式135
5.2.2地址傳遞方式136
5.2.3引用方式137
5.2.4全局變數138
5.2.5默認參數值的函式139
§5.3函式與數組140
5.3.1複製傳遞方式140
5.3.2地址傳遞方式141
5.3.3引用方式142
5.3.4多維數組與函式143
§5.4指針函式146
§5.5函式指針與函式指針數組147
5.5.1函式指針147
5.5.2函式指針數組149
§5.6函式重載150
§5.7內聯函式152
§5.8遞歸函式152
§5.9標準函式153
§5.10宏和其他預編譯語句156
5.10.1宏定義語句#define156
5.10.2包括語句158
5.10.3條件編譯158
思考與練習題159
第6章自定義數據類型/167
§6.1結構體的定義及其聲明167
6.1.1結構體的定義167
6.1.2結構體的聲明168
6.1.3結構體的使用169
6.1.4結構體的初始化170
6.1.5匿名結構體171
§6.2結構體數組與結構體指針171
6.2.1結構體數組171
6.2.2結構體指針172
§6.3結構體與函式174
6.3.1結構體在函式體間的傳遞174
6.3.2結構體函式177
6.3.3結構體指針函式179
§6.4結構體嵌套180
§6.5位欄位結構體簡介182
§6.6聯合體184
§6.7枚舉類型188
6.7.1枚舉類型的定義188
6.7.2枚舉變數的聲明與使用188
§6.8typedef語句190
思考與練習題192
第7章類與對象/195
§7.1面向對象技術與C++類類型195
7.1.1傳統開發方法存在的問題195
7.1.2面向對象技術196
7.1.3C++語言的三種類類型197
7.1.4class類類型198
§7.2類的定義199
§7.3對象的聲明和使用202
§7.4對象數組和對象指針204
7.4.1對象數組204
7.4.2對象指針205
§7.5構造函式和析構函式207
7.5.1構造函式207
7.5.2析構函式208
7.5.3默認構造函式和默認析構函式209
7.5.4複製構造函式209
7.5.5淺複製和深複製211
§7.6對象在函式間的傳遞214
7.6.1對象的複製傳遞方式214
7.6.2對象的地址傳遞方式215
7.6.3對象的引用方式217
§7.7this指針217
§7.8常對象與常成員函式218
7.8.1常對象218
7.8.2常成員函式219
思考與練習題220
第8章派生與繼承/222
§8.1類的程式結構222
§8.2基類與派生類223
8.2.1派生類的定義223
8.2.2派生類的繼承方式226
8.2.3基類與派生類之間的關係228
8.2.4基類指針與派生類指針228
§8.3單繼承、多繼承與繼承鏈228
§8.4派生類與基類之間的內在關係233
8.4.1派生類的構造函式和析構函式234
8.4.2構造函式和析構函式的執行順序235
8.4.3子類型238
8.4.4類型適應239
8.4.5對象的記憶體占用情況239
§8.5二義性與虛基類241
8.5.1二義性問題241
8.5.2虛基類244
8.5.3虛基類的構造函式246
§8.6類層次中的訪問規則246
思考與練習題247
第9章友元與靜態成員/249
§9.1友元249
9.1.1友元函式249
9.1.2友元類251
§9.2靜態成員252
9.2.1靜態數據成員252
9.2.2靜態成員函式255
思考與練習題257
第10章虛擬函式與多態性/259
§10.1靜態綁定和動態綁定259
10.1.1靜態綁定259
10.1.2動態綁定261
§10.2虛擬函式261
10.2.1虛擬函式的技術內幕264
10.2.3虛擬函式的套用舉例265
10.2.3虛析構函式269
§10.3純虛擬函式與抽象類270
10.3.1純虛擬函式270
10.3.2抽象類271
思考與練習題276
第11章重載與模板/279
§11.1重載279
11.1.1運算符重載279
11.1.2類型轉換284
11.1.3特殊運算符的重載285
§11.2模板290
11.2.1函式模板291
11.2.2類模板293
11.2.3模板與友元298
11.2.4模板與static成員300
11.2.5類模板的派生與繼承300
思考與練習題300
第12章異常處理/303
§12.1異常的概念303
12.1.1異常的定義303
12.1.2異常處理的基本思想303
§12.2異常處理的編程方法304
12.2.1異常處理的三個語句304
12.2.2異常處理的執行過程305
12.2.3異常處理的基本步驟305
12.2.4多類型的異常處理306
12.2.5再拋出異常308
12.2.6構造函式、析構函式與異常處理309
§12.3異常處理類309
思考與練習題310
第13章C++輸入和輸出/312
§13.1流輸入輸出312
13.1.1提取運算符和插入運算符312
13.1.2標準出錯輸出(cerr/clog)315
13.1.3輸入流類315
13.1.4輸出流類316
13.1.5格式化輸入輸出317
§13.2磁碟檔案的輸入輸出324
13.2.1文本檔案的輸入輸出324
13.2.2二進制數據檔案328
13.2.3隨機數據檔案329
思考與練習題331
參考文獻/332

相關詞條

熱門詞條

聯絡我們