計算網絡原理 第三章 數據鏈路層(二)
3.3.2認識以太網
以太網特點
最初的以太網是將許多計算機都連接到一根總線上。當初認爲這樣的連接方法既簡單又可靠,因爲總線上沒有有源器件。
-
總線上的每一個工作的計算機都能檢測到 B 發送的數據信號。
-
由於只有計算機 D 的地址與數據幀首部寫入的地址一致,因此只有 D 才接收這個數據幀。
-
其他所有的計算機(A, C 和 E)都檢測到不是發送給它們的數據幀,因此就丟棄這個數據幀而不能夠收下來。
-
具有廣播特性的總線上實現了一對一的通信。
CSMA/CD
載波監聽多點接入**/**碰撞檢測 CSMA/CD
-
CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。
-
“多點接入”表示許多計算機以多點接入的方式連接在一根總線上。
-
“載波監聽”是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞。
-
-
總線上並沒有什麼“載波”。因此, “載波監聽”就是用電子技術檢測總線上有沒有其他計算機發送的數據信號。
.
碰撞檢測
-
“碰撞檢測” 就是計算機邊發送數據邊檢測信道上的信號電壓大小。
-
當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(互相疊加)。
-
當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認爲總線上至少有兩個站同時在發送數據,表明產生了碰撞。
-
所謂“碰撞”就是發生了衝突。因此“碰撞檢測”也稱爲“衝突檢測”。
.
檢測到碰撞後
-
在發生碰撞時,總線上傳輸的信號產生了嚴重的失真,無法從中恢復出有用的信息來。
-
每一個正在發送數據的站,一旦發現總線上出現了碰撞,就要立即停止發送,免得繼續浪費網絡資源,然後等待一段隨機時間後再次發送。
重要特性
-
使用 CSMA/CD 協議的以太網不能進行全雙工通信而只能進行雙向交替通信(半雙工通信)。
-
每個站在發送數據之後的一小段時間內,存在着遭遇碰撞的可能性。
-
這種發送的不確定性使整個以太網的平均通信量遠小於以太網的最高數據率。
.
爭用期
-
最先發送數據幀的站,在發送數據幀後至多經過時間 2t (兩倍的端到端往返時延)就可知道發送的數據幀是否遭受了碰撞。
-
經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。
-
以太網的急用期
-
以太網的端到端往返時延 2t 稱爲爭用期,或碰撞窗口。通常,取 51.2 ms 爲爭用期的長度。
-
對於 10 Mb/s 以太網,在爭用期內可發送512 bit,即 64 字節。
-
-
以太網在發送數據時,若前 64 字節未發生衝突,則後續的數據就不會發生衝突。
-
最短有效幀長
-
如果發生衝突,就一定是在發送的前 64 字節之內。
-
由於一檢測到衝突就立即中止發送,這時已經發送出去的數據一定小於 64 字節。
-
以太網規定了最短有效幀長爲 64 字節,凡長度小於 64 字節的幀都是由於衝突而異常中止的無效幀。
-
.
二進制指數類型退避算法
-
發生碰撞的站在停止發送數據後,要推遲(退避)一個隨機時間才能再發送數據。
-
確定基本退避時間,一般是取爲爭用期 2t。
-
定義重傳次數 k ,k ≤10,即
k = Min[重傳次數, 10] -
從整數集合[0,1,…, (2k -1)]中隨機地取出一個數,記爲 r。重傳所需的時延就是 r 倍的基本退避時間。
-
當重傳達 16 次仍不能成功時即丟棄該幀,並向高層報告。
.
-
3.4 使用廣播信道的以太網
3.4.1以太局域網(以太網)基本概念
.
以太網兩個標準
DIX Ethernet V2 是世界上第一個局域網產品(以太網)的規約。
-
IEEE 的 802.3 標準。
-
DIX Ethernet V2 標準與 IEEE 的 802.3 標準只有很小的差別,因此可以將 802.3 局域網簡稱爲“以太網”。
-
嚴格說來,“以太網”應當是指符合 DIX Ethernet V2 標準的局域網
.
以太網與數據鏈路層的兩個子層
-
爲了使數據鏈路層能更好地適應多種局域網標準,802 委員會就將局域網的數據鏈路層拆成兩個子層:
-
邏輯鏈路控制 LLC (Logical Link Control)子層
-
媒體接入控制 MAC (Medium Access Control)子層。
-
與接入到傳輸媒體有關的內容都放在 MAC子層,而 LLC 子層則與傳輸媒體無關,不管採用何種協議的局域網對 LLC 子層來說都是透明的 。
-
由於 TCP/IP 體系經常使用的局域網是 DIX Ethernet V2 而不是 802.3 標準中的幾種局域網,因此現在 802 委員會制定的邏輯鏈路控制子層 LLC(即 802.2 標準)的作用已經不大了。
-
很多廠商生產的適配器上就僅裝有 MAC 協議而沒有 LLC 協議。
.
以太網提供的服務 -
-
以太網提供的服務是不可靠的交付,即盡最大努力的交付。
-
當目的站收到有差錯的數據幀時就丟棄此幀,其他什麼也不做。差錯的糾正由高層來決定。
-
如果高層發現丟失了一些數據而進行重傳,但以太網並不知道這是一個重傳的幀,而是當作一個新的數據幀來發送。
.
曼徹斯特編碼
以太網發送的數據都使用曼徹斯特編碼。爲什麼要編碼?
曼徹斯特編碼:以半個符號寬的先負後正(1、0)的脈衝代表數字信號1,而以 半個符號的先正後負的脈衝(0、1)代表數字信號0。目前最廣泛應用的以太局域網,在數據傳輸時就採用這種數字編碼方式。
3.4.2拓撲
星型拓撲
-
傳統以太網最初是使用粗同軸電纜,後來演進到使用比較便宜的細同軸電纜,最後發展爲使用更便宜和更靈活的雙絞線。不用電纜而使用無屏蔽雙絞線。每個站需要用兩對雙絞線,分別用於發送和接收
-
這種以太網採用星形拓撲,在星形的中心則增加了一種可靠性非常高的設備,叫做**集線器(**hub) 。
集線器的一些特點 -
集線器是使用電子器件來模擬實際電纜線的工作,因此整個系統仍然像一個傳統的以太網那樣運行。集線器使用了大規模集成電路芯片,因此這樣的硬件設備的可靠性已大大提高了。
-
使用集線器的以太網在邏輯上仍是一個總線網,各工作站使用的還是 CSMA/CD 協議,並共享邏輯上的總線。
-
集線器很像一個多接口的轉發器,工作在物理層。
10Base-T
-
10BASE-T 的通信距離稍短,每個站到集線器的距離不超過 100 m。
-
這種 10 Mb/s 速率的無屏蔽雙絞線星形網的出現,既降低了成本,又提高了可靠性。
-
10BASE-T 雙絞線以太網的出現,是局域網發展史上的一個非常重要的里程碑,它爲以太網在局域網中的統治地位奠定了牢固的基礎。
其他:100Base-FX、100Base-T和100Base-T4….
3.4.3以太網的信道利用率
以太網的信道利用率
以太網的信道被佔用的情況:
- 爭用期長度爲 2t,即端到端傳播時延的兩倍。檢測到碰撞後不發送干擾信號。
- 幀長爲 L (bit),數據發送速率爲 C (b/s),因而幀的發送時間爲 L/C = T0 (s)。
.
•以太網的信道利用率**(cont.)**
•一個幀從開始發送,經可能發生的碰撞後,將再重傳數次,到發送成功且信道轉爲空閒(即再經過時間 t 使得信道上無信號在傳播)時爲止,是發送一幀所需的平均時間。
以太網的信道利用率:參數a
-
要提高以太網的信道利用率,就必須減小 t 與 T0 之比。在以太網中定義了參數 a,它是以太網單程端到端時延 t 與幀的發送時間 T0 之比:
-
a→0 表示一發生碰撞就立即可以檢測出來,並立即停止發送,因而信道利用率很高。
-
a 越大,表明爭用期所佔的比例增大,每發生一次碰撞就浪費許多信道資源,使得信道 利用率明顯降低。
.以太網的信道利用率:最大值
-
對以太網參數的要求
-
當數據率一定時,以太網的連線的長度受到限制,否則 t 的數值會太大
-
以太網的幀長不能太短,否則 T0 的值會太小,使 a 值太大
-
-
信道利用率的最大值
–在理想化的情況下,以太網上的各站發送數據都不會產生碰撞(這顯然已經不是 CSMA/CD,而是需要使用一種特殊的調度方法),即總線一旦空閒就有某一個站立即發送數據。
–發送一幀佔用線路的時間是 T0 + t,而幀本身的發送時間是 T0。於是我們可計算出理想情況下的極限信道利用率 Smax爲:
3.4.4以太網的MAC層
MAC層的硬件地址(MAC地址)
-
在局域網中,硬件地址又稱爲物理地址,或 MAC 地址。
-
802 標準所說的“地址”嚴格地講應當是每一個站的“名字”或標識符。
-
但鑑於大家都早已習慣了將這種 48 位的“名字”稱爲“地址”,所以本書也採用這種習慣用法,儘管這種說法並不太嚴格。
-
IEEE 的註冊管理機構 RA 負責向廠家分配地址字段的前三個字節(即高位 24 位)。
-
地址字段中的後三個字節(即低位 24 位)由廠家自行指派,稱爲擴展標識符,必須保證生產出的適配器沒有重複地址。
-
一個地址塊可以生成224個不同的地址。這種 48 位地址稱爲 MAC-48,它的通用名稱是EUI-48。
-
“MAC地址”實際上就是適配器地址或適配器標識符EUI-48。
.
-
適配器檢查 MAC 地址
-
適配器從網絡上每收到一個 MAC 幀就首先用硬件檢查 MAC 幀中的 MAC 地址.
-
如果是發往本站的幀則收下,然後再進行其他的處理。
-
–否則就將此幀丟棄,不再進行其他的處理。
-
-
“發往本站的幀”包括以下三種幀:
-
單播(unicast)幀(一對一)
-
廣播(broadcast)幀(一對全體)
-
多播(multicast)幀(一對多)
-
.
MAC幀格式
•常用的以太網MAC幀格式有兩種標準 :
-
DIX Ethernet V2 標準
-
IEEE 的 802.3 標準
•最常用的 MAC 幀是以太網 V2 的格式。
類型字段用來標誌上一層使用的是什麼協議,
以便把收到的 MAC 幀的數據上交給上一層的這個協議。
數據字段的正式名稱是 MAC 客戶數據字段
最小長度 64 字節 - 18 字節的首部和尾部 = 數據字段的最小長度
.
無效的 MAC 幀
-
數據字段的長度與長度字段的值不一致;
-
幀的長度不是整數個字節;
-
用收到的幀檢驗序列 FCS 查出有差錯;
-
數據字段的長度不在 46 ~ 1500 字節之間。
-
有效的 MAC 幀長度爲 64 ~ 1518 字節之間。
-
對於檢查出的無效 MAC 幀就簡單地丟棄。以太網不負責重傳丟棄的幀。
.
幀間最小間隔
-
幀間最小間隔爲 9.6 ms,相當於 96 bit 的發送時間。
-
一個站在檢測到總線開始空閒後,還要等待 9.6 ms 才能再次發送數據。
-
這樣做是爲了使剛剛收到數據幀的站的接收緩存來得及清理,做好接收下一幀的準備。