TWI239169B - Method and apparatus to manage packet fragmentation with address translation - Google Patents

Method and apparatus to manage packet fragmentation with address translation Download PDF

Info

Publication number
TWI239169B
TWI239169B TW091123820A TW91123820A TWI239169B TW I239169 B TWI239169 B TW I239169B TW 091123820 A TW091123820 A TW 091123820A TW 91123820 A TW91123820 A TW 91123820A TW I239169 B TWI239169 B TW I239169B
Authority
TW
Taiwan
Prior art keywords
packet
address
fragment
fragments
information
Prior art date
Application number
TW091123820A
Other languages
English (en)
Inventor
Kjeld B Egevang
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TWI239169B publication Critical patent/TWI239169B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

Description

1239169 ⑴ 玖、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 發明背景 封包片斷關係減少網路傳輸資料遲延的一通訊技術,如 希望提供較高層的服務。不過,傳統封包片斷技術不能有 效隨意利用封包片斷。當封包片斷用來結合位址編譯時尤 為真實。結果,一網路封包片斷的執行需要改善。 圖式簡單說明 在本規格書的結論部份詳細說明本發明具體實施例的 主旨及明確定義本申請專利的範圍。不過,了解本發明的 具體實施例,如組織及操作方法,以及其目標、特徵及 優點的最好的方法是參考以下的詳細說明及附圖,其中: 圖1為一系統方塊圖適合實施本發明的一具體實施例。 圖2為根據本發明的一具體實施例的一網路的方塊圖。 圖3為根據本發明的一具體實施例的一節點的方塊圖。 圖4為根據本發明的一具體實施例的一封包片斷管理器 (PFM)的一方塊圖。 圖5為根據本發明的一具體實施例由一 PFM執行處理邏 輯的一方塊流程圖。 圖6為根據本發明的一具體實施例由一 PFM執行處理邏 輯的第二方塊流程圖。 圖7為根據本發明的一具體實施例由一 PFM執行處理邏 輯的第三方塊流程圖。 發明詳細說明 在以下的詳細說明中,所提出的許多特定細節係為本發 1239169 ⑺ 明具體實施例了提供詳細的瞭解。不過,熟悉本技藝者可 以瞭解,本發明具體實施例可以不用這些特定細節而實 施。在其他情況下,為了避免混淆本發明前述具體實施 例,早已熟知的方法、程序、組件及電路將不再作詳細說 明。 本發明具體實施例能改善通訊網路的性能,如一封包交 換網路。本發明一具體實施例由改善封包片斷的管理而改 善封包交換通訊網路的性能。在這種環境中封包片斷係指 將一資料封包***成一串封包片段,其大小一般都小於原 來的封包。 較具體言之,本發明的一具體實施例管理結合位址編譯 的封包片斷。位址編譯在此環境中稱為編譯大量位址成為 少數或一單位址’及反之亦然。結果,改善一網路的總容 量及性能。所以,用戶受惠為網路應用及服務的回應時間 較迅速。 封包交換繼續成為聲音及資料通訊的有效技術。封包交 換在本環境中係指資訊以很短的封包型式經網路通訊。一 封包在本環境中係指一組有限長度的資訊,其長度一般以 位元或位元組表示。一封包長度的例子如為1 0 0 0位元組。 一網路一般包括一些節點由通訊媒體相互連接。節點能使 用一或更多協定能經通訊媒體通訊資訊至其他節點。在本 環境中一節點包括任何能通訊資訊的裝置,如一電腦、伺 服器、開關、路由器、橋接器、閘道及其他。通訊媒體可 為任何媒體能載運資訊訊號如絞線對、共軸電纜、光纖、 -6- 發_隸_續買 1239169 (3) 無線電頻率及其他。一協定可包括一組指令使資訊訊號經 通訊媒體通訊。例如,協定可以為一封包交換協定如傳輸 控制協定(TCP)由網際網路工程任務隊(IETF)標準7定 義,請求說明(RFC)793,1981年9月公告(,,TCP規格’,),及 網際網路協定(IP)由IETF標準5定義,RFC 791("IP規格”), 1981年9月公告,兩項網路位址「www.ietf.org」(總稱為 「TCP/IP規格」)。 一封包交換網路包括一源節點、一目的地節點及一些中 間即點。源節點包括一節點原先產生一組資訊用於輸送至 、也節點資訊可包括任何能作為一訊號表示的資料, 如一電訊號、光訊號、聲音訊號及其他。在本環境中資訊 的例子包括來自-交談聲音 '視訊會議、視訊流、電子郵 :的f!郵件、像片、影像、影視…及其他的資訊。 =地即·點包括—接收資訊的節點。中間節點包括從源點 至目的地節點通訊的節點。 4呆作 φ , μ '、即點傳运封包型式資訊經一或更多中間節點 至目的地節點。湃銘八 包含 Α χ Ρ 占刀裂一組資訊成為一串封包。各封 匕各〜部份嘗 中間〜、、§ 一些控制資訊。控制資訊協助網路中的 封包,1 M ^ 、匕至目的地節點。源節點經網路傳送 -個中間節:郎點接收封包、暫存封包及傳遞封包至下 串的封勺及·"。如此連續發生直到目的地節點最後接收整 不過' 封包以再生來自源節點的資訊。 經中間^& 封包具有一較高連結的優先權,輸送封包 使變為更複雜。資訊可指定不同的層級的優先 1239169 ㈧ 權。具有較高優先權的資訊在通過網路時可給予優先處 理。較高優先權資訊的例子包括時間敏感資訊,如來自一 聲音信息的資訊。如果封包載運聲音資訊在網路中延遲, 例如,接收人會查覺到超過自然停頓及正常電話交談節奏 的無聲期。在網路中對時間較少敏感的資訊,如電子郵件 或聲音信息,另一方面,即是具有較低的優先權。如果封 包載運一電子郵件信息,一般接收人都不會注意延遲,除 非過度。結果,中間節點通常能決定封包的優先權層級及 因而加以處理。輸送低優先權的封包比較簡單因為不需要 任何優先處理。不過,輸送較高優先權的封包要使用額外 技術以減少網路中延遲。封包片斷為一種技術用於減少較 高優先權封包網路延遲。 在本發明的一具體實施例中,封包片斷指的是***一資 訊封包成一串的封包片段。各封包片段一般具有長度小於 原來封包。在本環境中長度係指資訊的位元或位元組數包 括封包或封包片段。例如,一原來封包具有長度為1500 位元組而一封包片段具有長度為100位元組。各封包片段 含一部份原來封包資訊加一片段標頭。一片段標頭在本環 境中包括一或更多代表控制資訊的位元以協助其他節點 重組封包片段成為原來封包。 封包片斷為一種技術用於減少較高優先權封包網路延 遲。較具體言之,使用封包片段容許一中間節點在較低優 先權的封包片段之間通訊具有較高優先權的封包片段。例 如,一中間節點接收一第一及第二封包,第一封包具有較 1239169 發瞵諕曝續頁 ㈠ 低優先權然後為第二封包。例如,第一封包包括來自電子 郵件資訊。例如,第二封包包括來自聲音交談資訊。中間 節點儲存第一及第二封包成一傳輸隊伍。在本環境中傳輸 隊伍係指記憶體儲存封包直到可以由網路裝置傳輸。傳輸 隊伍可以組成先進先出(FIFO)的結構。在本環境中FIFO 係指一記憶體結構命令封包從最近儲存至稍近儲存,而各 封包從記憶體擷取的次序則從稍近儲存至最近儲存的封 包。例如,雜貨店的作業一般都是FIFO線,線上第一人 即為下一位結帳的人。結果,如果中間節點接收第一封 包在第二封包之前,中間節點將第二節點儲存在傳輸隊伍 的第一封包之後。這表示第二封包在第一封包傳輸完成之 前不能傳送。不過,第一封包的傳輸可能產生一定程度的 延遲而不被第二封包接受。換言之,第一封包的傳輸可能 很久而使第二封包無法在規定時框内到達其目的地節 點。使用封包片斷,中間節點能將第二封包的封包片段插 入傳輸隊伍中第一封包的封包片段之間,因而減少由第一 封包造成的等候時間至能接受範圍。 上述傳輸隊伍的問題可以用舉例方式以獲得較佳的說 明。假設第一封包的長度為1 5 0 0位元組。另外,假設網路 裝置傳輸第一封包經一連接操作其速度為約每秒64千位 元(kbps)。第一封包的傳輸約200微秒(ms)或約13 ms每位 元。假設第二封包包括來自聲音交談的資訊可容許高達4 ms的延遲。如果第二封包在傳輸隊伍中位於第一封包之 後,當整個第一封包傳輸時第二封包延遲200ms,遠超過 1239169 (6) 第二封包的4ms延遲公差。結果,第二封包延遲抵達目的 地節點。如果中間節點使用專利片斷,不過,第一封包將 ***成長度小於1 5 0 0位元的封包片段。例如,第一封包可 ***成各為30位元封包片段。第一封包的30位元封包片段 的傳輸時間約需3.99 ms。結果,在第一封包的一封包片 段完全傳輸後中間節點中斷第一封包傳輸,因而減少第二 封包的傳輸延遲低於4 ms。 如果結合位址編譯使用封包片斷便會有特別的問題。一 種位址編譯稱為網路位址編譯(NAT)。NAT使一區域網路 (LAN)使用一組IP位址用於内部交通及一第二組位址用 於外部交通。放置一 NAT裝置於一符合網際網路的LAN以 完成所有需要的I P位址編譯。NAT由隱藏内部I P位址提供 一種擋火墙。NAT也能使一公司使用更多内部IP位址。因 為只用於内部,與其他公司及組織使用位址衝突的可能性 減少。N AT也讓一個公司合併多網路連接成為一單網際網 路連接。 不過,傳統封包片斷方法結合位址編譯使用並不滿意。 位址編譯需要來自一封包標頭的資訊,如埠號,用來識別 一連接供封包通訊。不過,如果封包***成為片段只有第 一片段保有一有效標頭包含一適當埠號。因為可以接受錯 位或甚至反向傳送片段,很難擷取適合埠號供位址編譯使 用。這個問題的一個可能的解決方法為重組封包片段,擷 取來自封包標頭的埠號,及然後分解封包再成為封包片段 再經指定埠號通訊。不過,這種組合/分解片斷方法為處 -10 -
1239169 ⑺ 理器及記憶體的密集操作,會影響網路裝置,如一路由 器,的封包傳送性能。本發明的具體實施例,如以下詳述, 藉由管理封包片斷以減少這些問題,在經一網路裝置傳送 一封包之前減少執行片斷方法的需要。
必須說明,規格中任何提及的「一項具體實施例」或「一 具體實施例」表示在本環境中有關具體實施例的特定功 能、結構或特徵至少包括在本發明的一具體實施例中。因 此,本規格中各處出現的「在一項具體實施例中」一詞並 不需要表示同一具體實施例。
現在參考附圖其中相似組件由相似參考號碼表示,圖1 顯示為適合實施本發明一具體實施例的一系統。圖1為一 系統1 0 0的一方塊圖包括一源節點1 0 2連接一網路1 0 6連接 104。一網路裝置如一路由器110經連接108連接至網路 106。路由器110連接LAN 112、LAN 112包括節點卜2及N, 分別稱為節點1 1 4、1 1 6及1 1 8。路由器1 1 0代表任何網路裝 置構造以封行位址編譯,如NAT。雖然,圖1顯示一有限 數量的網路節點,可以想像系統1 〇 〇内可使用任何數量的 網路節點並仍在本發明的範圍之内。另外,名詞「連接」 及「相互連接」及其變化,在本環境中係指物理連接及/ 或邏輯連接。 圖2為根據本發明的一具體實施例的一網路的方塊圖。 圖2顯示一網路2 0 0代表網路1 0 6。網路2 0 0包括一中間節點 2 0 2經過一連接2 0 4連接一中間節點2 0 6。中間節點2 0 2,例 如接收來自源節點如源節點1 〇 2的訊號。中間節點2 0 6傳送 -11 - 1239169 (8) I發鹌魏嗎磺頁 訊號至一目的地節點,如網路節點114、116或118。雖然 圖2只顯示兩個中間節點,可以想到在網路2〇〇中可以使用 任何數目的中間節點並仍然在本發明的範圍内。 在本發明的一具體實施例中,中間節點可執行封包片 斷。中間節點可根據任何傳統封包片斷協定執行封包片 斷。例如,封包片斷可根據IE T F設計標準,標題「多級 擴充至多鏈路PPP」,RFC2686,1999年9月出版,可劉覽 「www.ietf.org , (「MCML標準」),「訊框中繼片斷完成 協定」如FRF標準12定義,1997年12月公告,可瀏覽 「www.frforum.com 丨(「FRF.12標準」),及 IP標準。雖 然本發明具體實施例可使用一封包片斷協定如IP規格、 M C M L規格或F RF. 1 2規格的定義,可以想到任何封包片斷 協定都可使用並仍在本發明的範圍之内。 圖3為根據本發明的一具體實施例的一節點的方塊圖。 圖3顯示一節點300代表一 NAT裝置如路由器110。一 NAT 裝置可執行N AT根據,例如,資訊規格「傳統I p網路位址 編譯器」,如RFC 3 022定義,200 1年出版(「NAT規格」), 如由本文所述原理修改。 節點3 00包括一電腦平台。在本發明具體實施例中,節 點300包括一處理器302、一輸入/輸出(I/O)接合器304、一 操作者介面3 06、一記憶體3丨〇、一監視模組3 1 8及一排程 模組3 2 0。記憶體3 1 〇儲存電腦程式指令及資料。處理器3 〇 2 執行程式指令及處理資料,儲存在記憶體3 1 0内。I/O接合 器304與其他裝置通訊及轉移資料經連接324進出中間節 -12 -
1239169 (9) 點300。操作者介面306介於用戶及OS316之間通訊指令, 及提供狀態資訊給用戶。所有這些元件由匯流排3 0 8互相 連接,以容許資料卡元件之間互相通訊。I/O接合器304 代表一或更多I/O接合器304或網路介面能連接區域或廣 域網路,例如網路2 0 0。所以,連接3 2 4代表一連接至一網 路或直接連接至其他設備。可以想到節點3 〇 〇可具有任何 數目的I/O接合器及連接,如I/O接合器304及連接324,並 仍在本發明的範圍之内。 處理器302可以為任何型式處理器能提供需要的速度及 功成性以完成本發明的具體實施例。例如,處理器3 〇 2可 以為由 Inte 卜 Motorola、Compaq、AMD 及 Sun Microsystems 製造的同類的處理器之一。 記憶體3 1 0包括任何媒體能儲存指令適合由一處理器處 理。一些該種媒體的例子包括,但不限於,唯讀記憶體 (ROM)、隨機存取記憶體(RAM)、可程式R〇M、可刪除可 程式ROM、電子可刪除可程式ROM、動態RAM、磁碟d 軟碟及硬碟)、光碟dCD-ROM)及其他能儲存數位資訊的 ·! 裝置或訊號。在一具體實施例中’指令可以壓縮及/或加 松格式儲存在媒體上。如本文使用,「適合用一處理器處 理」一詞的意思係包括以壓縮及/或加密格式餘存指令, 及在處理器處理之前指令由一安裝器編譯及安裝。另外, 節點3〇〇包括各種機器可讀儲存裝置經基他1/〇的組合,由 處理器3 02存取及處理器能儲存電腦程式指令及資料的組 合。 -13 - (10) 1239169 在本發明的具體實施例中,記憶體310包括操作系統 316, 一程式分隔312及一資料分隔314。程式分隔312儲存 及容許由處理器3 02執行程式指令以完成各節點的功能, 如源節點102、中間節點202及2〇6,及路由器ιι〇。資料分 隔器3 1 4儲存執行程式指令期間的資料。 I/O接合器304為一網路介面包括任何適合技術用於使 用需要的通訊協定、服務及操作程序以控制網路裝置之間 的通訊訊號。在本發明的具體實施例中,I/C)接合器3〇4 根據TCP/IP規格操作。在本發明的另外具體實施例中, 接合器304根據點對點協定(ppp)操作,如IETF標準51, RFC 166 1 ’ 1 994 年 7 月公告及可瀏覽「Www. ietf. or?,。在 本發明的另外具體實施例中,:[/〇接合器3〇4根據各種訊框 中斷標準操作,如「聲音經訊框中繼完成協定」,如frf 標準11定義,1997年5月公告,附件j,1999年3月增加, 可瀏覽「www.frforum.com , (「FRF· 1 1規格」)。在本發 明的另外具體實施例中,I/O接合器3 04根據各種VOIP標 準操作’如「封包基準多媒體通訊系統」,如國際電信聯 盟電信規格(ITU-T)H.323定義,1998年2月公告,可劉覽 「www.itu.int j (「Η.323規格」ρ在本發明的另外具體 實施例中,I/O接合器304根據「即時協定(RTP):即時應 用的傳輸協定」操作,如IETF設計標準定義,RFC 1889, 1996年1月出版,可劉覽「www.ietf.org」(「RTP規格」)。 在本發明的另外具體實施例中,I/O接合器304根據「SIP : 起動交談協定」操作,如IETF設計標準定義,RFC 2543, -14- 00 1239169 1999年3月出版,可瀏覽「www.ietf. org丨(「S IP規格」)。 這些例子及許多其他協定可用於另外的具體實施例。 I/O接合器3〇4也包括接頭用於連接1/〇接合器3〇4及適 當的通訊媒體。熟悉本技藝者會明白1/〇接合器3〇4接收資 訊訊號經任何適合通訊媒體如絞線對、共轴電缓、光纖、、 然線電頻率及其他。 圖4為根據本發明的一具體實施例的一程式分隔的方塊 圖。圖4顯示一程式分隔代表程式分隔312,及程式分隔呈 有一封包片斷管理器(PFM)400。在本具體實施例中,ρρΜ 400包含程式指令以管理封包片斷用於一 NAT裝置,如路 由器110。較具體,PFM 400利用4組程式指令,本文分別 p為集合模組402、查驗模組404、編譯模組4〇6及通訊模 組408。當然,本發明的範圍並不限於這些特別指令組。、 系統1〇〇、200及300的操作,及模組4〇〇、4〇2、4〇4、4〇6 及408參考圖5-7及附屬例子作進一步說明。雖然圖包 括一特別處理邏輯,可以想到處理邏輯只作為說明如何完 成本交所述的一般功能性的例子。另外,在已知的處理邏 。内各操作並不需要照所列次序執行,除非另有說明。 圖5為根據本發明的一具體實施例由一封包片斷管理哭 )執行處理邏輯的一方塊流程圖。處理邏輯5 〇 〇顯示 具種方法以管理位址編譯的封包片斷。在方塊5〇2接吹一 〜第位址的封包的複數個封包片段。在方塊5 〇 4將第 包。址碥譯成為第二位址而不必重組封包片段成為封 在方魂506使用第二位址傳送封包片段。 • 15 - 發萌說螞續1 1239169 ⑼
圖6 為根據本發明的一具體實施例由一封包片斷管理 器(PFM)執行處理邏輯的一第二方塊流程圖。處理邏輯 6 0 0顯示一種方法以管理位址編譯的封包片斷,較具體言 之,一種編譯第一位址成為第二位址的方法。在方塊602 識別一具有一封包標頭的封包片段。封包標頭具有,例 如,一封包識別器、編譯資訊及一封包長度。在方塊6 04 作一決定是否封包的所有封包片段已經接收完成。在方塊 6 0 6從封包標頭擷取編譯資訊。在方塊6 0 8使用編譯資訊將 第一位址編譯成第二位址。 編譯資訊可為任何需要的資訊以編譯一位址成為另外 位址。例如,許多NAT裝置利用一埠號以執行位址編譯。
在本發明的一具體實施例中,各封包片段包括一封包片 段標頭。封包片段標頭包括,例如,一封包識別器、一多 位元及一偏離值。使用「多位元」的封包片段標頭決定是 否封包的所有封包片段已經完成收接收。較具體言之,評 估各封包片段的封包片段標頭以決定「多位元」的狀態。 本文所稱「多位元」係指一旗標場作為封包片段標頭的一 部份並包括在内。多位元表示是否多封包片段跟隨在後。 如果一封包片段設定多位元為預定位置(如,「1」或「〇」) 即表示多封包片段跟隨在後,則封包片段與具有相同封包 識別器的其他封包片段儲存在一起。一般,所有封包片段 設定為多位元,但最後封包片段除外。名詞「封包識別器」 表示一個產生封包片段的封包的一識別器。使用各儲存封 包片段的偏離值決定是否封包的所有封包片段已經完成 -16- 1239169 發說鹱續買 (13) 枚接收。名詞「偏離值」包括一值表示一位置其中封包片 段的資料與原來(未***)封包相配。例如,在本發明的一 具體實施例中,偏離值標示原來封包位置的位元組除以8。
在本發明的一具體實施例中,只使用封包片段標頭的 「偏離值」決定是否封包的所有封包片段已經完成收接 收。一般來自一封包的第一封包片段具有一偏離值為零(〇) 因為代表原來封包的第一位置。所以,各封包片段可以評 估以決定封包片段的偏離值。具有相同封包識別器及具有 偏離值不等於0的封包片段由NAT裝置儲存。使用儲存封 包片段的偏離值決定是否封包的所有封包片段已經完成 收接收。
圖7 為根據本發明的一具體實施例由一封包片斷管理 器(PFM)執行處理邏輯的一第三方塊流程圖。處理邏輯 70 0顯示一方法使用儲存封包片段的偏離值決定是否封包 的所有封包片段已經完成收接收。在方塊702收集儲存封 包片段的偏離值。在方塊7 04擷取封包片段的原來封包的 封包長度。使用封包長度決定是否該封包的所有位置已充 滿收集的偏離值。 較具體言之,評估偏離值以決定是否有任何間隙或遺失 位置存在開始位置及結束位置之間。開始位置由一偏離值 零(0)表示,而結束位置由封包長度表示。例如,如果封 包長度為1 5 00位元組,則最後封包片段必須具有適當值表 示原來1 5 0 0位元組的最後位元(如,8位元)的位置。評估 收集的偏離值以決定是否有原來封包的所有位置都由儲 -17 - (14) 1239169 發鹌隸瞵磺1 存封包片段的偏離值表示。 由=資源限制設定終止條件以防止〜額外儲存或收集封 °丨又例如,根據纪憶體或處理限制設定一上限的收集 封包數。同時有一定時器以釋放或「分離」已存在一段時 間未收集的所有同等的片段。在本發明的具體實施例中, 在接收一封包的所有封包片段之前偵測結束條件的產 生根據適當的結束條件建立產生適當的動作,如釋放封 包片段如果所有封包片段在預定時間内未收集完成。 系、、先 100、200 及 300,及模組 400、402、404、406 及 408 的操作使用下列的例子作進一步說明。假設源節點1 〇 2傳 送一封包經中間節點202至一目的地節點為LAN 112的部 份’如節點114。中間節點202接收封包及經網路1〇6完成 封包片斷以減少遲延時間。 根據IP規格執行封包片斷。封包***成封包片段,第一 封包片段具有封包標頭包括一埠號表示封包的目的地位 址。剩餘封包片段包括一封包標頭並包括一封包識別器 22、一多位元具有!表示多位元跟隨,及偏離值表示由封 包片段載運均資料在原來封包中的位置。 封包片段被傳送至LAN 112經路由器n〇。路由器110根 據N AT規格執行n AT。路由器1 1 〇包括一封包片斷管理器 (PFM)如PFM 400。PFM 400的收集模組4〇2接收來自中間 即點202的封包片段。收集模組4〇2執行一些封包片段的管 理功能如擷取來自一串封包片段的第一封包片段的封包 長度’及擷取封包識別器,多位元及各封包片斷的偏離 -18- (15) 1239169 發嚷鍊碼續買 值。收集模組402也管理複數個隊伍,各隊伍代表由封包 識別器識別的特別封包的封包片段。例如,隊伍由分隔記 憶體在預定狀況下管理,用各段代表一封包的封包片段。 隊伍也成為管理器,例如,維持一封包片段於系統記憶體 或共用記憶體中的鏈結表。任何用於維持一封包的封包片 斷的邏輯或實際隊伍的傳統技術可以使用並仍在本發明 的範圍内。這種資訊的一部份可傳遞至查驗模組4〇4。 查驗模組404使用偏離值及擷取自收集模組4〇2的封包 長度以查驗是否一特別封包的所有封包片段已經接收。各 _ 偏離值代表一位置從原來封包的開始位置的位置至結束 位置。例如,結束位置用封包長度表示。例如,查驗模組 404維持_查驗表由位置區段標示,及由收集模組4〇2收集 的封包片段填滿表。例如,位置區段由位元組除以8表示。 一旦所有表的空格填滿’查驗模組404傳送一信息至編譯 模組4 0 6以開始N AT處理。使用一定時器以決定是否在定 時器到時之前表格仍有空白。如果發生那樣條件,查驗模 組404傳送一信息至通訊模組408以釋放所有封包片段供 禱 系統或網路使用。例如,使用正常組合/分解封包片斷方 法,如由IP規格定義,處理排隊的封包片段。 編譯模組4 0 6接收來自查驗模組4 〇 4的查驗信息及開始 N AT處理。完成N AT處理作為編譯模組4 〇 6的部份,或由 編譯模組4 0 6從路由器1 1 〇的其他部份調用。例如,編譯模 組4 0 6使用來自封包標頭的編譯資訊以編譯原來外部目的 地位址成為〆新内部目的地位址以供LAN 1 1 2使用。例 -19- 發明說明續頁 1239169 (16) 如,編譯資訊包括一琿號即是用一串封包片段的第一封包 片段傳送的封包標頭的一部份。新内部目的地位址為LAN 1 1 2的節點1 1 4的目的地位址。編譯模組4 0 6通過新内部目 的地位址至通訊模組408,及一信息至收集模組402以傳送 封包片段隊伍的開始位址至通訊模組4 0 8。 通訊模組4 0 8使用新内部目的地位址及隊伍開始位址以 開始傳送封包片段至節點1 1 4。傳統NAT裝置首先組合封 包片段成為原來封包,執行NAT,及分解原來封包及新位 址成為通訊的封包片段至節點1 1 4。反之,通訊模組4 0 8 簡單修改各封包片段標頭及新目的地位址及開始傳送排 隊的封包片段至節點1 1 4。 雖然本發明的具體實施例的某些特徵已如本文說明及 描述,熟悉本技藝者將可瞭解到許多修正、取代、改變或 其相當。因此,須要暸解所附申請專利範圍係涵蓋所有這 些修正及改變並包含在本發明的真正精神之内。 圖式代表符號說明 102 源節點 104 連接 106 網路 108 連接 110 路由器 112 區域網路 114 節點1 116 節點2 118 節點N 202 中間節點 204 連接 -20 - 發_說嗎續頁
中間節點 處理器 I/O接合器 操作者介面 匯流排 記憶體 程式分隔 資料分隔 操作系統 監視模組 排程模組 連接 收集模組 查驗模組 編譯模組 通訊模組
-21 -

Claims (1)

  1. -Nv::, !-: i m\ il|M}Si23820號申請案 中文申請專利範圍替換本(93年5月) 拾、申請專利範園 ^ ^ 1. 一種用於位址編譯的管理封包片斷之方法,包括: 接收一封包的複數個封包片段具有一第一位址; 編譯該第一位址成為一第二位址不需重組該封包片 段成為該封包,及 使用該第二位址傳送該封包片段。 2. 如申請專利範圍第1項之方法,其中該編譯包括:
    識別一封包片段具有一封包標頭,及該封包標頭具有 一封包識別器、編譯資訊及一封包長度; 決定是否該封包的所有封包片段已經接收完成; 擷取來自該封包標頭的編譯資訊;及 使用該編譯資訊編譯該第一位址成為該第二位址。 3 ·如申請專利範圍第2項之方法,其中該編譯資訊包括一 埠號。 4 .如申請專利範圍第2項之方法,其中各封包片段包括一
    封包片段標頭具有該封包識別器、一多位元及一偏離 值,及該決定包括: 儲存各封包片段具有該封包識別器及該多位元組至 一預定值;及 使用該偏離值決定是否該封包的所有封包片段已經 接收完成。 5 .如申請專利範圍第4項之方法,其中各偏離值代表該封 包片段在該封包中的一位置,及該使用該偏離值決定是 否該封包的所有封包片段已經接收包括: nmm a,. 收集該偏離值; 擷取該封包長度;及 使用該封包長度決定是否該封包的所有位置已由該 收集偏離值充滿。 6.如申請專利範圍第2項之方法,其中各封包片段包括一 封包片段標頭具有該封包識別器、一多位元及一偏離 值,及該決定包括:
    儲存各封包片段具有該封包識別器及該偏離值為一 大於零的值;及 \ 使用該偏離值決定是否該封包的所有封包片段已經 接收。 7. 如申請專利範圍第6項之方法,其中各偏離值代表該封 包片段在該封包中的一位置,及該使用該偏離值決定是 否該封包的所有封包片段已經接收包括: 收集該偏離值; 擷取該封包長度;及
    使用該封包長度決定是否所有位址已由該收集偏離 值充滿。 8. 如申請專利範圍第5項之方法,其中各偏離值代表該封 包的該封包片段的除以八的位元組中的一位置。 9. 如申請專利範圍第7項之方法,其中各偏離值代表該封 包的該封包片段的除以八的位元組中的一位置。 10.如申請專利範圍第1項之方法,進一步包含: 決定在接收該封包的所有該封包片段之前發生一結 π。』 丨—―— 年月日 -τιτ「_τ I nr_ ·—1 1 束條件;及 根據該偵測釋放該封包片段。 11.一種用於位址編譯管理封包片斷之封包片斷管理器,包 括: 一收集模組用於收集及儲存一封包的複數個封包片 段具有一第一位址; 一查驗模組用於查驗該封包的所有封包片段已經接
    收;及 一編譯模組用於擷取來自該封包片段之一的編譯資 訊及使用該編譯資訊編譯該第一位址成為一第二位址。 12. 如申請專利範圍第11項之封包片斷管理器,進一步包括 一通訊模組用於傳送該封包片段至該第二位址。 13. —種用於一位址編譯裝置之管理封包片斷之系統,包 括: 一源節點以傳送一封包的封包片段具有一第一位 址;及 一中間節點以接收該封包片段及編譯該第一位址成 為一第二位址不需重組該封包片段成為該封包。 14. 如申請專利範圍第1 3項之系統,進一步包括一目的地節 點具有該第二位址以接收該封包片段及重組該封包片 段成為該封包。 15. —種用於一位址編譯裝置之管理封包片斷之系統,包 括: 一電腦平台適合管理封包片斷;
    1239169 f9a 5. i? 該平台進一步適合接收一封包的複數個封包片段具 有一第一位址、編譯該第一位址成為一第二位址不需重 組該封包片段成為該封包,及使用該第二位址傳送該封 包片段。
    16. 如申請專利範圍第1 5項之系統,其中該平台進一步適合 由識別一封包片段具有一封包標頭執行該編譯,及該封 包標頭具有一封包識別器、編譯資訊及一封包長度,決 定是否該封包的所有封包片段已經接收,擷取來自該封 包標頭的編譯資訊,及使用該編譯資訊編譯該第一位址 成為該第二位址。 17. 如申請專利範圍第1 5項之系統,其中該平台進一步適合 使用來自各封包片段的偏離值以決定是否由收集該偏 離值該封包的所有封包片段已經接收,擷取該封包的一 封包長度,及使用該封包長度決定是否該封包的所有位 置已由該收集偏離值充滿。 18-—種用以管理具有位址編譯封包片斷之物品,其包括: 一儲存媒體; 該儲存媒體包括儲存指令,當由一處理器執行,導致 接收一封包的複數個封包片段具有一第一位址、編譯該 第一位址成為一第二位址不需重組該封包片段成為該 封包,及使用該第二位址傳送該封包片段。 19.如申請專利範圍第1 8項之用以管理具有位址編譯封包 片斷之物品,其中儲存指令當由一處理器執行,進一步
    1239169 ,;:,Χ 3,-. 造成由識別一封包片段具有一封包標頭執行該編譯,及 該封包標頭具有一封包識別器、編譯資訊及一封包長 度,決定是否該封包的所有封包片段已經接收,擷取來 自該封包標頭的編譯資訊,及使用該編譯資訊編譯該第 一位址成為該第二位址。
    20. 如申請專利範圍第1 9項之用以管理具有位址編譯封包 片斷之物品,其中儲存指令如由一處理器執行,進一步 造成使用來自各封包片段的偏離值以決定是否由收集 該偏離值該封包的所有封包片段已經接收,擷取該封包 的一封包長度,及使用該封包長度決定是否該封包的所 有位置已由該收集偏離值充滿。 21. 如申請專利範圍第1 8項之用以管理具有位址編譯封包 片斷之物品,其中儲存指令當由一處理器執行,進一步 造成偵測在接收該封包的所有該封包片段之前產生一 結束條件,及根據該偵測釋放該封包片段。
TW091123820A 2001-11-01 2002-10-16 Method and apparatus to manage packet fragmentation with address translation TWI239169B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/015,959 US7298745B2 (en) 2001-11-01 2001-11-01 Method and apparatus to manage packet fragmentation with address translation

Publications (1)

Publication Number Publication Date
TWI239169B true TWI239169B (en) 2005-09-01

Family

ID=21774554

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091123820A TWI239169B (en) 2001-11-01 2002-10-16 Method and apparatus to manage packet fragmentation with address translation

Country Status (5)

Country Link
US (1) US7298745B2 (zh)
EP (1) EP1442585A1 (zh)
CN (1) CN1606860A (zh)
TW (1) TWI239169B (zh)
WO (1) WO2003039107A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030128701A1 (en) * 2002-01-09 2003-07-10 Nokia Corporation Method of and apparatus for directing packet entities
DE60228334D1 (de) * 2002-03-22 2008-09-25 Ericsson Telefon Ab L M Verringern der übertragungszeit für datenpakete; die durch ein sicherungsschichtprotokoll mit einer fragmentierungs-/defragmentierungsfähigkeit gesteuert werden
US9088494B2 (en) * 2002-06-26 2015-07-21 Avaya Communication Israel Ltd. Packet fragmentation prevention
US8325717B2 (en) * 2003-07-30 2012-12-04 Foundry Networks, Llc Method and system for IP fragmentation handling
US7558890B1 (en) * 2003-12-19 2009-07-07 Applied Micro Circuits Corporation Instruction set for programmable queuing
US7606933B2 (en) * 2004-02-11 2009-10-20 Cray Canada Corporation Shared memory and high performance communication using interconnect tunneling
US20060013258A1 (en) * 2004-07-13 2006-01-19 International Business Machines Corporation System, apparatus and method of improving network data traffic between interconnected high-speed switches
US7685319B2 (en) * 2004-09-28 2010-03-23 Cray Canada Corporation Low latency communication via memory windows
US7633972B1 (en) * 2005-03-01 2009-12-15 Nortel Networks Limited Dynamic packet concatenation
CN1988508A (zh) * 2006-12-04 2007-06-27 华为技术有限公司 一种分片报文传输方法及通讯***及隧道设备
CN101365154B (zh) * 2007-08-10 2011-07-20 上海贝尔阿尔卡特股份有限公司 自适应、可扩展分段索引添加/检测方法及装置
US7715362B1 (en) * 2007-11-23 2010-05-11 Juniper Networks, Inc. Identification fragment handling
CN101616072A (zh) * 2008-06-26 2009-12-30 鸿富锦精密工业(深圳)有限公司 网络地址转换装置及其封包处理方法
US8433283B2 (en) 2009-01-27 2013-04-30 Ymax Communications Corp. Computer-related devices and techniques for facilitating an emergency call via a cellular or data network using remote communication device identifying information
JP5164953B2 (ja) * 2009-06-17 2013-03-21 アラクサラネットワークス株式会社 インタネットワーク装置
JP5782698B2 (ja) * 2009-11-20 2015-09-24 ソニー株式会社 通信装置、プログラム、および通信方法
US9185073B2 (en) 2011-10-06 2015-11-10 Qualcomm Incorporated Systems and methods for data packet processing
US20140006644A1 (en) * 2012-06-28 2014-01-02 Lsi Corporation Address Remapping Using Interconnect Routing Identification Bits
US10841222B2 (en) 2016-07-05 2020-11-17 Ologn Technologies Ag Systems, apparatuses and methods for network packet management
US11570098B2 (en) 2016-07-05 2023-01-31 Six Impossible Things Before Breakfast Limited Systems, apparatuses and methods for cooperating routers
US10859339B2 (en) 2018-11-13 2020-12-08 Qtm, Llc Archery riser and method
US20220345984A1 (en) * 2021-04-26 2022-10-27 Arrcus Inc. Use Of Ip Networks For Routing Of Cellular Data Packets
US11849381B2 (en) 2021-04-26 2023-12-19 Arrcus Inc. Use of IP networks for routing of cellular data packets
US11632692B2 (en) 2021-04-26 2023-04-18 Arrcus Inc. Use of IP networks for routing of cellular data packets

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815516A (en) * 1996-04-05 1998-09-29 International Business Machines Corporation Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation
SE513828C2 (sv) 1998-07-02 2000-11-13 Effnet Group Ab Brandväggsapparat och metod för att kontrollera nätverksdatapakettrafik mellan interna och externa nätverk
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6453357B1 (en) * 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US6650641B1 (en) * 1999-07-02 2003-11-18 Cisco Technology, Inc. Network address translation using a forwarding agent
US6742045B1 (en) * 1999-07-02 2004-05-25 Cisco Technology, Inc. Handling packet fragments in a distributed network service environment
US6714985B1 (en) * 2000-04-28 2004-03-30 Cisco Technology, Inc. Method and apparatus for efficiently reassembling fragments received at an intermediate station in a computer network
US6888838B1 (en) * 2000-11-16 2005-05-03 Tensilica, Inc. Fast IP route lookup with configurable processor and compressed routing table
US7760737B2 (en) * 2000-11-30 2010-07-20 Audiocodes, Inc. Method for reordering and reassembling data packets in a network
US7292530B2 (en) * 2000-12-29 2007-11-06 Intel Corporation Method and apparatus to manage packet fragmentation
US7089320B1 (en) * 2001-06-01 2006-08-08 Cisco Technology, Inc. Apparatus and methods for combining data

Also Published As

Publication number Publication date
CN1606860A (zh) 2005-04-13
WO2003039107A1 (en) 2003-05-08
EP1442585A1 (en) 2004-08-04
US7298745B2 (en) 2007-11-20
US20030081605A1 (en) 2003-05-01

Similar Documents

Publication Publication Date Title
TWI239169B (en) Method and apparatus to manage packet fragmentation with address translation
US7292530B2 (en) Method and apparatus to manage packet fragmentation
TWI225345B (en) Method and apparatus to manage address translation for secure connections
JP4033773B2 (ja) ネットワークルーティングを実行する方法および装置
JP4564665B2 (ja) 一般的なシリアルバスプロトコルの範囲を拡張する方法並びに装置
JP4230663B2 (ja) 無線通信ネットワークにおけるパケット・ヘッダの削減
US7272153B2 (en) System and method for distributed processing of packet data containing audio information
US7289509B2 (en) Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections
EP1575245B1 (en) Method and apparatus to manage network addresses for private voice communications
JP2005525025A (ja) パケット・カプセル化を用いたスイッチング・アーキテクチャー
US20070291771A1 (en) System and Method for Distributed Processing of Packet Data Containing Audio Information
US8238335B2 (en) Multi-route transmission of packets within a network
JP4938134B2 (ja) 複数の接続インターフェース間で通信するための方法および装置
CN101465858B (zh) 监控业务中实现私网穿越的方法、网络设备和服务器
JP4275265B2 (ja) 呼制御サーバおよび音声データ通信方法
Rodriguez An X. PC/TCP protocol translator
Chukarin et al. Performance evaluation of the stream control transmission protocol
US20080159332A1 (en) Methods and devices for using variable length subpackets in data transmissions
TWI387278B (zh) 纜線數據機及其動態建立服務品質的方法
JP2003244214A (ja) トンネル経路を設定するパケット通信方法