專利名稱:網(wǎng)絡(luò)交換器中選擇性的地址表老化的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無阻塞網(wǎng)絡(luò)交換器(non-blocking network switch)中數(shù)據(jù)封包(data packet)的交換,該網(wǎng)絡(luò)交換器配置為在子網(wǎng)絡(luò)之間交換數(shù)據(jù)封包。
已制定了以太網(wǎng)絡(luò)協(xié)議IEEE 802.3,規(guī)定了用于數(shù)據(jù)封包傳送的半雙工介質(zhì)存取機(jī)制(half-duplex media access mechanism)及全雙工介質(zhì)存取機(jī)制(full-duplex media access mechanism)。全雙工介質(zhì)存取機(jī)制提供兩網(wǎng)絡(luò)組件之間——例如網(wǎng)絡(luò)節(jié)點(diǎn)與交換集線器(switched hub)之間——雙向和點(diǎn)對點(diǎn)的通信鏈接。
交換局域網(wǎng)正面臨日益增加的更高速連接性、更有彈性的交換性能以及可容納更復(fù)雜網(wǎng)絡(luò)體系結(jié)構(gòu)等需求。例如,美國專利第5,953,335號(hào)即揭示一種網(wǎng)絡(luò)交換器,其配置為進(jìn)行不同網(wǎng)絡(luò)節(jié)點(diǎn)之間第二層類型的以太網(wǎng)(IEEE 802.3)數(shù)據(jù)封包的交換;一個(gè)接收到的數(shù)據(jù)封包可包括依照IEEE 802.1q協(xié)議的虛擬局域網(wǎng)帶標(biāo)簽幀(VLAN tagged frame),其中該IEEE 802.1q協(xié)議指定其它子網(wǎng)絡(luò)(經(jīng)由路由器)或預(yù)先指定的網(wǎng)站群。由于交換發(fā)生在第二層級(jí)別上,因此一般需要有路由器在子網(wǎng)絡(luò)間輸送數(shù)據(jù)封包。
現(xiàn)有的第二層類型網(wǎng)絡(luò)交換器的一個(gè)問題在于老化功能(agingfunction)的使用。老化功能具有由使用者設(shè)定的固定的老化時(shí)間間隔,用以從網(wǎng)絡(luò)交換地址表刪除老化的地址項(xiàng)目(address entry)。特別是當(dāng)網(wǎng)絡(luò)交換器在檢測到所接收的數(shù)據(jù)封包具有未知的地址,例如未知的MAC來源或目的地址時(shí),會(huì)通過將新的地址項(xiàng)目加入網(wǎng)絡(luò)交換地址表而“學(xué)習(xí)”新的網(wǎng)絡(luò)地址。網(wǎng)絡(luò)交換器也具有老化功能,用以刪除老化的地址項(xiàng)目,從而防止網(wǎng)絡(luò)交換地址表溢出。舉例來說,每次為了交換接收到的數(shù)據(jù)封包而存取一地址項(xiàng)目時(shí),網(wǎng)絡(luò)交換器的交換結(jié)構(gòu)(switch fabric)都會(huì)在該地址項(xiàng)目中設(shè)置“命中位(hit bit)”。該老化功能可檢測所設(shè)定的“命中位”并對此響應(yīng)而將該位重設(shè)為0,而且將該地址項(xiàng)目保持于網(wǎng)絡(luò)交換地址表中;如果老化功能檢測到“命中位”已重設(shè)為0值,表示該地址項(xiàng)目至少在固定的老化時(shí)間間隔期間中未被存取,則老化功能從網(wǎng)絡(luò)交換地址表中刪除這一老化的地址項(xiàng)目。
然而,使用上述老化功能卻可能導(dǎo)致過早地將地址項(xiàng)目從網(wǎng)絡(luò)交換地址表中刪除,使得網(wǎng)絡(luò)交換器必須重新學(xué)習(xí)網(wǎng)絡(luò)地址。舉例來說,如果使用者所規(guī)定的老化時(shí)間間隔設(shè)定為過短數(shù)值,則第二層交換器可能不知道在兩個(gè)網(wǎng)絡(luò)應(yīng)用(network application)間發(fā)生的更高層協(xié)議的通信(亦即數(shù)據(jù)流),而重復(fù)地刪除并重新學(xué)習(xí)關(guān)于該兩網(wǎng)絡(luò)應(yīng)用之間數(shù)據(jù)流數(shù)據(jù)封包的地址項(xiàng)目,浪費(fèi)網(wǎng)絡(luò)交換資源。但試圖增加使用者所規(guī)定的老化時(shí)間間隔又可能冒網(wǎng)絡(luò)交換地址表溢出的危險(xiǎn)。
還需要有一種方案,可根據(jù)兩個(gè)網(wǎng)絡(luò)應(yīng)用之間由網(wǎng)絡(luò)交換器所傳送的數(shù)據(jù)流的狀態(tài),使網(wǎng)絡(luò)交換器能有選擇性地從其網(wǎng)絡(luò)交換地址表中刪除地址項(xiàng)目。
上述及其它目的皆可透過本發(fā)明而達(dá)成,其中網(wǎng)絡(luò)交換器根據(jù)由接收到的數(shù)據(jù)封包所確定的數(shù)據(jù)流應(yīng)用狀態(tài),而有選擇性地從網(wǎng)絡(luò)交換地址表中刪除地址項(xiàng)目。
本發(fā)明在一方面提供一種用于集成網(wǎng)絡(luò)交換器(integrated networkswitch)的方法,該方法包括由接收到的第二層數(shù)據(jù)封包確定指定的網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài);以及根據(jù)所確定的應(yīng)用狀態(tài),有選擇性地從網(wǎng)絡(luò)交換地址表中刪除地址項(xiàng)目,該地址項(xiàng)目至少規(guī)定以下一項(xiàng)內(nèi)容接收到的第二層數(shù)據(jù)封包的來源與該第二層數(shù)據(jù)封包的目的地。集成網(wǎng)絡(luò)交換器對應(yīng)用狀態(tài)的確定可使該集成網(wǎng)絡(luò)交換器根據(jù)指定的網(wǎng)絡(luò)應(yīng)用而識(shí)別網(wǎng)絡(luò)節(jié)點(diǎn)之間數(shù)據(jù)流的存在,可使集成網(wǎng)絡(luò)交換器根據(jù)指定的網(wǎng)絡(luò)應(yīng)用參數(shù)而調(diào)整老化定時(shí)器(aging timer)。再者,根據(jù)所確定的應(yīng)用狀態(tài)而進(jìn)行的地址項(xiàng)目的選擇性刪除,可使集成網(wǎng)絡(luò)交換器在根據(jù)應(yīng)用狀態(tài)而確定網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)流已經(jīng)終止時(shí)——例如兩節(jié)點(diǎn)間的會(huì)話期(session)結(jié)束時(shí)——?jiǎng)h除地址項(xiàng)目。因此,由于應(yīng)用狀態(tài)從接收到的第二層數(shù)據(jù)封包即可確定,根據(jù)網(wǎng)絡(luò)會(huì)話期的結(jié)束即可精確地控制地址項(xiàng)目的刪除。
本發(fā)明在另一方面提供一種網(wǎng)絡(luò)交換器,包括網(wǎng)絡(luò)交換端口(network switch port)及交換邏輯(switching logic)。每一網(wǎng)絡(luò)交換端口均具有封包分類器(packet classifier),該封包分類器配置為對于多個(gè)指定的網(wǎng)絡(luò)應(yīng)用中被檢測出的一個(gè)網(wǎng)絡(luò)應(yīng)用,根據(jù)接收到的第二層數(shù)據(jù)封包而確定其應(yīng)用狀態(tài)。交換邏輯配置為在老化時(shí)間間隔(application-specific aging interval)期間,根據(jù)在依應(yīng)用而定的所確定應(yīng)用狀態(tài)及所確定地址項(xiàng)目不活動(dòng)性(inactivity)兩者之一,而有選擇性地刪除地址項(xiàng)目,該地址項(xiàng)目至少規(guī)定以下一項(xiàng)內(nèi)容接收到的第二層數(shù)據(jù)封包的來源與該第二層數(shù)據(jù)封包的目的地,其中該依應(yīng)用而定的老化時(shí)間間隔是依被檢測出的一個(gè)指定的網(wǎng)絡(luò)應(yīng)用而定的。因此,交換邏輯根據(jù)不活動(dòng)性的間隔而有選擇性地刪除地址項(xiàng)目,該不活動(dòng)性的間隔則依從接收到的第二層數(shù)據(jù)封包所檢測出的一個(gè)指定的網(wǎng)絡(luò)應(yīng)用而定,從而可利用更精確的老化時(shí)間間隔,該老化時(shí)間間隔依集成網(wǎng)絡(luò)交換器所支持的網(wǎng)絡(luò)應(yīng)用而定;而交換邏輯根據(jù)所確定的應(yīng)用狀態(tài)而有選擇性地刪除地址項(xiàng)目,則使交換邏輯能夠在兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的會(huì)話期結(jié)束時(shí),按照被檢測出的指定網(wǎng)絡(luò)應(yīng)用而刪除地址項(xiàng)目。
本發(fā)明的其它優(yōu)點(diǎn)及新穎特性將部份說明如下,部份通過本領(lǐng)域技術(shù)人員對本發(fā)明進(jìn)行審視或?qū)嵤┘醋兊蔑@而易見。通過所附權(quán)利要求書范圍所指出的各種手段及其結(jié)合,即可實(shí)現(xiàn)本發(fā)明的優(yōu)點(diǎn)。
以下描述的實(shí)施例涉及一種集成網(wǎng)絡(luò)交換器的配置,其用以對網(wǎng)絡(luò)交換地址表的項(xiàng)目產(chǎn)生基于應(yīng)用的(application-based)老化時(shí)間間隔,并根據(jù)由接收到的第二層數(shù)據(jù)封包所確定的一個(gè)指定的網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài)而有選擇性地刪除地址項(xiàng)目。根據(jù)第二層數(shù)據(jù)封包的指定的網(wǎng)絡(luò)應(yīng)用的檢測,以及該指定的網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài)的檢測,則由接收到該第二層數(shù)據(jù)封包的網(wǎng)絡(luò)交換端口中的封包分類器模塊所執(zhí)行。以下將先說明網(wǎng)絡(luò)交換器體系結(jié)構(gòu)及封包分類器,其后說明網(wǎng)絡(luò)交換地址項(xiàng)目的基于應(yīng)用的老化。
圖1顯示例如以太(IEEE 802.3)網(wǎng)的封包交換網(wǎng)絡(luò)10的方框圖。該封包交換網(wǎng)絡(luò)包括可進(jìn)行網(wǎng)站14間數(shù)據(jù)封包傳遞的集成(亦即單芯片)多端口交換器12。每一個(gè)諸如客戶端工作站的網(wǎng)站14,通常均依照IEEE 802.3協(xié)議而配置為以10Mbps或10Mbps發(fā)送或接收數(shù)據(jù)封包。各集成多端口交換器12間以千兆位以太網(wǎng)鏈路(Ethemet link)16互連,從而使數(shù)據(jù)封包可在子網(wǎng)絡(luò)18a、18b、18c間傳送。因此,每個(gè)子網(wǎng)絡(luò)均包括交換器12及一群相關(guān)網(wǎng)站14。
各交換器12包括具有介質(zhì)訪問控制(MAC)模塊22及封包分類器模塊24的交換端口20。MAC模塊22透過依照IEEE802.3u協(xié)議的10/100Mbps實(shí)體層(PHY)收發(fā)器(圖中未示)將數(shù)據(jù)封包傳送至相關(guān)的網(wǎng)站14及從相關(guān)網(wǎng)站14接收數(shù)據(jù)封包。各交換器12還包括交換結(jié)構(gòu)25,其配置為可就接收到的數(shù)據(jù)封包作數(shù)據(jù)幀轉(zhuǎn)發(fā)決策(frameforwarding decision)。特別是交換結(jié)構(gòu)25可根據(jù)以太網(wǎng)(IEEE802.3)標(biāo)題中的源地址、目的地址及VLAN信息而作第二層交換決策,交換結(jié)構(gòu)25還配置為可根據(jù)以太網(wǎng)封包中IP數(shù)據(jù)封包的評估(evaluation)而作有選擇的第三層交換決策。
如圖1所示,各交換器12具有與其相關(guān)的主CPU 26以及例如SSRAM的緩沖存儲(chǔ)器28。主CPU 26控制與其對應(yīng)的交換器12的所有操作,包括下述交換結(jié)構(gòu)25及封包分類器的編程。緩沖存儲(chǔ)器28則為相對應(yīng)的交換器12所用,在交換結(jié)構(gòu)25就接收到的數(shù)據(jù)封包作轉(zhuǎn)送決策時(shí)儲(chǔ)存數(shù)據(jù)幀。
如上所述,交換結(jié)構(gòu)25配置為進(jìn)行第二層交換決策及第三層交換決策。使用交換結(jié)構(gòu)25所作的第三層交換決策可使交換結(jié)構(gòu)25就如何處理封包(包括進(jìn)一步轉(zhuǎn)送決策)、以及是否將封包作為高優(yōu)先權(quán)封包——例如像視頻或音頻這樣對等待時(shí)間敏感的應(yīng)用(latency-sensitiveapplication)——而作出明智決策。
根據(jù)所示實(shí)施例,可將圖1的封包分類器模塊24配置為在輸入數(shù)據(jù)流與模板之間進(jìn)行多重同時(shí)比較(multiple simultaneous comparison),該模板識(shí)別該輸入數(shù)據(jù)流的數(shù)據(jù)格式。詳言之,主處理器26的使用者將擬定策略(policy),其中規(guī)定交換結(jié)構(gòu)25應(yīng)如何處理在接收到的數(shù)據(jù)封包選定部份具有預(yù)定數(shù)據(jù)值的數(shù)據(jù)封包。這些策略通過將對應(yīng)于各策略的一組數(shù)據(jù)幀轉(zhuǎn)發(fā)決策或老化功能參數(shù)載入交換結(jié)構(gòu)25而實(shí)施。應(yīng)注意,在接收到的第二層數(shù)據(jù)封包選定部份的預(yù)定數(shù)據(jù)值可位于第二層數(shù)據(jù)封包的任一部份中。因此,封包分類器模塊24能夠檢測到對應(yīng)于不同網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù)流的存在,該不同網(wǎng)絡(luò)應(yīng)用例如有超文本傳輸協(xié)議(HTTP)、SNMP、FPT、Telnet等。
因此,交換結(jié)構(gòu)25可包括一組針對HTTP封包的數(shù)據(jù)幀轉(zhuǎn)送指令及老化參數(shù)、一組針對SNMP封包的數(shù)據(jù)幀轉(zhuǎn)送指令及老化參數(shù)、以及一組針對高優(yōu)先權(quán)封包(例如視頻或音頻等)的數(shù)據(jù)幀轉(zhuǎn)送指令及老化參數(shù)。
圖2為一個(gè)方框圖,顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的封包分類器模塊24。如圖2所示,網(wǎng)絡(luò)交換端口20包括MAC 22、接收FIFO緩沖器27、標(biāo)題改變器(header modifier)29、及封包分類器模塊24。網(wǎng)絡(luò)交換端口過濾器亦稱為封包分類器模塊24,配置為在網(wǎng)絡(luò)交換端口20識(shí)別輸入的數(shù)據(jù)封包,并根據(jù)所接收的數(shù)據(jù)封包類型而向交換結(jié)構(gòu)25提供標(biāo)簽(tag),該標(biāo)簽規(guī)定應(yīng)對該數(shù)據(jù)封包完成的動(dòng)作。詳言之,封包分類器模塊24同時(shí)比較輸入的數(shù)據(jù)封包與多個(gè)用以識(shí)別各種數(shù)據(jù)格式的模板。然后,封包分類器模塊24根據(jù)輸入的數(shù)據(jù)封包與多個(gè)模板的比較結(jié)果,識(shí)別所要執(zhí)行的方程式(equation),以指定將提供給交換結(jié)構(gòu)25的標(biāo)簽。
詳言之,封包分類器模塊24通過從多個(gè)模板中檢測出至少一個(gè)匹配的模板而識(shí)別輸入的數(shù)據(jù)封包,從而產(chǎn)生比較結(jié)果。然后,封包分類器模塊24識(shí)別出包含該匹配模板的方程式,并產(chǎn)生由方程式所指定的標(biāo)簽。
圖3A及圖3B表明封包分類器模塊24同時(shí)處理一個(gè)方程式的兩個(gè)模板。圖3A表明封包分類器模塊24對以下方程式所作邏輯評估(1ogical evaluation)Eq1=M1*M2*M3*M4*(M5+M6+M7+M8)圖3B說明如何實(shí)際將方程式Eq1儲(chǔ)存在小項(xiàng)存儲(chǔ)器(min termmemory)70中。方程式Eq1包括四個(gè)模板62a、62b、62c及62d模板62a包括小項(xiàng)M1、M2、M3、M4及M5;模板62b包括小項(xiàng)M1、M2、M3、M4及M6;模板62c包括小項(xiàng)M1、M2、M3、M4及M7;而模板62d包括小項(xiàng)M1、M2、M3、M4及M8。每一個(gè)模板62對應(yīng)一個(gè)根據(jù)IP數(shù)據(jù)封包的標(biāo)題而可識(shí)別的特定IP數(shù)據(jù)格式。舉例來說,模板62a及62c可配置為識(shí)別HTTP封包,模板62b及62d可配置為識(shí)別SNMP封包。具體而言,如封包為IPv4格式,IP中存續(xù)時(shí)間字段(timeto live field)大于1,IP標(biāo)題中協(xié)議字段(protocol field)為TCP,標(biāo)題檢驗(yàn)和(header checksum)正確,源TCP端口為80或目的TCP端口為80,即被識(shí)別為HTTP封包。如封包為IPv4格式,IP中存續(xù)時(shí)間字段大于1,IP標(biāo)題中協(xié)議字段為TCP,標(biāo)題檢驗(yàn)和正確,源TCP端口為25或目的TCP端口為25,則被識(shí)別為SNMP封包。
因此,可創(chuàng)建下列小項(xiàng)以代表所有上述判據(jù)M1=封包為IPv4格式M2=IP中的存續(xù)時(shí)間字段大于1M3=IP標(biāo)題中的協(xié)議字段為TCP
M4=標(biāo)題檢驗(yàn)和為正確M5=源TCP端口為80M6=目的TCP端口為80M7=源TCP端口為25M8=目的TCP端口為25因此,模板62a及62c識(shí)別HTTP封包,模板62b及62d識(shí)別SNMP封包。如此,只要模板62a、62b、62c或62d中任何一個(gè)為真(true),方程式一(Eq1)即指定一個(gè)應(yīng)輸出至交換結(jié)構(gòu)25的特定結(jié)果(亦即具有特定值的標(biāo)簽)。
而且,小項(xiàng)M1…M8以規(guī)定的順序排列在相關(guān)模板62a和/或62b中,該規(guī)定順序與輸入的數(shù)據(jù)流中數(shù)據(jù)字節(jié)的相對位置一致。小項(xiàng)M1配置為與IP封包的第一個(gè)字節(jié)(B1)作比較,小項(xiàng)M2配置為與IP封包中B1的后續(xù)字節(jié)(B2)作比較,小項(xiàng)M3配置為與IP封包中B2的后續(xù)字節(jié)(B3)作比較,等等。因此,使用具有小項(xiàng)的模板62,且其中的小項(xiàng)以輸入的數(shù)據(jù)流中數(shù)據(jù)字節(jié)的相對位置的順序排列,即可進(jìn)行輸入數(shù)據(jù)流與多個(gè)小項(xiàng)間的多重同時(shí)比較。因此,將輸入的數(shù)據(jù)封包與多個(gè)模板進(jìn)行比較,不僅可確定該輸入數(shù)據(jù)封包的數(shù)據(jù)格式,而且可確定交換結(jié)構(gòu)25應(yīng)完成何種動(dòng)作。
如圖2所示,亦稱為網(wǎng)絡(luò)交換端口過濾器(network switch port filter)的封包分類器模塊24,包括用以儲(chǔ)存小項(xiàng)數(shù)值(例如M1、M2…等)的小項(xiàng)存儲(chǔ)器70,以及配置用以識(shí)別所接收到的第二層數(shù)據(jù)幀的類型的數(shù)據(jù)幀識(shí)別器72;特別是識(shí)別出所接收到第二層數(shù)據(jù)幀的類型(例如以太網(wǎng)、IEEE802至3等)即可識(shí)別出第二層封包30中IP封包32的起始位置64。封包分類器模塊24還包括小項(xiàng)控制器74、小項(xiàng)產(chǎn)生器76、方程式核心(equation core)78以及計(jì)算結(jié)果存儲(chǔ)器80。處理器接口模塊(pi_mod)84用以將產(chǎn)生的小項(xiàng)從主CPU26轉(zhuǎn)送至小項(xiàng)存儲(chǔ)器70。
小項(xiàng)控制器74配置為從小項(xiàng)存儲(chǔ)器70中取出與接收到的IP數(shù)據(jù)幀選定字節(jié)相對應(yīng)的小項(xiàng)。小項(xiàng)控制器74還包括位置轉(zhuǎn)換器82,此位置轉(zhuǎn)換器配置為對于從數(shù)據(jù)幀識(shí)別器72接收數(shù)據(jù)幀類型(frm_type)信號(hào)加以響應(yīng)而指定起始點(diǎn)的實(shí)際字節(jié)位置(byte_location),該數(shù)據(jù)幀識(shí)別器72指定第二層數(shù)據(jù)幀的類型。小項(xiàng)控制器74隨后將小項(xiàng)數(shù)值(M_STRU_INFO)轉(zhuǎn)送至小項(xiàng)產(chǎn)生器76及方程式核心78。
小項(xiàng)產(chǎn)生器76執(zhí)行在取自小項(xiàng)控制器的小項(xiàng)與輸入數(shù)據(jù)流選定字節(jié)之間所進(jìn)行的實(shí)際小項(xiàng)比較,并提供小項(xiàng)比較結(jié)果(mt_result)給方程式核心78。根據(jù)所述實(shí)施例,小項(xiàng)產(chǎn)生器配置為可同時(shí)進(jìn)行輸入數(shù)據(jù)流與多達(dá)八個(gè)小項(xiàng)之間的比較。方程式核心78配置為根據(jù)從小項(xiàng)產(chǎn)生器76所接收的小項(xiàng)比較結(jié)果而產(chǎn)生相對于相關(guān)模板62的數(shù)據(jù)幀標(biāo)簽。
如上所述,封包分類器模塊24使每一網(wǎng)絡(luò)交換端口20均能判斷所接收的第二層數(shù)據(jù)封包是否帶有用于指定網(wǎng)絡(luò)應(yīng)用(例如HTTP、SNMP、FTP、Telnet等)的數(shù)據(jù)幀。此外,還可用其它模板對封包分類器模塊24編程,從而由接收到的第二層數(shù)據(jù)封包識(shí)別特定的應(yīng)用狀態(tài)。詳言之,網(wǎng)絡(luò)節(jié)點(diǎn)間依照指定的網(wǎng)絡(luò)應(yīng)用進(jìn)行通信,從而在兩網(wǎng)絡(luò)節(jié)點(diǎn)間產(chǎn)生指定的數(shù)據(jù)流;因此,在網(wǎng)絡(luò)節(jié)點(diǎn)間傳送的第二層數(shù)據(jù)封包會(huì)包括有效載荷信息(payload information),該有效載荷信息說明指定的網(wǎng)絡(luò)應(yīng)用狀態(tài),例如請求開始會(huì)話(session)、確認(rèn)(acknowledgment)、會(huì)話期間通信、請求結(jié)束會(huì)話以及確認(rèn)結(jié)束會(huì)話??捎煤线m的模板為封包分類器模塊24編程,以透過對第二層數(shù)據(jù)封包有效載荷數(shù)據(jù)的評估而監(jiān)視數(shù)據(jù)流的狀態(tài);因此,封包分類器模塊24可監(jiān)視兩網(wǎng)絡(luò)節(jié)點(diǎn)間網(wǎng)絡(luò)應(yīng)用操作的應(yīng)用狀態(tài),使交換結(jié)構(gòu)25中的交換邏輯可進(jìn)行基于應(yīng)用的老化操作(application-based aging operation)。
圖4詳細(xì)顯示根據(jù)本發(fā)明一實(shí)施例的圖1中的交換結(jié)構(gòu)25。如圖4所示,交換結(jié)構(gòu)25包括交換邏輯80及網(wǎng)絡(luò)交換地址表82。請注意,網(wǎng)絡(luò)交換地址表82亦可設(shè)在網(wǎng)絡(luò)交換器12外部而成為外部地址表。交換邏輯80控制網(wǎng)絡(luò)交換地址表82中地址表項(xiàng)目84的學(xué)習(xí)(亦即儲(chǔ)存)。
每一地址表項(xiàng)目84包括MAC地址字段84c、IP地址字段84d及交換信息字段84e,其中交換信息字段84e針對具有對應(yīng)MAC和/或IP地址的網(wǎng)絡(luò)節(jié)點(diǎn)而提供對應(yīng)的第二層和/或第三層交換信息。每一地址表項(xiàng)目84還包括用以儲(chǔ)存老化定時(shí)器開始時(shí)間的老化定時(shí)器開始字段84a、以及用以儲(chǔ)存老化時(shí)間間隔的老化時(shí)間間隔字段84b,其中該老化時(shí)間間隔因應(yīng)用而定(application-specific),建立在已確定的數(shù)據(jù)流所支持的網(wǎng)絡(luò)應(yīng)用基礎(chǔ)上。
圖5為一個(gè)流程圖,說明根據(jù)本發(fā)明實(shí)施例的執(zhí)行網(wǎng)絡(luò)交換地址表82的基于應(yīng)用的老化方法。雖以流程圖表示,但實(shí)際的實(shí)施可建立在狀態(tài)基礎(chǔ)上(state-based),其中響應(yīng)來自封包分類器模塊24的預(yù)定動(dòng)作標(biāo)簽而在交換邏輯80中執(zhí)行新狀態(tài)(new state)。
所述方法從步驟90開始,在步驟90中,主CPU將至少一組初始應(yīng)用模板載入封包分類器模塊24的小項(xiàng)存儲(chǔ)器70,用以根據(jù)接收到的第二層數(shù)據(jù)封包而識(shí)別各網(wǎng)絡(luò)應(yīng)用。詳言之,一網(wǎng)絡(luò)節(jié)點(diǎn)首先將根據(jù)一個(gè)指定的網(wǎng)絡(luò)應(yīng)用而發(fā)送開始會(huì)話的請求;封包分類器模塊24檢測到來自該網(wǎng)絡(luò)節(jié)點(diǎn)的起始請求,即將一標(biāo)簽送至交換結(jié)構(gòu)25,而由交換結(jié)構(gòu)25指定新網(wǎng)絡(luò)節(jié)點(diǎn)及對應(yīng)的經(jīng)確認(rèn)的網(wǎng)絡(luò)應(yīng)用。隨后在步驟92中,交換邏輯80通過將另一記錄84增加至網(wǎng)絡(luò)交換地址表82中來學(xué)習(xí)(1earn)項(xiàng)目。另外,主CPU會(huì)被通知有新的數(shù)據(jù)流,且主CPU可在接獲通知時(shí)將針對檢測到的應(yīng)用的額外模板儲(chǔ)存至小項(xiàng)存儲(chǔ)器70中(步驟94),使封包分類器模塊24可就檢測到的數(shù)據(jù)流而識(shí)別各種應(yīng)用狀態(tài)。另外還可一次將所有的模板載入小項(xiàng)存儲(chǔ)器70。
在步驟96,檢測到由對應(yīng)的接收到的第二層數(shù)據(jù)封包所支持的網(wǎng)絡(luò)應(yīng)用后,對此加以響應(yīng),主CPU 26將依應(yīng)用而定(application-specific)的老化時(shí)間間隔(亦即T1)載入老化時(shí)間間隔字段84b,并將定時(shí)器的開始時(shí)間記錄至老化定時(shí)器開始字段84a。
網(wǎng)絡(luò)交換端口20的封包分類器模塊24(其已接收到第二層數(shù)據(jù)封包)持續(xù)監(jiān)視具有有效載荷數(shù)據(jù)(用于網(wǎng)絡(luò)應(yīng)用的經(jīng)確認(rèn)的數(shù)據(jù)流)的其它第二層封包。若在步驟98中,封包分類器模塊24檢測到現(xiàn)有數(shù)據(jù)流的新狀態(tài),且若在步驟100中該新狀態(tài)表示根據(jù)經(jīng)確認(rèn)的網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù)流的會(huì)話結(jié)束,則在步驟102中,封包分類器模塊24輸出表示會(huì)話期結(jié)束的動(dòng)作標(biāo)簽給交換邏輯80,使交換邏輯80刪除對應(yīng)的地址表項(xiàng)目84。若在步驟100中該新狀態(tài)經(jīng)封包分類器模塊24判斷為中間應(yīng)用狀態(tài)(intermediate application state),則在步驟104中封包分類器模塊24發(fā)送適當(dāng)?shù)臉?biāo)簽給交換邏輯80,使交換邏輯80通過以更新數(shù)值替換字段84a中的開始時(shí)間來重設(shè)(reset)定時(shí)器。
交換邏輯80以比較其內(nèi)部時(shí)鐘與開始時(shí)間字段84a相對于老化時(shí)間間隔字段84b的方式而持續(xù)監(jiān)視依應(yīng)用而定的老化時(shí)間間隔。若在步驟106中交換邏輯80判斷依應(yīng)用而定的定時(shí)器已經(jīng)期滿,表示對應(yīng)的地址表項(xiàng)目在老化時(shí)間間隔字段84b所指定的依應(yīng)用而定的老化時(shí)間間隔中未被存取,則交換邏輯80在步驟102中刪除該項(xiàng)目。
根據(jù)所述實(shí)施例,結(jié)合經(jīng)過判定的應(yīng)用狀態(tài)而使用依應(yīng)用而定的老化時(shí)間間隔,從而可準(zhǔn)確地確定地址項(xiàng)目應(yīng)在何時(shí)從網(wǎng)絡(luò)交換地址表中刪除。因此,網(wǎng)絡(luò)交換器可根據(jù)其所遇到的數(shù)據(jù)流而正確地維護(hù)地址表。
本發(fā)明雖以目前所知最實(shí)際的優(yōu)選實(shí)施例而描述如上,但應(yīng)理解,本發(fā)明并不限于所述實(shí)施例,相反地,本發(fā)明涵蓋在所附權(quán)利要求書的精神與范圍內(nèi)所作的各種改動(dòng)及等效配置。
權(quán)利要求
1.一種用于集成網(wǎng)絡(luò)交換器(integrated network switch)的方法,該方法包括由接收到的第二層數(shù)據(jù)封包確定指定網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài);以及根據(jù)該確定的應(yīng)用狀態(tài),有選擇性地從網(wǎng)絡(luò)交換地址表中刪除地址項(xiàng)目,該地址項(xiàng)目至少規(guī)定以下一項(xiàng)內(nèi)容所述接收到的第二層數(shù)據(jù)封包的來源與該第二層數(shù)據(jù)封包的目的地。
2.如權(quán)利要求1的方法,其進(jìn)一步包括在接收到所述第二層數(shù)據(jù)封包的網(wǎng)絡(luò)交換端口中儲(chǔ)存多個(gè)模板,該模板配置為對于從所述接收到的第二層數(shù)據(jù)封包識(shí)別出最初一個(gè)可用應(yīng)用狀態(tài)的該網(wǎng)絡(luò)交換端口加以響應(yīng),從所述指定網(wǎng)絡(luò)應(yīng)用的各對應(yīng)的可用應(yīng)用狀態(tài)中識(shí)別出該應(yīng)用狀態(tài)。
3.如權(quán)利要求2的方法,其進(jìn)一步包括在依應(yīng)用而定的老化時(shí)間間隔之后,根據(jù)在該依應(yīng)用而定的老化時(shí)間間隔期間所述地址項(xiàng)目的確定的不活動(dòng)性(inactivity)而從所述網(wǎng)絡(luò)交換器地址表中刪除該地址項(xiàng)目,所述依應(yīng)用而定的老化時(shí)間間隔通過檢測到一個(gè)所述可用應(yīng)用狀態(tài)而確定,并據(jù)此而開始計(jì)時(shí)。
4.如權(quán)利要求1的方法,其中該選擇性的刪除步驟包括根據(jù)所述確定的應(yīng)用狀態(tài)而刪除所述地址項(xiàng)目,該確定的應(yīng)用狀態(tài)規(guī)定了所述指定網(wǎng)絡(luò)應(yīng)用的會(huì)話期的結(jié)束。
5.如權(quán)利要求4的方法,其中該確定步驟包括在所述接收到的第二層數(shù)據(jù)封包的接收期間,比較該接收到的第二層數(shù)據(jù)封包的選定部份與多個(gè)小項(xiàng),該多個(gè)小項(xiàng)規(guī)定了用以識(shí)別所述指定網(wǎng)絡(luò)應(yīng)用的會(huì)話期結(jié)束的幀數(shù)據(jù);確定所述接收到的第二層數(shù)據(jù)封包的選定部份與對應(yīng)的小項(xiàng)是否匹配;以及根據(jù)該確定步驟而產(chǎn)生比較結(jié)果。
6.如權(quán)利要求1的方法,其中該確定步驟包括根據(jù)將所述接收到的第二層數(shù)據(jù)封包與多個(gè)模板同時(shí)進(jìn)行比較,而從多個(gè)可用的指定網(wǎng)絡(luò)應(yīng)用中確定該指定網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài),所述多個(gè)模板規(guī)定了用以識(shí)別對應(yīng)的可用指定網(wǎng)絡(luò)應(yīng)用的幀數(shù)據(jù)。
7.如權(quán)利要求1的方法,其進(jìn)一步包括對確定該應(yīng)用狀態(tài)加以響應(yīng)而開始依應(yīng)用而定的老化定時(shí)器的計(jì)時(shí),該老化定時(shí)器配置為對于所述地址項(xiàng)目的依應(yīng)用而定的老化時(shí)間間隔進(jìn)行計(jì)時(shí);若該地址項(xiàng)目直到所述依應(yīng)用而定的老化時(shí)間間隔期滿都未被存取,即刪除該地址項(xiàng)目;以及在該依應(yīng)用而定的老化時(shí)間間隔期間,響應(yīng)于該地址項(xiàng)目的檢測和存取而重設(shè)所述依應(yīng)用而定的老化定時(shí)器。
8.一種網(wǎng)絡(luò)交換器,包括多個(gè)網(wǎng)絡(luò)交換端口,每個(gè)都具有封包分類器,該封包分類器配置為由接收到的第二層數(shù)據(jù)封包而確定多個(gè)指定網(wǎng)絡(luò)應(yīng)用中被檢測出的一個(gè)網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài);以及交換邏輯,配置為在根據(jù)所述被檢測出的一個(gè)指定網(wǎng)絡(luò)應(yīng)用而定的老化時(shí)間間隔期間,根據(jù)所述確定的應(yīng)用狀態(tài)及地址項(xiàng)目的確定的不活動(dòng)性(determined inactivity)兩者之一,而有選擇性地刪除該地址項(xiàng)目。
9.如權(quán)利要求8的交換器,其中該交換邏輯包括可編程定時(shí)器,配置為對于從所述接收到的第二層數(shù)據(jù)封包檢測該應(yīng)用狀態(tài)加以響應(yīng),開始該地址項(xiàng)目的所述依應(yīng)用而定的老化時(shí)間間隔的計(jì)時(shí);第二可編程定時(shí)器,配置為進(jìn)行第二地址項(xiàng)目的第二個(gè)依應(yīng)用而定的老化時(shí)間間隔的計(jì)時(shí)。
10.如權(quán)利要求8的方法,其進(jìn)一步包括網(wǎng)絡(luò)交換地址表,該網(wǎng)絡(luò)交換地址表配置為儲(chǔ)存所述接收到的第二層數(shù)據(jù)封包的地址項(xiàng)目與該第二地址項(xiàng)目。
全文摘要
一種網(wǎng)絡(luò)交換器,配置為在以太網(wǎng)(IEEE 802.3)中進(jìn)行第二層及第三層交換而不阻塞輸入數(shù)據(jù)封包,包括具有封包分類器模塊的網(wǎng)絡(luò)交換端口,該封包分類器模塊可在實(shí)時(shí)基礎(chǔ)上評估輸入的數(shù)據(jù)封包。封包分類器模塊可監(jiān)視兩個(gè)依預(yù)定網(wǎng)絡(luò)應(yīng)用互動(dòng)的網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)流。封包分類器模塊由接收到的第二層數(shù)據(jù)封包而確定指定的網(wǎng)絡(luò)應(yīng)用的應(yīng)用狀態(tài),使網(wǎng)絡(luò)交換器中的交換邏輯能夠利用根據(jù)如HTTP、SNMP、ftp、Telnet等相應(yīng)網(wǎng)絡(luò)應(yīng)用而定的老化時(shí)間間隔,從而根據(jù)所支持的網(wǎng)絡(luò)應(yīng)用而將老化的地址項(xiàng)目從網(wǎng)絡(luò)交換地址表中刪除。根據(jù)第二層數(shù)據(jù)封包而作的確定亦使網(wǎng)絡(luò)交換器可檢測到數(shù)據(jù)流結(jié)束而將對應(yīng)的地址項(xiàng)目從網(wǎng)絡(luò)交換地址表中刪除。
文檔編號(hào)H04L12/40GK1451215SQ00819277
公開日2003年10月22日 申請日期2000年9月1日 優(yōu)先權(quán)日2000年3月6日
發(fā)明者M·肯奴瑞, G·克利奇納 申請人:先進(jìn)微裝置公司