何正玲 西安文理學(xué)院
計(jì)算機(jī)網(wǎng)絡(luò)各層核心協(xié)議的工作原理探析
何正玲 西安文理學(xué)院
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及和應(yīng)用,如何更好的應(yīng)用網(wǎng)絡(luò)技術(shù),為用戶提供更加優(yōu)質(zhì)的服務(wù),是當(dāng)前網(wǎng)絡(luò)技術(shù)研究的熱點(diǎn)。網(wǎng)絡(luò)技術(shù)的研究離不開網(wǎng)絡(luò)協(xié)議,本文將對(duì)計(jì)算機(jī)網(wǎng)絡(luò)各層核心協(xié)議的工作原理進(jìn)行分析和討論。
計(jì)算機(jī) 網(wǎng)絡(luò)協(xié)議 數(shù)據(jù)采集 工作原理
從工作原理的角度進(jìn)行劃分,網(wǎng)絡(luò)協(xié)議分析應(yīng)包括數(shù)據(jù)采集以及網(wǎng)絡(luò)協(xié)議的分析,明確網(wǎng)絡(luò)協(xié)議分析的工作原理,是進(jìn)行網(wǎng)絡(luò)協(xié)議分析框架設(shè)計(jì)和開發(fā)的前提和基礎(chǔ),希望本次研究能夠?yàn)榫W(wǎng)絡(luò)協(xié)議分析關(guān)鍵技術(shù)的研究和開發(fā)提供參考。
1.1 適配器獲取
網(wǎng)絡(luò)數(shù)據(jù)包的傳輸主要是由適配器到設(shè)備驅(qū)動(dòng)層、鏈路層、IP層、傳輸層,最終到應(yīng)用程序的一個(gè)傳輸過程,其中,適配器是數(shù)據(jù)包傳輸?shù)某跏?,是?shù)據(jù)采取的關(guān)鍵位置,因此,也是網(wǎng)絡(luò)協(xié)議分析的第一步。通過將適配器信息納入結(jié)構(gòu)鏈表,有利于數(shù)據(jù)采集的進(jìn)一步操作。
1.2 數(shù)據(jù)包捕捉
數(shù)據(jù)包捕捉能夠采集網(wǎng)絡(luò)平臺(tái)的所有數(shù)據(jù)和信息,通過過濾功能,篩除不需要的部分,將用戶可能需要的信息發(fā)送至高級(jí)處理模塊,進(jìn)行進(jìn)一步的分析。數(shù)據(jù)包捕捉中,應(yīng)注意以下兩個(gè)方面,首先,要確保捕捉的完整性,即應(yīng)該包括網(wǎng)絡(luò)傳輸中的所有信息,同時(shí),還應(yīng)該提高的捕捉以及篩選的工作效率,不能在捕捉的過程中影響數(shù)據(jù)的傳輸。
1.3 數(shù)據(jù)包過濾和存儲(chǔ)
為滿足用戶的使用需求,需要設(shè)計(jì)可靠的數(shù)據(jù)包過濾機(jī)制,用戶可以通過設(shè)置篩選條件,獲取網(wǎng)絡(luò)數(shù)據(jù)包。這就要求過濾機(jī)制能夠在用戶空間以及內(nèi)核空間執(zhí)行操作,提高數(shù)據(jù)包的捕捉效率。數(shù)據(jù)過濾實(shí)質(zhì)上數(shù)據(jù)包信息布爾值的操作函數(shù),目前,常見的網(wǎng)絡(luò)過濾機(jī)制都是在伯克利數(shù)據(jù)包過濾器模型的基礎(chǔ)上設(shè)計(jì)的。此外,為了方便用戶使用信息,還應(yīng)該包括數(shù)據(jù)包的存儲(chǔ)功能,包括文件路徑、文件存儲(chǔ)、存儲(chǔ)格式等。用戶通過設(shè)置文件路徑,能夠獲取當(dāng)前路徑的存儲(chǔ)文件,并通過移動(dòng)存儲(chǔ)等操作,將數(shù)據(jù)包文件存儲(chǔ)到用戶指定位置。數(shù)據(jù)存儲(chǔ)主要是指文件打開、寫入、關(guān)閉等一系列操作實(shí)現(xiàn)的文件存儲(chǔ)功能。存儲(chǔ)格式是指考慮到用戶的使用效果,應(yīng)考慮到分析框架的通用性,目前,比較常見的CAP文件,是一種十六進(jìn)制的數(shù)據(jù)文件,基本相關(guān)的數(shù)據(jù)包軟件都能夠支持。
2.1 底層協(xié)議分析
底層網(wǎng)絡(luò)協(xié)議分析的基礎(chǔ)是目前已知的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)結(jié)構(gòu)格式,其分析模式是對(duì)逐個(gè)字節(jié)分析,從而獲取各個(gè)協(xié)議的相應(yīng)字段內(nèi)容。以TCP為例,假設(shè)以太網(wǎng)采集的數(shù)據(jù)包開始位置為X,則IP地址為X+14,TCP包的位置為X+14+20,其中,14為以太網(wǎng)首部字段長(zhǎng)度,20為IP首部字段長(zhǎng)度。加入TCP首部字段長(zhǎng)度20字節(jié),TCP負(fù)載字段表示為X+14+20+20。按照網(wǎng)絡(luò)協(xié)議格式,分別獲取各個(gè)字段的信息,實(shí)現(xiàn)對(duì)數(shù)據(jù)包的分析。因此,在底層網(wǎng)絡(luò)分析鐘,對(duì)各層網(wǎng)絡(luò)協(xié)議格式的設(shè)計(jì)至關(guān)重要。TCP及IP中的主要協(xié)議包括以太網(wǎng)協(xié)議、ICMP協(xié)議、ARP協(xié)議、IP協(xié)議、CDP協(xié)議、TCP協(xié)議等。其中,以太網(wǎng)協(xié)議是網(wǎng)絡(luò)數(shù)據(jù)包首部;ICMP協(xié)議主要是為IP提供支持;ARP協(xié)議是將IP與數(shù)據(jù)鏈路進(jìn)行匹配,保障網(wǎng)絡(luò)通信;IP協(xié)議負(fù)責(zé)網(wǎng)絡(luò)設(shè)備之間數(shù)據(jù)的交付;CDP協(xié)議是一種不可靠的傳輸協(xié)議,用于確保其傳輸速率;TCP協(xié)議是數(shù)據(jù)交付的確認(rèn)機(jī)制,是一種面向連接的協(xié)議。
2.2 端口協(xié)議分析
由于端口號(hào)具有唯一性,因此,常使用端口號(hào)來確定其應(yīng)用進(jìn)程,傳輸層協(xié)議可以分為TCP和CDP兩個(gè)類型的端口。端口號(hào)可以分為已知端口、注冊(cè)端口以及動(dòng)態(tài)端口(專用端口),根據(jù)端口號(hào),能夠?qū)ζ湫再|(zhì)和范圍進(jìn)行標(biāo)識(shí)。并的采用由底層到高層的方式,生成協(xié)議樹,對(duì)應(yīng)每個(gè)協(xié)議。網(wǎng)絡(luò)數(shù)據(jù)協(xié)議分析就是一個(gè)從樹根到枝干再到某個(gè)葉子的一個(gè)過程。通過對(duì)數(shù)據(jù)包進(jìn)行采集、分解、提取,輸入標(biāo)志號(hào),與協(xié)議樹中的各個(gè)協(xié)議進(jìn)行比對(duì),實(shí)現(xiàn)分析的目的。
2.3 深度包特征值分析
對(duì)于無法采用端口識(shí)別的數(shù)據(jù)包,例如隨機(jī)端口,應(yīng)采取深度包檢測(cè),識(shí)別其負(fù)載特征,利用深度包檢測(cè)技術(shù),對(duì)數(shù)據(jù)包進(jìn)行采集、解封、提取、分析、統(tǒng)計(jì),根據(jù)分析結(jié)構(gòu),按照應(yīng)用層特有的協(xié)議特征,作為協(xié)議標(biāo)識(shí),進(jìn)行匹配操作。特征值分析主要是針對(duì)端口未知的情況,通過提取特征進(jìn)行協(xié)議分析,因此,特征值檢測(cè)的關(guān)鍵就在于各個(gè)協(xié)議特征的統(tǒng)計(jì)。
綜上所述,計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議分析框架應(yīng)包括數(shù)據(jù)的采集以及網(wǎng)絡(luò)協(xié)議分析技術(shù)。本文通過對(duì)數(shù)據(jù)的采集方式進(jìn)行分析,包括適配器獲取、數(shù)據(jù)包捕捉、數(shù)據(jù)包過濾和存儲(chǔ)等,對(duì)協(xié)議分析技術(shù)的工作原理,例如底層協(xié)議分析、端口協(xié)議分析、深度包特征值分析等進(jìn)行了研究和討論。
[1]黃嵐,刑敏.網(wǎng)絡(luò)協(xié)議理論與實(shí)踐整合的教學(xué)研究[J].吉林省經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào),2006.20(3):64-67
[2]謝鯤,張大方.共享網(wǎng)段網(wǎng)絡(luò)協(xié)議分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2002,24(2):25-28
[3]王錦超,李飛,沈明玉.網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析算法設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2005(04):30-32