網(wǎng)絡(luò)通訊工作原理
掃描二維碼
隨時隨地手機(jī)看文章
為了更好的理解網(wǎng)絡(luò)分析技術(shù),了解并掌握網(wǎng)絡(luò)通訊原理是必須的。這一節(jié)我們將講述網(wǎng)絡(luò)通訊基礎(chǔ)知識,涉及到協(xié)議、OSI參考模型及數(shù)據(jù)封裝。
網(wǎng)絡(luò)通訊定義了計算機(jī)如何接入到網(wǎng)絡(luò)中,以及接入網(wǎng)絡(luò)中的通信標(biāo)準(zhǔn),主要包含協(xié)議、OSI七層參考模型和數(shù)據(jù)通信時的協(xié)議封裝過程。
協(xié)議
由于網(wǎng)絡(luò)中運(yùn)行著由不同平臺上的異構(gòu)系統(tǒng)。為了能使其相互之間通訊,就需要一套共同的網(wǎng)絡(luò)語言,我們稱這種語言為協(xié)議。
常見的協(xié)議包括傳輸層的傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)協(xié)議(UDP),網(wǎng)絡(luò)層的IP協(xié)議,其它輔助性協(xié)議如地址解析協(xié)議(ARP)、動態(tài)主機(jī)配置協(xié)議(DHCP)及Internet控制報文協(xié)議(ICMP)等等。
為了更好的理解協(xié)議,可以將其想象人類口頭或書面交流的規(guī)則。每一種語句都有自己的規(guī)則。協(xié)議也是類似,它規(guī)定了數(shù)據(jù)包如何轉(zhuǎn)發(fā),如何發(fā)起和控制一個連接,已經(jīng)如何傳輸,收到后如何回復(fù)等等。
OSI七層參考模型
協(xié)議都是分層工作的,常見的參考模型有2種,一種是OSI七層模型,另外一種是TCP/IP分層模型。
OSI七層模型和TCP-IP分層模型
這里我們選擇最能幫助理解協(xié)議的七層模型來說明。
最頂層的應(yīng)用層表示用戶在系統(tǒng)界面實(shí)際操作訪問的應(yīng)用程序。最底層的物理層表示實(shí)際網(wǎng)絡(luò)傳輸介質(zhì)。每一層都會涉及都不同的網(wǎng)絡(luò)協(xié)議,這些協(xié)議共同協(xié)作,完成數(shù)據(jù)通訊,及應(yīng)用訪問。
在OSI模型中,每次都有自己的工作職能,大致如下。
應(yīng)用層(第七次)。為用戶提供直接訪問接口,是唯一一層用戶能看到的協(xié)議。如用戶常用的web訪問為http協(xié)議,文件共享可能使用的是MIFS協(xié)議等。
表示層(第六層)。這層負(fù)責(zé)將接收到的數(shù)據(jù)格式轉(zhuǎn)化為應(yīng)用層可識別的格式。不同的應(yīng)用層,對應(yīng)的表示層編碼和解碼方式各不相同。常見的加解密操作也是由表示層負(fù)責(zé)完成。
會話層(第五層)。會話層負(fù)責(zé)管理兩臺計算機(jī)之間的會話,包括會話的建立、維護(hù)和結(jié)束等等。
傳輸層(第四層)。主要負(fù)責(zé)數(shù)據(jù)無差錯傳輸。傳輸層有很多數(shù)據(jù)傳輸控制機(jī)制,如流控、分段、重組、錯誤控制等等。
網(wǎng)絡(luò)層(第三層)。這層主要負(fù)責(zé)數(shù)據(jù)在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)規(guī)則。路由工作主要在這一層。網(wǎng)絡(luò)層除了負(fù)責(zé)邏輯尋址外,還需要處理數(shù)據(jù)包分片及一些錯誤校驗(yàn)工作。
數(shù)據(jù)鏈路層(第二層)。這一層主要負(fù)責(zé)物理網(wǎng)絡(luò)尋址,為物理設(shè)備提供下一條的MAC地址信息。二層交換機(jī)是物理鏈路層的主要網(wǎng)絡(luò)設(shè)備。
物理層(第一層)。物理層及網(wǎng)絡(luò)傳輸?shù)慕橘|(zhì),主要包括網(wǎng)絡(luò)設(shè)備硬件和電氣特性。
無論是OSI參考模型,還是TCP/IP四層分層模型,不同的分層中有對應(yīng)的常見協(xié)議,下圖是常見的經(jīng)典協(xié)議對應(yīng)圖。
OSI各層對應(yīng)的網(wǎng)絡(luò)協(xié)議
封裝
封裝是協(xié)議棧中不同的分層對傳輸?shù)臄?shù)據(jù)加上一個協(xié)議頭部或尾部,保證數(shù)據(jù)能夠順利完成傳輸。
封裝過程會創(chuàng)建一個協(xié)議數(shù)據(jù)單元(PDU),其中包括發(fā)往對方的應(yīng)用層數(shù)據(jù),依據(jù)所有增加的頭部和尾部輔助信息。對方接收到這個數(shù)據(jù)包文后,逆向逐層剝?nèi)グl(fā)送方增加的頭部和尾部信息,直到最上層就剩下應(yīng)用層信息。
所有數(shù)據(jù)包傳輸基本都是以上圖中描述的過程創(chuàng)建、傳輸和處理。