TWI739320B - 網路通訊裝置以及網路映射表的操作方法 - Google Patents

網路通訊裝置以及網路映射表的操作方法 Download PDF

Info

Publication number
TWI739320B
TWI739320B TW109106103A TW109106103A TWI739320B TW I739320 B TWI739320 B TW I739320B TW 109106103 A TW109106103 A TW 109106103A TW 109106103 A TW109106103 A TW 109106103A TW I739320 B TWI739320 B TW I739320B
Authority
TW
Taiwan
Prior art keywords
row
data
packet
field
address
Prior art date
Application number
TW109106103A
Other languages
English (en)
Other versions
TW202133593A (zh
Inventor
許烱發
楊嘉瑞
丁俊安
Original Assignee
瑞昱半導體股份有限公司
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 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW109106103A priority Critical patent/TWI739320B/zh
Priority to US17/024,937 priority patent/US11570103B2/en
Publication of TW202133593A publication Critical patent/TW202133593A/zh
Application granted granted Critical
Publication of TWI739320B publication Critical patent/TWI739320B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種網路通訊裝置,包含複數個連接埠、記憶媒體以及處理器。記憶媒體經配置以儲存第一查找表及第二查找表。第一查找表的列資料包含旗標欄位。第二查找表的列資料包含第一查找表的列位址。其中該裝置經配置以:解析封包以獲得目的IP位址;根據封包的目的IP位址計算得到於第二查找表的列資料;讀取列資料的一指向第一查找表列資料的列位址;以及透過第一查找表的該列資料的內容來獲得目的媒體存取控制位址,並可即時更新連接埠資訊。

Description

網路通訊裝置以及網路映射表的操作方法
本案是有關於一種網路裝置,且特別是有關於一種操作網路位址映射表的網路通訊裝置。
位址解析協定查找表是用來記錄網路IP位址和MAC實體位址的對應關係。設計網路交換機或路由器時,為節省面積通常會將位址解析協定表格所需記錄的48位元MAC實體位址欄位和第二層位址查找表格中的MAC位址欄位共用。一般做法是增加一個欄位指到相對應的L2(layer 2)表格位址,電路透過L2表格便可得到該ARP條目對應的MAC實體位址。但是此記錄在L2表格中的MAC資料可能因來源位址學習而被覆蓋掉,往往導致ARP查找表得到錯誤的MAC位址的問題。因此,即使交換器或路由器讀取ARP查找表得到L2查找表索引值,得到的L2查找表的資料因早已被修改過,而導致得到了錯誤的MAC實體位址。其次,若為避免資料被覆蓋而設定此對應資料項為靜態資料列,即本列資料禁止來源MAC位址學習,而不執行來源埠的更新。這樣的作法產生另一 個問題是:當來源MAC位址的主機已更換到不同連接埠時,若L2查找表連接埠欄位未被更新,將會導致得到了錯誤的轉送埠號資訊。
因而,錯誤的轉送埠號使得目的主機會有一段時間接收不到來源主機所送出的封包或者需要軟體介入去修正錯誤L2表格資料,導致交換器或路由器效能不佳的問題。據此,如何解決索引到錯誤資料是亟需解決的技術問題。
根據本案之一實施例,揭示一種網路通訊裝置,包含:複數個連接埠,經配置以接收一封包;一記憶媒體,經配置以儲存一第一查找表與第二查找表。第一查找表的一列資料包含一旗標欄位。第二查找表的列資料包含該第一查找表的一列位址。處理器耦接該記憶媒體以及該些連接埠,其中該網路通訊裝置經配置以:硬體或軟體解析該封包以獲得一來源媒體存取控制位址(MAC);根據該封包的該來源MAC位址計算得到於該第一查找表的該列資料;讀取該列資料的該旗標欄位;以及透過該旗標欄位的內容來判斷該列資料是否被該第二查找表所參考。
根據另一實施例,揭示一種網路映射表的操作方法,適用於一網路通訊裝置,該網路通訊裝置儲存一第一查找表,該第一查找表的一列資料包含一旗標欄位,其中該網路映射表的操作方法包含:自一連接埠接收一封包;解析該封包以獲得一來源媒體存取控制(MAC)位址;根據該封 包的該來源MAC位址計算得到於該第一查找表的該列資料;讀取該列資料的該旗標欄位;以及透過該旗標欄位的內容來判斷該列資料是否被該第二查找表所參考。
100:網路通訊裝置
110:處理器
120:記憶媒體
130_1、130_2、130_3:連接埠
150A~150F:網路節點
LAN_1~LAN_3:區域網路
S210~S310:步驟
S405~S460:步驟
S505~S550:步驟
以下詳細描述結合隨附圖式閱讀時,將有利於較佳地理解本揭示文件之態樣。
第1圖繪示根據本案一些實施例中的一種網路通訊裝置與多個網路節點交換資料的網路架構示意圖。
第2圖繪示根據本案一些實施例中的來源MAC位址的學習更新方法的流程圖。
第3圖繪示根據本案另一些實施例中的來源MAC位址的學習更新方法的流程圖。
第4圖繪示根據本案另一些實施例中依據封包的目的IP位址來查詢MAC位址及映射埠的流程圖。
請參照第1圖,其繪示根據本案一些實施例中的一種網路通訊裝置100與複數個網路節點進行資料交換的網路架構示意圖。本案以網路節點150A~150F作為例示性說明,並且不限於第1圖的網路架構。於一些實施例中,網路通訊裝置100是支援開放式系統互聯模型的第二層交換器或第三層路由器。
如第1圖所示,網路通訊裝置100包含處理器110、 記憶媒體120以及複數個連接埠130_1、130_2及130_3。處理器110耦接於記憶媒體120以及複數個連接埠130_1~130_3。各網路節點150A~150F分別透過所屬的區域網路LAN_1~LAN_3與網路通訊裝置100的連接埠130_1~130_3交換資料。
於一些實施例中,網路通訊裝置100會執行查找程序(lookup process)。舉例而言,如第1圖所示,網路通訊裝置100透過屬於LAN_1的連接埠130_1收到網路節點150A的封包(假設此封包是將被傳送至網路節點150E),並解析封包的目的地IP(destination internet protocol,DIP)位址。若網路通訊裝置100於轉送查找表(包含第一與第二查找表)中獲得此目的地IP位址所對應的目的地MAC位址和其對應的連接埠(例如連接埠130_3,屬於LAN_3),則此封包經第三層路由透過連接埠130_3被傳送至LAN_3的網路節點150E。
於一些實施例中,網路通訊裝置100會執行學習程序。舉例而言,網路節點150A產生一封包並準備將其傳送至網路節點150E,網路通訊裝置100透過連接埠130_1收到此封包,並解析封包的來源MAC位址。若網路通訊裝置100於L2查找表(或稱第一查找表)中查詢到來源MAC位址時,會根據該列資料的設定以將封包中的來源埠號更新至L2查找表的連接埠映射的欄位。若網路通訊裝置100於L2查找表中無法查詢到與來源MAC位址符合的列資料時,則網路通訊裝置100會自動於L2查找 表新增一列資料,並寫入該來源MAC位址和來源埠映射資料至該列資料。此外,無論是否在L2查找表中查詢到來源MAC位址,於更新或新增列資料時都會重置存活時間(請參考下面表一),表示此列資料剛被更新。
記憶媒體120儲存第一與第二查找表。第一查找表是第二層交換器用來查詢封包應該被送往哪一個連接埠的對照表,例如L2查找表。L2查找表格式如表一所示。
表一:L2查找表
Figure 109106103-A0101-12-0005-1
於表一中,靜態值表示對應的該列資料是否被鎖定。於一些實施例中,靜態值為1表示該列資料被鎖定,稱為靜態列;當靜態值為0,表示該列資料沒有被鎖定,稱為動態列。靜態列不可被硬體自動學習程序更新資料內容,只有動態列可被硬體自動學習程序更新資料內容。靜態列內容只能軟體透過處理器來改變。於一些實施例中,靜態值欄位不一定存在,於本案中屬於選擇性欄位。
於表一中,旗標表示對應的列資料是否被ARP查找表所參考。存活時間應用於動態列,用以表示對應的列 資料是否有效,即動態列資料的該存活時間太久沒有被重置,將會使得該列資料變無效。埠號表示列資料的MAC位址所對應的連接埠。另外,當某一動態列資料為ARP表格所參考,則該列的MAC位址欄位是有效的,但該列的存活時間便被用來決定該列的埠號資料欄位是否有效。
先前技藝L2查找表只能由靜態值與存活時間決定該列資料是否為有效資料,其作用範圍是整個列資料;該列資料包含多個欄位不是整個有效就是整個無效。本案在於加入一旗標欄位,透過靜態值、存活時間與旗標的組合來決定MAC位址欄位與埠號欄位是否各自有效。
於另一些實施例中,可歸納靜態值、旗標和存活時間等欄位作用如下表二所示。
表二:表格中的X代表不在乎其值(don’t care)
Figure 109106103-A0101-12-0006-10
Figure 109106103-A0101-12-0007-3
於一些實施例中,當封包屬於網際網路通訊協定第四版(IPv4)時,第二查找表是APR表格,此ARP表格可被網路通訊裝置100用來查詢第三層網路協定的目的IP(DIP)位址與第二層媒體存取控制(MAC)位址的對照表。ARP查找表如表三所示。
表三:ARP查找表
Figure 109106103-A0101-12-0007-5
有別於一般ARP查找表中記錄完整的MAC位址,表一中的L2查找表的列位址欄位取代掉一般記錄MAC位址。在本實施例中,列位址是L2查找表的位址資料,代表第幾個列資料項目。舉例而言,當網路通訊裝置100獲得所接收的封包的目的IP位址後,於表三的ARP查找表取得該IP位址所對應列資料,進而獲得L2查找表的列位址。接著,網路通訊裝置100根據列位址讀取表一的MAC位址。相較於一般的ARP查找表需記錄MAC位址,而花費48位元的空間,本案的ARP查找表僅需花費10位元的空間(當表一有1024個列資料時),達成節省空間的優點。
復參照表一,L2查找表包含旗標的欄位。旗標用以標示在L2查找表的列資料是否正被ARP查找表所參考,此旗標將影響L2查找表的更新與查找流程。
請參照第2圖,其繪示根據本案一些實施例中的來源MAC位址的學習更新方法的流程圖。來源MAC位址的學習更新方法是由網路通訊裝置100所執行。此來源MAC位址的學習更新方法也稱為網路映射表的操作方法。
於步驟S210,解析一接收到的封包以獲得來源MAC位址。
於一些實施例中,封包攜帶的資料包含目的地MAC位址、來源MAC位址、IP標頭、負載資料等資料。
於步驟S220,根據一接收到的封包的來源MAC位址以計算得到L2查找表的列位址。
於步驟S230,於L2查找表讀取該列位址的列資料。
於步驟S240,判斷此列資料是否為有效資料。
於一些實施例中,若此列為無效資料,則於步驟S290,對此列寫入來源MAC位址和來源埠資料,並且重置列資料的存活時間。此MAC位址學習程序便結束。
於一些實施例中,若此列為有效資料,則於步驟S250,判斷封包的來源MAC位址是否相同於列資料的MAC位址。
於一些實施例中,若封包的來源MAC位址與列資 料的MAC位址不相同,則於步驟S300,讀取L2查找表中的下一個列的列位址。接著,回到步驟S230讀取下一個列位址的列資料。於步驟S250判斷位址不相同時,於一實施例,會進入步驟S300。於另一實施例中,也可能直接結束查詢動作而不需再往下讀取下一個列位址(例如已是L2查找表的最後一列)。
於一些實施例中,若封包的來源MAC位址與列資料的MAC位址相同,則於步驟S260,讀取列資料的旗標。
於一些實施例中,旗標是1位元的資料。
於步驟S270,判斷列資料是否被ARP查找表所參考。
於一些實施例中,當旗標為1時,代表此列資料正被ARP查找表所參考。當旗標為0時,代表此列資料目前沒有被ARP查找表所參考。
於一些實施例中,當旗標的內容指示列資料正被ARP查找表所參考,則執行步驟S280。
於步驟S280,將封包的來源埠號更新至列資料的埠號欄位,並且更新此列資料的存活時間。
如此一來,若網路節點連接到網路通訊裝置100的連接埠改變,可在步驟S280自動學習到最新的連接埠號,在L2查找表中自動更新,使得在下次收到的封包之目的MAC位址與L2查找表的MAC位址相同時,可以立即地以正確的埠號轉送該封包。
於一些實施例中,當於步驟S270中判斷列資料沒有被ARP查找表所參考,則執行步驟S310。
於步驟S310,執行一般的L2查找表的來源MAC位址自動學習程序,而不予詳述。
請參照第3圖,其繪示根據本案另一些實施例中的來源MAC位址的學習更新方法的流程圖。相較於第2圖,其是以旗標的內容來決定是否根據所接收的封包內容來更新L2查找表的列資料。第3圖的實施例除了讀取旗標的內容之外,還考慮了L2查找表的靜態值、存活時間等參數。此來源MAC位址的學習更新方法也稱為網路映射表的操作方法。
於步驟S405及步驟S410,解析一接收到的封包以獲得來源MAC位址,並根據來源MAC位址計算得到L2查找表的列位址。
於步驟S415,網路通訊裝置100於L2查找表讀取該列位址的列資料。
於一些實施例中,網路通訊裝置100會讀取列資料的靜態值欄位。
於一些實施例中,靜態值為1位元的資料。舉例而言,當第i列的靜態值為1時,代表此列的列資料被軟體鎖定,因此網路通訊裝置100的硬體電路不會對此列的資料作動態更新。當第i列的靜態值為0時,代表此列的列資料沒有被鎖定,網路通訊裝置100的硬體電路可以藉由後續收到的封包資料來更新此列的資料。
於步驟S420,判斷靜態值是否等於1。
於一些實施例中,若靜態值等於1,代表此列資料被鎖定,則執行步驟S440。
於一些實施例中,若靜態值不等於1,代表列資料沒有被鎖定,則於步驟S425,判斷該列資料的旗標是否等於1。
於一些實施例中,若旗標等於1,代表此列資料被ARP表格所參考,則執行步驟S440。
於一些實施例中,若旗標不等於1,代表列資料沒有被ARP查找表所參考,則執行步驟S430,讀取列資料的存活時間,以判斷存活時間是否大於存活門檻值。
於一些實施例中,存活門檻值(或稱老化門檻)可以被設定為數值0。若此列資料的存活時間小於或等於門檻值(例如數值0),代表此列資料中的埠映射欄位內容為過時老化的無效的資料,則執行步驟S435。
於步驟S435,將封包的來源埠號以及來源MAC位址、重置的存活時間覆寫該列資料。
於另一些實施例中,若封包的目的MAC位址沒有被儲存於L2查找表,網路通訊裝置100會將封包廣播於該封包所屬的目的介面(例如虛擬區域網域)的所有連接埠,以試圖將封包送達目的主機。若網路通訊裝置100接收到一回應封包,則將回應封包的來源MAC位址和來源埠號學習到L2查找表中。當下次有相同目的MAC位址封包送達網路通訊裝置100就會在L2查找表中找到,並轉送到 一個正確的連接埠。
於步驟S430,若此列資料的存活時間大於門檻值(例如數值0),則執行步驟S440。
於步驟S440,若封包的來源MAC位址與列資料的MAC位址相同,則執行步驟S445。於一些實施例中,當列資料中的靜態值或者旗標為1;又或者存活時間大於門檻值,都可判定此為有效的列資料。
於步驟S445,再次判斷靜態值是否為1。
於一些實施例中,若此靜態值為1,則執行步驟S450。於步驟S450中,因該列資料被鎖住,不得更新列資料。此封包來源MAC位址學習過程結束。
於一些實施例中,若此靜態值為0,則執行步驟S460,將封包的來源埠號及重置的存活時間覆寫該列資料對應欄位上。
於另一些實施例中,於步驟S440,若封包的來源MAC位址不同於列資料的MAC位址,則執行步驟S455。在步驟S440表示該已讀取的列資料已被其它MAC位址資訊佔用。
於步驟S455,讀取L2查找表的下一個列的列位址,再回到步驟415,以繼續嘗試讀取下一筆列資料。於另一些實施例中,網路通訊裝置100也可能不往下讀取下一個列(例如已是L2查找表的最後一列)而停止查找動作。
於一些實施例中,當列位址指到的列資料被其它 MAC位址佔用,而繼續讀取下一筆列資料比對的查找步驟次數會在達到一個上限後停止(例如4次)。此部分屬於通常知識者可根據現有技術來適當設計,故於此不予詳述。
值得一提的是,本案不限於第3圖的步驟S420~S430的執行順序,於另一些實施例中,可變化為步驟S425、S430、S420的執行順序,換言之,可根據不同的排列組合來執行此些步驟,也可達成相同的運作結果。
於一些實施例中,第3圖的步驟S420、S445和S450是可選擇性執行的步驟。舉例而言,若L2查找表不存在靜態值的欄位,此時流程視為靜態值等於0來進行,因此可省略步驟S420、S445和S450。
請參照第4圖,其繪示根據本案一些實施例中依據封包的目的IP位址來查詢MAC位址及映射埠的流程圖。此查詢MAC位址及映射埠的方法也稱為網路映射表的操作方法。
於步驟S505中,網路通訊裝置100解析一收到的IP封包,以獲得一目的IP位址。
於步驟S510中,經過一般傳統IP封包查找流程決定是否需要查找ARP表格。此部分屬於本領域具通常知識者可根據現有技術來達成,故於此不予詳述。若不需要查找ARP表格,則執行步驟S545。若需要查找ARP表格,則執行步驟S515。
於步驟S545中,執行標準目的IP位址查找方 法。
於步驟S515中,根據目的IP位址計算得到ARP查找表的一欄位,於一些實施例中,此欄位的內容可用來索引至上述表三中的L2查找表。
於步驟S520中,讀取ARP查找表中的L2查找表的列位址之欄位內的資料,以獲得L2查找表的列位址。
於步驟S525中,根據該列位址讀取L2查找表中的列資料,並取得靜態值與存活時間的欄位資料。正常情形下,該列的旗標應代表此列資料為ARP表格所共用,故此旗標便略過不再判讀;否則便是軟體設定錯誤導致兩個表格資料不匹配。
於步驟S530和S535中,當靜態值等於一(靜態列資料)或是存活時間大於存活門檻值,則執行步驟S550。於一些實施例中,執行步驟S550表示此連接埠映射資料是有效的。若步驟S530和S535判斷為否,則執行步驟S540。
於步驟S550,讀取該L2查找表中列資料內的MAC位址當作該封包轉送時的第二層封包表頭的目的MAC位址及根據所讀取連接埠資料作為轉送出去的埠。此時目的IP查找流程便結束。
於步驟S540,讀取該L2查找表中列資料內MAC位址當作該封包轉送時的L2目的MAC位址。因為存活時間已過時,此連接埠欄位是無效的,故無法決定正確的轉送連接埠。接著只能對同屬於此目的介面的所有VLAN連 接埠(通常是複數個埠)進行廣播發送此封包。
於一些實施例中,若L2查找表中某列資料的MAC位址為ARP表格所共用時,除了該列的旗標為1,一般使用建議靜態值設為0。代表此列資料為動態列資料,使得其連接埠映射欄位可以被封包學習程序自動更新。如此一來,即使主機改變連接埠,也不會因為網路通訊裝置100未即時更新連接埠資訊,導致將封包轉送到錯的埠而使得主機可能會有很長時間收不到封包的問題發生。
第2~4圖是以收到封包屬於IPv4的架構格式來作說明。於另一些實施例中,本案的網路映射表的更新方法也適用於收到封包屬於IPv6的架構格式。
在IPv4架構中,網路通訊裝置100儲存的是ARP查找表。於另一些實施例中,在IPv6架構中,網路通訊裝置100儲存的是芳鄰探索表格(又稱第二查找表)。芳鄰探索表格包含L2查找表的列位址,以關聯至L2查找表的列資料。因此,記憶媒體120儲存有L2查找表以及芳鄰探索表格,而同樣能執行前述第2~4圖的流程。
綜上所述,本案的網路通訊裝置及網路映射表的更新方法解決了一般在ARP查找表(或芳鄰探索表格)中使用L2查找表索引值的時候,因為L2查找表的資料被覆蓋時,導致ARP查找表(或芳鄰探索表格)得到錯誤的MAC位址的問題。並且,本案能夠解決當L2查找表中的列資料存活時間欄位老化,代表其連接埠欄位已是無效資料,網路通訊裝置若參考其轉送埠資料來傳送封包會使得目的主 機無法接收到封包的問題。本案在L2查找表新增1位元的旗標的欄位,可避免列資料在未被鎖定的情況下被錯誤地更新,並且可相容於現有的L2查找表的自動學習。此外,本案可藉由硬體設計邏輯電路來實現旗標的判斷,不需要軟體或系統程式的介入,並且只需要1個位元的使用空間就可以達成。不但使用少量的硬體電路而可減少電路面積以外,所使用的儲存空間也非常小。據此,本案提供的技術手段在硬體、儲存空間節省的前提下,也可以即時地學習連接埠的改變,大幅地減少轉送到錯誤的連接埠。
S210~S310:步驟

Claims (10)

  1. 一種網路通訊裝置,包含:複數個連接埠,經配置以接收一封包;一記憶媒體,經配置以儲存一第一查找表及一第二查找表,其中該第一查找表的一列資料包含一旗標欄位,以及該第二查找表的一列資料包含該第一查找表的一列位址;以及一處理器,耦接該記憶媒體以及該些連接埠,其中該網路通訊裝置經配置以:硬體或軟體解析該封包以獲得一來源媒體存取控制(MAC)位址;根據該封包的該來源MAC位址計算得到於該第一查找表的該列資料;讀取該列資料的該旗標欄位;以及透過該旗標欄位的內容來判斷該列資料是否被該第二查找表所參考。
  2. 如請求項1所述之網路通訊裝置,其中該第一查找表的該列資料還包含一媒體存取控制(MAC)位址欄位,且該MAC位址欄位是用來與該封包的該來源MAC位址比對使用,並作為該封包轉送時的一第二層封包標頭的一目的MAC位址。
  3. 如請求項2所述之網路通訊裝置,其中該第 一查找表的該列資料還包含一埠號欄位及一存活時間欄位,其中該埠號欄位用來記錄該封包的一來源埠號,並作為該封包轉送查找時的一輸出埠號,以及該存活時間欄位用來表示該列資料是否過時老化。
  4. 如請求項3所述之網路通訊裝置,其中該第一查找表的該列資料還包含一靜態值欄位,其中該靜態值欄位用來代表該列資料是否被鎖住;若該列資料被鎖住,則該列資料為永久有效資料,並且該列資料為永不作硬體自動學習更新。
  5. 如請求項4所述之網路通訊裝置,其中當該列資料是有效資料、該MAC位址欄位與該封包的該來源MAC位址相同且該列資料沒有被鎖定時,將該封包的該來源埠號更新到該列資料的該埠號欄位,及在更新該埠號欄位時,重置該列資料的該存活時間欄位。
  6. 如請求項4所述之網路通訊裝置,其中當該MAC位址欄位與該封包的該來源MAC位址不相同、該旗標欄位指示該列資料不是該第二查找表所參考的該列資料、以及判斷該列資料為無效的列之後,將該封包的該來源MAC位址、該來源埠號寫到該列資料所對應的欄位,並重置該列資料的該存活時間欄位。
  7. 如請求項4所述之網路通訊裝置,其中該網路通訊裝置經配置以:硬體或軟體解析該封包以獲得一目的IP位址;根據該封包的該目的IP位址運算查找得到該第二查找表的該列資料;透過該第二查找表的該列資料得到該第一查找表的該列位址;以及根據該列位址讀取該第一查找表的該列資料的該MAC位址欄位。
  8. 如請求項7所述之網路通訊裝置,其中該列資料的該MAC位址欄位是該封包的該目的IP位址所對應的第二層網路協定目的MAC位址。
  9. 如請求項8所述之網路通訊裝置,其中當該列資料的該靜態值為鎖定狀態時,根據該埠號欄位決定該封包轉送的輸出埠。
  10. 一種網路映射表的操作方法,適用於一網路通訊裝置,該網路通訊裝置儲存一第一查找表及一第二查找表,其中該第一查找表的一列資料包含一旗標欄位,以及該第二查找表的一列資料包含該第一查找表的一列位址,其中該網路映射表的操作方法包含:自一連接埠接收一封包; 解析該封包以獲得一來源媒體存取控制(MAC)位址;根據該封包的該來源MAC位址計算得到於該第一查找表的該列資料;讀取該列資料的該旗標欄位;以及透過該旗標欄位的內容來判斷該列資料是否被該第二查找表所參考。
TW109106103A 2020-02-25 2020-02-25 網路通訊裝置以及網路映射表的操作方法 TWI739320B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109106103A TWI739320B (zh) 2020-02-25 2020-02-25 網路通訊裝置以及網路映射表的操作方法
US17/024,937 US11570103B2 (en) 2020-02-25 2020-09-18 Network communication device and operating method for a network mapping table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109106103A TWI739320B (zh) 2020-02-25 2020-02-25 網路通訊裝置以及網路映射表的操作方法

Publications (2)

Publication Number Publication Date
TW202133593A TW202133593A (zh) 2021-09-01
TWI739320B true TWI739320B (zh) 2021-09-11

Family

ID=77366441

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109106103A TWI739320B (zh) 2020-02-25 2020-02-25 網路通訊裝置以及網路映射表的操作方法

Country Status (2)

Country Link
US (1) US11570103B2 (zh)
TW (1) TWI739320B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210306296A1 (en) * 2020-03-27 2021-09-30 The Nielsen Company (Us), Llc Methods and apparatus to facilitate device identification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW576048B (en) * 2000-08-14 2004-02-11 Advanced Micro Devices Inc Apparatus and method for identifying data packet at wire rate on a network switch port
TW201002119A (en) * 2008-04-30 2010-01-01 Qualcomm Inc Apparatus and methods for transmitting data over a wireless mesh network
TWI381689B (zh) * 2006-01-06 2013-01-01 Qualcomm Inc 當遭遇靜默抑制時用於增進強健性標頭壓縮之效能的方法及裝置
US9559909B2 (en) * 2013-04-19 2017-01-31 Entuity Limited Identifying an egress port of a device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535509B2 (en) * 1998-09-28 2003-03-18 Infolibria, Inc. Tagging for demultiplexing in a network traffic server
US7050430B2 (en) * 2000-06-09 2006-05-23 Broadcom Corporation Gigabit switch with fast filtering processor
US7412507B2 (en) * 2002-06-04 2008-08-12 Lucent Technologies Inc. Efficient cascaded lookups at a network node
JP4640128B2 (ja) * 2005-11-16 2011-03-02 日立電線株式会社 応答通信機器及びarp応答通信機器
CN100586108C (zh) * 2007-09-26 2010-01-27 杭州华三通信技术有限公司 一种更新地址解析协议表中端口地址的方法和设备
US8259726B2 (en) * 2009-05-28 2012-09-04 Force10 Networks, Inc. Method and apparatus for forwarding table reduction
CN103139071B (zh) * 2011-11-29 2016-07-13 华为技术有限公司 报文转发方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW576048B (en) * 2000-08-14 2004-02-11 Advanced Micro Devices Inc Apparatus and method for identifying data packet at wire rate on a network switch port
TWI381689B (zh) * 2006-01-06 2013-01-01 Qualcomm Inc 當遭遇靜默抑制時用於增進強健性標頭壓縮之效能的方法及裝置
TW201002119A (en) * 2008-04-30 2010-01-01 Qualcomm Inc Apparatus and methods for transmitting data over a wireless mesh network
US9559909B2 (en) * 2013-04-19 2017-01-31 Entuity Limited Identifying an egress port of a device

Also Published As

Publication number Publication date
TW202133593A (zh) 2021-09-01
US20210266258A1 (en) 2021-08-26
US11570103B2 (en) 2023-01-31

Similar Documents

Publication Publication Date Title
CN110808910B (zh) 一种支持QoS的OpenFlow流表节能存储架构及其方法
US7630373B2 (en) Packet transfer apparatus
JP4834493B2 (ja) ネットワーク中継装置、および、ネットワーク中継装置の制御方法
US6757279B1 (en) Method for synchronizing databases in stacked network units
US20100054251A1 (en) Method of processing packet for improving performance of ethernet switch
US10397115B1 (en) Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets
WO2017206787A1 (zh) 通信网络设备的报文转发控制方法及通信网络设备
US10187293B2 (en) Apparatus and method for multicast data packet forwarding
US11362948B2 (en) Exact match and ternary content addressable memory (TCAM) hybrid lookup for network device
US20060114915A1 (en) VLAN translation in a network device
US7142541B2 (en) Determining routing information for an information packet in accordance with a destination address and a device address
CA2614502A1 (en) Method and apparatus for forwarding service in a data communication device
WO2021104393A1 (zh) 多规则流分类的实现方法、设备和存储介质
TWI739320B (zh) 網路通訊裝置以及網路映射表的操作方法
WO2016138845A1 (zh) 一种实现协议报文上送cpu的方法和装置
US11146476B2 (en) MSDC scaling through on-demand path update
CN110971526B (zh) 一种混合交换机fdb资源的流表扩展方法及装置
CN113364891B (zh) 网络通信装置以及网络映像表的操作方法
US20090262740A1 (en) Transmission Information Transfer Apparatus and Method Thereof
US20120106555A1 (en) Low latency carrier class switch-router
US7817633B1 (en) Method of providing virtual router functionality through abstracted virtual identifiers
CN114024885B (zh) 一种基于子网掩码划分的ip路由表管理系统及方法
JP2005333220A (ja) ネットワークノード装置
US11374834B2 (en) Network traffic flooding for unknown data-link to transport mapping scenarios
WO2022206397A1 (zh) 一种缓存方法及集成电路