3.差錯(cuò)檢測和控制
差錯(cuò)控制方式基本上分為兩類,一類稱為“反饋糾錯(cuò)”,另一類稱為“前向糾錯(cuò)”。在這 兩類基礎(chǔ)上又派生出一種稱為“混合糾錯(cuò)”。對于不同類型的信道,應(yīng)采用不同的差錯(cuò)控制技術(shù),否則就將事倍功半。反饋糾錯(cuò)可用于雙向數(shù)據(jù)通信,前向糾錯(cuò)則用于單向數(shù)字信號(hào)的傳輸,例如廣播數(shù)字電視系統(tǒng),因?yàn)檫@種系統(tǒng)沒有反饋通道。
數(shù)據(jù)鏈路層還負(fù)責(zé)差錯(cuò)檢測和控制。一種差錯(cuò)控制的方法是檢測差錯(cuò),然后請求重傳。另一種方法是接收器檢測出一個(gè)差錯(cuò),然后重建幀。后一種方法需要隨幀發(fā)送足夠的附加信息,以便在檢測出差錯(cuò)后接收器可以重建幀。當(dāng)不可能重傳(如將信息傳輸?shù)胶教焯綔y器)時(shí)使用該方法。
在數(shù)據(jù)鏈路層中執(zhí)行差錯(cuò)恢復(fù)任務(wù)通常是效率很低的。這樣很多網(wǎng)絡(luò)實(shí)施依靠上層協(xié)議完成該任務(wù)。在大多數(shù)情況下,數(shù)據(jù)鏈路層用于盡可能快速并有效地傳遞數(shù)據(jù),而不執(zhí)行大量的數(shù)據(jù)恢復(fù)任務(wù)。上層協(xié)議則提供了恢復(fù)服務(wù)。
4.流控制
流量控制是在計(jì)算機(jī)之間和網(wǎng)絡(luò)結(jié)點(diǎn)之間控制數(shù)據(jù)流量以達(dá)到數(shù)據(jù)同步的目的的。在設(shè)備能夠處理前過多的數(shù)據(jù)到達(dá)會(huì)引起數(shù)據(jù)的拋棄或數(shù)據(jù)重發(fā)。對于串行數(shù)據(jù)傳輸,采用Xon/Xoff協(xié)議進(jìn)行控制。在網(wǎng)絡(luò)中,流量控制也參與加入新設(shè)備,當(dāng)流量大時(shí),不能加入新設(shè)備。
可以將數(shù)據(jù)傳輸想象為流經(jīng)管道并在接收端注滿水桶的水流。接收者從水桶取水,但需要一些方法減少水流以使水桶不會(huì)溢出。在這個(gè)比喻中,水桶代表接收器使用的數(shù)據(jù)緩沖區(qū),該緩沖區(qū)保存輸入的必須被處理的數(shù)據(jù)。一些NIC(網(wǎng)絡(luò)接口卡)上的緩沖區(qū)大得足可以裝下整個(gè)輸入的傳輸。如果緩沖區(qū)溢出,則幀通常被丟掉,因此接收器使用一些方法告訴發(fā)送器降低發(fā)送幀的速度或停止發(fā)送將會(huì)很有用。
共享LAN的網(wǎng)絡(luò)接入和邏輯鏈路控制接入方法對于由多個(gè)設(shè)備共享的網(wǎng)絡(luò)是必需的。因?yàn)橐粫r(shí)間只有一個(gè)設(shè)備可以在網(wǎng)絡(luò)上進(jìn)行傳輸,所以需要一種媒體接入控制方法來提供仲裁。
在由IEEE定義的局域網(wǎng)絡(luò)環(huán)境中,媒體接入?yún)f(xié)議位于稱為MAC(媒體接入控制)子層的數(shù)據(jù)鏈路層的子層。MAC子層位于LLC子層的下方,LLC子層對于任意在其下方安裝的MAC驅(qū)動(dòng)程序都提供了數(shù)據(jù)鏈路。在下圖中可以看到該層的子分區(qū)
圖示 數(shù)據(jù)鏈路層包括兩個(gè)子層:MAC (媒體訪問控制)和LLC(邏輯鏈路控制)
MAC子層支持各種不同的網(wǎng)絡(luò)類型,其中每種類型都有一種仲裁網(wǎng)絡(luò)接入的特定方法。三種可能的接入方法如下:
載波監(jiān)聽方法 載波監(jiān)聽技術(shù)即發(fā)送站點(diǎn)在發(fā)送幀之前,先要監(jiān)聽信道上是否有其他站點(diǎn)發(fā)送的載波信號(hào),若無其他載波,可以發(fā)送信號(hào);否則,推遲發(fā)送幀。使用該技術(shù),設(shè)備監(jiān)聽網(wǎng)絡(luò)傳輸,并等待直到線路空閑出來以傳輸它們自己的數(shù)據(jù)。如果兩個(gè)站試圖同時(shí)進(jìn)行傳輸,則兩個(gè)站都退出并等待一段長短不定的時(shí)間,然后重發(fā)。
令牌訪問 令牌是在令牌環(huán)、令牌總線和光纖分布式數(shù)據(jù)接口(FDDI)網(wǎng)絡(luò)中控制網(wǎng)絡(luò)訪問的特殊分組。令牌環(huán)構(gòu)成了邏輯環(huán),其中每個(gè)傳輸沿環(huán)從一個(gè)站到另一個(gè)站行進(jìn)。只有擁有特殊令牌的站才可以進(jìn)行傳輸。
預(yù)留方法 在該方案中,每個(gè)傳輸設(shè)備都有一個(gè)分配給它的特定的時(shí)隙或頻率。TDM(時(shí)分復(fù)用)就是一個(gè)實(shí)例。設(shè)備可以有選擇地將數(shù)據(jù)放入時(shí)隙中進(jìn)行傳輸。如果設(shè)備不傳輸任何數(shù)據(jù),則該技術(shù)可能會(huì)浪費(fèi)帶寬。
5.橋接
“橋接”,是指依據(jù)OSI網(wǎng)絡(luò)模型的鏈路層的地址,對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)的過程。當(dāng)路由器配置了橋接選項(xiàng)后,會(huì)處理所有接口上的所有的數(shù)據(jù)幀,并實(shí)時(shí)調(diào)查每個(gè)主機(jī)的位置。若在某個(gè)接口上收入一個(gè)幀,就會(huì)在一個(gè)橋接內(nèi)置入一個(gè)條目,列出發(fā)送數(shù)據(jù)的主機(jī)和接收到數(shù)據(jù)幀的接口MAC地址,這樣路由表就被不斷地在通信中完善起來。透明橋接使路由器對主機(jī)來講是透明的,其作用就相當(dāng)于一個(gè)局域網(wǎng)交換機(jī)。若是同一個(gè)LAN內(nèi)的兩個(gè)主機(jī)通信,數(shù)據(jù)幀就不會(huì)被發(fā)送到其它的接口,因?yàn)樵跇蚪颖砝铮瑪?shù)據(jù)幀都來自相同的接口;若是收到一個(gè)幀,而其中的MAC地址不在自己的橋接表里,就會(huì)將這個(gè)幀擴(kuò)散到所有的接口,橋接還會(huì)擴(kuò)散所有的廣播包,占用網(wǎng)絡(luò)的有效帶寬,造成網(wǎng)絡(luò)的堵塞。Cisco IOS支持多種類型的橋接,比如:透明橋接、封裝橋接、源路由橋接、源路由透明橋接、源路由轉(zhuǎn)換橋接。
網(wǎng)橋是一種將兩個(gè)或更多的網(wǎng)段連接為一個(gè)單獨(dú)LAN的設(shè)備。新連接的LAN上的所有設(shè)備可以互相通信,但是網(wǎng)橋提供了過濾功能,可以阻止不必要的通信從一個(gè)網(wǎng)段傳播到其他網(wǎng)段。網(wǎng)橋通常用于將一個(gè)大型的LAN分隔成兩個(gè)單獨(dú)的網(wǎng)段。如果LAN是以太網(wǎng),則網(wǎng)橋創(chuàng)建一個(gè)廣播域和兩個(gè)沖突域。在以太網(wǎng)中,沖突域具有較少的計(jì)算機(jī)比較好,這樣有利于用網(wǎng)橋劃分網(wǎng)絡(luò)。請注意,交換機(jī)基本上是多端口網(wǎng)橋。
6.交換
正如上面提到的,網(wǎng)橋可以用于將一個(gè)LAN分成兩個(gè)網(wǎng)段,這兩個(gè)網(wǎng)段又有效地產(chǎn)生兩個(gè)較小的沖突域。交換機(jī)是基于這個(gè)理論擴(kuò)展的設(shè)備。網(wǎng)橋通常有兩個(gè)端口連接兩個(gè)LAN網(wǎng)段,而交換機(jī)有一組端口,可以連接更多的網(wǎng)段。下圖闡釋了交換機(jī)如何提供用于多個(gè)集線器的橋接功能。每個(gè)集線器都有一個(gè)沖突域,但是圖中所示的整個(gè)網(wǎng)絡(luò)是一個(gè)單獨(dú)的廣播域。每個(gè)交換機(jī)端口基本上是一個(gè)可以通過交換機(jī)中的內(nèi)部電路隨時(shí)“橋接”到其他任何端口的單獨(dú)LAN網(wǎng)段。
圖示 一個(gè)交換網(wǎng)絡(luò)
橋接的所有優(yōu)點(diǎn)如前面部分所述。
大多數(shù)交換設(shè)備提供了配置VLAN(虛擬LAN)的方法。在用交換機(jī)建立網(wǎng)絡(luò)時(shí),有一種建立大型平坦網(wǎng)絡(luò)而不是多個(gè)不同的 LAN(即所有的節(jié)點(diǎn)是同一廣播網(wǎng)絡(luò)的一部分)的傾向。VLAN技術(shù)可以用于在平坦交換環(huán)境中創(chuàng)建虛擬LAN。例如,如果用具有VLAN功能的交換機(jī)替代上圖中的集線器,則工作站A和D可以配置到一個(gè)VLAN中;而工作站B、E和H可以配置到另一個(gè)VLAN中。來自A的廣播可以被D接聽到,而來自B的廣播可以被E和H接聽到。然后需要一個(gè)路由器以發(fā)送VLAN之間的數(shù)據(jù)分組。
7.路由選擇、網(wǎng)絡(luò)互聯(lián)和網(wǎng)絡(luò)層
盡管網(wǎng)橋?qū)蓚€(gè)分離的LAN網(wǎng)段連接為一個(gè)單獨(dú)的廣播域(或?qū)⒁粋€(gè)大的LAN拆分成兩個(gè)或更多的不同沖突域),路由器還是提供了網(wǎng)絡(luò)互聯(lián)的功能。在網(wǎng)橋級上,信息以幀(幀在數(shù)據(jù)鏈路層中定義)的形式發(fā)送到其他系統(tǒng)中。在路由器級上,信息必須被封裝在包含目的網(wǎng)絡(luò)地址的數(shù)據(jù)分組內(nèi),然后通過路由器邊界轉(zhuǎn)發(fā)。路由器將網(wǎng)絡(luò)連接到互聯(lián)網(wǎng)中。
有時(shí),通過在地址下方寫下具體地址和單詞“市”可以將信件郵寄到同一城市中的某個(gè)人那里。但是如果信件有一個(gè)“城市間”地址,則將需要在信封上寫下城市名和ZLP編碼(郵政區(qū)號(hào))。同樣,互聯(lián)網(wǎng)絡(luò)由很多互相連接的網(wǎng)絡(luò)組成。因特網(wǎng)是最大的互聯(lián)網(wǎng)絡(luò)。若要在不同的網(wǎng)絡(luò)之間發(fā)送數(shù)據(jù)分組,則需要分層的命名方案,其中,以用于路由目的的名稱或數(shù)字識(shí)別每一個(gè)網(wǎng)絡(luò)。ZLP編碼方案在郵政系統(tǒng)中就起這樣的作用。IP(網(wǎng)際協(xié)議)則是互聯(lián)網(wǎng)絡(luò)的尋址和路由選擇協(xié)議。
在下圖中,LAN被連接到路由器上并且路由器組成了相互連接的路徑網(wǎng),數(shù)據(jù)分組可以通過路徑網(wǎng)行進(jìn)到它們的目的地。注意可以從任意其他點(diǎn)到達(dá)網(wǎng)絡(luò)中的任意路由器和所連接的LAN。
圖示 路由器用來創(chuàng)建多連接點(diǎn)和多路徑的網(wǎng)絡(luò)有關(guān)網(wǎng)絡(luò)
8.傳輸層
服務(wù)傳輸層提供了面向連接服務(wù)。這意味著兩個(gè)系統(tǒng)可以建立一個(gè)會(huì)話,通過會(huì)話它們進(jìn)行有關(guān)數(shù)據(jù)交換狀態(tài)的“對話”。雖然建立連接花費(fèi)一些時(shí)間并增加了數(shù)據(jù)傳輸?shù)囊恍╅_銷,但是它向發(fā)送器提供了保證接收器接收到全部已發(fā)送數(shù)據(jù)的服務(wù)。發(fā)送器發(fā)送一組數(shù)據(jù)分組,然后接收器確認(rèn)它已經(jīng)接收了該數(shù)據(jù)分組。如果接收器未對接收作出確認(rèn),則發(fā)送重傳數(shù)據(jù)分組。會(huì)話控制還提供流控制以防止接收器溢出或在某些情況下網(wǎng)絡(luò)溢出。
下圖闡釋了傳輸層會(huì)話如何成為跨越中間設(shè)備的(如路由器)邏輯端對端連接。兩個(gè)對等的傳輸層通過面向連接的虛擬線路進(jìn)行對話。
圖示 傳輸層能夠從事網(wǎng)間的端對端轉(zhuǎn)換
傳輸層的功能包括是否選擇差錯(cuò)恢復(fù)協(xié)議還是無差錯(cuò)恢復(fù)協(xié)議,及在同一主機(jī)上對不同應(yīng)用的數(shù)據(jù)流的輸入進(jìn)行復(fù)用,還包括對收到的順序不對的數(shù)據(jù)包的重新排序功能。例如:TCP,UDP,SPX等。
傳輸層提供可靠的面向連接服務(wù)。例如,如果網(wǎng)絡(luò)鏈路暫時(shí)發(fā)生故障,則面向連接的會(huì)話并不立即中止連接,而是試圖保持連接有效直到基礎(chǔ)鏈路重新建立。在會(huì)話重新建立后,數(shù)據(jù)從被中斷處繼續(xù)傳輸。
9.應(yīng)用層
在協(xié)議棧中最高層運(yùn)行的應(yīng)用程序?qū)嶋H上并沒有涉及通信,但是它們確實(shí)使用了通信設(shè)備并在它們的用戶界面(利用基礎(chǔ)網(wǎng)絡(luò))中實(shí)現(xiàn)了功能。應(yīng)用層的作用是在實(shí)現(xiàn)多個(gè)系統(tǒng)進(jìn)程相互通信的同時(shí),完成一系列業(yè)務(wù)處理所需的服務(wù)。它不僅要提供應(yīng)用進(jìn)程所需的信息交換和遠(yuǎn)地操作,而且還要作為互相作用的應(yīng)用進(jìn)程的用戶代理( User agent)。網(wǎng)絡(luò)文件共享服務(wù),如NCP( NetWare核心協(xié)議)、UNIX環(huán)境中的NFS(網(wǎng)絡(luò)文件系統(tǒng))或Windows環(huán)境中的SMB (服務(wù)器信息塊)都是特意為使用網(wǎng)絡(luò)服務(wù)而開發(fā)的,這樣用戶可以通過網(wǎng)絡(luò)共享文件。
應(yīng)用層是網(wǎng)絡(luò)可向最終用戶提供應(yīng)用服務(wù)的唯一窗口,其目的是支持用戶聯(lián)網(wǎng)的應(yīng)用的要求。由于用戶的要求不同,應(yīng)用層含有支持不同應(yīng)用的多種應(yīng)用實(shí)體,提供多種應(yīng)用服務(wù),如電子郵件、文件傳輸、虛擬終端、電子數(shù)據(jù)交換等。
在TCP/IP環(huán)境中,套接API提供了應(yīng)用程序和基礎(chǔ)網(wǎng)絡(luò)服務(wù)之間的編程接口。