任一鏈路層的基本服務(wù)都是將數(shù)據(jù)報通過單一通信鏈路從一個結(jié)點移動到相鄰結(jié)點贩毕,但所提供的服務(wù)細(xì)節(jié)能夠隨著鏈路層協(xié)議的不同而變化悯许。
鏈路層協(xié)議能夠提供的可能服務(wù)
1、成幀辉阶。在每個網(wǎng)絡(luò)層數(shù)據(jù)報經(jīng)鏈路傳送之前岸晦,幾乎所有鏈路層協(xié)議都要將其用鏈路層幀封裝起來。
2睛藻、鏈路接入启上。媒體訪問控制(Medium Access Control, MAC)協(xié)議規(guī)定了幀在鏈路上傳輸?shù)囊?guī)則。
3店印、可靠交付冈在。保證無差錯地經(jīng)鏈路層移動每個網(wǎng)絡(luò)層數(shù)據(jù)報。鏈路層可靠交付服務(wù)通常用于易于產(chǎn)生高差錯率的鏈路按摘,例如無線鏈路包券,其目的是本地(也就是在差錯發(fā)生的鏈路上)糾正一個差錯,而不是通過運輸層或應(yīng)用層協(xié)議迫使進行端到端的數(shù)據(jù)重傳炫贤。對于低比特差錯的鏈路溅固,包括光纖、同軸電纜和許多雙絞銅線鏈路兰珍,鏈路層可靠交付被認(rèn)為是一種不必要的開銷侍郭,所以許多有線的鏈路層協(xié)議不提供可靠交付服務(wù)。
4、差錯檢測和糾正亮元。當(dāng)幀中的一個比特作為1傳輸時猛计,接收方結(jié)點中的鏈路層硬件可能不正確地將其判斷為0,反之亦然爆捞。這種比特差錯是由信號衰減和電磁噪聲導(dǎo)致的奉瘤。因特網(wǎng)的運輸層和網(wǎng)絡(luò)層也提供了有限形式的差錯檢測,即因特網(wǎng)檢驗和煮甥。鏈路層的差錯檢測通常更復(fù)雜盗温,并且用硬件實現(xiàn)。
鏈路層的主體部分是在網(wǎng)絡(luò)適配器(network adapter)中實現(xiàn)的成肘,網(wǎng)絡(luò)適配器有時也稱為網(wǎng)絡(luò)接口卡(Network Interface Card, NIC)卖局。位于網(wǎng)絡(luò)適配器核心的是鏈路層控制器,它通常是一個實現(xiàn)了許多鏈路層服務(wù)(成幀艇劫、鏈路接入吼驶、差錯檢測等)的專用芯片惩激。所以說店煞,鏈路層控制器的許多功能是用硬件實現(xiàn)的。
差錯檢測和糾正技術(shù)
差錯檢測和糾錯技術(shù)越復(fù)雜风钻,導(dǎo)致的開銷就越大顷蟀,這就是意味著需要更多的計算量及更多的差錯檢測和糾錯比特。
三種檢測差錯的技術(shù):
1骡技、奇偶校驗(一維奇偶校驗十分簡單鸣个,但未檢出差錯的幾率較高;二維奇偶校驗可檢測差錯布朦,還可以糾正差錯)
2囤萤、檢驗和方法(與運輸層的檢驗和方法類似)
3、循環(huán)冗余檢測(Cyclic Redundancy Check, CRC)
兩種類型的網(wǎng)絡(luò)鏈路
1是趴、點對點鏈路涛舍。由鏈路一端的單個發(fā)送方和鏈路另一端的單個接收方組成。許多鏈路層協(xié)議都為點對點鏈路設(shè)計唆途,如點對點協(xié)議(point-to-point protocol, PPP)和高級數(shù)據(jù)鏈路控制(high-level data link control, HDLC)協(xié)議富雅。
2、廣播鏈路肛搬。能夠讓多個發(fā)送和接收結(jié)點都連接到相同的没佑、單一的、共享的廣播信道上温赔。廣播信道通常用于局域網(wǎng)中蛤奢。
多路訪問問題
多路訪問問題是如何協(xié)調(diào)多個發(fā)送和接收結(jié)點對一個共享廣播信道的訪問。多路訪問協(xié)議用于解決這個問題。
在各種各樣的網(wǎng)絡(luò)環(huán)境下需要多路訪問協(xié)議远剩,包括有線和無線接入網(wǎng)扣溺,以及衛(wèi)星網(wǎng)絡(luò)。
因為所有結(jié)點都能夠傳輸幀瓜晤,所以多個結(jié)點可能會同時傳輸幀锥余。當(dāng)發(fā)生這種情況時,所有結(jié)點同時接到多個幀痢掠;這就是說驱犹,傳輸?shù)膸谒械慕邮辗教幣鲎擦恕MǔW慊?dāng)發(fā)送碰撞時雄驹,沒有一個接收結(jié)點能夠有效地獲得任何傳輸?shù)膸K匝痛牵婕按舜闻鲎驳乃袔紒G失了医舆,在碰撞時間間隔中的廣播信道被浪費了。如果許多結(jié)點頻繁地傳輸幀象缀,許多傳輸將導(dǎo)致碰撞蔬将,廣播信道的大量帶寬將被浪費掉。
所以央星,當(dāng)多個結(jié)點處于活躍狀態(tài)時霞怀,為了確保廣播信道執(zhí)行有用的工作,以某種方式協(xié)調(diào)活躍結(jié)點的傳輸是必要的莉给。這種協(xié)調(diào)工作由多路訪問協(xié)議負(fù)責(zé)毙石。
為了共享計算機網(wǎng)絡(luò)的廣播信道,一個中心問題是確定哪個結(jié)點以及在什么時候獲得向信道傳輸?shù)臋?quán)利颓遏。與人類活動的類比是:在一個會議上徐矩,確定誰以及在什么時候獲得說話的權(quán)利。
多路訪問協(xié)議
1叁幢、信道劃分協(xié)議滤灯。采用時分多路復(fù)用(TDM)和頻分多路復(fù)用(FDM),在所有共享信道的結(jié)點之間劃分廣播信道帶寬的技術(shù)遥皂。
2力喷、隨機接入?yún)f(xié)議。一個傳輸結(jié)點總是以信道的全部速率進行發(fā)送演训、當(dāng)有碰撞時弟孟,涉及碰撞的每個結(jié)點反復(fù)地重發(fā)它的幀(也就是分組),到該幀無碰撞地通過為止样悟。在重發(fā)涉及碰撞的幀之前拂募,會等待一個隨機時延庭猩。涉及碰撞的每個結(jié)點獨立地選擇隨機時延。隨機接入?yún)f(xié)議又有以下幾種:
- 時隙ALOHA陈症。如果發(fā)送碰撞蔼水,該結(jié)點以p概率在后續(xù)的每個時隙中重傳它的幀。缺點:有大量結(jié)點有很多幀要傳輸時录肯,效率低趴腋,碰撞較高。
- ALOHA论咏。如果發(fā)送碰撞优炬,與“時隙ALOHA”處理相同;如果沒發(fā)送碰撞厅贪,結(jié)點會等待一個幀傳輸時間后蠢护,以p概率傳輸該幀。缺點:效率比“時隙ALOHA”還差养涮。
- 載波偵聽多路訪問(CSMA)葵硕。在“時隙ALOHA”和純ALOHA中,一個結(jié)點傳輸?shù)臎Q定獨立于連接到這個廣播信道上的其他結(jié)點的活動贯吓,即一個結(jié)點不關(guān)心在它開始傳輸時是否有其他結(jié)點碰巧在創(chuàng)術(shù)懈凹,而且即使有另一個結(jié)點開始干擾它的傳輸也不會停止傳輸。載波偵聽改善了以上的情況宣决,實現(xiàn)了“說話之前先聽”的規(guī)則——一個結(jié)點在傳輸前先聽信達蘸劈,如果來自另一個結(jié)點的幀正向信道上發(fā)送昏苏,結(jié)點則等待直到檢測到一小段時間沒有傳輸尊沸,然后開始傳輸。雖然能在傳輸前偵聽信道是否空閑贤惯,但依然會發(fā)生碰撞洼专。因為有信道傳播時延,所以偵聽信道是否空閑也未必準(zhǔn)確孵构。
- 具有碰撞檢測的載波偵聽多路訪問(CSMA/CD)屁商。在傳輸過程中,適配器(結(jié)點)會監(jiān)視來自其他使用該廣播信道的適配器的信號能量的存在颈墅。如果檢測到有其他適配器的信號能量蜡镶,中止傳輸,再等待一個隨機時間量后重新傳輸恤筛。
3官还、輪流協(xié)議。有兩種重要的輪流協(xié)議:
- 輪詢協(xié)議毒坛。指定其中一個結(jié)點為主結(jié)點望伦,主結(jié)點以循環(huán)方式輪詢每個結(jié)點林说,每次輪詢一個結(jié)點,主結(jié)點會向該結(jié)點發(fā)送一個報文屯伞,告訴它能夠傳輸?shù)膸淖疃鄶?shù)量腿箩。優(yōu)點:消除了困擾隨機接入?yún)f(xié)議的碰撞和空時隙,這使得輪詢?nèi)〉酶叩枚嗟男柿右 H秉c:有輪詢時延珠移;如果主結(jié)點故障,整個信道變得不可操作末融。
- 令牌傳遞協(xié)議剑梳。有一個稱為令牌的小的特殊幀在結(jié)點之間以某種固定的次序進行交換。就好像一群人圍坐著滑潘,傳遞一個麥克風(fēng)一樣的場景垢乙,手里拿到麥克風(fēng)的人有發(fā)言的機會。當(dāng)一個結(jié)點收到令牌時语卤,僅當(dāng)它有一些幀需要發(fā)送時追逮,它才持有這個令牌;否則粹舵,它立即把令牌轉(zhuǎn)發(fā)給下一個結(jié)點钮孵。優(yōu)點:效率高;缺點:一個結(jié)點故障可能使整個信道崩潰眼滤;或者一個結(jié)點偶然網(wǎng)際釋放令牌巴席,則必須調(diào)用某些恢復(fù)步驟使令牌返回到循環(huán)中。
鏈路層地址
為什么我們在網(wǎng)絡(luò)層和鏈路層都需要地址呢诅需?
1漾唉、局域網(wǎng)是為任意網(wǎng)絡(luò)層協(xié)議而設(shè)計,而不只是用于IP和因特網(wǎng)堰塌。
2赵刑、如果適配器使用網(wǎng)絡(luò)層地址而不是MAC地址,網(wǎng)絡(luò)層地址必須存儲在適配器的RAM中场刑,并且在每次適配器移動(或加電)時要重新配置般此。
主機和路由器中的適配器(即網(wǎng)絡(luò)接口)具有鏈路層地址。要注意的是牵现,鏈路層交換機沒有鏈路層地址铐懊,因為它的任務(wù)是在主機與路由器之間承載數(shù)據(jù)報,它透明地執(zhí)行該項任務(wù)瞎疼,主機或路由器不必明確地將幀尋址到其間的交換機科乎。
鏈路層地址有幾種不同的稱呼:
1、LAN地址
2丑慎、物理地址
3喜喂、MAC地址
大多數(shù)局域網(wǎng)瓤摧,MAC地址長度為6字節(jié)。盡管MAC地址被設(shè)計為永久玉吁,但可以做到用軟件改變一塊適配器的MAC地址照弥。沒有兩塊適配器具有相同的MAC地址。
地址解析協(xié)議(Address Resolution Protocol, ARP)
ARP將一個IP地址解析為一個MAC地址进副。在很多方面它和DNS類似这揣,DNS將主機名解析為IP地址。
它們之間的重要區(qū)別是:DNS為在因特網(wǎng)中任何地方的主機解析主機名影斑,而ARP只為在同一個子網(wǎng)上的主機和路由器接口解析IP地址给赞。
每臺主機或路由器在其內(nèi)存中有一個ARP表,包含IP地址到MAC地址的映射關(guān)系矫户。如果一臺主機要發(fā)送一個數(shù)據(jù)報到子網(wǎng)中的另一臺主機片迅,發(fā)送方需要獲得給定IP地址的目的主機的MAC地址,如果發(fā)送方ARP表具有該目的結(jié)點的表項皆辽,這個任務(wù)很容易完成了如果沒有柑蛇,發(fā)送方會向它的適配器傳遞一個ARP查詢分組,并且指示適配器應(yīng)該用MAC廣播地址(即FF-FF-FF-FF-FF-FF)來發(fā)送這個分組驱闷。
ARP協(xié)議需要注意的兩件事
1耻台、查詢ARP報文是在廣播幀中發(fā)送的,而響應(yīng)ARP報文在一個標(biāo)準(zhǔn)幀中發(fā)送
2空另、ARP是即插即用的盆耽,意思是一個ARP表是自動建立的,它不需要系統(tǒng)管理員來配置扼菠。并且如果某主機與子網(wǎng)斷開連接摄杂,它的表項最終會從留在子網(wǎng)中的結(jié)點的表中刪除掉。
一個ARP分組封裝在鏈路層幀中娇豫,因而在體系結(jié)構(gòu)上位于鏈路層之上匙姜。然而畅厢,一個ARP分組具有包含鏈路層地址的字段冯痢,因而可認(rèn)為是鏈路層協(xié)議,但它也包含網(wǎng)絡(luò)層地址框杜,因而也可以認(rèn)為是網(wǎng)絡(luò)層協(xié)議浦楣。所以,可能最好把ARP看成是跨越鏈路層和網(wǎng)絡(luò)層邊界兩邊的協(xié)議咪辱。
以太網(wǎng)
以太網(wǎng)幀結(jié)構(gòu)
- 前同步碼(8字節(jié))振劳。前同步碼的前7個字節(jié)值都為10101010,最后一個字節(jié)為10101011油狂。前7個字節(jié)用于“喚醒”接收適配器历恐,并且將它們的時鐘和發(fā)送方的時鐘同步寸癌。
- 目的地址(6字節(jié))。目的適配器的MAC地址弱贼。
- 源地址(6字節(jié))蒸苇。源適配器的MAC地址。
- 類型(2字節(jié))吮旅。該字段允許以太網(wǎng)復(fù)用多種網(wǎng)絡(luò)層協(xié)議溪烤。要記住主機能夠使用除了IP以外的其他網(wǎng)絡(luò)層協(xié)議。
- 數(shù)據(jù)(46~1500字節(jié))庇勃。承載IP數(shù)據(jù)報檬嘀。以太網(wǎng)最大傳輸單元(MTU)為1500字節(jié),如果超過1500字節(jié)责嚷,主機必須將該數(shù)據(jù)報分片鸳兽。數(shù)據(jù)字段的最小長度為46字節(jié),少于則被填充到46字節(jié)罕拂。
- CRC(4字節(jié))贸铜。循環(huán)冗余檢測字段,檢測幀是否引入了差錯聂受。
所以以太網(wǎng)技術(shù)都向網(wǎng)絡(luò)層提供無連接服務(wù)蒿秦。即適配器A向適配器B發(fā)送數(shù)據(jù)報時不需要先與適配器B“握手”。這種無連接服務(wù)類似于IP的第三層數(shù)據(jù)報服務(wù)和UDP的第四層無連接服務(wù)蛋济。
以太網(wǎng)技術(shù)都向網(wǎng)絡(luò)層提供不可靠服務(wù)棍鳖。比如,適配器B收到一個來自適配器A的幀碗旅,它對該幀執(zhí)行CRC校驗渡处,當(dāng)該幀通過CRC校驗時,它不會發(fā)送確認(rèn)幀祟辟;幀沒有通過CRC校驗時医瘫,它也不會發(fā)送否定確認(rèn)幀,只會把該幀丟棄旧困。所以適配器A不知道它傳輸?shù)膸欠竦竭_了B并通過了CRC校驗醇份。
在總線拓?fù)浜突诩€器的星形拓?fù)浼夹g(shù)時代,以太網(wǎng)是一種廣播鏈路吼具,其中多個結(jié)點同時傳輸時會出現(xiàn)幀碰撞僚纷。為了處理這些碰撞,以太網(wǎng)標(biāo)準(zhǔn)包括了CSMA/CD協(xié)議拗盒。該協(xié)議對于跨越小的地里半徑的有線廣播局域網(wǎng)特別有效怖竭。但對于今天廣為使用的基于交換機的星形拓?fù)涞囊蕴W(wǎng),它采用存儲轉(zhuǎn)發(fā)分組交換陡蝇,就不需要這種MAC協(xié)議了痊臭。以太網(wǎng)的交換器協(xié)調(diào)其傳輸哮肚,在任何時候決不會向相同的接口轉(zhuǎn)發(fā)超過一個幀;此外广匙,現(xiàn)代交換機是全雙工的绽左,這使得一臺交換機和一個結(jié)點能夠在同時向?qū)Ψ桨l(fā)送幀而沒有干擾。也就是基于交換機的以太局域網(wǎng)中艇潭,不會有碰撞拼窥,所以沒必要使用MAC協(xié)議。
鏈路層交換機
交換機的過濾和轉(zhuǎn)發(fā)
1蹋凝、過濾是決定一個幀應(yīng)該轉(zhuǎn)發(fā)到某個接口還是應(yīng)當(dāng)將其丟棄
2鲁纠、轉(zhuǎn)發(fā)是決定一個幀應(yīng)該被導(dǎo)向哪個接口,并把該幀移動到那些接口
鏈路層交換機的過濾和轉(zhuǎn)發(fā)功能借助于交換機表鳍寂。轉(zhuǎn)發(fā)分組基于MAC地址改含。
假設(shè)目的地址為DD-DD-DD-DD-DD-DD的幀從交換機接口x到達,交換機用MAC地址DD-DD-DD-DD-DD-DD索引它的表迄汛,有3種可能情況:
1捍壤、表中沒有DD-DD-DD-DD-DD-DD的表項。交換機向除接口x外所有接口前面的輸出緩存轉(zhuǎn)發(fā)該幀的副本鞍爱,即交換機廣播該幀鹃觉。
2、表中有DD-DD-DD-DD-DD-DD與接口x聯(lián)系起來睹逃。這時該幀從包括適配器DD-DD-DD-DD-DD-DD的局域網(wǎng)網(wǎng)段到來盗扇。無需將該幀轉(zhuǎn)發(fā)到任何其他接口,交換機通過丟棄該幀執(zhí)行過濾功能即可沉填。
3疗隶、表中又DD-DD-DD-DD-DD-DD與接口y(y≠x)聯(lián)系起來。這時該幀需要被轉(zhuǎn)發(fā)到與接口y相連的局域網(wǎng)網(wǎng)段翼闹。交換機通過將該幀放到接口y前面的輸出緩存完成轉(zhuǎn)發(fā)功能斑鼻。
鏈路層交換機的自學(xué)習(xí)
1、交換機表初始為空
2猎荠、當(dāng)在每個接口接收到的每個入幀坚弱,該交換機在其表中存儲:(1)在該幀源地址字段中的MAC地址(2)該幀到達的接口(3)當(dāng)前時間。
3法牲、如果在一段時間內(nèi)史汗,交換機沒有接收到以該地址作為源地址的幀,就在表中刪除這個地址拒垃。
鏈路層交換機是全雙工的,任何交換機接口能夠同時發(fā)送和接收瓷蛙。
鏈路層交換機的性質(zhì)(優(yōu)點)
使用交換機不同于如總線或基于集線器的星形拓?fù)淠菢拥膹V播鏈路悼瓮。
1戈毒、消除碰撞。在使用交換機(不使用集線器)構(gòu)建的局域網(wǎng)中横堡,沒有因碰撞而浪費的帶寬埋市。交換機緩存幀并且決不會在網(wǎng)段上同時傳輸多于一個幀。因此命贴,交換機提供了比使用廣播鏈路的局域網(wǎng)高得多的性能改善道宅。
2、異質(zhì)的鏈路胸蛛。交換機將鏈路彼此隔離污茵,因此局域網(wǎng)中的不同鏈路能夠以不同的速率運行并且能夠在不同的媒體上運行。因此葬项,對于原有的設(shè)備與新設(shè)備混用泞当,交換機是理想的。
3民珍、管理襟士。除了提供強化的安全性,交換機也易于進行網(wǎng)絡(luò)管理嚷量。
鏈路層交換機和路由器的比較
1陋桂、交換機
優(yōu)點:
(1)即插即用
(2)相對高的分組過濾和轉(zhuǎn)發(fā)速率
缺點:
(1)為了防止廣播幀的循環(huán),交換網(wǎng)絡(luò)的活躍拓?fù)湎拗茷橐豢蒙蓸?br>
(2)一個大型交換網(wǎng)絡(luò)要求在主機和路由器中有大的ARP表蝶溶,這將生成可觀的ARP流量和處理量
(3)對廣播風(fēng)暴不提供任何保護措施章喉,如果某主機出了故障并傳輸出沒完沒了的以太網(wǎng)廣播幀流,該交換機將轉(zhuǎn)發(fā)所有這些幀身坐,使得整個以太網(wǎng)崩潰
2秸脱、路由器
優(yōu)點:
(1)網(wǎng)絡(luò)尋址通常是分層次的(不像MAC尋址是扁平的)。即使網(wǎng)絡(luò)中存在冗余路徑時部蛇,分組通常也不會通過路由器循環(huán)摊唇。所以,分組不會被限制到一棵生成樹上涯鲁,并可以使用源和目的地之間的最佳路徑巷查。因為沒有生成樹的限制,所以它們允許以豐富的拓?fù)浣Y(jié)構(gòu)構(gòu)件因特網(wǎng)抹腿,如包括歐洲和北美之間的多條活躍鏈路
(2)對第二層的廣播風(fēng)暴提供了防火墻保護
缺點:
(1)不是即插即用
(2)對每個分組的處理時間通常比交換機更長
通常岛请,由幾百臺主機組成的小網(wǎng)絡(luò)通常有幾個局域網(wǎng)網(wǎng)段,對于這些小網(wǎng)絡(luò)警绩,交換機就足夠了崇败,因為她們不要求IP地址的任何配置就能使流量局部化并增加總計吞吐量。
但是在由幾千臺主機組成的更大網(wǎng)絡(luò)中,通常在網(wǎng)絡(luò)中(除了交換機之外)還包括路由器后室。路由器提供了更健壯的流量隔離方式和對廣播風(fēng)暴的控制缩膝,并在網(wǎng)絡(luò)的主機之間使用更“智能的”路由。
虛擬局域網(wǎng)
上述的局域網(wǎng)有三個缺點
1岸霹、缺乏流量隔離
2疾层、交換機的無效使用
3、不方便管理用戶
支持VLAN的交換機允許經(jīng)一個單一的物理局域網(wǎng)基礎(chǔ)設(shè)施定義多個虛擬局域網(wǎng)贡避。在一個VLAN內(nèi)的主機彼此通信痛黎,仿佛它們與交換機相連。
在一個基于端口的VLAN中刮吧,交換機的端口(接口)由網(wǎng)絡(luò)管理員劃分為組湖饱。每個組構(gòu)成一個VLAN,在每個VLAN中的端口形成一個廣播域(即來自一個端口的廣播流量僅能到達該組中的其他端口)皇筛。不同的VLAN之間采用VLAN干線連接互聯(lián)琉历,兩個VLAN中的端口之間通過干線鏈路(兩個VLAN都分配一個端口用于干線鏈路)通信。