TWI646804B - 用於經由封包中繼外部化網路功能之系統與方法 - Google Patents
用於經由封包中繼外部化網路功能之系統與方法 Download PDFInfo
- Publication number
- TWI646804B TWI646804B TW105126402A TW105126402A TWI646804B TW I646804 B TWI646804 B TW I646804B TW 105126402 A TW105126402 A TW 105126402A TW 105126402 A TW105126402 A TW 105126402A TW I646804 B TWI646804 B TW I646804B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- processor
- network
- identifier
- module
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/256—Routing or path finding in ATM switching fabrics
- H04L49/258—Grouping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文中描述之方法及系統提供一種透過一網路交換器與一外部封包處理器之間之一直接鏈路來外部化網路功能之機制。該網路交換器經組態以經由一第一網路介面接收經引導至一目的地節點之一封包。該網路交換器亦經組態以經由一第二網路介面透過該網路交換器與一封包處理器之間之一直接實體鏈路而將該經接收之封包轉發至該封包處理器。與針對在該封包處理器上執行之一虛擬化網路功能之一識別符一起轉發該封包且該封包之一目的地MAC位址不同於該封包處理器之一MAC位址。
Description
一通信網路通常包含複數個網路裝置,諸如路由器、交換器、網路位址轉譯盒、防火牆、負載平衡器等。網路功能虛擬化(NFV)係將網路節點功能虛擬化為可經連接或鏈接以建立通信服務之建置組塊之一網路架構。
本發明之一個態樣係關於一種用於外部化網路功能之網路系統,其包含一網路交換器及一封包處理器。該網路交換器經組態以經由一第一網路介面接收經引導至除了該網路交換器之外之一目的地節點之一封包。該網路交換器亦經組態以經由一第二網路介面透過該網路交換器與一封包處理器之間之一直接實體鏈路而將該經接收之封包轉發至該封包處理器以用於處理。與針對在該封包處理器上執行之一虛擬化網路功能之一識別符一起轉發該封包,且該封包之一目的地MAC位址不同於該封包處理器之一MAC位址。該網路交換器進一步經組態以自該封包處理器接收該經處理之封包且透過一第三網路介面朝向該目的地節點轉發該經處理之封包。該封包處理器經組態以自該網路交換器接收該封包。該封包處理器亦經組態以基於與該封包包含在一起之該識別符將該經接收之封包路由至一虛擬化網路功能模組以用於處理。該封包處理器進一步經組態以將該經處理之封包發送返回至該網路交換器。 本發明之另一態樣係關於一種網路交換器。該網路交換器包含一處理器及儲存電腦可執行指令之有形電腦可讀媒體。當由該處理器執行時,該等電腦可執行指令導致該處理器經由一第一網路介面接收經引導至除了該網路交換器之外之一目的地節點之一封包。該等電腦可執行指令進一步導致該處理器修改該封包之標頭內之一欄位以包含針對在封包處理器上執行之一虛擬化網路功能之一識別符且經由一第二網路介面透過該網路交換器與該封包處理器之間之一直接實體鏈路而將具有該經修改之標頭之該經接收之封包轉發至一封包處理器。該網路交換器將具有不同於該封包處理器之一MAC位址之一目的地MAC位址之該封包轉發至該封包處理器。該等電腦可執行指令進一步導致該處理器在該封包已由該經識別之虛擬化網路功能處理之後自該封包處理器接收該封包且透過一第三網路介面朝向該目的地節點轉發該經處理之封包。 本發明之又一態樣係關於一種封包處理器。該封包處理器包含一處理器及儲存電腦可執行指令之有形電腦可讀媒體。當由該處理器執行時,該等電腦可執行指令導致該處理器透過一網路交換器與該封包處理器之間之一直接實體鏈路自該網路交換器接收一封包。該經接收之封包包含針對在該封包處理器上執行之欲在該封包上實行之一虛擬化網路功能之一識別符,且該經接收之封包之一目的地MAC位址不同於該封包處理器之一MAC位址。該等電腦可執行指令進一步導致該處理器基於該識別符將該經接收之封包路由至一網路功能模組,使用該網路功能模組處理該封包且透過該直接實體鏈路將該經處理之封包發送返回至該網路交換器。
上文介紹且在下文中更詳細論述之各種概念可以任何許多方式實施,此係因為所描述之概念不限於任何特定實施方式。主要為了闡釋性目的提供具體實施方案及應用之實例。 本文中描述之系統及方法提供一種外部化網路功能之機制。在一網路交換器與一封包處理器之間建立一直接鏈路。在一些實施方案中,來往於網路交換器及封包處理器之封包包含識別欲由封包處理器處理之網路功能或已由封包處理器處理之網路功能之識別符。 圖1係一網路系統100之一示意圖。用於外部化網路功能之網路系統100包含一網路交換器102及經由一直接鏈路106直接連接至網路交換器102之一封包處理器104。直接鏈路106可係(例如)一直接乙太網路或光纖電纜。 在一些實施方案中,網路交換器102係使用硬體位址以在開放系統互連(OSI)模型之資料鏈路層(層2)處處理且轉發資料之一多埠網路橋接器。舉例而言,網路交換器102可係具有5個、8個、10個、24個或48個埠(亦稱為網路介面)之一乙太網路交換器。網路交換器102亦可係具有多於50個埠之一高通量交換器。在一些實施方案中,網路交換器102可係具有網路層(層3)路由及交換器能力之一路由器或甚至一層4至7交換器。在一些實施方案中,網路交換器102可伺服一企業網路或一資料中心之一網路閘道。 網路交換器102連接至其他網路裝置,其他網路裝置包含進一步連接至電腦114、116、118、120、124、126之其他網路交換器108及110。網路交換器102亦連接至網際網路112及封包處理器104。網路交換器102處理且轉發自網路交換器108及110以及自(例如)網際網路112接收之資料。在一些其他實施方案中,網路交換器未連接至網際網路112,但取而代之定位於一個區域網路與網路之間之一閘道處或其中可期望網路功能虛擬化之一網路內之任何其他位置處。為了闡釋性目的,網路交換器102包含編號為1至52之52個埠。如圖1中展示,網路交換器102透過埠1連接至交換器108,透過埠2連接至交換器110,透過埠49連接至網際網路112且透過埠52連接至封包處理器104。在一些實施方案中,透過其進行至封包處理器的連接之埠係一專用控制平面埠,諸如一OpenFlow或OpenFlow相容埠。 網路交換器102亦包含一交換器處理器130。交換器處理器130執行路由、轉發及網路功能外部化功能,如下文中進一步描述。 當網路交換器102接收一封包時,在沿著一網路路徑將封包路由至下一節點之前,交換器處理器130導致網路交換器102將封包轉發至封包處理器104以用於外部化網路功能處理。 在網路功能外部化程序之簡單概述中,在自網路內之一裝置例如,跨網際網路112接收針對網路外部之一目的地節點之一封包時,一交換器(諸如交換器108)將封包轉發至作為沿著一網路路徑之下一跳躍之網路交換器102。網路交換器102自交換器108接收封包。在將封包轉發至其下一跳躍之前,交換器處理器130檢查封包以判定是否存在需要在封包上實行之任何網路功能。若識別此一網路功能,則使用針對封包處理器104上之一對應虛擬化網路功能模組之一識別符標記封包且經由直接鏈路106將封包轉發至封包處理器104。封包處理器104基於識別符處理封包,使用指示已對封包執行特定網路功能之另一識別符標記封包且接著將經處理之封包發送返回至網路交換器102。網路交換器102接收經處理之封包且沿著一網路路徑將經處理之封包傳遞至下一節點。 在一些實施方案中,封包處理器104可係執行儲存於一有形電腦可讀媒體上之電腦可執行指令之一通用處理器。舉例而言,可在類似於圖7中展示之一架構中實施封包處理器104。在一些實施方案中,一電腦伺服器代管封包處理器104。在一些實施方案中,交換器處理器130可係或可包含專用電路,諸如一特定應用積體電路(ASIC)或一場可程式化閘陣列(FPGA)。 圖2係圖1中展示之網路交換器102及封包處理器104之一方塊圖200。如上文描述,網路交換器102具有透過其等傳輸封包之多個埠。網路交換器102包含交換器處理器130,該交換器處理器130包含一路由模組212、一轉發模組215及一功能外部化模組214。在經組態以用於軟體定義網路(SDN)中之一些實施方案中,交換器處理器130可省略路由模組212,且取而代之依靠一中央SDN處理器中所包含之一類似模組以遠端實行路由模組212之功能。接著,此一集中式SDN處理器可(例如)藉由透過一控制平面或資料平面連接提供類似於下文論述之轉發表之轉發表而組態網路交換器。 在一些實施方案中,路由模組212產生且維持一組路由規則。舉例而言,路由模組產生且維持一路由資訊庫(RIB)。RIB儲存反映網路(或其之部分)之拓撲之資料。路由模組212進一步經組態以基於經儲存之拓撲資訊判定至網路內之其他節點之路由。基於經判定之路由,路由模組212可經組態以填入用於由轉發模組215使用之一轉發表。轉發表儲存將封包目的地IP位址、位址範圍或流程識別資料映射至一下一跳躍節點之資訊、該節點之MAC位址及經由其可到達該下一跳躍節點之網路交換器102上之埠。在一些實施方案中,轉發表可進一步儲存在將一封包轉發至下一跳躍之前應用至與各種流程相關聯或以各種IP位址為目的地之封包之網路功能之一清單。在其他實施方案中,應用至一封包之網路功能之清單可與其他封包資訊相關聯,其他封包資訊包含(但不限於)路由資訊或層4封包資料。在一些其他實施方案中,欲應用之網路功能之清單可以不同於轉發表之一資料結構儲存。 轉發模組215經組態以應用由路由模組212填入之轉發表中所包含之轉發指令。舉例而言,在於網路交換器102處接收一封包時,轉發模組215可提取目的地IP位址(或包含多個資料欄位之值之一資料元組,諸如源及目的地IP位址及埠號或用於識別一流程之其他資料欄位)且實行對轉發表之一查找。若轉發表指示在轉發封包之前應將一或多個網路功能應用至封包,則轉發模組將封包傳遞至功能外部化模組214,指示欲執行之功能。若封包不需要由任何網路功能處理或若此處理已經完成,則轉發模組215更新封包標頭之目的地MAC位址以匹配下一跳躍節點之MAC位址且透過在轉發表中識別之埠轉發封包。 功能外部化模組214實施將封包轉發至封包處理器且管理外部化網路功能之工作流程之邏輯。舉例而言,功能外部化模組214儲存專用於與(若干)封包處理器通信之一埠或若干埠之(若干)識別符。功能外部化模組214亦維持一功能表,列舉由(若干)封包處理器處置之具體網路功能。在一些實施方案中,網路交換器102具有專用於封包處理器104之一單一埠。舉例而言,如圖2中繪示,埠52專用於封包處理器104。專用埠可係一普通資料平面埠或其可係一專門控制平面埠。透過埠52路由需要網路功能處理之任何封包以轉發至封包處理器104。在一些其他實施方案中,網路交換器102連接至多個網路功能處理伺服器內之一個以上封包處理器。在此等實施方案中,網路交換器102可具有多個埠,該等埠之各者專用於一特定封包處理器。在其他實施方案中,可經由網路交換器102上之一單一埠到達多個網路功能處理伺服器。在一些實施方案中,關於多個網路功能處理伺服器,各伺服器專用於網路功能之一子集。舉例而言,一第一伺服器可專用於加密IP封包之網路功能,而另一伺服器可專用於網路位址轉譯之網路功能。在其他實施方案中,各伺服器處置相同網路功能,且根據一般技術者已知之若干負載平衡技術之一者將封包轉發至一個或另一個伺服器。 功能外部化模組214可進一步經組態以控制將外部化網路功能應用至一封包之順序。舉例而言,在自轉發模組215接收一封包與欲應用至該封包之一組網路功能時,功能外部化模組214經組態以一次一個功能地修改封包標頭以識別欲應用至封包之下一功能,將封包轉發至封包處理器104以用於處理且等待接收自封包處理器104返回之封包。若所有處理完成,則功能外部化模組將封包傳回至轉發模組215。若需要進一步處理,則功能外部化模組214再次修改封包標頭且將封包傳回至封包處理器104。在一些其他實施方案中,功能外部化模組214在接收一封包時,在其傳回封包之前,修改標頭以識別欲由封包處理器104實行之多個功能。舉例而言,封包處理器104可將一MPLS標籤堆疊添加至封包標頭。各MPLS標籤識別欲由封包處理器104實行之一不同功能。在此等實施方案中,在完成所有經識別之程序時,封包處理器104將封包傳回至網路交換器102。 欲實行之各網路功能經指派跨所有此等網路功能之一唯一識別符。同樣地,各網路功能之輸出經指派跨所有此等網路功能輸出之一唯一識別符。因而,當修改封包之標頭時,功能外部化模組214可將欲實行之功能之識別添加至封包標頭。當處理完成時,封包處理器104可使用指示功能已成功完成之一識別符替換欲實行之功能之識別符。基於上文描述之識別符機制,直接鏈路106可攜載多個封包且封包處理器104可處理多個網路功能。 識別符(諸如上文描述之識別符)可包含於各種欄位中,各種欄位已包含於一層2或層3封包中,各種欄位包含MAC位址欄位(例如,目的地MAC位址欄位或源MAC位址欄位)、VLAN標籤欄位、通用路由封裝(GRE)標頭欄位、多協定標籤交換(MPLS)標頭欄位(或在MPLS標籤中)等。關於圖6A至圖6D進一步詳細描述使用各種欄位之封包標記。在一些實施方案中,使用指示一個以上網路功能欲實行或已實行之一個以上識別符標記一封包。在其中一專用控制平面埠(諸如一OpenFlow埠)用作網路交換器102與封包處理器104之間之直接實體連接之實施方案中,識別符可放置於上文提及之任何封包標頭欄位中,其中封包封裝於一控制平面封包(諸如一OpenFlow PacketIn或 PacketOut訊息)內。在一些實施方案中,針對轉發至封包處理器104之封包,識別符可替代地或額外地連同封裝一起包含於諸如包含於OpenFlow PacketIn訊息中之「餅乾(cookie)」欄位中。 在一些實施方案中,網路功能係單向的。即,僅在一封包自一外籍網路(諸如網際網路)進入網路時而非在一封包離開網路時需要實行功能,或反之亦然。此一網路功能之一實例係一存取控制清單(ACL)功能。ACL功能藉由比較封包中之資訊與一存取控制清單(諸如源IP位址或標頭元組之一黑名單)而篩選出封包以強制執行安全原則(例如,篩選出已知來自欺詐IP位址或具有與封包相關惡意行為相關聯之已知簽章之封包)。在一些其他實施方案中,ACL功能亦可應用至離開網路之封包(例如)以藉由阻擋源自某些經識別裝置之IP位址之封包而防止敏感資訊之未授權洩露。 在其他實施方案中,網路功能成對出現。舉例而言,網路位址轉變(NAT)具有兩個功能NAT及DE-NAT。NAT將源自一網路內之一封包中之私人源識別符資訊(諸如內部源IP位址及/或埠號)轉譯為公共源識別符資訊(諸如外部源IP位址及/或埠資訊)以透過一外部網路傳輸封包。DE-NAT相反。DE-NAT將自一網路外部接收之封包中之目的地資訊轉譯為針對網路內使用之目的地之對應私人目的地資訊。為了適應網路功能之此二元性,在一些實施方案中,一雙向網路功能可與四個識別符相關聯:一LOCAL_To_Be_Processed識別符、一REMOTE_To_Be_Processed識別符、一LOCAL_Processed識別符及一REMOTE_Processed識別符。 在一些實施方案中,各功能僅與一單一識別符相關聯,且在添加至指定資料欄位中之封包標頭或隨附至功能識別符之終端之各自單一位元旗標中表示LOCAL對REMOTE及To_Be_Processed及Processed區別。因而,若封包處理器104可攜載(例如)八個不同功能,則可僅以五個位元擷取功能連同其等之對應LOCAL對REMOTE及To_Be_Processed及Processed旗標。在一些其他實施方案中,可自封包流動之方向推斷作為To_Be_Processed 或_Processed之封包之狀態。舉例而言,假設已處理自網路處理器104接收之一封包且假設自網路交換器102接收之一封包需要處理,消除對於第二旗標之需要。在此等實施方案中,在能夠處置八個網路功能之一封包處理器之上文之實例中,可僅以四個位元擷取應用至一封包之功能及封包狀態。若封包處理器104實行較少功能,則可使用較少位元且若實施較多功能則可使用較多位元。 LOCAL及REMOTE標籤可藉由指示封包之源或目的地而識別欲實行之功能之特定版本。舉例而言,在一些實施方案中,LOCAL標籤可指示一封包源自網路內。因此,關於NAT功能,LOCAL之一標籤指示欲實行之NAT功能係NAT。相比之下,REMOTE標籤指示源自網路外部之一封包。因此,關於NAT功能,REMOTE標籤指示欲實行之功能係DE-NAT。 仍參考圖2,封包處理器104包含一核心交換器202及各種網路功能處理模組2041
至204n
(通常「功能模組204」)。核心交換器202係在封包處理器104之作業系統之核心內執行之一交換器程序。在一些實施方案中,功能模組204各實施為單獨的虛擬機且核心交換器202實施於亦在封包處理器104上運行之一超管理器中。 當封包處理器104自網路交換器102接收一封包時,封包儲存於封包處理器104之記憶體中之一緩衝器中。核心交換器202繼而處理緩衝器中之各封包。在處理一封包時,核心交換器202分析封包標頭以識別添加至封包之識別符。在一些實施方案中,核心交換器維持或存取使識別符與其等之對應功能模組204相關聯之一查找表。若封包包含一To_Be_Processed識別符(或若設定一To_Be_Processed旗標),則核心交換器202將封包儲存在與適當功能模組204相關聯之一緩衝器中。在一虛擬機實施方案中,將封包傳遞至對應虛擬機。若封包包含一Processed識別符(或未設定To_Be_Processed旗標),則核心交換器202導致封包處理器104透過直接鏈路106將封包轉發返回至網路交換器102。在一些實施方案中,各網路功能之LOCAL及REMOTE版本(在適用的情況下)由相同功能模組204 (或虛擬機)實行。在此等情況下,欲由網路功能之任一版本處理之所有封包儲存於相同緩衝器中(或傳遞至相同虛擬機)。在一些實施方案中,各網路功能之LOCAL及REMOTE版本(在適用的情況下)實施為具有單獨的相關緩衝器(及記憶體空間)之單獨的功能模組204。緩衝器可實施為封包處理器之快取記憶體或其他系統記憶體內之專用記憶體位置。 指定網路功能處理模組204來處理特定網路功能。取決於封包處理器之處理能力及經實施之網路功能之數目,封包處理器104可執行各網路功能模組204之一個或多個例項。若在一共同環境內執行,則相同網路功能之例項可共用一共同緩衝器空間。在一些其他實施方案中,一網路功能之各例項在其自身虛擬機環境中執行。欲在封包處理器104上實施之適合網路功能之實例包含(但不限於) IP封包加密(IPSec)、NAT、原則強制執行、ACL或其他防火牆或網路安全功能(諸如服務攻擊之阻斷或侵入偵測)。各功能模組204可實施為儲存於一有形電腦可讀媒體上且由包含於封包處理器104內之一多處理器執行之電腦可執行指令。 在一些實施方案中,使用對應於多個網路功能之多個識別符標記一封包。核心交換器202管理工作流程以確保實行多個網路功能。多個識別符可級聯或儲存為單獨的標籤且核心交換器202解析且分離多個識別符。舉例而言,在其中功能外部化識別符儲存於MPLS標籤中之一封包中,將整個封包與所有其標籤一起依序轉發至各經指示功能模組204。當功能模組完成其在封包上之對應功能時,功能模組將對應MPLS標籤中之To_Be_Processed識別符替換為一Processed識別符。當所有MPLS標籤包含Processed識別符時,核心交換器202導致封包處理器104將具有經修改之標籤之封包傳回至網路交換器102。在其他實施方案中,如上文論述,網路交換器102之外部化模組214在需要時協調多個網路功能之執行且多次將需要應用多個網路功能之一封包轉發至封包處理器,每次針對欲實行之每個功能且每次與一不同識別符一起轉發。當在完成最後功能之後將封包傳回至網路交換器102時,外部化模組214將封包傳回至轉發模組215以用於進一步處置。 圖3係用於使用圖1中繪示之系統外部化網路功能之一例示性方法300之一流程圖。方法300包含:接收一封包(步驟302);使用欲在封包上實行之一網路功能標記封包(步驟303);將經接收之封包轉發至封包處理器(步驟304);自封包處理器接收經處理之封包(步驟306)及將經處理之封包轉發至目的地節點(步驟308)。 方法300包含接收一封包(步驟302)。如上文描述,一網路交換器自其區域網路、網際網路或其他網路上之其他網路裝置接收封包。舉例而言,網路交換器102自網路交換器108及110以及自網際網路112接收封包。 使用欲在封包上實行之一網路功能之一識別符標記封包(步驟303)。舉例而言,在網路交換器102之情況下,在一封包到達轉發模組215時,轉發模組基於封包標頭中之資料實行對於其轉發表之一查找以識別一下一跳躍節點及欲實行之任何網路功能。若欲實行網路功能,則將封包傳遞至功能外部化模組214,該功能外部化模組214如上文描述般使用一或多個網路功能之一識別符標記封包。由於存在連接網路交換器102及封包處理器104之一直接鏈路106,故可將封包轉發至封包處理器104而無需已經在封包標頭中之層2資訊之進一步路由或修改。在各種實施方案中,功能外部化模組214可在若干不同層2資料欄位之一者中包含欲在封包上實行之一所要功能之識別符而不干擾封包處理器104接收封包或實行指定網路功能。舉例而言,網路功能識別符可包含於(但不限於)源MAC位址欄位、目的地MAC位址欄位、VLAN標籤欄位、GRE標頭欄位、MPLS標頭欄位或經添加之MPLS標籤中。關於圖6A至圖6D描述使用各種欄位之標記。 網路交換器透過一直接鏈路將經接收之封包轉發至封包處理器(例如封包處理器104) (步驟304)。直接鏈路可係耦合至網路交換器之一專用資料平面或控制平面埠及封包處理器之一網路介面之一電或光纖電纜。在一些實施方案中,在將經接收之封包轉發至封包處理器之後,功能外部化模組214繼續處理其佇列中之一下一封包。即,網路交換器102在開始另一封包之處理之前不需要等待封包處理器104之處理結果。 網路交換器自封包處理器接收經處理之封包(步驟306)。如上文描述,在藉由在封包處理器上執行之一適當功能模組(例如一功能模組204)之處理之後,經處理之封包使用識別已實行之網路功能之一識別符標記且透過專用鏈路發送返回至網路交換器。在一些實施方案中,(例如)歸因於藉由一ACL或其他防火牆網路功能之一否定性發現,網路功能處理導致封包被丟棄。在此等情況中,封包處理器可將此事件之一指示傳輸至網路交換器,使得網路交換器可停止等待封包之傳回。 接著,網路交換器將經處理之封包轉發至目的地節點(步驟308)。在完成網路功能處理之後,將封包傳回至轉發模組215,該轉發模組215完成轉發程序。舉例而言,可使用路徑上朝向封包之最終目的地之下一跳躍節點之MAC位址填入封包之目的地MAC位址。接著,可將封包傳遞至連接至下一跳躍節點之埠之佇列以用於傳輸。 圖4係用於使用圖1中繪示之系統外部化網路功能之一例示性方法400之一流程圖。 方法400包含:自一網路交換器接收一封包(步驟402);將經接收之封包路由至一虛擬化網路功能模組以由該模組處理(步驟404);使用指定網路功能模組處理封包(步驟405);及將經處理之封包發送返回至網路交換器(步驟406)。 方法400包含藉由一封包處理器(諸如封包處理器104)自一網路交換器(諸如網路交換器102)接收一封包(步驟402)。透過與網路交換器之一直接實體鏈路(諸如實體鏈路106)接收封包。在一些實施方案中,使用識別欲在封包處理器上實行之網路功能之一識別符標記經接收之封包。封包之目的地MAC位址不同於封包處理器之MAC位址。目的地MAC位址可能出於至少兩個不同原因而不同。在一些實施方案中,目的地MAC位址不同於封包處理器之MAC位址,此係因為網路交換器之一功能外部化模組(諸如功能外部化模組214)在封包之目的地MAC位址中儲存欲實行之功能之一識別符。在一些其他實施方案中,功能識別符儲存於一不同標頭欄位中,但因為當將封包轉發至封包處理器時封包尚未經歷網路交換器處之層2路由,因此目的地MAC位址仍保持網路交換器102之MAC位址。為了容許封包處理器即使在封包之目的地MAC位址不匹配其自身之MAC位址之情況下仍接收且處理封包,在各種實施方案中,封包處理器或其網路介面可經程式化或另外經組態以接受具有任何目的地MAC位址之封包、具有網路交換器之目的地MAC位址之封包或其之目的地MAC位址包含與在封包處理器上執行之網路功能相關聯之一或多個功能識別符之封包。 封包處理器將經接收之封包路由至一網路功能模組(諸如功能模組204之一者) (步驟404)。舉例而言,基於封包標頭中之功能識別符,封包處理器(例如經由一核心交換器202)將經接收之封包傳遞至執行經指定以處理由識別符識別之網路功能之一網路功能模組之一虛擬機。 接著,封包處理器使用指定網路功能模組處理封包(步驟405)。如上文指示,網路功能模組可執行(不限於)ACL或其他防火牆處理、IPsec (加密或解密)、原則強制執行及NAT (NAT或DE-NAT)。在完成處理之後,更新封包標頭以包含如此指示之一識別符。 封包處理器將經處理之封包發送返回至網路交換器(步驟406)。如上文描述,舉例而言,在指定網路功能模組處理網路功能之後,使用經實行之網路功能及指示已實行對應網路功能之一識別符更新封包。在藉由(例如)一核心交換器(諸如核心交換器202)處理時,封包處理器104將經處理之封包發送返回至網路交換器102。 在一些實施方案中,針對(在步驟402中)由封包處理器接收之一組給定封包,封包處理器可不將相等數目個封包傳回至網路交換器。舉例而言,可以具有不同目的地位址之複製形式將封包發送返回至網路交換器,使得將封包傳輸至多個目的地節點。在其他情況下,經接收之封包之資料可分裂成多個較小封包或組合成較少數目個封包以適應各種發送及接收裝置之變動的緩衝器大小。類似地,資料之加密可通常導致用於表示資料之位元之數目之一增加,此可導致需要將經加密資料分段成多個封包以適應封包大小限制。資料由特定封包之解密產生可實現在使用更少封包來在資料被加密的同時傳輸資料之情況下轉發經解密資料。在一些實施方案中,在將一網路功能應用至一封包時,封包處理器可產生全新封包以供網路交換器發送。舉例而言,DE-NAT功能可起始至一連接主機之一ARP請求以獲得適當目的地資料以插入至正被處理之一封包中。 為了繪示圖3及圖4中展示之上文之方法300及400,圖5A至圖5D展示一封包標頭在其由圖1及圖2中展示之網路交換器102及封包處理器104根據方法300及400之一個例示性實施方案處理時之狀態。 圖5A展示一封包在其由網路交換器102接收時(在步驟302處)之標頭500,該封包以與網路交換器102處於相同管理網路中之一電腦(例如電腦114)為目的地。除了其他標頭欄位外,封包500尤其具有一源MAC位址欄位502、一目的地MAC位址欄位504、一源IP位址欄位506及目的地IP位址欄位508。在於網路交換器102處初始接收時,目的地MAC位址欄位504保持網路交換器102之MAC位址。源MAC位址欄位502保持沿著一網路路徑之先前跳躍(即,網路交換器之前之跳躍)之MAC位址。源IP位址欄位506包含發送者之源IP位址。目的地IP位址欄位508保持與封包之終端接收者(例如電腦114)相關聯之一公共IP位址。 圖5B展示在由功能外部化模組214處理(在步驟303處)之後之封包標頭500之狀態,其指示欲由DE_NAT功能處理封包以將包含於目的地IP位址欄位508中之電腦114之公共目的地IP位址自一公共IP位址轉換為電腦114之私人內部IP位址。由於封包處理器104及網路交換器102由一直接鏈路106連接,因此網路交換器102可將封包直接轉發至封包處理器104而無需在目的地MAC位址欄位中包含封包處理器104之MAC位址。因此,在封包標頭500之目的地MAC位址欄位504中包含DE_NAT功能識別符。更特定言之,DE_NAT功能由標籤NAT_REMOTE_To_Be_Processed指示。如上文指示,DE_NAT係在遠端產生之封包上實行之NAT功能,而NAT係在LOCAL封包(即,在網路內產生之封包)上實行之NAT功能。 在於目的地MAC位址欄位504中包含識別符NAT_REMOTE_To_Be_Processed之後,網路交換器102透過直接鏈路106將封包轉發至封包處理器104(在步驟304處)。封包處理器104接收具有如圖5B中展示之標頭500之封包(在步驟402處)。 圖5C展示在由在封包處理器上執行之一功能模組204處理(在步驟405處)之後,在被傳回至網路交換器(在步驟406處)之前之封包標頭500。如圖5C中展示,作為DE-NAT功能在封包處理器104處之處理之部分,更新目的地IP位址欄位508以包含終端接收者電腦(電腦114)之內部私人IP位址。為了使網路交換器102將封包辨識為已經處理,封包處理器104使用NAT_REMOTE_Processed替換目的地MAC位址欄位504中之功能識別符。 圖5D展示在由網路交換器朝向其目的地節點轉發(在步驟308處)時之封包標頭500。如圖5D中展示,相對於圖5C,已更新目的地MAC位址欄位504以指示至目的地節點(電腦114)之路徑上之下一跳躍節點之MAC位址。 如上文指示,依靠修改一封包之一目的地MAC位址以指示欲在一封包上實行或已在一封包上實行哪些網路功能之上文之實例僅係方法300及400之一個例示性實施方案。在其他實施方案中,可取而代之在其他標頭欄位中包含功能識別符。 圖6A至圖6D繪示與一封包相關聯之各種欄位,諸如(若干) MAC位址欄位、VLAN標籤欄位、通用路由封裝標頭欄位及多協定標籤交換標頭欄位,其中可包含針對在封包處理器上執行之一虛擬化網路功能之一識別符。 圖6A展示針對一IPv6封包之一典型封包標頭。一典型封包包含層2資料鏈路層(例如,乙太網路)標頭欄位、層3網路層(例如,IPv4或IPv6)標頭欄位及層4傳送層(例如,TCP)標頭欄位。圖6A突出目的地MAC位址欄位602在一典型IPv6封包中之位置。 如上文提及,在一些實施方案中,前述網路功能識別符可包含於VLAN標籤欄位604中(例如,由IEEE 802.1Q定義)。圖6B展示包含於乙太網路類型欄位之一第一部分中之VLAN標籤欄位604在一IPv6封包標頭中之位置。 在一些其他實施方案中,網路功能識別符可包含於一通用路由封裝(GRE)標頭欄位606中(例如,由RFC 2784定義)。在圖6C中展示GRE欄位606之位置。GRE標頭欄位606插入於標頭中之乙太網路類型欄位與IP版本欄位之間。 在又一些其他實施方案中,網路功能識別符可包含於一MPLS標頭欄位608中(例如,由RFC 3031定義)。圖6D展示MPLS標頭欄位608在一IPv6封包中之位置。MPLS標頭欄位608包含於與GRE標頭欄位606類似之一位置中。在一些實施方案中,MPLS標頭欄位608含有一或多個標籤(即,一標籤堆疊)。一或多個網路功能識別符可包含於MPLS標頭欄位608內之各自MPLS標籤中。 圖7係適合用於網路交換器及封包處理器之一例示性運算系統141之一方塊圖。舉例而言,電腦系統141適合用於實施封包處理器104。廣泛概述,運算系統141包含用於根據指令執行動作之至少一個處理器148及用於儲存指令及資料之一或多個記憶體裝置144或149。所繪示之例示性運算系統141包含經由一匯流排142而與記憶體144通信之一或多個處理器148、具有用於連接至一網路(未展示)之網路介面埠146之至少一個網路介面控制器143及其他組件145 (例如,輸入/輸入(「I/O」)組件147)。一般言之,(若干)處理器148將執行自記憶體接收之指令。所繪示之(若干)處理器148併入或直接連接至快取記憶體149。在一些例項中,指令自記憶體144讀取至快取記憶體149中且藉由(若干)處理器148從快取記憶體149執行。 更詳細言之,(若干)處理器148可係處理指令(例如,自記憶體144或快取記憶體149提取之指令)之任何邏輯電路。在許多實施例中,(若干)處理器148係微處理器單元或專用處理器。運算裝置141可係基於能夠如本文中描述般操作之任何處理器或處理器組。(若干)處理器148可係(若干)單核心或多核心處理器。(若干)處理器148可係多個不同處理器。在一些實施方案中,(若干)處理器148實施為一或多個「晶片」上之電路。 記憶體144可係適合於儲存電腦可讀資料之任何裝置。記憶體144可係具有固定儲存器之一裝置或用於讀取可抽換式儲存媒體之一裝置。實例包含所有形式之非揮發性記憶體、媒體及記憶體裝置、半導體記憶體裝置(例如,EPROM、EEPROM、SDRAM及快閃記憶體裝置)、磁碟、磁光碟及光碟(例如,CD ROM、DVD-ROM或Blu-Ray®光碟)。一運算系統141可具有任何數目個記憶體裝置144。 快取記憶體149通常係為了快速存取時間放置成非常接近(若干)處理器148之一種形式之電腦記憶體。在一些實施方案中,快取記憶體149係(若干)處理器148之部分或與(若干)處理器148在相同之晶片上。在一些實施方案中,存在多個層級之快取記憶體149,例如,L2及L3快取層。 網路介面控制器143經由網路介面146 (有時稱為一網路介面埠)管理資料交換。網路介面控制器143處置OSI模型之實體及資料鏈路層以用於網路通信。在一些實施方案中,一些網路介面控制器之任務由(若干)處理器148之一或多者處置。在一些實施方案中,網路介面控制器143併入至處理器148中(例如)作為相同晶片上之電路。在一些實施方案中,一運算系統141具有由一單一控制器143控制之多個網路介面146。在一些實施方案中,一運算系統141具有多個網路介面控制器143。在一些實施方案中,各網路介面146係用於一實體網路鏈路(例如,一5類(cat-5)乙太網路鏈路)之一連接點。在一些實施方案中,網路介面控制器143支援無線網路連接且一介面埠146係一無線(例如,無線電)接收器/傳輸器(例如,針對任何IEEE 802.11協定、近場通信「NFC」、藍芽、BLE、ANT或任何其他無線協定)。在一些實施方案中,網路介面控制器143實施一或多個網路協定(諸如乙太網路)。一般言之,一運算裝置141透過一網路介面146經由實體或無線鏈路而與其他運算裝置交換資料。網路介面146可直接鏈結至另一裝置或經由將運算裝置141連接至一資料網路(諸如網際網路)之一中間裝置(例如,一網路裝置,諸如一集線器、一橋接器、一交換器或一路由器)鏈結至另一裝置。 運算系統141可包含一或多個輸入或輸出(「I/O」)組件147或提供用於一或多個輸入或輸出(「I/O」)組件147之介面。輸入裝置包含(但不限於)鍵盤、麥克風、觸控螢幕、腳踏交換器、感測器、MIDI裝置及指標裝置(諸如一滑鼠或軌跡球)。輸出裝置包含(但不限於)視訊顯示器、揚聲器、再新點字終端、燈、MIDI裝置及2-D或3-D印表機。 其他組件145可包含一I/O介面、外部串列裝置埠及任何額外協同處理器。舉例而言,一運算系統141可包含用於連接輸入裝置、輸出裝置或額外記憶體裝置(例如,攜帶型隨身碟或外部媒體驅動器)之一介面(例如,一通用串列匯流排(「USB」)介面)。在一些實施方案中,一運算裝置141包含一額外裝置145 (諸如一協同處理器)。舉例而言,一數學協同處理器可協助處理器148進行高精度或複雜運算。 可在數位電子電路中或在體現於一有形媒體上之電腦軟體、韌體或硬體中實施本說明書中描述之標的物及操作之實施方案,該等實施方案包含在本說明書中揭示之結構及其等之結構等效物或該等結構之一或多者之組合。可將本說明書中描述之標的物之實施方案實施為體現於一有形媒體上之一或多個電腦程式,即編碼於一或多個電腦儲存媒體上供一資料處理設備執行或控制一資料處理設備之操作之電腦程式指令之一或多個模組。一電腦儲存媒體可係一電腦可讀儲存裝置、一電腦可讀儲存基板、一隨機或串列存取記憶體陣列或裝置或其等之一或多者之一組合或包含於其中。電腦儲存媒體亦可係一或多個單獨的組件或媒體(例如多個CD、磁碟或其他儲存裝置)或包含於其中。電腦儲存媒體可係有形及非暫時性。 可以任何形式之程式設計語言(包含編譯語言、解譯語言、宣告式語言及程序式語言)編寫一電腦程式(亦稱作一程式、軟體、軟體應用程式、指令碼或程式碼)且可以任何形式部署電腦程式,包含作為一獨立程式或作為一模組、組件、子常式、物件或適合用於一運算環境中之其他單元。一電腦程式可(但未必)對應於一檔案系統中之一檔案。一程式可儲存於保持其他程式或資料之一檔案之一部分中(例如,儲存於一標記語言文件中之一或多個指令碼)、儲存於專用於所論述程式之一單一檔案中或儲存於多個協調檔案(例如儲存一或多個模組、程式庫、副程式或程式碼之部分之檔案)中。一電腦程式可經部署以在一個電腦上或在定位於一個位點處或跨越多個位點分佈且由一通信網路互連之多個電腦上執行。 可藉由執行一或多個電腦程式之一或多個可程式化處理器執行本說明書中描述之程序及邏輯流程以藉由對輸入資料操作且產生輸出而執行行動。亦可藉由專用邏輯電路(例如一場可程式化閘陣列(「FPGA」)或一特定應用積體電路(「ASIC」))執行程序及邏輯流程且亦可將設備實施為該專用邏輯電路。即使此一專用電路非一通用處理器,該專用電路仍可稱為一電腦處理器。 雖然本說明書含有許多特定實施方案細節,但不應將此等細節理解為對任何發明或可能主張之內容之範疇之限制,而應理解為特定發明之特定實施方案所特定之特徵之描述。亦可在一單一實施方案中組合實施在本說明書中在單獨實施方案之背景內容中描述之特定特徵。相反地,亦可在多個實施方案中單獨地實施或以任何適合子組合實施在一單一實施方案之背景內容中描述之各種特徵。再者,雖然在上文將特徵描述為以特定組合作用且甚至最初如此主張,但在一些情況下,來自一所主張組合之一或多個特徵可自該組合去除且該所主張組合可係關於一子組合或一子組合之變動。 類似地,雖然以一特定順序在圖式中描繪操作,但不應將此理解為需要以所展示之特定順序或以循序順序執行此等操作或執行所有所繪示之操作以達成所要結果。在特定情況中,多任務及並行處理可係有利的。再者,不應將上文描述之實施方案中之各種系統組件之分離理解為在所有實施方案中需要此分離,且應將此理解為通常可將所描述之程式組件及系統一起整合於一單一軟體產品中或封裝至多個軟體產品中。 提及「或」可理解為包含性使得使用「或」描述之任何術語可指示一單一、一個以上及所有所描述術語之任何者。標籤「第一」、「第二」、「第三」等等不一定意欲指示一排序且通常僅用於區分相同或類似項目或元件。 因此,已描述標的物之特定實施方案。其他實施方案係在以下申請專利範圍之範疇內。在一些情況下,在申請專利範圍中陳述之動作可以一不同順序執行且仍達成所要結果。另外,在附圖中描繪之程序不一定需要所展示之特定順序或循序順序以達成所要結果。在特定實施方案中,可使用多任務或並行處理。
1至52‧‧‧埠
100‧‧‧網路系統
102‧‧‧網路交換器
104‧‧‧封包處理器
106‧‧‧直接鏈路
108‧‧‧網路交換器
110‧‧‧網路交換器
112‧‧‧網際網路
114‧‧‧電腦
116‧‧‧電腦
118‧‧‧電腦
120‧‧‧電腦
124‧‧‧電腦
126‧‧‧電腦
130‧‧‧交換器處理器
141‧‧‧運算系統/電腦系統
142‧‧‧匯流排
143‧‧‧網路介面控制器
144‧‧‧記憶體裝置
145‧‧‧其他組件
146‧‧‧網路介面埠
147‧‧‧輸入/輸入(I/O)組件
148‧‧‧處理器
149‧‧‧記憶體裝置/快取記憶體
200‧‧‧方塊圖
202‧‧‧核心交換器
204、2041-204n‧‧‧網路功能處理模組
212‧‧‧路由模組
214‧‧‧功能外部化模組
215‧‧‧轉發模組
300‧‧‧例示性方法
302‧‧‧步驟
303‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
400‧‧‧例示性方法
402‧‧‧步驟
404‧‧‧步驟
405‧‧‧步驟
406‧‧‧步驟
500‧‧‧封包標頭
502‧‧‧源MAC位址欄位
504‧‧‧目的地MAC位址欄位
506‧‧‧源IP位址欄位
508‧‧‧目的地IP位址欄位
602‧‧‧目的地MAC位址欄位
604‧‧‧VLAN標籤欄位
606‧‧‧通用路由封裝(GRE)標頭欄位
608‧‧‧多協定標籤交換(MPLS)標頭欄位
熟習此項技術者將理解,本文中描述之圖僅係為了圖解目的。應理解,在一些例項中,可誇大或放大展示所描述之實施方案之各種態樣以促進所描述之實施方案之一理解。在圖式中,貫穿各種圖式,相同元件符號通常指代相同特徵、功能類似及/或結構類似元件。圖式未必按比例,取而代之將重點放在繪示教示之原理上。圖式不意欲以任何方式限制本教示之範疇。自參考以下圖式之以下闡釋性描述,可較佳理解系統及方法,其中: 圖1係一網路系統之一示意圖。 圖2係圖1中展示之網路交換器及封包處理器之一方塊圖。 圖3係用於使用圖1中繪示之系統外部化網路功能之一例示性方法之一流程圖。 圖4係用於使用圖1中繪示之系統外部化網路功能之一例示性方法之一流程圖。 圖5A至圖5D展示一封包標頭在其由圖1及圖2中展示之網路交換器及封包處理器根據圖3及圖4中展示之方法之一個例示性實施方案處理時之狀態。 圖6A至圖6D展示其中可包含針對在封包處理器上執行之一虛擬化網路功能之一識別符之各種封包標頭欄位之位置。 圖7係適合用於所描述之各種實施方案中之一運算系統之一方塊圖。 為了清楚起見,未在每一圖中標記每一組件。圖式不意欲按比例繪製。各種圖中之相同元件符號及名稱指示相同元件。
Claims (20)
- 一種用於外部化網路功能之網路系統,其包括:一網路交換器,其經組態以:經由一第一網路介面接收一封包,其中該封包經引導至除了該網路交換器之外之一目的地節點;經由一第二網路介面透過該網路交換器與一封包處理器之間之一直接實體鏈路而將該經接收之封包轉發至該封包處理器以用於處理,其中該網路交換器轉發該封包連同針對在該封包處理器上執行之一虛擬化網路功能之一識別符,且該封包之一目的地MAC位址不同於該封包處理器之一MAC位址;自該封包處理器接收該經處理之封包;及透過一第三網路介面朝向該目的地節點轉發該經處理之封包;及該封包處理器,其包括一通用電腦處理器且經組態以:執行複數個不同的虛擬化網路功能模組,其包含一網路位址轉譯模組、一原則強制執行模組、一加密模組、一存取控制清單篩選模組、一防火牆模組及一入侵偵測模組之至少兩個;自該網路交換器接收該封包;基於與該封包包含在一起之該識別符將在該封包處理器內之該經接收之封包路由至在該封包處理器上執行之該複數個虛擬化網路功能模組之一者以用於處理;及將該經處理之封包發送返回至該網路交換器。
- 如請求項1之系統,其中該封包處理器經組態以辨識與該等虛擬化網路功能之至少一者相關聯之至少兩個識別符,該至少兩個識別符包含用於識別欲對本端產生之封包執行之該虛擬化網路功能之一版本之一第一識別符及針對欲對在遠端產生之封包執行之該網路功能之一版本之一第二識別符。
- 如請求項1之系統,其中該經處理之封包包含識別在處理該封包時已實行之一網路功能之一識別符。
- 如請求項1之系統,其中針對該虛擬化網路功能之該識別符包含於與該封包相關聯之一MAC位址欄位、VLAN標籤欄位、通用路由封裝標頭欄位或多協定標籤交換標頭欄位之一者中。
- 如請求項1之系統,其中該網路交換器經組態以將該封包連同針對在該封包處理器上執行之一第二虛擬化網路功能之一第二識別符轉發返回至該封包處理器。
- 如請求項1之系統,其中該識別符為一第一識別符,及該網路交換器經組態以將該經接收之封包連同該第一識別符與針對在該封包處理器上執行之一第二虛擬化網路功能之一第二識別符轉發至該封包處理器。
- 如請求項1之系統,其包括經組態以提供使用於轉發該經處理之封包之一轉發表給該網路交換器之一中央軟體定義網路處理器。
- 如請求項1之系統,其包括一第二通用電腦處理器之一第二封包處理器,該第二通用電腦處理器經組態以執行第二複數個不同的虛擬化網路功能模組。
- 一種網路交換器,其包括:一處理器;非暫時性電腦可讀媒體,其儲存電腦可執行指令,該等電腦可執行指令當由該處理器執行時導致該處理器:經由一第一網路介面接收一封包,其中該封包經引導至除了該網路交換器之外之一目的地節點;修改該封包之標頭內之一欄位以包含針對在封包處理器上執行之一虛擬化網路功能之一識別符;經由一第二網路介面透過該網路交換器與該封包處理器之間之一直接實體鏈路而將具有該經修改之標頭之該經接收之封包轉發至包括一通用電腦處理器之一封包處理器,其中該網路交換器轉發具有一目的地MAC位址之該封包,該目的地MAC位址不同於該封包處理器之一MAC位址,該封包處理器執行複數個不同的虛擬化網路功能模組,其包含一網路位址轉譯模組、一原則強制執行模組、一加密模組、一存取控制清單篩選模組、一防火牆模組及一入侵偵測模組之至少兩個,該識別符對應於該複數個虛擬化網路功能模組之一者,及該封包處理器使用該識別符以將在該封包處理器內之該路由至該對應之虛擬化網路功能模組; 在該封包已由該經識別之虛擬化網路功能處理之後自該封包處理器接收該封包;及透過一第三網路介面朝向該目的地節點轉發該經處理之封包。
- 如請求項9之網路交換器,其中該封包處理器經組態以辨識與該等虛擬化網路功能之至少一者相關聯之至少兩個識別符,該至少兩個識別符包含用於識別欲對本端產生之封包執行之該虛擬化網路功能之一版本之一第一識別符及針對欲對在遠端產生之封包執行之該網路功能之一版本之一第二識別符。
- 如請求項9之網路交換器,其中該經處理之封包包含識別在處理該封包時已實行之一網路功能之一識別符。
- 如請求項9之網路交換器,其中該識別符係包含於與該封包相關聯之一MAC位址欄位、VLAN標籤欄位、通用路由封裝標頭欄位或多協定標籤交換標頭欄位之一者中。
- 如請求項9之網路交換器,其中該指令進一步導致該處理器將該經處理之封包連同針對在該封包處理器上執行之一第二虛擬化網路功能之一第二識別符轉發返回至該封包處理器。
- 如請求項9之網路交換器,其中該識別符為一第一識別符,及該指令 進一步導致該處理器將該經接收之封包連同該第一識別符與針對在該封包處理器上執行之一第二虛擬化網路功能之一第二識別符轉發至該封包處理器。
- 一種封包處理器,其包括:一通用電腦處理器;非暫時性電腦可讀媒體,其儲存電腦可執行指令,該等電腦可執行指令當由該處理器執行時導致該處理器:執行複數個不同的虛擬化網路功能模組,其包含一網路位址轉譯模組、一原則強制執行模組、一加密模組、一存取控制清單篩選模組、一防火牆模組及一入侵偵測模組之至少兩個;透過一網路交換器與該封包處理器之間之一直接實體鏈路而自該網路交換器接收一封包,其中該經接收之封包包含對應於在該封包處理器上執行之欲在該封包上實行之該等虛擬化網路功能模組之一者之一識別符,且該經接收之封包之一目的地MAC位址不同於該封包處理器之一MAC位址;將在該封包處理器內之該經接收之封包路由至對應於該識別符之該網路功能模組;使用該對應之網路功能模組處理該封包;及透過該直接實體鏈路將該經處理之封包發送返回至該網路交換器。
- 如請求項15之封包處理器,其中該處理器經組態以辨識與該等虛擬化網路功能之至少一者相關聯之至少兩個識別符,該至少兩個識別符包含用 於識別欲對本端產生之封包執行之該虛擬化網路功能之一版本之一第一識別符及針對欲對在遠端產生之封包執行之該網路功能之一版本之一第二識別符。
- 如請求項15之封包處理器,其中該等電腦可執行指令在被該處理器執行時,導致該處理器在該封包已由該網路功能模組處理之後修改該封包標頭以包含指示已在該封包上實行該經識別之網路功能之一識別符。
- 如請求項15之封包處理器,其中針對該虛擬化網路功能之該識別符包含於與該封包相關聯之一MAC位址欄位、VLAN標籤欄位、通用路由封裝標頭欄位或多協定標籤交換標頭欄位之一者中。
- 如請求項15之封包處理器,其中該指令進一步導致該處理器自該網路交換器接收回該經處理之封包連同針對在該封包處理器上執行之一第二虛擬化網路功能之一第二識別符。
- 如請求項15之封包處理器,其中該識別符為一第一識別符,及該指令進一步導致該處理器將該經接收之封包連同該第一識別符與針對在該封包處理器上執行之一第二虛擬化網路功能之一第二識別符轉發至該封包處理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/835,109 US9948556B2 (en) | 2015-08-25 | 2015-08-25 | Systems and methods for externalizing network functions via packet trunking |
US14/835,109 | 2015-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201713082A TW201713082A (zh) | 2017-04-01 |
TWI646804B true TWI646804B (zh) | 2019-01-01 |
Family
ID=56852073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105126402A TWI646804B (zh) | 2015-08-25 | 2016-08-18 | 用於經由封包中繼外部化網路功能之系統與方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9948556B2 (zh) |
EP (1) | EP3136654B1 (zh) |
CN (1) | CN106487719B (zh) |
DE (1) | DE202016107377U1 (zh) |
TW (1) | TWI646804B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180234535A1 (en) * | 2017-02-10 | 2018-08-16 | Mediatek Inc. | Method and apparatus for communication |
US10764170B2 (en) | 2017-04-09 | 2020-09-01 | Barefoot Networks, Inc. | Generation of path failure message at forwarding element based on message path |
US10834099B2 (en) * | 2017-05-23 | 2020-11-10 | Juniper Networks, Inc. | Identifying a file using metadata and determining a security classification of the file before completing receipt of the file |
EP3863247A1 (en) * | 2017-07-10 | 2021-08-11 | BGC Partners, L.P. | Networks for packet monitoring and replay |
US10440159B2 (en) | 2017-08-03 | 2019-10-08 | T-Mobile Usa, Inc. | Header modification for supplementary services |
KR101877004B1 (ko) * | 2017-09-29 | 2018-07-10 | 주식회사 쏠리드 | 오픈플로우 기반의 분산 안테나 시스템 |
CN108228834B (zh) * | 2018-01-04 | 2022-12-02 | 北京奇艺世纪科技有限公司 | 互联网协议地址的查询及存储方法、装置和电子设备 |
US11329955B2 (en) * | 2018-01-24 | 2022-05-10 | Vmware, Inc. | Remote session based micro-segmentation |
US10785189B2 (en) | 2018-03-01 | 2020-09-22 | Schweitzer Engineering Laboratories, Inc. | Selective port mirroring and in-band transport of network communications for inspection |
US11656775B2 (en) | 2018-08-07 | 2023-05-23 | Marvell Asia Pte, Ltd. | Virtualizing isolation areas of solid-state storage media |
US11372580B2 (en) * | 2018-08-07 | 2022-06-28 | Marvell Asia Pte, Ltd. | Enabling virtual functions on storage media |
US11038856B2 (en) * | 2018-09-26 | 2021-06-15 | Marvell Asia Pte, Ltd. | Secure in-line network packet transmittal |
US11010314B2 (en) | 2018-10-30 | 2021-05-18 | Marvell Asia Pte. Ltd. | Artificial intelligence-enabled management of storage media access |
US11481118B2 (en) | 2019-01-11 | 2022-10-25 | Marvell Asia Pte, Ltd. | Storage media programming with adaptive write buffer release |
EP3716550A1 (de) * | 2019-03-29 | 2020-09-30 | Siemens Aktiengesellschaft | Verfahren zur datenkommunikation in einem industriellen netzwerk, steuerung, netzwerk, computerprogramm und computerlesbares medium |
US11803658B1 (en) * | 2019-10-29 | 2023-10-31 | United Services Automobile Association (Usaa) | Data access control |
US12132656B2 (en) * | 2020-08-02 | 2024-10-29 | Mellanox Technologies, Ltd. | Stateful filtering systems and methods |
TWI785374B (zh) * | 2020-09-01 | 2022-12-01 | 威聯通科技股份有限公司 | 網路惡意行為偵測方法與利用其之交換系統 |
US12021740B2 (en) | 2021-05-28 | 2024-06-25 | Juniper Networks, Inc. | Policy enforcement for bare metal servers by top of rack switches |
US20230164073A1 (en) * | 2021-11-23 | 2023-05-25 | Google Llc | Systems and Methods for Tunneling Network Traffic to Apply Network Functions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080219184A1 (en) * | 2007-03-05 | 2008-09-11 | Fowler Jeffery L | Discovery of network devices |
US20110090911A1 (en) * | 2009-10-21 | 2011-04-21 | Fang Hao | Method and apparatus for transparent cloud computing with a virtualized network infrastructure |
TW201429173A (zh) * | 2012-09-27 | 2014-07-16 | Interdigital Patent Holdings | 在虛擬網路中端對端架構、api框架、發現及存取 |
CN104283806A (zh) * | 2014-10-31 | 2015-01-14 | 杭州华三通信技术有限公司 | 业务链处理方法和设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE515054C2 (sv) * | 1995-05-31 | 2001-06-05 | Telia Ab | Förbättringar på eller med anknytning till fleradressänndning (multicasting) |
GB0208797D0 (en) * | 2002-04-17 | 2002-05-29 | Univ Cambridge Tech | IP-Capable switch |
US7408957B2 (en) * | 2002-06-13 | 2008-08-05 | International Business Machines Corporation | Selective header field dispatch in a network processing system |
US8442043B2 (en) * | 2008-12-29 | 2013-05-14 | Cisco Technology, Inc. | Service selection mechanism in service insertion architecture data plane |
US20120163164A1 (en) * | 2010-12-27 | 2012-06-28 | Brocade Communications Systems, Inc. | Method and system for remote load balancing in high-availability networks |
US9898317B2 (en) * | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9602430B2 (en) * | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9973375B2 (en) | 2013-04-22 | 2018-05-15 | Cisco Technology, Inc. | App store portal providing point-and-click deployment of third-party virtualized network functions |
US20140376555A1 (en) | 2013-06-24 | 2014-12-25 | Electronics And Telecommunications Research Institute | Network function virtualization method and apparatus using the same |
US9350657B2 (en) * | 2013-07-08 | 2016-05-24 | Nicira, Inc. | Encapsulating data packets using an adaptive tunnelling protocol |
US9432925B2 (en) * | 2013-08-05 | 2016-08-30 | Nokia Technologies Oy | Method, apparatus, and computer program product for hop count usage in cluster selection |
CN108541044B (zh) * | 2013-08-13 | 2019-12-24 | 华为终端有限公司 | 用于加入邻近感知网络设备群的方法及设备 |
BR112016004183A8 (pt) | 2013-08-27 | 2020-02-11 | Huawei Tech Co Ltd | método para virtualização de função de rede móvel e computador |
US9686369B2 (en) * | 2013-09-13 | 2017-06-20 | Qualcomm Incorporated | System and method for multihop service discovery with member station proxy service advertisements |
US9876715B2 (en) * | 2013-11-05 | 2018-01-23 | Cisco Technology, Inc. | Network fabric overlay |
WO2015152657A1 (ko) * | 2014-04-02 | 2015-10-08 | 엘지전자 주식회사 | 무선 통신 시스템에서 nan 단말의 신호 송수신 방법 및 장치 |
US9386512B2 (en) * | 2014-05-02 | 2016-07-05 | Intel Corporation | Techniques for energy efficient WiFi neighbor awareness network operation |
US9992108B2 (en) * | 2014-07-22 | 2018-06-05 | Alcatel-Lucent Usa Inc. | Packet forwarding based on path encoding |
US9692699B2 (en) * | 2014-10-30 | 2017-06-27 | Intel Corporation | Apparatus, system and method of protecting a service identifier |
US10051676B2 (en) * | 2014-10-30 | 2018-08-14 | Intel Corporation | Apparatus, system and method of peer to peer communication |
US20160157193A1 (en) * | 2014-12-01 | 2016-06-02 | Emily Qi | Exchanging ranging and location information among peer-to-peer devices |
US9667538B2 (en) * | 2015-01-30 | 2017-05-30 | Telefonaktiebolget L M Ericsson (Publ) | Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks |
CN105847237B (zh) * | 2016-03-15 | 2019-01-15 | 中国联合网络通信集团有限公司 | 一种基于nfv的安全管理方法和装置 |
-
2015
- 2015-08-25 US US14/835,109 patent/US9948556B2/en active Active
-
2016
- 2016-08-10 DE DE202016107377.4U patent/DE202016107377U1/de active Active
- 2016-08-10 EP EP16183534.3A patent/EP3136654B1/en active Active
- 2016-08-18 TW TW105126402A patent/TWI646804B/zh active
- 2016-08-25 CN CN201610726238.1A patent/CN106487719B/zh active Active
-
2018
- 2018-03-15 US US15/922,523 patent/US10122629B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080219184A1 (en) * | 2007-03-05 | 2008-09-11 | Fowler Jeffery L | Discovery of network devices |
US20110090911A1 (en) * | 2009-10-21 | 2011-04-21 | Fang Hao | Method and apparatus for transparent cloud computing with a virtualized network infrastructure |
TW201429173A (zh) * | 2012-09-27 | 2014-07-16 | Interdigital Patent Holdings | 在虛擬網路中端對端架構、api框架、發現及存取 |
CN104283806A (zh) * | 2014-10-31 | 2015-01-14 | 杭州华三通信技术有限公司 | 业务链处理方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20180205651A1 (en) | 2018-07-19 |
DE202016107377U1 (de) | 2017-03-07 |
CN106487719B (zh) | 2020-06-09 |
US9948556B2 (en) | 2018-04-17 |
US20170063682A1 (en) | 2017-03-02 |
TW201713082A (zh) | 2017-04-01 |
US10122629B2 (en) | 2018-11-06 |
CN106487719A (zh) | 2017-03-08 |
EP3136654A1 (en) | 2017-03-01 |
EP3136654B1 (en) | 2022-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI646804B (zh) | 用於經由封包中繼外部化網路功能之系統與方法 | |
JP6317851B1 (ja) | 論理ルータ | |
EP3254417B1 (en) | Method and system for supporting port ranging in a software-defined networking (sdn) system | |
EP3504848B1 (en) | Improving service function chain, sfc, proxy performance in software defined networking, sdn, networks | |
JP6445015B2 (ja) | ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法 | |
EP3222012B1 (en) | Method and system for virtualizing flow tables in a software-defined networking (sdn) system | |
US9338094B2 (en) | System and method for context aware network | |
US9473404B2 (en) | Symmetric flow processing in a software-defined networking (SDN) system | |
US7738457B2 (en) | Method and system for virtual routing using containers | |
EP3210347B1 (en) | Pre-built match-action tables | |
US11165692B2 (en) | Packet forwarding using vendor extension in a software-defined networking (SDN) system | |
US11032162B2 (en) | Mothod, non-transitory computer-readable storage medium, and computer system for endpoint to perform east-west service insertion in public cloud environments | |
US10177935B2 (en) | Data transfer system, data transfer server, data transfer method, and program recording medium | |
US11711292B2 (en) | Pre-filtering of traffic subject to service insertion | |
US20230164073A1 (en) | Systems and Methods for Tunneling Network Traffic to Apply Network Functions | |
US9425986B2 (en) | System and method for multiple concurrent virtual networks | |
AU2014284255B2 (en) | System and method for multiple concurrent virtual networks |