802.11網絡協議細節(四)


      

1.4   802.11對上層協議的封裝

和所有其他的 802 鏈路層一樣,802.11可以傳輸各種不同的網絡層協議。和以太網不同的是,802.11是以802.2 的邏輯鏈路控制封裝來攜帶上層協議。圖 1-13 顯示了如何以 802.2LLC封裝來攜帶 IP 封包。如該圖所示,802.1H與RFC 1042 所使用的『MAC標頭』長度為 12個bit組,其內容為以太網上的『源 MAC地址』與『目的 MAC地址』,或者前面所提到的長標頭(long 802.11MAC header )。

 

              圖 1-13:802.11 里的 IP 封裝

傳輸時,用來封裝 LLC 數據的方式有兩種。其中一種是 RFC 1042 所描述的方式,另外一種則是802.1H所規范的方式。兩種標准各自有其別名。RFC 1042 有時候被稱為 IETF 封裝,而802.1H有時候則被稱為隧道式封裝(tunnel encapsulation).

這兩種方式極為相似,如圖 1-13所示。此圖最上方為以太網幀,它具有 MAC標頭(源與目的MAC地址),類型代碼(type code ),內嵌封包(embedded packet )以及幀檢驗等位。

在IP 領域里,Type code 不是代表IP 的本身的OX0800(十進制的 2048),就是代表地址解析協議(簡稱 ARP)的 OX0806(十進制的 2054)。

RFC 1042 與802.1H均衍生自 802.2 的子網絡訪問協議(sub-network access protocol ,簡稱SNAP )。MAC地址會被復制到封裝幀(encapsulation frame)的開頭,然后插入 SNAP標頭。SNAP 標頭一開始是目的服務訪問點(destination service access point,簡稱DSAP)與源服務訪問點(source service access point, 簡稱SSAP)。然后是一個控制位。和高階數據鏈路控制(high-level data link control, 簡稱HDLC)及其衍生協議一樣,此控制位會被設定為 0x03,代表未編號信息(unnumbered information,簡稱UI),對應到IP datagram 所謂的盡力傳送(best-effert delivery)范疇。SNAP 所置入的最后一個位是組織代碼(organizationally unique identifier ,簡稱 OUI)。起初,IEEE 希望用一個 bit組的服務訪問點(service access point )來涵蓋網絡協議編號,不過后來證明這種看法過於樂觀。因此,SNAP 只得從原來的以太網幀復制一份類型代碼(type code )。802.11H 與RFC 1042 之間的唯一差異,在於其使用的 OUI。

有些產品可以讓使用者在兩種封裝標准間進行切換,雖然這種功能並不常見。以 Microsoft操作系統而言,AppleTalk 與IPX 協議組預設使用 802.1H,其他協議則使用 RFC 1042 。目前大部分接入點均依循 Microsoft的做法,不再提供封裝方式的切換選項。事實上,由於 Microsoft所采用的封裝方式得到廣泛的支持,因此 Wi-Fi聯盟的認證測試計划亦將它包含在內。

1.5   競爭式數據服務

為了增加可靠性,802.11納入了許多額外的功能。這些功能導致某些規則上的混淆,因而無法判斷何時該允許使用何種類型的幀。這些額外的功能也讓網絡管理人員更難預測,有哪些幀會來往於所檢視的網絡中。本節的目的在澄清,802.11局域網絡中負責運送數據的基本交換過程。(大部分的管理幀只會公告給該區域中相關的對象,信息的傳遞純粹是單向的。)

本節所陳述的是基本交換程序,也就是說數據的交換過程必須視為單一整體。舉例而言,單點傳播數據必須得到應答以確保數據傳送無誤。雖然整個數據的交換過程包含兩個幀,但數據交換本身只算第一過程。只要有一方失誤,整個過程就必須重新來過。802.11 定義了兩組截然不同的基本交換程序。其一為 DCF,用於競爭服務。第二種交換方式為 PCF,用於免競爭服務(contention-free service)。免競爭服務所使用的幀交換方式不僅錯綜復雜,而且還難以理解。有鑒於商業化產品很少實現免競爭服務,其交換過程不再贅述。

DCF說使用的幀交換方式在 802.11 MAC 中占有決定性的地位。根據 DCF的規定,所有的產品都必須提供盡力的傳遞功能。為了實現競爭式 MAC,處於作用狀態的工作站都必須處理每個幀的 MAC標頭。整個幀交換過程,始終某部工作站在 DIFS之后取得閑置介質的使用權。

3.5.1   廣播與組播數據或管理幀

廣播與組播幀的交換過程最為簡單,因為這些幀無須應答。這兩種幀也可以視為群組幀,

因為其接收對象不限於單一工作站。幀封裝(framing )與定位(addressing )在 802.11中較為復雜,適用此規則的幀類型如下所示:

l  廣播數據幀會在 Address1位中填入廣播地址

l  組播數據幀會在 Address1位中填入組播地址

l  廣播管理幀會在 Address1位中填入廣播地址(Beacon、Probe Request 以及IBSS ATIM幀)

組播幀無法加以分段,也無須得到應答。整個基本交換過程只牽涉到一個幀,根據競爭式訪問控制規則加以傳遞。傳送結束后,所有工作站必須等待一段 DIFS時間,然后在競爭期間倒數隨機產生的延遲時間。

因為幀的交換過程只牽涉到一個幀,所以將 NAV(網絡分配矢量)設定為 0。既然此后已無其他幀,也就不必使用虛擬載波監聽鎖住介質,來防止其他工作站的訪問。傳送該幀之后,所有工作站均會等候一段 DIFS時間,然后通過競爭期間開始為任何遭延遲的幀進行倒數。整個交換過程,詳見圖 1-14 。

 

          圖 1-14:廣播/組播數據以及廣播管理的基本幀交換過程

因環境而異,組播幀可能會遇到低劣的服務質量,因為這些幀沒有得到任何應答。因此,有些工作站可能會遺漏廣播或組播數據。不過MAC並未內建任何機制可用以重傳廣播或組播幀。

3.5.2   單點傳播幀

在802.11標准中,針對個別工作站所傳送的幀稱為直接數據(direct data )。本書中使用較通俗的字眼,稱之為單點傳播(unicast)。單點傳播幀必須得到應答以確保可靠性,亦即可借助各種機制來改善傳輸效率。本節所描述的交換過程適用於任何單點傳播幀,因此也適用於管理幀與數據幀。實際上,這些過程通常只見於數據幀。

 3.5.2.1 單一幀(最后一個片段)及其正面應答

兩部工作站之間的傳輸可靠性建立在簡單的正面應答上。單點傳播數據幀必須得到正面應答,否則該幀即會被認定已經丟失。單一幀及其回應是最基本的例子,如圖 1-15 所示。

 

            圖 1-15:單一幀及其正面回應

此幀會利用 NAV 為本身、應答及 SIFS 預定介質使用權。設定較長的 NAV,是為了替整個交換程序鎖住虛擬載波,以保證接收端可以傳送應答。因為此交換程序是以 ACK 做為結束,所以沒有必要再鎖住虛擬載波,因此該 ACK 中 NAV 會被設定為 0。

 3.5.2.2 幀分段

包括IP 在內,一些較上層的網絡協議或多或少都會用到幀分段。在網絡層進行分段的缺點是,接收端必須加以重組;如果幀在傳輸過程中遺失,整個封包就必須重傳。在鏈路層使用分段機制可以提升速度,亦即以較小的 MTU在轉運點(hop )間傳送數據。

 

          圖 1-16:幀分段

此外,802.11可以利用幀分段來避免干涉。無線點播干擾通常會以瞬間而高能量的尖波形式出現,而且經常與 AC電源線同步。將幀加以分段,可保護大部分幀不遭受損害。基本分段機制如圖1-16 所示。

最后兩個幀和之前的交換過程沒有兩樣,NAV的設定也完全相同。不過,倒數第二個幀之前所有幀均會使用 NAV,為下一個幀鎖住介質。第一個數據幀會將 NAV的時間設定至足以涵蓋ACK1, 下一個幀片段及其回應(ACK2)。為了表示其為幀片段,MAC會將幀標頭控制位的 More Fragmentsbit 設定為1。最后一個回應(ACK3)除外,其余回應都會繼續為下一個數據片段及其回應延長鎖住介質的時間。后續的數據幀會繼續延長 NAV以涵蓋后續的回應,直到最后一個數據幀才會將 More Fragmentsbit設定為 0 ,而最后一個回應(ACK3)則會將 NAV設定為 0 。幀片段的數目並無限制,不過虛空總長度必須短於 PHY對交換過程所做的限制。

幀分段是由 MAC的fragmentation threshold(切割門限) 參數所控制。大部分的網卡驅動程序都允許使用者設定此參數。任何超過分段門限的幀都會被加以分段,分段方式因實際情況而異。調高分段門限意味着幀的傳輸負擔較小,不過幀丟掉和損害的成本較高,因為將會有較多的數據必須丟棄與重傳。調低分段門限意味着傳輸負擔較重,不過在面臨較惡劣的環境時,這種做法可以提供較佳的穩定性。

 3.5.2.3 RTS/CTS

為保證介質使用權以及數據傳輸不被中斷,工作站可使用 RTS/CTS的交換方式。圖 1-17說明了整個過程。RTS/CTS交換的做法和幀分段一開始沒有什么兩樣,只是RTS 幀並未攜帶任何數據。RTS/CTS中的 NAV可讓CTS完成工作,而 CTS 則可用來為數據幀保留使用權。

RTS/CTS 可用在所有的幀交換、非幀交換或介於兩者之間。和幀分段一樣,RTS/CTS 是由啟動程序中的門限值來控制的。超過該門限的幀由 RTS/CTS 先行清空介質,而較小的幀則直接傳送。

 

            圖 1-17:以 RTS/CTS 鎖住介質

 3.5.2.4 RTS/CTS 與幀分段

實際上,RTS/CTS交換過程通常與幀分段並行,如圖1-18所示。雖然經過分段,幀片段還是有一定的長度,因此可受惠與 RTS/CTS過程所確保的介質獨家使用權,免與隱藏節點的競爭。有些廠商將幀分段門限與 RTS/CTS門限的預設值設成一樣。

 

              圖 1-18:RTS/CTS 與幀分段

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM