Thursday, May 26, 2011

優先權-IEEE802.1p V.S. VLAN-IEEE802.1Q

(轉:http://drupal.morezman.com/?q=node/29)

(轉:http://drupal.morezman.com/?q=node/28)

優先權-IEEE802.1p

蝦米係IEEE802.1p
過去的網路上面跑的東東
資料非常單純
流量也不大
可是今天的網路號稱多媒體網路
上面可能跑資料/語音/影像/動畫.....
企業重要的ERP在上面跑
你老哥下載的A級電影也在上面跑
這時候問題來了
這麼多的東東跑來跑去互相影響
到底誰該先跑呢
這時候優先權的概念就出來了
按照各自的優先權等級走 就不會混亂了
一般我們在用網路的時候
MAIL晚個2分鐘收到 你可能毫無知覺
但是VOIP講網路電話或收看線上電影時
每句對話或每個畫面DELAY個10秒可能就進行不下去了
從這兒我們了解到對時間敏感的封包應該給予高優先權
另外像是剛剛提到的ERP這種企業營運的命脈
重要性非比小可當然也要給予高的優先權
至於實務運作上什麼該高什麼該低
端看你實際的環境而定 沒有標準答案
由於實務環境有這個需求
於是偉大的IEEE就定了一個標準
讓各家廠商遵循 不至於發生不相容的情形
這個標準就叫做IEEE 802.1p
IEEE802.1p的運作原理

從上面這張圖我們可以很清楚看到
在正常封包格式中加入一個4 BYTES 的 TAG CONTROL INFO
叫做802.3ac標籤格式
在這個 4 BYTES的TAG中
前面 2 BYTES固定是 8100h
這個用意是告訴所有的網路設備
1.我是一個具備802.3ac標籤格式的封包
不是一個不標準的封包
請不要拋棄我
2.我是一個帶有802.1p/Q資訊的封包
請來讀相關的資訊並且根據設定的資訊辦事
看不懂8100h會把封包當不正常封包丟掉的設備就是不相容不支援802.1p/Q
看的懂8100h不會丟封包但卻不會照資訊辦事的網路設備就是相容802.1p/Q
看的懂8100h不會丟封包也會照資訊辦事的網路設備就是支援802.1p/Q
會特別寫出第2行的相容是因為在當初標準剛出來時
有些過渡性的產品就是這樣亂搞的
接下來我們來看後面 2 個 BYTES
前面 3 個 bits就是放IEEE802.1p設定資訊的地方
大家都知道 2 的 3 次方是 8
所以這裡總共可以表現出0-7共八個優先權等級
於是封包之間的優先權就被區分出來

當優先權被區分出來時
就要靠網路設備上的佇列來實現先後的順序
以上面這張圖為例
網路卡上有2個佇列
當封包內的802.1p資訊設定為0-3時就走一般佇列
當封包內的802.1p資訊設定為4-7時就走高優先權佇列
一般的網路設備都會有2個/4個/8個佇列就是為了實現這八個優先權等級
看到這兒各位看倌應該就了解整個IEEE802.1p的運作原理吧

IEEE 802.1P:有關流量優先等級的 LAN 第二層 QoS/CoS 協定

  IEEE 802.1P 規範使得第二層交換機能夠提供流量優先級和動態組播過濾服務。優先級規範工作在媒體訪問控制(MAC)幀層(OSI 參考模型第二層)。802.1P 標準也提供了組播流量過濾功能,以確保該流量不超出第二層交換網路範圍。
   802.1P 協定標頭包括一個3位優先級字段,該字段支援將資料封包分組為各種流量種類。IEEE 極力推薦網路管理員實施這些流量種類,但它並不要求強制使用。流量種類也可以定義為第二層服務質量(QoS)或服務類(CoS),並且在網路適配器和交換 機上實現,而不需要任何預留設置。802.1P 流量被簡單分類併發送至目的地,而沒有頻寬預留機制。
   802.1P 是 IEEE 802.1Q (VLAN 標籤技術)標準的擴充協定,它們協同工作。IEEE 802.1Q 標準定義了為以太網 MAC 資料框添加的標籤。VLAN 標籤有兩部分:VLAN ID (12位元)和優先級(3位元)。 IEEE 802.1Q VLAN 標準中沒有定義和使用優先級字段,而 802.1P 中則定義了該字段。
  802.1P 中定義的優先級有8種。儘管網路管理員必須決定實際的映射情況,但 IEEE 仍作了大量建議。最高優先級為7,應用於關鍵性網路流量,如路由選擇信息協議(RIP)和開放最短路徑優先(OSPF)協定的路由表更新。優先級6和5主 要用於延遲敏感(delay-sensitive)應用程序,如交談式視訊頻寬和語音。優先級4到1主要用於受控負載(controlled-load)應用 程序,如影音串流式多媒體(streaming multimedia)和關鍵性業務流量(business-critical traffic) - 例如,SAP 資料 - 以及 "loss eligible" 流量。優先級0是預設值,並在沒有設置其它優先級值的情況下自動啟用。
協定結構
  以太網中的 IEEE 802.1Q 標籤資料框格式 - 在以太網(802.3)資料框基礎上修訂而成:

7 1 6 6 2 2 2 42-1496 bytes 4 bytes
Preamble SFD DA SA TPID TCI Type Length Data CRC

  • Preamble(Pre) - 7字節。Pre 字段中1和0交互使用,接收站通過該字段知道導入資料框,並且該字段提供了同步化接收實體層資料框接收部分和導入位元流的方法。
  • Start-of-Frame Delimiter(SFD) - 1字節。字段中1和0交互使用,結尾是兩個連續的1,表示下一位是利用目的地址的重複使用字節的重複使用位
  • Destination Address(DA) - 6字節。DA 字段用於識別需要接收資料框的站。
  • Source Addresses(SA) - 6字節。SA 字段用於識別發送資料框的站。
  • TPID - 值為8100(hex)。當資料框中的 EtherType 也為8100時,該資料框傳送標籤 IEEE 802.1Q/802.1P。
  • TCI - 標籤控制訊息字段,包括使用者優先級(User Priority)、規範格式指示器(Canonical Format Indicator)和 VLAN ID。

3 1 12 bits
User Priority CFI Bits of VLAN ID (VIDI) to identify possible VLANs

    • User Priority:定義用戶優先級,包括8個(23)優先級別。IEEE 802.1P 為3位元的用戶優先級位定義了操作。
    • CFI:以太網交換機中,規範格式指示器總被設置為0。由於兼容特性,CFI 常用於以太網類網路和令牌環類網路之間,如果在以太網路端口接收的資料框具有 CFI,那麼設置為1,表示該資料框不進行轉發,這是因為以太網端口是一個無標籤端口。
    • VID: VLAN ID 是對 VLAN 的識別字段,在標準 802.1Q 中常被使用。該字段為12位。支持4096(212) VLAN 的識別。在4096可能的 VID 中,VID=0 用於識別幀優先級。 4095(FFF)作為預留值,所以 VLAN 配置的最大可能值為4,094。
  • Length/Type - 2字節。如果是採用可選格式組成幀結構時,該字段既表示包含在資料框資料字段中的 MAC 客戶機數據大小,也表示資料框類型 ID。
  • Data - 是一組 n(46=< n =<1500)字節的任意值序列。資料框總值最小為64字節。
  • Frame Check Sequence(FCS) - 4字節。該序列包括32位的循環冗餘校驗(CRC)值,由發送 MAC 方生成,通過接收 MAC 方進行計算得出以校驗被破壞的資料框。

相關協定 IEEE 802.2、802.3、802.1D、802.1Q
組織來源 802.1P 是一種 IEEE(http://www.ieee.org協議。
相關鏈結 http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf: IEEE 802.1Q Standard



VLAN-IEEE802.1Q

蝦米係IEEE802.1Q
過去的古老年代要實現分國的目的
都必須靠實體網路架構去分割
但是在實務應用上卻很難靠實體架構分割就能滿足分國的需求
後來廠商發現這個需求很重要
於是各家廠商紛紛開發所謂的BY PORT/BY MAC/BY PROTOCAL之類的VLAN分國功能
VLAN就是Virtual LAN
簡單的說就是將你的實體網路切割成一塊一塊虛擬的邏輯網路
靠著這些廠商的VLAN功能於是解決了大部份客戶的分國需求
但是一再提到的相容性問題又來了
因為是各家廠商各自開發的功能
所以你必須統一使用同一家廠牌的網路設備
萬一你有不同的品牌那就很抱歉玩不下去了
於是IEEE又訂定了IEEE802.1Q這個VLAN的標準
讓各家廠牌可以遵循
於是使用聯合國廠牌設備的你也可以享受VLAN的好處了
IEEE802.1Q的好處
  • 限制廣播風暴
  • 安全性
  • 具有移動和改變的彈性而不需大費周章設定
  • 建置成本低廉
  • 各廠牌相容性一致
  • 不管實體位置如何可以照你的想法任意建置邏輯的分國
IEEE802.1Q的運作原理

從上面這張圖我們可以很清楚看到
在正常封包格式中加入一個4 BYTES 的 TAG CONTROL INFO
叫做802.3ac標籤格式
在這個 4 BYTES的TAG中
前面 2 BYTES固定是 8100h
這個用意是告訴所有的網路設備
1.我是一個具備802.3ac標籤格式的封包
不是一個不標準的封包
請不要拋棄我
2.我是一個帶有802.1p/Q資訊的封包
請來讀相關的資訊並且根據設定的資訊辦事
接下來我們來看後面 2 個 BYTES( 16 bits)
前面 3 個 bits就是放IEEE802.1p設定資訊的地方
前一章已經介紹過了
第 4 個bit是Canonical固定設定成0
後面 12 bits就是 802.1Q VLAN Identifier
所以當支援IEEE802.1Q的網路設備讀到這部份
就知道如何去分國了

No comments:

Post a Comment