TW201301815A - 網路系統及網路至網路橋接器 - Google Patents
網路系統及網路至網路橋接器 Download PDFInfo
- Publication number
- TW201301815A TW201301815A TW101120856A TW101120856A TW201301815A TW 201301815 A TW201301815 A TW 201301815A TW 101120856 A TW101120856 A TW 101120856A TW 101120856 A TW101120856 A TW 101120856A TW 201301815 A TW201301815 A TW 201301815A
- Authority
- TW
- Taiwan
- Prior art keywords
- network
- processing stack
- data
- layer
- network processing
- Prior art date
Links
Landscapes
- Small-Scale Networks (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本發明提供一種網路系統。於一實施例中,該網路系統包括一主系統及至少一次系統。該主系統之主機板包括至少一插槽以使次系統經由插入插槽而與主系統耦接,該插槽符合一週邊元件高速互聯介面標準。一包含一傳輸層與網際網路層但不包含網路介面層之網路至網路橋接器,安置在主系統與次系統之間,以透過該週邊元件高速互聯介面標準傳送資料於主/次系統間,其中該網路至網路橋接器存取及/或儲存主系統與次系統兩者的MAC位址來進行資料傳輸,並可依實際需求安置在主系統主機板或次系統主機板上。
Description
本發明係關於電腦網路,特別是關於電腦系統間共用傳輸層與網際網路層但不包含網路介面層之電腦網路。
一般而言,電腦系統與伺服器(server)係經由乙太網路(Ethernet)建立網路連線。基本上,電腦系統與伺服器的連線方式可分為一對一連線(one-to-one connection)及一對多連線(one-to-multiple connection)。第1A圖為於一對一連線方式下的電腦系統與伺服器示意圖,其中電腦系統120經由網路連線連接至伺服器110。第1B圖為於一對多連線方式下的電腦系統與伺服器示意圖,其中電腦系統182、184、186於連接至伺服器160前需經由網路交換器(network switch)170處理網路封包的傳遞。
由於網路連線兩端的電腦系統、伺服器、及網路交換器均需具備網路轉換器(network adapter),以自網路連線接收網路封包或傳送網路封包至網路連線,所以網路轉換器所包含的網路介面層(network access)的資料處理速度便經常成為網路連線速度之瓶頸。此外,由於網路線兩端的資料傳送/接收速度必須一致,因此網路連線的速度會被限制於較低的資料傳送/接收速度。舉例來說,若第1A圖的伺服器110的資料傳送/接收速度為10 GB/s,而電腦120的資料傳送/接收速度為10 MB/s,因此伺服器110與電腦120之間的網路連線的資料傳送/接收速度將為10 MB/s。同樣的,若第1B圖的伺服器160及網路交換器170的資料傳送
/接收速度為10 GB/s,而電腦系統182的資料傳送/接收速度為10 MB/s,伺服器160與電腦系統182之間的網路連線的資料傳送/接收速度將為10 MB/s。明顯的,網路傳輸速度會受限於所有網路轉換器底層之網路介面層的最低傳輸速度,而且還要進行封包偵錯的時間,所以整體傳輸速度會更低。
由於網路的傳送必須遵循TCP/IP通訊協定的規定,因此資料傳送端將依據TCP/IP模型各層(例如網路介面層之上分別為網際網路層(internet layer)、傳輸層(transport layer)、應用層(application layer))的規定,在作業系統上執行的軟體應用程式將欲傳送的資料從應用層開始進行封包,最後透過網路介面層傳送到資料接收端,而資料接收端的網路介面層在接收到封包後,也依據TCP/IP的規定進行解封包的操作。在另一常用的OSI模型中則各層分別為實體層(physical layer)、資料鏈結層(data-link layer)、網路層(network layer)、傳輸層(transport layer)、會話層(session layer)、表示層(presentation layer)、應用層(application layer);TCP/IP模型相較之下係將OSI模型中功能類似的層次合併,包括將OSI之應用層、表示層及會話層合併為應用層,保留傳輸層和網路層,將OSI之實體層及資料鏈結層合併為網路介面層。
第2圖為網路連線兩端的網路轉換器210及250的示意圖,其中A系統經由網路轉換器210連接至網路線260,而B系統經由網路轉換器250連接至網路線260。當A系統要傳送資料給B系統時,網路轉換器210在A系統接收
所欲傳送的資料後,將依循應用層221、傳輸層222、網際網路層223、網路介面層224的規定對資料進行編碼且轉換為封包,再透過傳輸端Tx送至網路線260。另一方面,網路轉換器250透過接收端Rx從網路線260接收由網路轉換器210傳輸端Tx所送來的封包,並依循網路介面層274、網際網路層273、傳輸層272、應用層271對所接收封包進行解封包的操作,以取出A系統所要傳送的資料。應注意的是,自B系統透過網路線260傳送資料給A系統類似上述的操作,故不予以贅述。
上述第2圖所描述的架構雖然已廣泛運用在目前的網路傳輸中,但對於越來重視的雲端運算或是無線通訊基地台/機房而言,卻在伺服器所提供的服務越來愈多樣化之下,而逐漸出現效率不足的窘境。舉例來說,習知的伺服器會包含主系統與次系統兩部分,並在接收到客戶端的服務需求後,由主系統依據服務類型分配給後續的次系統進行做處理。應注意的是,主系統與次系統皆是可獨立運作的電腦系統。以第1B圖為例,主系統160與次系統182/184/186係透過乙太網路(Ethernet)相連,並在主系統160接收客戶端服務需求後,分派給次系統182/184/186作進一步處理,而次系統182/184/186處理後的資料亦透過乙太網路回傳給訊息給主系統160。明顯的,在伺服器端的主/次系統傳送資料過程中,除了網路介面層的傳輸速度與偵錯操作會影響系統運作效率之外,近在咫尺的主/次系統又需要對資料不斷地進行封包與解封包操作,因此又拖累系統整體的傳輸效率。為了提升網路連線的資料傳輸速度
以配合更高的需求標準,必須改良網路轉換器的設計。
有鑑於此,本發明之目的在於提供一種網路至網路橋接器(network-to-network bridge),以解決習知技術存在之問題。於一實施例中,該網路至網路橋接器,耦接於一第一系統與一第二系統之間,包括一第一網路轉換器,包括一第一匯流排介面以及一第一網路處理堆疊,其中該第一匯流排介面自該第一系統接收一第一資料,且該第一網路處理堆疊對該第一資料進行編碼處理以產生一第一編碼資料;以及一第二網路轉換器,包括一第二匯流排介面以及一第二網路處理堆疊,其中該第二網路處理堆疊以該第一編碼資料作為一第一解碼資料,且從該第二匯流排介面將該第一解碼資料傳送至該第二系統。
本發明提供一種網路至網路橋接器,耦接於一第一系統與一第二系統之間,包括一第一網路轉換器,包括一第一匯流排介面以及一第一網路處理堆疊;複數個第二網路轉換器,每個該第二網路轉換器包括一第二匯流排介面以及一第二網路處理堆疊;以及一路由裁決器,包含一第一路由網路處理堆疊與一第二路由網路處理堆疊,其中該第一網路處理堆疊與該第一路由網路處理堆疊整合,且該第二網路處理堆疊與該第二路由網路處理堆疊整合;其中該第一匯流排介面自該第一系統接收一第一資料,且該第一網路處理堆疊對該第一資料進行編碼處理以產生一第一編碼資料;其中路由裁決器經由整合之該第一網路處理堆疊與該第一路由網路處理堆疊而取得該第一編碼資料,再經
由整合之該第二網路處理堆疊與該第二路由網路處理堆疊送往該第二網路轉換器之一者;其中接收該第一編碼資料之該第二網路轉換器以該第一編碼資料作為一第一解碼資料,且從接收該第一編碼資料之該第二網路轉換器之該第二匯流排介面將該第一解碼資料傳送至該第二系統。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
為了解決習知技術在網路介面層的資料處理造成網路連線速度瓶頸的問題,本案發明人提出一種可以直接將次系統安置在主系統插槽,並共用傳輸層與網際網路層但不包含網路介面層的架構,並利用更快速的周邊元件高速互聯(Peripheral Component Interconnect express,PCIe)匯流排來傳送資料,因此而主/次系統間除了不再需要透過網路介面層來進行網路連線,而且可透過更快速的連接介面進行資料傳輸,於是伺服器的主/次系統間的資料傳遞速度得以提升,進而提升回覆客戶端服務需求的效率。以下將利用第3圖至第6圖對本發明做更詳盡之描述。
第3A圖為本發明一對一連線方式的網路至網路橋接器300a之區塊圖。在第3A圖中,網路轉換器(network adapter)310a係位於主系統之主機板上,而網路轉換器350a則位於次系統之主機板上。應注意的是,次系統主機板系插入主系統主機板之插槽上,因此主系統與次系統可分別透過PCIe介面325a與355a,並經由PCIe匯流排360a
相連。第3A圖中的網路轉換器310a亦包括與主系統晶片組(未繪示)相連之PCIe介面320a及一網路處理堆疊,網路轉換器350a則包括與次系統晶片組(未繪示)耦接的PCIe介面370a及一網路處理堆疊。網路轉換器310a之網路處理堆疊包括傳輸層322a、網際網路層323a,但不包括網路介面層。同樣的,網路轉換器350a之網路處理堆疊中亦包含傳輸層352a與網際網路層353a但不包括網路介面層。有利的是,在本實施例中,由於網路轉換器310a及350a已透過PCIe匯流排360a相連以進行資料交換,所以網路介面層便不再需要而可除去,於是可大幅提升主系統與次系統之間資料傳送及接收的速度。另外,當網路至網路橋接器300a係連接於主系統及次系統之PCI-X匯流排或PCI匯流排之間時,網路轉換器310a及350a的PCIe介面320a及370a亦可置換為PCI-X介面或PCI介面。再者,雖然上述實施例之網路雖用乙太網路(Ethernet)做說明,但任何與乙太網路類似、或是可應用本發明而除去網路介面層之網路、或是不脫離本發明精神所為之等效修飾與應用,皆應包含於本發明申請專利範圍中。
以下將針對網路轉換器310a及350a的操作細節部分做進一步的描述。當主系統欲傳送第一資料(例如是從客戶端而來的服務需求)至次系統時,首先將利用網路至網路橋接器300a中的傳輸層322a與網際網路層323a依序對第一資料進行編碼而產生第一編碼資料。應注意的是,由於第一資料已將TCP/IP網路堆疊最上端的應用層321a所需的資料編碼在內,因此第3A圖以虛線繪示應用層321a的外
框。接下來,第一編碼資料將經由主系統PCIe介面325a、PCIe匯流排360a、再送往PCIe介面355a。在次系統的網路轉換器350a接收第一編碼資料後,將依據網際網路層323a與傳輸層322a的順序依序對第一編碼資料進行解碼,用以產生第一解碼資料,最後再將第一解碼資料透過次系統內部的PCIe介面370a送往次系統的晶片組(未繪示)與中央處理器(未繪示)做進一步的處理。同樣的,當次系統處理完第一解碼資料後,會將處理結果轉換成第二資料(應用層351a的資料已包含在此第二資料中,所以應用層351a亦用虛線外框表示之)並送往次系統的網路轉換器350a。網路轉換器350a於是利用傳輸層352a與網際網路層353a的順序依序對第二資料進行編碼以產生第二編碼資料,然後透過PCIe介面355a、PCIe匯流排360a、再送往PCIe介面325a送往主系統的網路轉換器310a。主系統的網路轉換器310a接收第二編碼資料後,將依據網際網路層323a與傳輸層322a的順序依序對第二編碼資料進行解碼,用以產生第二解碼資料,最後再將第二解碼資料透過主系統內部的PCIe介面320a送往主系統的晶片組(未繪示)與中央處理器(未繪示)做進一步的處理(例如對客戶端的服務需求進行回覆)。
明顯的,由於第3A圖中的主系統與次系統各自具有一個網路轉換器310a與350a,所以雖然可以利用PCIe匯流排來快速的傳遞資料,但若網路轉換器310a與350a可以進一步整合在同一晶片中,並將網路轉換器310a與350a做進一步的整合,不僅可進一步減少編碼/解碼的動作,同
時減少一個晶片之運用。
第3B圖為依據本發明之一對一連線方式的網路至網路橋接器(network-to-network bridge)300b區塊圖之另一實施例。於第3B圖中,網路至網路橋接器300b係將主系統與次系統的兩者的網路轉換器整合於一單一晶片(single chip)中,而網路至網路橋接器300b連接於一主系統之PCIe匯流排與一次系統之PCIe匯流排之間。於第3B圖之網路至網路橋接器300b還包括網路轉換器310b及350b。網路轉換器310b包括PCIe介面320b及一網路處理堆疊,網路轉換器350b則包括PCIe介面370b及一網路處理堆疊。於一實施例中,網路轉換器310b之網路處理堆疊包括傳輸層322b、網際網路層323b,但不包括網路介面層。如第3B圖所示,網路轉換器350b之網路處理堆疊中的傳輸層與網際網路層係與網路轉換器310b之傳輸層322b與網際網路層323b分別整合在一起,且如網路轉換器310b一樣不包括網路介面層。有利的是,在本實施例中,因網路轉換器310與網路轉換器350b在傳輸層322b與網際網路層323b整合在一起且不包含網路介面層,加上可透過PCIe介面進行高速的資料交換,於是可大幅提升主系統與次系統之間資料傳送及接收的速度。至於整合後的傳輸層322b與網際網路層323b之操作細節部分將在後文再行詳述。另外,當網路至網路橋接器300b係連接於主系統及次系統之PCI-X匯流排或PCI匯流排之間時,網路轉換器310b及350b的PCIe介面320b及370b亦可置換為PCI-X介面或PCI介面。再者,雖然上述實施例之網路雖用乙太網路(Ethernet)
做說明,但任何與乙太網路類似、或是可應用本發明而除去網路介面層之網路、或是不脫離本發明精神所為之等效修飾與應用,皆應包含於本發明申請專利範圍中。
應注意的是,因每一台連上網路的電腦系統在硬體上皆有獨一無二的位址(亦即MAC位址,Media Access Control Address),所以只要開機時將主系統的MAC位址由主系統取出並儲存於網路轉換器310b可讀取之處(例如儲存在緩衝器380b中),同時把與次系統的MAC位址放置在網路轉換器350b可取得之位置(例如亦將儲存在快閃記憶體中的次系統MAC位只取出並儲存在緩衝器380b中),網路轉換器310b/網路轉換器350b在分析資料時依然能得知所分析資料是否將要傳送給主系統/次系統,因此網路管理程式(例如驅動程式)在這部分只需要進行修改即可。再者,由於在傳輸層322b之上的應用層甚至是應用程式或操作系統等軟體程式,皆不會感受到網路介面層已被除去、以及共用傳輸層與網際網路層的情形,於是軟體程式的開發亦與網路處理堆疊的變化無關。
當第3B圖的網路至網路橋接器300b經由PCIe介面320b接收由主系統PCIe匯流排所傳送之一第三資料(例如是從客戶端而來的服務需求)後,由於第三資料已將TCP/IP網路堆疊最上端的應用層321b所需的資料編碼在內(因此第3B圖以虛線表示之),所以當接下來網路轉換器310b的傳輸層322b與網際網路層323b依序對第三資料進行編碼而產生第三編碼資料後,因為網路轉換器310b與網路轉換器350b共用傳輸層322b與網際網路層323b之故,因此網
路轉換器310b可將此第三編碼資料儲存在緩衝器380b的第一緩衝區3801b中。於是只要網路轉換器350b知道第三編碼資料存在第一緩衝器3801b的位址,即可直接從第一緩衝區3801b取得第三編碼資料。應注意的是,由於第三編碼資料就是網路轉換器350b在執行解碼操作後將獲得的解碼結果(亦即依序以網際網路層323b與傳輸層322b對第三編碼資料進行解碼所產生的解碼結果),因此網路轉換器350b可直接將第三編碼資料做為第三解碼結果,然後透過與次系統連接的PCIe介面370b傳送至次系統。明顯的,除了網路轉換器350b不需再進行解碼操作之外,透過高速的PCIe匯流排傳送資料亦可大幅提升傳輸效率。應注意的是,儲存第三編碼資料的緩衝器380b可由暫存器或其他類似於資料佇列的儲存裝置所取代,在本文中即不再詳述。此外,儲存於第一緩衝器3801b的編碼結果可以視實際需要,而分別將傳輸層322b與網際網路層323b的編碼結果儲存其中、或是僅儲存網際網路層323b的編碼結果。於是當傳輸層322b與網際網路層323b的編碼結果(亦即第三編碼資料)被視為第三解碼資料時,傳輸層322b與網際網路層323b可以直接從第一緩衝器3801b取出編碼資料,而不需重新再進行解碼的動作。
再者,當網路至網路橋接器300b由次系統之PCIe匯流排接收一第四資料(例如是次系統針對所接收服務需求進行處理後再回覆給客戶端的資料)時,由於第四資料也將TCP/IP網路處理堆疊最上端的應用層371b所需資料編碼在內,因此應用層371b的外框也以虛線表示之。接下來,
當網路轉換器350b運用傳輸層322b與網際網路層323b依序對第四資料進行編碼而產生第四編碼資料,並將第四編碼資料儲存在緩衝器的第二緩衝區3802b中。因為網路轉換器310b與網路轉換器350b共用傳輸層322b與網際網路層323b之故,於是只要網路轉換器310b知道第四編碼資料儲存在第二緩衝區3802b的位址,便可直接從第二緩衝區3802b取得第四編碼資料。應注意的是,由於第四編碼資料也是網路轉換器310b在利用網際網路層323b與傳輸層322b執行解碼操作後將獲得的解碼結果,因此網路轉換器310b可以直接將第四編碼資料作為第四解碼結果,然後透過與主系統連接的PCIe介面320b傳送至主系統。所以除了網路轉換器310b不需再進行解碼操作外,透過高速的PCIe匯流排傳送資料有可大幅提升傳輸效率。同樣的,儲存於第二緩衝器3802b的編碼結果可以視實際需要,而分別將傳輸層322b與網際網路層323b的編碼結果儲存其中、或是僅儲存網際網路層323b的編碼結果。於是當傳輸層322b與網際網路層323b的編碼結果(亦即第四編碼資料)被視為第四解碼資料時,傳輸層322b與網際網路層323b可以直接從第一緩衝器3802b取出編碼資料,而不需重新再進行解碼的動作。
值得注意的是,雖然第3B圖中係在緩衝器380b中切割出第一緩衝區3801b與第二緩衝區3802b來分別儲存由主系統傳送至次系統、以及由次系統回傳至主系統的資料,但熟習本發明技藝者應知,第一緩衝區3801b與第二緩衝區3802b可整合在同一緩衝區中,並分別以指標加以
區隔與指示解碼(編碼)資料儲存的位址,於是網路轉換器310b與350b依然可透過這些指標取得所需的編碼(解碼)資料。另一方面,上述網路轉換器310b與350b的操作係由網路至網路橋接器300b中的微處理器(未繪示)執行預先定義的控制碼來完成,而這些控制碼可儲存在一非揮發記憶體(例如唯讀記憶體或快閃記憶體,未繪示)中,因這部分屬於熟習本發明技藝者所熟知的技術,所以不再詳述。
第4A圖為依據本發明主系統之主機板400示意圖,其顯示將網路至網路橋接器300b安置在次系統的示意圖。主系統之主機板400包括一處理器402、一晶片組404、以及多個插槽411~415,其中插槽411~415與晶片組404之間藉由PCIe匯流排相連。第4B圖為依據本發明次系統之主機板430之示意圖。次系統之主機板430包括一處理器432、一晶片組434、以及網路至網路橋接器436,其中網路至網路橋接器436與晶片組434之間藉由PCIe匯流排相連。應注意的是,第4B圖中的網路至網路橋接器436即為第3B圖之一對一連線方式的網路至網路橋接器300b。第4C圖為依據本發明主系統之主機板400與次系統之主機板430相連接之示意圖。次系統之主機板430插入至主系統之主機板400中插槽411-415之一者,而使主系統之主機板400與次系統之主機板430相耦接。因此,主系統之晶片組404所發出之資料可經由次系統所插入之插槽,而傳遞至次系統中的網路至網路橋接器436。當網路至網路橋接器436將資料編碼後,即可將編碼結果做為次系統所需的解碼結果(原因如前面對網路至網路橋接器300b操作細
節之敘述),再經由PCIe匯流排傳送至次系統之晶片組434。另一方面,由次系統之晶片組434所發出之資料可經由PCIe匯流排傳遞到網路至網路橋接器436,當網路至網路橋接器436將資料編碼後,再將編碼結果做為主系統所需的解碼結果(亦如前文所述),並經由插槽及PCIe匯流排傳送至主系統之晶片組404。應注意的是,在習知技術中,還要對編碼結果再透過網路介面層之編碼、並經由網路傳送到次系統、次系統還要依序利用網路介面層、網際網路層、傳輸層對所接收的編碼資料進行解碼後才能傳送至晶片組。如此,主系統400與次系統430間可進行快速的網路資料傳遞,且對原先網路管理程式只需要些微修改即可。
此外,第4A-4B圖所顯示的係將次系統之主機板430插入在主系統之主機板400的示意圖,其插入方式類似習知技術中在主機板400上插入一網路卡之情形。不同的是,習知的網路卡僅記錄一個MAC位址,而且僅負責網路傳輸的編碼/解碼處理,而本發明之次系統則會至少記錄兩個MAC位址(一個是主系統的MAC位址,其他的為次系統的MAC位址),並且因為次系統的整體功能與一電腦系統相同,因此可處理由主系統所傳來的資料(例如使客戶端需求),所以不僅功能較習知網路卡強大許多,硬體架構之整體規模也較習知技術小(因次系統不再需要乙太網路,而只需要透過PCIe匯流排即可傳送資料至主系統)。再者,在第4C圖之架構中,因每一個次系統都需要一個網路至網路橋接器436,而且每個網路至網路橋接器436都要知道主系統與次系統兩者的MAC位址。是以,若主系統主機板
400之插槽411~415上插有複數個次系統時,主系統將會把欲傳送至次系統的資料傳送到所有的插槽411~415,而插有次系統的插槽411~415將透過PCIe匯流排接收該資料後,若經由網路處理堆疊進行資料分析後發現這筆資料是要傳給自己的次系統時就會進行編碼動作,隨後再將編碼資料當作解碼資料傳送至子系統做進一步處理(如前文所述)。至於次系統回傳處理完畢資料的流程大致前文所述,只是次系統只會將資料回傳給主系統(亦即次系統之間並不會交換資料),所以網路至網路橋接器436只要將欲回傳給主系統的資料送到至主系統主機板400上的一緩衝器(例如資料佇列)中,然後由主系統的晶片組404取回即可。
再者,網路至網路橋接器436也可以安置在主系統,這部分的連結情形可如第6圖所示,操作細節亦稍後再透過第5、6圖詳述之。
第5圖為本發明之一對多連線方式的網路至網路橋接器500的區塊圖。於一實施例中,該網路至網路橋接器500亦整合於一單一晶片中,而且網路至網路橋接器500係連接於一PCIe匯流排與多個次系統之PCIe匯流排之間。於第5圖中,網路至網路橋接器500包括網路轉換器510、551、552、…、55n、一裁決路由器(arbitrator and IP router)530。網路轉換器510包括PCIe介面520及一網路處理堆疊521~523。同樣的,網路轉換器551、552、…、55n亦各自包括PCIe介面561、562、…、56n及各自的網路處理堆疊。裁決路由器530包括一緩衝器531與一裁決器532。明顯的,網路轉換器510、551、552、…、55n之
網路處理堆疊包括傳輸層、網際網路層,但不包括網路介面層。同樣的,本實施例亦使用乙太網路做說明。此外,由於本發明中並不會處理應用層的資料(如上所述),因此在第5圖中的網路處理堆疊521~523皆不繪示應用層。
當網路轉接器510經由PCIe介面520從主系統接收欲傳送至子系統的第五資料(例如從客戶端而來的服務需求)時,將經由傳輸層522與網路處理層523對此第五資料進行編碼以產生第五編碼資料,由於傳輸層522與網際網路層523與裁決路由器530共用之故,所以第五編碼資料可以暫存在裁決路由器530所知悉的緩衝區中。例如將第五編碼資料存放在緩衝器531之第一緩衝區5311,而此第一緩衝區5311係專門用來儲存傳給裁決路由器530處理的第五編碼資料。於是裁決路由器530可以直接從緩衝器531中取出第五編碼資料,並將其做為欲傳送網路轉換器551-55n的第五解碼資料。另一方面,由於傳輸層524與網際網路層525係由裁決路由器530與網路轉換器551-55n所共用,因此當裁決路由器530於緩衝器531取出第五編碼資料後,傳輸層524與網際網路層525可將它作為第五解碼資料。在分析第五編碼資料後,若發現它是要傳給網路轉接器551、552、…、55n其中之一者(例如是網路轉接器552)的話,隨後將透過對應的PCIe介面(亦即PCIe介面562)把第五解碼資料傳送至目標次系統的晶片組與處理器(皆未繪示)做進一步的處理。應注意的是,從主系統傳送至網路轉換器510的第五資料已將TCP/IP網路堆疊最上端的應用層521資料編碼在內,因此第5圖亦將應用層521
以虛線表示之。此外,在第5圖中的網路轉接器510、551、552、…、55n與第3B網路轉換器圖中的310b/350b一樣,亦未對應用層521的資料進行解碼或編碼。再者,儲存於第一緩衝器5311的編碼結果亦可以視實際需要,而分別將傳輸層522與網際網路層523的編碼結果儲存其中、或是僅儲存網際網路層523的編碼結果。於是當傳輸層522與網際網路層523的編碼結果(亦即第五編碼資料)被視為第五解碼資料時,傳輸層522與網際網路層523可以直接從第一緩衝器5311取出編碼資料,而不需重新再進行解碼的動作。
另一方面,當次系統(亦即與網路轉換器551-55n相連之系統)欲傳送資料(例如目標次系統處理第五資料後所產生的第六資料)至主系統時,將透過網路至網路橋接器500之PCIe介面561-56n其中一者由目標次系統之PCIe匯流排接收該第六資料,而目標次系統所對應之網路轉換器再透過其PCIe介面取得第六資料。舉例來說,若對應於網路轉換器552之目標次系統欲將第六資料傳送至主系統時,將經由PCIe介面562傳送至網路轉換器552。接著,傳輸層524與網際網路層525將依序對第六資料進行編碼以產生第六編碼資料。同樣的,因為網路轉換器551-55n與裁決路由器530共用傳輸層524與網際網路層525之故,因此網路轉換器551-55n可將編碼後的第六編碼資料儲存在裁決路由器530知悉的暫存器或緩衝器中。舉例來說,可以將第六編碼資料存放在緩衝器531之第二緩衝區5312,而此第二緩衝區5312是專門用來儲存傳給裁決路由器530
處理的第六編碼資料。應注意的是,由於第六編碼資料也是裁決路由器530在分析後發現是將傳給主系統的資料,而且第六編碼資料也是網路轉換器510在執行解碼操作後將獲得的解碼資料,因此裁決路由器530可經由與網路轉換器510所共用的傳輸層522與網際網路層523通知網路轉換器510從第二緩衝區5312取出第六解碼資料,然後透過與主系統連接的PCIe介面520傳送至主系統,所以除了網路轉換器510不需再進行解碼操作外,透過高速的PCIe匯流排傳送資料有可大幅提升傳輸效率。同樣的,從目標次系統傳送給網路至網路橋接器500的第六資料亦將TCP/IP網路堆疊最上端的應用層資料編碼在內,因此第5圖亦將應用層521的外框以虛線表示之。因此,在第5圖中的網路轉接器510、551、552、…、55n與第3B圖中的網路轉換器310b/350b一樣,亦未對應用層521的資料進行解碼或編碼。與主系統傳送次系統相同,儲存於第二緩衝器5312的編碼結果亦可以視實際需要,而分別將傳輸層524與網際網路層525的編碼結果儲存其中、或是僅儲存網際網路層525的編碼結果。於是當傳輸層524與網際網路層525的編碼結果(亦即第六編碼資料)被視為第六解碼資料時,傳輸層524與網際網路層525可以直接從第一緩衝器5311取出編碼資料,而不需重新再進行解碼的動作。
值得注意的是,第二緩衝區5312可更進一步劃分n個區域,分別儲存網路轉換器551-55n將回傳給主系統的資料(亦即第六資料)。再者,雖然第5圖中係在緩衝器531中切割出第一緩衝區5311與第二緩衝區5312來分別儲存
由主系統傳送至次系統、以及由次系統回傳至主系統的資料,但熟習本發明技藝者應知,第一緩衝區5311與第二緩衝區5312可整合在同一緩衝區中,並分別以指標加以區隔與指示解碼(編碼)資料儲存的位址,於是網路轉換器510與551-55n依然可透過這些指標取得所需的編碼(解碼)資料。另一方面,上述網路轉換器510-55n的操作係由網路至網路橋接器500中的微處理器(未繪示)執行預先定義的控制碼來完成,而這些控制碼可儲存在一非揮發記憶體(例如唯讀記憶體或快閃記憶體,未繪示)中,因這部分屬於熟習本發明技藝者所熟知的技術,所以不再詳述。再者,裁決路由器530所負責的是與系統服務有關的工作(例如DHCP),而這部分與網路介面層無關,因此與系統服務相關的程式並不需要修改。
第6圖為依據本發明之主系統之主機板600與次系統之主機板630相連接之示意圖。主系統之主機板600包括一處理器602、一晶片組604、一網路至網路橋接器606、以及多個插槽611~613,其中插槽611~613與網路至網路橋接器606之間藉由一PCIe匯流排相連,而網路至網路橋接器606與晶片組604之間亦藉由一PCIe匯流排相連。網路至網路橋接器606係第5圖之一對多連線方式的網路至網路橋接器500。次系統之主機板630包括一處理器632、一晶片組634、以及PCIe匯流排。
次系統之主機板630可插入至主系統之主機板600之一插槽,而使主系統之主機板600耦接至次系統之主機板630。因此,主系統之晶片組604發出之資料可送至網路至
網路橋接器606,並在網路至網路橋接器606將資料編碼與分析後再傳送至次系統所插入之插槽對應的PCIe匯流排,因此次系統之晶片組634可由插槽耦接之PCIe匯流排接收主系統所發出之資料。另一方面,次系統之晶片組634所發出之資料可經由PCIe匯流排傳遞至插槽,而網路至網路橋接器606可在插槽之PCIe匯流排接收到資料並進行將資料編碼與分析後,再經由PCIe匯流排傳送至主系統之晶片組604。如此,主系統600與次系統630間可進行快速的網路資料傳遞,而不需修改主系統600與次系統630內的應用程式。
此外,第6圖所顯示的係將次系統之主機板630插入在主系統之主機板600的示意圖,其插入方式類似習知技術中在主機板600上插入一網路卡之情形。但不同的是,習知的網路卡僅記錄一個MAC位址,而且僅負責網路傳輸的編碼/解碼處理,而本發明主系統中的網路至網路橋接器606會記錄至少兩個MAC位址,其中一個MAC位址為主系統的MAC位址,其他的則為次系統的MAC位址。此外,因為網路至網路橋接器606的功能類似網路裁決器,因此網路至網路橋接器606在接收到主系統欲傳給次系統的資料時,將分析此資料中將傳送給哪一個次系統,隨後再依據該目標次系統的MAC位址進行編碼(利用傳輸層522與網際網路層523)並儲存在第一緩衝區5311中。隨後,裁決路由器530在取出編碼資料時,因傳輸層524與網際網路層525係由裁決路由器530與次系統的網路轉換器所共用,因此裁決路由器530可在編碼資料中得知此編碼資料
將傳送的目標次系統為何,因此接下來只要將編碼資料當作解碼資料,並透過對應的PCIe介面送往次系統的緩衝器(例如資料佇列)中,然後由次系統的晶片組取出即可執行進一步的處理。至於次系統回傳處理完畢資料的流程亦大致第5圖所述,只是次系統同樣只會將資料回傳給主系統(亦即次系統之間並不會交換資料),所以由次系統傳回給主系統的資料將透過對應的PCIe介面傳送至裁決路由器530進行編碼處理,而裁決路由器530在編碼與分析時亦得知目前所編碼的資料將回傳給主系統,因此將在編碼並儲存在第二緩衝區5312後,由網路轉換器510取出並送往主系統的資料緩衝器(例如資料佇列),然後由主系統的晶片組取回做進一步處理。
第7圖為依據本發明之主系統之主機板700與次系統之主機板730相連接之示意圖,其係將網路至網路橋接器500安置在次系統之另一實施例。主系統之主機板700包括一處理器702、一晶片組704、以及多個插槽711~713,其中插槽711~713與一PCIe匯流排相連。次系統之主機板730包括複數個分支次系統781-78n,而每個分支次系統包含一處理器、一晶片組、一網路至網路橋接器、以及一與主系統主機板700耦接的PCIe匯流排耦接的PCIe介面。舉例而言,分支次系統781包含一處理器7321、一晶片組7341、一網路至網路橋接器7061、以及一與主系統主機板700耦接的PCIe匯流排耦接的PCIe介面736。至於其他的分支次系統782-78n的架構與分支次系統781相同,因此不再贅述。明顯的,每個分支次系統781-78n可視為可獨
立運作的電腦系統,舉例而言,分支次系統781可透過PCIe介面7361從網路至網路橋接器706接收從主系統所傳來的資料,再經由晶片組7341傳送給處理器7321做處理,並在處理完畢後經由PCIe介面7361回傳至網路至網路橋接器706,最後再傳送至主系統。應注意的是,網路至網路橋接器706內部的操作細節,例如共用傳輸層與網際網路層的操作(包含分析而得知主系統/次系統的MAC位址)、從第一/第二緩衝區取出編碼資料...等皆在第5圖詳細說明,故在此不予贅述。明顯的,主系統700與次系統730間可透過PCIe匯流排與介面進行快速的網路資料傳遞,而不需修改主系統與次系統的應用程式。再者,第7圖所顯示的架構類似於第4C圖,但在第7圖中的次系統中又架構出許多分支次系統781-78n,而這些電腦系統781-78n可視情形再被整合於一單晶片中。應注意的是,第7圖僅顯示一個包含複數個分支次系統781-78n之次系統730的運用,實際上可在主系統主機板700的插槽711-715中插入不只一個次系統主機板730,於是主系統在更多次系統的支援、而且透過快速的PCIe匯流排傳送資料下,可在雲端運用下大幅提升伺服器的運作能力。
應注意的是,本發明實施例雖以PCIe匯流排做說明,但任何在電腦系統中可提供高速資料傳輸的任何匯流排,皆可取代PCIe匯流排在主系統與次系統間進行資料傳輸。此外,本發明實施例中雖然以TCP/IP的網路處理堆疊做說明,但任何可應用於電腦系統中,並可整合傳輸層與網際網路層且除去網路介面層的通訊協定,例如將在OSI
模型中整合傳輸層(transport layer)與網路層(network layer)且除去實體層(physical layer),且可進行高速資料傳輸的網路通訊協定者,皆屬本發明實施例之等效替換實施例,故皆應包含於本發明申請專利範圍中之。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110、160‧‧‧伺服器
120、182、184、186‧‧‧電腦系統
170‧‧‧交換器
210、250、310a、350a、310b、350b、510、551、552、553、55n‧‧‧網路轉換器
220、270、320a、325a、355a、370a、320b、370b、520、561、562、563、56n、736、7361、736n‧‧‧PCIe介面
260‧‧‧網路線
300a、300b、436、500、606、706‧‧‧網路至網路橋接器
321a、351a、321b、371b、521、551-55n‧‧‧應用層
322a、352a、322b、522、524‧‧‧傳輸層
323a、353a、323b、523、525‧‧‧網際網路層
360a‧‧‧PCIe匯流排
380b、531‧‧‧緩衝器
3801b、5311‧‧‧第一緩衝區
3802b、5312‧‧‧第二緩衝區
400、600、700‧‧‧主系統之主機板
402、432、602、632、702、7321、732n‧‧‧處理器
404、434、604、634、704、7341、734n‧‧‧晶片組
411-415、611-613、711-715‧‧‧插槽
430、630、730‧‧‧次系統之主機板
530‧‧‧裁決路由器
781-78n‧‧‧分支次系統
第1A圖為一對一連線方式下的電腦與伺服器示意圖;第1B圖為一對多連線方式下的電腦與伺服器示意圖;第2圖為網路連線兩端的網路轉換器210及250的示意圖;第3A圖為依據本發明之一對一連線方式的網路至網路橋接器300的區塊圖;第3B圖為依據本發明之一對一連線方式的網路至網路橋接器300區塊圖之另一實施例;第4A圖為依據本發明之主系統之主機板之示意圖;第4B圖為依據本發明之次系統之主機板之示意圖;第4C圖為依據本發明之主系統之主機板與次系統之主機板耦接之示意圖;第5圖為依據本發明之一對多連線方式的網路至網路橋接器區塊圖之再一實施例;第6圖為依據本發明之主系統主機板與次系統主機板耦接之示意圖;以及
第7圖為依據本發明之主系統主機板與次系統主機板耦接示意圖之另一實施例。
300b‧‧‧網路至網路橋接器
310b、350b‧‧‧網路轉換器
320b、370b‧‧‧PCIe介面
321b、351b‧‧‧應用層
322b、352b‧‧‧傳輸層
323b、353b‧‧‧網際網路層
380b‧‧‧緩衝器
3801b‧‧‧第一緩衝區
3802b‧‧‧第二緩衝區
Claims (17)
- 一種網路至網路橋接器(network-to-network bridge),耦接於一第一系統與一第二系統之間,包括:一第一網路轉換器(network adapter),包括一第一匯流排介面以及一第一網路處理堆疊,其中該第一匯流排介面自該第一系統接收一第一資料,且該第一網路處理堆疊對該第一資料進行編碼處理以產生一第一編碼資料;以及一第二網路轉換器,包括一第二匯流排介面以及一第二網路處理堆疊,其中該第二網路處理堆疊以該第一編碼資料作為一第一解碼資料,且從該第二匯流排介面將該第一解碼資料傳送至該第二系統。
- 如申請專利範圍第1項所述之網路至網路橋接器,其中該第一網路處理堆疊之傳輸層(transport layer)與該第二網路處理堆疊之傳輸層整合在一起、該第一網路處理堆疊之網路層(network layer)與該第二網路處理堆疊之網路層整合在一起,其中該第一網路處理堆疊與該第二網路處理堆疊皆不包含一實體層(physical layer)。
- 如申請專利範圍第2項所述之網路至網路橋接器,其中該第一網路處理堆疊與該第二網路處理堆疊皆符合TCP/IP通訊協定之規定。
- 如申請專利範圍第1項所述之網路至網路橋接器,其中該第一匯流排介面與該第二匯流排介面皆符合一高速互聯介面標準。
- 如申請專利範圍第4項所述之網路至網路橋接器,其中該高速互聯介面標準為周邊元件高速互聯(Peripheral Component Interconnect express,PCIe)介面標準。
- 如申請專利範圍第1項所述之網路至網路橋接器,更包含一用以儲存該第一編碼資料之緩衝器,其中該第一編碼資料係由該第一網路轉換器所儲存,並由該第二網路轉換器所讀取。
- 如申請專利範圍第1項所述之網路至網路橋接器,更包含一用以儲存對應於該第一網路處理堆疊與該第二網路處理堆疊之MAC(Media Access Control)位址之儲存器。
- 如申請專利範圍第1項所述之網路至網路橋接器,其中該網路至網路橋接器係整合在一單晶片中。
- 一種網路至網路橋接器(network-to-network bridge),耦接於一第一系統與一第二系統之間,包括:一第一網路轉換器(network adapter),包括一第一匯流排介面以及一第一網路處理堆疊;複數個第二網路轉換器,每個該第二網路轉換器包括一第二匯流排介面以及一第二網路處理堆疊;以及一路由裁決器,包含一第一路由網路處理堆疊與一第二路由網路處理堆疊,其中該第一網路處理堆疊與該第一路由網路處理堆疊整合,且該第二網路處理堆疊與該第二路由網路處理堆疊整合;其中該第一匯流排介面自該第一系統接收一第一資料,且該第一網路處理堆疊對該第一資料進行編碼處理以產生一第一編碼資料;其中路由裁決器經由整合之該第一網路處理堆疊與該第一路由網路處理堆疊而取得該第一編碼資料,再經由整 合之該第二網路處理堆疊與該第二路由網路處理堆疊送往該第二網路轉換器之一者;其中接收該第一編碼資料之該第二網路轉換器以該第一編碼資料作為一第一解碼資料,且從接收該第一編碼資料之該第二網路轉換器之該第二匯流排介面將該第一解碼資料傳送至該第二系統。
- 如申請專利範圍第9項所述之網路至網路橋接器,其中該第一網路處理堆疊之傳輸層(transport layer)與該第一路由網路處理堆疊之傳輸層整合在一起、該第一網路處理堆疊之網路層(network layer)與該第一路由網路處理堆疊之網路層整合在一起,其中該第一網路處理堆疊與該第一路由網路處理堆疊皆不包含一實體層(physical layer)。
- 如申請專利範圍第9項所述之網路至網路橋接器,其中該第二網路處理堆疊之傳輸層(transport layer)與該第二路由網路處理堆疊之傳輸層整合在一起、該第二網路處理堆疊之網路層(network layer)與該第二路由網路處理堆疊之網路層整合在一起,其中該第二網路處理堆疊與該第二路由網路處理堆疊皆不包含一實體層(physical layer)。
- 如申請專利範圍第11項所述之網路至網路橋接器,其中該第一網路處理堆疊與該第一路由網路處理堆疊皆符合TCP/IP通訊協定之規定。
- 如申請專利範圍第9項所述之網路至網路橋接器,其中該第一匯流排介面與該第二匯流排介面皆符合一 高速互聯介面標準。
- 如申請專利範圍第13項所述之網路至網路橋接器,其中該高速互聯介面標準為周邊元件高速互聯(Peripheral Component Interconnect express,PCIe)介面標準。
- 如申請專利範圍第9項所述之網路至網路橋接器,更包含一用以儲存該第一編碼資料之緩衝器,其中該第一編碼資料係由該第一網路轉換器所儲存,並由該第一路由網路轉換器所讀取。
- 如申請專利範圍第9項所述之網路至網路橋接器,更包含一用以儲存對應於該第一網路處理堆疊與該第二網路處理堆疊之MAC(Media Access Control)位址之儲存器。
- 如申請專利範圍第9項所述之網路至網路橋接器,其中該網路至網路橋接器係整合在一單晶片中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/535,210 US8799519B2 (en) | 2011-06-27 | 2012-06-27 | Network-to-network bridge |
CN201210217585.3A CN102694712B (zh) | 2011-06-27 | 2012-06-27 | 网络系统及网络至网络桥接器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161501713P | 2011-06-27 | 2011-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201301815A true TW201301815A (zh) | 2013-01-01 |
TWI466499B TWI466499B (zh) | 2014-12-21 |
Family
ID=48137685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101120856A TWI466499B (zh) | 2011-06-27 | 2012-06-11 | 網路系統及網路至網路橋接器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI466499B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8116309B2 (en) * | 2006-08-11 | 2012-02-14 | PSIMAST, Inc | Enhanced Ethernet protocol for shortened data frames within a constrained neighborhood based on unique ID |
CN101043510B (zh) * | 2007-04-29 | 2012-03-07 | 中兴通讯股份有限公司 | Pci-e总线分布式系统单板内及单板间数据通讯方法 |
-
2012
- 2012-06-11 TW TW101120856A patent/TWI466499B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI466499B (zh) | 2014-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016911B2 (en) | Non-volatile memory express over fabric messages between a host and a target using a burst mode | |
CN109582614B (zh) | 针对远程存储器访问的nvm express控制器 | |
US9785355B2 (en) | NVM express controller for remote access of memory and I/O over ethernet-type networks | |
US9785356B2 (en) | NVM express controller for remote access of memory and I/O over ethernet-type networks | |
CN105531685B (zh) | 通用pci express端口 | |
US8249072B2 (en) | Scalable interface for connecting multiple computer systems which performs parallel MPI header matching | |
US8208470B2 (en) | Connectionless packet data transport over a connection-based point-to-point link | |
US20190004990A1 (en) | Techniques to support mulitple interconnect protocols for an interconnect | |
US20160085718A1 (en) | Nvm express controller for remote access of memory and i/o over ethernet-type networks | |
TW200404432A (en) | Memory management offload for RDMA enabled adapters | |
WO2016093895A1 (en) | Generating and/or employing a descriptor associated with a memory translation table | |
CN117171073A (zh) | 处理远程直接内存访问请求的方法和计算机设备 | |
EP3974998A2 (en) | Cross network bridging | |
WO2015027806A1 (zh) | 一种内存数据的读写处理方法和装置 | |
WO2017160397A1 (en) | A method, apparatus and system to send transactions without tracking | |
US20100082875A1 (en) | Transfer device | |
US11604753B2 (en) | Inter device data exchange via external bus by utilizing communication port | |
US8799519B2 (en) | Network-to-network bridge | |
JP2012089948A (ja) | データ転送装置及びデータ転送方法 | |
US20090285207A1 (en) | System and method for routing packets using tags | |
TWI466499B (zh) | 網路系統及網路至網路橋接器 | |
US8417858B2 (en) | System and method for enabling multiple processors to share multiple SAS wide ports | |
CN117971135B (zh) | 存储设备的访问方法、装置、存储介质和电子设备 | |
US20160112318A1 (en) | Information processing system, method, and information processing apparatus | |
US20240104045A1 (en) | System and method for ghost bridging |