內容簡介
本書根據計算機網路與Internet基本概念、工作原理與實現技術的學習需要,參考國內外知名大學網路課程編程訓練以及著名IT企業在員工網路軟體編程訓練中的相關資料與文獻,總結提煉出14個網路軟體編程題目
目錄
目錄CONTENTS
第1章網路軟體編程練習要求與教學指導1
1.1網路軟體編程能力培養1
1.2網路軟體編程理論基礎2
1.2.1網路知識結構2
1.2.2編程需掌握的知識3
1.2.3教材章節與知識點結構8
1.3編程題目的基本內容9
第2章Socket編程基礎知識13
2.1Socket編程的基本概念13
2.1.1套接字的概念13
2.1.2套接字的分類14
2.2Winsock網路編程接口15
2.2.1Winsock的基本概念16
2.2.2初始化與卸載Winsock17
2.2.3基本Socket函式18
2.2.4套接字地址結構23
第3章Ethernet幀的封裝與解析25
3.1設計目的25
3.2相關知識25
3.2.1數據鏈路層的概念25
3.2.2Ethernet幀的結構26
3.3例題分析27
3.3.1設計要求27
3.3.2關鍵問題28
3.3.3程式原始碼31
3.4練習題34目錄計算機網路軟體編程指導書(第2版)第4章Ethernet幀的CRC校驗35
4.1設計目的35
4.2相關知識35
4.2.1CRC校驗的概念35
4.2.2CRC校驗的例子36
4.2.3CRC校驗的硬體實現37
4.2.4CRC校驗的主要特點38
4.3例題分析38
4.3.1設計要求38
4.3.2關鍵問題39
4.3.3程式原始碼41
4.4練習題44
第5章IP位址的合法性判斷46
5.1設計目的46
5.2相關知識46
5.2.1IP位址的基本概念46
5.2.2IP位址的分類方法47
5.2.3其他IP位址類型48
5.2.4IP位址技術發展49
5.3例題分析51
5.3.1設計要求51
5.3.2關鍵問題52
5.3.3程式原始碼54
5.4練習題58
第6章IP數據包的捕獲與解析60
6.1設計目的60
6.2相關知識60
6.2.1網路層的基本概念60
6.2.2IP數據包的結構61
6.3例題分析64
6.3.1設計要求64
6.3.2關鍵問題65
6.3.3程式原始碼68
6.4練習題72
第7章IP數據包的分片與重組74
7.1設計目的74
7.2相關知識74
7.2.1IP包分片的概念74
7.2.2IP包分片的相關欄位75
7.3例題分析76
7.3.1設計要求76
7.3.2關鍵問題77
7.3.3程式原始碼78
7.4練習題83
第8章IPv6數據包的封裝與解析84
8.1設計目的84
8.2相關知識84
8.2.1IPv4協定的主要缺點84
8.2.2IPv6協定的基本概念85
8.2.3IPv6數據包的結構86
8.2.4IPv6地址結構88
8.2.5IPv6安全功能90
8.3例題分析90
8.3.1設計要求90
8.3.2關鍵問題91
8.3.3程式原始碼93
8.4練習題98
第9章發現網路中的活動主機100
9.1設計目的100
9.2相關知識100
9.2.1ICMP協定的基本概念100
9.2.2ICMP數據包的類型101
9.2.3ICMP數據包的結構102
9.2.4ICMP回送請求與應答103
9.3例題分析104
9.3.1設計要求104
9.3.2關鍵問題104
9.3.3程式原始碼107
9.4練習題112
第10章發現伺服器開啟的TCP連線埠113
10.1設計目的113
10.2相關知識113
10.2.1傳輸層的基本概念113
10.2.2連線埠號的分配114
10.3例題分析116
10.3.1設計要求116
10.3.2關鍵問題116
10.3.3程式原始碼118
10.4練習題120
第11章TCP數據包的封裝與傳送121
11.1設計目的121
11.2相關知識121
11.2.1TCP協定的基本概念121
11.2.2TCP數據包的結構122
11.3例題分析124
11.3.1設計要求124
11.3.2關鍵問題125
11.3.3程式原始碼126
11.4練習題131
第12章基於TCP的客戶機/伺服器程式132
12.1設計目的132
12.2相關知識132
12.2.1TCP協定的主要特點132
12.2.2客戶機/伺服器編程134
12.3例題分析135
12.3.1設計要求135
12.3.2關鍵問題136
12.3.3程式原始碼139
12.4練習題143
第13章基於UDP的客戶機/伺服器程式144
13.1設計目的144
13.2相關知識144
13.2.1UDP協定的基本概念144
13.2.2UDP數據包的結構145
13.2.3基於UDP的客戶機/伺服器編程146
13.3例題分析147
13.3.1設計要求147
13.3.2關鍵問題148
13.3.3程式原始碼150
13.4練習題154
第14章FTP客戶機程式設計155
14.1設計目的155
14.2相關知識155
14.2.1套用層的基本概念155
14.2.2FTP服務的基本概念156
14.2.3FTP服務的工作原理157
14.2.4FTP命令與應答158
14.3例題分析160
14.3.1設計要求160
14.3.2關鍵問題161
14.3.3程式原始碼163
14.4練習題172
第15章POP客戶機程式設計174
15.1設計目的174
15.2相關知識174
15.2.1電子郵件的基本概念174
15.2.2郵件服務的工作原理175