Voice vlan
Voice VLAN是為用戶的語音流專門劃分的VLAN。
網絡中經常有數據、語音、視頻等多種流量同時傳輸。因為丟包和時延對通話質量的影響很大,用戶對語音的質量比數據或者視頻的質量更為敏感,因此在帶寬有限的情況下就需要優先保證通話質量。
通過配置Voice VLAN,交換機可識別語音流,將語音流加入到Voice VLAN中傳輸,并對其進行有針對性的QoS保障,當網絡發生擁塞時可以優先保證語音流的傳輸。
一般來說,IP電話分為兩大類:
發送帶Tag語音報文的IP電話(如Cisco 7960),發送untagged語音報文的IP電話(如華為MC850)。
若要提高語音數據流的傳輸優先級,首先要能識別出語音數據流。識別出語音數據流后,再對語音數據流提升優先級后傳輸。
Voice VLAN可以通過以下兩種方式來實現對語音數據流的識別:
1、通過收到報文的源MAC地址,即基于MAC地址的方式
設備可以根據進入接口的數據報文中的源MAC地址字段來判斷該數據流是否為語音數據流。源MAC地址匹配系統設置的語音設備的組織唯一標識符OUI(Organizationally Unique Identifier)的報文被認為是語音數據流。用戶需要預先設置OUI,適用于IP電話上送untagged語音報文的場景。
2、通過報文攜帶的VLAN Tag,即基于VLAN的方式
若有大量IP電話接入交換機,配置IP電話的OUI就可能會非常繁瑣。可在交換機上配置基于VLAN來提升語音報文的優先級,此時設備會根據進入接口的報文的VLAN ID來判斷該數據報文是否為語音報文。當VLAN ID匹配系統配置的Voice VLAN后,則認為是語音數據流。
這種方式實現的前提是IP電話支持獲取交換機上配置的Voice VLAN信息的功能,在大量IP電話接入的情況下,可以簡化配置。
以上方案是從方便配置的角度給出的。實際上,不管IP電話上送的語音報文是否帶VLAN Tag,基于MAC地址和基于VLAN的Voice VLAN都可以實現。
主要區別在于:
當IP電話上送的是untagged語音報文時,必須配置OUI,才能把語音報文和數據報文區分開來;如果IP電話上送的是帶Tag語音報文,則可配置基于VLAN的Voice VLAN,這樣在大量IP電話接入的情況下,就不用配置繁瑣的OUI,簡化配置。
1、基于MAC地址的Voice VLAN
OUI
OUI指的是MAC地址的前24位(二進制),可以用來表示一個MAC地址段,是IEEE為不同設備供應商分配的一個全球唯一的標識符,各設備廠商再從這個地址段中分配24位,從而形成48位的MAC地址。
所以根據OUI識別IP電話機的原理就是根據IP電話廠商申請的MAC地址段來識別哪些報文是電話機發送的,以此來判斷哪些報文屬于語音報文。
Voice VLAN中的OUI有別于上述的通常意義的OUI,這個OUI是由用戶來配置的,而且可以使用掩碼,即不需要一定是24位掩碼的,掩碼長度用戶可以自己指定。OUI的值為voice-vlan mac-address命令中的mac-address和mask參數相與的結果。
實現原理
如下圖1所示,交換機接收到PC和IP Phone發出的untagged報文后會做如下處理:如果源MAC匹配交換機上配置的OUI(源MAC地址與配置的OUI掩碼進行與運算后等于OUI視為匹配),則為該報文加上Voice VLAN的Tag,并提升報文優先級;如果不匹配,就會為其加上PVID的VLAN Tag,從而保證語音報文的優先發送。
圖1 基于MAC地址的Voice VLAN示意圖
基于MAC地址模式下,接口加入Voice VLAN的方式可分為手動模式和自動模式。
自動模式
自動模式是指當語音設備發出的報文中源MAC地址匹配配置的OUI時,系統會將連接語音設備的接口自動加入到Voice VLAN中。
手動模式
手動模式下,當使能Voice VLAN功能后,必須通過手工將連接語音設備的接口加入到Voice VLAN中,這樣才能保證Voice VLAN功能生效。
根據使能了Voice VLAN功能的接口對接收到的數據包的過濾機制可以將Voice VLAN的工作模式分為安全模式和普通模式。
安全模式:
使能了Voice VLAN功能的入接口只允許收到的源地址與OUI匹配的語音報文通過,該Voice VLAN內的非語音報文將被直接丟棄,其他VLAN內的報文正常轉發。
只有當通過命令voice-vlan remark-mode mac-address指定語音報文基于MAC地址提升優先級時,安全模式才會生效。
普通模式:
使能了Voice VLAN功能的入接口允許同時傳輸語音報文和非語音報文,容易受到惡意數據流量的攻擊。
不建議將語音和數據業務規劃在同一個VLAN里面。如確有此需要,請確認Voice VLAN工作在普通模式。
2、基于VLAN的Voice VLAN
基于VLAN的Voice VLAN實現原理為:
交換機收到PC和IP Phone發來的報文后會判斷報文的VLAN ID與接口上配置的Voice VLAN ID是否相同,如果相同則認為此數據流為語音數據流并提升優先級,PC發出的Untagged報文則會被加上PVID的VLAN Tag。
因此基于VLAN的Voice VLAN需要IP Phone可以獲取交換機上配置的Voice VLAN信息。
IP Phone獲取交換機上Voice VLAN信息的方法有很多種,以下以IP Phone通過LLDP協議獲取交換機Voice VLAN信息為例介紹一下實現過程。
如下圖2所示,IP電話上線會主動發送LLDP報文,以獲取交換機上配置的Voice VLAN信息;交換機收到IP電話發送的LLDP報文,會在相關字段填充Voice VLAN信息發給IP電話;IP電話收到攜帶Voice VLAN信息的LLDP報文后,再次發送語音報文時就會帶Tag發送;
交換機收到帶Tag的語音報文,如果Tag和交換機上配置的Voice VLAN匹配,則為其提升優先級后轉發。交換機收到untagged報文,仍然會加入到PVID所在的VLAN中。
這樣,當發生網絡擁塞的時候交換機就能保證語音報文的優先發送。