TWI761312B - 用於處理在一電腦網路中之封包的系統及方法 - Google Patents

用於處理在一電腦網路中之封包的系統及方法 Download PDF

Info

Publication number
TWI761312B
TWI761312B TW105129998A TW105129998A TWI761312B TW I761312 B TWI761312 B TW I761312B TW 105129998 A TW105129998 A TW 105129998A TW 105129998 A TW105129998 A TW 105129998A TW I761312 B TWI761312 B TW I761312B
Authority
TW
Taiwan
Prior art keywords
packet
mac address
port
computing device
forwarding device
Prior art date
Application number
TW105129998A
Other languages
English (en)
Other versions
TW201720108A (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 美商谷歌有限責任公司
Publication of TW201720108A publication Critical patent/TW201720108A/zh
Application granted granted Critical
Publication of TWI761312B publication Critical patent/TWI761312B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Abstract

本發明提供用於處理封包之系統及方法。一種系統可包含第一計算裝置、一第二計算裝置及一第一封包轉遞裝置。該第一計算裝置及該第二計算裝置之各者可通信地耦合至該第一封包轉遞裝置之一各自埠。該第一封包轉遞裝置之各埠可被指派一唯一MAC位址。對於自該第一計算裝置接收之一第一封包,該第一封包轉遞裝置可經組態以:判定該第一封包之一目的地MAC位址匹配指派給其上接收到該第一封包之該埠之該MAC位址;及回應於該判定而將該第一封包轉遞至該第二計算裝置。對於自該第二計算裝置接收之一第二封包,該第一封包轉遞裝置可經組態以經由其之MAC位址匹配該第二封包之一源MAC位址之該埠轉遞該第二封包。

Description

用於處理在一電腦網路中之封包的系統及方法
資訊經由電腦網路傳輸。將資訊表示為劃分成封包之位元。封包自網路裝置(諸如交換機及路由器)之間傳遞而透過電腦網路傳播資訊。各封包自其源傳輸朝向由各自封包中之標頭資訊指定之一目的地。一封包之源及目的地可分別在網路之不同部分中。源與目的地之間可存在多個可能路線。
在一些態樣中,本發明係關於一種系統。該系統可包含一第一計算裝置、一第二計算裝置及一第一封包轉遞裝置。該第一計算裝置及該第二計算裝置之各者可通信地耦合至該第一封包轉遞裝置之一各自埠。對於自該第一計算裝置接收之一第一封包,該第一封包轉遞裝置可經組態以判定該第一封包之一目的地MAC位址與其上接收到該第一封包之該埠相關聯。該第一封包轉遞裝置亦可經組態以回應於該判定該第一封包之該目的地MAC位址與其上接收到該第一封包之該埠相關聯而將該第一封包轉遞至該第二計算裝置。對於自該第二計算裝置接收之一第二封包,該第一封包轉遞裝置可經組態以經由與該第二封包之一源MAC位址相關聯之該埠轉遞該第二封包。 在一些實施方案中,該第一封包轉遞裝置進一步經組態以回應於判定該第二封包之該源MAC位址不與該第一封包轉遞裝置之任何埠相關聯而丟棄該第二封包。在一些實施方案中,對於自該第一計算裝置接收之一第三封包,該第一封包轉遞裝置經組態以:判定該第三封包係一廣播封包及一多播封包之一者;將該第三封包之一目的地MAC位址改變為指派給其上接收到該第三封包之該埠之一MAC位址;及將該第三封包轉遞至該第二計算裝置。 在一些實施方案中,指派給該第一封包轉遞裝置之至少一個埠之一MAC位址係基於該第一封包轉遞裝置之一IP位址及唯一地識別該至少一個埠之一數字。在一些實施方案中,指派給該第一封包轉遞裝置之至少一個埠之一MAC位址包含該第一封包轉遞裝置之該IP位址及唯一地識別該至少一個埠之該數字。 在一些實施方案中,該第一封包轉遞裝置進一步經組態以:判定自該第一計算裝置接收之一第四封包之一目的地MAC位址不與其上接收到該第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址;及回應於該判定該第四封包之該目的地MAC位址不與其上接收到該第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址而丟棄該第四封包。 在一些實施方案中,該系統可包含一第三計算裝置,其包含複數個埠。該第三計算裝置可通信地耦合至該第一封包轉遞裝置之一各自埠。該第一封包轉遞裝置可進一步經組態以判定自該第三計算裝置接收之一第五封包之一目的地MAC位址與該第三計算裝置之一裝置ID相關聯。該第一封包轉遞裝置亦可進一步經組態以回應於判定一第五封包之該目的地MAC位址與該第三計算裝置之該裝置ID相關聯而將該第五封包轉遞至該第二計算裝置。 在一些實施方案中,該第三計算裝置經組態以:判定自該第一封包轉遞裝置接收之一第六封包之一源MAC位址與該第三計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯;及經由與該第六封包之該源MAC位址相關聯之該第三計算裝置之該埠轉遞該第六封包。在一些實施方案中,該第一計算裝置進一步經組態以確保目的地為該第二計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一目的地MAC位址。在一些實施方案中,該第二計算裝置進一步經組態以確保目的地為該第一計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一源MAC位址。 在一些態樣中,本發明係關於一種處理封包之方法。該方法可包含藉由一第一封包轉遞裝置自一第一計算裝置接收一第一封包。該方法可包含藉由該第一封包轉遞裝置判定該第一封包之一目的地MAC位址與其上接收到該第一封包之埠相關聯。該方法可包含回應於該判定該第一封包之該目的地MAC位址與其上接收到該第一封包之該埠相關聯而藉由該第一封包轉遞裝置將該第一封包轉遞至一第二計算裝置。該方法可包含藉由該第二計算裝置將一第二封包傳輸至該第一封包轉遞裝置。該方法可包含藉由該第一封包轉遞裝置經由與該第二封包之一源MAC位址相關聯之埠轉遞該第二封包。 在一些實施方案中,該方法可包含藉由該第一封包轉遞裝置判定該第二封包之一源MAC位址不與該第一封包轉遞裝置之任何埠相關聯;及回應於該判定該第二封包之該源MAC位址不與該第一封包轉遞裝置之任何埠相關聯而藉由該第一封包轉遞裝置丟棄該第二封包。 在一些實施方案中,該方法可包含藉由該第一封包轉遞裝置自該第一計算裝置接收一第三封包。該方法可包含藉由該第一封包轉遞裝置判定該第三封包係一廣播封包及一多播封包之一者。該方法可包含藉由該第一封包轉遞裝置將該第三封包之一目的地MAC位址改變為指派給其上接收到該第三封包之埠之一MAC位址。該方法可包含藉由該第一封包轉遞裝置將該第三封包轉遞至該第二計算裝置。 在一些實施方案中,指派給該第一封包轉遞裝置之至少一個埠之一MAC位址係基於該第一封包轉遞裝置之一IP位址及唯一地識別該至少一個埠之一數字。在一些實施方案中,指派給該第一封包轉遞裝置之至少一個埠之一MAC位址包含該第一封包轉遞裝置之該IP位址及唯一地識別該至少一個埠之該數字。 在一些實施方案中,該方法可包含藉由該第一封包轉遞裝置自該第一計算裝置接收一第四封包。該方法可包含藉由該第一封包轉遞裝置判定該第四封包之一目的地MAC位址不與其上接收到該第四封包之埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址。該方法可包含回應於該判定該第四封包之該目的地MAC位址不與其上接收到該第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址而藉由該第一封包轉遞裝置丟棄該第四封包。 在一些實施方案中,該方法可包含藉由該第一封包轉遞裝置自一第三計算裝置接收一第五封包。該第三計算裝置可包含複數個埠。該方法可包含藉由該第一封包轉遞裝置判定自該第三計算裝置接收之該第五封包之一目的地MAC位址與該第三計算裝置之一裝置ID相關聯。該方法可包含回應於判定一第五封包之該目的地MAC位址與該第三計算裝置之該裝置ID相關聯而藉由該第一封包轉遞裝置將該第五封包轉遞至該第二計算裝置。 在一些實施方案中,該方法可包含藉由該第一封包轉遞裝置將一第六封包轉遞至該第三計算裝置。該方法可包含藉由該第三計算裝置判定自該第一封包轉遞裝置接收之一第六封包之一源MAC位址與該第三計算裝置通信地耦合之該第一封包轉遞裝置之埠相關聯。該方法可包含藉由該第三計算裝置經由與該第六封包之該源MAC位址相關聯之該第三計算裝置之該埠轉遞該封包。 在一些實施方案中,該方法可包含藉由該第一計算裝置確保目的地為該第二計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之埠相關聯之一目的地MAC位址。在一些實施方案中,該方法可包含藉由該第二計算裝置確保目的地為該第一計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一源MAC位址。
相關申請案之交叉參考 本申請案主張2015年9月15日申請之標題為「SYSTEMS AND METHODS FOR PROCESSING PACKETS IN A COMPUTER NETWORK」之美國專利申請案第14/854,939號之優先權,該案之內容以引用的方式併入本文中。 本發明之系統及方法係關於封包處理。特定言之,本發明描述一種類型之封包轉遞裝置,其可藉由提供對在主機裝置與路由裝置之間發送之封包之埠級控制而改良網路安全性。封包轉遞裝置可包含數個下行埠及一單一上行埠,且可依容許上游裝置確定其自主機裝置接收之各封包之來源的一方式在下行埠與上行埠之間轉遞全部封包。一般而言,一封包之來源可指代封包之起源及封包在至上游裝置之途中所行進通過之封包轉遞裝置之下行埠之組。上游裝置及封包轉遞裝置亦可經組態以容許上游裝置選擇由上游裝置傳輸之一封包將透過其離開之封包轉遞裝置之埠之組。 圖1A係用於轉遞封包之一例示性系統100之一方塊圖。系統100包含複數個主機裝置102a至102h (通稱為主機裝置102)、三個封包轉遞裝置110a至110c (通稱為封包轉遞裝置110)及一路由裝置122。系統100亦包含連接至路由裝置122之一網路124。在一些實施方案中,網路124可為一大的外部電腦網路,諸如網際網路。例如,路由裝置122可為對主機裝置102提供網際網路存取之一企業網路之一閘道裝置。在一些其他實施方案中,網路124可為一不同電腦網路。 封包轉遞裝置110a包含三個下行埠114a至114c及一個上行埠118a。類似地,封包轉遞裝置110b包含三個下行埠114d至114f及一個上行埠118b,且封包轉遞裝置110c包含三個下行埠114g至114i及一個上行埠118c。下行埠114a至114i通稱為下行埠114,而上行埠118a至118c通稱為上行埠118。將一埠標記為為一「上行」埠或一「下行」埠並不指代封包可行進通過埠之方向。代替性地,其指代埠相對於系統100之整體階層之相對位置。因此,上行埠118經定位而較靠近路由裝置122,而下行埠114經定位而較靠近主機裝置102。 封包轉遞裝置110a及110b經由其等各自上行埠118a及118b直接連接至路由裝置122。封包轉遞裝置110c之上行埠118c連接至封包轉遞裝置110b之下行埠114f。因此,封包轉遞裝置110b及封包轉遞裝置110c連接成一「串接」配置。因此,在路由裝置122與封包轉遞裝置110c之間行進之封包亦必須傳遞通過封包轉遞裝置110b。封包轉遞裝置110b之下行埠114f可稱為一串接埠,此係因為其連接至串接封包轉遞裝置110c而非一主機裝置102。與僅用封包轉遞裝置110b將可能相比,封包轉遞裝置110b及110c之串接配置可容許更多主機裝置102連接至路由裝置122,此係因為封包轉遞裝置110c提供可各自連接至一額外主機裝置102之額外下游埠114。在一些實施方案中,系統100可包含兩個以上層級之串接封包轉遞裝置110。例如,系統100可包含三個、四個、五個或更多個層級之串接封包轉遞裝置110。 在一些實施方案中,下行埠114f可為一專用串接埠(即,應僅連接至一串接封包轉遞裝置110 (諸如封包轉遞裝置110c)且不應直接連接至一主機裝置102之一埠)。在一些其他實施方案中,封包轉遞裝置110b之下行埠114之任一者可組態為一串接埠,且用作一串接埠之下行埠114f之選擇可為任意的。例如,封包轉遞裝置110b可維護指示其之哪一下行埠114係一串接埠之一表。當一封包轉遞裝置110耦合至一下游埠114時,表可經更新以指示串接封包轉遞裝置110所連接之下行埠114係一串接埠。維護對應於用作一串接埠之下行埠114之資訊可有助於處理自路由裝置122接收之封包,如下文進一步描述。 各主機裝置102連接至封包轉遞裝置110之一者之一各自下行埠114。雖然將各封包轉遞裝置110展示為包含三個下行埠114,但應瞭解,此組態僅為闡釋性的。在其他實施方案中,各封包轉遞裝置110可包含更大數目個下行埠114。例如,在一些實施方案中,各封包轉遞裝置110可包含16個、32個、64個或128個下行埠114。在一些實施方案中,各封包轉遞裝置110可包含多達255個下行埠114。 封包轉遞裝置110可經組態以提供對路由裝置122與主機裝置102之間的網路訊務之埠級控制,使得路由裝置122可確定一傳入封包來自哪一下行埠114。此可容許路由裝置122追蹤一封包之源,此可提供系統100之改良的安全性。例如,若路由裝置122接收到含有一惡意酬載之一封包,則可識別自其發送惡意封包之主機裝置102。識別主機裝置102可容許採取校正動作,諸如自系統100移除該主機裝置102或修復該主機裝置102。封包轉遞裝置110亦可經組態以容許路由裝置122選擇一傳出封包將離開哪一下行埠114。在一些實施方案中,此可容許路由裝置122實現系統100內之負載平衡。 為容許路由裝置122確定傳入封包之來源且選擇各傳出封包將離開之下行埠114,封包轉遞裝置110之各下行埠114可與一或多個MAC位址相關聯。例如,直接連接至一主機裝置102之各下行埠114可與指派給該下行埠114之一唯一MAC位址相關聯。指派給一下行埠114之MAC位址可不僅相對於相同封包轉遞裝置110上之其他下行埠114之MAC位址係唯一的,而且相對於其他封包轉遞裝置110之下行埠114係唯一的。各主機裝置102可經組態以用匹配主機裝置102所連接之各自下行埠114之一目的地MAC位址定址引導朝向一封包轉遞裝置110之封包。與封包轉遞裝置110a相比,一典型網路節點(諸如一交換機)通常具有一單一MAC位址,且主機裝置用相同目的地MAC位址定址引導至該節點之封包,而不管主機裝置連接至哪些埠。因為系統100中之各主機裝置102連接至一各自下行埠114,且直接連接至一主機裝置102之各下行埠114被指派一唯一MAC位址,所以基於封包之標頭中含有之目的地資訊,可判定經由封包轉遞裝置110到達路由裝置122之一封包源自一特定主機裝置102。 在一些實施方案中,指派給一封包轉遞裝置110之一下行埠114之MAC位址可基於唯一地識別該封包轉遞裝置110與其他封包轉遞裝置110之資訊及唯一地識別該下行埠114與該封包轉遞裝置110上之其他下行埠114之資訊。例如,在一些實施方案中,唯一地識別各封包轉遞裝置110之資訊(有時稱為一裝置ID)可為與封包轉遞裝置110相關聯之一IPv4位址。在一些其他實施方案中,其他識別資訊可用來區分各封包轉遞裝置110。例如,封包轉遞裝置110可藉由諸如序號之值或藉由另一硬體位址(諸如與各封包轉遞裝置100相關聯之一MAC位址)彼此區分。在一些實施方案中,唯一地識別各封包轉遞裝置110上之下行埠114之資訊可為一給定封包轉遞裝置110上之各下行埠114所獨有之一任意數字,但關於指派給一不同封包轉遞裝置110之一下行埠114之數字可能並非唯一的。例如,一下行埠114可由介於一與封包轉遞裝置100上之埠之數目之間的一整數唯一地識別。在一些實施方案中,各埠可被指派介於1與255之間的一整數。 在一些實施方案中,唯一地識別系統100中之一下行埠114與每一其他下行埠114之資訊組(即,唯一地識別封包轉遞裝置110與其他封包轉遞裝置110之資訊外加唯一地識別該下行埠114與該封包轉遞裝置110上之其他下行埠114之資訊)可呈指派給直接連接至一主機裝置102之各下行埠114之一MAC位址之形式。因為此資訊組係系統100中之各下行埠114所獨有的,所以此等MAC位址在系統100內亦可為唯一的。例如,在一些實施方案中,指派給一下行埠114之MAC位址可基於指派給其上定位該下行埠114之封包轉遞裝置110之IP位址及從該封包轉遞裝置110上之其他下行埠之中唯一地識別該下行埠114之一數字。 在一些實施方案中,指派給一下行埠114之MAC位址可包含指派給其上定位該下行埠114之封包轉遞裝置110之IP位址及從該封包轉遞裝置110上之其他下行埠114之中唯一地識別該下行埠114之數字。通常,一MAC位址係可表達為一串12個十六進數位之一48位元數字。在一些實施方案中,一MAC位址之前兩個十六進數位可限於特定值。指派給一下行埠114之MAC位址可包含前兩個十六進數位之任何有效值。例如,指派給一下行埠114之MAC位址之前兩個十六進數位之有效值可包含02或0E。指派給一下行埠114之MAC位址之接下來八個十六進數位可對應於其上定位下行埠114之封包轉遞裝置110之IPv4位址,且最後兩個十六進數位可為介於一與封包轉遞裝置110支援之下行埠114之數目之間的一數字。在此實例中,指派給一特定封包轉遞裝置110之下行埠114之MAC位址之前十個十六進數位將為相同的,且可用作該封包轉遞裝置110之全部下行埠114之一共同首碼。該封包轉遞裝置110之各下行埠114上之最後兩個十六進數位將為不同的。 在一些實施方案中,以一串接方式連接至其他封包轉遞裝置110而非直接連接至主機裝置102之下行埠114 (諸如連接至封包轉遞裝置110c之下行埠114f)可未被指派一各自MAC位址。代替性地,此等下行埠114可與其等所連接之串接封包轉遞裝置110之下行埠114之MAC位址相關聯。例如,下行埠114f可未被指派其自身之MAC位址,而是可與串接封包轉遞裝置110c之下行埠114g至114i之MAC位址相關聯。在一些實施方案中,一下行埠114可與多級串接之封包轉遞裝置110中之全部下行埠114之MAC位址相關聯。因此,一般而言,一給定下行埠114可與一或多個MAC位址相關聯,該一或多個MAC位址可包含指派給該下行埠114之一唯一MAC位址以及連接至該下行埠114之串接封包轉遞裝置110上之下行埠114之MAC位址。 在一些實施方案中,封包轉遞裝置110可根據一組規則處理封包,該組規則經選擇以容許一上游裝置(諸如路由裝置122)判定自主機裝置102傳輸至該上游裝置之各封包之來源。下文進一步論述此等規則,其等可部分基於與封包透過其等傳輸之下行埠114相關聯之MAC位址。 在一些實施方案中,封包轉遞裝置110可經組態以容許路由裝置122選擇自該路由裝置122傳輸之一封包將離開之下行埠114。例如,路由裝置122可經組態以產生目的地為主機裝置102a之封包,使得經產生封包之一源MAC位址匹配指派給主機裝置102a所連接之下行埠(即,下行埠114a)之MAC位址。封包轉遞裝置110a可經組態以判定自路由裝置122接收之封包之源MAC位址與指派給下行埠114a之MAC位址相關聯(例如,匹配),且可回應於該判定而經由下行埠114a轉遞封包。若封包轉遞裝置110a判定自路由裝置122接收之封包之源MAC位址不與下行埠114a至114c之任一者相關聯,則封包轉遞裝置110a可經組態以丟棄封包。因此,在此實例中,封包轉遞裝置110a基於一封包之源MAC位址轉遞封包,且丟棄其等源MAC位址不與封包轉遞裝置110a之下行埠114a至114c之任一者相關聯之封包。此可有助於防止受產生具有偽造成匹配路由裝置122之位址及主機裝置102之一者之一目的地MAC位址的一源MAC位址之一封包的一裝置之攻擊。將丟棄此一封包,此係因為源MAC位址將不會是與封包轉遞裝置110之下行埠114之任一者相關聯之一MAC位址。 圖1B係用於轉遞封包之另一例示性系統101之一方塊圖。如同圖1中展示之系統100,系統101包含連接至網路124之路由裝置122。系統101亦包含三個主機裝置102i至102k (通稱為主機裝置102)以及兩個封包轉遞裝置110d及110e (通稱為封包轉遞裝置110)。封包轉遞裝置110d及110e類似於圖1中展示之封包轉遞裝置110a至110c,且主機裝置102i至102k類似於圖1中展示之主機裝置102。例如,封包轉遞裝置110d包含三個下行埠114j至114l及一個上行埠118d,且封包轉遞裝置110e包含三個下行埠114m至114o及一個上行埠118e。下行埠114j至1140通稱為下行埠114,而上行埠118d及118e通稱為上行埠118。 封包轉遞裝置110d及110e經由其等各自上行埠118d及118e直接連接至路由裝置122。系統101與圖1中展示之系統100之不同之處在於系統101中之各主機裝置102與路由裝置122之間存在多個路徑。例如,可經由下行埠114j或下行埠114k聯繫到主機裝置102i,可經由下行埠114l或下行埠114m聯繫到主機裝置102j,且可經由下行埠114n或下行埠114o聯繫到主機裝置102k。如上文結合圖1A論述,直接連接至一主機裝置102之各下行埠114被指派一唯一MAC位址。 指派給下行埠114之唯一MAC位址可容許路由裝置122選擇至各主機裝置102之一特定路徑。例如,如上文論述,路由裝置122可經組態以產生一封包,該封包之源MAC位址匹配該封包應透過其離開之下行埠114之MAC位址。因此,路由裝置122可藉由將一封包之源MAC位址設定為沿所要路線鋪設之下行埠114之MAC位址而選擇該封包之一特定路線。 在一些實施方案中,路由裝置122可基於一負載平衡方案選擇一路線。例如,路由裝置122可經由封包轉遞裝置110d透過下行埠114j或下行埠114k、藉由指定對應封包之源MAC位址欄位中之所要埠之識別符而將一封包或一封包流選擇性地路由至主機裝置102i。如此做可幫助防止下行埠114j及114k之任一者變得擁塞。上述功能性在具有在聚合節點與各種伺服器機架之間提供多個路線之更複雜交換結構之階層網路(例如,資料中心網路)中可特別有價值。 應瞭解,系統101之拓撲僅為闡釋性的。例如,在一些實施方案中,系統101可包含額外封包轉遞裝置110,該等額外封包轉遞裝置110之一些者可以串接方式配置。各主機裝置102亦可連接至兩個以上的下行埠114或僅一單一下行埠114。 圖1A中展示之系統100及圖1B中展示之系統101中之各封包轉遞裝置110通常可包含能夠與其他裝置(例如,其他封包轉遞裝置110)通信之任何類型之裝置。例如,各封包轉遞裝置110可為一電腦、一路由器、一交換機、一伺服器或此等元件之任何組合。類似地,主機裝置102及路由裝置122亦可為一電腦、一路由器、一交換機、一伺服器或此等元件之任何組合。封包轉遞裝置110、主機裝置102及路由裝置122可各自包含至少一個處理器、一記憶體及一網路介面卡。在一些實施方案中,網路124可為網際網路,且系統100可表示連接至網際網路之一資料中心。例如,主機裝置102可經組態以儲存由資料中心代管之資料且經由封包轉遞裝置110及路由裝置122接收對資料之請求並對該等請求作出回應。一般而言,資料中心可支援廣範圍之電腦網路訊務,包含與以下各者相關聯之訊務:即時內容遞送、由個人或行動電腦之使用者存取之雲端計算服務、資料儲存、資料索引、資料備份、大量資料傳送及資料存取。在一些其他實施方案中,系統100可表示連接至網際網路或另一外部網路之一企業網路。 圖2係圖1A中展示之例示性封包轉遞裝置110b之方塊圖。如上文論述,封包轉遞裝置110b包含下行埠114d至114f (通稱為下行埠114)及一上行埠118b。封包轉遞裝置110b亦包含一MAC位址廣告模組201、一標頭修改模組204、一封包轉遞模組206及一記憶體208。 在一些實施方案中,MAC位址廣告模組201可經組態以將指示直接連接至主機裝置之下行埠114之唯一MAC位址之資訊發送至連接至一下行埠114之各裝置。例如,MAC位址廣告模組201可分別將與下行埠114d及114e相關聯之MAC位址發送至連接至該等埠之裝置。 在一些實施方案中,MAC位址廣告模組201可經組態以回應於自連接至各自下行埠114之裝置接收到一請求而將適當MAC位址發送至該等下行埠114。例如,MAC位址廣告模組201可經組態以對自所連接主機裝置接收之位址解析協定(ARP)請求作出回應。例如,連接至一下行埠114d之一裝置可將一ARP請求發送至封包轉遞裝置110b。MAC位址廣告模組201可藉由將對應於下行埠114d之MAC位址之資訊傳輸至連接至下行埠114d之裝置而ARP請求作出回應。可自連接至下行埠114e之裝置接收ARP請求並處理ARP請求。因此,連接至封包轉遞裝置110b之不同下行埠114之裝置可接收到對ARP請求之不同回應。相比之下,典型網路裝置經組態以用一單一位址對ARP請求作出回應,而不管起始ARP請求之裝置所連接之埠。MAC位址廣告模組201可進一步經組態以經由其上游埠118b廣告其下行埠114之MAC位址。如上文論述,連接至另一封包轉遞裝置110c而非一主機裝置102 (如圖1A中展示)之下游埠114f可未被指派一MAC位址,而是可與以一串接方式耦合至封包轉遞裝置110b之其他封包轉遞裝置之下行埠114 (諸如圖1A中展示之封包轉遞裝置110c之下行埠114)之MAC位址相關聯。因此,MAC位址廣告模組亦可經組態以經由其上游埠118b廣告此等埠之MAC位址。 封包轉遞模組206可經組態以基於下文結合圖3及圖4論述之一組規則轉遞封包。例如,對於經由一下行埠114直接自一主機裝置接收之一封包,封包轉遞模組206可經組態以判定一經接收封包之目的地MAC位址是否與其上接收到該封包之下行埠114相關聯。在一些實施方案中,可將與各下行埠114相關聯之MAC位址儲存於記憶體208中。封包轉遞模組206可自記憶體208擷取該資訊,且可比較經由一下行埠114接收之一封包之目的地MAC位址與該資訊以判定是否經由上行埠118轉遞該封包。 標頭修改模組204可經組態以修改由封包轉遞裝置110b接收之一封包之標頭內含有之資訊。在一些實施方案中,可必需修改封包標頭資訊以容許一上游裝置(諸如圖1A中展示之路由裝置122)判定來自下游之一封包之來源(例如,封包傳遞通過之封包轉遞裝置110之下行埠114之組)。例如,在一些實施方案中,一主機裝置可傳輸一封包,該封包具有將該封包識別為一廣播或多播封包之一目的地MAC位址。然而,若自路由裝置接收之該封包在傳遞通過封包轉遞裝置110b之後未改變,則路由裝置將無法判定封包行進通過之下行埠114。為解決此問題,標頭修改模組204可經組態以判定自下行埠114之一者接收之一封包是否為一廣播或多播封包,且若是,則修改封包之標頭。封包之標頭可經修改以包含匹配指派給其上接收到該封包之下行埠114之目的地MAC位址之一目的地MAC位址,使得路由裝置可藉由檢查封包之目的地MAC位址欄位而判定封包之來源。 在一些實施方案中,封包轉遞模組206可經組態以判定經接收封包之目的地MAC位址,且比較該目的地MAC位址與相關聯於廣播及多播封包之一目的地MAC位址清單。例如,此一清單可維護在記憶體208中。若一經接收封包係一廣播或多播封包,則封包轉遞模組206可將該封包發送至標頭修改模組204,該標頭修改模組204可經組態以改變封包之標頭內含有之目的地欄位以匹配指派給其上接收到該封包之下行埠114之MAC位址。封包轉遞模組206可將經修改封包發送至路由裝置。當路由裝置接收到經修改封包時,路由裝置可藉由檢查經接收封包之目的地欄位而判定該封包行進通過之下行埠114。 在一些實施方案中,封包轉遞模組206可判定是否轉遞經由一串接下行埠114接收之一封包。例如,封包轉遞裝置110b可儲存與定位於封包轉遞裝置110b之下行埠114d至114f與一或多個主機裝置102之間的全部串接封包轉遞裝置110之下行埠114相關聯之一MAC位址清單。此一清單可儲存於例如記憶體208中。封包轉遞模組206可經組態以比較經由一下行埠114接收之一封包之目的地MAC位址與儲存於清單中之MAC位址。若判定一匹配,則封包轉遞模組206可經由上游埠118b轉遞封包。若未判定一匹配,則可丟棄封包。在一些其他實施方案中,封包轉遞裝置110b可儲存與定位於封包轉遞裝置110b之下行埠114d至114f與一或多個主機裝置102之間的全部串接封包轉遞裝置110之下行埠114相關聯之一常見MAC位址首碼清單。如上文論述,一常見首碼可為跨一封包轉遞裝置110之全部下行埠114相同之MAC位址之一部分(即,前十個十六進數位)。因此,封包轉遞模組206可藉由判定一經接收封包之目的地MAC位址之首碼與一串接封包轉遞裝置110之常見首碼之間的一匹配,而非藉由判定經接收封包之整個目的地MAC位址與相關聯於串接封包轉遞裝置110之任一者上之一下行埠114之唯一MAC位址之間的一匹配,而更有效率地判定是否轉遞經由一串接下行埠114接收之一封包。 在一些實施方案中,封包轉遞模組206可經組態以經由一下行埠114轉遞直接自一上游裝置(諸如圖1A中展示之路由裝置122或另一封包轉遞裝置110)接收之一封包。例如,封包轉遞模組206可經組態以判定經接收封包之源MAC位址是否與任何下行埠114相關聯。在一些實施方案中,可將與各下行埠114相關聯之MAC位址儲存於記憶體208中。封包轉遞模組206可自記憶體208擷取該資訊,且可比較經由上行埠118接收之一封包之源MAC位址與該資訊。若判定一匹配,則封包轉遞模組206可經組態以經由與經接收封包之源MAC位址相關聯之下行埠114轉遞該經接收封包。例如,若一下游埠114之一MAC位址匹配經接收封包之源MAC位址,或若下游埠114連接至具有其MAC位址匹配經接收封包之源MAC位址之一下行埠之另一封包轉遞裝置110,則可判定一關聯。因此,對於自一上游裝置接收之一封包,封包轉遞模組206可回應於判定經接收封包之源位址與相關聯於串接下行埠114之一MAC位址之間的匹配而經由適當下行埠114轉遞該封包。在一些實施方案中,下行埠114可為一串接下行埠114,其連接至具有其MAC位址匹配經接收封包之源MAC位址之一下行埠之另一封包轉遞裝置110。若未判定匹配,則封包轉遞模組206可經組態以丟棄封包。 在一些其他實施方案中,封包轉遞模組206可回應於判定一封包之源MAC位址不匹配指派給直接連接至主機裝置之下行埠114之任一者之MAC位址而將該封包轉遞至一串接封包轉遞裝置110,而無需判定該封包之源MAC位址匹配與定位於封包轉遞裝置110b之下行埠114d至114f與一或多個主機裝置102之間的全部串接封包轉遞裝置之下行埠114相關聯之源MAC位址。當封包到達串接中之最後封包轉遞裝置110時,該封包轉遞裝置可基於其自身對封包之源MAC位址之檢查而判定是丟棄封包還是轉遞封包。 在一些實施方案中,MAC位址廣告模組201、標頭修改模組204及封包轉遞模組206可各自實施為專用邏輯電路,諸如一場可程式化閘陣列(FPGA)或一特定應用積體電路(ASIC)。在其他實施方案中,MAC位址廣告模組201、標頭修改模組204及封包轉遞模組206可實施為儲存於一電腦可讀媒體上且在一或多個通用處理器上執行之一或多個軟體模組。在一些實施方案中,可將MAC位址廣告模組201、標頭修改模組204及封包轉遞模組206之一些或全部者之功能性組合至一單一模組中或進一步細分至較小模組中。封包轉遞裝置110b亦可包含圖2中未繪示之其他通信硬體,諸如一網路介面卡、額外記憶體模組及輸入/輸出裝置。 應瞭解,圖1A及圖1B中展示之系統100中包含之封包轉遞裝置110之任一者可包含類似於上文結合封包轉遞裝置110b描述之模組之模組。例如,封包轉遞裝置110a及封包轉遞裝置110d可各自包含一各自MAC位址廣告模組201、一各自標頭修改模組204、一各自封包轉遞模組206及一各自記憶體208。其他封包轉遞裝置110中包含之模組可依類似於上文結合封包轉遞裝置110b之模組論述之方式之一方式操作。 圖3係繪示轉遞封包之一例示性程序300之一流程圖。在一些實施方案中,程序300可用於處理由一封包轉遞裝置(諸如圖1A及圖1B中展示之封包轉遞裝置110)自一計算裝置(諸如圖1A及圖1B中展示之主機裝置102之任一者)接收之封包。簡言之,程序300包含藉由一封包轉遞裝置自一第一計算裝置接收一封包(階段302)。程序300包含判定經接收封包是否為一廣播封包及一多播封包之一者(階段304)。若封包係一廣播封包或一多播封包,則程序300包含:將封包之一目的地MAC位址改變為其上接收到該封包之埠之MAC位址(階段306);及將經修改封包轉遞至一第二計算裝置(階段308)。若封包既非一廣播封包亦非一多播封包,則程序300包含判定封包之一目的地MAC位址是否與其上接收到該封包之埠相關聯(階段310)。若封包之目的地MAC位址與其上接收到該封包之埠相關聯,則程序300包含將封包轉遞至第二計算裝置(階段312)。若封包之目的地MAC位址不與其上接收到該封包之埠相關聯,則程序300包含丟棄封包(階段314)。 再次參考圖3,程序300包含藉由一封包轉遞裝置自一第一計算裝置接收一封包(階段302)。在一些實施方案中,第一計算裝置可為一主機裝置,諸如圖1A及圖1B中展示之主機裝置102之任一者,且可經由封包轉遞裝置之一下行埠連接至封包轉遞裝置。在一些其他實施方案中,第一計算裝置可為定位於第一封包轉遞裝置與一主機裝置之間的另一封包轉遞裝置。在其他實施方案中,第一計算裝置可為可例如藉由偽造(或冒充)封包之源MAC位址以匹配主機裝置之一者之源MAC位址而試圖模仿主機裝置之一者之一計算裝置。可使用程序300來丟棄未正確指向一上游路由裝置(諸如圖1A及圖1B中展示之路由裝置122)之封包,且使路由裝置能夠判定由封包轉遞裝置轉遞之封包之來源。 程序300包含判定經接收封包是否為一廣播封包及一多播封包之一者(階段304)。在一些實施方案中,可保留例如但不限於網路連結裝置之間的安全性協商、ARP請求、路由器發現或路由協定廣告中可使用之廣播或多播封包之特定目的地MAC位址。若判定封包係一廣播封包或一多播封包,則程序300包含將封包之一目的地MAC位址改變為其上接收到該封包之埠之MAC位址(階段306)。若將一廣播封包或一多播封包不變地轉遞至路由裝置,則路由裝置可無法判定封包所源自之特定主機裝置或封包透過其接收之封包轉遞裝置之下行埠。例如,另一主機裝置可已冒充封包中使用之源IP及源MAC位址。為解決此問題,封包轉遞裝置可修改封包之目的地欄位以含有封包所到達之下行埠之MAC位址。在一些實施方案中,即使已藉由封包轉遞裝置修改目的地MAC位址,封包之內容可仍指示封包係一多播或廣播封包。 程序300包含將經修改封包轉遞至一第二計算裝置(階段308)。在一些實施方案中,第二計算裝置可為圖1A及圖1B中展示之路由裝置122。如上文論述,直接耦合至一主機之封包轉遞裝置之各下行埠可具有一唯一MAC位址。因此,當第二計算裝置接收到經修改封包時,第二計算裝置可藉由檢查經接收封包之經修改目的地MAC位址而判定該封包行進通過之下行埠。 若封包既非一廣播封包亦非一多播封包,則程序300包含判定封包之目的地MAC位址是否與其上接收到該封包之埠相關聯(階段310)。例如,該判定可藉由比較經接收封包之目的地MAC位址與相關聯於其上接收到該封包之埠之MAC位址而進行。若封包之目的地MAC位址與其上接收到該封包之埠相關聯,則程序300包含將封包轉遞至第二計算裝置(階段312)。在一些實施方案中,經由上游埠轉遞經由一串接下行埠(即,連接至另一封包轉遞裝置之一下行埠)接收之封包而無需檢測,此係因為在串接封包轉遞裝置已轉遞封包之前,封包已由串接封包轉遞裝置適當處理。 在一些實施方案中,在判定封包之目的地MAC位址與其上接收到該封包之下行埠相關聯之基礎上轉遞封包可有助於防止受可能試圖模仿一主機裝置之裝置之攻擊。例如,在一些實施方案中,主機裝置經組態以產生目的地為第二計算裝置之封包,使得封包之一目的地MAC位址匹配主機裝置分別連接之一封包轉遞裝置之下行埠之MAC位址。因此,若封包之目的地MAC位址不與其上接收到該封包之埠相關聯,則封包轉遞裝置可判定封包並非源自一對應主機裝置,且可丟棄封包(階段314)。因而,將不轉遞其源MAC位址經偽造成匹配一主機裝置之位址之一封包,除非該封包亦包含正確目的地MAC位址(即,與封包轉遞裝置在其上接收到封包之下行埠相關聯之一MAC位址)。類似地,亦將不轉遞在一下行埠上接收之具有經偽造成匹配一上游裝置之位址之一源MAC位址之一封包,除非該封包亦包含正確目的地MAC位址(即,與封包轉遞裝置在其上接收到封包之下行埠相關聯之一MAC位址)。因此,具有一經偽造源MAC位址之一封包到達第二計算裝置之可能性減小。 在一些實施方案中,在判定封包之目的地MAC位址與其上接收到該封包之下行埠相關聯之基礎上轉遞封包可容許一上游裝置(諸如圖1A中展示之路由裝置122)識別一惡意封包之源。例如,若上游裝置接收到含有一惡意酬載之一封包(例如,因一病毒感染而產生),則可基於封包之目的地MAC位址識別自其發送惡意封包之主機裝置,且可執行一校正動作以移除或修修復該主機裝置。 圖4係繪示轉遞封包之另一例示性程序400之一流程圖。在一些實施方案中,程序400可用於處理由一封包轉遞裝置(諸如圖1A及圖1B中展示之封包轉遞裝置110)自一計算裝置(諸如圖1A及圖1B中展示之路由裝置122)接收之封包。簡言之,程序400包含藉由一封包轉遞裝置自一第二計算裝置接收一封包(階段402)。程序400包含判定封包之一源MAC位址是否與封包轉遞裝置之任何下行埠相關聯(階段404)。若封包之源MAC位址與封包轉遞裝置之一下游埠相關聯,則程序400包含經由其之MAC位址匹配封包之源MAC位址之下行埠轉遞該封包(階段406)。若封包之源MAC位址不與封包轉遞裝置之一下游埠相關聯,則程序400包含丟棄封包(階段408)。 再次參考圖4,程序400包含藉由一封包轉遞裝置自一第二計算裝置接收一封包(階段402)。在一些實施方案中,第二計算裝置可為來自封包轉遞裝置上游之一路由裝置,諸如圖1A及圖1B中展示之路由裝置122,且可經由封包轉遞裝置之一上行埠連接至封包轉遞裝置。在一些其他實施方案中,第二計算裝置可為一串接封包轉遞裝置。使用程序400以使上游路由裝置能夠選擇封包將透過其離開之封包轉遞裝置之一埠。 程序400包含判定封包之一源MAC位址是否與封包轉遞裝置之任何下行埠相關聯(階段404)。例如,該判定可藉由比較經接收封包之源MAC位址與相關聯於封包轉遞裝置之各下行埠之MAC位址而進行。如上文論述,一下行埠可與指派給該下行埠之一MAC位址以及連接至該下行埠之串接封包轉遞裝置之下行埠之MAC位址相關聯。若封包之源MAC位址與封包轉遞裝置之一下行埠相關聯,則程序400包含經由與封包之源MAC位址相關聯之下行埠轉遞該封包(階段406)。在判定封包之源MAC位址與封包轉遞裝置之下行埠之一者之間的一關聯之基礎上轉遞封包可有助於防止受可試圖模仿另一主機裝置之主機裝置之攻擊。藉由上游路由裝置而非封包轉遞裝置進行對一封包將透過其離開之一下行埠之選擇。封包轉遞裝置將經由其MAC位址與封包之源MAC位址相關聯之下行埠轉遞自路由裝置接收之各封包,而不管封包之目的地MAC位址。路由裝置可藉由將封包之源MAC位址設定為與選擇一目標主機裝置之下行埠相關聯之MAC位址而選擇該目標主機裝置以接收一封包。因此,將防止例如藉由廣告匹配目標主機裝置之MAC位址之一MAC位址而試圖接收目的地為目標主機裝置之封包之另一主機裝置接收此等封包。相比之下,大多數網路連結裝置基於封包之目的地MAC位址而非源MAC位址轉遞封包,且因此更可能將封包轉遞至惡意地模仿一目標主機裝置之主機裝置。 可在數位電子電路中或在體現於一有形媒體上之電腦軟體、韌體或硬體(包含本說明書中揭示之結構及其等之結構等效物)中或在其等之一或多者之組合中實施本說明書中描述之標的物及操作之實施方案。本說明書中描述之標的物之實施方案可實施為體現於一有形媒體上之一或多個電腦程式(即,電腦程式指令之一或多個模組),該一或多個電腦程式編碼於一或多個電腦儲存媒體上以由一資料處理設備執行或控制一資料處理設備之操作。一電腦儲存媒體可為一電腦可讀儲存裝置、一電腦可讀儲存基板、一隨機或串列存取記憶體陣列或裝置或其等之一或多者之一組合,或包含於一電腦可讀儲存裝置、一電腦可讀儲存基板、一隨機或串列存取記憶體陣列或裝置或其等之一或多者之一組合中。電腦儲存媒體亦可為一或多個單獨組件或媒體(例如,多個CD、磁碟或其他儲存裝置),或包含於一或多個單獨組件或媒體中。電腦儲存媒體可為有形的及非暫時性的。 可以程式化語言之任何形式(包含編譯語言、解譯語言、宣告式語言及程式語言)寫入一電腦程式(亦稱為一程式、軟體、軟體應用、指令碼或程式碼),且可以任何形式部署電腦程式,包含作為一獨立程式或作為一模組、組件、子常式、物件或適於在一計算環境中使用之其他單元。一電腦程式可(但無需)對應於一檔案系統中之一檔案。一程式可儲存於保存其他程式或資料之一檔案之一部分中(例如,儲存於一標記語言文件中之一或多個指令碼),儲存於專用於所討論之程式之一單一檔案中或儲存於多個協調檔案(例如,儲存一或多個模組、程式庫、子程式或程式碼之部分之檔案)中。一電腦程式可經部署以在一個電腦上或在定位於一個地點處或跨多個地點分佈且由一通信網路互連之多個電腦上執行。 可藉由執行一或多個電腦程式之一或多個可程式化處理器執行本說明書中描述之程序及邏輯流程以藉由對輸入資料操作及產生輸出而執行動作。程序及邏輯流程亦可藉由專用邏輯電路(例如,一場可程式閘陣列(「FPGA」)或一特定應用積體電路(「ASIC」))執行,且設備亦可實施為專用邏輯電路。此一專用電路可稱為一電腦處理器,即使其並非一通用處理器。 雖然本說明書含有諸多具體實施方案細節,但此等細節不應解釋為限制任何發明或可主張內容之範疇,而是應解釋為描述特定發明之特定實施方案特有之特徵。本說明書中在單獨實施方案之內容背景中描述之特定特徵亦可在一單一實施方案中組合地實施。相反地,在一單一實施方案之內容背景中描述之各種特徵亦可在多個實施方案中單獨地實施或以任何合適子組合實施。此外,儘管上文可將特徵描述為以特定組合起作用且甚至最初如此主張,然在一些情況中,來自一所主張組合之一或多個特徵可自該組合去除,且該所主張組合可針對一子組合或一子組合之變動。 類似地,雖然在圖式中以一特定順序描繪操作,但此不應理解為需要以所展示之特定順序或以循序順序執行此等操作,或執行全部所繪示操作以達成所要結果。在特定情況中,多任務及並行處理可為有利的。此外,上文描述之實施方案中之各種系統組件之分離不應理解為在全部實施方案中皆需要此分離,且應瞭解,通常可將所描述之程式組件及系統一起整合於一單一軟體產品中或封裝至多個軟體產品中。 對「或」之引用可解釋為包含,使得使用「或」描述之任何術語可指示一單一所描述術語、一個以上所描述術語及全部所描述術語之任一者。標識「第一」、「第二」、「第三」等不一定意欲指示一排序且通常僅用來區分相似或類似品項或元件。 因此,已描述標的物之特定實施方案。其他實施方案在以下申請專利範圍之範疇內。在一些情況中,申請專利範圍中敘述之動作可以一不同順序執行且仍達成所要結果。另外,附圖中描繪之程序不一定要求所展示之特定順序或循序順序以達成所要結果。在特定實施方案中,可使用多任務或並行處理。
100‧‧‧系統 101‧‧‧系統 102a至102k‧‧‧主機裝置 110a至110e‧‧‧封包轉遞裝置 114a至114o‧‧‧下行埠/下游埠 118a至118e‧‧‧上行埠/上游埠 122‧‧‧路由裝置 124‧‧‧網路 201‧‧‧MAC位址廣告模組 204‧‧‧標頭修改模組 206‧‧‧封包轉遞模組 208‧‧‧記憶體 300‧‧‧程序 302‧‧‧階段 304‧‧‧階段 306‧‧‧階段 308‧‧‧階段 310‧‧‧階段 312‧‧‧階段 314‧‧‧階段 400‧‧‧程序 402‧‧‧階段 404‧‧‧階段 406‧‧‧階段 408‧‧‧階段
當結合附圖時,藉由參考以下[實施方式]將更完全理解本發明之上述及相關目的、特徵及優點,其中: 圖1A係用於轉遞封包之一例示性系統之一方塊圖; 圖1B係用於轉遞封包之另一例示性系統之一方塊圖; 圖2係圖1A中展示之一例示性封包轉遞裝置之一方塊圖; 圖3係繪示轉遞封包之一例示性程序之一流程圖; 圖4係繪示轉遞封包之另一例示性程序之一流程圖; 為清楚起見,可未在每個圖中標記每個組件。圖式並不意欲按比例繪製。各個圖中之相似元件符號及名稱指示相似元件。
100‧‧‧系統
102a至102h‧‧‧主機裝置
110a至110c‧‧‧封包轉遞裝置
114a至114i‧‧‧下行埠/下游埠
118a至118c‧‧‧上行埠/上游埠
122‧‧‧路由裝置
124‧‧‧網路

Claims (20)

  1. 一種處理封包之系統,其包括:一第一計算裝置;一第二計算裝置;及一第一封包轉遞裝置,其中該第一計算裝置及該第二計算裝置之各者通信地耦合至該第一封包轉遞裝置之一各自埠,且其中對於自該第一計算裝置接收之一第一封包,該第一封包轉遞裝置經組態以:判定該第一封包之一目的地MAC位址與其上接收到該第一封包之該埠相關聯;及回應於該判定該第一封包之該目的地MAC位址與其上接收到該第一封包之該埠相關聯而將該第一封包轉遞至該第二計算裝置;及對於自該第二計算裝置接收之一第二封包,該第一封包轉遞裝置經組態以經由與該第二封包之一源MAC位址相關聯之該埠轉遞該第二封包;判定自該第一計算裝置接收之一第三封包之一目的地MAC位址不與其上接收到該第三封包之該埠相關聯;及回應於該判定該第三封包之該目的地MAC位址不與其上接收到該第三封包之該埠相關聯而丟棄該第三封包。
  2. 如請求項1之系統,其中該第一封包轉遞裝置進一步經組態以回應於 判定該第二封包之該源MAC位址不與該第一封包轉遞裝置之任何埠相關聯而丟棄該第二封包。
  3. 如請求項1之系統,其中對於自該第一計算裝置接收之一第四封包,該第一封包轉遞裝置經組態以:判定該第四封包係一廣播封包及一多播封包之一者;將該第四封包之一目的地MAC位址改變為指派給其上接收到該第四封包之該埠之一MAC位址;及將該第四封包轉遞至該第二計算裝置。
  4. 如請求項1之系統,其中指派給該第一封包轉遞裝置之至少一個埠之一MAC位址係基於該第一封包轉遞裝置之一IP位址及唯一地識別該至少一個埠之一數字。
  5. 如請求項4之系統,其中指派給該第一封包轉遞裝置之至少一個埠之一MAC位址包含該第一封包轉遞裝置之該IP位址及唯一地識別該至少一個埠之該數字。
  6. 如請求項1之系統,其中該第一封包轉遞裝置進一步經組態以:判定自該第一計算裝置接收之一第四封包之一目的地MAC位址不與其上接收到該第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址;及回應於該判定該第四封包之該目的地MAC位址不與其上接收到該 第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址而丟棄該第四封包。
  7. 如請求項1之系統,其進一步包括:一第三計算裝置,其包含複數個埠,該第三計算裝置通信地耦合至該第一封包轉遞裝置之一各自埠,其中該第一封包轉遞裝置進一步經組態以:判定自該第三計算裝置接收之一第五封包之一目的地MAC位址與該第三計算裝置之一裝置ID相關聯;及回應於判定一第五封包之該目的地MAC位址與該第三計算裝置之該裝置ID相關聯而將該第五封包轉遞至該第二計算裝置。
  8. 如請求項1之系統,其中該第三計算裝置經組態以:判定自該第一封包轉遞裝置接收之一第六封包之一源MAC位址與該第三計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯;及經由與該第六封包之該源MAC位址相關聯之該第三計算裝置之該埠轉遞該第六封包。
  9. 如請求項1之系統,其中該第一計算裝置進一步經組態以確保目的地為該第二計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一目的地MAC位址。
  10. 如請求項1之系統,其中該第二計算裝置進一步經組態以確保目的地為該第一計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一源MAC位址。
  11. 一種處理封包之方法,其包括:藉由一第一封包轉遞裝置自一第一計算裝置接收一第一封包;藉由該第一封包轉遞裝置判定該第一封包之一目的地MAC位址與其上接收到該第一封包之埠相關聯;回應於該判定該第一封包之該目的地MAC位址與其上接收到該第一封包之該埠相關聯而藉由該第一封包轉遞裝置將該第一封包轉遞至一第二計算裝置;藉由該第二計算裝置將一第二封包傳輸至該第一封包轉遞裝置;藉由該第一封包轉遞裝置經由與該第二封包之一源MAC位址相關聯之該埠轉遞該第二封包;藉由該第一封包轉遞裝置自該第一計算裝置接收一第三封包;藉由該第一封包轉遞裝置判定該第三封包之一目的地MAC位址不與其上接收到該第三封包之該埠相關聯;及藉由該第一封包轉遞裝置回應於該判定該第三封包之該目的地MAC位址不與其上接收到該第三封包之該埠相關聯而丟棄該第三封包。
  12. 如請求項11之方法,其進一步包括:藉由該第一封包轉遞裝置判定該第二封包之一源MAC位址不與該 第一封包轉遞裝置之任何埠相關聯;及回應於該判定該第二封包之該源MAC位址不與該第一封包轉遞裝置之任何埠相關聯而藉由該第一封包轉遞裝置丟棄該第二封包。
  13. 如請求項11之方法,其進一步包括:藉由該第一封包轉遞裝置自該第一計算裝置接收一第四封包;藉由該第一封包轉遞裝置判定該第四封包係一廣播封包及一多播封包之一者;藉由該第一封包轉遞裝置將該第四封包之一目的地MAC位址改變為指派給其上接收到該第四封包之該埠之一MAC位址;及藉由該第一封包轉遞裝置將該第四封包轉遞至該第二計算裝置。
  14. 如請求項11之方法,其中指派給該第一封包轉遞裝置之至少一個埠之一MAC位址係基於該第一封包轉遞裝置之一IP位址及唯一地識別該至少一個埠之一數字。
  15. 如請求項14之方法,其中指派給該第一封包轉遞裝置之至少一個埠之一MAC位址包含該第一封包轉遞裝置之該IP位址及唯一地識別該至少一個埠之該數字。
  16. 如請求項11之方法,其進一步包括:藉由該第一封包轉遞裝置自該第一計算裝置接收一第四封包;藉由該第一封包轉遞裝置判定該第四封包之一目的地MAC位址不 與其上接收到該第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址;回應於該判定該第四封包之該目的地MAC位址不與其上接收到該第四封包之該埠相關聯且該第四封包之該目的地MAC位址既非一廣播MAC位址亦非一多播MAC位址而藉由該第一封包轉遞裝置丟棄該第四封包。
  17. 如請求項11之方法,其進一步包括:藉由該第一封包轉遞裝置自一第三計算裝置接收一第五封包,其中該第三計算裝置包含複數個埠;藉由該第一封包轉遞裝置判定自該第三計算裝置接收之該第五封包之一目的地MAC位址與該第三計算裝置之一裝置ID相關聯;及回應於判定一第五封包之該目的地MAC位址與該第三計算裝置之該裝置ID相關聯而藉由該第一封包轉遞裝置將該第五封包轉遞至該第二計算裝置。
  18. 如請求項11之方法,其進一步包括:藉由該第一封包轉遞裝置將一第六封包傳輸至該第三計算裝置;藉由該第三計算裝置判定自該第一封包轉遞裝置接收之一第六封包之一源MAC位址與該第三計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯;及藉由該第三計算裝置經由與該第六封包之該源MAC位址相關聯之該第三計算裝置之該埠轉遞該封包。
  19. 如請求項11之方法,其進一步包括藉由該第一計算裝置確保目的地為該第二計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一目的地MAC位址。
  20. 如請求項11之方法,其進一步包括藉由該第二計算裝置確保目的地為該第一計算裝置之各封包具有與該第一計算裝置通信地耦合之該第一封包轉遞裝置之該埠相關聯之一源MAC位址。
TW105129998A 2015-09-15 2016-09-14 用於處理在一電腦網路中之封包的系統及方法 TWI761312B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/854,939 2015-09-15
US14/854,939 US10187218B2 (en) 2015-09-15 2015-09-15 Systems and methods for processing packets in a computer network

Publications (2)

Publication Number Publication Date
TW201720108A TW201720108A (zh) 2017-06-01
TWI761312B true TWI761312B (zh) 2022-04-21

Family

ID=56997577

Family Applications (2)

Application Number Title Priority Date Filing Date
TW111109765A TWI805279B (zh) 2015-09-15 2016-09-14 用於處理在一電腦網路中之封包的系統及方法
TW105129998A TWI761312B (zh) 2015-09-15 2016-09-14 用於處理在一電腦網路中之封包的系統及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW111109765A TWI805279B (zh) 2015-09-15 2016-09-14 用於處理在一電腦網路中之封包的系統及方法

Country Status (11)

Country Link
US (2) US10187218B2 (zh)
EP (1) EP3300546B1 (zh)
JP (2) JP6700318B2 (zh)
KR (2) KR102367307B1 (zh)
CN (1) CN107710700B (zh)
DE (2) DE202016107382U1 (zh)
DK (1) DK3300546T3 (zh)
GB (1) GB2555339B (zh)
HK (1) HK1244370A1 (zh)
TW (2) TWI805279B (zh)
WO (1) WO2017048841A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567379B2 (en) * 2017-06-26 2020-02-18 Bank Of America Corporation Network switch port access control and information security
US10425473B1 (en) * 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US11038887B2 (en) * 2017-09-29 2021-06-15 Fisher-Rosemount Systems, Inc. Enhanced smart process control switch port lockdown
CN110233799B (zh) 2018-03-05 2021-10-26 华为技术有限公司 一种端口配置的方法和通信设备
US10911296B2 (en) * 2018-03-23 2021-02-02 Juniper Networks, Inc. Targeted selection of cascade ports
CN111147372B (zh) * 2018-11-05 2021-05-18 华为技术有限公司 下行报文发送、转发方法和装置
US11296783B2 (en) * 2019-03-27 2022-04-05 Juniper Networks, Inc. Managing satellite devices within a branch network
CN112787932B (zh) * 2019-11-05 2022-09-02 华为技术有限公司 一种用于生成转发信息的方法、装置和系统
KR102309116B1 (ko) * 2021-09-07 2021-10-08 프라이빗테크놀로지 주식회사 데이터 플로우 기반 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100246583A1 (en) * 2009-03-30 2010-09-30 Fujitsu Limited Relay device, state informing method, and computer program
JP2012034353A (ja) * 2010-06-28 2012-02-16 Panasonic Corp ネットワーク通信装置、通信方法および集積回路
US20130064246A1 (en) * 2011-09-12 2013-03-14 Cisco Technology, Inc. Packet Forwarding Using an Approximate Ingress Table and an Exact Egress Table
JP5648737B2 (ja) * 2011-03-11 2015-01-07 富士通株式会社 通信装置および通信方法
WO2015095996A1 (en) * 2013-12-23 2015-07-02 Telefonaktiebolaget L M Ericsson(Publ) Technique for network service availability
US20150222533A1 (en) * 2014-02-05 2015-08-06 Intel Corporation Transport of ethernet packet data with wire-speed and packet data rate match

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089326B2 (en) * 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US7430164B2 (en) * 1998-05-04 2008-09-30 Hewlett-Packard Development Company, L.P. Path recovery on failure in load balancing switch protocols
GB2358761B (en) 2000-01-25 2002-03-13 3Com Corp Multi-port network communication device with selective mac address filtering
GB2362289B (en) * 2000-05-10 2002-04-03 3Com Corp Distributed multicast routing in packet-based communication network devices
WO2002061525A2 (en) * 2000-11-02 2002-08-08 Pirus Networks Tcp/udp acceleration
US7463639B1 (en) * 2001-09-26 2008-12-09 Junpier Networks, Inc. Edge devices for providing a transparent LAN segment service and configuring such edge devices
TWI254527B (en) * 2003-02-19 2006-05-01 Nec Corp Network system, spanning tree configuration method and spanning tree configuration node
US7590114B1 (en) * 2003-03-24 2009-09-15 Marvell International Ltd Efficient IP multicast bridging in ethernet switches
US9014195B2 (en) 2003-05-02 2015-04-21 Vitesse Semiconductor Corporation Packet forwarding method and system
JP4464766B2 (ja) * 2004-03-03 2010-05-19 株式会社日立製作所 マルチキャスト配信制御装置
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US20060165108A1 (en) * 2005-01-21 2006-07-27 Mr. Sezen Uysal Method and system for unidirectional packet processing at data link layer
JP4778062B2 (ja) * 2005-10-05 2011-09-21 ノーテル・ネットワークス・リミテッド プロバイダ・リンク状態ブリッジング
CN101102264B (zh) * 2006-07-04 2011-07-20 华为技术有限公司 一种以太网转发数据的方法和一种以太网系统
US7957332B1 (en) * 2006-11-15 2011-06-07 Marvell International Ltd. Memory efficient filtering
US7796594B2 (en) 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging system and method
US8116310B2 (en) * 2007-11-24 2012-02-14 Cisco Technology, Inc. Reducing packet flooding by a packet switch
US8861385B2 (en) * 2008-05-16 2014-10-14 Nec Corporation Communication device, communication method and communication control program
US8134922B2 (en) * 2008-09-12 2012-03-13 Cisco Technology, Inc. Reducing flooding in a bridged network
CN101409685B (zh) * 2008-12-01 2010-10-27 杭州华三通信技术有限公司 基于虚拟局域网映射的转发方法及接入设备
US8645567B2 (en) * 2009-01-28 2014-02-04 Broadcom Corporation Method and system for packet filtering for local host-management controller pass-through communication via network controller
ES2361545B1 (es) 2009-02-24 2012-05-08 Universidad De Alcala De Henares Procedimiento de encaminamiento de tramas de datos y puente de red.
US8274980B2 (en) * 2009-02-26 2012-09-25 International Business Machines Corporation Ethernet link aggregation
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法
JP2010226455A (ja) * 2009-03-24 2010-10-07 Sony Corp ネットワーク通信装置
US8175107B1 (en) * 2009-08-18 2012-05-08 Hewlett-Packard Development Company, L.P. Network routing based on MAC address subnetting
US9608939B2 (en) * 2010-12-22 2017-03-28 Juniper Networks, Inc. Methods and apparatus to reduce forwarding state on an FCoE-to-FC gateway using port-specific MAC addresses
CN103477593B (zh) * 2011-04-04 2017-03-29 日本电气株式会社 网络系统、交换机和连接终端检测方法
US8537810B2 (en) * 2011-06-29 2013-09-17 Telefonaktiebolaget L M Ericsson (Publ) E-tree using two pseudowires between edge routers with enhanced learning methods and systems
US9729431B1 (en) * 2011-08-16 2017-08-08 Marvell International Ltd. Using standard fields to carry meta-information
US20140241368A1 (en) * 2011-10-21 2014-08-28 Nec Corporation Control apparatus for forwarding apparatus, control method for forwarding apparatus, communication system, and program
US20140301403A1 (en) * 2011-10-28 2014-10-09 Nec Corporation Node device and method for path switching control in a ring network
CN103297354B (zh) * 2012-03-02 2017-05-03 日电(中国)有限公司 服务器互连系统、服务器和数据转发方法
JP5466723B2 (ja) * 2012-03-07 2014-04-09 株式会社Nttドコモ ホスト提供システム及び通信制御方法
JP5888036B2 (ja) * 2012-03-16 2016-03-16 富士通株式会社 中継装置、情報処理システム、中継方法および中継プログラム
JP5928197B2 (ja) * 2012-06-29 2016-06-01 富士通株式会社 ストレージシステム管理プログラム及びストレージシステム管理装置
US9036638B2 (en) * 2012-08-09 2015-05-19 International Business Machines Corporation Avoiding unknown unicast floods resulting from MAC address table overflows
CN103227757B (zh) * 2012-08-31 2016-12-28 杭州华三通信技术有限公司 一种报文转发方法及设备
US8875256B2 (en) * 2012-11-13 2014-10-28 Advanced Micro Devices, Inc. Data flow processing in a network environment
CN103873368B (zh) * 2012-12-11 2017-09-15 新华三技术有限公司 以太网报文转发方法和接入设备
CN104022960B (zh) * 2013-02-28 2017-05-31 新华三技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
US9294396B2 (en) * 2013-03-12 2016-03-22 Dell Products L.P. Port extender
US9397912B2 (en) * 2013-03-13 2016-07-19 Arista Networks, Inc. Method and system for active fabric management using unicast reachability monitoring
CN104283811B (zh) * 2013-07-09 2017-10-03 新华三技术有限公司 报文转发方法和装置
JP2017503405A (ja) * 2013-12-13 2017-01-26 華為技術有限公司Huawei Technologies Co.,Ltd. アドレス解決プロトコルメッセージを処理するための方法、スイッチ及びコントローラ
US20150172222A1 (en) * 2013-12-16 2015-06-18 James Liao Data center ethernet switch fabric
US9647883B2 (en) * 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
CN105099960B (zh) * 2014-04-30 2018-03-16 国际商业机器公司 用于实现服务链的方法和装置
CN105099847B (zh) * 2014-05-05 2019-01-08 新华三技术有限公司 一种多归属接入方法和装置
US9762489B2 (en) * 2014-09-24 2017-09-12 Cisco Technology, Inc. Local packet switching at a satellite device
US9942144B1 (en) * 2014-09-30 2018-04-10 Juniper Networks, Inc. Fibre channel over ethernet (FCoE) link aggregation group (LAG) support in data center networks
CN106209554B (zh) * 2015-05-04 2019-12-13 新华三技术有限公司 跨虚拟可扩展局域网的报文转发方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100246583A1 (en) * 2009-03-30 2010-09-30 Fujitsu Limited Relay device, state informing method, and computer program
JP2012034353A (ja) * 2010-06-28 2012-02-16 Panasonic Corp ネットワーク通信装置、通信方法および集積回路
JP5648737B2 (ja) * 2011-03-11 2015-01-07 富士通株式会社 通信装置および通信方法
US20130064246A1 (en) * 2011-09-12 2013-03-14 Cisco Technology, Inc. Packet Forwarding Using an Approximate Ingress Table and an Exact Egress Table
WO2015095996A1 (en) * 2013-12-23 2015-07-02 Telefonaktiebolaget L M Ericsson(Publ) Technique for network service availability
US20150222533A1 (en) * 2014-02-05 2015-08-06 Intel Corporation Transport of ethernet packet data with wire-speed and packet data rate match

Also Published As

Publication number Publication date
JP6700318B2 (ja) 2020-05-27
US10855480B2 (en) 2020-12-01
CN107710700B (zh) 2020-10-27
EP3300546A1 (en) 2018-04-04
KR20180017172A (ko) 2018-02-20
JP2018527776A (ja) 2018-09-20
KR102064919B1 (ko) 2020-01-10
US20180198634A1 (en) 2018-07-12
US10187218B2 (en) 2019-01-22
KR102367307B1 (ko) 2022-02-23
DE112016002952T5 (de) 2018-03-15
GB2555339A (en) 2018-04-25
JP2020099058A (ja) 2020-06-25
TW202226791A (zh) 2022-07-01
DK3300546T3 (da) 2020-03-02
EP3300546B1 (en) 2019-11-27
DE202016107382U1 (de) 2017-02-22
JP6872647B2 (ja) 2021-05-19
CN107710700A (zh) 2018-02-16
GB2555339B (en) 2021-05-05
US20190149345A1 (en) 2019-05-16
GB201720965D0 (en) 2018-01-31
TW201720108A (zh) 2017-06-01
HK1244370A1 (zh) 2018-08-03
TWI805279B (zh) 2023-06-11
WO2017048841A1 (en) 2017-03-23
KR20200003948A (ko) 2020-01-10

Similar Documents

Publication Publication Date Title
TWI761312B (zh) 用於處理在一電腦網路中之封包的系統及方法
US20200220807A1 (en) Systems and methods for software defined networking service function chaining
US10033641B2 (en) Deterministic and optimized bit index explicit replication (BIER) forwarding
US10153967B2 (en) Deterministic and optimized bit index explicit replication (BIER) forwarding
US10187290B2 (en) Method, system, and apparatus for preventing tromboning in inter-subnet traffic within data center architectures
US11621853B1 (en) Protocol-independent multi-table packet routing using shared memory resource
CN108667709B (zh) 一种报文转发方法及装置
US10187304B2 (en) Processing inter-VLAN traffic in an ethernet tree
CN107786386B (zh) 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输
US10205661B1 (en) Control messages for scalable satellite device clustering control in a campus network
US10063675B2 (en) Performing duplicate address detection for an integrated routing and bridging device
US20180109401A1 (en) Data transfer system, data transfer server, data transfer method, and program recording medium
US10079756B1 (en) Conserving memory resources of a provider edge device in an ethernet tree
KR102286466B1 (ko) 기능 기반 라우팅 방법 및 시스템
US10284468B1 (en) E-channel identifiers (ECIDS) for scalable satellite device clustering control in a campus network