本檔案將提供交換器間連結(ISL)和IEEE 802.1Q封裝的訊框欄位的基本資訊和摘要。
思科建議您瞭解VLAN和中繼。
本文件所述內容不限於特定軟體和硬體版本。中繼功能取決於使用的硬體。有關在Cisco Catalyst系列交換機上實施中繼的系統要求的詳細資訊,請參閱實施中繼的系統要求。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
中繼用於承載屬於同一鏈路上的裝置之間的多個VLAN的流量。裝置可以通過其VLAN識別符號確定流量屬於哪個VLAN。VLAN識別符號是與資料封裝的標籤。ISL和802.1Q是兩種封裝型別,用於通過中繼鏈路傳輸來自多個VLAN的資料。
ISL是思科專有協定,用於在交換機之間傳輸流量時互連多台交換機並維護VLAN資訊。ISL提供VLAN中繼功能,同時它在全雙工或半雙工模式下的乙太網鏈路上保持全線速效能。ISL在點對點環境中運行,最多可支援1000個VLAN。在ISL中,將封裝原始幀,並在通過中繼鏈路傳輸幀之前新增額外的報頭。在接收端,將刪除報頭,並將幀轉發到指定的VLAN。ISL使用每個VLAN生成樹(PVST),它運行每個VLAN的一個生成樹協定(STP)例項。PVST允許最佳化每個VLAN的根交換機放置,並支援通過多個TRUNK鏈路進行VLAN負載均衡。
802.1Q是用於標籤中繼上的幀的IEEE標準,最多可支援4096個VLAN。在802.1Q中,中繼裝置在原始幀中插入4位元組標籤,並在裝置通過中繼鏈路傳送幀之前重新計算幀校驗序列(FCS)。在接收端,標籤被移除,幀被轉發到指定的VLAN。802.1Q不會在本徵VLAN上標籤幀。它標籤中繼上傳送和接收的所有其它幀。配置802.1Q TRUNK時,必須確保在TRUNK的兩端配置相同的本徵VLAN。IEEE 802.1Q為網路中的所有VLAN定義在本徵VLAN上執行的生成樹單一例項。這稱為單聲道生成樹(MST)。 這缺少ISL提供的PVST的靈活性和負載均衡功能。但是,PVST+提供了通過802.1Q中繼保留多個生成樹拓撲的功能。
有關802.1Q封裝的詳細資訊,請參閱使用802.1Q封裝和Cisco CatOS系統軟體的Catalyst 4500/4000、5500/5000和6500/6000系列交換機之間的中繼的802.1Q中繼的基本特徵部分。
有關在Cisco交換機上配置ISL/802.1Q封裝的資訊,請參閱VLAN中繼協定配置示例和技術說明。
ISL幀由三個主要欄位組成:封裝幀(原始幀),它由ISL報頭封裝,最後是FCS。
ISL報頭 | 封裝幀 | FCS |
此示例顯示了ISL報頭的進一步擴展。擴展包括欄位縮寫詞和每個欄位的位數:
位數 | 40 | 4 | 4 | 48 | 16 | 24 | 24 |
幀欄位 | DA | 類型 | 使用者 | SA | LEN | AAAA03(SNAP) | HSA |
位數 | 15 | 1 | 16 | 16 | 8到196,600位(1到24,575位元組) | 32 |
幀欄位 | VLAN | BPDU | 索引 | RES | 封裝框架 | FCS |
本節詳細介紹了ISL幀欄位。
ISL資料包的DA欄位是40位目的地址。此地址是組播地址,設定為「0x01-00-0C-00-00」或「0x03-00-0c-00-00」。 DA欄位的前40位向接收器發出訊號,表示資料包採用ISL格式。
TYPE欄位由4位代碼組成。TYPE欄位指示封裝的幀型別,以後可用於指示備用封裝。下表提供了不同TYPE代碼的定義:
型別代碼 | 含義 |
---|---|
0000 | 乙太網路 |
0001 | 權杖環 |
0010 | FDDI |
0011 | ATM |
USER欄位由4位代碼組成。USER位用於擴展TYPE欄位的含義。預設的USER欄位值為「0000」。 對於乙太網幀,使用者欄位位「0」和「1」表示資料包通過交換機時的優先順序。每當可以允許更快速地轉發流量的方式處理流量時,設定此位的資料包都應利用快速路徑。不需要提供此類路徑。
使用者代碼 | 含義 |
---|---|
XX00 | 普通優先順序 |
XX01 | 優先順序1 |
XX10 | 優先順序2 |
XX11 | 最高優先順序 |
SA欄位是ISL資料包的源地址欄位。該欄位應設定為傳輸幀的交換機埠的「802.3」MAC地址。它是48位值。接收裝置可以忽略幀的SA欄位。
LEN欄位將原始資料包的實際資料包大小儲存為16位值。LEN欄位表示資料包的長度(以位元組為單位),不包括DA、TYPE、USER、SA、LEN和FCS欄位。排除的欄位的總長度為18個位元組,因此LEN欄位表示總長度減去18個位元組。
AAAA03 SNAP欄位是「0xAAAA03」的24位常數值。
HSA欄位是一個24位值。此欄位表示SA欄位的前3個位元組(製造商ID部分)。該欄位必須包含值「0x00-00-0C」。
VLAN欄位是資料包的VLAN ID。它是15位值,用於區分不同VLAN上的幀。此欄位通常稱為幀的「顏色」。
BPDU欄位中的位是為由ISL幀封裝的所有BPDU資料包設定的。生成樹演算法使用BPDU來確定有關網路拓撲的資訊。對於封裝的CDP和VLAN中繼線協定(VTP)幀,也會設定此位。
INDX欄位表示封包退出交換器時的來源連線埠索引。此欄位僅用於診斷目的,並且可由其他裝置設定為任何值。它是16位值,在接收的資料包中被忽略。
RES欄位是一個16位值。當令牌環或FDDI資料包封裝為ISL幀時,會使用此欄位。對於令牌環幀,此處放置訪問控制(AC)和幀控制(FC)欄位。若是FDDI,則FC欄位會置於此欄位的最低有效位元組(LSB)中。例如,FC「0x12」的RES欄位為「0x0012」。 對於乙太網資料包,RES欄位應設定為全零。
ENCAP FRAME欄位是完全未修改的封裝資料包,其中包含其自己的循環冗餘檢查(CRC)值。刪除ISL封裝欄位後,內部幀必須具有有效的CRC值。此欄位的長度為1到24,575位元組,以便容納乙太網路、權杖環和FDDI訊框。接收交換機可以剝離ISL封裝欄位,並在收到幀時使用此ENCAP FRAME欄位(將適當的VLAN和其他值與所接收的幀相關聯,如為交換目的所指示的)。
FCS欄位由4個位元組組成。此序列包含一個32位CRC值,該值由傳送MAC建立,並由接收MAC重新計算,以檢查幀是否損壞。FCS通過DA、SA、長度/型別和資料欄位生成。連線ISL報頭時,會在整個ISL資料包上計算新的FCS,並將其新增到幀的末尾。
注意:新增新的FCS不會改變封裝幀中包含的原始FCS。
ISL幀封裝為30位元組,最小FDDI資料包為17位元組。因此,FDDI的最小ISL封裝封包為47位元組。最大令牌環資料包為18,000位元組。因此,最大ISL資料包是18,000加上30位元組的ISL報頭,總計18,030位元組。如果僅封裝乙太網資料包,則ISL幀大小的範圍為94到1548位元組。
對於使用ISL封裝的系統來說,最大的影響是封裝總共有30個位元組,不需要分段。因此,如果封裝資料包的長度為1518位元組,則乙太網的ISL資料包的長度為1548位元組。此外,如果封裝了乙太網資料包以外的資料包,最大長度可能會大幅增加。在評估拓撲是否支援ISL資料包大小時,必須考慮此長度更改。
另一個系統含義是ISL資料包包含兩個FCS。為原始資料計算第一個FCS。第二個FCS是在封包封裝在ISL中後計算的。如果原始資料不包含有效的CRC,則在ISL報頭被去除且終端裝置檢查原始資料FCS之前,不會檢測到無效的CRC。對於交換硬體而言,這通常不是問題,但對於路由器和網絡卡(NIC)而言,這可能很困難。
IEEE 802.1Q使用內部標籤機制,該機制在原始乙太網幀本身的「源地址」和「型別/長度」欄位之間插入一個4位元組的標籤欄位。由於幀已更改,中繼裝置將重新計算修改後的幀上的FCS。
DA | SA | 標籤 | 型別/長度 | 資料 | FCS |
此示例顯示Tag欄位的進一步擴展。擴展包括欄位縮寫詞和每個欄位的位數。
位數 | 16 | 3 | 1 | 12 |
幀欄位 | TPID | 優先順序機制 | CFI | VID |
本節詳細介紹802.1Q幀欄位。
標籤協定識別符號是一個16位欄位。將該值設定為0x8100,以便將該幀標識為IEEE 802.1Q標籤的幀。
也稱為使用者優先順序,此3位欄位是指IEEE 802.1p優先順序。該欄位指示可用於劃分流量優先順序的幀優先順序。該欄位可以表示8個級別(0到7)。
規範格式指示器是一個1位欄位。如果此欄位的值為1,則MAC地址採用非規範格式。如果值為0,則MAC地址採用規範格式。
VLAN識別符號是一個12位欄位。它唯一標識幀所屬的VLAN。該欄位的值可以介於0和4095之間。
802.1Q標籤是4個位元組。因此,產生的乙太網幀最大可為1522位元組。帶802.1Q標籤的乙太網幀的最小大小為68位元組。
QinQ支援功能為進入網路的802.1Q標籤資料包新增了另一層IEEE 802.1Q標籤(稱為「metro標籤」或「PE-VLAN」)。其目的是通過標籤已標籤的資料包來擴展VLAN空間,從而生成「雙標籤」幀。擴展的VLAN空間允許服務提供商提供某些服務,例如特定客戶在特定VLAN上訪問Internet,但仍允許服務提供商為其他VLAN上的其他客戶提供其他型別的服務。
介面的預設最大傳輸單位(MTU)為1500位元組。如果外部VLAN標籤連線到乙太網幀,則資料包大小會增加4個位元組。因此,建議適當增加提供商網路上每個介面的MTU。建議的最小MTU為1504位元組。
QinQ幀包含VLAN標籤的修改後的標籤協定識別符號(TPID)值。預設情況下,VLAN標籤使用TPID欄位來標識標籤的協定型別。IEEE 802.1Q中定義的此欄位值為0x8100。
該裝置通過檢查相應的TPID值來確定所接收的幀是否攜帶了服務提供商VLAN標籤或客戶VLAN標籤。在接收到幀之後,裝置將比較配置的TPID值與幀中TPID欄位的值。如果兩者匹配,則幀將攜帶相應的VLAN標籤。例如,如果幀攜帶的TPID值分別為0x9100和0x8100的VLAN標籤,而服務供應商VLAN標籤的已配置TPID值為0x9100且客戶網路的VLAN標籤的TPID值為0x8200,則裝置認為幀僅攜帶服務供應商VLAN標籤,而不攜帶客戶VLAN標籤。
此外,不同供應商的系統可能會將QinQ幀的外部VLAN標籤的TPID設定為不同的值。為了與這些系統相容,您可以修改TPID值,以便QinQ幀在傳送到公共網路時攜帶與特定供應商的值相同的TPID值,以允許與該供應商的裝置互操作。乙太網幀中的TPID與沒有VLAN標籤的幀中的協定型別欄位的位置相同。為了避免網路中的資料包轉發和處理問題,不能將TPID值設定為下表中的任何值:
通訊協定類型 | 價值 |
ARP | 0x0806 |
PUP | 0x0200 |
RARP | 0x8035 |
IP | 0x0800 |
IPv6 | 0x86DD |
PPPoE | 0x8863/0x8864 |
MPLS | 0x8847/0x8848 |
IS-IS | 0x8000 |
LACP | 0x8809 |
802.1x | 0x888E |
QinQ支援功能通常支援任何Cisco IOS功能或協定。例如,如果可以在子介面上運行PPPoE,則可以為PPPoE配置雙標籤幀。IPoQinQ通過轉發具有雙標籤(也稱為堆疊)802.1Q報頭的IP流量,支援對QinQ VLAN標籤終止進行雙標籤的IP資料包。