説明

ネットワーク装置、TCPパケット受信装置及び方法

【課題】TCPパケットを受信する場合のCPUの処理負担を軽減することができるネットワーク装置を提供することを目的とする。
【解決手段】TCPパケットの受信処理を行う制御部1と、制御部1とは別に設けられ、TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信したTCPセグメントに含まれるヘッダを解析して、少なくともTCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部2と、を備え、制御部1は、TCPセグメント処理部2が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TCPパケットを受信するネットワーク装置、TCPパケット受信装置及びTCPパケット受信方法に関する。
【背景技術】
【0002】
近年、ホームゲートウェイ機器などのネットワーク装置は、ギガbpsの転送能力を有し、且つ、さまざまなアプリケーションを搭載するようになっている。
【0003】
関連する技術として、例えば、特許文献1には、複数のプロセッサが搭載されたコンピュータ等において、複数の上位プロセスが、相互に影響し合うことなく、データの送受信をすることを可能とするTOE(TCP Offload Engine)が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−260543号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ギガbpsの転送能力を有し、且つ、さまざまなアプリケーションを搭載するネットワーク装置(例えば、TCP終端装置)では、これらの機能を制御・処理しているCPUの負荷が増大している。
【0006】
その中でも、セグメント化されたTCP(Transmission Control Protocol)パケットの処理については、高い頻度でメモリにアクセスする必要があるなど、CPUにとって大きな負荷となる。
【0007】
具体例について、図7を用いて説明する。図7は、一般的なTCP終端装置の構成例を示すブロック図である。図7のTCP終端装置10は、セグメント化されたTCPパケットを受信すると、受信したTCPパケットをメモリ14の受信パケット用メモリ空間15に格納する。その後、CPU16は、格納したデータのLayer3(ネットワーク層),Layer4(トランスポート層)における処理を実行し、さらに上位のLayerに渡す。
【0008】
ここで、セグメントで分割されたパケットについて、CPU16は、パケット単位で処理をしなくてはならない。そのため、頻繁にメモリ14にアクセスしなければならず、1パケットずつ処理を行うことは、CPU16にとって非常に負担となっている。
【0009】
この問題を解決するために、処理能力の高いCPUに置き換えることでソフトウェアによる処理を高速に行うことが考えられる。
【0010】
しかし、高速な処理を実行可能なCPUが高価であり、また、CPUにあったソフトウェアを開発することは工数の観点でも非常に負担になることが考えられる。
【0011】
また、特許文献1に記載された方法では、複数の上位プロセスが、相互に影響し合うことを回避することができるものの、セグメント化されたパケットごとに処理を実行することによるCPUの負担を軽減することはできない。
【0012】
そこで、本発明は、TCPパケットを受信する場合のCPUの処理負担を軽減することができるネットワーク装置、TCPパケット受信装置及びTCPパケット受信方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明によるネットワーク装置は、TCPパケットの受信処理を行う制御部と、制御部とは別に設けられ、TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信したTCPセグメントに含まれるヘッダを解析して、少なくともTCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部と、を備え、制御部は、TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とする。
【0014】
本発明によるTCPパケット受信装置は、TCPパケットの受信処理を行う制御部と、制御部とは別に設けられ、TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信したTCPセグメントに含まれるヘッダを解析して、少なくともTCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部と、を備え、制御部は、TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とする。
【0015】
本発明によるTCPパケット受信方法は、TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、制御部とは別に設けられた処理部により受信したTCPセグメントに含まれるヘッダを解析して、少なくともTCPセグメントの順番を示す情報を含む解析結果を求め、求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とする。
【発明の効果】
【0016】
本発明によれば、TCPパケットを受信する場合のCPUの処理負担を軽減することができる。
【図面の簡単な説明】
【0017】
【図1】本発明によるTCPパケット受信方法を適用したTCP終端装置の構成例を示すブロック図である。
【図2】TCP終端装置の動作例を示す説明図である。
【図3】送信側および受信側の動作例を示すシーケンス図である。
【図4】TCP終端装置が実行する処理例を示す流れ図である。
【図5】ディスクリプタ格納情報の一例を示す説明図である。
【図6】ディスクリプタ格納情報の一例を示す説明図である。
【図7】一般的なTCP終端装置の構成例を示すブロック図である。
【図8】ネットワーク装置の最小の構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
実施形態1.
以下、本発明の第1の実施形態について図面を参照して説明する。図1は、本発明によるTCPパケット受信方法を適用したTCP終端装置の構成例を示すブロック図である。図1に示すように、TCP終端装置20は、LANやWAN等の通信ネットワークに接続されている。
【0019】
TCP終端装置20は、メモリ24と、CPU26と、TCPセグメント処理部27とを含む。また、メモリ24は、受信したTCPパケットを格納するための受信パケット用メモリ空間25と、TCPパケットの結合に用いるTCPセグメント用メモリ空間28とを有する。TCP終端装置20は、具体的には、ホームゲートウェイ装置等のネットワーク装置によって実現される。
【0020】
TCPセグメント処理部27は、具体的には、CPU26とは別に設けられたマイクロプロセッサなどの小規模ハードウェアによって実現される。TCPセグメント処理部27が実行する処理や備えている機能等については後述する。
【0021】
図2は、TCP終端装置の動作例を示す説明図である。図2に示す例は、LAN側から連続したデータを受信した際のオフロード処理について示している。本実施形態では、オフロード処理とは、1つのCPUのみを用いるのではなく、CPUとは別に設けられたプロセッサも用いて受信処理を行うことを意味する。
【0022】
図2に示すTCP終端装置20は、図1のTCP終端装置20と同一の構成要素を含む。図2に示す例では、TCP終端装置20がLAN側から3つのTCPセグメント(31,32,33)に分割された状態でパケットを受信した場合について説明する。このように、TCPパケットは、複数のセグメントに分割された状態で送受信される。以下、分割された各セグメントのことをTCPセグメントともいう。
【0023】
ここで、TCPセグメントには、ヘッダと呼ばれるRFC793で定められたフォーマットが存在する。本実施形態では、このヘッダに含まれるシーケンス番号を用いる。シーケンス番号には、送信側のデータの順番が含まれている。また、同一セッション中においては、シーケンス番号にデータのオクテット数を追加した値が次のシーケンス番号となる。
【0024】
また、実際には、TCP終端装置20がシーケンス番号の順にTCPセグメントを受信するとは限らない。例えば、TCPセグメントごとに受信経路が異なり、受信される順番が前後することがある。
【0025】
本実施形態では、TCPセグメント31,32,33は、シーケンス番号が100番,200番,300番と連続しているものとする。また、TCP終端装置20は、TCPセグメント31,33,32の順に受信するものとする。
【0026】
また、本実施形態では、受信側(TCP終端装置20)のウインドウサイズ(受信バッファ)が十分に(上記のTCPセグメント31等よりも)大きいと仮定する。図3にウインドウサイズが大きい場合の送信側および受信側の動作例を示す。
【0027】
図3に示すように、ウインドウサイズが十分に大きいと、受信側(TCP終端装置20)は、送信側が送信したTCPセグメントごとにACK(ACKnowledgement)を返信する必要がなく、複数のTCPセグメントを受信してからACKを送信側に返信することが出来る。本実施形態では、TCPセグメント31、32、33を合わせたデータサイズよりウインドウサイズが十分に大きいもとのとする。
【0028】
図2に示すメモリ24は、TCPパケットを格納できるようにTCP終端装置20に搭載されている。また、CPU26は、メモリ24にアクセス可能である。
【0029】
TCPセグメント処理部27は、CPU26と、メモリ24と接続されている。TCPセグメント処理部27は、受信したTCPパケットを解析し、解析情報を格納するため、メモリ24のTCPセグメント用メモリ空間28にアクセス可能である。また、TCPセグメント処理部27は、TCPパケットを格納するアドレス情報を取得するため、メモリ24の受信パケット用メモリ空間25にアクセス可能である。
【0030】
TCPセグメント処理部27は、タイマ機能を有し、最初に受信したTCPパケットの処理の開始に合わせて(すなわち、最初のTCPセグメントを受信したタイミングで)タイマを起動する。
【0031】
次に、TCP終端装置の動作について説明する。図4は、TCP終端装置が実行する処理例を示す流れ図である。
【0032】
図2に示す例のように、LAN側からセグメント化されたTCPパケットの受信を開始すると(ステップS1)、TCPセグメント処理部27は、タイマを起動して最初のTCPセグメントを受信してからの経過時間の計測を開始する(ステップS2)。
【0033】
次いで、TCPセグメント処理部27は、TCPセグメント31のヘッダ情報に含まれるシーケンス番号を確認する(ステップS3)。
【0034】
次いで、TCPセグメント処理部27は、TCPセグメント31の次のTCPセグメントのシーケンス番号を算出する(ステップS4)。
【0035】
具体的には、TCPセグメント処理部27は、受信したTCPパケット内のRFC791で規格化されているIPヘッダの情報に基づいて、TCPパケットのサイズを特定することができる。そのため、TCPセグメント処理部27は、TCPのデータ長を特定でき、次のシーケンス番号を算出することが出来る。
【0036】
本実施形態では、TCPセグメント31のシーケンス番号が100であることと、データ長とに基づいて、TCPセグメント処理部27は、次のシーケンス番号を200と算出する。
【0037】
次いで、TCPセグメント処理部27は、TCPセグメント31を、受信パケット用メモリ空間25に格納する(ステップS5)。本実施形態では、TCPセグメント処理部27は、受信パケット用メモリ空間25のアドレス1000番地にTCPセグメント31を格納する。
【0038】
このとき、TCPセグメント処理部27は、TCPセグメント31を格納したアドレス情報を特定し、ヘッダ情報で確認したシーケンス番号および算出した次のシーケンス番号とともに一時的に保持する(ステップS6)。例えば、TCPセグメント処理部27は、一時記憶バッファを備えており、算出したこれらの情報を一時記憶バッファに記憶する。以下、TCPセグメント処理部27が一時的に保持するこれらの情報をTCPセグメント情報ともいう。
【0039】
次いで、TCPセグメント処理部27は、タイマ機能を用いて、タイマ開始時から所定期間を経過したか否かを判断する(ステップS7)。経過していないと判断した場合には(ステップS7のN)、TCPセグメント処理部27は、処理をステップS3に移行し、次のパケットについてステップS3以降の処理を実行する。
【0040】
ここでは、ステップS7において所定期間を経過していないと判断するものとし、TCPセグメント処理部27は、TCP終端装置20がTCPセグメント31に続いて受信したTCPセグメント33について、ステップS3からS6の処理を実行する。なお、TCPセグメント処理部27は、TCPセグメント33を受信パケット用メモリ空間25の2000番に格納し、そのアドレス情報等を含むTCPセグメント情報を保持しているものとする。
【0041】
また、TCPセグメント処理部27は、TCP終端装置20がTCPセグメント33に続いて受信したTCPセグメント32についても同様に、ステップS3からS6の処理を実行する。なお、TCPセグメント処理部27は、TCPセグメント33を受信パケット用メモリ空間25の3000番に格納し、そのアドレス情報等を含むTCPセグメント情報を保持しているものとする。
【0042】
ここで、タイマ開始時から所定時間が経過したと判断すると(ステップS7のY)、TCPセグメント処理部27は、これまでに一時的に保持しているTCPセグメント情報に基づいて、TCPセグメント用メモリ空間28にディスクリプタの情報を書き込む(ステップS8)。このように、本実施形態では、タイマ機能を用いて、所定期間内に受信したセグメント化されたデータ毎に以降の処理を実行する。そのため、継続してデータを受信できない場合に処理が止まってしまうことを防ぐことができる。
【0043】
TCPセグメント用メモリ空間28に書き込む形式を図5に示す。図5は、ディスクリプタ格納情報の一例を示す説明図である。
【0044】
最初に、TCPセグメント処理部27は、一時的に保持しているTCPセグメント情報から、パケット数(セグメント数)と、最初のシーケンス番号(すなわち、最小のシーケンス番号)とを特定する。
【0045】
次いで、TCPセグメント処理部27は、最初の情報として、ディスクリプタの情報として書き込むTCPパケットの最初のシーケンス番号とTCPパケットの数とを格納させる。本実施形態では、TCPセグメント処理部27は、最初のシーケンス番号を100とし、パケット数を3としたディスクリプタの情報をTCPセグメント用メモリ空間28に格納させる。
【0046】
次いで、TCPセグメント処理部27は、次の情報として、最初のシーケンス番号、最初のシーケンス番号と次に伝えるシーケンス番号とが連続しているか否かを示す情報およびTCPセグメントを格納したメモリ空間の格納アドレスを格納させる。
【0047】
具体的には、TCPセグメント処理部27は、TCPセグメント情報に含まれるシーケンス番号のうち、最初のシーケンス番号の次に小さいシーケンス番号を、次に伝えるシーケンス番号として特定する。
【0048】
また、シーケンス番号が連続しているか否かについては、例えば、TCPセグメント処理部27は、前後のシーケンス番号と、前のパケットのデータ長とに基づいて判断する。
【0049】
本実施形態では、TCPセグメント処理部27は、最初のシーケンス番号が100であり、次のシーケンス番号が200であることと、TCPセグメント31のデータ長とから、連続していると判断する。そして、TCPセグメント処理部27は、連続しているか否かを示す情報として、連続を示す”1“をTCPセグメント用メモリ空間28に格納させる。
【0050】
また、TCPセグメント処理部27は、シーケンス番号が100のTCPパケット31の格納アドレスを1000としてTCPセグメント用メモリ空間28に格納させる。
【0051】
次いで、TCPセグメント処理部27は、シーケンス番号順にTCPセグメント情報の並び替えを行い、次の情報として、シーケンス番号が200のTCPセグメント情報をTCPセグメント用メモリ空間28に格納させる。
【0052】
ここでは、TCPセグメント処理部27は、次のシーケンス番号が300であることと、TCPセグメント32のデータ長とから、連続していると判断し、連続しているか否かを示す情報として、連続を示す”1“をTCPセグメント用メモリ空間28に格納させる。また、TCPセグメント処理部27は、シーケンス番号が200のTCPセグメント33の格納アドレスを3000としてTCPセグメント用メモリ空間28に格納させる。
【0053】
なお、TCPセグメント情報の並び替えについては、パケット数(セグメント数)と、最初(最小)のシーケンス番号とを特定する際に実行してもよい。
【0054】
最後に、TCPセグメント処理部27は、シーケンス番号300について、その次にはデータが続かないため連続しないと判断し、連続しているか否かを示す情報として非連続を示す”0“と、格納アドレス2000とを合わせてTCPセグメント用メモリ空間28に格納させる。
【0055】
以上のTCPセグメント処理部27が実行する処理によって、メモリ24は、TCPセグメント用メモリ空間28にディスクリプタの情報を格納する。
【0056】
その後、CPU26は、ディスクリプタの情報に基づいて、TCPセグメント31,32,33を結合した1パケットと判断し、1パケット分のLayer3,Layer4におけるソフトウェア処理を実行する(ステップS9)。
【0057】
具体的には、CPU26は、ディスクリプタの情報に基づいて、受信パケット用メモリ空間25からTCPセグメントを抽出し、抽出したTCPセグメントを連結して1つのパケットとする。すなわち、CPU26は、分割された状態のTCPセグメントを連結した1つの連結パケットを生成する。
【0058】
その後、CPU26は、結合した1つの連結パケット分のLayer3,Layer4におけるソフトウェア処理を実行する。すなわち、セグメントごとのソフトウェア処理を複数回実行する必要がなくなり、連結したパケットについて、1回のみソフトウェア処理を実行すればよい。
【0059】
以上のように、本実施形態では、TCPセグメント処理部27は、セグメント化されたTCPパケットを受信した際に、TCPセグメントのヘッダを解析し、連結した情報としてTCPセグメント用メモリ空間に格納する。そして、CPU26は、格納した情報に基づいて、Layer3及びLayer4の処理を1パケット分行う。そのため、セグメント化されたパケットごとにメモリにアクセスする必要がなくなり、CPUの負荷を軽減することが出来る。
【0060】
また、本実施形態では、TCPセグメント処理部27は、タイマ機能を用いて、任意の時間単位でセグメント化された情報をCPUに伝える。そのため、継続してデータを受信できない場合に処理が止まってしまうことを防ぐことができる。
【0061】
実施形態2.
本発明の第2の実施形態として、TCPセグメント処理部のタイマ機能によって定める所定期間内に連続したデータを受信していない場合の処理について説明する。
【0062】
本実施形態におけるTCP終端装置は、図2に示す第1の実施形態のTCP終端装置20と同一の構成要素を含む。ただし、本実施形態では、TCPセグメント31、32、33のシーケンス番号が100、200、500であり、TCPセグメント33が連続していないものとする。
【0063】
本実施形態では、ステップS8において、TCPセグメント処理部27は、TCPセグメント用メモリ空間28に、図6に示すようなディスクリプタの情報を格納する。
【0064】
具体的には、シーケンス番号200を含む情報において、次のシーケンス番号500と連続でないと判断し、連続しているか否かを示す情報として、非連続を示す“0”を設定している。
【0065】
ステップS9では、このディスクリプタの情報に基づいて、CPU26は、連続性を判断し、連続部分であるシーケンス番号100,200を連続として1パケット分の処理を実行し、シーケンス番号500については別に処理を実行する。すなわち、CPU26は、Layer3及びLayer4におけるソフトウェア処理を別に実行する。
【0066】
以上のように、本実施形態では、CPU26は、ディスクリプタの情報に基づいて連続性を判断し、連続している部分について1パケット分の処理を実行する。そのため、連続するパケットを所定期間内に受信していない場合や、パケットが欠落している場合等にも対応することができる。
【0067】
以上のことから、本発明は、以下のような特徴を備えているといえる。
【0068】
本発明は、ネットワークプロトコルとして多く使われているTCPパケットの終端装置において、TCPセグメントの受信処理をおこなう場合に、CPUへの処理負荷を軽減することが出来る。
【0069】
図1に一般的なTCP終端装置の構成を示し、図2に本発明によるTCP終端装置の構成を示す。図1に示す一般的なTCP終端装置10では、メモリ14とCPU16とを含み、WAN又はLANを介して受信したTCPパケットを、一旦メモリ14内の受信パケット用メモリ空間15に保存し、CPU16がLayer3、Layer4の処理を行う。
【0070】
これに対して、図2に示す本発明によるTCP終端装置20は、図1に示すTCP終端装置10の構成要素に加え、TCPセグメント処理部27を含む。また、TCP終端装置20が搭載するメモリ24は、TCPセグメントの結合に用いるTCPセグメント用メモリ空間28を有する。
【0071】
TCP終端装置20では、受信したTCPセグメントを受信パケット用メモリ空間25に格納する際に、TCPセグメント処理部27は、TCPセグメントに含まれる情報を解析し、TCPの順番などの情報をTCPセグメント用メモリ空間28のディスクリプタに書き込む。
【0072】
そして、書き込んだ情報はセグメントを結合した形でCPUに伝えられる。そのため、CPUのソフトウェア処理としては1パケット分のLayer3、Layer4の処理を実行するだけとなる。
【0073】
次に、本発明によるネットワーク装置の最小構成について説明する。図8は、ネットワーク装置の最小の構成例を示すブロック図である。図8に示すように、ネットワーク装置は、最小の構成要素として、TCPパケットの受信処理を行う制御部1と、制御部1とは別に設けられたTCPセグメント処理部2とを備えている。
【0074】
図8に示す最小構成のネットワーク装置では、TCPセグメント処理部2は、TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信したTCPセグメントに含まれるヘッダを解析して、少なくともTCPセグメントの順番を示す情報を含む解析結果を求める。次いで、制御部1は、TCPセグメント処理部2が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行う。
【0075】
従って、最小構成のネットワーク装置によれば、TCPセグメントを連結して1パケットとすることで、セグメント化されたTCPパケットごとにメモリにアクセスする必要がなくなり、CPUの負荷を軽減することが出来る。
【0076】
なお、本実施形態では、以下の(1)〜(5)に示すようなネットワーク装置の特徴的構成が示されている。
【0077】
(1)ネットワーク装置は、TCPパケットの受信処理を行う制御部(例えば、CPU26によって実現される)と、制御部とは別に設けられ、TCPパケットが所定のセグメント単位で分割されたTCPセグメント(例えば、TCPセグメント31など)を受信すると、受信したTCPセグメントに含まれるヘッダを解析して、少なくともTCPセグメントの順番を示す情報(例えば、シーケンス番号)を含む解析結果を求めるTCPセグメント処理部(例えば、TCPセグメント処理部2によって実現される)と、を備え、制御部は、TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とする。
【0078】
(2)ネットワーク装置において、TCPセグメント処理部は、求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部(例えば、TCPセグメント用メモリ空間28)に書き込み、制御部は、TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成するように構成されていてもよい。
【0079】
(3)ネットワーク装置において、TCPセグメント処理部は、TCPセグメントの順番を示す情報に基づいて、TCPセグメント情報を記憶部に書き込むように構成されていてもよい。
【0080】
(4)ネットワーク装置において、TCPセグメント処理部は、所定期間内ごとにTCPセグメント情報を記憶部に書き込むように構成されていてもよい。
【0081】
(5)ネットワーク装置において、TCPセグメント処理部は、受信したTCPセグメントが連続しているか否かを判定し、制御部は、前記TCPセグメント処理部の判定結果(例えば、ディスクリプタの連続性を示す情報)に基づいて、連続しているTCPセグメントを連結して連結パケットを生成するように構成されていてもよい。
【0082】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0083】
(付記1)TCPパケットの受信処理を行う制御部と、前記制御部とは別に設けられ、前記TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信した前記TCPセグメントに含まれるヘッダを解析して、少なくとも前記TCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部と、を備え、前記制御部は、前記TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とするネットワーク装置。
【0084】
(付記2)TCPセグメント処理部は、求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部に書き込み、制御部は、前記TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成する請求項1記載のネットワーク装置。
【0085】
(付記3)TCPセグメント処理部は、TCPセグメントの順番を示す情報に基づいて、TCPセグメント情報を記憶部に書き込む請求項2記載のネットワーク装置。
【0086】
(付記4)TCPセグメント処理部は、所定期間内ごとにTCPセグメント情報を記憶部に書き込む請求項2又は請求項3記載のネットワーク装置。
【0087】
(付記5)TCPセグメント処理部は、受信したTCPセグメントが連続しているか否かを判定し、制御部は、前記TCPセグメント処理部の判定結果に基づいて、連続しているTCPセグメントを連結して連結パケットを生成する請求項1から請求項4のうちのいずれか1項に記載のネットワーク装置。
【0088】
(付記6)TCPパケットの受信処理を行う制御部と、前記制御部とは別に設けられ、前記TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信した前記TCPセグメントに含まれるヘッダを解析して、少なくとも前記TCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部と、を備え、前記制御部は、前記TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とするTCPパケット受信装置。
【0089】
(付記7)TCPセグメント処理部は、求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部に書き込み、制御部は、前記TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成する請求項6記載のTCPパケット受信装置。
【0090】
(付記8)TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、制御部とは別に設けられた処理部により受信した前記TCPセグメントに含まれるヘッダを解析して、少なくとも前記TCPセグメントの順番を示す情報を含む解析結果を求め、求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行うことを特徴とするTCPパケット受信方法。
【0091】
(付記9)求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部に書き込み、前記TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成する請求項8記載のTCPパケット受信方法。
【産業上の利用可能性】
【0092】
本発明は、ホームゲートウェイ装置などのTCPパケットを終端するネットワーク装置に適用可能である。
【符号の説明】
【0093】
1 制御部
2 TCPセグメント処理部
10,20 TCP終端装置
14,24 メモリ
15,25 受信パケット用メモリ空間
16,26 CPU
27 TCPセグメント処理部
28 TCPセグメント用メモリ空間

【特許請求の範囲】
【請求項1】
TCPパケットの受信処理を行う制御部と、
前記制御部とは別に設けられ、前記TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信した前記TCPセグメントに含まれるヘッダを解析して、少なくとも前記TCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部と、を備え、
前記制御部は、前記TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行う
ことを特徴とするネットワーク装置。
【請求項2】
TCPセグメント処理部は、求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部に書き込み、
制御部は、前記TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成する
請求項1記載のネットワーク装置。
【請求項3】
TCPセグメント処理部は、TCPセグメントの順番を示す情報に基づいて、TCPセグメント情報を記憶部に書き込む
請求項2記載のネットワーク装置。
【請求項4】
TCPセグメント処理部は、所定期間内ごとにTCPセグメント情報を記憶部に書き込む
請求項2又は請求項3記載のネットワーク装置。
【請求項5】
TCPセグメント処理部は、受信したTCPセグメントが連続しているか否かを判定し、
制御部は、前記TCPセグメント処理部の判定結果に基づいて、連続しているTCPセグメントを連結して連結パケットを生成する
請求項1から請求項4のうちのいずれか1項に記載のネットワーク装置。
【請求項6】
TCPパケットの受信処理を行う制御部と、
前記制御部とは別に設けられ、前記TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、受信した前記TCPセグメントに含まれるヘッダを解析して、少なくとも前記TCPセグメントの順番を示す情報を含む解析結果を求めるTCPセグメント処理部と、を備え、
前記制御部は、前記TCPセグメント処理部が求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行う
ことを特徴とするTCPパケット受信装置。
【請求項7】
TCPセグメント処理部は、求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部に書き込み、
制御部は、前記TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成する
請求項6記載のTCPパケット受信装置。
【請求項8】
TCPパケットが所定のセグメント単位で分割されたTCPセグメントを受信すると、制御部とは別に設けられた処理部により受信した前記TCPセグメントに含まれるヘッダを解析して、少なくとも前記TCPセグメントの順番を示す情報を含む解析結果を求め、
求めた解析結果に基づいて、TCPセグメントを連結した連結パケットの受信処理を行う
ことを特徴とするTCPパケット受信方法。
【請求項9】
求めた解析結果と、TCPセグメントを格納した場所を示す格納アドレスとを含むTCPセグメント情報を、記憶部に書き込み、
前記TCPセグメント情報に基づいて、TCPセグメントを連結して連結パケットを生成する
請求項8記載のTCPパケット受信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−249922(P2011−249922A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−118449(P2010−118449)
【出願日】平成22年5月24日(2010.5.24)
【出願人】(000197366)NECアクセステクニカ株式会社 (1,236)
【Fターム(参考)】