JP3017217B1 - IPv4-IPv6 conversion device - Google Patents

IPv4-IPv6 conversion device

Info

Publication number
JP3017217B1
JP3017217B1 JP5479499A JP5479499A JP3017217B1 JP 3017217 B1 JP3017217 B1 JP 3017217B1 JP 5479499 A JP5479499 A JP 5479499A JP 5479499 A JP5479499 A JP 5479499A JP 3017217 B1 JP3017217 B1 JP 3017217B1
Authority
JP
Japan
Prior art keywords
packet
header
fragment
ipv4
ipv6
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
JP5479499A
Other languages
Japanese (ja)
Other versions
JP2000253064A (en
Inventor
泰行 松村
Original Assignee
中国日本電気ソフトウェア株式会社
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 中国日本電気ソフトウェア株式会社 filed Critical 中国日本電気ソフトウェア株式会社
Priority to JP5479499A priority Critical patent/JP3017217B1/en
Application granted granted Critical
Publication of JP3017217B1 publication Critical patent/JP3017217B1/en
Publication of JP2000253064A publication Critical patent/JP2000253064A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

【要約】 【課題】 一つの断片パケットと各断片パケットのチェ
ックサム値の合計の保存のみとすることで、IPv4−
IPv6変換時において必要とする記憶領域を少なく抑
える。 【解決手段】 ヘッダ変換手段21でヘッダ変換された
断片パケットの上位層プロトコルヘッダ中のチエックサ
ムを計算して、その結果を既に保存されている値に加算
してチェックサム値保存部32に保存させるチェックサ
ム再計算手段22を設け、送信/保存制御手段23に、
全ての前記断片パケットが到着したとき、前記チェック
サム値保存部32内のチェックサム値を、断片パケット
保存部内の断片パケットの上位層プロトコルチェックサ
ムに代入した後、その断片パケットを送信させる。
Abstract: An IPv4-only storage of the sum of checksum values of one fragment packet and each fragment packet is provided.
The storage area required for IPv6 conversion is reduced. SOLUTION: A checksum in an upper layer protocol header of a fragment packet subjected to header conversion by a header conversion unit 21 is calculated, the result is added to a value already stored, and a checksum value storage unit 32 stores the result. Check sum recalculation means 22 is provided, and transmission / save control means 23
When all the fragment packets have arrived, the checksum value in the checksum value storage unit 32 is substituted for the upper layer protocol checksum of the fragment packets in the fragment packet storage unit, and the fragment packets are transmitted.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、インターネット
プロトコル(以下、IPという)パケットのIPヘッダ
をインターネットプロトコルバージョン4(以下、IP
v4という)およびインターネットプロトコルバージョ
ン6(以下、IPv6という)の一方から他方に変換す
ることにより、IPv4ネットワーク上のノードとIP
v6ネットワーク上のノードとの間で通信を行えるよう
にするIPv4−IPv6変換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an Internet Protocol (hereinafter referred to as "IP") packet having an Internet Protocol version 4 (hereinafter referred to as IP).
v4) and Internet Protocol version 6 (hereinafter IPv6) from one to the other, so that nodes on an IPv4 network can
The present invention relates to an IPv4-IPv6 translator that enables communication with a node on a v6 network.

【0002】[0002]

【従来の技術】伝送制御プロトコル/インターネットプ
ロトコル(以下、TCP/IPという)通信技術の中
で、もっとも基本的なプロトコルであるIPは、信頼性
のないコネクションレスなデータグラム転送サービスを
提供する。また、現在普及しているIPはIPv4であ
り、このIPでは、ネットワーク上のノードを識別する
ためにIPアドレスを使用する。このIPアドレスは、
ノード間でやりとりされるIPパケットのヘッダ(IP
ヘッダ)中に、送信者を識別するための「送信元アドレ
ス」、受信者を識別するための「宛先アドレス」として
保持される。なお、IPv4においてはIPアドレスは
32ビット長である。
2. Description of the Related Art Among transmission control protocol / internet protocol (hereinafter referred to as TCP / IP) communication technologies, IP, which is the most basic protocol, provides an unreliable connectionless datagram transfer service. The currently widespread IP is IPv4, and this IP uses an IP address to identify a node on a network. This IP address is
Header of IP packet exchanged between nodes (IP
In the header, the “source address” for identifying the sender and the “destination address” for identifying the recipient are stored. Incidentally, in IPv4, the IP address is 32 bits long.

【0003】一方、インターネットの普及によって、ネ
ットワークに接続するノード数が急激に増加し、IPア
ドレスの不足を招いている。これは、一般的にIPアド
レス枯渇問題と呼ばれる。この枯渇問題を解決するため
に、新しいバージョンのIPであるIPv6が提案され
ている。このIPv6では、IPアドレスが128ビッ
ト長に拡張されるため、ネットワークに接続できるノー
ド数を飛躍的に増加させることができる。しかしなが
ら、IPv4とIPv6の間には互換性がないため、I
Pv4ネットワーク上のノードとIPv6ネットワーク
上のノードとがIPで直接通信することはできない。ま
た、IPv4からIPv6への移行にはまだ時間がかか
ることから、今後は両方のノードが混在するネットワー
ク環境での通信をサポートすることが重要な課題となっ
ている。
[0003] On the other hand, with the spread of the Internet, the number of nodes connected to the network has increased rapidly, leading to a shortage of IP addresses. This is generally called an IP address exhaustion problem. To solve this depletion problem, a new version of IP, IPv6, has been proposed. In IPv6, since the IP address is extended to a 128-bit length, the number of nodes that can be connected to the network can be dramatically increased. However, since there is no compatibility between IPv4 and IPv6, I
Nodes on the Pv4 network and nodes on the IPv6 network cannot communicate directly with IP. In addition, since transition from IPv4 to IPv6 still takes time, supporting communication in a network environment in which both nodes coexist has become an important issue in the future.

【0004】一方、このようなネットワーク環境におい
て、IPv4ネットワーク上のノードとIPv6ネット
ワーク上のノードがIPv4−IPv6変換装置を介し
て通信する方式が、特開平10−154994号公報,
特開平10−136052号公報,特開平10−230
72号公報に提案されている。また、IETF(Int
ernet Engineering Task Fo
rse)から出されているInternet−Draf
tsの「Network Address Trans
lation−Protocol Translati
on(NAT−PT)」では、アドレス変換とプロトコ
ル変換に関する基礎的な方式が提案されている。これら
の方式では、IPv4−IPv6変換装置がIPパケッ
トを中継する際に、IPヘッダをIPv4形式からIP
v6形式に、あるいはIPv6形式からIPv4形式に
変換することにより、IPv4ノードとIPv6ノード
との通信を可能にしている。
On the other hand, in such a network environment, a method in which a node on an IPv4 network and a node on an IPv6 network communicate via an IPv4-IPv6 conversion device is disclosed in Japanese Patent Application Laid-Open No. H10-154994,
JP-A-10-136052, JP-A-10-230
No. 72 is proposed. IETF (Int
ernet Engineering Task Fo
rse) Internet-Draf
ts “Network Address Trans
lation-Protocol Translati
“on (NAT-PT)”, a basic method for address translation and protocol translation has been proposed. In these systems, when the IPv4-IPv6 translator relays an IP packet, it converts the IP header from the IPv4 format to the IP address.
By converting the format from the IPv6 format to the IPv6 format or from the IPv6 format to the IPv4 format, communication between the IPv4 node and the IPv6 node is enabled.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、かかる
従来のIPv4−IPv6変換装置にあっては、IPヘ
ッダをIPv4およびIPv6間で変換する際に、伝送
制御プロトコル(TCP),ユーザデータグラムプロト
コル(UDP),インターネットコントロールメッセー
ジプロトコル(ICMP)といった上位層プロトコルヘ
ッダ中のチェックサム値を再計算して、書換える必要が
ある。もし、IPv4パケットあるいはIPv6パケッ
トが複数の断片としてIPv4−IPv6変換装置に入
力された場合には、一度この変換装置内でパケットを組
み立てて、オリジナルパケットを作成してから、上位層
プロトコルヘッダのチェックサムの更新を行わなければ
ならず、また、IPv4−IPv6変換装置は、全ての
断片パケットが到着するまで、それらを保持する必要が
あり、通信量の増加によって記憶領域が大量に必要にな
るという課題があった。
However, in such a conventional IPv4-IPv6 conversion apparatus, when converting an IP header between IPv4 and IPv6, a transmission control protocol (TCP) and a user datagram protocol (UDP) are used. ), A checksum value in an upper layer protocol header such as Internet Control Message Protocol (ICMP) must be recalculated and rewritten. If an IPv4 packet or an IPv6 packet is input to the IPv4-IPv6 translator as a plurality of fragments, the packet is once assembled in the translator, an original packet is created, and the upper layer protocol header is checked. It is necessary to update the sum, and the IPv4-IPv6 translation device needs to hold the fragment packets until all the fragment packets arrive, and a large storage area is required due to an increase in the amount of communication. There were challenges.

【0006】この発明は、前記課題を解決するものであ
り、断片化されたIPパケットの上位層プロトコルヘッ
ダ中のチェックサムを計算し、このとき断片化されたパ
ケットを再編成することなく処理することで必要とする
記憶領域を少なく抑えることができるIPv4−IPv
6変換装置を得ることを目的とする。
SUMMARY OF THE INVENTION The present invention solves the above-mentioned problem, and calculates a checksum in an upper layer protocol header of a fragmented IP packet and processes the fragmented packet without reorganizing it. -IPv4 that can reduce the required storage area
6 It is intended to obtain a conversion device.

【0007】[0007]

【課題を解決するための手段】前記目的達成のために、
請求項1の発明にかかるIPv4−IPv6変換装置
は、受信したオリジナルのIPパケットのIPヘッダ以
外の部分が分割して断片化され、これらに前記オリジナ
ルのIPパケットからコピーしたIPヘッダが付けられ
た複数の断片パケットを、IPv4形式のヘッダおよび
IPv6形式のヘッダの一方から他方に変換するヘッダ
変換手段と、該ヘッダ変換手段でヘッダ変換された断片
パケットの上位層プロトコルヘッダ中のチェックサムを
計算して、その結果を既に保存されている値に加算して
チェックサム値保存部に保存させるチェックサム再計算
手段とを有し、送信/保存制御手段に、前記断片パケッ
ト中に上位層プロトコルヘッダが含まれている場合には
この断片パケットを断片パケット保存部に保存させると
ともに、全ての前記断片パケットが到着したとき、前記
チェックサム値保存部内のチェックサム値を、前記断片
パケット保存部内の断片パケットの上位層プロトコルチ
ェックサムに代入した後、その断片パケットを送信させ
るようにしたものである。
To achieve the above object,
In the IPv4-IPv6 translating apparatus according to the first aspect of the present invention, a portion other than the IP header of the received original IP packet is divided and fragmented, and an IP header copied from the original IP packet is added to these portions. Header converting means for converting a plurality of fragmented packets from one of an IPv4 format header and an IPv6 format header to the other, and calculating a checksum in an upper layer protocol header of the fragmented packet which has been header-converted by the header converting means; Checksum recalculating means for adding the result to a value already stored and storing the result in a checksum value storage unit. The transmission / storage control means includes an upper layer protocol header in the fragment packet. If it is included, this fragment packet is stored in the fragment packet storage unit, When a single packet arrives, the checksum value in the checksum value storage unit is substituted into the upper layer protocol checksum of the fragment packet in the fragment packet storage unit, and then the fragment packet is transmitted. .

【0008】また、請求項2の発明にかかるIPv4−
IPv6変換装置は、前記断片パケットの到着状況を参
照可能にするために、前記ヘッダ変換手段から得られた
断片パケットの断片化前のオリジナルIPパケット上で
の先頭からの位置と長さを保持する断片位置記録部を設
けたものである。
[0008] Further, according to the second aspect of the present invention, IPv4-
The IPv6 translator holds the position and length from the beginning on the original IP packet before fragmentation of the fragment packet obtained from the header translator, so that the arrival status of the fragment packet can be referred to. A fragment position recording unit is provided.

【0009】また、請求項3の発明にかかるIPv4−
IPv6変換装置は、前記上位層プロトコルを伝送制御
プロトコルとしたものである。
[0009] Further, the IPv4 according to the third aspect of the present invention.
The IPv6 translator uses the upper layer protocol as a transmission control protocol.

【0010】また、請求項4の発明にかかるIPv4−
IPv6変換装置は、前記断片パケットの受信前に、受
信済みの断片パケットの位置を記録するための変数およ
び前記各断片パケットのチェックサム値の加算結果を保
持するための変数を初期化して、それぞれ前記断片位置
記録部およびチェックサム値保存部に保存するようにし
たものである。
[0010] Further, according to the fourth aspect of the present invention, IPv4-
Prior to receiving the fragment packet, the IPv6 translator initializes a variable for recording the position of the received fragment packet and a variable for holding an addition result of the checksum value of each fragment packet, The data is stored in the fragment position recording unit and the checksum value storage unit.

【0011】また、請求項5の発明にかかるIPv4−
IPv6変換装置は、アドレス変換手段を設け、これに
より受信したオリジナルのIPパケットの前記IPヘッ
ダ以外の部分が分割して断片化され、これらに前記オリ
ジナルのIPパケットからコピーしたIPヘッダが付け
られた複数の断片パケットを、IPv4形式のアドレス
およびIPv6の形式のアドレスの一方から他方に変換
させるようにしたものである。
[0011] Further, according to the fifth aspect of the present invention, the IPv4-
The IPv6 translator is provided with an address translator, whereby a portion of the received original IP packet other than the IP header is divided and fragmented, and an IP header copied from the original IP packet is added thereto. A plurality of fragmented packets are converted from one of an IPv4 format address and an IPv6 format address to the other.

【0012】[0012]

【発明の実施の形態】以下、この発明の実施の一形態を
図について説明する。図1は、IPv4−IPv6変換
装置を示すブロック図であり、これがIPパケットを受
信する受信装置1と、プログラム制御により動作するデ
ータ処理装置2と、各種の情報を記憶する記憶装置3
と、IPパケットを送信する送信装置4とを備えてい
る。これらのうち受信装置1は、ネットワーク上からI
Pパケットを受信して、それをデータ処理装置2に渡
す。なお、この受信装置1は、これがIPv4ネットワ
ークに接続されている場合はIPv4パケットを受信
し、IPv6ネットワークに接続されている場合はIP
v6パケットを受信する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an IPv4-IPv6 conversion device, which includes a receiving device 1 for receiving an IP packet, a data processing device 2 operated under program control, and a storage device 3 for storing various information.
And a transmitting device 4 for transmitting an IP packet. Of these, the receiving device 1 is connected to the I
The P packet is received and passed to the data processing device 2. The receiving apparatus 1 receives an IPv4 packet when the receiving apparatus 1 is connected to an IPv4 network, and receives an IPv4 packet when the receiving apparatus 1 is connected to an IPv6 network.
Receive a v6 packet.

【0013】また、前記データ処理装置2は、ヘッダ変
換手段21とチェックサム再計算手段22と送信/保存
制御手段23を備えている。これらのうち、ヘッダ変換
手段21は、受信装置1から渡されたIPパケットのヘ
ッダ形式を変換する。すなわち、受信装置1から渡され
たパケットがIPv4パケットの場合、IPv4形式の
ヘッダからIPv6形式のヘッダに変換し、受信装置1
から渡されたパケットがIPv6パケットの場合、IP
v6形式のヘッダからIPv4形式のヘッダに変換す
る。また、前記ヘッダ変換手段21は、受信したIPパ
ケットである断片パケットの位置情報を断片位置記録部
31に記録する。ヘッダ変換処理を行った断片パケット
は、チェックサム再計算手段22に渡される。
The data processing device 2 includes a header conversion unit 21, a checksum recalculation unit 22, and a transmission / save control unit 23. Among these, the header conversion means 21 converts the header format of the IP packet passed from the receiving device 1. That is, when the packet passed from the receiving device 1 is an IPv4 packet, the packet is converted from an IPv4 format header to an IPv6 format header, and
If the packet passed from is an IPv6 packet,
The header in the v6 format is converted into a header in the IPv4 format. Further, the header conversion unit 21 records the position information of the fragment packet, which is the received IP packet, in the fragment position recording unit 31. The fragment packet that has undergone the header conversion process is passed to the checksum recalculation means 22.

【0014】前記チェックサム再計算手段22は、IP
v4またはIPv6の各形式にヘッダ変換されたパケッ
トに対して、上位層プロトコルヘッダ中のチェックサム
を再計算する。上位層プロトコルヘッダ中のチェックサ
ムは、IPパケット全体を対象として計算しなければな
らず、IPヘッダの変換を行うとヘッダ内容が変更され
るために、チェックサムの再計算が必要となる。また、
パケットが断片化されている場合は、各断片について部
分的なチェックサムを計算し、それらを合計し、全体と
してのチェックサムを算出する必要がある。そのため再
計算の結果は、チェックサム値保存部32に加算しなが
ら保存する。チェックサム再計算を終えた断片パケット
は、送信/保存制御手段23に渡される。
[0014] The checksum recalculation means 22 comprises an IP
The checksum in the upper layer protocol header is recalculated for the packet whose header has been converted to the v4 or IPv6 format. The checksum in the upper layer protocol header must be calculated for the entire IP packet, and when the IP header is converted, the contents of the header are changed, so that the checksum must be recalculated. Also,
If the packet is fragmented, it is necessary to calculate the partial checksum for each fragment, sum them, and calculate the overall checksum. Therefore, the result of the recalculation is stored while being added to the checksum value storage unit 32. The fragment packet for which the checksum recalculation has been completed is passed to the transmission / storage control means 23.

【0015】また、この前記送信/保存制御手段23
は、断片パケットをIPv4−IPv6変換装置内に保
存するのか、あるいは送信装置4を通してネットワーク
上に送信するのかを判断して、それを実行する。保存す
る場合は、断片パケット保存部33に断片パケットを保
存し、送信する場合は、送信装置4に断片パケットを渡
す。また、断片位置記録部31に保存されている断片パ
ケット到着状況を参照して、断片パケット保存部33に
保存された断片パケットを送信するかどうかを決定し実
行する。
The transmission / save control means 23
Determines whether to store the fragment packet in the IPv4-IPv6 translation device or to transmit the fragment packet onto the network through the transmission device 4, and executes the determination. When storing, the fragment packet is stored in the fragment packet storage unit 33, and when transmitting, the fragment packet is passed to the transmitting device 4. In addition, with reference to the fragment packet arrival status stored in the fragment position recording unit 31, it is determined whether or not to transmit the fragment packet stored in the fragment packet storage unit 33, and the process is executed.

【0016】前記記憶装置3は、前記の断片位置記録部
31と、チェックサム値保存部32と、断片パケット保
存部33とを備えている。これらのうち、断片位置記録
部31は、受信済みの断片パケットの位置情報を記録す
る場所である。記録する内容は、各断片パケットのオフ
セット値、すなわち、断片化する前のオリジナルIPパ
ケット上での先頭からの位置と長さで、これを保持して
おくことで、断片パケットの変換装置への到着状況が参
照可能となる。この断片位置記録部31は、全ての断片
パケットを受信したかどうかを判断するために送信/保
存制御手段23によって参照される。また、前記チェッ
クサム値保存部32は、チェックサム再計算手段22に
よって計算された値を保存する。また、ここに保存した
チェックサム値は、断片パケット保存部33に保存され
た断片パケットを送信するときに、送信/保存制御手段
23によって参照される。
The storage device 3 includes the fragment position recording unit 31, a checksum value storage unit 32, and a fragment packet storage unit 33. Among these, the fragment position recording unit 31 is a place where the position information of the received fragment packet is recorded. The content to be recorded is the offset value of each fragment packet, that is, the position and length from the head on the original IP packet before fragmentation. The arrival status can be referenced. The fragment position recording unit 31 is referred to by the transmission / save control unit 23 in order to determine whether all fragment packets have been received. Further, the checksum value storage section 32 stores the value calculated by the checksum recalculation means 22. Further, the checksum value stored here is referred to by the transmission / storage control means 23 when transmitting the fragment packet stored in the fragment packet storage unit 33.

【0017】さらに、断片パケット保存部33は、断片
化された一連のパケットの中で、上位層プロトコルヘッ
ダ部分(厳密には、上位層プロトコルヘッダ中のチェッ
クサムフィールド)を含んでいる断片パケットを保存す
る場所である。この断片パケットは、一連の断片パケッ
トを全て受信してヘッダ変換処理が完了するまで保持し
ておく。上位層プロトコルヘッダ中のチェックサム値
は、全ての断片パケットを受信するまで確定しないた
め、チェックサムフィールドを含む断片パケットは、最
後の断片パケットが到着するまで保持しておく必要があ
る。その結果、IPv4−IPv6ヘッダ変換装置から
送信される断片の送信順序は受信時とは異なることにな
るが、IPにおいては、断片パケットの送信順が変更さ
れることによる問題は発生しない。送信装置4は、ヘッ
ダ変換、チェックサム再計算の処理が完了したIPパケ
ットを送信/保存制御手段23から受け取ってネットワ
ーク上に送信する。
Further, the fragment packet storage unit 33 stores a fragment packet including an upper layer protocol header portion (strictly, a checksum field in the upper layer protocol header) in a series of fragmented packets. A place to save. This fragment packet is held until a series of fragment packets are received and the header conversion process is completed. Since the checksum value in the upper layer protocol header is not determined until all the fragment packets are received, the fragment packet including the checksum field needs to be held until the last fragment packet arrives. As a result, the transmission order of the fragments transmitted from the IPv4-IPv6 header translator is different from that at the time of reception, but in IP, the problem does not occur due to the change in the transmission order of the fragment packets. The transmission device 4 receives the IP packet on which the header conversion and the checksum recalculation processing are completed from the transmission / save control unit 23 and transmits the IP packet over the network.

【0018】次に、動作について詳細に説明する。初め
にIPv4パケットの断片化について説明する。図2を
参照すると、オリジナルのIPv4パケットP0は、I
Pv4ヘッダ以外の部分(上位層ヘッダとデータの部
分)が分割され、それぞれの断片パケットに前記IPv
4パケットP0からコピーしたIPv4ヘッダが付けら
れて、断片パケットP1,P2,...,Pnとされ
る。
Next, the operation will be described in detail. First, fragmentation of an IPv4 packet will be described. Referring to FIG. 2, the original IPv4 packet P0 has I
The portion other than the Pv4 header (the upper layer header and the data portion) is divided, and the above-mentioned IPv4
4 packet P0 is copied with an IPv4 header, and fragmented packets P1, P2,. . . , Pn.

【0019】次に、これらの断片パケットに対するIP
v4−IPv6変換装置の処理内容を説明する。説明を
簡単にするために、ここでは、図2に示すような、一つ
のオリジナルのIPv4パケットP0を断片化して生成
されたIPv4断片パケット群P1,P2,,...P
nだけに注目し、それ以外のパケットの扱いに関しては
触れない。また、IPv4パケットP0の上位層プロト
コルは、TCPとする。TCPはIPv4パケットP0
全体を対象とするチェックサム計算を必要とする。
Next, the IP for these fragmented packets is
The processing contents of the v4-IPv6 conversion device will be described. For the sake of simplicity, here, as shown in FIG. 2, a group of IPv4 fragment packets P1, P2,. . . P
Focus on n only, and do not discuss the handling of other packets. The upper layer protocol of the IPv4 packet P0 is TCP. TCP is IPv4 packet P0
Requires a global checksum calculation.

【0020】図3はIPv4−IPv6変換装置による
変換処理手順を示すフローチャートである。これによれ
ば、まず、断片化されたIPv4パケットを受信する前
に、2つの初期化を行う(ステップA1)。その一つ目
は受信済みの断片パケットの位置を記録するための変数
Aを初期化することであり、この変数は、断片位置記録
部31に保存される。その二つ目は各断片パケットのチ
ェックサム値の加算結果を保持するための変数Bを初期
化することであり、この変数は、チェックサム値保存部
32に保存される。そして、受信装置1は断片パケット
P1,P2,...,Pnを一つずつ受信し(ステップ
A2)、逐次これをデータ処理装置2に渡す。データ処
理装置2に渡された断片パケットは、ヘッダ変換手段2
1でヘッダの形式がIPv4形式からIPv6形式に変
換される(ステップA3)。IPv4からIPv6への
ヘッダ変換は、図4(a),(b)に示すように、TC
Pヘッダを含む場合および含まない場合についてそれぞ
れIPv4ヘッダをIPv6ヘッダに付け替えることで
行われる。さらに、ヘッダ変換手段21は、断片化する
前のオリジナルIPv4パケットP0に対する断片パケ
ットの位置情報を変数Aとして断片位置記録部31に記
録する(ステップA4)。
FIG. 3 is a flowchart showing a conversion processing procedure by the IPv4-IPv6 conversion device. According to this, first, before receiving a fragmented IPv4 packet, two initializations are performed (step A1). The first is to initialize a variable A for recording the position of the received fragment packet, and this variable is stored in the fragment position recording unit 31. The second is to initialize a variable B for holding the addition result of the checksum value of each fragment packet, and this variable is stored in the checksum value storage unit 32. Then, the receiving device 1 transmits the fragmented packets P1, P2,. . . , Pn one by one (Step A2), and sequentially passes them to the data processing device 2. The fragment packet passed to the data processing device 2 is
In step 1, the header format is converted from the IPv4 format to the IPv6 format (step A3). As shown in FIGS. 4 (a) and 4 (b), header conversion from IPv4 to IPv6
This is performed by replacing the IPv4 header with the IPv6 header for each of the cases including and not including the P header. Further, the header conversion means 21 records the position information of the fragment packet with respect to the original IPv4 packet P0 before fragmentation as the variable A in the fragment position recording unit 31 (step A4).

【0021】次に、ヘッダ変換された断片パケットの上
位層プロトコル(TCP)に対するチェックサム値を計
算し、変数Bに加算し、チェックサム値保存部32に保
存する(ステップA5)。TCPヘッダ中のチェックサ
ムは、IPパケット全体を2バイトずつに区切り、各区
間のチェックサムを合計して計算する。そのため、各断
片パケットのチェックサム値を個別に計算し、それらを
合計することで全体としてのチェックサムを計算でき
る。IPの規約上、パケットの断片化において2バイト
境界でない位置でパケットが分割されることはないた
め、チェックサム計算は一つの断片パケットで完結でき
る。チェックサムの計算方法は、1番目の断片パケット
P1とそれ以外の断片パケットP2,...,Pnとで
異なる。P1の場合は、IPv4ヘッダを含めた断片パ
ケット全体を計算対象とするのに対して、P
2,...,Pn,の場合は、IPv4ヘッダを除いた
データ断片だけが計算対象となる。
Next, a checksum value for the upper layer protocol (TCP) of the fragment packet subjected to the header conversion is calculated, added to the variable B, and stored in the checksum value storage unit 32 (step A5). The checksum in the TCP header is calculated by dividing the entire IP packet into 2 bytes and summing up the checksums in each section. Therefore, the checksum value of each fragment packet is individually calculated, and the checksum values of the fragment packets are summed to calculate the checksum as a whole. According to the rules of the IP, the packet is not divided at a position other than the 2-byte boundary in the fragmentation of the packet, so that the checksum calculation can be completed by one fragmented packet. The checksum is calculated by the first fragment packet P1 and the other fragment packets P2,. . . , Pn. In the case of P1, the entire fragmented packet including the IPv4 header is to be calculated, while
2,. . . , Pn, only data fragments excluding the IPv4 header are to be calculated.

【0022】続いて、前記断片パケット中にTCPヘッ
ダ(厳密にはTCPチェックサムフィールド)が含まれ
ているかどうかを調べ(ステップA6)、もし含まれて
いなければ、この断片パケットを送信装置4から送信し
(ステップA7)、含まれていれば、この断片パケット
を断片パケット保存部33に保存する(ステップA
8)。次に、断片位置記録部31の変数Aを調べ、全て
の断片パケットの受信が完了していれば(ステップA
9)、断片パケット保存部33に保存している断片パケ
ットのTCPチェックサム値を、チェックサム値保存部
32で保存している変数Bの値で更新し、この断片を送
信する(ステップA10)。
Subsequently, it is checked whether a TCP header (strictly, a TCP checksum field) is included in the fragment packet (step A6). If the TCP packet is not included, the fragment packet is transmitted from the transmitting device 4. The packet is transmitted (step A7), and if it is included, the fragment packet is stored in the fragment packet storage unit 33 (step A).
8). Next, the variable A of the fragment position recording unit 31 is checked, and if all fragment packets have been received (step A
9), the TCP checksum value of the fragment packet stored in the fragment packet storage unit 33 is updated with the value of the variable B stored in the checksum value storage unit 32, and this fragment is transmitted (step A10). .

【0023】次に、この発明の実施の他の形態を図5の
フローチャートを参照して説明する。図5は図3に対し
て、ヘッダの形式がIPv6からIPv4に変換される
という点が異なる。ヘッダ形式をIPv6からIPv4
に変換する場合も、上位層プロトコルであるTCPヘッ
ダ中のチェックサムの再計算を行う必要があり、IPv
4からIPv6に変換する場合と同様の断片パケットの
処理方法を使用することができる。また、図6はこの発
明の実施のさらに他の形態を示す。この図6は図3に対
してIPヘッダの形式は変更ぜずに、IPアドレスだけ
を変更するという点が異なる。IPv4アドレスの変換
技術に関しては、IETFから出されているRFC16
31 The IP Network Address
Translator(NAT)で述べられている。
この技術を利用することによって、IPv4ヘッダ中の
IPアドレスを変換した場合も、上位層プロトコルヘッ
ダ中のチェックサムの再計算を行う必要があり、前記I
Pv4−IPv6変換の場合と同様の断片パケットの処
理方法を適用することができる。
Next, another embodiment of the present invention will be described with reference to the flowchart of FIG. FIG. 5 differs from FIG. 3 in that the format of the header is converted from IPv6 to IPv4. Header format from IPv6 to IPv4
In the case of conversion to IPv6, it is necessary to recalculate the checksum in the TCP header which is an upper layer protocol.
The same fragment packet processing method as in the case of converting from IPv4 to IPv6 can be used. FIG. 6 shows still another embodiment of the present invention. FIG. 6 differs from FIG. 3 in that only the IP address is changed without changing the format of the IP header. Regarding IPv4 address conversion technology, RFC16 issued by IETF
31 The IP Network Address
Translator (NAT).
By using this technology, even when the IP address in the IPv4 header is converted, it is necessary to recalculate the checksum in the upper layer protocol header.
The same fragment packet processing method as in the case of Pv4-IPv6 conversion can be applied.

【0024】[0024]

【発明の効果】以上のように、この発明によれば、オリ
ジナルのIPパケットからコピーしたIPヘッダが付け
られた複数の断片パケットを、IPv4形式およびIP
v6形式のヘッダまたはアドレスの一方から他方に変換
し、変換された断片パケットの上位層プロトコルヘッダ
中のチェックサムを計算して、その結果を既に保存され
ている値に加算してチェックサム値保存部に保存させ、
送信/保存制御手段に、前記断片パケット中に上位層プ
ロトコルヘッダが含まれている場合にはこの断片パケッ
トを断片パケット保存部に保存させるとともに、全ての
前記断片パケットが到着したとき、前記チェックサム値
保存部内のチェックサム値を、前記断片パケット保存部
内の断片パケットの上位層プロトコルチェックサムに代
入した後、その断片パケットを送信させるようにしたの
で、断片化されたIPパケットをIPv4およびIPv
6間で変換するとき、最後の断片パケットが到着するま
で、それまでに受信している断片を全て保存せずに、一
つの断片パケットと各断片パケットのチェックサム値の
合計だけを保存すればよいため、必要とする記憶領域を
少なく抑えることができるという効果が得られる。
As described above, according to the present invention, a plurality of fragment packets to which an IP header copied from an original IP packet is attached can be converted into an IPv4 format and an IP packet.
A v6 format header or address is converted from one to the other, the checksum in the upper layer protocol header of the converted fragmented packet is calculated, and the result is added to the already stored value to store the checksum value. Department,
When the fragment packet includes an upper layer protocol header, the transmission / storage control means causes the fragment packet to be stored in a fragment packet storage unit, and when all the fragment packets arrive, the checksum After the checksum value in the value storage unit is substituted into the upper layer protocol checksum of the fragment packet in the fragment packet storage unit, the fragment packet is transmitted, so that the fragmented IP packet can be transmitted in IPv4 and IPv4.
When converting between 6, it is necessary to store only the sum of the checksum values of one fragment packet and each fragment packet without storing all the fragments received until the last fragment packet arrives. Therefore, the required storage area can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 この発明の実施の一形態によるIPv4−I
Pv6変換装置を示すブロック図である。
FIG. 1 shows an IPv4-I according to an embodiment of the present invention.
It is a block diagram showing a Pv6 conversion device.

【図2】 この発明におけるIPパケットの断片化を示
す説明図である。
FIG. 2 is an explanatory diagram showing fragmentation of an IP packet according to the present invention.

【図3】 この発明によるIPv4からIPv6への変
換手順を示すフローチャートである。
FIG. 3 is a flowchart showing a conversion procedure from IPv4 to IPv6 according to the present invention.

【図4】 この発明によるIPv4形式からIPv6形
式へのヘッダ変換方法を示す説明図である。
FIG. 4 is an explanatory diagram showing a header conversion method from an IPv4 format to an IPv6 format according to the present invention.

【図5】 この発明によるIPv4からIPv6への他
の変換手順を示すフローチャートである。
FIG. 5 is a flowchart showing another conversion procedure from IPv4 to IPv6 according to the present invention.

【図6】 この発明によるIPv4からIPv6への他
の変換手順を示すフローチャートである。
FIG. 6 is a flowchart showing another conversion procedure from IPv4 to IPv6 according to the present invention.

【符号の説明】[Explanation of symbols]

21 ヘッダ変換手段 22 チェックサム再計算手段 23 送信/保存制御手段 31 断片位置記録部 32 チェックサム値保存部 33 断片パケット保存部 DESCRIPTION OF SYMBOLS 21 Header conversion means 22 Checksum recalculation means 23 Transmission / save control means 31 Fragment position recording part 32 Checksum value storage part 33 Fragment packet storage part

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 12/28 H04L 12/56 H04L 12/66 H04L 29/06 G06F 11/10 310 INSPEC(DIALOG) JICSTファイル(JOIS)──────────────────────────────────────────────────の Continued on the front page (58) Fields surveyed (Int. Cl. 7 , DB name) H04L 12/28 H04L 12/56 H04L 12/66 H04L 29/06 G06F 11/10 310 INSPEC (DIALOG) JICST file (JOIS)

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 IPパケットのIPヘッダをIPv4形
式およびIPv6形式の一方から他方に変換することに
より、IPv4ネットワーク上のノードとIPv6ネッ
トワーク上のノードとの通信を実行可能にするIPv4
−IPv6変換装置において、 受信したオリジナルのIPパケットの前記IPヘッダ以
外の部分が分割して断片化され、これらに前記オリジナ
ルのIPパケットからコピーしたIPヘッダが付けられ
た複数の断片パケットを、IPv4形式のヘッダおよび
IPv6の形式のヘッダの一方から他方に変換するヘッ
ダ変換手段と、 該ヘッダ変換手段でヘッダ変換された断片パケットの上
位層プロトコルヘッダ中のチェックサムを計算して、そ
の結果を既に保存されている値に加算してチェックサム
値保存部に保存させるチェックサム再計算手段と、 前記断片パケット中に上位層プロトコルヘッダが含まれ
ている場合には、この断片パケットを断片パケット保存
部に保存させるとともに、全ての前記断片パケットが到
着したとき、前記チェックサム値保存部内のチェックサ
ム値を、前記断片パケット保存部内の断片パケットの上
位層プロトコルチェックサムに代入した後、その断片パ
ケットを送信させる送信/保存制御手段とを備えたこと
を特徴とするIPv4−IPv6変換装置。
1. An IPv4 that enables communication between a node on an IPv4 network and a node on an IPv6 network by converting an IP header of an IP packet from one of an IPv4 format and an IPv6 format to the other.
In the IPv6 translator, a portion of the received original IP packet other than the IP header is divided and fragmented, and a plurality of fragmented packets to which the IP header copied from the original IP packet is attached are added to an IPv4 Header converting means for converting one of the header of the IPv6 format and the header of the IPv6 format into the other, and calculating the checksum in the upper layer protocol header of the fragmented packet which has been header-converted by the header converting means, and has already calculated the result. A checksum recalculating means for adding the stored value to the checksum value storage unit and storing it in a checksum value storage unit; and when the fragment packet includes an upper layer protocol header, the fragment packet is stored in the fragment packet storage unit. And when all the fragmented packets arrive, the checker A transmission / save control unit for transmitting the fragment packet after substituting the checksum value in the value storage unit for the upper layer protocol checksum of the fragment packet in the fragment packet storage unit; IPv6 translator.
【請求項2】 前記断片パケットの到着状況を参照可能
にするために、前記ヘッダ変換手段から得られた断片パ
ケットの断片化前のオリジナルIPパケット上での先頭
からの位置と長さを保持する断片位置記録部を設けたこ
とを特徴とする請求項1に記載のIPv4−IPv6変
換装置。
2. In order to make it possible to refer to the arrival status of the fragment packet, the position and length from the head of the fragment packet obtained from the header conversion means on the original IP packet before fragmentation are held. The IPv4-IPv6 conversion device according to claim 1, further comprising a fragment position recording unit.
【請求項3】 前記上位層プロトコルが伝送制御プロト
コルであることを特徴とする請求項1に記載のIPv4
−IPv6変換装置。
3. The IPv4 according to claim 1, wherein the upper layer protocol is a transmission control protocol.
An IPv6 translator.
【請求項4】 前記断片パケットの受信前に、受信済み
の断片パケットの位置を記録するための変数および前記
各断片パケットのチェックサム値の加算結果を保持する
ための変数を初期化して、それぞれ前記断片位置記録部
およびチェックサム値保存部に保存することを特徴とす
る請求項1に記載のIPv4−IPv6変換装置。
4. A variable for recording a position of a received fragment packet and a variable for holding an addition result of a checksum value of each fragment packet are initialized before receiving the fragment packet. The IPv4-IPv6 conversion apparatus according to claim 1, wherein the data is stored in the fragment position recording unit and the checksum value storage unit.
【請求項5】 IPパケットのIPヘッダをIPv4形
式およびIPv6形式の一方から他方に変換することに
より、IPv4ネットワーク上のノードとIPv6ネッ
トワーク上のノードとの通信を実行可能にするIPv4
−IPv6変換装置において、 受信したオリジナルのIPパケットの前記IPヘッダ以
外の部分が分割して断片化され、これらに前記オリジナ
ルのIPパケットからコピーしたIPヘッダが付けられ
た複数の断片パケットを、IPv4形式のアドレスおよ
びIPv6の形式のアドレスの一方から他方に変換する
アドレス変換手段と、 該アドレス変換手段でアドレス変換された断片パケット
の上位層プロトコルヘッダ中のチェックサムを計算し
て、その結果を既に保存されている値に加算してチェッ
クサム値保存部に保存させるチェックサム再計算手段
と、 前記断片パケット中に上位層プロトコルヘッダが含まれ
ている場合には、この断片パケットを断片パケット保存
部に保存させるとともに、全ての前記断片パケットが到
着したとき、前記チェックサム値保存部内のチェックサ
ム値を、前記断片パケット保存部内の断片パケットの上
位層プロトコルチェックサムに代入した後、その断片パ
ケットを送信させる送信/保存制御手段とを備えたこと
を特徴とするIPv4−IPv6変換装置。
5. An IPv4 that enables communication between a node on an IPv4 network and a node on an IPv6 network by converting an IP header of an IP packet from one of an IPv4 format and an IPv6 format to the other.
In the IPv6 translator, a portion of the received original IP packet other than the IP header is divided and fragmented, and a plurality of fragmented packets to which the IP header copied from the original IP packet is attached are added to an IPv4 Translation means for translating from one of an address in the form of IPv6 and an address in the form of IPv6 to the other, and calculates a checksum in the upper layer protocol header of the fragmented packet which has undergone the address translation by the address translation means, and the result is already calculated. A checksum recalculating means for adding the stored value to the checksum value storage unit and storing it in a checksum value storage unit; and when the fragment packet includes an upper layer protocol header, the fragment packet is stored in the fragment packet storage unit. And when all the fragment packets arrive, the A transmission / save control unit for transmitting the fragment packet after substituting the checksum value in the checksum value storage unit into the upper layer protocol checksum of the fragment packet in the fragment packet storage unit. An IPv6 translator.
JP5479499A 1999-03-02 1999-03-02 IPv4-IPv6 conversion device Expired - Fee Related JP3017217B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5479499A JP3017217B1 (en) 1999-03-02 1999-03-02 IPv4-IPv6 conversion device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5479499A JP3017217B1 (en) 1999-03-02 1999-03-02 IPv4-IPv6 conversion device

Publications (2)

Publication Number Publication Date
JP3017217B1 true JP3017217B1 (en) 2000-03-06
JP2000253064A JP2000253064A (en) 2000-09-14

Family

ID=12980676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5479499A Expired - Fee Related JP3017217B1 (en) 1999-03-02 1999-03-02 IPv4-IPv6 conversion device

Country Status (1)

Country Link
JP (1) JP3017217B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100424154B1 (en) * 2000-12-11 2004-03-30 학교법인 한국정보통신학원 Method for dispersing a protocol translator by using domain name server system
KR100724232B1 (en) * 2001-07-07 2007-05-31 엘지전자 주식회사 Method for identifying Protocol identification each IP version type in PPP link
KR100492490B1 (en) * 2002-10-31 2005-06-02 크로스반도체기술 주식회사 System and method for calculating checksums of TCP segments/UDP datagrams in IPv4/IPv6 protocol translation
US7340746B2 (en) 2003-08-07 2008-03-04 Sharp Laboratories Of America, Inc. Apparatus and methods for providing communication between systems having different protocol versions
US20080052281A1 (en) 2006-08-23 2008-02-28 Lockheed Martin Corporation Database insertion and retrieval system and method
US7599289B2 (en) 2005-05-13 2009-10-06 Lockheed Martin Corporation Electronic communication control
KR100801285B1 (en) 2005-12-08 2008-02-04 한국전자통신연구원 Method for Connecting Between User Network of Other Technology and Domain Name System Proxy Server for Controlling the Same
US9185073B2 (en) 2011-10-06 2015-11-10 Qualcomm Incorporated Systems and methods for data packet processing

Also Published As

Publication number Publication date
JP2000253064A (en) 2000-09-14

Similar Documents

Publication Publication Date Title
US7158526B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
US7957405B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
Stevens et al. Advanced sockets application program interface (API) for IPv6
US8908685B2 (en) Routing using global address pairs
US7969976B2 (en) Gateway apparatus, packet forwarding method, and program
KR100453056B1 (en) Method for changing PMTU on dynamic IP network and apparatus thereof
US20050243834A1 (en) Packet transfer method and device
US8473632B2 (en) Packet receiving apparatus and processing method for the same
US7830870B2 (en) Router and method for transmitting packets
JP4814489B2 (en) Method, system and computer product for processing packet with layered header
US8140709B2 (en) Two stage internet protocol header compression
CN110932934B (en) Network packet loss detection method and device
JP2001244957A (en) Ip router device with tcp terminating function and medium
JP2007142629A (en) Reply communication apparatus and arp reply communication apparatus
US20030076794A1 (en) Checksum rewrite device
US20050192782A1 (en) System and method for calculating checksums of TCP segments/UDP datagrams in IPV4/IPV6 protocol translation
JP3017217B1 (en) IPv4-IPv6 conversion device
CN111131539B (en) Message forwarding method and device
US20040141513A1 (en) Address translation device
CN111585834A (en) Network information storage method and device
CN107104911B (en) UDP (user Datagram protocol) data packet segmentation method and transmission method
EP1661325B1 (en) Communication between fixed terminals of an ipv4 private network and an ipv6 global network interconnected through the ipv4-internet
JP3900157B2 (en) Translator
JP4611826B2 (en) Transmitter
US9154368B2 (en) Method for reduction of data packet losses on updating of an address table

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991130

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees