計算機網絡基礎之以太網

以太網

以太網作爲局域網最重要的技術,它起初是基於最簡單的總線拓撲結構。

起步階段

  • 始於1970年代早期的XEROX PARC
  • 第一代以太網最多可以使用最長1000米、帶寬爲2.94Mbps的電纜連接256
    臺計算機
  • IEEE認可了由Xerox-Digital-Intel聯盟提出的的10 Mbps以太網規範

基本部件

  • 以太網網線 – 物理介質
  • CSMA/CD – 對傳輸介質進行併發訪問和碰撞控制的框架結構
  • 數據以以太網數據包的形式發送,也就是我們通常說的“幀”

1.基本原則

數據包通過被稱爲“以太”的總線進行傳輸,每個數據包均被髮送至所有入網計算機,但是隻有目標計算機才做進一步處理。

在這裏插入圖片描述
以太網是一種共享介質的局域網技術,多個站點連接到一個共享介質上,同一時間只能有一個站點發送數據,這種共享介質的通信方式必然存在一個衝突的問題,如何檢測鏈路是否空閒,站點能否發送數據是共享鏈路必須解決的問題。

這種同一鏈路連接多個終端,就是多路訪問。多路訪問控制有多種協議,如隨機訪問控制協議、受控訪問控制協議、通道化協議。
在這裏插入圖片描述

  • 隨機訪問控制協議
    隨機訪問控制協議中,所有連接在共享介質上的終端,都具有平等的發送數據的概率。
  • 受控訪問控制協議
    受控訪問控制協議是一種輪詢機制,通過輪詢來控制哪個站點來發送數據。
  • 通道化協議
    通道化協議是一種複用技術,日後結合移動通信的發展詳細介紹。

2.多重訪問算法(CSMA/CD)

以太網採用了CSMA/CD Carrier Sense Multiple Access / Collision Detection 載波偵聽多路訪問/衝突檢測,最爲多路訪問控制協議。

簡單來講,我們可以將CSMA/CD比作一次交談,在這個交談中每個人都有說話的權利,但同時只能有一個人說話,否則會發生混亂。

每個人在說話之前,必須先聽是否有別人說話(即載波偵聽),這時如果有別人說話,那麼只能耐心等待,等待別人結束說話,他纔可以發表意見。

另外,如果在同一時間兩個人都想講話,那麼此時就會出現衝突。當兩個人同時講話時,兩個人都會發現他們在同一時間講話(即衝突檢測)。

這時說話立即終止,隨機等待一段時間後(回退),再開始說話。這個時候第一個人開始說話,第二個人必須等待,直到第一個人說完後纔可以開始說話。

下圖爲站點發送數據幀的流程圖,當有一個站點數據幀要開始發送時,他開始檢測物理介質是否空閒,這個過程稱爲載波偵聽。如果此時介質忙,只能耐心等待,推遲數據幀的發送。
在這裏插入圖片描述
如果載波偵聽過程中發現介質空閒,則必須等待IFG (Inter Frame Gap)時間讓物理信道恢復平穩,同時也讓接收者對接收的幀作必要的處理。等待IFG時間後開始發送數據幀。如果這時沒有其他站點要發送數據則不會發生衝突,站點可以完整的把數據幀發送完畢,重複下一次發送過程,繼續發送下一個數據幀。

如果同一時間有多個站點要發送數據,那麼就會發生衝突.衝突發生後,發送站點要持續發送一段時間的干擾信號(jamming),發送干擾信號的目的是爲了確保共享介質上的所有站點都能夠檢測到這時以太網上已產生了衝突。然後發送站點終止未發送完的數據幀的發送,等待一個隨機時間,這就是回退(backing off),等待的這個隨機時間稱爲回退時間(backoff time)。

回退時間是Slotime
(SlotTime 是傳送最短以太網幀所需要的時間,對於10M和100 M來說爲傳送512bit 所需要的時間,10M是51.2微秒,100M是5.12微秒)的整數倍,回退時間的取值範圍與檢測到衝突的次數有關,每次檢測到衝突後,r選擇一個從0到2k的隨機整數0<r<2k,這裏k=MIN {n,10}, n爲檢測到衝突的次數。回退時間爲r * SlotTime。

例如開始傳送數據幀後,第一次檢測到衝突後需要等待0-1倍SlotTime時間,第二次檢測到衝突後等待0-3中隨機整數個SIotime時間,以此類推。

當檢測到的衝突次數超過最大重試次數(通常爲16),則表示該數據幀發送失敗,停止該數據幀的發送,通知網絡管理員發生銷誤並丟棄數據幀,或者只是簡單的丟棄數據幀,然後重置回退時間爲0,開始衝突檢測準備發送下一個數據幀。

3.爲什麼是512bit?
前面提到了傳送512bit 所需要的時間,10M是51.2微秒,100M是5.12微秒,那麼爲什麼是512bit?
假設局域網兩端的站A和B相距1km,用同軸電纜連接。電磁波在1km電纜的傳播時延爲5μs。因此,A向B發送的數據在約5μs後才能傳送到B。換句話說,B若在A發送的數據到達之前發送自己的幀(因爲這個時候B的載波監聽檢測不到A發送的信息),則必然要在某個時間和A發送的幀發生碰撞。碰撞的結果是兩個幀都變得無用。

在局域網的分析中,常把總線上單程端到端傳播時延記爲τ。那麼在A發出數據之後最遲要經過多長時間才知道自己發送的數據和其他站發送的數據有沒有發生碰撞?
τδμ

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