官术网_书友最值得收藏!

第3章
分布式架構(gòu)網(wǎng)絡(luò)傳輸

分布式架構(gòu)網(wǎng)絡(luò)是由分布在不同地點(diǎn)且具有多個(gè)終端的節(jié)點(diǎn)機(jī)互連形成的。網(wǎng)絡(luò)中任意一節(jié)點(diǎn)均至少與兩條線路與其他節(jié)點(diǎn)相連,當(dāng)任意一條線路發(fā)生故障時(shí),通信可轉(zhuǎn)經(jīng)其他線路完成,從而使網(wǎng)絡(luò)具有較高的可靠性和可擴(kuò)充性。網(wǎng)絡(luò)傳輸是基于可靠的線路和網(wǎng)絡(luò)傳輸協(xié)議來實(shí)現(xiàn)的。

本章重點(diǎn)內(nèi)容如下:

  • 網(wǎng)絡(luò)傳輸協(xié)議
  • 網(wǎng)絡(luò)傳輸調(diào)用過程
  • 網(wǎng)絡(luò)傳輸優(yōu)化

3.1 網(wǎng)絡(luò)傳輸協(xié)議

通信協(xié)議簡(jiǎn)稱傳輸協(xié)議,在電信領(lǐng)域,是指在任何物理介質(zhì)中允許處于傳輸系統(tǒng)中的兩個(gè)或多個(gè)終端之間傳播信息的系統(tǒng)標(biāo)準(zhǔn)。通信協(xié)議在硬件、軟件或兩者之間皆可實(shí)現(xiàn)信息傳輸。

為了使交換信息量足夠大,通信系統(tǒng)使用通用格式協(xié)議,每條信息都有明確意義從而使預(yù)定位置給予響應(yīng),并獨(dú)立回應(yīng)指定的行為。在通信協(xié)議參與實(shí)體都同意時(shí)通信過程才能生效。為了達(dá)成一致,協(xié)議必須要有技術(shù)標(biāo)準(zhǔn),編程語言在計(jì)算方面也應(yīng)有相應(yīng)標(biāo)準(zhǔn)。

OSI是一個(gè)開放性的通信系統(tǒng)互連參考模型,它是一個(gè)很好的協(xié)議規(guī)范。OSI模型有7層結(jié)構(gòu),從低到高分為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表現(xiàn)層、應(yīng)用層。

注意

OSI模型的7層結(jié)構(gòu)中,應(yīng)用層、表現(xiàn)層、會(huì)話層、傳輸層定義了應(yīng)用程序的功能;網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層主要實(shí)現(xiàn)網(wǎng)絡(luò)端到端的數(shù)據(jù)流連接。網(wǎng)絡(luò)中的計(jì)算機(jī)與終端間要想正確地傳送信息和數(shù)據(jù),必須在數(shù)據(jù)傳輸?shù)捻樞颉?shù)據(jù)的格式及內(nèi)容等方面有一個(gè)約定或規(guī)則,這種約定或規(guī)則稱為協(xié)議。

下面將詳細(xì)介紹OSI模型的7層結(jié)構(gòu)。

1. 物理層

物理層是OSI的第一層,它雖然處于最底層,卻是整個(gè)開放系統(tǒng)的基礎(chǔ)。物理層為設(shè)備之間的數(shù)據(jù)通信提供傳輸媒體及互連設(shè)備,為數(shù)據(jù)傳輸提供可靠的環(huán)境。OSI的物理層規(guī)范是關(guān)于傳輸介質(zhì)的特性,這些規(guī)范也參考了其他組織制定的相關(guān)標(biāo)準(zhǔn)。連接頭、幀、幀的使用、電流、編碼及光調(diào)制等都在物理層規(guī)范的范疇中。物理層常用多個(gè)規(guī)范完成對(duì)所有細(xì)節(jié)的定義。

物理層最主要的功能如下。

  • 為數(shù)據(jù)端設(shè)備提供數(shù)據(jù)傳送的通路。數(shù)據(jù)通路可以是一個(gè)物理媒體,也可以是由多個(gè)物理媒體連接而成的體系。一次完整的數(shù)據(jù)傳輸,包括激活物理連接、傳送數(shù)據(jù)、終止物理連接。所謂激活,就是不管有多少物理媒體參與,都要在要通信的兩個(gè)數(shù)據(jù)終端設(shè)備間建立一條通路。
  • 傳輸數(shù)據(jù)。物理層要形成適合數(shù)據(jù)傳輸?shù)膶?shí)體,為數(shù)據(jù)傳送提供支持。要實(shí)現(xiàn)這一點(diǎn),一是要保證數(shù)據(jù)能在其上正確通過,二是要提供足夠的帶寬(帶寬是指每秒內(nèi)能通過的比特(BIT)數(shù)),以減少信道上的擁塞。數(shù)據(jù)傳輸?shù)姆绞侥軡M足單點(diǎn)到單點(diǎn)、單點(diǎn)到多點(diǎn)、串行或并行、半雙工或全雙工、同步或異步傳輸?shù)男枰?/li>

2. 數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路可以粗略地理解為數(shù)據(jù)通道。物理層要為終端設(shè)備間的數(shù)據(jù)通信提供傳輸媒體及其連接。媒體是長(zhǎng)期的,而連接是有生存期的。在連接生存期內(nèi),收發(fā)兩端可以進(jìn)行不等的一次或多次數(shù)據(jù)通信。每次通信都要經(jīng)過建立通信聯(lián)絡(luò)和拆除通信聯(lián)絡(luò)這兩個(gè)過程。這種建立起來的數(shù)據(jù)收發(fā)關(guān)系就叫作數(shù)據(jù)鏈路。而在物理媒體上傳輸?shù)臄?shù)據(jù)難免受到各種不可靠因素的影響而產(chǎn)生差錯(cuò),為了彌補(bǔ)物理層上的不足,并為上層提供無差錯(cuò)的數(shù)據(jù)傳輸,就要具有對(duì)數(shù)據(jù)進(jìn)行檢錯(cuò)和糾錯(cuò)的能力。數(shù)據(jù)鏈路的建立和拆除,對(duì)數(shù)據(jù)的檢錯(cuò)和糾錯(cuò)是數(shù)據(jù)鏈路層的基本任務(wù)。數(shù)據(jù)鏈路層定義了在單個(gè)鏈路上如何傳輸數(shù)據(jù)。這些協(xié)議與被討論的各種介質(zhì)有關(guān)。

數(shù)據(jù)鏈路層最主要功能如下。

  • 為網(wǎng)絡(luò)層提供數(shù)據(jù)傳送服務(wù),這種服務(wù)要依靠本層具備的功能來實(shí)現(xiàn)。鏈路層應(yīng)具備建立、拆除、分離鏈路連接,以及幀定界和幀同步等功能。鏈路層的數(shù)據(jù)傳輸單元是幀,協(xié)議不同,幀的長(zhǎng)短和界面也有差別,但無論如何必須對(duì)幀進(jìn)行定界。
  • 順序控制,指對(duì)幀的收發(fā)順序進(jìn)行控制。
  • 差錯(cuò)檢測(cè)和恢復(fù),以及鏈路標(biāo)識(shí)、流量控制等。進(jìn)行差錯(cuò)檢測(cè)時(shí)多用方陣碼校驗(yàn)和循環(huán)碼校驗(yàn)來檢測(cè)信道上數(shù)據(jù)的誤碼,而進(jìn)行幀丟失檢測(cè)時(shí)則用序號(hào)校驗(yàn)。各種錯(cuò)誤的恢復(fù)則常靠反饋重發(fā)技術(shù)來完成。

3. 網(wǎng)絡(luò)層

在網(wǎng)絡(luò)層對(duì)端到端的包傳輸進(jìn)行定義。網(wǎng)絡(luò)層定義了能夠標(biāo)識(shí)所有節(jié)點(diǎn)的邏輯地址,還定義了路由實(shí)現(xiàn)的方式和學(xué)習(xí)的方式。為了使最大傳輸單元長(zhǎng)度小于包長(zhǎng)度,網(wǎng)絡(luò)層還定義了如何將一個(gè)包分解成更小的包的方法。

網(wǎng)絡(luò)層最主要的功能如下。

  • 通常在數(shù)據(jù)傳輸?shù)倪^程中,數(shù)據(jù)包會(huì)經(jīng)過網(wǎng)絡(luò)層,而網(wǎng)絡(luò)層可以通過路由把數(shù)據(jù)包傳遞到下一個(gè)線路,由于網(wǎng)絡(luò)是動(dòng)態(tài)可變的,所以網(wǎng)絡(luò)層需要實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)包,并且規(guī)劃設(shè)置每個(gè)數(shù)據(jù)包的最佳路線。具體線路由路由算法實(shí)現(xiàn),如鏈路狀態(tài)算法、距離矢量算法。
  • 路由器中有路由表的概念,其主要為路由器提供包的方向依據(jù),路由器會(huì)根據(jù)每個(gè)到達(dá)包的地址來確定方向并轉(zhuǎn)發(fā)包。當(dāng)路由器接收包的速度小于轉(zhuǎn)發(fā)包的速度時(shí),會(huì)把暫時(shí)不能發(fā)送的包存儲(chǔ)在緩沖區(qū)中,等待發(fā)送。后續(xù)會(huì)嘗試發(fā)送緩沖區(qū)的包。
  • 網(wǎng)絡(luò)層傳輸包時(shí)也會(huì)存在擁塞,路由器會(huì)控制擁塞,從而盡可能提高網(wǎng)絡(luò)效率和降低丟包率。
  • 在網(wǎng)絡(luò)傳輸過程中,路由器會(huì)根據(jù)包的類型來確定優(yōu)先級(jí),優(yōu)先級(jí)高的先轉(zhuǎn)發(fā),低的后轉(zhuǎn)發(fā)。

4. 傳輸層

傳輸層是兩臺(tái)計(jì)算機(jī)經(jīng)過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信時(shí)第一個(gè)進(jìn)行端到端處理的層次,具有緩沖作用。當(dāng)網(wǎng)絡(luò)層服務(wù)質(zhì)量不能滿足要求時(shí),傳輸層會(huì)提高服務(wù)質(zhì)量,以滿足更高層的要求;當(dāng)網(wǎng)絡(luò)層服務(wù)質(zhì)量較好時(shí),傳輸層只用做很少工作,如監(jiān)控、傳輸數(shù)據(jù)包。傳輸層還可進(jìn)行復(fù)用,即在一個(gè)網(wǎng)絡(luò)連接上創(chuàng)建多個(gè)邏輯連接。傳輸層又稱運(yùn)輸層,只存在于端開放系統(tǒng)中,是OST模型介于低3層和高3層之間的一層,是很重要的一層,因?yàn)樗菑脑炊说侥康亩藗魉蛿?shù)據(jù)時(shí)進(jìn)行從低到高控制的最后一層。

有一個(gè)既存事實(shí),即世界上各種通信子網(wǎng)在性能上存在很大差異,例如電話交換網(wǎng)、分組交換網(wǎng)、公用數(shù)據(jù)交換網(wǎng)、局域網(wǎng)等都可互連,但它們提供的吞吐量、傳輸速率、數(shù)據(jù)延遲通信費(fèi)用各不相同。但會(huì)話層要求有性能恒定的界面,而傳輸層就承擔(dān)了這一功能。傳輸層采用分流/合流、復(fù)用/解復(fù)用技術(shù)來調(diào)節(jié)上述通信子網(wǎng)的差異,主要用于判斷是選擇差錯(cuò)恢復(fù)協(xié)議還是無差錯(cuò)恢復(fù)協(xié)議,以實(shí)現(xiàn)在同一主機(jī)上對(duì)不同應(yīng)用數(shù)據(jù)流的輸入進(jìn)行復(fù)用,以及對(duì)收到的順序不對(duì)的數(shù)據(jù)包進(jìn)行重新排序。

5. 會(huì)話層

會(huì)話層提供的服務(wù)可使應(yīng)用建立和維持會(huì)話,并能使會(huì)話獲得同步。通過使用校驗(yàn)點(diǎn),會(huì)話層可使通信會(huì)話在通信失效時(shí)從校驗(yàn)點(diǎn)繼續(xù)恢復(fù)通信,這種能力對(duì)于傳送大的文件極為重要。會(huì)話層、表示層、應(yīng)用層構(gòu)成開放系統(tǒng)的高3層,面對(duì)應(yīng)用進(jìn)程提供分布處理、對(duì)話管理、信息表示、恢復(fù)最后的差錯(cuò)等功能。會(huì)話層同樣要滿足應(yīng)用進(jìn)程服務(wù)的要求,完成運(yùn)輸層不能完成的那部分工作,包括對(duì)話管理、數(shù)據(jù)流同步和重新同步。會(huì)話層定義了如何開始、控制和結(jié)束一個(gè)會(huì)話,包括對(duì)多個(gè)雙向消息的控制和管理,以便在只完成連續(xù)消息的一部分時(shí)即可通知應(yīng)用,從而確保表示層看到的數(shù)據(jù)是連續(xù)的,在某些情況下,如果表示層收到了所有的數(shù)據(jù),則可用數(shù)據(jù)代表表示層。

會(huì)話層最主要功能如下。

  • 為會(huì)話的實(shí)體間建立連接,具體包括將會(huì)話地址映射為運(yùn)輸?shù)刂贰⑦x擇需要的運(yùn)輸服務(wù)質(zhì)量參數(shù)(QOS)、對(duì)會(huì)話參數(shù)進(jìn)行協(xié)商、識(shí)別各個(gè)會(huì)話連接、傳送有限的透明用戶數(shù)據(jù)。
  • 數(shù)據(jù)傳輸階段在兩個(gè)會(huì)話用戶之間實(shí)現(xiàn)有組織的、同步的數(shù)據(jù)傳輸。用戶數(shù)據(jù)單元為SSDU,而協(xié)議數(shù)據(jù)單元為SPDU。會(huì)話用戶之間的數(shù)據(jù)傳送過程是將SSDU轉(zhuǎn)變成SPDU的過程。
  • 通過有序釋放、廢棄、限量透明用戶數(shù)據(jù)傳送等功能單元來釋放會(huì)話連接。為了在會(huì)話連接建立階段能進(jìn)行功能協(xié)商,也為了便于其他國際標(biāo)準(zhǔn)參考和引用,會(huì)話層標(biāo)準(zhǔn)定義了12種功能單元,各個(gè)系統(tǒng)可根據(jù)自身情況和需要,以核心功能服務(wù)單元為基礎(chǔ),選配其他功能單元組成合理的會(huì)話服務(wù)子集。

6. 表現(xiàn)層

表現(xiàn)層的主要功能是定義數(shù)據(jù)格式及對(duì)數(shù)據(jù)加密。例如,F(xiàn)TP允許選擇以二進(jìn)制或ASCII格式進(jìn)行傳輸。如果選擇二進(jìn)制,那么發(fā)送方和接收方不能改變文件的內(nèi)容。如果選擇ASCII格式,發(fā)送方將把文本從發(fā)送方的字符集轉(zhuǎn)換成標(biāo)準(zhǔn)的ASCII后再發(fā)送數(shù)據(jù),接收方則會(huì)將標(biāo)準(zhǔn)的ASCII轉(zhuǎn)換成接收方計(jì)算機(jī)的字符集。

7. 應(yīng)用層

應(yīng)用層對(duì)應(yīng)應(yīng)用程序的通信服務(wù)。例如,一個(gè)沒有通信功能的字處理程序是不能執(zhí)行通信代碼的,從事字處理工作的程序員也不關(guān)心OSI的應(yīng)用層,但是如果添加了一個(gè)傳輸文件的選項(xiàng),那么字處理器的程序就需要實(shí)現(xiàn)OSI的應(yīng)用層。

8. 小結(jié)

會(huì)話層及其以下的4層完成了端到端的數(shù)據(jù)傳送,并且是可靠、無差錯(cuò)的傳送,但是數(shù)據(jù)傳送只是手段而不是目的,最終是要實(shí)現(xiàn)對(duì)數(shù)據(jù)的使用。由于各種系統(tǒng)對(duì)數(shù)據(jù)的定義并不完全相同,以鍵盤為例,其上某些鍵的含義在許多系統(tǒng)中都有差異,這給利用其他系統(tǒng)的數(shù)據(jù)造成了障礙,表示層和應(yīng)用層就擔(dān)負(fù)了消除這種障礙的任務(wù)。

分層的優(yōu)化如下:

1)層間的標(biāo)準(zhǔn)接口方便了工程模塊化;

2)可創(chuàng)建更好的互連環(huán)境;

3)每層可利用緊鄰的下層服務(wù),更容易記住各層的功能;

4)降低了復(fù)雜度,使程序更容易修改,產(chǎn)品開發(fā)速度更快。

OSI 7層模型是一個(gè)理論模型,實(shí)際應(yīng)用中千變?nèi)f化,因此應(yīng)把它作為分析、評(píng)判各種網(wǎng)絡(luò)技術(shù)的依據(jù)。對(duì)大多數(shù)應(yīng)用來說,只可將它的協(xié)議族(即協(xié)議堆棧)與7層模型進(jìn)行大致的對(duì)應(yīng),查看實(shí)際用到的特定協(xié)議是屬于7層中的某個(gè)子層,還是包括了上下多層的功能。

主站蜘蛛池模板: 新昌县| 襄樊市| 凌云县| 曲阜市| 长武县| 内丘县| 彭山县| 鲁甸县| 息烽县| 绥阳县| 夏津县| 尉氏县| 余江县| 张北县| 科尔| 荔波县| 平度市| 武平县| 台北县| 岳阳县| 奉化市| 南丰县| 淳化县| 德州市| 定襄县| 辰溪县| 油尖旺区| 松滋市| 甘南县| 彰化县| 浮梁县| 大姚县| 太和县| 神木县| 盘锦市| 辉县市| 满城县| 青冈县| 桂林市| 裕民县| 南通市|