TWI424713B - 迴圈偵測方法及應用其之網路裝置 - Google Patents

迴圈偵測方法及應用其之網路裝置 Download PDF

Info

Publication number
TWI424713B
TWI424713B TW98141262A TW98141262A TWI424713B TW I424713 B TWI424713 B TW I424713B TW 98141262 A TW98141262 A TW 98141262A TW 98141262 A TW98141262 A TW 98141262A TW I424713 B TWI424713 B TW I424713B
Authority
TW
Taiwan
Prior art keywords
loop
packet
state
network device
unit
Prior art date
Application number
TW98141262A
Other languages
English (en)
Other versions
TW201121264A (en
Inventor
Yao Yu Hsieh
Jung You Feng
Mu Jung Hsu
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to TW98141262A priority Critical patent/TWI424713B/zh
Priority to US12/959,009 priority patent/US8792362B2/en
Publication of TW201121264A publication Critical patent/TW201121264A/zh
Application granted granted Critical
Publication of TWI424713B publication Critical patent/TWI424713B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Description

迴圈偵測方法及應用其之網路裝置
本發明是有關於一種迴圈(loop)偵測方法及應用其之網路裝置,其判斷是否發生來源位址(source address)變動(moving)事件而判斷迴圈是否存在。
乙太網路(Ethernet network)是目前最廣為使用的區域網路(Local Area Network)技術,用以連接個人電腦以及區域網路。在乙太網路中,資料傳輸的基本單位是封包(packet)。Switch(交換器)是目前在區域網路中被廣泛使用的橋接器(bridge),其他橋接器比如為router(路由器)等。
交換器會包括多個埠(port),這些埠會連接至個人電腦、筆記型電腦或其他橋接器。當交換器的某一埠收到封包後,交換器會根據此封包中的目的位址(destination address)來選擇適當的目的埠,將封包轉送到此目的埠。
不具網路管理功能的低階交換器不一定配有負責程式運算的中央運算單元(CPU)。當低階交換器不具備CPU時,由無程式運算能力的特殊應用電路(Application Specified Integrated Circuit,ASIC)來處理封包。因此,此類低階交換器不適合於過於複雜的通訊協定,但其價格較低廉。
廣播(broadcast)是乙太網路傳輸方式的一種。當封包帶有特別的目的位址時,此封包會被視為是廣播封包。當交換器收到廣播封包時,其會將此廣播封包傳送到各個埠去。在較大型的區域網路裡,兩個或以上的橋接器之間可能會形成迴圈(loop),他們之間有可能存在兩條以上的路徑。廣播封包可能會在迴圈上不斷地被重覆地轉發,佔據網路頻寬和網路裝置的資源,造成網路的效能下降。
詳細地說,當網路中存在迴圈時,會造成封包無限制地在此迴圈傳輸,大大地低降了傳輸效率。封包在交換器中會佔據固定記憶體空間。在正常情況下,當封包被送出後,交換器就可以釋放出這個封包所佔的記憶體空間。但在迴圈存在的情況下,在送出一個封包後,交換器可能馬上會收到剛剛送出的封包並將之存放於記憶體內,造成記憶體空間的浪費。當迴路中存在封包數量不少時,甚至可能會耗盡交換器中所有可用的記憶體,造成封包流失以及網路停擺。
請參閱第1A圖與第1B圖,其顯示形成於區域網路中的兩種迴圈的示意圖。在第1A圖中,個人電腦105與115透過交換器110與120而彼此傳送封包。由第1A圖可看出,由交換器110送出的封包可能會再被交換器130送回至交換器110,造成迴圈。
在第1B圖中,個人電腦105與115透過交換器110、120與130而彼此傳送封包。由第1B圖可看出,由交換器110送出的封包可能會再被交換器130及140送回至交換器110,造成迴圈。第1B圖所顯示的迴圈亦可稱為自迴圈(self-loop)。
目前已有數種技術試著解決迴圈所造成問題。第一種技術乃是符合IEEE 802.1的Spanning Tree Protocol(擴張樹協定)。依此協定,當有迴圈存在時,迴圈上的某些連接(link)會被切斷(比如,將交換器的埠失能,以切斷連接),以切斷迴圈。然而,若以硬體來支援擴張樹協定,成本較高。若以軟體來支援擴張樹協定,則交換器需要CPU。但是低階交換器不一定有CPU,因此擴張樹協定並不完全適合低階交換器。
第二種技術則是將擴張樹協定簡化,硬體電路成本較低。其也是將交換器的埠失能,以移除迴圈。但是,當迴圈被切斷後,第二種技術無法將原先被失能的埠恢復。這將造成區域網路被切斷而無法讓區域網路的裝置順利傳輸。
本發明實施例提出一個低成本迴圈偵測方法,其能應用於低階或中高階的網路裝置。
本發明係有關於一種低成本迴圈偵測方法與應用其之網路裝置。當來源位址(source address)變動(move)時,其會檢查是否收到本身所發出的迴圈偵測封包,以判斷迴圈是否存在。
本發明係有關於一種低成本迴圈偵測方法與應用其之網路裝置,在檢查迴圈偵測封包時,其會隨機產生辨別碼。因此使用者不一定要手動指定辨別碼,降低製造商或網路管理者的不便。
本發明係有關於一種低成本迴圈偵測方法與應用其之網路裝置。當出現迴圈時,網路裝置可藉由特殊警示方式來警告使用者。當迴圈消失時,網路裝置能解除迴圈警示狀態。
根據本發明之一例,提出一種網路裝置,包括:一位址變動偵測單元,偵測該網路裝置所接收之一第一封包中之一位址欄位是否發生變動;一迴圈偵測封包產生單元,當該位址變動偵測單元偵測到該位址欄位變動時,產生一迴圈偵測封包;一封包分析單元,分析該網路裝置所接收的一第二封包,以擷取出一資訊;以及一迴圈決定單元,耦接至該封包分析單元,依據該資訊判斷該第二封包是否為該迴圈偵測封包,以決定該網路裝置是否有迴圈。
根據本發明之另一例,提出一種網路裝置的迴圈偵測方法,包括:偵測該網路裝置所接收之一第一封包中之一位址欄位是否發生變動;當偵測到該位址欄位變動時,產生一迴圈偵測封包:分析該網路裝置所接收的一第二封包,以擷取出一資訊;以及依據該資訊判斷該第二封包是否為該迴圈偵測封包,以決定該網路裝置是否有迴圈。
為讓本發明之上述內容能更明顯易懂,下文特舉實施例,並配合所附圖式,作詳細說明如下:
第2圖顯示根據本發明實施例之網路裝置的功能方塊圖。網路裝置比如為有線/無線的交換器、路由器、存取點(access point)等橋接器(bridge)。如第2圖所示,網路裝置200至少包括:迴圈偵測模組210、警示單元250。迴圈偵測模組210至少包括:來源位址變動偵測單元211、對應表(LUT,LookUp Table)211A、操作狀態單元213、迴圈決定單元215、封包分析單元(packet parser unit)217、迴圈偵測封包產生單元219、隨機碼產生單元221、指示單元223、封包接收單元225_1~225_N與封包傳送單元227_1~227_N。
當迴圈偵測模組210以硬體方式實施時,其可位於MAC層(Medium Access Control Layer,媒體存取控制層)。此外,如果網路裝置配備具有運算能力的CPU時,則來源位址變動偵測單元211、操作狀態單元213、迴圈決定單元215、封包分析單元217、迴圈偵測封包產生單元219與隨機碼產生單元221的功能可以軟體方式實施,亦這些單元213、215、217與221可由CPU來執行。
網路封包至少包括來源位址(source address,SA)及目的位址(destination address,DA)。對應表211A記錄來源位址與來源埠(source port)間的對應關係,來源埠是指網路裝置的封包接收埠。以第1A圖為例,假設由個人電腦105傳送給交換器110的封包中的來源位址為SA1;而個人電腦105連接至交換器110的埠1,則對應表211A會記錄SA1與埠1間的關係。亦即,在正常情況下(無迴圈存在時),來源位址SA1的封包(其應該是由個人電腦110所發出)應當是經由埠1接收到。
然而,至少有兩種情況會使得SA與來源埠間的對應關係發生變動(亦即此對應關係不同於對應表211A)。第一種情況乃是,使用者將個人電腦105連接至網路裝置的另一埠(但並無迴圈存在);第二種情況則是,迴圈存在。當SA與來源埠間的對應關係發生變動時,本發明實施例的網路裝置可藉由後續流程來確認到底是第一種情況還是第二種情況發生。如果是第一種情況發生,則網路裝置並不會通知使用者有異常情況。但如果是第二種情況發生,則網路裝置會通知使用者有異常情況,讓使用者排除迴圈;而且當迴圈已排除時,網路裝置的警示狀態會自動消失,不須使用者手動。
來源位址變動偵測單元211持續地偵測所接收到的封包中的SA與來源埠間的對應關係,並將之比對於對應表211A,以偵測網路裝置所接收之封包中之SA是否發生變動。如果封包的SA與來源埠間的對應關係不同於對應表211A,則視為已產生來源位址變動事件,來源位址變動偵測單元211須通知操作狀態單元213,以確認是否有迴圈存在。
操作狀態單元213乃是狀態機(state machine)。操作狀態單元213會記錄網路裝置的目前操作狀態,此操作狀態包括至少一正常狀態、一檢查狀態與一迴圈狀態。第3圖顯示根據本發明實施例的網路裝置中的操作狀態單元213的狀態圖。如第3圖所示,在初始情況下,操作狀態單元213為正常狀態,這表示沒有SA變動及迴圈存在。
由於使用者可能會將個人電腦連接至網路裝置的另一埠電腦而造成SA變動(但是,並無迴圈存在)。故而,當來源位址變動偵測單元211告知有SA變動事件時,操作狀態單元213會進入到檢查狀態。
在檢查狀態下,本發明實施例的網路裝置會檢查各埠是否真正有迴圈存在,如何檢查是否真正有迴圈存在將於底下說明之。如果至少有一埠有迴圈存在,則操作狀態單元213會進入迴圈狀態。如果各埠皆無迴圈存在,則回到正常狀態。
在迴圈狀態下,網路裝置200會持續確認迴圈是否存在;如果迴圈存在,則網路裝置200會通知使用者。當各埠皆回報無迴圈存在時,則操作狀態單元213從迴圈狀態回到正常狀態;如果至少有一埠仍持續回報有迴圈存在,則操作狀態單元213維持於迴圈狀態。
請參考第4圖,其顯示根據本發明實施例之網路裝置如何確認是否有迴圈存在之流程圖。當操作狀態單元213處於檢查狀態或迴圈狀態時,其會執行第4圖的步驟。
如步驟410所示,先設定參數i的初始值。參數i代表所發出的迴圈偵測封包的次數。接著,網路裝置200會發送出迴圈偵測封包給區域網路中的其他網路裝置,如步驟420所示。
接著,網路裝置200會判斷是否收到由其本身所發出的迴圈偵測封包,如步驟430所示。如何判斷此迴圈偵測封包是否由本身所發出將於底下描述之。如果收到由其本身所發出的迴圈偵測封包,假設是埠a收到,則回報在埠a有迴圈(there is a loop on port a),如步驟470所示;而且操作狀態單元213要從檢查狀態進入到迴圈狀態,或者操作狀態單元213要維持於迴圈狀態。
在本實施例中,可以等時間間隔過了之後,才發出下一個迴圈偵測封包。所以,在步驟440中,判斷此時間間隔是否已過。如果已過,則將參數i加1,如步驟450所示;如果時間間隔尚未過,則流程回至步驟430,判斷是否接收到本身所發出的迴圈偵測封包。
在步驟450之後,判斷參數i是否達最大值,如步驟460所示。如果參數i已達最大值,代表在發出特定次數的迴圈偵測封包後,網路裝置都沒有接收到本身所發出的迴圈偵測封包,此時可視為網路裝置並無迴圈存在(也就是說,來源位址變動事件可能是因為使用者將個人電腦105連接至網路裝置的另一埠所導致),所以,在步驟480中,回報並無迴圈存在。
另一方面,如果參數i尚未達最大值,則流程回至步驟420,以繼續判斷是否收到本身所發出的迴圈偵測封包。
在檢查狀態或迴圈狀態下,如果在送完特定次數的迴圈偵測封包後若都沒有收到任何一個本地端發出的迴圈偵測封包,表示迴圈並不存在,操作狀態單元213會回到正常狀態。若收到本地端所發出的迴圈偵測封包,表示存在迴圈,操作狀態單元213會從檢查狀態進入至迴圈狀態或持續維持於迴圈狀態。在迴圈狀態下,於指示單元223的控制下,網路裝置200的警示單元250會發出警示訊號(如蜂鳴器的聲音或LED的特殊閃爍方式),來告知使用者目前存在迴圈;或者,指示單元223會發出中斷信號給CPU,來告知CPU目前存在迴圈。
在迴圈狀態下,網路裝置執行第4圖的步驟,以確認迴圈是否已解除。如果迴圈已解除,則操作狀態單元213會回到正常狀態;如果迴圈尚未解除,則操作狀態單元213會維持於迴圈狀態。在第4圖中,時間間隔與i的最大值(發送封包的最大次數)都是可以由使用者改變/設定。
在檢查狀態或迴圈狀態下,網路裝置200會發出迴圈偵測封包(loop detection packet)。迴圈決定單元215會決定是否有迴圈存在。細言之,迴圈決定單元215會辨認所接收到迴圈偵測封包是否為本地端(網路裝置200)所發出,以決定是否有迴圈存在。如果發生這種情況,則視為有迴圈存在,則必須回報此情況(並記錄收到此迴圈偵測封包的埠與發出此迴圈偵測封包的埠)。另一方面,如果所接收到的迴圈偵測封包不是本地端所發出,則迴圈決定單元215將所接收到的此迴圈偵測封包傳送至由使用者所決定的埠遮罩(port mask)。
當操作狀態單元213收到SA變動事件時,操作狀態單元213會通知迴圈偵測封包產生單元219,以產生迴圈偵測封包。在本實施例中,迴圈偵測封包會包括下列欄位:(a)目的位址欄位、(b)來源位址欄位、(c)類型欄位、(d)協定ID欄位(Protocol ID field)、(e)隨機ID欄位(random ID field)、(f)使用者設定ID欄位、(g)埠碼欄位(Port Number field)、(h)保留碼欄位與(i)錯誤檢查欄位。
(a)目的位址欄位:記錄封包的目的位址,其長度為6個位址組(byte)。如果每個byte的值為0xFF時,則代表此迴圈偵測封包是廣播封包(broadcast packet)。另一方面,使用者也可以自行設定目的位址欄位的值,以決定要將迴圈偵測封包送至哪些埠。
(b)來源位址欄位:記錄迴圈偵測封包的來源位址,其長度為6個位址組,其格式為MAC位址。
(c)類型欄位:表示封包的類型,其長度為2個位址組,其值由網路裝置200的製造商所設定。
(d)協定ID欄位:其長度1個位元組。其預定值為0x23。這個欄位是識別封包是否為是迴圈偵測封包的依據。也就是,當此欄位不是此預定值時,則此封包並非迴圈偵測封包;反之亦然。
(e)隨機ID欄位:其長度為6個組元組,其代表隨機產生的網路裝置辨別碼。在每次操作狀態單元213進入檢查狀態時,此欄位的值由隨機碼產生單元221所產生。當處於檢查狀態及迴圈狀態下,此隨機辨別碼保持不變。根據這個欄位,網路裝置200的迴圈決定單元215能識別迴圈偵測封包是否為自己發出。由於隨機ID欄位是隨機碼(由隨機碼產生單元221所產生),所以各網路裝置所產生的迴圈偵測封包中的隨機ID欄位應該是不同的(或者說,相同的機率極低)。如果所接收到的迴圈偵測封包中的隨機ID欄位符合於本身的隨機碼,則可以判斷這個迴圈偵測封包是自己發出(亦即有迴圈存在)。
(f)使用者設定ID欄位:其長度為6個位元組,其代表由使用者所設定的網路裝置辨別碼。不同網路裝置所隨機產生的隨機ID欄位仍有可能會相同(雖然其機率甚低),故而,為避免此情況且更進一步確定判斷迴圈偵測封包是否自己所發出,在本實施例,比對所接收到的迴圈偵測封包中的使用者設定ID欄位是否相同於使用者所設定的值。如果相同,則可以確認判斷迴圈偵測封包是自己所發出。
(g)埠碼欄位:表示發出迴圈偵測封包的埠碼。以第1A圖為例,假設交換器110的埠1連接至交換器120;而交換器110的埠3連接至交換器130。如果交換器110判斷由交換器130所傳來的迴圈偵測封包為其本身所發出(且迴圈偵測封包的埠碼欄位為1),則代表交換器110的埠1與埠3之間形成迴圈。以第1B圖為例,假設交換器110的埠1連接至交換器120。如果交換器110的埠1判斷由交換器120所傳來的迴圈偵測封包為其本身所發出(且其埠碼欄位為1),則代表交換器110的埠1已形成自迴圈(self-loop)。
(h)保留碼欄位:長度為32位元組,其值可全為0。
(i)錯誤檢查欄位:用於封包的錯誤檢查(error check)。
回應於操作狀態單元213每次進入檢查狀態,隨機碼產生單元221會產生隨機碼(其長度也為6位元組)。此隨機碼會被加入至於迴圈偵測封包中,以令網路裝置辨別所接到的迴圈偵測封包是否是由自己發出。這個隨機碼在檢查狀態與迴圈狀態中不會改變。
在網路裝置收到封包後,封包分析單元217根據協定ID欄位的值而判斷這個封包是否是為迴圈偵測封包。如果是的話,則封包分析單元217會將所需內容由迴圈偵測封包中擷取出來,並傳送給迴圈決定單元215。迴圈決定單元215會將網路裝置200的隨機ID碼(由隨機碼產生單元221所產生並暫存)與使用者設定ID(由使用者所設定)比較於封包分析單元217從迴圈偵測封包所擷取出的隨機ID欄位與使用者設定ID欄位,以判斷所接收到的迴圈偵測封包是否是自己發出的。然而,在判斷所接收到的迴圈偵測封包是否是自己發出時,迴圈決定單元215亦可只將網路裝置200的使用者設定ID比較從迴圈偵測封包所擷取出的使用者設定ID欄位;或者,迴圈決定單元215亦可只將網路裝置200的隨機ID比較從迴圈偵測封包所擷取出的隨機ID欄位。當比對符合(代表有迴圈存在)時,迴圈決定單元215會通知操作狀態單元213。
當操作狀態單元213處於迴圈狀態,指示單元223會根據迴圈偵測封包中的埠碼欄位,以及收到這個迴圈偵測封包的埠碼而進行以下動作:(a)控制網路裝置上的發光二極體(LED)以特殊方式閃爍,以告知使用者哪些埠有迴圈存在;或者,(b)觸發蜂鳴器(buzzer),以告知使用者哪些埠有迴圈存在;或者(c)發出中斷信號給CPU(未顯示於第2圖中),由於已經存在迴圈的埠已經記錄於暫存器中(未顯示於第2圖中),CPU可以對存在迴圈的那些埠進行相對應處理。指示單元223與蜂鳴器或LED間的信號為通用輸入/輸出號(General Purpose I/O,GPIO)。
封包接收單元225_1~225_N與封包傳送單元227_1~227_N乃是耦接至網路裝置的實體層(physical layer)。由迴圈偵測封包產生單元219所產生的迴圈偵測封包會透過封包傳送單元227_1~227_N而送至實體層,以送至其他網路裝置。另一方面,由實體層所收到的封包(來自其他網路裝置)則透過封包接收單元225_1~225_N而送至封包分析單元217。封包接收單元225_1~225_N與封包分析單元217之間的匯流排可為高速匯流排,以高速傳輸封包。迴圈偵測封包產生單元219與封包傳送單元227_1~227_N之間的匯流排可為高速匯流排,以高速傳輸封包。
現將說明本實施例如何偵測迴圈之存在。首先,當來源位址變動偵測單元211偵測到來源位址變動事件時,其會通知操作狀態單元213,回應於此,操作狀態單元213會由正常狀態進入檢查狀態。
當操作狀態單元213進入檢查狀態後,操作狀態單元213會通知迴圈偵測封包產生單元219以產生迴圈偵測封包;而且,操作狀態單元213會通知隨機碼產生單元221以產生隨機碼,此隨機碼會加入於迴圈偵測封包中。所產生的迴圈偵測封包會經由封包傳送單元227_1~227_N而傳送至同一區域網路內的其他網路裝置。接著,當網路裝置200接收到同一區域網路內的其他網路裝置所傳來的封包時,此封包會經由封包接收單元225_1~225_N而傳送至封包分析單元217。當封包分析單元217分析接收到的封包的格式符合迴圈偵測封包格式時,其會將從接收到的封包內擷取出隨機ID欄位與使用者設定ID欄位,並傳送給迴圈偵測封包產生單元219。據此,迴圈偵測封包產生單元219會判斷所接收到的封包是否為網路裝置200本身所發出。如果是的話,則迴圈偵測封包產生單元219會告知操作狀態單元213,而操作狀態單元213會由檢查狀態進入到迴圈狀態。然而,如果在網路裝置200發出既定次數的迴圈偵測封包後,網路裝置200的各埠都沒有接收到本身所發出的迴圈偵測封包,則操作狀態單元213會由檢查狀態回到正常狀態(這代表,先前來源位址變動偵測單元211所偵測到的來源位址變動事件可能是起因於使用者將個人電腦連接至網路裝置200的另一埠)。
在迴圈狀態下,操作狀態單元213會執行第4圖的流程(此時,網路裝置200仍要發送迴圈偵測封包給其他網路裝置)。直到操作狀態單元213確認各埠都沒有迴圈存在(在網路裝置200發出既定次數的迴圈偵測封包後,網路裝置200的各埠都沒有接收到本身所發出的迴圈偵測封包),操作狀態單元213會由迴圈狀態回到正常狀態。
綜上所述,本發明上述實施例所揭露之網路裝置及其迴圈偵測方法,具有多項優點,以下僅列舉部分優點說明如下:
(1)本實施例的電路複雜度並不高,適用於所有網路裝置,不論其是否具有CPU。
(2)本實施例在檢查迴圈偵測封包時,會隨機產生辨別碼。因此使用者不一定要手動指定辨別碼,降低製造商或網路管理者的不便。
(3)當來源位址變動時,本實施例會檢查是否收到本身所發出的迴圈偵測封包,以判斷迴圈是否存在。如此,降低誤動作的發生機率,避免影響網路效能。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
105與115...個人電腦
110、120、130、140...交換器
200...網路裝置
210...迴圈偵測模組
211...來源位址變動偵測單元
211A...對應表
213...操作狀態單元
215...迴圈決定單元
217...封包分析單元
219...迴圈偵測封包產生單元
221...隨機碼產生單元
223...指示單元
225_1~225_N...封包接收單元
227_1~227_N...封包傳送單元
250...警示單元
410~480...步驟
第1A圖與第1B圖顯示形成於區域網路中的兩種迴圈的示意圖。
第2圖顯示根據本發明實施例之網路裝置的功能方塊圖。
第3圖顯示根據本發明實施例的網路裝置中的操作狀態單元的狀態圖。
第4圖顯示根據本發明實施例之網路裝置如何確認是否有迴圈存在之流程圖。
200...網路裝置
210...迴圈偵測模組
211...來源位址變動偵測單元
211A...對應表
213...操作狀態單元
215...迴圈決定單元
217...封包分析單元
219...迴圈偵測封包產生單元
221...隨機碼產生單元
223...指示單元
225_1~225_N...封包接收單元
227_1~227_N...封包傳送單元
250...警示單元

Claims (28)

  1. 一種網路裝置,包括:一位址變動偵測單元,偵測該網路裝置所接收之一第一封包中之一位址欄位是否發生變動;一迴圈偵測封包產生單元,當該位址變動偵測單元偵測到該位址欄位變動時,產生一迴圈偵測封包;一封包分析單元,分析該網路裝置所接收的一第二封包,以擷取出一資訊;以及一迴圈決定單元,耦接至該封包分析單元,依據該資訊判斷該第二封包是否為該迴圈偵測封包,以決定該網路裝置是否有迴圈。
  2. 如申請專利範圍第1項所述之網路裝置,其中,該位址欄位為一來源位址(Source Adderss)欄位。
  3. 如申請專利範圍第1項所述之網路裝置,其中,該位址變動偵測單元依據一對應表,判斷該位址欄位是否發生變動。
  4. 如申請專利範圍第1項所述之網路裝置,更包含:一操作狀態單元,耦接至該位址變動偵測單元,紀錄該網路裝置目前之一操作狀態,該操作狀態包含至少一正常狀態、一檢查狀態與一迴圈狀態。
  5. 如申請專利範圍第4項所述之網路裝置,其中,當該位址變動偵測單元偵測到該位址欄位變動時,該操作狀態單元被設定為檢查狀態,且該迴圈偵測封包產生單元產生該迴圈偵測封包。
  6. 如申請專利範圍第4項所述之網路裝置,其中,當該操作狀態為該檢查狀態時,該封包分析單元與該迴圈決定單元檢查該網路裝置的各埠是否有迴圈存在;以及如果至少有一埠有迴圈存在,則該操作狀態單元由該檢查狀態進入該迴圈狀態。
  7. 如申請專利範圍第6項所述之網路裝置,其中,當該操作狀態為該迴圈狀態時,該迴圈決定單元持續確認迴圈是否仍存在;以及如果迴圈存在,則該網路裝置發出一警示訊號。
  8. 如申請專利範圍第7項所述之網路裝置,其中,當該操作狀態為該迴圈狀態時,如果該網路裝置未接收到本身所發出的該迴圈偵測封包,則該操作狀態單元由該迴圈狀態回到該正常狀態。
  9. 如申請專利範圍第4項所述之網路裝置,其中,當該操作狀態為該檢查狀態時,在該迴圈偵測封包產生單元送出一預定次數的該迴圈偵測封包後,如果該網路裝置未接收到本身所發出的該迴圈偵測封包,則該操作狀態單元由該檢查狀態回到該正常狀態。
  10. 如申請專利範圍第1項所述之網路裝置,更包括:一隨機碼產生單元,產生一隨機辨別碼。
  11. 如申請專利範圍第10項所述之網路裝置,其中,該資訊為該第二封包中的一協定辨別碼欄位,以決定該第二封包之格式是否符合於一迴圈偵測封包格式;以及當該第二封包之格式符合於該迴圈偵測封包格式時,該迴圈決定單元比對該隨機辨別碼與該第二封包中的一第一辨別欄位,以判斷是否發生迴圈。
  12. 如申請專利範圍第11項所述之網路裝置,其中,該迴圈決定單元更比對一使用者設定辨別碼與該第二封包中的一第二辨別欄位,以判斷是否發生迴圈。
  13. 如申請專利範圍第1項所述之網路裝置,其中,當迴圈發生時,該網路裝置發出一警示訊號。
  14. 如申請專利範圍第1項所述之網路裝置,其中,當迴圈發生時,該網路裝置中之一指示單元發出一中斷信號。
  15. 一種網路裝置的迴圈偵測方法,包括:偵測該網路裝置所接收之一第一封包中之一位址欄位是否發生變動;當偵測到該位址欄位變動時,產生一迴圈偵測封包;分析該網路裝置所接收的一第二封包,以擷取出一資訊;以及依據該資訊判斷該第二封包是否為該迴圈偵測封包,以決定該網路裝置是否有迴圈。
  16. 如申請專利範圍第15項所述之方法,其中,該位址欄位為一來源位址(Source Adderss)欄位。
  17. 如申請專利範圍第15項所述之方法,更包含:依據一對應表,判斷該位址欄位是否發生變動。
  18. 如申請專利範圍第15項所述之方法,更包含:紀錄該網路裝置目前之一操作狀態,該操作狀態包含至少一正常狀態、一檢查狀態與一迴圈狀態。
  19. 如申請專利範圍第18項所述之方法,其中,當偵測到該位址欄位變動時,該操作狀態被設定為檢查狀態,且產生該迴圈偵測封包。
  20. 如申請專利範圍第18項所述之方法,其中,當該操作狀態為該檢查狀態時,檢查該網路裝置的各埠是否有迴圈存在;以及如果至少有一埠有迴圈存在,則該操作狀態由該檢查狀態進入該迴圈狀態。
  21. 如申請專利範圍第20項所述之方法,其中,當該操作狀態為該迴圈狀態時,持續確認迴圈是否仍存在;以及如果迴圈存在,則發出一警示訊號。
  22. 如申請專利範圍第18項所述之方法,其中,當該操作狀態為該檢查狀態時,送出一預定次數的該迴圈偵測封包後,如果該網路裝置未接收到本身所發出的該迴圈偵測封包,則該操作狀態由該檢查狀態回到該正常狀態。
  23. 如申請專利範圍第18項所述之方法,其中,當該操作狀態為該檢查狀態時,在送出一預定次數的該迴圈偵測封包後,如果該網路裝置未接收到本身所發出的該迴圈偵測封包,則該操作狀態由該檢查狀態回到該正常狀態。
  24. 如申請專利範圍第18項所述之方法,更包含:產生一隨機辨別碼。
  25. 如申請專利範圍第23項所述之方法,其中,該資訊為該第二封包中的一協定辨別碼欄位,以決定該第二封包之格式是否符合於一迴圈偵測封包格式;以及當該第二封包之格式符合於該迴圈偵測封包格式時,比對該隨機辨別碼與該第二封包中的一第一辨別欄位,以判斷是否發生迴圈。
  26. 如申請專利範圍第25項所述之方法,更包含:比對一使用者設定辨別碼與該第二封包中的一第二辨別欄位,以判斷是否發生迴圈。
  27. 如申請專利範圍第15項所述之方法,更包含:當迴圈發生時,發出一警示訊號。
  28. 如申請專利範圍第15項所述之方法,更包含:當迴圈發生時,發出一中斷信號。
TW98141262A 2009-12-02 2009-12-02 迴圈偵測方法及應用其之網路裝置 TWI424713B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW98141262A TWI424713B (zh) 2009-12-02 2009-12-02 迴圈偵測方法及應用其之網路裝置
US12/959,009 US8792362B2 (en) 2009-12-02 2010-12-02 Loop detection method and network device applying the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW98141262A TWI424713B (zh) 2009-12-02 2009-12-02 迴圈偵測方法及應用其之網路裝置

Publications (2)

Publication Number Publication Date
TW201121264A TW201121264A (en) 2011-06-16
TWI424713B true TWI424713B (zh) 2014-01-21

Family

ID=44068844

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98141262A TWI424713B (zh) 2009-12-02 2009-12-02 迴圈偵測方法及應用其之網路裝置

Country Status (2)

Country Link
US (1) US8792362B2 (zh)
TW (1) TWI424713B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5354392B2 (ja) * 2009-02-02 2013-11-27 日本電気株式会社 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
WO2013082819A1 (zh) * 2011-12-09 2013-06-13 华为技术有限公司 一种二层网络环路处理的方法、装置及网络设备
US8982711B2 (en) 2012-04-20 2015-03-17 Allied Telesis Holdings Kabushiki Kaisha Self-healing communications network
TW201431320A (zh) * 2013-01-24 2014-08-01 Accton Technology Corp 迴路偵測的方法及網路裝置
JP6214378B2 (ja) * 2013-12-16 2017-10-18 三菱電線工業株式会社 スイッチ装置及びネットワークシステム
JP2016116029A (ja) * 2014-12-12 2016-06-23 富士通株式会社 ネットワーク監視方法、中継装置、および、ネットワーク監視システム
CN105656897B (zh) * 2016-01-05 2018-07-31 大连民族大学 检测端口环路的方法和装置及防止端口环路检测报文攻击的方法
CN106789625B (zh) * 2016-12-26 2021-02-23 北京华为数字技术有限公司 一种环路检测方法及装置
US11283704B2 (en) * 2020-01-16 2022-03-22 Cisco Technology, Inc. Diagnosing and resolving issues in a network using probe packets
JP2022055603A (ja) * 2020-09-29 2022-04-08 富士通株式会社 検査装置、パケット処理装置、検査システム、及び検査方法
CN114546498A (zh) * 2021-12-31 2022-05-27 广州芯德通信科技股份有限公司 一种基于光端机启动异常和处理方法、系统及平台

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285499A1 (en) * 2005-06-17 2006-12-21 Broadcom Corporation Loop detection for a network device
US20070253346A1 (en) * 2006-05-01 2007-11-01 Cisco Technology, Inc. Detection of potential forwarding loops in bridged networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857027B1 (en) * 2000-11-14 2005-02-15 3Com Corporation Intelligent network topology and configuration verification using a method of loop detection
JP3947146B2 (ja) * 2003-09-18 2007-07-18 富士通株式会社 ルーティングループ検出プログラム及びルーティングループ検出方法
US20050076140A1 (en) * 2003-09-24 2005-04-07 Hei Tao Fung [topology loop detection mechanism]
US7515530B2 (en) * 2004-03-25 2009-04-07 Alcatel-Lucent Usa Inc. Detecting loops between network devices by monitoring MAC moves
JP4397292B2 (ja) * 2004-07-09 2010-01-13 富士通株式会社 制御パケットループ防止方法及びそれを用いたブリッジ装置
JP4667849B2 (ja) * 2004-12-13 2011-04-13 富士通株式会社 ループ検出方法及び装置
US7881207B2 (en) * 2005-11-10 2011-02-01 Futurewei Technologies, Inc. Method and system for loop-back and continue in packet-based network
US7701862B2 (en) * 2005-11-25 2010-04-20 Cisco Technology, Inc. Method and system for PHY loop detection
CN101005412A (zh) 2007-01-29 2007-07-25 中兴通讯股份有限公司 一种防止端口环路检测报文攻击的实现方法及系统
EP1968272A1 (en) * 2007-03-05 2008-09-10 Matsushita Electric Industrial Co., Ltd. Loop detection for mobile IP home agents
JP2008278337A (ja) * 2007-05-01 2008-11-13 Brother Ind Ltd 情報配信システム、同システムに用いる端末装置及びプログラム、並びに循環接続回避方法
CN101316197B (zh) 2007-05-28 2012-05-30 中国电信股份有限公司 Mstp设备以太网端口环回检测方法和设备
US8018872B2 (en) * 2007-07-27 2011-09-13 General Instrument Corporation Method and apparatus for mitigating layer-2 looping in home networking applications
CN101197648B (zh) 2008-01-02 2012-06-06 中兴通讯股份有限公司 用于接入网的自环路检测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285499A1 (en) * 2005-06-17 2006-12-21 Broadcom Corporation Loop detection for a network device
US20070253346A1 (en) * 2006-05-01 2007-11-01 Cisco Technology, Inc. Detection of potential forwarding loops in bridged networks

Also Published As

Publication number Publication date
US8792362B2 (en) 2014-07-29
TW201121264A (en) 2011-06-16
US20110128863A1 (en) 2011-06-02

Similar Documents

Publication Publication Date Title
TWI424713B (zh) 迴圈偵測方法及應用其之網路裝置
JP4454516B2 (ja) 障害検出装置
EP3817298A1 (en) Data message detection method, device and system
CN101908986B (zh) 一种链路故障的检测方法和设备
JP4511472B2 (ja) メッセージに基づく電源管理のシステム及び方法
US6839872B2 (en) Media converter and failure detection technique
US6665275B1 (en) Network device including automatic detection of duplex mismatch
US7924737B2 (en) Signal degrade detecting method, signal restoration detecting method, devices for those methods, and traffic transmission system
JP2010541442A (ja) リングバスシステムでの信号故障検知するためのシステム及び方法
US20150244606A1 (en) Method for loopback detection and network device utilizing the same
US20160277547A1 (en) Packet monitoring device and packet monitoring method for communication packet
JP5862445B2 (ja) 通信装置
TW201431320A (zh) 迴路偵測的方法及網路裝置
JP4861293B2 (ja) 通信装置、通信方法および通信プログラム
CN111989899B (zh) 监视装置、网络系统、拓扑管理方法以及计算机可读取记录介质
JP4902440B2 (ja) ノード装置および障害検知方法
JP4532253B2 (ja) フレーム転送装置及びフレームのループ抑止方法
JP2009200849A (ja) フレーム監視装置およびフレーム監視方法
JP5535471B2 (ja) マルチパーティション・コンピュータシステム、障害処理方法及びそのプログラム
CN102195746A (zh) 循环检测方法及应用其的网络装置
US10048998B2 (en) Transmission apparatus and failure detection method
US6687754B1 (en) Method of detecting a device in a network
JP2021064843A (ja) ネットワーク管理装置、故障区間判定方法、及びプログラム
JP6725117B2 (ja) 通信装置、通信システム、通信方法、及びプログラム
TWI711285B (zh) 網路故障偵測方法以及網路故障偵測裝置