計算機網絡----數據鏈路層(三)

數據鏈路層:封裝成幀,透明傳輸,差錯檢測。

任何一個幀格式,都要有開始標誌,結束標誌,數據部分的協議字段,信息部分的長度的部分(最大傳送單元)(1500字節),目的地址,源地址。

透明傳輸:就是當你的數據部分存在和幀格式開始部分或者結束部分相同的時候,你怎麼處理,來達到我發送的信息,會完整的無誤的發送到對方。一般情況就是加轉義字符。

差錯檢測:現在最常用的是CRC檢測。現在可以保證的是,只要滿足CRC檢測我們就認爲他這個信息是對的。

無比特差錯和無傳輸差錯不同。可靠傳輸還包括,不能出現幀失序,幀丟失,幀重複。就是這個幀是對的,但是整個的排列錯了。

鏈路的格式:串行的或並行的,同步的或異步的,低俗的或高速的,電的或光的,交換的(動態)或非交換(靜態的)點對點鏈路。

PPP協議:1.將IP數據報封裝到串行鏈路的方法。2.一個用來建立、配置和測試數據鏈路連接的鏈路控制協議(LCP)。3.一套網絡控制協議。

我怎麼判斷它是不是一個PPP幀?

開始定界符和結束定界符都是0x7E,(標誌字段F)連續兩個幀之間,只需要一個標誌字段就行了,因爲相同和結束都是一個,所以,當第一個結束時的標誌7E,亦可以作爲下一個幀的開始字符。PPP幀裏面封裝的是IP數據報,還是LCP數據,所以還有一個協議字段。

0x0021——信息字段是IP數據報

0xC021——信息字段是鏈路控制數據LCP

0x8021——信息字段是網絡控制數據NCP

0xC023——信息字段是安全性認證PAP

0xC025——信息字段是LQR

0xC223——信息字段是安全性認證CHAP

NCP網絡控制協議(Network Control Protocol)實際上是一套協議。每個子協議都是爲處理各自網絡層協議所需的錯綜複雜的配置而設計的。 當LCP將鏈路建立好了以後,PPP要開始根據不同用戶的需要,配置上層協議所需的環境。PPP使用網絡控制協議NCP(Network Control Protocol,NCP)來爲上層提供服務接口。針對上層不同的協議類型,會使用不同的NCP組件。如對於IP提供IPCP接口,對於IPX提供IPXCP接口,對於APPLETALK提供ATCP接口等。同時對於IP網絡,提供IP地址,子網掩碼和默認網關等地址的配置。

最後還有FCS,我們發現他沒有地址字段,爲什麼呢?ppp屬於廣域網範疇,MAC是局域網範疇,按實際情況和環境就選用不同的協議,ppp支持的網絡結構只能是點對點,mac支持多點對多點。

以太網中用mac,遠程的話就用ppp(如ADSL撥號,就是基於ppp的)。

ppp是點到點協議 ,邏輯上相連的就一臺設備,因此不需要尋址, 目標地址爲廣播地址, PPP中前6個字節就是目標地址。

PPP的幀格式如下:
Flag Address Crotrol Protocol Informaiton FCS Flag
其中Flag標識了一個PPP數據幀的起始及結束,FCS爲幀校驗,真正屬於PPP報文內容的爲Address,Control,Protocol,Information域所包含內容。Address表示此爲PPP廣播地址,Address和Control一起表示了此報文爲PPP報文,即PPP報文頭爲FF03。

PPP在封裝方式以以太網的封裝方式不同,它沒有以太網幀所要求的MAC地址,它通過自身的協商過程實現點到點的數據傳輸。

這類廣域網協議,其幀的結構與以太網的完全不同,當然,PPPOE除外,因爲PPPOE是基於以太網上的,而其它的如PPP,FR,X.25等卻並不是。


廣播信道:局域網之所以這麼風行肯定有其的優點:1.具有廣播功能,從一個站點可以訪問全網,局域網上的主機可共享連接在局域網上的各種硬件資源和軟件資源。2.便於系統的拓展和逐漸的演變,各設備的位置可靈活調整和改變。3.提高了系統的可靠性,可用性和生存性。

局域網的網絡拓撲:1.星形網2.環形網(令牌環形網)3.總線網(傳統以太網使用CSMA/CD,現在演進爲星形網。)4.樹形網(總線網的變形主要用於頻分複用的寬帶局域網)

共享信道着重要考慮的問題就是:如何使衆多用戶能夠合理而方便的共享通信媒體資源。

技術上兩種方法:1.靜態劃分(現在的無線信道就是這種方法):頻分複用,時分複用,波分複用,碼分複用。

2.動態媒體接入控制。(也叫多點接入)信道不是用戶通信時固定分配給用戶。分爲兩類1.隨機接入(隨機的發送信息,但是如果兩個或多個用戶同時發送,共向媒體上就要發生碰撞,用戶數據都失敗。因此必須有解決碰撞的協議)2.受控接入(不能隨意發,得受一定的控制,分散控制的令牌環局域網和集中控制的多點線路探詢(輪詢))


以太網的標準:LLC已經不用了,MAC層(媒體接入控制)與接入到傳輸媒體有關的內容。

適配器(網卡)。適配器和局域網之間是串行通信。適配器和計算機之間是通過計算機主板上的I/O總線以並行傳輸方式進行的。適配器的一個重要功能就是進行數據串行通信和並行傳輸的轉化。由於兩者的數據率不同,在適配器上必須裝有對數據進行緩存的存儲芯片(數據率不同的時候,必須有一個緩存的,要不會丟失數據,緩存滿了也會丟失數據,如何做到緩存肯定不會滿呢?)

適配器接收到錯誤的幀時直接扔掉,不通知CPU,接收到正確的幀時,才使用中斷來通知該計算機並交付給協議棧的網絡層。

總線的特點:當一臺計算機發送數據時,總線上的所有計算機都能檢測到這個數據。這就是廣播通信的方式。

在廣播方式中實現一對一通信是,使每一臺計算機的適配器擁有一個與其他適配器都不同的地址,然後真的首部寫明接收地址,一致時接收,不一致丟棄。

以太網通信:1.以太網提供的服務是不可靠交付,即盡最大努力交付。對有差錯的幀是否需要重傳則由高層決定。以太網不知道是重傳幀,當做新的數據幀來發送。

2.以太網通信都是用曼徹斯特編碼信號。之所以不使用高低電壓交替是因爲當出現長1和長0的時候,無法從收到的比特流中提取位同步信號。

網卡的主要功能有以下三個:
1.數據的封裝與解封:發送時將上一層交下來的數據加上首部和尾部,成爲以太網的幀。接收時將以太網的幀剝去首部和尾部,然後送交上一層;
2.鏈路管理:主要是CSMA/CD協議的實現;
3.編碼與譯碼:即曼徹斯特編碼與譯碼。

剩下重要的問題:如何協調總線上各個計算機的工作。就是使用CSMA/CD協議。

電磁波在1km電纜的傳播時延爲5us。總線上單程端到端的時延爲t,最遲經過多久就知道是否碰撞?最多是兩倍的總線端到端的傳播時延2t,

a發送的數據到b,b就知道碰撞了,b的數據到a,a就知道碰撞了。因此可以看出在使用CSMA/CD時,一個站不可能同時進行發送和接受。他只能進行半雙工通信。

發送的不確定性:每一個站自己發送數據之後的一小段時間內,存在着遭遇碰撞的可能性。這個一段時間是不確定的。

以太網端到端的往返時間2t稱爲爭用期。這個很重要。爭用期成爲碰撞窗口,即經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。

以太網使用截斷二進制指數退避算法解決碰撞問題。 以太網的把爭用期定位51.2us。

10M/s的以太網,爭用期可發送512bit。10*10^6*51.2*10^-6=512bit。

從[0,1,2,……(2^k-1)]中隨機取出一個數,記爲r,重傳推後r倍的爭用期。k=Min[重傳次數,10];重傳16次仍不能成功時(這表明同時打算髮送數據的站太多,以致發生衝突),則丟棄該幀,向高層報告。

適配器每發送一個新的幀就要執行一次CSMA/CD算法。適配器對過去發生過的碰撞並無記憶能力。

由於以太網發送數據,如果幀的前64字節沒有發生衝突,那麼後續的數據就不會衝突,由於一檢測到衝突就立即中止發送,這時已經發送出去的數據一定小於64字節,因此以太網規定了最短有效幀長爲64字節,凡長度小於64字節的幀都是由於衝突而異常中止的無效幀。收到這種幀直接丟棄。

以太網端到端時延小於爭用期一半,因爲還要考慮其他因素。

以太網還採取強化碰撞:發生碰撞之後除了立即停止發送數據外,還要在繼續發送32bit或48bit的人爲干擾信號,以便讓用戶都知道自己已經發生了碰撞。對於10M/s的以太網,發送32(或48bit)只需要3.2us(4.8us)

因此碰撞之後總線被佔用的時間是Tb+Tj+t,a檢測到衝突時間Tb,發送干擾信號Tj,干擾信號最後一位在鏈路發送的時間t。


以太網規定了幀間最小間隔爲9.6us,也就是96bit,(由於幀之間有間隔,這個對後面的MAC幀的格式是有影響的,就是沒有結束定界符,這個間隔就是結束定界符。)

成功發送一個幀需要佔用信道的時間爲T0+t,爲了提高以太網信道利用率,就減小t與T0之比。定義了參數a,它是以單程端到端時延t與幀的發送時間T0之比:a=t/T0;

當數據率一定時,以太網的連線長度受到限制(否則t的數值會太大),同時以太網的幀長不能太短(否則T0值太小,使a值太大)

極限信道的利用率Smax=T0/(T0+t)=1/(1+a)

只有當參數a遠小於1才能得到儘可能搞的極限信道利用率。

適配器有過濾功能,但適配器從網絡上每收到一個MAC幀就先用硬件檢查MAC幀中的目的地址。如果是發往本站的幀則收下,然後在進行其他處理。否則就將幀丟棄,不再進行其他的處理。這樣做不浪費主機的處理機和內存資源。

MAC地址字段的第一個字節的最低位爲I/G位,I/G表示Individual/Group。當I/G爲0時,地址字段表示一個單個站地址。當I/G位爲1時表示組地址,進行多播。

爲了避免有人不想買,那麼規定了地址字段第1字節的最低第二位爲G、L位,表示Global/Local,當G/L爲1時爲全球管理,爲0時是本地管理。

全球管理時,對每一個站的地址可用46位的二進制數字來表示(最低位爲0和最低第2位爲1時)剩下的46位組成的地址空間可以有2^46個地址,超過70萬億個。

當路由器通過適配器連接到局域網時,適配器上的硬件地址就用來標誌路由器的某個接口。路由器如果同時連接到兩個網絡上,那麼它就需要兩個適配器和兩個硬件地址。

發往本站的幀:包括三種幀:1.單播幀(一對一)2.廣播幀(一對全體)3.多播幀(一對多)

所有的適配器至少能夠識別前兩種幀。以太網適配器還可設置爲一種特殊的工作方式----混雜方式。在混雜方式只要“聽到”有幀在以太網上傳輸就悄悄接收下來,而不管這些幀發往哪個站。這實際上是竊聽其他站點的通信而並不中斷其他站點的通信。黑客可以通過這種方法獲取網上用戶口令。有時候,像網管和管理人員需要監視和分析流量,以便找出好的額措施來提高網絡性能。

MAC幀的格式:

目的地址,源地址,類型(網絡層的協議),數據,FCS,我們發現沒有關於數據長度的說明,這個時候,我們說到曼徹斯特編碼(中間會有一次電壓變化),當發送方把一個以太網幀發送完畢後,就不在發送其他碼元了,因此發送方網絡適配器的接口上的電壓也就不再變化,這樣接收方就和容易找到以太網幀的結束位置。在這個位置,往前數4字節(FCS字段長度是4字節),就能確定數據字段的結束位置。

數據字段低於46字節時要填充,因爲幀的最小長度是64字節,既然要填充,那麼上層協議,例如IP協議就必須有知道哪些是填充的字符的能力。

在傳輸媒體上傳輸的要比MAC幀多8個字符,這是因爲當一個站剛剛開始接受MAC幀時,由於適配器的時鐘 尚未與到達的比特流同步,一次MAC真的前幾位無法接受,使得整個MAC幀沒用了,所以加了8字節(兩字段,第一字段7字節前同步碼,AA,後一字節幀開始定界符AB,)MAC幀的FCS檢測範圍不包括前同步碼和幀開始定界符。在SONET/SDH進行同步傳輸時不需要前同步碼,因爲在同步傳輸時收發雙方的位同步總是一直保持的。

幀和幀之間有空隙,所以不需要結束符,而且不需要字節插入來保證透明傳輸。因爲如果裏面出現了開始符,只要沒有出現空隙,我就認爲還在數據中。

考慮到MAC幀的首部和尾部18字節,所以有效MAC幀的長度爲64--1518字節。

現在的網絡中都用交換機了,計算機電腦還需要CSMA/CD協議嗎?

原來的電腦使用這個協議的,現在的是兼容他的,你不需要改變。

首先你要搞清楚。CSMA/CD是電腦終端的一種衝突避免的措施,不是交換機上的。電腦並不能區分所連的是交換機還是HUB,所以,只要是以太網,都會使用CSMA/CD機制。一般,交換機的總線方式分爲總線式、共享內存式、還有你所說的交叉點陣,總線式一般用於中低端交換機,共享內存是一般不太常見,因爲高速內存的造價太昂貴,而且內存的讀取速與尋址時間容易成爲交換機包轉發率的瓶頸。交叉點陣式一般用於高端設備,但是造價很昂貴。技術水平含量很高。

交換機默認是不使用CSMA/CD機制的,因爲對於交換機來說,一個端口就是一個衝突域,因此,使用CSMA/CD機制是多餘的,因爲你交換機一個端口不能連接兩臺PC或者兩個HUB吧,就算你交換機下面掛個HUB連接多臺電腦,那麼此時的衝突避免是在HUB與PC間進行的。

拓展以太網

1.物理層

以太網主機不能太遠,10BASE-T以太網兩個主機之間的距離不超過200m,否則主機發送的信號經過銅線的傳輸就會衰減到CSMA/CD協議無法正常工作。

原來用轉發器,現在是雙絞線就不用了。

現在拓展主機和集線器之間的距離一種簡單方法是使用光纖和一對光纖調制解調器(進行電信號和光信號的轉換)。

使用集線器託大了以太網覆蓋的地理範圍。

但是缺點:本來每一個系是一個碰撞域,假如3個系,那麼每個系的以太網最大吞吐量爲10Mb/s,一次總的最大吞吐量30Mb/s,但是如果將三個系用集線器連起來,那麼就成了一個衝突域,吞吐量爲10Mb/s,而且當一個系的信息發送時,其他系是無法發送信息的。2.不同的系使用不同的以太網技術(如速率不同),就不可恩給你用集線器互聯起來。

2.數據鏈路層

原來的以太網通過網橋連接後,原來的以太網成爲了一個網段。

數據鏈路層要使用網橋。

網橋的好處:1.通信量增加,增大吞吐量。將碰撞域隔離。2.擴大了物理範圍。3.增加可靠性4.可互連不通的物理層、不通MAC子層和不同速率的以太網。

缺點:1.網橋對於接受的幀要先存儲和查找轉發表,然後才轉發,轉發之前必須執行CSMA/CD算法,這就增加了時延。2.MAC子層並沒有流量控制功能。網絡負荷很重時,網橋的中的緩存的存儲空間可能不夠而發生溢出,以致產生幀丟失現象。3.網橋只適合用戶數不太多,不超過幾百個和通信量不大的以太網,否則有時候會因傳播過多的廣播信息而產生網絡擁塞(廣播風暴)

網橋轉發幀時,不改變幀的源地址。

1.透明網橋

網橋剛連接以太網,轉發表是空的,這時候若網橋收到一個幀怎麼處理?自學習算法處理收到的幀。原理:若從某個站發出的幀從接口x進入了某網橋,那麼從這個接口出發沿相反方向一定可把一個幀傳送到A.所以只要接收到一個幀就記下源地址和進入網橋的接口,作爲轉發表的一個項目。

網橋和集線器區別:網橋是按存儲轉發方式工作的,一定要先把整個幀收下來(但集線器或轉發器是逐比特轉發),在進行處理,而不管其目的地址是什麼。網橋丟棄CRC檢驗有錯的幀和幀長過短和過長的無效幀。

接收到幀之後,如果沒有,那麼就把這個源地址和端口記下後,從除這個端口外的所有端口轉發出去。讓別的也記下這個(因爲這兩個網橋當時不知道網絡拓撲)通過自學習過程,也就是這種盲目轉發的方式才能逐步認清整個網絡的拓撲結構,建立自己的轉發表。

因此,只要每一個站都發送過幀,那麼每一個站的地址最終都會被記錄在網橋的轉發表上的。

實際上,網橋轉發表除了地址和接口還有幀進入網橋時間。(因爲網絡拓撲可能會經常變化,站點也可能更換適配器,這樣站點的地址就改變了(具體操作:接口管理軟件週期性掃描轉發表的項目,只要再一定時間以前登記的都刪除,使網絡轉發表反應當前網絡最新拓撲狀態,所以,假如說一個站點長時間不發信息也會被刪除掉))

地址      接口      時間


一般步驟:1.自學習2.轉發幀(注意的是如果轉發表給出的出口是該幀進入網橋的接口,則丟棄這個幀(因爲不轉發也能收到))

透明網橋使用了生成樹算法。爲什麼?有人在LAN之間設置了並行的兩個或多個網橋,但是,這種配置引起了另外一些問題,因爲在拓撲結構中產生了迴路,可能引發無限循環。這是爲了避免產生轉發幀在網絡中不斷地兜圈子。

透明網橋最大優點就是容易安裝,接上就工作。


2.源路由網橋

由發送幀的源站負責路由選擇的網橋。爲了發現合適路由,源站以廣播方式向欲通信的目的站發送一個發現幀作爲探測之用。

作用一:發送真沿着所有可能的路由傳送,在傳送過程中,每個發現幀都記錄所經過的路由。當這些發現幀到目的站後,就沿着格子的路由返回源站,源站從中選取最佳路由,以後,凡是從這個源站向該墓地站發送的幀的首部,都必須攜帶源站所確定的這一路由信息。

作用二:幫助源站確定整個網絡可以通過的幀的最大長度。



3.多接口網橋----以太網交換機

以太網交換機本質上就是一個多接口的網橋。交換機接口很多,以太網交換機的每個接口都直接與一個單個主機或另一個集線器相連(普通的網橋的接口往往連接到以太網的一個網段,這就是爲什麼它還在碰撞的原因),並且一般工作在全雙工方式。當主機需要通信時,交換機能同時連通許多對的接口,使每一對相互通信的主機都能像獨佔通信媒體那樣,無碰撞的傳輸數據。

它和透明網橋一樣,即插即用,內部轉發表通過自學習算法自動逐漸建立起來,當兩個站通信完成後就斷開連接。以太網交換機由於使用了專用的交換結構芯片,其交換速率就較高。

對於原來普通10Mb/s的共享式以太網,假如有N個用戶,那麼共享式以太網,每個用戶戰友的平均帶寬爲總帶寬10Mb/s的N分之一。使用以太網交換機後,,由於每一個用戶通信時都是獨佔而不是和其他網絡用戶共享傳輸媒體的帶寬,因此對於擁有N對接口的交換機的總容量爲N*10Mb/s。這是交換機的最大優點

從共享式以太網或10BASE-T以太網轉到交換機以太網時,所有接入設備的軟件和硬件,適配器都不需要做任何改動,也就是設備繼續使用CSMA/CD協議。只要增加了集線器的容量,整個系統的容量很容易擴充的。

以太網交換機許多都採用了存儲轉發方式進行轉發。也有一些直通的,就是根據目的MAC地址直接轉發,因而提高了幀的轉發速度。如果交換機內部採用硬件的交叉矩陣,那麼交換延遲就非常小,但是這有一個缺點:不檢查差錯直接轉發,有肯那個叫一些無效幀發給其他的站。

利用以太網交換機很方便的實現VLAN(虛擬局域網)。

虛擬局域網:有一些局域網的網段構成的與物理位置無關的邏輯組,而這些網段具有某些共同的需求。每一個VLAN的幀都有一個明確的標識符,指明發送這個幀的工作站是屬於哪一個VLAN。

在虛擬局域網上,每一個站都可以聽到同一個虛擬局域網上的其他成員所發出的的廣播。

虛擬局域網協議允許在以太網幀格式中插入一個4字節的標識符,稱爲VLAN標記,用來指明發送該幀的工作站屬於哪一個虛擬局域網。如果還使用原來的幀格式無法劃分虛擬局域網。

100BASE-T

由於a=t/T0=t/(L/C)=tC/L,速度C提高了10倍,那麼爲了保持a不變可以將幀長L增大10倍,也可以將網絡電纜長度(因而使t)減小爲原來的1/10。

100Mb/s採用的方法是保持幀長不變,使100Mb/sde 爭用期變爲5.12us,幀間最小間隔爲0.96us,都是10Mb/s的1/10;

吉比特以太網

當工作在半雙工時,它就不能再減了因爲如果減到10m就沒什麼意義了,線路太短了,所以使用了載波延伸的辦法,保持一個網段的最大長度爲100m,使最短幀長爲64字節。以太網還用了一種功能爲分組突發。

當工作在全雙工時,不使用載波延伸和分組突發。

10吉比特以太網

10GE不再使用銅線而只使用光纖作爲傳輸媒體。10GE只工作在全雙工方式,因此不存在爭用問題,也不使用CSMA/CD協議。這就使得10GE的傳輸距離不在受進行碰撞檢測的限制大大提高了。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章