分層學(xué)習(xí)網(wǎng)絡(luò)通信協(xié)議
作為現(xiàn)代網(wǎng)絡(luò),我們的將之分為7個層次分別來進(jìn)行學(xué)習(xí)。那么,針對每個不同的層次有著不同的協(xié)議內(nèi)容?,F(xiàn)在我們就來學(xué)習(xí)一下有關(guān)的網(wǎng)絡(luò)通信協(xié)議吧。首先讓我們從基礎(chǔ)來了解一下什么是網(wǎng)絡(luò)通信協(xié)議。
◆引言
通信涉及的所有部分都必須認(rèn)同一套用于信息交換的規(guī)則。人們把這種認(rèn)同的規(guī)則稱為協(xié)議(protocol)。這些規(guī)定消息的格式以及每條消息所需的適當(dāng)動作的一套協(xié)議稱為網(wǎng)絡(luò)協(xié)議(networkprotocol)或計算機(jī)通信協(xié)議(communicationprotocol)。實現(xiàn)這些規(guī)則的軟件稱為協(xié)議軟件(protocolsoft)。規(guī)定計算機(jī)信息交換中消息的格式和含義的協(xié)定稱為通信協(xié)議。本文就計算機(jī)網(wǎng)絡(luò)協(xié)議的體系結(jié)構(gòu)及其應(yīng)用分析計算機(jī)網(wǎng)絡(luò)通信協(xié)議,同時利用C語言實現(xiàn)TCP和UDP的傳輸過程。***再對未來網(wǎng)絡(luò)協(xié)議的發(fā)展做個展望。
◆計算機(jī)網(wǎng)絡(luò)通信的簡述
網(wǎng)絡(luò)協(xié)議設(shè)計一般假設(shè)協(xié)議參與者是完全服從的。網(wǎng)絡(luò)參與各方協(xié)調(diào)一致,按照協(xié)議的規(guī)定完成特定的任務(wù)。通信涉及的所有部分都必須認(rèn)同一套用于信息交換的規(guī)則。人們把這種認(rèn)同稱為協(xié)議(protocol)。這一術(shù)語也可用于計算機(jī)通信(規(guī)定消息的格式以及每條消息所需的適當(dāng)動作的一套協(xié)議稱為網(wǎng)絡(luò)協(xié)議(networkprotocol)或計算機(jī)通信協(xié)議(communicationprotocol))。實現(xiàn)這些規(guī)則的軟件稱為協(xié)議軟件(protocolsoft)。規(guī)定計算機(jī)信息交換中消息的格式和含義的協(xié)定稱為通信協(xié)議。
◆網(wǎng)絡(luò)通信協(xié)議及其所起的作用
在計算機(jī)網(wǎng)絡(luò)技術(shù)中,一般把通信規(guī)程稱作協(xié)議。所謂協(xié)議,就是人們在設(shè)計計算機(jī)網(wǎng)絡(luò)系統(tǒng)時,預(yù)先作出的一系列約定,作為約定后,數(shù)據(jù)通信必須完全遵照約定來進(jìn)行。由于計算機(jī)網(wǎng)絡(luò)使用的通信協(xié)議比較復(fù)雜,協(xié)議由語法、語義和交換規(guī)則三個部分組成,語義是通信雙方要表達(dá)的內(nèi)容,即協(xié)議所包含的元素,語法是規(guī)定這些內(nèi)容的表示形式,即協(xié)議中元素的格式交換規(guī)則是指這些元素之間的應(yīng)答關(guān)系,也就是數(shù)據(jù)通信過程中要發(fā)生的狀態(tài)的變化規(guī)則。數(shù)據(jù)從計算機(jī)網(wǎng)絡(luò)中的源站發(fā)出,到目的地站的接收,***達(dá)到收、發(fā)雙方之間的對話或互操作,需要經(jīng)歷一系列的協(xié)議操作。
例如,發(fā)送站把數(shù)據(jù)發(fā)送到線路上,根據(jù)目的地地址,先要經(jīng)歷在鏈路上的傳輸。鏈路是在通信節(jié)點間保證無差錯傳輸?shù)穆窂絾卧?#65377;每個節(jié)點收到信息后,對它作差錯檢測和改正差錯,然后再發(fā)送到下一個節(jié)點。如果遇到無法改正的差錯,則退回上一個節(jié)點要求重發(fā)。目的地址包括目的地站所在的網(wǎng)絡(luò)段號網(wǎng)絡(luò)地址和在該網(wǎng)絡(luò)段上的節(jié)點號節(jié)點地址,如果在某個中間節(jié)點上有多個網(wǎng)絡(luò)分支的路徑,為使信息以最經(jīng)濟(jì)、快捷的路徑傳送。要由該中間節(jié)點過斷了路由確定,然后可能跨越多個網(wǎng)絡(luò),進(jìn)行端對端從發(fā)站到收站的傳輸,把數(shù)據(jù)送到目的地站。
此后,還可能要作端到端的差錯校驗和改正。在進(jìn)行收、發(fā)站之間的交互行中的計算機(jī)程序之間的銜接進(jìn)程和進(jìn)程之間的連接,語言或代碼轉(zhuǎn)換,***到達(dá)應(yīng)用層,進(jìn)行應(yīng)用的信息處理操作。通信結(jié)束后,要進(jìn)行拆除連接,釋放信道的過程。如此完成一次通信,這其中每個階段都需要有嚴(yán)格的協(xié)議作為保證。
◆網(wǎng)絡(luò)通信協(xié)議的分層及功能
按照國際標(biāo)準(zhǔn)化組織(ISO)的建議,目前實際廣泛使用的網(wǎng)絡(luò)結(jié)構(gòu)模型是開放系統(tǒng)互連模型(OSI)。這是一個七層協(xié)議,包括物理層協(xié)議、數(shù)據(jù)鏈路層協(xié)議、網(wǎng)絡(luò)層協(xié)議、傳輸層協(xié)議、會話層協(xié)議、表示層協(xié)議、應(yīng)用層協(xié)議。
物理層協(xié)議實現(xiàn)物理上互連系統(tǒng)間位流信息的透明傳輸,即實現(xiàn)了一位(組)數(shù)據(jù)在兩個通信實體之間的可靠傳送通信,它描述了經(jīng)通信介質(zhì)在數(shù)據(jù)鏈路實體之間建立、維護(hù)和拆除物理連接。數(shù)據(jù)鏈路層協(xié)議主要是對高層屏蔽傳輸介質(zhì)的特性,為網(wǎng)絡(luò)通信實體之間提供建立、維護(hù)和釋放數(shù)據(jù)鏈路連接的功能和手段,實現(xiàn)無差錯的數(shù)據(jù)以幀為單位的可靠傳送。網(wǎng)絡(luò)層協(xié)議主要是為通信子網(wǎng)與高層結(jié)構(gòu)之間提供界面連接,其主要任務(wù)是對通信子網(wǎng)實現(xiàn)路徑選擇,實現(xiàn)通信實體之間端--端的透明的數(shù)據(jù)傳送,對高層屏蔽了數(shù)據(jù)傳送經(jīng)過的路徑。
傳輸層協(xié)議也稱主機(jī)—主機(jī)層協(xié)議,它為會話層的通信實體之間提供透明的數(shù)據(jù)傳送,其主要任務(wù)是接收會話實體送來的數(shù)據(jù),根據(jù)需要把他們分成若干比較小的單元,保證所有數(shù)據(jù)單元經(jīng)下面三層正確地到達(dá)另一個會話實體。會話層協(xié)議也稱進(jìn)程—進(jìn)程層協(xié)議,它通過協(xié)議提供的一組命令為網(wǎng)上兩個進(jìn)程之間的通信建立會話連接和釋放會話連接,并管理它們在該連接上的對話。表示層協(xié)議以對應(yīng)用實體有意義的形式提供有關(guān)信息表示的服務(wù)。這些服務(wù)有文本壓縮、代碼轉(zhuǎn)換、數(shù)據(jù)加密與解密、文件格式變換、信息格式變換、終端屬性的轉(zhuǎn)換等。應(yīng)用層協(xié)議是用戶訪問網(wǎng)絡(luò)的接口層,直接為正在通信的端點用戶的應(yīng)用進(jìn)程服務(wù)。那么這些都是屬于網(wǎng)絡(luò)通信協(xié)議這個大的概念之中的協(xié)議內(nèi)容。