《計算機網(wǎng)絡協(xié)議分析與實踐》系統(tǒng)地介紹了計算機網(wǎng)絡協(xié)議分析與實踐的有關(guān)內(nèi)容,主要包括:網(wǎng)絡編程基礎(chǔ)及環(huán)境配置,工業(yè)以太網(wǎng)、共享式以太網(wǎng)協(xié)議分析與實踐,網(wǎng)絡通信協(xié)議的設(shè)計與實踐,以及網(wǎng)絡層(ARP、IPv4-IPv6、ICMP)、傳輸層(UDP、TCP)、應用層(HTTP、FTP)等常用通信協(xié)議工作原理分析與實踐等內(nèi)容,基本涵蓋了TCP-IP協(xié)議集的常用網(wǎng)絡通信協(xié)議。該書實踐環(huán)節(jié)基于主流開發(fā)環(huán)境和工具,不需要特殊的軟、硬件平臺投入,既方便學生課后實踐,又方便教師組織實踐教學活動。
《計算機網(wǎng)絡協(xié)議分析與實踐》內(nèi)容系統(tǒng)性較強、結(jié)構(gòu)清晰。在內(nèi)容的組織上,該書強調(diào)知識的實用性,從網(wǎng)絡通信協(xié)議三要素:語法、語義和同步關(guān)系三個角度分析TCP/IP協(xié)議集的常用網(wǎng)絡通信協(xié)議工作原理和相關(guān)實現(xiàn)技術(shù),對學生理解計算機網(wǎng)絡通信協(xié)議基本理論,提高學生網(wǎng)絡信息安全基本實踐技能均有很大益處。
《計算機網(wǎng)絡協(xié)議分析與實踐》可作為高等院校相關(guān)專業(yè)學生的專業(yè)教材,也可作為相關(guān)技術(shù)人員的自學用書。
“計算機網(wǎng)絡原理”作為計算機專業(yè)的核心課程,編者以問題為引導、以實踐為抓手、以能力培養(yǎng)為核心,踐行了講網(wǎng)絡不如做網(wǎng)絡的原則,實現(xiàn)了知行統(tǒng)一的教育教學新模式。編者通過多年理論課程教學與實踐發(fā)現(xiàn),若理論課程教學以問題為牽引,以案例教學為核心,則更容易引發(fā)學生思考、培養(yǎng)學生分析問題的能力、啟發(fā)學生思維、激發(fā)學生的學習興趣。在實踐方面,編者采用多層次實踐教學方法:課程實驗主要培養(yǎng)學生對計算機網(wǎng)絡工作原理及通信協(xié)議和應用服務的驗證與分析能力;課程項目主要以每節(jié)課的內(nèi)容為核心,指導學生將每節(jié)課的核心內(nèi)容用軟件操作一遍,做到“所講即所見”;網(wǎng)絡綜合實驗主要培養(yǎng)學生在網(wǎng)絡工程實踐、協(xié)議棧設(shè)計及實現(xiàn)等方面的能力。實踐表明,以上方法可以較好地解決學生學習成績斷崖式下降的問題,提高學生網(wǎng)絡實踐的能力,提升學生對課程的認同感。
編者通過對計算機網(wǎng)絡實踐內(nèi)容和經(jīng)驗的總結(jié),形成了一套計算機網(wǎng)絡課程實踐教材(共3本)。本教材主要針對計算機網(wǎng)絡協(xié)議分析與實踐這一核心內(nèi)容:□□章主要介紹網(wǎng)絡編程基礎(chǔ)及環(huán)境配置;第□章主要介紹工業(yè)以太網(wǎng)協(xié)議分析與實踐;第3章主要介紹共享式以太網(wǎng)協(xié)議分析與實踐;第4章主要介紹網(wǎng)絡通信協(xié)議的設(shè)計與實踐;第5章、第6章、第7章分別介紹網(wǎng)絡層ARP、IP和ICMP協(xié)議分析與實踐;第8章、第9章分別介紹傳輸層UDP協(xié)議和TCP協(xié)議分析與實踐;□□0章介紹應用層協(xié)議分析與實踐;□□1章介紹IPv6協(xié)議分析與實踐。
本書在編寫過程中,得到了西北工業(yè)大學計算機學院的老師和同學們的支持和指導,在此表示感謝!
由于編者水平有限,書中難免有不妥之處,懇請讀者批評指正。
姚燁,博士,副教授。1978年3月參加工作。1997年6月―□000年8月,在西安□1□研究所從事信號處理的工作,任助理工程師;□000年9月―□003年4月,西安電子科技大學軟件工程研究所計算機科學與技專業(yè)的研究生;□003年5月―至今,任西北工業(yè)大學計算機學院計算機科學與技術(shù)專業(yè)的教師,目前為副教授。參加的學術(shù)組織及任職:CCF高級會員。擔任西北工業(yè)大學計算機學院"網(wǎng)絡方向課程群”的負責人;是陜西省級《計算機網(wǎng)絡原理》精品課程的重要成員。
□□章 網(wǎng)絡編程基礎(chǔ)及環(huán)境配置 1
1.1 引言 1
1.□ Raw Socket網(wǎng)絡編程基礎(chǔ) □
1.□.1 Raw Socket的創(chuàng)建和初始化 3
1.□.□ Raw Socket網(wǎng)絡編程主要函數(shù) 4
1.□.3 簡單校驗和計算方法 6
1.□.4 創(chuàng)建不同層次協(xié)議數(shù)據(jù)單元首部數(shù)據(jù)結(jié)構(gòu) 7
1.3 Winpcap網(wǎng)絡編程基礎(chǔ) 10
1.3.1 數(shù)據(jù)包捕獲的基本過程 11
1.3.□ Winpcap驅(qū)動內(nèi)部工作原理 1□
1.3.3 利用winpcap對數(shù)據(jù)包進行捕獲和過濾 16
1.3.4 主要數(shù)據(jù)結(jié)構(gòu)和接口函數(shù) 17
1.4 Winpcap環(huán)境搭建 □□
1.4.1 Visual Studio 10.0實驗環(huán)境搭建 □□
1.4.□ VC++6.0環(huán)境配置 □4
第□章 工業(yè)以太網(wǎng)協(xié)議分析與實踐 □5
□.1 引言 □5
□.□ 工業(yè)以太網(wǎng)協(xié)議工作原理 □5
□.□.1 工業(yè)以太網(wǎng)協(xié)議語法 □6
□.□.□ 工業(yè)以太網(wǎng)協(xié)議語義 □8
□.□.3 工業(yè)以太網(wǎng)協(xié)議時序關(guān)系 □8
□.3 工業(yè)以太網(wǎng)發(fā)送數(shù)據(jù)幀 □8
□.4 工業(yè)以太網(wǎng)接收數(shù)據(jù)幀 31
第3章 共享式以太網(wǎng)協(xié)議分析與實踐 37
3.1 引言 37
3.□ 共享式以太網(wǎng)的工作原理 40
3.□.1 共享式以太網(wǎng)數(shù)據(jù)幀語法及語義 41
3.□.□ 共享式以太網(wǎng)數(shù)據(jù)幀的發(fā)送及其過程分析 4□
3.3 共享式以太網(wǎng)數(shù)據(jù)鏈路層協(xié)議工作效率分析 44
3.4 網(wǎng)絡適配器MAC地址 45
3.5 工業(yè)以太網(wǎng)數(shù)據(jù)幀發(fā)送和接收流程 46
3.5.1 工業(yè)以太網(wǎng)數(shù)據(jù)幀發(fā)送流程 46
3.5.□ 工業(yè)以太網(wǎng)數(shù)據(jù)幀接收流程 46
3.5.3 MAC子層與相鄰層的接口 47
3.6 共享式以太網(wǎng)數(shù)據(jù)幀發(fā)送源程序 48
第4章 網(wǎng)絡通信協(xié)議的設(shè)計與實踐 5□
4.1 引言 5□
4.□ 網(wǎng)絡通信協(xié)議可靠性原理 5□
4.□.1 檢錯與糾錯機制 5□
4.□.□ 流量控制機制 55
4.3 數(shù)據(jù)鏈路層通信協(xié)議設(shè)計 60
4.3.1 數(shù)據(jù)鏈路層通信協(xié)議設(shè)計要求 60
4.3.□ 數(shù)據(jù)鏈路層通信協(xié)議語法設(shè)計 60
4.3.3 數(shù)據(jù)鏈路層通信協(xié)議語義設(shè)計 60
4.4.4 數(shù)據(jù)鏈路層通信協(xié)議同步機制設(shè)計 61
4.4 數(shù)據(jù)鏈路層可靠通信協(xié)議實現(xiàn) 63
4.4.1 編程接口Winpcap 63
4.4.□ 網(wǎng)絡通信協(xié)議并發(fā)機制實現(xiàn)技術(shù) 64
4.4.3 差錯控制機制實現(xiàn)技術(shù) 66
4.4.4 發(fā)送方線程與接收方線程實現(xiàn)技術(shù) 66
4.4.5 停止-等待協(xié)議實現(xiàn)技術(shù) 79
4.4.6 后退N幀協(xié)議實現(xiàn)技術(shù) 108
4.4.7 選擇重傳協(xié)議實現(xiàn)技術(shù) 138
第5章 網(wǎng)絡層ARP協(xié)議分析與實踐 17□
5.1 概述 17□
5.□ ARP協(xié)議工作原理 173
5.□.1 ARP協(xié)議語法 173
5.□.□ ARP協(xié)議語義 174
5.□.3 ARP協(xié)議時序關(guān)系 175
5.3 ARP協(xié)議發(fā)送報文 177
5.4 ARP協(xié)議接收報文 179
第6章 網(wǎng)絡層IP協(xié)議分析與實踐 184
6.1 引言 184
6.□ IP協(xié)議工作原理 186
6.□.1 IP協(xié)議語法 186
6.□.□ IP協(xié)議語義 188
6.□.3 IP協(xié)議時序關(guān)系 188
6.3 IP協(xié)議發(fā)送IP分組 193
6.4 IP協(xié)議接收IP分組 195
第7章 網(wǎng)絡層ICMP協(xié)議分析與實踐 □00
7.1 引言 □00
7.□ ICMP協(xié)議工作原理 □00
7.□.1 ICMP協(xié)議語法 □00
7.□.□ ICMP差錯報告報文語義及同步關(guān)系 □01
7.□.3 ICMP控制報文語義及同步關(guān)系 □03
7.□.4 ICMP查詢報文語義及同步關(guān)系 □03
7.3 ping命令實現(xiàn)分析 □04
7.4 Tracert命令設(shè)計與實現(xiàn) □13
7.5 ICMP協(xié)議發(fā)送ICMP ECHO請求報文 □□4
7.6 ICMP協(xié)議接收ICMP ECHO請求報文 □□7
第8章 傳輸層UDP協(xié)議分析與實踐 □31
8.1 引言 □31
8.□ UDP協(xié)議工作原理 □31
8.□.1 UDP協(xié)議語法及語義 □31
8.□.□ UDP協(xié)議時序關(guān)系 □3□
8.3 UDP協(xié)議發(fā)送UDP用戶數(shù)據(jù)報 □33
8.4 UDP協(xié)議接收UDP用戶數(shù)據(jù)報 □36
第9章 傳輸層TCP協(xié)議分析與實踐 □38
9.1 TCP協(xié)議概述 □38
9.□ TCP協(xié)議工作原理 □4□
9.□.1 TCP協(xié)議語法及語義 □4□
9.□.□ TCP協(xié)議通信的時序關(guān)系 □46
9.3 TCP協(xié)議發(fā)送數(shù)據(jù)段 □63
9.4 TCP協(xié)議接收數(shù)據(jù)段 □66
□□0章 應用層協(xié)議分析與實踐 □71
10.1 引言 □71
10.□ HTTP協(xié)議工作原理 □7□
10.□.1 統(tǒng)一資源定位符 □74
10.□.□ HTTP 1.0協(xié)議的主要特點 □74
10.□.3 Web代理服務器 □76
10.□.4 HTTP報文的語法和語義 □77
10.□.5 Cookie工作原理 □80
10.3 萬維網(wǎng)文檔 □8□
10.3.1 超文本標記語言 □8□
10.3.□ 動態(tài)文檔 □84
10.3.3 活動文檔 □84
10.4 HTTP協(xié)議客戶端實現(xiàn) □85
10.5 FTP協(xié)議工作原理 □87
10.5.1 FTP協(xié)議概述 □87
10.5.□ FTP協(xié)議工作模式 □88
10.5.3 FTP協(xié)議命令 □89
10.6 FTP協(xié)議客戶端實現(xiàn) □91
□□1章 IPv6協(xié)議分析與實踐 □97
11.1 引言 □97
11.□ IPv6協(xié)議工作原理 □97
11.□.1 IPv6協(xié)議語法及語義 □97
11.□.□ IPv6協(xié)議的地址空間 300
11.3 IPv6協(xié)議地址空間的分配 301
11.4 從IPv4協(xié)議向IPv6協(xié)議過渡機制 303
11.5 IPv6協(xié)議發(fā)送分組 304
11.6 IPv6協(xié)議接收分組 308
參考文獻 311