基于vlan實現報文二層隔離的方法、裝置及交換機的制作方法
【技術領域】
[0001] 本發明涉及網絡通信技術領域,尤其涉及一種基于VLAN實現報文二層隔離的方 法、裝置及交換機。
【背景技術】
[0002] VLAN(VirtualLocalAreaNetwork,虛擬局域網)是對連接到的第二層交換機端 口的網絡用戶的邏輯分段,不受網絡用戶的物理位置限制而根據用戶需求進行網絡分段。 VLAN可以根據網絡用戶的位置、作用、部門或者根據網絡用戶所使用的應用程序和協議來 進行分組。不同的VLAN之間的數據傳輸是通過第三層(網絡層)的路由來實現的,因此使 用VLAN技術,結合數據鏈路層和網絡層的交換設備可搭建安全可靠的網絡。基于VLAN隔 離技術的訪問控制方法在一些中小型企業和校園網中得到廣泛的應用。
[0003] 目前,常用的基于VLAN的隔離技術為:針對屬于同一局域網內的所有用戶,為每 個用戶都分配一個VLAN,被分配不同VLAN的用戶之間的數據傳輸是通過第三層路由方式 來實現的,從而實現VLAN用戶之間的隔離。
[0004] 但是這種VLAN隔離技術會存在以下缺陷:被分配相同VLAN的用戶之間是進 行第二層通信的,這樣同一VLAN的用戶之間進行二層通信,就容易造成ARP(Address ResolutionProtocil,地址解析協議)攻擊、局域網廣播風暴、ARP欺騙等問題。
[0005] 現有技術中,為了防止上述問題的出現,所采用解決方案為:針對同一交換機,如 果該交換機的不同端口被分配了相同VLAN,將該交換機的不同端口之間的相同VLAN進行 隔離(端口隔離),從而使不同端口的VLAN用戶之間的報文不可以進行二層轉發,其中, 為各個用戶分配來自同一端口的VLAN各不相同。這種解決方案雖然能夠使被分配了相同 VLAN的用戶之間的報文不進行二層轉發,從而避免ARP攻擊、局域網廣播風暴、ARP欺騙等 現象,但是這種解決方案會將VLAN限制在某個端口下,S卩,同一交換機不同端口下的所有 VLAN用戶之間的報文都不能進行二層轉發,這就會導致原本需要不同端口之間的具有相同 VLAN且需要進行二層通信的VLAN不能進行二層通信,因此,上述端口隔離的技術方案不能 靈活的確定對哪些VLAN進行二層隔離,不對哪些VLAN進行二層隔離。
【發明內容】
[0006] 本發明提供一種基于虛擬局域網VLAN實現報文二層隔離的方法、裝置及交換機, 用以解決現有技術中不能靈活的確定對VLAN進行二層隔離的問題。
[0007] 一種基于虛擬局域網VLAN實現報文二層隔離的方法,包括:
[0008] 接收并解析報文;
[0009] 確定解析出的報文中攜帶的VLANID為預設VLANID,且,確定所述解析出的報文 的轉發方式為二層轉發方式時,對所述解析出的報文進行二層隔離。
[0010] 所述方法中,確定解析出的報文中攜帶的VLANID為預設VLANID,具體包括:
[0011] 根據預先存儲的VLANID與classid值的對應關系,確定與所述解析出的報文中 攜帶的VLANID對應的classid值;
[0012] 確定與所述解析出的報文中攜帶的VLANID對應的classid值與預先存儲的第 一ACL表項中設定的classid值匹配時,確定解析出的報文中攜帶的VLANID為預設VLAN ID,所述設定的classid值非零。
[0013] 本發明實施例通過預先將VLANID與classid值進行對應,并通過將classid 與ACL表項進行匹配,可以大大節省ACL表項資源。
[0014] 所述方法中,確定所述解析出的報文的轉發方式為二層轉發方式,具體包括:
[0015] 確定所述解析出的報文中的PktResolution字段值與第一ACL表項中設定的Pkt Resolution字段值匹配時,確定所述解析出的報文的轉發方式為二層轉發方式。
[0016] 本發明實施例通過比較報文中的PktResolution字段值與ACL表項中設定的Pkt Resolution字段值是否一致,能夠準確且快速的確定報文的轉發方式。
[0017] 所述方法中,確定所述解析出的報文的轉發方式為二層轉發方式時,對所述解析 出的報文進行二層隔離,具體包括:
[0018] 根據預先存儲的預設VLANID與設定的基于服務的流量控制引擎索引ID的對應 關系,獲取與所述解析出的報文中攜帶的VLANID對應的設定的基于服務的流量控制引擎 索引ID;
[0019] 根據設定的基于服務的流量控制引擎索引ID對應的策略,對所述解析出的報文 進行處理,所述設定的基于服務的流量控制引擎索引ID對應的策略為:確定所述解析出的 報文的轉發方式為二層轉發方式時,對所述解析出的報文進行二層隔離。
[0020] 本發明實施例通過利用基于服務的流量控制引擎索引功能,對報文的轉發方式進 行自動分類,從而提高了確定報文轉發方式的效率。
[0021] 所述方法中,設定的基于服務的流量控制引擎索引ID對應的策略,具體采用如下 方式制定:
[0022] 將設定的基于服務的流量控制引擎索引ID的行為限速為零,且,將設定的基于服 務的流量控制引擎索引ID與二層轉發方式的報文進行匹配。
[0023] 本發明還提供了一種基于虛擬局域網VLAN實現報文二層隔離的裝置,包括:
[0024] 解析單元,用于接收并解析報文;
[0025] 隔離單元,用于確定解析出的報文中攜帶的VLANID為預設VLANID,且,確定所述 解析出的報文的轉發方式為二層轉發方式時,對所述解析出的報文進行二層隔離。
[0026] 所述裝置中,所述隔離單元具體用于:
[0027] 根據預先存儲的VLANID與classid值的對應關系,確定與所述解析出的報文中 攜帶的VLANID對應的classid值;
[0028] 確定與所述解析出的報文中攜帶的VLANID對應的classid值與預先存儲的第 一ACL表項中設定的classid值匹配時,確定解析出的報文中攜帶的VLANID為預設VLAN ID,所述設定的classid值非零。
[0029] 所述裝置中,所述隔離單元具體用于:
[0030] 確定所述解析出的報文中的PktResolution字段值與第一ACL表項中設定的Pkt Resolution字段值匹配時,確定所述解析出的報文的轉發方式為二層轉發方式。
[0031] 所述裝置中,所述隔離單元具體用于:
[0032] 根據預先存儲的預設VLANID與設定的基于服務的流量控制引擎索引ID的對應 關系,獲取與所述預設VLANID對應的設定的基于服務的流量控制引擎索引ID;
[0033] 根據設定的基于服務的流量控制引擎索引ID對應的策略,對所述解析出的報文 進行處理,所述設定的基于服務的流量控制引擎索引ID對應的策略為:確定所述解析出的 報文的轉發方式為二層轉發方式時,對所述解析出的報文進行二層隔離。
[0034] 所述裝置中,所述隔離單元還用于:
[0035] 具體采用如下方式制定設定的基于服務的流量控制引擎索引ID對應的策略:
[0036] 將設定的基于服務的流量控制引擎索引ID的行為限速為零,且,將設定的基于服 務的流量控制引擎索引ID與二層轉發方式的報文進行匹配。
[0037] 本發明還提供一種交換機,包括上述任一所述的基于虛擬局域網VLAN實現報文 二層隔離的裝置。
[0038] 利用本發明提供基于虛擬局域網VLAN實現報文二層隔離的方法、裝置及交換機, 具有以下有益效果:將預設的VLANID設置為二層隔離,則所有來自該預設VLANID的二層 轉發報文都進行二層隔離,而來自其它VLANID的報文按照正常轉發流程進行轉發,從而能 夠靈活的針對來自特定VLANID的報文進行二層隔離,解決了現有技術中的端口隔離方法 所存在的問題。
【附圖說明】
[0039] 圖1為本發明實施例提供的基于VLAN實現報文二層隔離的方法流程圖;
[0040] 圖2為本發明實施例提供的設定class id值添加到報文中的方法流程圖;
[0041] 圖3為本發明實施例提供的報文為二層轉發方式時,對報文進行二層隔離的方式 流程圖;
[0042] 圖4為本發明實施例提供的基于VLAN實現報文二層隔離的裝置示意圖。
【具體實施方式】
[0043] 下面結合附圖和實施例對本發明提供的基于VLAN實現報文二層隔離的方法、裝 置及交換機進行更詳細地說明。
[0044] 本發明實施例提供一種基于VLAN實現報文二層隔離的方法,如圖1所示,包括:
[0045] 步驟101,接收并解析報文。
[0046] 具體的,交換機接收并解析接收到的報文,對報文進行解析后可獲得報文中攜 帶的內容,報文中攜帶的內容包括發送該報文的VLANID(VirtualLocalAreaNetwork Identity,虛擬局域網身份標識號碼)。對報文進行解析的方法為現有方法,這里不再贅述。 ID(id)即身份標識號碼,Identity。
[0047] 步驟102,確定解析出的報文中攜帶的VLANID為預設VLANID,且,確定所述解析 出的報文的轉發方式為二層轉發方式時,對所述報文進行二層隔離。
[0048] 具體的,針對任一解