JP3557998B2 - フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置 - Google Patents

フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置 Download PDF

Info

Publication number
JP3557998B2
JP3557998B2 JP2000134278A JP2000134278A JP3557998B2 JP 3557998 B2 JP3557998 B2 JP 3557998B2 JP 2000134278 A JP2000134278 A JP 2000134278A JP 2000134278 A JP2000134278 A JP 2000134278A JP 3557998 B2 JP3557998 B2 JP 3557998B2
Authority
JP
Japan
Prior art keywords
packet
fixed
length
fragmentation
header
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2000134278A
Other languages
English (en)
Other versions
JP2001313675A (ja
Inventor
浩史 傅寳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000134278A priority Critical patent/JP3557998B2/ja
Priority to US09/842,646 priority patent/US6934288B2/en
Publication of JP2001313675A publication Critical patent/JP2001313675A/ja
Application granted granted Critical
Publication of JP3557998B2 publication Critical patent/JP3557998B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/5653Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
    • H04L2012/5658Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • H04L2012/5667IP over ATM
    • 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]
    • 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

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はフラグメンテーション処理デバイス、およびこれを実装するフラグメンテーション処理装置に関し、特に、多様な回線を収容してIPパケットの転送処理を行う場合に、フラグメンテーション処理をハードウェアのみで高速に処理するフラグメンテーション処理デバイス、およびこれを実装するフラグメンテーション処理装置に関する。
【0002】
【従来の技術】
一般に、IPネットワーク上のルータ等は、収容しているリンクレイヤプロトコルの仕様により、送受信することができるパケットのサイズが決まっている。ここで、送出側における送出することができるIPパケットのサイズのことをMTU( Maximum Transfer Unit)サイズといい、受信側における受信することができるIPパケットのサイズのことをMRU( Maximum Receive Unit )サイズという。
これらMTUサイズとMRUサイズとは入力回線と出力回線単位に各々別々の値が設定されていても良いため、IPネットワーク上のルータ等の装置は、フラグメンテーション処理を行わなければならない場合がある。より詳しくは、フラグメンテーション処理は、MTUサイズよりも大きいサイズのIPパケットを送出しなければならない場合に必要とされる。例えば、IPパケット長AのIPパケットをMTUサイズがB(A>B)である出力回線へ送出する場合、ルータは、このIPパケットをB以下のサイズに分割しなければ送出することができない。この場合、フラグメンテーション処理が行われ、上記Aのサイズを有するIPパケットは、MTUサイズ以下のサイズのIPパケットに分割され、送出される。このフラグメンテーション処理については、例えばIETF RFC1812 Requirements for IP version 4 Routersに記載された処理がある。
しかし、このフラグメンテーション処理は、すべてのルータ等において常に行われる処理ではない。すなわち、MTUサイズとMRUサイズとが一致するように経路設計された場合等には必要とされないこともある。そのため、従来、フラグメンテーション処理は、ソフトウェアにより行われていた。
【0003】
【発明が解決しようとする課題】
しかしながら、現在、多種多様な物理回線種別が存在し、物理回線種別ごとにMRUサイズ値が異なる。そのため、異なる物理回線間におけるIPパケットの転送を行う際、フラグメンテーション処理は、頻繁に行われている。この場合、前記したようにソフトウェアによりフラグメンテーション処理が行われるため、IPパケット転送処理に多くの時間を要してしまうという問題点が指摘されている。
また、従来のソフトウェアによるフラグメンテーション処理は、IPパケットすべてを受信した後に行っていたため、長いIPパケットを受信した場合、フラグメンテーション処理を開始する時間が遅れ、IPパケット転送処理に多くの多くの時間を要してしまうという問題点も指摘されている。
【0004】
この問題点を解決するために、特開平11−168492号公報には、IPネットワーク上におけるIPパケットが転送されるルートの最小MTUサイズサイズを調査する機能を実装したルータ装置に関する従来技術が開示されている。
しかし、IPパケットが転送されるルートは、このネットワークの状態により異なる場合があり、常に1つであるとは限らない。そのため、調査したルートと異なるルートにIPパケットが転送される場合、ネットワーク上では、フラグメンテーション処理が生じてしまう。
また、すべてのルータ装置等は、上記従来技術を実装している必要がある。
【0005】
本発明は、上記問題点に鑑みなされたものであり、ハードウェアであるフラグメンテーション処理デバイスを提供することを目的とする。また、ハードウェアであるフラグメンテーション処理デバイスを実装したルータ等のフラグメンテーション処理装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
かかる目的を達成するために、請求項1記載のフラグメンテーション処理デバイスの発明は、ペイロード部に分割されたIP(internet protocol)パケットが書き込まれた固定長パケットが、IPパケットの先頭部分を含むものから最終部分を含むものまで順に入力されるフラグメンテーション処理デバイスであって、IPパケットのIPパケットヘッダを含む固定長パケットからIPパケットヘッダに含まれているIPパケットのサイズに関する情報を取得し、IPパケットのサイズとMTU( Maximum Transfer Unit)サイズとを比較し、IPパケットのサイズがMTUサイズよりも大きなサイズである場合、IPパケットはフラグメンテーション処理を施される必要があるものと判断するフラグメンテーション処理判断手段と、フラグメンテーション処理判断手段によりIPパケットがフラグメンテーション処理を施される必要があるものと判断された場合、IPパケットヘッダが含まれている固定長パケットからIPパケットヘッダを抽出し、IPパケットヘッダからフラグメンテーション処理後のIPパケットヘッダを作製するIPヘッダ処理手段と、フラグメンテーション処理判断手段によりIPパケットがフラグメンテーション処理を施される必要があるものと判断された場合、IPヘッダ処理手段により作製されたIPパケットヘッダの後ろに、フラグメンテーション処理デバイスに入力された順に固定長パケットに含まれたIPパケットのIPパケットペイロードを付加したMTUサイズよりも小さいサイズのIPパケットを複数作製し、IPパケットを送出し、フラグメンテーション処理判断手段によりIPパケットがフラグメンテーション処理を施される必要がないものと判断された場合、フラグメンテーション処理デバイスに入力された順に、固定長パケットからIPパケットを組み立て、IPパケットをデバイス外へ送出するIPパケット組立手段と、を有し、更に、前記フラグメンテーション処理判断手段により前記IPパケットがフラグメンテーション処理を施す必要があるものと判断された場合、固定長パケットのペイロードのサイズ(固定長パケットペイロード長)と、前記MTUのサイズ(MTUサイズ)と、前記IPパケットヘッダに含まれているIPパケットのヘッダのサイズ(IPパケットヘッダ長)とから、
Figure 0003557998
によりNを算出し、該算出されたNの内一番大きな数字N ' を前記IPパケット組立手段へ通知する固定長パケット組立個数算出手段をさらに有し、
前記IPパケット組立手段は、前記通知を受けた場合、前記IPパケットの先頭部分を含む固定長パケットからN ' 個ずつ固定長パケットに含まれたIPパケットペイロードを順に組み立て、該IPパケットペイロードの先頭に前記IPヘッダ処理手段により作製されたIPパケットヘッダを付加することでIPパケットを作製するものであり、前記IPパケットから作製された固定長パケットの数(固定長パケット数)が前記N ' で割り切ることができず、剰余が生じるものである場合、フラグメンテーション処理デバイスへ先に入力された固定長パケットから、前記IPパケットの最終部分を含む固定長パケットまでの固定長パケットについては、前記剰余の数をN ' とし、前記N ' 個の固定長パケットからIPパケットを作製し、該IPパケットをデバイス外へ送出するものであることを特徴としている。
【0008】
請求項2記載の発明は、請求項1のフラグメンテーション処理デバイスにおいて、IPパケット組立部は、N'個分の固定長パケットを取得した後、順次IPパケットを作製し、するものであることを特徴としている。
【0009】
請求項3記載の発明は、請求項1または2のフラグメンテーション処理デバイスにおいて、固定長パケットはATMセルであることを特徴としている。
【0010】
請求項4記載の発明は、請求項1から3のいずれか1項のフラグメンテーション処理デバイスにおいて、固定長パケットのヘッダ部は、IPパケットが該デバイスに入力された入力回線に関する情報、および/または固定長パケットが入力された該デバイス内の入力ポートに関する情報が含まれているものであり、IPパケット組立手段は、固定長パケットから組み立てたIPパケットを、IPパケットが書き込まれていた固定長パケットヘッダから入力回線に関する情報および/または固定長パケットが入力された該デバイス内の入力ポートに関する情報を取得し、該デバイスへの入力回線および/または固定長パケットが入力された該デバイス内の入力ポートに対応した出力回線へ作製したIPパケットを出力するものであることを特徴としている。
【0011】
請求項5記載のフラグメンテーション処理装置の発明は、請求項1から4のいずれか1項に記載のフラグメンテーション処理デバイスを複数有するフラグメンテーション処理装置であって、各フラグメンテーション処理デバイスは、IPパケットが入力された該デバイス内の入力回線と対応付けられ、対応付けられた入力回線から入力されたIPパケットが分割され書き込まれた固定長パケットからIPパケットを作製するものであることを特徴としている。
【0012】
請求項6記載の発明は、請求項5のフラグメンテーション装置において、フラグメンテーション処理装置は、固定長パケット分離デバイスをさらに有し、固定長パケット分離デバイスは、IPパケットが該装置に入力された入力回線および/または固定長パケットが入力された該装置内の入力ポートごとに所定のフラグメンテーション処理デバイスへ固定長パケットを入力するものであることを特徴としている。
【0013】
請求項7記載の発明は、請求項5または6のフラグメンテーション装置において、フラグメンテーション処理装置は、IPパケット統合デバイスをさらに有し、IPパケット組立手段により組み立てられたIPパケットを、IPパケットが該装置へ入力された入力回線および/または固定長パケットが入力された該装置内の入力ポートに対応した出力回線へ出力するものであることを特徴としている。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【0015】
以下、フラグメンテーション処理デバイス10、およびこれを含むフラグメンテーション処理装置について詳細に説明する。
フラグメンテーション処理デバイス10は、IP over ATM 回線や、POS( Packet Over SONET/SDH)回線等、多様な回線を収容し、IPパケットの転送処理を行う装置内に実装される。この装置をフラグメンテーション処理装置と呼ぶ。
【0016】
<フラグメンテーション処理デバイス10>
フラグメンテーション処理デバイス10は、入力された固定長パケットを所定の大きさのIPパケットに組み立て、このIPパケットを送出する。これは、図1に示すように、バッファ20、IPヘッダ処理部30、およびIPパケット組立部40とを有する。
フラグメンテーション処理デバイス10は、まず入力された固定長パケットをバッファ20により保持し、次いでIPヘッダ処理部30によりフラグメンテーション処理を行うか判断し、この判断結果に基づきIPパケット組立部40でIPパケットを組み立てる。
【0017】
<バッファ20>
バッファ20は、フラグメンテーション処理デバイス10に入力された固定長パケットを保持する。なお、固定長パケットの保持方式は、特に限定されないが、好ましくはFIFO方式がよい。
【0018】
また、この固定長パケットは、例えばATM( Asynchrounous Transfer Mode)において用いられるATMセル等でもよく、図2(b)に示すように、ヘッダ部(以下、固定長パケットヘッダと表記する。)とペイロード部(以下、固定長パケットペイロード部と表記する。)とを有し、以下の条件を満たすものであれば、特に限定されない。
この条件とは、固定長パケットヘッダにIPパケットスイッチの入力ポート番号等のIPパケットの入力物理回線番号に関する情報が含まれていることである。
なお、この条件を満たさない固定長パケットであっても、フラグメンテーション処理デバイス10がこの情報を取得することができれば、用いることができる。
なお、この固定長パケットは、フラグメンテーション処理装置がIPパケットを受信した場合に作製する。この作製方法は、公知の方法を用いて行う。また、フラグメンテーション処理デバイス10は、IPパケットを入力されるようにし、IPパケットを入力された際、これを図示しない固定長パケット分割部により固定長パケットへ分割するようにしてもよい。
バッファ20に保持された固定長パケットは、IPヘッダ処理部30に読み出される際、消去される。
【0019】
なお、固定長パケットとして、AAL5( ATM Adaptation Layer )を用いる場合、PTIフィールドが「001」または「011」のものが最後の固定長パケットと判断され、この次の固定長パケットが先頭の固定長パケットと判断される。
【0020】
<IPヘッダ処理部30>
IPヘッダ処理部30は、IPパケットに対しフラグメンテーション処理を施すか判断し、IPフラグメンテーション処理を施すと判断した場合、IPパケットヘッダを作製する。
【0021】
IPヘッダ処理部30は、バッファ20に保持された固定長パケットの内、保持された時間の長いものから順に読み出す。読み出した固定長パケットペイロードの内IPパケットのヘッダ(以下、IPパケットヘッダと表記する。)を含むものから、IPパケットヘッダを抽出する。また、このIPパケットヘッダの中から、IPパケットヘッダ長、およびIPパケット長を抽出する。なお、この際、TTL減算等のIPパケットヘッダ処理を行うようにしてもよい。
【0022】
抽出したIPパケットヘッダ長、固定長パケットペイロード長およびMTUサイズとから、下記[式3]を用い、Nを算出し、このNの内、最大の整数をNとしてIPパケット組立部40へ通知する。このNは、下記[式4]に示すように、IPパケット組立部40が組み立てるIPパケットのサイズ(フラグメンテーションサイズ)を求めるために用いられる。すなわち、下記[式3]、および[式4]によれば、IPパケット組立部40がIPパケットヘッダとN個の固定長パケットペイロードを組み合わせて作製するIPパケットは、MTUサイズよりも小さなものとなる。
Figure 0003557998
【0023】
IPヘッダ処理部30は、抽出したIPパケット長とMTUサイズとを比較し、IPパケット長がMTUサイズを超えるものであるか調べる。IPパケット長がMTUサイズ以下の大きさである場合フラグメンテーション処理を行う必要はなく、MTUサイズよりも大きい場合フラグメンテーション処理を行う必要が生じる。
なお、MTUサイズは、フラグメンテーション処理装置がネゴシエーション処理により得たものを取得するようにしてもよく、フラグメンテーション処理デバイス10がネゴシエーション処理を行うことにより取得してもよく、また予めフラグメンテーション処理装置またはフラグメンテーション処理デバイス10内に設定されるようにしてもよい。ネゴシエーション処理は、例えば、IETF RFC1661The Point−to−Point Protocol(PPP) がある。ネゴシエーション処理は、IPパケット送出先の装置のMRUサイズを検知し、このサイズをMTUサイズとするものである。また、複数の物理回線を収容する場合、この物理回線ごとにMTUサイズを設定してもよい。
【0024】
また、この際、IPヘッダ処理部30は、出力ポートチェック等の固定長パケットに施す処理を行う。この処理は、公知のものでよい。
【0025】
IPパケット長がMTUサイズ以下の大きさである場合、IPヘッダ処理部30は、上記抽出したIPパケットのヘッダをIPパケット組立部40へ送出する。また、順次固定長パケットをIPパケット組立部40へ送出する。なお、先頭固定長パケットから最終固定長パケットまでの固定長パケット、または先頭かつ最終固定長パケットをバッファ20から読み出し、これらをIPパケット組立部40へ出力するようにしてもよい。
【0026】
上記した固定長パケットには、次の種類がある。
(1)先頭固定長パケット
IPパケットの先頭部分を含む固定長パケットであり、IPパケットのヘッダ部を含む。
(2)最終固定長パケット
IPパケットの最終部分を含む固定長パケットであり、この固定長パケットの次にバッファ20へ入力された固定長パケットが先頭固定長パケットである。
(3)中間固定長パケット
IPパケットの内、先頭固定長パケットと最終固定長パケットとを除いた固定長パケットである。IPパケットの長さによっては存在しない場合もある。固定長パケットのペイロード部分すべてにデータが書き込まれている。
(4)先頭かつ最終固定長パケット
IPパケットの先頭部分を含み、かつ最終部分をも含む。IPパケットのサイズが固定長パケットのサイズよりも小さい場合に生じる。
なお、IPヘッダ処理部30は、固定長パケットの種類を、固定長パケットが上記性質を有するか否かにより判断してもよく、また別の方法により判断してもよい。例えば、固定長パケットのヘッダ部には、前記した固定長パケットの種類に関する情報が含まれているものとし、これを解読することにより判断してもよい。
【0027】
IPパケット長がMTUサイズ以下のサイズである場合、IPヘッダ処理部30は、バッファ20から読み出した固定長パケットを、IPパケット組立部40へ送出する。
なお、この際、先頭固定長パケットから最終固定長パケットまでの固定長パケットの個数をIPパケット組立部40に通知するようにしてもよい。この場合、IPパケット組立部40は、通知された個数分の固定長パケットを受信した場合、これらからIPパケットを組み立てるようにしてもよい。
また、前記したように固定長パケットの個数を通知する代わりに、IPパケット長がMTUサイズ以下のサイズである旨を通知するようにしてもよい。この場合、IPパケット組立部40は、最終固定長パケットを受信したことを検知した後、これらの固定長パケットからIPパケットを組み立てるようにしてもよい。最終固定長パケットであるか否かは、IPパケット組立部40が前記したように判断してもよく、また、IPヘッダ処理部30が最終固定長パケットを送出する際に、最終固定長パケットを送出した旨をIPパケット組立部40へ通知し、IPパケット組立部40がこの通知に基づき判断してもよい。
【0028】
IPパケット長がMTUサイズを超える大きさである場合、IPヘッダ処理部30は、IPパケットのヘッダに上記抽出したIPパケットヘッダに対し、IPパケットヘッダ処理を施し、新たなIPパケットヘッダを生成し、これを保持する。このIPパケットヘッダ処理は、フラグメンテーション処理時に必要とされる処理であり、IPパケットの規格により異なるが、例えば、IETF RFC1812 Requirements for IP version 4 Rouuters に記載された処理がある。なお、ヘッダチェックサムの再計算等のフラグメンテーション処理に由来しないIPパケットヘッダ処理をも行うようにしてもよい。生成されたIPパケットヘッダは、先頭固定長パケットのペイロード部に含まれるIPパケットヘッダと置き換えられる。この先頭固定長パケットは、IPパケット組立部4040へ送出される。
【0029】
IPヘッダ処理部30は、バッファ20から読み出した固定長パケットを順次IPパケット組立部40へ送出する。なお、先頭固定長パケットを含むN個の固定長IPパケットを読み出した後、これらをまとめてIPパケット組立部40へ送出するようにしてもよい。
次いで、上記先頭固定長パケットからN+1個目からN+N個目までの中間固定長パケットを順次IPパケット組立部40へ送出する。また、この後、上記抽出したIPパケットヘッダから新たなIPパケットヘッダを生成し、IPパケット組立部40へ送出する。この処理を繰り返す。なお、上記N個の固定長IPパケットを読み出した後、これらをIPパケット組立部40へ送出するようにしてもよい。
【0030】
バッファ20から最終固定長パケットを読み出した場合、この後、IPパケットヘッダを生成し、IPパケット組立部40へ送出する。なお、前記したようにN個までの固定長パケットをバッファ20から読み出した後、これらをIPパケット組立部40へ送出する場合で、N個の固定長パケットを読み出す前に最終固定長パケットをバッファ20から読み出した場合、最終固定長パケットまでの固定長パケットをIPパケット組立部40へ送出するようにしてもよい。
【0031】
なお、IPヘッダ処理部30は、固定長パケットが下記のシーケンスに従ってバッファ20に入力されたものであるか調べる。このシーケンスは、下記の(a)〜(c)に示すものがある。
(a)先頭固定長パケット、1以上の中間固定長パケット、最終固定長パケットの順に固定長パケットが入力された。
(b)先頭固定長パケット、最終固定長パケットの順に固定長パケットが入力された。
(c)先頭かつ最終固定長パケットのみが入力された。
すなわち、上記シーケンスは、IPパケットが固定長パケットに分割された順番にIPヘッダ処理部30へ入力されたか判断するためのものである。これらのシーケンスにより入力された固定長パケットについては、正常シーケンスとして上記処理を施し、入力されなかったものについては、下記に示す異常シーケンスとして取り扱う。
【0032】
固定長パケットが異常シーケンスによりIPヘッダ処理部30へ入力された場合、IPヘッダ処理部30は、これらの固定長パケットに対し、予め定められた処理を行う。この予め定められた処理は、どのようなものでもよく、例えば、次の先頭固定長パケットを入力するまでに入力された固定長パケットをすべて破棄するものでもよい。
【0033】
<IPパケット組立部40>
IPパケット組立部40は、IPヘッダ処理部30から入力された固定長パケットを、前記したように入力されたN、およびIPヘッダとに基づき、MTUサイズ以下のIPパケットに組み立てる。組み立てられたIPパケットは、前記した入力物理回線番号、および/または固定長パケットSW入力ポートを基に、公知の方法に従い、所定の送出先へ送出される。この固定長パケットの組立方法は公知の方法出よく、この固定長パケットがデバイスに入力された順につなぎ合わせるものであればよい。
なお、メモリ50は、フラグメンテーション処理デバイス10の中にあってもよく、また外部のものを用いてもよい。
【0034】
<IPパケット長がMTUサイズ以下の場合>
IPパケット組立部40は、IPヘッダ処理部30から入力された固定長パケットから固定長パケットヘッダを削除し、固定長パケットペイロードをメモリ50に格納する。最終固定長パケットを受信した場合、メモリ50に格納した固定長パケットペイロードを読み出し、1つのIPパケットを組み立てる。この組み立て方法は、公知の方法を用いることにより行うことができる。なお、最終固定長パケットであるか否かは、前記したように判断する。また、IPヘッダ処理部30が先頭固定長パケットから最終固定長パケットまでの固定長パケットの個数をIPパケット組立部40へ通知するようにし、この通知に基づき、この個数分の固定長パケットが入力された場合、最終固定長パケットであると判断するようにしてもよい。また、IPヘッダ処理部30が最終固定長パケットを送出する際、その旨を通知するようにし、この通知に基づき判断するようにしてもよい。メモリ50に格納された固定長パケットペイロードは、前記のように読み出される際、消去される。
なお、IPパケット処理部は、IPヘッダ処理部30から入力された固定長パケットをメモリ50に格納し、固定長パケットをメモリ50から読み出した後、または読み出す際、固定長パケットヘッダを削除するようにしてもよい。
【0035】
<IPパケット長がMTUサイズを超える場合>
IPパケット組立部40は、IPヘッダ処理部30から入力された固定長パケットから固定長パケットヘッダを削除し、固定長パケットペイロードをメモリ50に格納する。この処理を、N回繰り返す。この繰り返しは、カウンタを用いて計測してもよい。
IPパケット組立部40は、N個の固定長パケットペイロードをメモリ50に格納した場合、これらの固定長パケットペイロードを読み込み、1つのIPパケットに組み立てる。この組み立てたIPパケットは、装置外に送出される。なお、この組み立て方法は、公知の方法により行うことができ、例えばIETF RFC1812Requirements for IP version 4 Routersに記載されている方法を用いてもよい。この処理は、順次繰り返される。また、メモリ50に格納された固定長パケットペイロードは、IPパケット組立部40が読み出す際、消去される。
なお、IPパケット処理部は、IPヘッダ処理部30から入力された固定長パケットをメモリ50に格納し、固定長パケットをメモリ50から読み出した後、または読み出す際、固定長パケットヘッダを削除するようにしてもよい。
【0036】
<先頭固定長パケットを含む場合>
先頭固定長パケットペイロードを含む固定長パケットペイロードからIPパケットを組み立てる場合、先頭固定長パケットペイロードから、N個目までの固定長パケットペイロードを順次メモリ50から読み出し、IPパケットに組み立てる。
【0037】
<中間固定長パケットのみの場合>
ここで、メモリ50から読み出した固定長パケットの中に先頭固定長パケットペイロードがなく、中間固定長パケットペイロードのみである場合、IPパケット組立部40は、メモリ50に格納した順に中間固定長パケットペイロードを読み込み、この順にIPパケットペイロードを組み立てる。また、IPパケットヘッダは、前記したようにIPヘッダ処理部30から入力され、保持しているIPパケットヘッダを、IPパケットペイロードの先頭に組み込み、IPパケットを組み立てる。
【0038】
<最終固定長パケットを含む場合>
また、IPヘッダ処理部30から最終固定長パケットが入力された場合、IPパケット組立部40は、この固定長パケットペイロードと、メモリ50に格納されている固定長パケットペイロードとから、前記したようにIPパケットペイロードを組み立てる。このIPパケットの先頭に、前記のように保持されているIPパケットヘッダを組み込み、IPパケットを組み立てる。最終固定長パケットであるか否かの判断は、どのような方法を用いてもよく、例えば、固定長パケットヘッダを用いて判断するようにしてもよく、固定長パケットペイロードに記載されているデータの長さにより判断するようにしてもよく、またIPヘッダ処理部30から通知され、これを基に判断するようにしてもよい。
【0039】
<フラグメンテーション処理装置>
フラグメンテーション処理装置は、図3に示すように、固定長パケット分割デバイス600、フラグメンテーション処理デバイス100....10X、およびIPパケット統合デバイス700とを有す。
また、前記したように、フラグメンテーション処理装置は、図示しない固定長パケット分割部によりIPパケットを分割してもよく、これとは別に、図示しない固定長パケット組み立て装置が固定長パケットを生成してもよい。
【0040】
固定長パケット分割デバイス600は、入力された固定長パケットを、複数のフラグメンテーション処理デバイス100....10Xへ振り分け入力するためのものである。この振り分けは、IPパケットが入力された入力回線ごとに行われる。このIPパケットが入力された入力物理回線は、入力回線番号情報、または固定長パケットSWポート数に基づき判断される。入力回線番号情報、または固定長パケットSWポート数は、どのように取得してもよく、例えば、前記したように固定長パケットヘッダに入力回線番号情報、または固定長パケットSWポート数が記載され、これに基づき判断するようにしてもよく、また、図示しない制御線から通知されるようにしてもよい。前記のように、入力回線番号情報、または固定長パケットSWポートごとに所定のフラグメンテーション処理デバイス100へ固定長パケットを振り分ける。
【0041】
フラグメンテーション処理デバイス100....10Xは、それぞれ前記したようにバッファ200....20X、IPヘッダ処理部300....30X、およびIPパケット組立部400....40Xを有している。これらは、前記した動作を行い、固定長パケットからIPパケットを組み立てる。組み立てられたIPパケットは、IPパケット統合デバイスに出力される。
なお、前記したように、メモリ500は、フラグメンテーション処理デバイス100....10X内に存在していてもよく、フラグメンテーション処理デバイス100....10X外に存在していてもよく、また、フラグメンテーション処理装置外に存在していてもよい。
フラグメンテーション処理デバイス100....10Xの個数Xは、入力物理回線数、または固定長パケットSW入力ポート数と等しく、図3に示すように、それぞれ並列に接続される。
【0042】
IPパケット統合デバイス700は、フラグメンテーション処理デバイス100....10Xから入力された順に、IPパケットを装置外へ送出する。これにより、フラグメンテーション処理デバイス100....10Xに振り分けられたIPパケットが、1つのIPパケット流となる。なお、このIPパケットの送出先は、前述のように、入力回線番号情報、または固定長パケットSWポートごとに対応付けられた所定の出力物理回線である。
【0043】
なお、フラグメンテーション処理装置は、上記したすべてのデバイスを有する必要はなく、例えば、
固定長パケット分割デバイス600とフラグメンテーション処理デバイス100....10X、
固定長パケット分割デバイス600とフラグメンテーション処理デバイス100....10Xとメモリ500、
固定長パケット分割デバイス600とフラグメンテーション処理デバイス100....10XとIPパケット統合デバイス700、
フラグメンテーション処理デバイス100....10XとIPパケット統合デバイス700、
フラグメンテーション処理デバイス100....10XとIPパケット統合デバイス700とメモリ500、
によりなり、他のデバイスを、外部の装置としてもよい。
【0044】
<フラグメンテーション処理の例>
図2は、本発明によるフラグメンテーション処理デバイスが固定長パケットからMTUサイズ以下のサイズのIPパケットを作製する一例を示す。
図2(a)に示すIPパケットは、フラグメンテーション処理装置に入力されたIPパケットである。このIPパケットは、フラグメンテーション処理装置内においては、図2(b)に示すように固定長パケットに分割される。ここでは、6つの固定長パケットに分割されている。
図2(c)に示すMTUサイズによると、前記したNは2となっている。従って、固定長パケットペイロード2つから1つのIPパケットを作製することで、図2(a)に示すIPパケットを(c)に示すMTUサイズ以下のサイズのIPパケットへ分割されている。
なお、固定長パケットが7つであった場合、この固定長パケット数は、Nで割り切ることができず、余剰1が生じるない。従って、IPパケットの最終部分を固定長パケットペイロードに含む固定長パケットから、余剰1分の固定長パケットについては、Nを1としてIPパケットを作製する。すなわち、このIPパケットの最終部分に、前記したIPパケットヘッダを先頭に付加したIPパケットが作製される。
【0045】
【発明の効果】
以上の説明から明らかなように、本発明によるフラグメンテーション処理デバイスによれば、所定の個数の固定長パケットを取得した時点でIPパケットを作製することから、フラグメンテーション処理に要する時間が短縮される。また、前記したフラグメンテーション処理判断手段と、IPヘッダ処理手段と、IPパケット組立手段というハードウェアによりフラグメンテーション処理を行うため、フラグメンテーション処理の速度が早くなる。さらには、ハードウェアによりフラグメンテーション処理を行うため、構成する部品を交換するという容易な作業により、処理速度を早くすることが可能となり、保守性も向上する。
【0046】
また、本発明によるフラグメンテーション処理装置によれば、IPパケットの出力回線側にフラグメンテーション処理デバイスを設ければよく、入力回線側に設ける必要がなくなる。従って、入力回線側の処理を緩和することが可能となる。
【図面の簡単な説明】
【図1】本発明によるフラグメンテーション処理デバイスの内部構造を示すブロック図である。
【図2】本発明によるフラグメンテーション処理を説明するための図である。
【図3】本発明によるフラグメンテーション処理装置の内部構造を示すブロック図である。
【符号の説明】
10 フラグメンテーション処理デバイス
20 バッファ
30 IPヘッダ処理部
40 IPパケット組立部
50 メモリ
100....10X フラグメンテーション処理デバイス
200....20X バッファ
300....30X IPヘッダ処理部
400....40X IPパケット組立部
500 メモリ
600 固定長パケット分割デバイス
700 IPパケット統合デバイス

Claims (7)

  1. ペイロード部に分割されたIP( internet protocol)パケットが書き込まれた固定長パケットが、該IPパケットの先頭部分を含むものから最終部分を含むものまで順に入力されるフラグメンテーション処理デバイスであって、
    前記IPパケットのIPパケットヘッダを含む固定長パケットから該IPパケットヘッダに含まれているIPパケットのサイズに関する情報を取得し、該IPパケットのサイズとMTU( Maximum Transfer Unit)サイズとを比較し、該IPパケットのサイズが該MTUサイズよりも大きなサイズである場合、前記IPパケットはフラグメンテーション処理を施される必要があるものと判断するフラグメンテーション処理判断手段と、
    該フラグメンテーション処理判断手段により前記IPパケットがフラグメンテーション処理を施される必要があるものと判断された場合、前記IPパケットヘッダが含まれている固定長パケットからIPパケットヘッダを抽出し、該IPパケットヘッダからフラグメンテーション処理後のIPパケットヘッダを作製するIPヘッダ処理手段と、
    前記フラグメンテーション処理判断手段により前記IPパケットがフラグメンテーション処理を施される必要があるものと判断された場合、前記IPヘッダ処理手段により作製されたIPパケットヘッダの後ろに、前記フラグメンテーション処理デバイスに入力された順に前記固定長パケットに含まれたIPパケットのIPパケットペイロードを付加した前記MTUサイズよりも小さいサイズのIPパケットを複数作製し、該IPパケットを送出し、前記フラグメンテーション処理判断手段により前記IPパケットがフラグメンテーション処理を施される必要がないものと判断された場合、前記フラグメンテーション処理デバイスに入力された順に、前記固定長パケットからIPパケットを組み立て、該IPパケットをデバイス外へ送出するIPパケット組立手段と、を有し、
    更に、前記フラグメンテーション処理判断手段により前記IPパケットがフラグメンテーション処理を施す必要があるものと判断された場合、固定長パケットのペイロードのサイズ(固定長パケットペイロード長)と、前記MTUのサイズ(MTUサイズ)と、前記IPパケットヘッダに含まれているIPパケットのヘッダのサイズ(IPパケットヘッダ長)とから、
    Figure 0003557998
    によりNを算出し、該算出されたNの内一番大きな数字N ' を前記IPパケット組立手段へ通知する固定長パケット組立個数算出手段をさらに有し、
    前記IPパケット組立手段は、前記通知を受けた場合、前記IPパケットの先頭部分を含む固定長パケットからN ' 個ずつ固定長パケットに含まれたIPパケットペイロードを順に組み立て、該IPパケットペイロードの先頭に前記IPヘッダ処理手段により作製されたIPパケットヘッダを付加することでIPパケットを作製するものであり、前記IPパケットから作製された固定長パケットの数(固定長パケット数)が前記N ' で割り切ることができず、剰余が生じるものである場合、フラグメンテーション処理デバイスへ先に入力された固定長パケットから、前記IPパケットの最終部分を含む固定長パケットまでの固定長パケットについては、前記剰余の数をN ' とし、前記N ' 個の固定長パケットからIPパケットを作製し、該IPパケットをデバイス外へ送出するものであることを特徴とするフラグメンテーション処理デバイス。
  2. 前記IPパケット組立部は、前記N'個分の固定長パケットを取得した後、順次IPパケットを作製し、するものであることを特徴とする請求項1記載のフラグメンテーション処理デバイス。
  3. 前記固定長パケットはATMセルであることを特徴とする請求項1または2に記載のフラグメンテーション処理デバイス。
  4. 前記固定長パケットのヘッダ部は、IPパケットが入力された入力回線に関する情報、および固定長パケットの入力ポートに関する情報の内の少なくとも1つが含まれているものであり、
    前記IPパケット組立手段は、前記固定長パケットから組み立てたIPパケットを、前記IPパケットが書き込まれていた固定長パケットヘッダから入力回線に関する情報、および固定長パケット入力ポートに関する情報の内の少なくとも1つを取得し、該入力回線、およびは前記固定長パケットの入力ポートに対応した出力回線へ前記作製したIPパケットを出力するものであることを特徴とする請求項1から3のいずれか1項に記載のフラグメンテーション処理デバイス。
  5. 請求項1から4のいずれか1項に記載のフラグメンテーション処理デバイスを複数有するフラグメンテーション処理装置であって、
    各フラグメンテーション処理デバイスは、IPパケットが入力された入力回線と対応付けられ、該対応付けられた入力回線から入力されたIPパケットが分割され書き込まれた固定長パケットからIPパケットを作製するものであることを特徴とするフラグメンテーション処理装置。
  6. 前記フラグメンテーション処理装置は、固定長パケット分離デバイスをさらに有し、
    該固定長パケット分離デバイスは、IPパケットが入力された入力回線、および固定長パケットが入力された入力ポートごとに所定の前記フラグメンテーション処理デバイスへ固定長パケットを入力するものであることを特徴とする請求項5記載のフラグメンテーション処理装置。
  7. 前記フラグメンテーション処理装置は、IPパケット統合デバイスをさらに有し、
    前記IPパケット組立手段により組み立てられたIPパケットを、前記IPパケットが入力された入力回線、および固定長パケットの入力ポートに対応した出力回線へ出力するものであることを特徴とする請求項5または6に記載のフラグメンテーション処理装置。
JP2000134278A 2000-04-28 2000-04-28 フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置 Expired - Fee Related JP3557998B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000134278A JP3557998B2 (ja) 2000-04-28 2000-04-28 フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置
US09/842,646 US6934288B2 (en) 2000-04-28 2001-04-27 Fragmentation processing device and fragmentation processing apparatus using thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000134278A JP3557998B2 (ja) 2000-04-28 2000-04-28 フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置

Publications (2)

Publication Number Publication Date
JP2001313675A JP2001313675A (ja) 2001-11-09
JP3557998B2 true JP3557998B2 (ja) 2004-08-25

Family

ID=18642587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000134278A Expired - Fee Related JP3557998B2 (ja) 2000-04-28 2000-04-28 フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置

Country Status (2)

Country Link
US (1) US6934288B2 (ja)
JP (1) JP3557998B2 (ja)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275093B1 (en) * 2000-04-26 2007-09-25 3 Com Corporation Methods and device for managing message size transmitted over a network
US7353289B2 (en) 2000-11-06 2008-04-01 Telecommunication Systems, Inc. System for an open architecture development platform with centralized synchronization
US6982989B2 (en) * 2001-06-11 2006-01-03 Fujitsu Limited Transmission of data frames using low-overhead encapsulation and multiple virtual tributaries in a synchronous optical network
US7065086B2 (en) * 2001-08-16 2006-06-20 International Business Machines Corporation Method and system for efficient layer 3-layer 7 routing of internet protocol (“IP”) fragments
US7212530B1 (en) * 2002-03-22 2007-05-01 Juniper Networks, Inc. Optimized buffer loading for packet header processing
US7283528B1 (en) * 2002-03-22 2007-10-16 Raymond Marcelino Manese Lim On the fly header checksum processing using dedicated logic
US7542471B2 (en) * 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7616638B2 (en) * 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
KR100459539B1 (ko) * 2002-11-29 2004-12-03 한국전자통신연구원 외부네트워크 인터페이스에 대한 최대전송단위 조절기능을 가지는 라우터 및 그 방법
US7760729B2 (en) 2003-05-28 2010-07-20 Citrix Systems, Inc. Policy based network address translation
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7698453B2 (en) * 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
FR2862457B1 (fr) * 2003-11-13 2006-02-24 Arteris Systeme et procede de transmission d'une sequence de messages dans un reseau d'interconnexions.
JP2005204001A (ja) * 2004-01-15 2005-07-28 Hitachi Ltd データ配信サーバ、ソフトウェア、及びシステム
US7986694B2 (en) * 2004-02-03 2011-07-26 Realtek Semiconductor Corp. Method for fragmenting an incoming packet into a first outgoing packet and a second outgoing packet
US7616663B1 (en) * 2004-03-04 2009-11-10 Verizon Corporate Services Group, Inc. Method and apparatus for information dissemination
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
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
ATE535078T1 (de) 2004-07-23 2011-12-15 Citrix Systems Inc Verfahren und system zur sicherung von zugriff aus der ferne auf private netze
EP1771998B1 (en) 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
JP4574341B2 (ja) * 2004-11-30 2010-11-04 京セラ株式会社 パケット通信装置、パケット通信システムおよびパケット通信制御方法
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7849269B2 (en) 2005-01-24 2010-12-07 Citrix Systems, Inc. System and method for performing entity tag and cache control of a dynamically generated object not identified as cacheable in a network
JP4785551B2 (ja) * 2005-03-07 2011-10-05 キヤノン株式会社 通信装置及び通信方法並びにコンピュータにより実行可能なプログラム
US7924884B2 (en) * 2005-12-20 2011-04-12 Citrix Systems, Inc. Performance logging using relative differentials and skip recording
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8004973B2 (en) 2006-04-25 2011-08-23 Citrix Systems, Inc. Virtual inline configuration for a network device
JP2007329606A (ja) * 2006-06-07 2007-12-20 Hitachi Ltd 中継装置
JP2008028767A (ja) * 2006-07-21 2008-02-07 Sumitomo Electric Networks Inc ネットワークカードおよび情報処理装置
US8677007B2 (en) * 2006-08-03 2014-03-18 Citrix Systems, Inc. Systems and methods for bypassing an appliance
US7953889B2 (en) * 2006-08-03 2011-05-31 Citrix Systems, Inc. Systems and methods for routing VPN traffic around network disruption
US7907621B2 (en) * 2006-08-03 2011-03-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage ICMP traffic in a virtual private network environment
US7706266B2 (en) 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
EP2242220A1 (en) * 2008-01-10 2010-10-20 Sumitomo Electric Networks, Inc. Network card and information processor
JP5070125B2 (ja) * 2008-05-19 2012-11-07 キヤノン株式会社 受信装置及びその方法、通信システム及びその方法、並びに、プログラム
JP2009303036A (ja) * 2008-06-16 2009-12-24 Toshiba Corp パケット送受信装置
KR20100032111A (ko) * 2008-09-17 2010-03-25 삼성전자주식회사 네트워크 프로세서를 이용한 라우팅 시스템에서 ip 패킷의 플레그먼테이션 처리 장치 및 방법
KR101152956B1 (ko) * 2008-11-28 2012-06-08 한국전자통신연구원 중복 분할 패킷 검출에 따른 경로 최대전송단위 제어 시스템 및 그 방법
US8804752B2 (en) 2011-05-31 2014-08-12 Oracle International Corporation Method and system for temporary data unit storage on infiniband host channel adaptor
US8589610B2 (en) 2011-05-31 2013-11-19 Oracle International Corporation Method and system for receiving commands using a scoreboard on an infiniband host channel adaptor
US8484392B2 (en) 2011-05-31 2013-07-09 Oracle International Corporation Method and system for infiniband host channel adaptor quality of service
US8879579B2 (en) 2011-08-23 2014-11-04 Oracle International Corporation Method and system for requester virtual cut through
US9021123B2 (en) * 2011-08-23 2015-04-28 Oracle International Corporation Method and system for responder side cut through of received data
US8832216B2 (en) 2011-08-31 2014-09-09 Oracle International Corporation Method and system for conditional remote direct memory access write
US20130060960A1 (en) * 2011-09-01 2013-03-07 International Business Machines Corporation Optimizing software applications in a network
CN103179085B (zh) 2011-12-20 2017-04-12 华为技术有限公司 网际协议头置换映射关系的获取方法及网络节点
US10218756B2 (en) 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
JP4978757B1 (ja) 2012-01-24 2012-07-18 オムロン株式会社 データ設定装置
KR20140044970A (ko) * 2012-09-13 2014-04-16 한국전자통신연구원 접근 제어 목록을 이용한 공격 차단 제어 방법 및 그 장치
US8937949B2 (en) 2012-12-20 2015-01-20 Oracle International Corporation Method and system for Infiniband host channel adapter multicast packet replication mechanism
US9191452B2 (en) 2012-12-20 2015-11-17 Oracle International Corporation Method and system for an on-chip completion cache for optimized completion building
US9069485B2 (en) 2012-12-20 2015-06-30 Oracle International Corporation Doorbell backpressure avoidance mechanism on a host channel adapter
US9069633B2 (en) 2012-12-20 2015-06-30 Oracle America, Inc. Proxy queue pair for offloading
US9148352B2 (en) 2012-12-20 2015-09-29 Oracle International Corporation Method and system for dynamic repurposing of payload storage as a trace buffer
US9384072B2 (en) 2012-12-20 2016-07-05 Oracle International Corporation Distributed queue pair state on a host channel adapter
US9256555B2 (en) 2012-12-20 2016-02-09 Oracle International Corporation Method and system for queue descriptor cache management for a host channel adapter
US9336158B2 (en) 2013-02-26 2016-05-10 Oracle International Corporation Method and system for simplified address translation support for static infiniband host channel adaptor structures
US9069705B2 (en) 2013-02-26 2015-06-30 Oracle International Corporation CAM bit error recovery
US8850085B2 (en) 2013-02-26 2014-09-30 Oracle International Corporation Bandwidth aware request throttling
US10425371B2 (en) * 2013-03-15 2019-09-24 Trane International Inc. Method for fragmented messaging between network devices
CN104901920B (zh) * 2014-03-03 2018-06-01 联想(北京)有限公司 一种数据传输控制方法、装置及电子设备
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
TWI767997B (zh) 2017-03-23 2022-06-21 日商索尼半導體解決方案公司 通信裝置、通信方法、程式及通信系統
CN107070625A (zh) * 2017-03-24 2017-08-18 宇龙计算机通信科技(深圳)有限公司 一种传输块内的码块组的分配方法及装置
CN108989286B (zh) * 2018-06-08 2020-01-14 北京开广信息技术有限公司 通用数据流的封装方法、解封装方法及装置
EP3884630A1 (en) * 2018-11-20 2021-09-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for determining indication of maximum datagram size supported without fragmentation in an ip network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012265A1 (en) * 1993-10-26 1995-05-04 Northern Telecom Limited Digital telecommunication link for efficiently transporting mixed classes of packets
US5892761A (en) * 1995-10-31 1999-04-06 Netscape Communications Corporation Method and apparatus for routing data in collaborative computing system
JPH10190734A (ja) 1996-12-25 1998-07-21 Fuji Xerox Co Ltd パケット転送装置及びパケット転送方法
US6212190B1 (en) * 1997-06-23 2001-04-03 Sun Microsystems, Inc. Method and system for generating data packets on a heterogeneous network
EP0901261B1 (en) * 1997-09-05 2013-01-09 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
JPH11168492A (ja) 1997-12-03 1999-06-22 Hitachi Cable Ltd ルータの中継方法及びルータ装置
US6341129B1 (en) * 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
JP3269523B2 (ja) 1998-08-18 2002-03-25 日本電気株式会社 通信方法
JP3490000B2 (ja) 1998-09-28 2004-01-26 株式会社日立製作所 サーバ・システムおよびクライアント・サーバ間の通信方法
US6785239B1 (en) * 1999-06-01 2004-08-31 Cisco Technology, Inc. Reducing delays in a communication network using a re-fragmentation pipeline
US6711176B1 (en) * 1999-09-21 2004-03-23 Alcatel Canada Inc. Cell/frame ATM interworking
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
US6813279B1 (en) * 1999-12-29 2004-11-02 Intel Corporation Ethernet to ATM converter
US6731598B1 (en) * 2000-09-28 2004-05-04 Telefonaktiebolaget L M Ericsson (Publ) Virtual IP framework and interfacing method
US6781992B1 (en) * 2000-11-30 2004-08-24 Netrake Corporation Queue engine for reassembling and reordering data packets in a network

Also Published As

Publication number Publication date
US6934288B2 (en) 2005-08-23
JP2001313675A (ja) 2001-11-09
US20010036185A1 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
JP3557998B2 (ja) フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置
US7139271B1 (en) Using an embedded indication of egress application type to determine which type of egress processing to perform
US7286566B1 (en) Multi-service segmentation and reassembly device that maintains reduced number of segmentation contexts
US9807134B2 (en) Method and device for filtering media packets
US8665875B2 (en) Pipelined packet switching and queuing architecture
US7170893B2 (en) Technique for selecting the number of packets to be concatenated
EP1094641A2 (en) Method and apparatus for segmentation and reassembly of data packets in a communication switch
EP1495591B1 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
JP2005506738A (ja) Ipパケット処理に対するatmaal2/5のための性能の向上
US7295564B2 (en) Virtual output queue (VoQ) management method and apparatus
US7050461B2 (en) Packet buffer equipment
JP3768805B2 (ja) 移動体電気通信システムのためのデータパケット
US6252887B1 (en) Cell to frame conversion management
US7965723B2 (en) Method and apparatus for data traffic smoothing
US7372864B1 (en) Reassembly of data fragments in fixed size buffers
AU728588B2 (en) Packet routing in a telecommunications network
US8780898B2 (en) Processor for packet switching between cell streams with optional virtual channel and channel identification modification
JP3820054B2 (ja) パケット送信装置
US20010033571A1 (en) Switch using a segmented ring
US7492790B2 (en) Real-time reassembly of ATM data
JP3528693B2 (ja) Ipパケット転送方法及び装置及びipパケット転送プログラムを格納した記憶媒体
JP2004187100A (ja) セル伝送装置
EP2403194A1 (en) Method and apparatus for aggregated packet switching
JP2001257690A (ja) Atmセルの連続性判定方法及びatm伝送装置
JPH09307563A (ja) セル組立・分解装置およびセル組立装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120528

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120528

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140528

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees