網(wǎng)絡(luò)裝置與回路檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明提供一種網(wǎng)絡(luò)裝置與回路檢測(cè)及解決方法;特別提供一種非依據(jù)擴(kuò)張樹(shù)協(xié) 議(SpanningTreeProtocol,STP)解決回路問(wèn)題的網(wǎng)絡(luò)裝置與回路檢測(cè)及解決方法。
【背景技術(shù)】
[0002] 以太網(wǎng)(EthernetNetwork)是目前普遍的區(qū)域網(wǎng)絡(luò)(LocalAreaNetwork,LAN) 技術(shù),較大型的區(qū)域網(wǎng)絡(luò)中,在橋接器(bridge),例如交換器(switch)間或其內(nèi)部可能形 成回路(Loop),使封包在回路上不斷被重復(fù)轉(zhuǎn)發(fā),占據(jù)頻寬和裝置資源,例如存儲(chǔ)器,影響 網(wǎng)絡(luò)傳輸效能,與裝置運(yùn)作效能。
[0003] 參閱圖1A與圖1B,為區(qū)域網(wǎng)絡(luò)中兩種回路態(tài)樣。圖1A中,裝置10中的端口 101所 送出的封包14可能會(huì)通過(guò)交換器(圖未顯示)經(jīng)由裝置12送回至裝置10中的端口 101, 造成回路。在圖1B中,裝置10中的端口 101所送出的封包14可能會(huì)通過(guò)交換器(圖未顯 示)經(jīng)由裝置12送回至裝置10中的另一端口 102,造成回路。由圖1A與第圖1B中,由裝 置10所送出的封包14都送回至裝置10,因此對(duì)于裝置10而言,圖1A與圖1B的情況都造 成了回路(loopback)。
[0004] 目前主要通過(guò)IEEE802. 1的擴(kuò)張樹(shù)協(xié)議(SpanningTreeProtocol,STP)解決回 路問(wèn)題,當(dāng)回路發(fā)生時(shí),回路的某些連接(Link)會(huì)被切斷,使端口失去功能以切斷回路。然 而,以硬件實(shí)現(xiàn)擴(kuò)張樹(shù)協(xié)議,所需成本較高。以軟件實(shí)現(xiàn)擴(kuò)張樹(shù)協(xié)議,則裝置或交換器所配 置的運(yùn)算單元也須具備相當(dāng)?shù)某绦蜻\(yùn)算能力。但某些裝置或交換器僅配置無(wú)程序運(yùn)算能力 的特殊應(yīng)用電路(ApplicationSpecifiedIntegratedCircuit,ASIC)來(lái)處理封包,故擴(kuò) 張樹(shù)協(xié)議不完全的適用各式的裝置或交換器。
【發(fā)明內(nèi)容】
[0005] 通過(guò)本發(fā)明的一實(shí)施例,一種回路檢測(cè)的方法,用于一網(wǎng)絡(luò)裝置,包括:通過(guò)一端 口接收一回路檢測(cè)信息框;通過(guò)一回路檢測(cè)模塊檢測(cè)回路檢測(cè)信息框是否由端口所傳送; 以及當(dāng)回路檢測(cè)信息框是由端口所傳送時(shí),通過(guò)回路檢測(cè)模塊分析回路檢測(cè)信息框,以判 斷網(wǎng)絡(luò)裝置是否發(fā)生回路;其中,當(dāng)網(wǎng)絡(luò)裝置發(fā)生回路時(shí),通過(guò)回路檢測(cè)模塊判斷回路是發(fā) 生于端口所加入的一個(gè)或多個(gè)虛擬區(qū)域網(wǎng)絡(luò)中的哪一個(gè);通過(guò)回路檢測(cè)模塊封鎖傳送回路 檢測(cè)信息框的端口所加入的一個(gè)或多個(gè)虛擬區(qū)域網(wǎng)絡(luò)中發(fā)生回路的虛擬區(qū)域網(wǎng)絡(luò),使得端 口不再于發(fā)生回路的虛擬區(qū)域網(wǎng)絡(luò)傳送任何封包;以及當(dāng)網(wǎng)絡(luò)裝置未發(fā)生回路時(shí),回路檢 測(cè)模塊丟棄回路檢測(cè)信息框。
[0006] 在另一實(shí)施例中,上述回路偵測(cè)的方法,其中當(dāng)發(fā)生回路時(shí),還包括:通過(guò)回路偵 測(cè)模塊切斷傳送回路偵測(cè)信息框的端口的傳送與接收。
[0007] 在另一實(shí)施例中,上述回路偵測(cè)的方法還包括:通過(guò)回路偵測(cè)模塊根據(jù)一默認(rèn)時(shí) 間周期產(chǎn)生回路偵測(cè)信息框;以及通過(guò)端口發(fā)送回路偵測(cè)信息框,其中回路偵測(cè)信息框包 括:一來(lái)源地址字段;一虛擬局域網(wǎng)識(shí)別符字段;以及一邏輯端口碼字段,其中通過(guò)回路偵 測(cè)模塊分析回路偵測(cè)信息框的來(lái)源地址字段以及邏輯端口碼字段,以判斷網(wǎng)絡(luò)裝置是否發(fā) 生回路。
[0008] 在另一實(shí)施例中,上述回路偵測(cè)的方法,其中通過(guò)回路偵測(cè)模塊分析回路偵測(cè)信 息框的虛擬局域網(wǎng)識(shí)別符字段,以判斷回路是發(fā)生于端口所加入虛擬局域網(wǎng)中的何者。
[0009] 在另一實(shí)施例中,上述回路偵測(cè)的方法還包括:等待一既定時(shí)間,并且于既定時(shí) 間屆滿后,重新解除已封鎖的虛擬局域網(wǎng)絡(luò)。
[0010] 在另一實(shí)施例中,上述回路偵測(cè)的方法還包括:等待一既定時(shí)間,并且于既定時(shí) 間屆滿后,恢復(fù)端口的傳送與接收。
[0011] 通過(guò)本發(fā)明的另一實(shí)施例,一種網(wǎng)絡(luò)裝置,包括一端口以及一回路檢測(cè)模塊。端口 接收一回路檢測(cè)信息框?;芈窓z測(cè)模塊包含一回路檢測(cè)單元、一信息框分析單元與一處理 單元?;芈窓z測(cè)單元耦接于端口,并檢測(cè)回路檢測(cè)信息框是否由端口所傳送。信息框分析 單元耦接于回路檢測(cè)單元,當(dāng)回路檢測(cè)信息框是由端口所傳送時(shí),信息框分析單元分析回 路檢測(cè)信息框,判斷網(wǎng)絡(luò)裝置是否發(fā)生回路,其中當(dāng)網(wǎng)絡(luò)裝置發(fā)生回路時(shí),判斷回路是發(fā)生 于端口加入的一個(gè)或多個(gè)虛擬區(qū)域網(wǎng)絡(luò)中的哪一個(gè),以及當(dāng)網(wǎng)絡(luò)裝置未發(fā)生回路時(shí),丟棄 回路檢測(cè)信息框。處理單元耦接于端口及信息框分析單元,當(dāng)網(wǎng)絡(luò)裝置發(fā)生回路時(shí),封鎖傳 送回路檢測(cè)信息框的端口所加入的一個(gè)或多個(gè)虛擬區(qū)域網(wǎng)絡(luò)中發(fā)生回路的虛擬區(qū)域網(wǎng)絡(luò), 使得端口不再于發(fā)生回路的虛擬區(qū)域網(wǎng)絡(luò)傳送任何封包。
[0012] 在另一實(shí)施例中,上述網(wǎng)絡(luò)裝置,其中當(dāng)發(fā)生回路時(shí),處理單元還切斷傳送回路偵 測(cè)信息框的端口的傳送與接收。
[0013] 在另一實(shí)施例中,上述網(wǎng)絡(luò)裝置還包括:一檢測(cè)封包產(chǎn)生單元,根據(jù)一默認(rèn)時(shí)間周 期產(chǎn)生回路偵測(cè)信息框,并經(jīng)由端口發(fā)送回路偵測(cè)信息框,以持續(xù)偵測(cè)該網(wǎng)絡(luò)裝置是否發(fā) 生回路;其中回路偵測(cè)信息框至少包括:一來(lái)源地址字段;一邏輯端口碼字段;以及一虛擬 局域網(wǎng)識(shí)別符字段;其中由信息框分析單元分析回路偵測(cè)信息框的來(lái)源地址字段以及邏輯 端口碼字段,以判斷網(wǎng)絡(luò)裝置是否發(fā)生回路。
[0014] 在另一實(shí)施例中,上述網(wǎng)絡(luò)裝置,其中信息框分析單元通過(guò)分析回路偵測(cè)信息框 的虛擬局域網(wǎng)識(shí)別符字段,以判斷回路是發(fā)生于端口所加入虛擬局域網(wǎng)中的何者。
[0015] 在另一實(shí)施例中,上述網(wǎng)絡(luò)裝置,其中處理單元還等待一既定時(shí)間,并且于既定時(shí) 間屆滿后,重新解除已封鎖的虛擬局域網(wǎng)。
[0016] 在另一實(shí)施例中,上述網(wǎng)絡(luò)裝置,其中處理單元還等待一既定時(shí)間,并且于既定時(shí) 間屆滿后,恢復(fù)端口的傳送與接收。
[0017] 因此,本發(fā)明所提供一種網(wǎng)絡(luò)裝置與回路檢測(cè)方法,解決網(wǎng)絡(luò)回路問(wèn)題,實(shí)現(xiàn)非擴(kuò) 張樹(shù)協(xié)議協(xié)定用各式裝置或交換器。判斷網(wǎng)絡(luò)裝置是否發(fā)生回路,其中當(dāng)網(wǎng)絡(luò)裝置發(fā)生回 路時(shí),判斷回路是發(fā)生于端口所加入的一個(gè)或多個(gè)虛擬區(qū)域網(wǎng)絡(luò)中的哪一個(gè),以及當(dāng)網(wǎng)絡(luò) 裝置未發(fā)生回路時(shí),丟棄回路檢測(cè)信息框。處理單元耦接于端口及信息框分析單元,當(dāng)網(wǎng)絡(luò) 裝置發(fā)生回路時(shí),封鎖傳送回路檢測(cè)信息框的的端口所加入的一個(gè)或多個(gè)虛擬區(qū)域網(wǎng)絡(luò)中 發(fā)生回路的虛擬區(qū)域網(wǎng)絡(luò),使得端口不再于發(fā)生回路的虛擬區(qū)域網(wǎng)絡(luò)傳送任何封包。
【附圖說(shuō)明】
[0018] 圖1A~圖1B是顯示于區(qū)域中回路形成的示意圖;
[0019] 圖2是顯示根據(jù)本發(fā)明一實(shí)施例所述的網(wǎng)絡(luò)裝置的功能方塊圖;
[0020] 圖3是顯示根據(jù)本發(fā)明另一實(shí)施例所述的網(wǎng)絡(luò)裝置的功能方塊圖;
[0021] 圖4A~圖4B是顯示根據(jù)本發(fā)明一實(shí)施例的回路檢測(cè)的方法流程圖。
[0022] 其中,附圖標(biāo)記說(shuō)明如下:
[0023] 200網(wǎng)絡(luò)裝置
[0024] 210回路檢測(cè)模塊
[0025] 220回路檢測(cè)單元
[0026] 230信息框分析單元
[0027] 240處理單元
[0028] 250檢測(cè)封包產(chǎn)生單元
[0029] P0、P1、P2、P3 端口
[0030] P0_Tx、Pl_Tx、P2_Tx、P3_Tx信息框傳送單元
[0031] P0_Rx、Pl_Rx、P2_Rx、P3_Rx信息框接收單元
【具體實(shí)施方式】
[0032] 為使本發(fā)明的制造、操作方法、目標(biāo)和優(yōu)點(diǎn)能還明顯易懂,下文特舉幾個(gè)較佳實(shí)施 例,并配合附圖,作詳細(xì)說(shuō)明如下:
[0033] 實(shí)施例:
[0034] 圖2是本發(fā)明一實(shí)施例的網(wǎng)絡(luò)裝置200的功能方塊圖。網(wǎng)絡(luò)裝置200可為有線/ 無(wú)線的交換器(Switch)、路由器、存取點(diǎn)(AccessPoint,AP)等橋接器(bridge),或其他具 有數(shù)據(jù)封包傳遞功能的網(wǎng)絡(luò)裝置,本發(fā)明不以此為限。網(wǎng)絡(luò)裝置200包括一回路檢測(cè)模塊 210與多個(gè)端口P0、P1、P2、P3。其中,回路檢測(cè)模塊210還包括一回路檢測(cè)單元220、一信 息框分析單元230、一處理單元240,以及一檢測(cè)封包產(chǎn)生單元250。而多個(gè)端口P0、P1、P2、 P3等分別包括信息框接收單元Rx以及信息框傳送單元Tx。多個(gè)端口P0、PI、P2、P3等分 別相耦接于回路檢測(cè)單元220與處理單元240,而信息框分析單元230耦接于回路檢測(cè)單元 220、處理單元240及檢測(cè)封包產(chǎn)生單元250。必須注意的是,本發(fā)明并不限制端口的數(shù)量, 單一端口也可用于此網(wǎng)絡(luò)裝置200,且回路不僅發(fā)生于數(shù)網(wǎng)絡(luò)裝置間,也可能發(fā)生于單一網(wǎng) 絡(luò)裝置的各端口間。
[0035] 本實(shí)施例的回路檢測(cè)模塊210于媒體訪問(wèn)控制層(MediumAccessControl, MAC)以硬件方式實(shí)現(xiàn)時(shí),可以是一具有運(yùn)算能力的中央運(yùn)算單元,如微處理器、微控器 (microcontroll