JP4670979B2 - PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM - Google Patents

PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM Download PDF

Info

Publication number
JP4670979B2
JP4670979B2 JP2009139752A JP2009139752A JP4670979B2 JP 4670979 B2 JP4670979 B2 JP 4670979B2 JP 2009139752 A JP2009139752 A JP 2009139752A JP 2009139752 A JP2009139752 A JP 2009139752A JP 4670979 B2 JP4670979 B2 JP 4670979B2
Authority
JP
Japan
Prior art keywords
packet
ipv4
address
control unit
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 - Lifetime
Application number
JP2009139752A
Other languages
Japanese (ja)
Other versions
JP2009207182A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009139752A priority Critical patent/JP4670979B2/en
Publication of JP2009207182A publication Critical patent/JP2009207182A/en
Application granted granted Critical
Publication of JP4670979B2 publication Critical patent/JP4670979B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

IPv4ネットワークに対応するアプリケーションをIPv6ネットワーク上で動作させる方法,パケット生成方法、IPネットワーク用トランスレータ,およびNAT(Network Address Translator)、並びにパケット生成プログラムを記録した記憶媒体に関する。   The present invention relates to a method for operating an application corresponding to an IPv4 network on an IPv6 network, a packet generation method, an IP network translator, a NAT (Network Address Translator), and a storage medium on which a packet generation program is recorded.

TCP(Transmission Control Protocol)/IP(Internet Protocol)通信で使用するネットワーク層のプロトコルとして現在最もよく知られているのはIPである。現時点では、バージョン4のIP(以下、IPv4と呼ぶ)が普及している。   Currently, IP is best known as a network layer protocol used in TCP (Transmission Control Protocol) / IP (Internet Protocol) communication. At present, version 4 IP (hereinafter referred to as IPv4) is widespread.

IPは現在、インターネットの普及などと歩調を合わせて、様々な通信サービスに急速に広がりつつあるが、その一方で、IPアドレスの枯渇という深刻な問題に直面している。   Currently, IP is rapidly spreading to various communication services in keeping with the spread of the Internet, but on the other hand, it faces a serious problem of exhaustion of IP addresses.

これを解決するための手段として現在、IPv4のプライベートアドレス空間をローカルなLANにつける暫定的な解決策やバージョン6のIP(以下、IPv6と呼ぶ)が提案されている。   As means for solving this problem, a provisional solution for attaching an IPv4 private address space to a local LAN and a version 6 IP (hereinafter referred to as IPv6) have been proposed.

現在では、IPv6によるLANとIPv4によるLANが混在した形で大規模なLANが形成されつつある。そして、IPv6によるLANとIPv4によるLANの相互接続に関する標準化のドキュメントとして非特許文献1のRFC1933がある。非特許文献1ではIPv6ソフトウエアを有する通信制御装置においてIPv4アドレスをIPv6アドレスにマッピングすることでIPv6ネットワークの相互接続を可能にしている。   Currently, a large-scale LAN is being formed in a form in which a LAN based on IPv6 and a LAN based on IPv4 are mixed. Further, there is RFC 1933 of Non-Patent Document 1 as a standardized document regarding the interconnection between the IPv6 LAN and the IPv4 LAN. In Non-Patent Document 1, an IPv6 network can be interconnected by mapping an IPv4 address to an IPv6 address in a communication control apparatus having IPv6 software.

このように、IPv6ネットワークが形成されつつある中で、IPv6対応のAPは、IPv4対応のAPに比べて、非常に少ない。   Thus, while the IPv6 network is being formed, there are very few IPv6-compatible APs compared to IPv4-compatible APs.

RFC1933(Transition Mechanism for IPv6 Hosts and Routers; R.Gilligan, 1996.4, IETF)RFC 1933 (Transition Mechanism for IPv6 Hosts and Routers; R. Gilligan, 1996.4, IETF)

従来PC/WS上のIPv4対応アプリケーションとPC/WSのIPv6対応アプリケーションが、NAT機能を有するアドレス変換ルータ等のネットワーク機器を介さずに直接通信する手段はなかった。   Conventionally, there has been no means for direct communication between an IPv4-compatible application on PC / WS and an IPv6-compatible application of PC / WS without going through a network device such as an address translation router having a NAT function.

アドレス変換ルータを使用する場合、従来ルーティング処理に加えてプロトコル変換も行うためアドレス変換ルータにかかる負荷が大きい。また、IPv4のハードウエアアドレス解決用パケットは、変換されない。   When an address translation router is used, protocol translation is performed in addition to conventional routing processing, so that the load on the address translation router is large. Also, IPv4 hardware address resolution packets are not converted.

本発明の目的は、
(1)PC/WS上のIPv4対応のAPがNAT機能を有するアドレス変換ルータ等のネットワーク機器を介さずに、直接PC/WS上のIPv6対応アプリケーションと通信できるようにすること。
(2)既存のIPv4対応のAPが接続先ホストのIPアドレスを意識することなく通信するためには、DNS(Domain Name System)による論理名によるアドレス解決が必須である。本発明の第2の目的は、IPv4対応のAPが、通信相手のアドレスを意識せずに通信させるため、IPv6対応のDNS機能(IPv6アドレス問い合わせ機能)を提供することである。
(3)IPv4対応APがIPv6対応APと通信するため、既存APが出すIPv4のハードウエアアドレス解決パケットをIPv6対応のハードウエアアドレス解決パケットに変換できるようにすることである。
The purpose of the present invention is to
(1) An IPv4-compatible AP on PC / WS can directly communicate with an IPv6-compatible application on PC / WS without going through a network device such as an address translation router having a NAT function.
(2) In order for an existing IPv4-compatible AP to communicate without being aware of the IP address of the connection destination host, address resolution using a logical name by DNS (Domain Name System) is essential. The second object of the present invention is to provide an IPv6-compatible DNS function (IPv6 address inquiry function) so that an IPv4-compatible AP can communicate without being aware of the address of the communication partner.
(3) Since an IPv4-compatible AP communicates with an IPv6-compatible AP, an IPv4 hardware address resolution packet issued by an existing AP can be converted into an IPv6-compatible hardware address resolution packet.

PC/WS等のLAN制御装置は、通常IPv4対応AP、IPv4プロトコル制御部から構成される。   A LAN control device such as a PC / WS is usually configured with an IPv4-compatible AP and an IPv4 protocol control unit.

上記目的を達成させるため、LAN制制御装置内のIPv4プロトコル制御部とLAN制御部の間にプロトコル変換制御部を設ける。プロトコル変換制御部はIPv4−IPv6スイッチ制御部、バッファ変換制御部、ヘッダ変換制御部、IPv6送受信制御部1014,DNS−NAT連携制御部から構成する。   In order to achieve the above object, a protocol conversion control unit is provided between the IPv4 protocol control unit and the LAN control unit in the LAN control device. The protocol conversion control unit includes an IPv4-IPv6 switch control unit, a buffer conversion control unit, a header conversion control unit, an IPv6 transmission / reception control unit 1014, and a DNS-NAT cooperation control unit.

上記第1の課題を解決するためプロトコル変換制御部は、IPv4プロトコル制御部から出力されるIPv4パケットをIPv6パケットに変換してLAN制御部へ出力する。またLAN制御部から出力されたIPv6パケットをIPv4パケットに変換し、IPv4プロトコル制御部へ出力する。   In order to solve the first problem, the protocol conversion control unit converts the IPv4 packet output from the IPv4 protocol control unit into an IPv6 packet and outputs the packet to the LAN control unit. Also, the IPv6 packet output from the LAN control unit is converted into an IPv4 packet and output to the IPv4 protocol control unit.

つぎに第2、第3の課題を解決するための各制御部間の制御とデータの流れを説明する。   Next, the control between the control units and the data flow for solving the second and third problems will be described.

まず、送信の場合について説明する。   First, the case of transmission will be described.

IPv4対応APからIPv4プロトコル制御部にデータが渡されIPv4プロトコル制御部からIPv4パケットがプロトコル変換制御部1006に渡されると、プロトコル変換制御部は渡されたパケットを解釈し、次のような処理を行う。ARPリクエストパケットの場合、IPv4プロトコル制御部に対して、プロトコル変換制御部で生成したハードウエアアドレスを通知し、実際のハードウエアアドレス解決は、IPv6プロトコルを使って行うことにより解決する。   When data is passed from the IPv4-compatible AP to the IPv4 protocol control unit and an IPv4 packet is passed from the IPv4 protocol control unit to the protocol conversion control unit 1006, the protocol conversion control unit interprets the passed packet and performs the following processing. Do. In the case of an ARP request packet, the hardware address generated by the protocol conversion control unit is notified to the IPv4 protocol control unit, and actual hardware address resolution is performed by using the IPv6 protocol.

DNSの問い合わせパケットの場合、IPv6アドレスとIPv4アドレスの両方を問い合わせ、IPv6アドレスが応答パケットとして返ってきたときには、IPv6アドレスに対応するIPv4アドレスをIPv4プロトコル制御部に伝える。   In the case of a DNS inquiry packet, both the IPv6 address and the IPv4 address are inquired. When the IPv6 address is returned as a response packet, the IPv4 address corresponding to the IPv6 address is transmitted to the IPv4 protocol control unit.

通常のパケットの場合、IPv4ヘッダ内の送信先IPv4アドレスを見て、プロトコル変換制御部内のアドレス変換テーブルに登録されているアドレスの場合は、対応するIPv6アドレスに変換して、IPv6ヘッダを作成し、IPv6パケットとしてLAN上に送信する。プロトコル変換制御部内のアドレス変換テーブルに登録されていない場合は、そのままIPv4パケットをLAN上に送信する。   In the case of a normal packet, look at the destination IPv4 address in the IPv4 header. If the address is registered in the address conversion table in the protocol conversion control unit, convert it to the corresponding IPv6 address and create an IPv6 header. , And send it over the LAN as an IPv6 packet. If it is not registered in the address conversion table in the protocol conversion control unit, the IPv4 packet is transmitted as it is on the LAN.

次に受信の場合について説明する。   Next, the case of reception will be described.

LAN制御部からIPv6パケットを受信すると、プロトコル変換制御部はIPv6ヘッダ内の送信元IPv6アドレスを見てプロトコル変換制御部内のアドレス変換テーブルに登録されているアドレスの場合は、対応するIPv4アドレスに変換してIPv4ヘッダを作成し、上位のIPv4プロトコル制御部にIPv4パケットデータを渡す。   When the IPv6 packet is received from the LAN control unit, the protocol conversion control unit looks at the source IPv6 address in the IPv6 header, and if it is an address registered in the address conversion table in the protocol conversion control unit, converts it to the corresponding IPv4 address. Then, an IPv4 header is created, and IPv4 packet data is passed to the upper IPv4 protocol control unit.

プロトコル制御部内のアドレス変換テーブルに登録されていないIPv6アドレスの場合は、その受信パケットを廃棄する。LAN制御部からIPv4パケットを受信したときはDNS応答パケット以外のパケットデータをプロトコル制御部に渡す。このようにして、IPv4対応APとIPv6対応APを通信させることができる。   If the IPv6 address is not registered in the address translation table in the protocol control unit, the received packet is discarded. When an IPv4 packet is received from the LAN control unit, packet data other than the DNS response packet is passed to the protocol control unit. In this way, the IPv4-compatible AP and the IPv6-compatible AP can communicate with each other.

以上のような手段を用いることにより上記目的は達成される。   The above object is achieved by using the above means.

プロトコル変換制御部を従来のプロトコル制御部とLAN制御部の間におき、プロトコル制御部とLAN制御部との間で流れるパケットをプロトコル変換制御部がIPv4とIPv6のヘッダ変換することにより、プロトコル制御部にデータを渡すアプリケーションがIPv4対応のものであってもIPv6ネットワークに接続される他の装置とIPv6による通信が可能になる。   The protocol conversion control unit is placed between the conventional protocol control unit and the LAN control unit, and the protocol control is performed by the protocol conversion control unit converting the headers of the IPv4 and IPv6 packets that flow between the protocol control unit and the LAN control unit. Even if the application that passes data to the unit is compatible with IPv4, communication by IPv6 with other devices connected to the IPv6 network becomes possible.

本発明の第一の実施例におけるLAN制御装置の構成を示す図である。It is a figure which shows the structure of the LAN control apparatus in 1st Example of this invention. 本発明の実施例における通信ネットワークシステムの構成例を示す図である。It is a figure which shows the structural example of the communication network system in the Example of this invention. 本発明の実施例におけるホストAのアドレス変換テーブルの構成例を示す図である。It is a figure which shows the structural example of the address conversion table of the host A in the Example of this invention. 本発明の実施例におけるホストBのアドレス変換テーブルの構成例を示す図である。It is a figure which shows the structural example of the address conversion table of the host B in the Example of this invention. 本発明の第二の実施例におけるLAN制御装置の構成を示す図である。It is a figure which shows the structure of the LAN control apparatus in the 2nd Example of this invention. 本発明の第三の実施例におけるLAN制御装置の構成を示す図である。It is a figure which shows the structure of the LAN control apparatus in the 3rd Example of this invention. MACアドレス解決のためのパケットシーケンスを示す図である。It is a figure which shows the packet sequence for MAC address resolution. DNS−NAT連携制御部の処理フロー(DNSパケット送信処理)である。It is a process flow (DNS packet transmission process) of a DNS-NAT cooperation control part. DNS−NAT連携制御部の処理フロー(DNSパケット受信処理)である。It is a process flow (DNS packet reception process) of a DNS-NAT cooperation control part. IPv4−IPv6スイッチ制御部のパケットスイッチ制御処理フローPacket switch control processing flow of IPv4-IPv6 switch control unit UDPヘッダパケットのフォーマットである。It is a format of a UDP header packet. DNSヘッダパケットのフォーマットである。It is a format of a DNS header packet. DNS問い合わせメッセージのフォーマットである。It is a format of a DNS inquiry message. DNS応答メッセージのフォーマットである。It is a format of a DNS response message. ARPメッセージのフォーマットである。This is the format of the ARP message. 情報処理装置の構成を示す図である。It is a figure which shows the structure of information processing apparatus.

本発明を示す一実施例について説明する。   An embodiment illustrating the present invention will be described.

まず、本実施例を使用したホストを接続したネットワーク構成例について説明する。   First, a network configuration example in which hosts using the present embodiment are connected will be described.

図2は、本実施例のネットワーク構成例を示した図である。IPv6ネットワークとIPv4ネットワークをIPv4−IPv6変換ルータ2012が接続している。IPv4ネットワーク上には、IPv4ネットワークとIPv6ネットワークのドメインネームを管理するDNS(ドメインネームシステム)サーバ2017が接続している。それから、PC等の既存のIPv4対応のホストD2018が接続している。   FIG. 2 is a diagram illustrating a network configuration example of the present embodiment. An IPv4-IPv6 translation router 2012 connects the IPv6 network and the IPv4 network. A DNS (Domain Name System) server 2017 that manages the domain names of the IPv4 network and the IPv6 network is connected to the IPv4 network. Then, an existing IPv4-compatible host D2018 such as a PC is connected.

IPv6ネットワークには、ホストA1001,ホストB2001,ホストC2007が接続している。ホストA1001及びホストB2001は、本実施例で説明するIPv4−IPv6変換機能を持ったホストである。ホストCは、IPv6専用ホストで、IPv6対応のAPが動作していホストA及びB内には、IPv4対応AP1004,プロトコル制御部1005,プロトコル変換制御部1006,LAN制御部1007がある。   Host A 1001, host B 2001, and host C 2007 are connected to the IPv6 network. The host A 1001 and the host B 2001 are hosts having an IPv4-IPv6 conversion function described in this embodiment. Host C is an IPv6-only host, and an IPv6-compatible AP is operating. Hosts A and B include an IPv4-compatible AP 1004, a protocol control unit 1005, a protocol conversion control unit 1006, and a LAN control unit 1007.

まず、ホストA内の各制御部間のインタフェースについて説明する。   First, an interface between each control unit in the host A will be described.

TCP/IPv4対応AP1004とインタフェースプロトコル制御部1005間のインタフェースは、ユーザデータで行われる。   The interface between the TCP / IPv4-compatible AP 1004 and the interface protocol control unit 1005 is performed by user data.

プロトコル制御部1005とプロトコル変換制御1006の間は、IPv4パケットで行われる。IPv4パケットとは、MAC(Media Access Control)ヘッダ部とIPv4パケットデータ部から構成される。プロトコル変換制御部1006とLAN制御部1007の間はIPv6パケットとIPv4パケットで行われる。   The IPv4 packet is used between the protocol control unit 1005 and the protocol conversion control 1006. The IPv4 packet is composed of a MAC (Media Access Control) header part and an IPv4 packet data part. An IPv6 packet and an IPv4 packet are performed between the protocol conversion control unit 1006 and the LAN control unit 1007.

IPv6パケットとは、MACヘッダ部とIPv6ヘッダ部とIPv6パケットデータ部から構成される。つまり、プロトコル変換制御部1006は、プロトコル制御部1005から入力される。IPv4パケットのIPv4ヘッダを見てヘッダ変換するかどうかを判定し、変換する場合はIPv6ヘッダに変換してIPv6パケットをLAN制御部へ出力する。   The IPv6 packet is composed of a MAC header part, an IPv6 header part, and an IPv6 packet data part. That is, the protocol conversion control unit 1006 is input from the protocol control unit 1005. Whether or not to convert the header is determined by looking at the IPv4 header of the IPv4 packet. When converting, the packet is converted into an IPv6 header and the IPv6 packet is output to the LAN control unit.

つぎにホストA〜Dで設定されるアドレスについて説明する。   Next, addresses set by the hosts A to D will be described.

ホストAのプロトコル制御部が保持するIPv4アドレスをIPv4−A,ホストBのプロトコル制御部が保持するIPv4アドレスをIPv4−B,ホストDのプロトコル制御部が保持するIPv4アドレスをIPv4−Dとする。   It is assumed that the IPv4 address held by the protocol control unit of the host A is IPv4-A, the IPv4 address held by the protocol control unit of the host B is IPv4-B, and the IPv4 address held by the protocol control unit of the host D is IPv4-D.

ホストAのアドレス変換テーブルの構成例を図3に示す。   A configuration example of the address conversion table of the host A is shown in FIG.

ホストAのIPv4アドレスIPv4−AにIPv6アドレスIPv6−Aが対応し、ホストBのIPv6アドレスIPv6−BにプライベートIPv4アドレスIPv4−B(private)が対応し、ホストCのIPv6アドレスIPv6−CにプライベートIPv4アドレスIPv4−C(private)が対応している。   IPv6 address IPv6-A corresponds to IPv4 address IPv4-A of host A, private IPv4 address IPv4-B (private) corresponds to IPv6 address IPv6-B of host B, and private to IPv6 address IPv6-C of host C An IPv4 address IPv4-C (private) is supported.

ホストBのアドレス変換テーブルの構成例を図4に示す。   A configuration example of the host B address conversion table is shown in FIG.

ホストBのIPv4アドレスIPv4−BにIPv6アドレスIPv6−Bが対応し、ホストCのIPv6アドレスIPv6−CにプライベートIPv4アドレスIPv4−C(private)が対応し、ホストAのIPv6アドレスIPv6−AにプライベートIPv4アドレスIPv4−A(private)が対応している。   Host B IPv4 address IPv4-B corresponds to IPv6 address IPv6-B, Host C IPv6 address IPv6-C corresponds to private IPv4 address IPv4-C (private), and Host A IPv6 address IPv6-A private The IPv4 address IPv4-A (private) is supported.

NATテーブルの1つめのエントリである自局のIPv4アドレスとIPv6アドレスの対応テーブルは、初期化時に設定される。2つめ以降のエントリは、ユーザがスタティックに設定するか、プロトコル変換制御部内のDNS−NAT連携制御部によってダイナミックに設定される。   The correspondence table of the IPv4 address and IPv6 address of the own station, which is the first entry in the NAT table, is set at the time of initialization. The second and subsequent entries are statically set by the user or dynamically set by the DNS-NAT cooperation control unit in the protocol conversion control unit.

つぎにホストAとホストB,ホストAとホストC,ホストAとホストDの間での通信をアドレス変換テーブルを使って説明する。   Next, communication between host A and host B, host A and host C, and host A and host D will be described using an address conversion table.

まず、ホストAとホストBの通信について説明する。   First, communication between the host A and the host B will be described.

ホストAのIPv4対応APは、ホストBに対する仮のIPv4アドレスIPv4−B(private)を使ってIPv4パケットを送信する。プロトコル変換制御部は、IPv4ヘッダ中の送信先IPv4アドレスを見て、それがアドレス変換テーブルに登録されているので対応するIPv6アドレスをアドレス変換テーブルから取り出してIPv6ヘッダを作成し、IPv6パケットをLAN制御部を使ってLANに送出する。ホストBのLAN制御部2006はIPv6パケットを受信するとそれをプロトコル変換制御部2004へ渡す。   The IPv4-compatible AP of the host A transmits an IPv4 packet using a temporary IPv4 address IPv4-B (private) for the host B. The protocol translation control unit looks at the destination IPv4 address in the IPv4 header, and since it is registered in the address translation table, extracts the corresponding IPv6 address from the address translation table, creates an IPv6 header, and sends the IPv6 packet to the LAN. Send to LAN using control unit. When receiving the IPv6 packet, the LAN control unit 2006 of the host B passes it to the protocol conversion control unit 2004.

プロトコル変換制御部2009はIPv6ヘッダ中の送信先IPv6アドレスを見て、それがアドレス変換テーブルに登録されている場合、対応するIPv4アドレスをアドレス変換テーブル4001から取り出してIPv4ヘッダを作成し、IPv4パケットをプロトコル変換制御部へ渡す。   The protocol conversion control unit 2009 looks at the destination IPv6 address in the IPv6 header and, if it is registered in the address conversion table, extracts the corresponding IPv4 address from the address conversion table 4001 to create an IPv4 header, and generates an IPv4 packet. Is passed to the protocol conversion control unit.

つぎにホストAとホストCの通信について説明する。ホストAではホストBへの通信と同様にホストCに対する仮のIPv4アドレスに対してアドレス変換テーブル3001を使ってIPv6パケットを生成し、ホストCはIPv6パケットをそのまま受信し、プロトコル制御部2009によって解釈される。   Next, communication between the host A and the host C will be described. Similarly to the communication to the host B, the host A generates an IPv6 packet using the address translation table 3001 for the temporary IPv4 address for the host C. The host C receives the IPv6 packet as it is and interprets it by the protocol control unit 2009. Is done.

つぎにホストAとホストDの通信について説明する。   Next, communication between the host A and the host D will be described.

ホストAのIPv4対応APは、ホストDに対するIPv4アドレスIPv4−Dを使ってIPv4パケットを送信する。プロトコル変換制御部は、IPv4ヘッダ中の送信先IPv4アドレスを見る。IPv4−Dは、アドレス変換テーブルに登録されてないのでヘッダ変換は行われず、IPv4パケットLAN制御部を通して送出される。   The IPv4-compatible AP of the host A transmits an IPv4 packet using the IPv4-address IPv4-D for the host D. The protocol conversion control unit looks at the destination IPv4 address in the IPv4 header. Since IPv4-D is not registered in the address conversion table, header conversion is not performed and the packet is sent through the IPv4 packet LAN control unit.

つぎにホストAやホストBのLAN制御装置の構成について図1を使って説明する。図1は、LAN制御装置1001の構成を示している。   Next, the configuration of the LAN control device of host A or host B will be described with reference to FIG. FIG. 1 shows the configuration of the LAN control device 1001.

LAN制御装置1001は、アプリケーション(AP)が動くユーザ空間1002とカーネルが動くカーネル空間1003から構成される。ユーザ空間1002には、TCP/IPv4対応AP1004がある。このAPにtelnet,ftp,HTTPクライアント等TCP/IPv4に対応したプログラムがある。   The LAN control device 1001 includes a user space 1002 in which an application (AP) runs and a kernel space 1003 in which a kernel runs. The user space 1002 includes a TCP / IPv4-compatible AP 1004. There are programs corresponding to TCP / IPv4 such as telnet, ftp, HTTP client, etc. in this AP.

ユーザ空間1002内のTCP/IPv4対応AP 1004とカーネル空間1003内のプロトコル制御部1005間のインタフェースは、TCP/IPv4対応AP 1004が生成するデータパケットを入出力することにより行われる。   The interface between the TCP / IPv4-compatible AP 1004 in the user space 1002 and the protocol control unit 1005 in the kernel space 1003 is performed by inputting and outputting data packets generated by the TCP / IPv4-compatible AP 1004.

カーネル空間1003は、プロトコル制御部1005,プロトコル変換制御部1006,LAN制御部1007から構成されている。   The kernel space 1003 includes a protocol control unit 1005, a protocol conversion control unit 1006, and a LAN control unit 1007.

プロトコル制御部1005とプロトコル変換制御部のインタフェースは、IPv4パケットを入出力することにより行われる。IPv4パケットとは、データパケットにIPv4ヘッダとMAC(Media Access Control)ヘッダを加えたパケットである。プロトコル変換制御部1006とLAN制御部1007の間のインタフェースは、IPv4パケット、又はIPv6パケットを入出力することにより行われる。IPv6パケットとは、データパケットにIPv6ヘッダとMACヘッダを加えたパケットである。   The interface between the protocol control unit 1005 and the protocol conversion control unit is performed by inputting and outputting IPv4 packets. An IPv4 packet is a packet obtained by adding an IPv4 header and a MAC (Media Access Control) header to a data packet. The interface between the protocol conversion control unit 1006 and the LAN control unit 1007 is performed by inputting and outputting IPv4 packets or IPv6 packets. An IPv6 packet is a packet obtained by adding an IPv6 header and a MAC header to a data packet.

プロトコル制御部1005は、TCP送受信制御部1008とIPv4送受信制御部1009から構成される。   The protocol control unit 1005 includes a TCP transmission / reception control unit 1008 and an IPv4 transmission / reception control unit 1009.

プロトコル変換制御部1006は、IPv4−IPv6スイッチ制御部1010,バッファ変換制御部1011,DNS−NAT連携制御部1012,ヘッダ変換制御部1013,IPv6送受信制御部1014,アドレス変換テーブル1015、問い合わせパケットキュー1016から構成される。   The protocol conversion control unit 1006 includes an IPv4-IPv6 switch control unit 1010, a buffer conversion control unit 1011, a DNS-NAT cooperation control unit 1012, a header conversion control unit 1013, an IPv6 transmission / reception control unit 1014, an address conversion table 1015, and an inquiry packet queue 1016. Consists of

つぎに、プロトコル変換制御部内の各制御部について説明する。   Next, each control unit in the protocol conversion control unit will be described.

まず、各制御部間の入出力インタフェースについて説明する。プロトコル変換制御部内の各制御部間はすべて、IPv4パケット又はIPv6パケットを入出力することによって行われる。   First, an input / output interface between the control units will be described. All control units in the protocol conversion control unit are performed by inputting and outputting IPv4 packets or IPv6 packets.

次に各制御部の機能について説明する。   Next, the function of each control unit will be described.

IPv4−IPv6スイッチ制御部1010は、プロトコル制御部1005から渡されたIPv4パケットとLAN制御部からの受信パケット(IPv4パケット又はIPv6パケット)に対するパケットスイッチング機能とプロトコル制御部1005に対するハードウエアアドレスダミー応答処理機能を持つ。この処理内容については後で詳しく説明する。   The IPv4-IPv6 switch control unit 1010 is a packet switching function for an IPv4 packet passed from the protocol control unit 1005 and a received packet (IPv4 packet or IPv6 packet) from the LAN control unit, and a hardware address dummy response process for the protocol control unit 1005 Has function. Details of this process will be described later.

バッファ変換制御部1011は、プロトコル制御部1005が扱うバッファとプロトコル変換制御部1006が扱うバッファの変換制御を行う。   The buffer conversion control unit 1011 performs conversion control of the buffer handled by the protocol control unit 1005 and the buffer handled by the protocol conversion control unit 1006.

IPv6送受信制御部1014は、IPv6プロトコル処理を行う。   The IPv6 transmission / reception control unit 1014 performs IPv6 protocol processing.

ヘッダ変換制御部1013は、アドレス変換テーブル1015に従ってIPv4ヘッダとIPv6ヘッダの変換を行う。DNS−NAT連携制御部は、プロトコル制御部1015からのDNSアドレス問い合わせパケットをコピーし、IPv4アドレスとIPv6アドレスの両方の問い合わせを行う。また、DNS−NAT連携制御部1012は、IPv4のアドレス(通常プライベートアドレス)をプールしていて、接続先ホストのIPv6アドレスに対してプールしていたIPv4アドレスを割り当て(仮IPv4アドレス)、それをヘッダ変換制御部1013内のアドレス変換制御テーブル1015に登録し、その仮IPv4アドレスをプロトコル制御部1005に伝えることにより、上位のTCP/IPv4対応AP1004から仮IPv4アドレスを使ってIPv6ネットワークに接続できるようにする。   The header conversion control unit 1013 converts the IPv4 header and the IPv6 header according to the address conversion table 1015. The DNS-NAT cooperation control unit copies the DNS address inquiry packet from the protocol control unit 1015 and makes an inquiry about both the IPv4 address and the IPv6 address. Also, the DNS-NAT cooperation control unit 1012 pools the IPv4 address (normally private address), assigns the pooled IPv4 address to the IPv6 address of the connection destination host (temporary IPv4 address), and assigns it. By registering in the address translation control table 1015 in the header translation control unit 1013 and transmitting the provisional IPv4 address to the protocol control unit 1005, it is possible to connect to the IPv6 network from the higher level TCP / IPv4-compatible AP 1004 using the provisional IPv4 address To.

また、DNS−NAT連携制御部1012内部には、問い合わせパケットキュー1016を持っている。問い合わせパケットキューとは、プロトコル変換制御部1005が出力するDNS問い合わせパケット情報とその問い合わせパケットに対する処理フラグ(DNS問い合わせパケットに対するDNS応答パケットを処理したかどうかを示すフラグ)を合わせた情報を登録しているテーブルである。この問い合わせパケットキューを使ってアドレス問い合わせパケットをキューイングし、アドレス問い合わせパケットに対する応答パケットの受信制御を行う。DNS−NAT連携制御部1012の処理内容については、後で詳しく説明する。   In addition, the DNS-NAT cooperation control unit 1012 has an inquiry packet queue 1016. The inquiry packet queue registers information that combines DNS inquiry packet information output from the protocol conversion control unit 1005 and a processing flag for the inquiry packet (a flag indicating whether or not a DNS response packet for the DNS inquiry packet has been processed). It is a table. The inquiry packet queue is used to queue an address inquiry packet, and reception of a response packet for the address inquiry packet is controlled. The processing content of the DNS-NAT cooperation control unit 1012 will be described in detail later.

IPv4−IPv6スイッチ制御部1010のハードウエアアドレスダミー処理機能について図7を使って説明する。   The hardware address dummy processing function of the IPv4-IPv6 switch control unit 1010 will be described with reference to FIG.

図7は、LAN制御装置1001内のプロトコル制御部1005、IPv4―IPv6スイッチ制御部1010と接続先ホスト2001間のMACアドレス解決のためのパケットシーケンスを示す図である。   FIG. 7 is a diagram showing a packet sequence for resolving the MAC address among the protocol control unit 1005, the IPv4-IPv6 switch control unit 1010 and the connection destination host 2001 in the LAN control apparatus 1001.

プロトコル制御部1005とIPv4−IPv6スイッチ制御部1010の間は、IPv4パケットが入出力され、IPv4−IPv6スイッチ制御部1010と接続先ホスト2001の間は、IPv6パケットがLANを介して入出力される。   IPv4 packets are input / output between the protocol control unit 1005 and the IPv4-IPv6 switch control unit 1010, and IPv6 packets are input / output between the IPv4-IPv6 switch control unit 1010 and the connection destination host 2001 via the LAN. .

まず、プロトコル制御部1005が接続先ホスト2001に対するハードウエアアドレス解決をするため、ARPのリクエストパケットをIPv4−IPv6スイッチ制御部1010に出力する。   First, the protocol control unit 1005 outputs an ARP request packet to the IPv4-IPv6 switch control unit 1010 in order to resolve the hardware address for the connection destination host 2001.

IPv4−IPv6スイッチ制御部1010は、ARP応答メッセージを作り、プロトコル制御部1005に出力する。ARP応答メッセージ中の送信元ハードウエアアドレスは、IPv4−IPv6スイッチ制御部1010が任意のアドレスを生成し、セットする。プロトコル制御部1005は、このハードウエアアドレスを使ってMACヘッダを作成し、IPv4パケットをIPv4−IPv6スイッチ制御部1010に出力する。IPv4−IPv6スイッチ制御部1010は、ヘッダ変換制御部1013を通してIPv4パケットをIPv6パケットに変換する。このとき、MACヘッダを生成するため、接続先ホスト2001のハードウエアアドレス情報が必要になる。そのため、プロトコル制御部1005から入力し、IPv6パケットに変換したデータを一時IPv4−IPv6スイッチ制御部1010内に保持し、接続先ホスト2001のハードウエアアドレスを問い合わせるためのNS(Neighbor Solicitation)パケットを生成する。   The IPv4-IPv6 switch control unit 1010 creates an ARP response message and outputs it to the protocol control unit 1005. The IPv4-IPv6 switch control unit 1010 generates and sets an arbitrary address as the transmission source hardware address in the ARP response message. The protocol control unit 1005 creates a MAC header using this hardware address, and outputs an IPv4 packet to the IPv4-IPv6 switch control unit 1010. The IPv4-IPv6 switch control unit 1010 converts the IPv4 packet into the IPv6 packet through the header conversion control unit 1013. At this time, since the MAC header is generated, the hardware address information of the connection destination host 2001 is required. Therefore, the data input from the protocol control unit 1005 and converted into the IPv6 packet is held in the temporary IPv4-IPv6 switch control unit 1010, and an NS (Neighbor Solicitation) packet for inquiring the hardware address of the connection destination host 2001 is generated. To do.

IPv4―IPv6スイッチ制御部1010は、このNSパケット(IPv6パケット)をLANを介して接続先ホスト2001に出力する。接続先ホスト2001はNSパケットに対し、自局のハードウエアアドレスを通知するためのNA(Neighbor Advertisement)パケットを生成し、LANを介してLAN制御装置1001のIPv4―IPv6スイッチ制御部1010に出力する。NAパケットを受信したIPv4−IPv6スイッチ制御部1010は、NAパケットに含まれる接続先ホスト2001のハードウエアアドレス情報を元にMACヘッダを生成し、保持していたIPv6パケットデータと共にIPv6パケットを生成し、接続先ホスト2001へLANを介して出力する。   The IPv4-IPv6 switch control unit 1010 outputs this NS packet (IPv6 packet) to the connection destination host 2001 via the LAN. The connection destination host 2001 generates an NA (Neighbor Advertisement) packet for notifying the hardware address of the local station in response to the NS packet, and outputs it to the IPv4-IPv6 switch control unit 1010 of the LAN control device 1001 via the LAN. . The IPv4-IPv6 switch control unit 1010 that has received the NA packet generates a MAC header based on the hardware address information of the connection destination host 2001 included in the NA packet, and generates an IPv6 packet together with the held IPv6 packet data. The data is output to the connection destination host 2001 via the LAN.

ARPメッセージデータのフォーマットを図15に示す。   The format of the ARP message data is shown in FIG.

ARPメッセージのハードウエアタイプフィールドは、LANの種別を示す。Ethernet(登録商標)の場合、1が入る。プロトコルタイプフィールドは、プロトコルタイプを示す0x0800はIPを示している。HLENフィールドは、物理ハードウエアアドレスの長さ、PLENフィールドは、プロトコルアドレスの長さを示している。オペレーションフィールドには、ARPリクエスト、ARP応答等のARPパケットの種別を示している。   The hardware type field of the ARP message indicates the type of LAN. For Ethernet (registered trademark), 1 is entered. In the protocol type field, 0x0800 indicating the protocol type indicates IP. The HLEN field indicates the length of the physical hardware address, and the PLEN field indicates the length of the protocol address. The operation field indicates the type of ARP packet such as an ARP request and an ARP response.

つぎに、図10を使ってIPv4−IPv6スイッチ制御部1010のパケットスイッチ制御機能について説明する。   Next, the packet switch control function of the IPv4-IPv6 switch control unit 1010 will be described with reference to FIG.

図10は、IPv4−IPv6スイッチ制御部1010のパケットスイッチ制御処理フローを示している。   FIG. 10 shows a packet switch control processing flow of the IPv4-IPv6 switch control unit 1010.

IPv4−IPv6スイッチ制御部1010は、プロトコル制御部1006から入力されるIPv4パケットのヘッダ変換処理判定とDNSパケット判定をしている。また、LAN制御部1007から入力されたIPv4パケットのヘッダ変換処理判定を行っている。   The IPv4-IPv6 switch control unit 1010 performs header conversion processing determination and DNS packet determination of the IPv4 packet input from the protocol control unit 1006. Also, the header conversion process determination of the IPv4 packet input from the LAN control unit 1007 is performed.

まず、プロトコル制御部1005から入力されるパケットに対する処理について説明する。   First, processing for a packet input from the protocol control unit 1005 will be described.

IPv4−IPv6スイッチ制御部1010は、プロトコル制御部1005からIPv4パケットを入力すると、まず、それがDNSパケットであるかどうかを判定する(10001)。DNSパケットの場合、DNSヘッダのメッセージ内容を解釈してメッセージの内容により呼び出す制御部をスイッチする(10002)。   When an IPv4 packet is input from the protocol control unit 1005, the IPv4-IPv6 switch control unit 1010 first determines whether it is a DNS packet (10001). In the case of a DNS packet, the message content of the DNS header is interpreted and the control unit to be called according to the message content is switched (10002).

そのメッセージの内容がDNS応答パケットの場合、IPv4パケットをそのままLAN制御部に出力する(10003)。そのメッセージの内容がDNS問い合わせパケットの場合は、DNS−NAT連携制御部にIPv4パケットを出力する(10004)。   When the content of the message is a DNS response packet, the IPv4 packet is output as it is to the LAN control unit (10003). When the content of the message is a DNS inquiry packet, an IPv4 packet is output to the DNS-NAT cooperation control unit (10004).

プロトコル制御部1005からの入力されたIPv4パケットがDNSパケット以外の場合は、入力したIPv4パケットのIPv4ヘッダ内の送信先IPv4アドレスを元にヘッダ変換制御部1013内のアドレス変換テーブル1015の検索を行う(10005)。IPv4ヘッダ内の送信先IPv4アドレスがアドレス変換テーブル1015に登録されているIPv4アドレスと一致していなかったら、LAN制御部にIPv4パケットをそのまま出力する(10006)。一致していたらヘッダ変換制御部1011にIPv4パケットを出力して、プロトコル変換処理を行う(10007)。   When the IPv4 packet input from the protocol control unit 1005 is not a DNS packet, the address conversion table 1015 in the header conversion control unit 1013 is searched based on the destination IPv4 address in the IPv4 header of the input IPv4 packet. (10005). If the destination IPv4 address in the IPv4 header does not match the IPv4 address registered in the address translation table 1015, the IPv4 packet is output as it is to the LAN control unit (10006). If they match, an IPv4 packet is output to the header conversion control unit 1011 to perform protocol conversion processing (10007).

つぎに、IPv4−IPv6スイッチ制御部1010がLAN制御部1007からIPv4又はIPv6パケット入力した場合についての処理を説明する。   Next, processing when the IPv4-IPv6 switch control unit 1010 receives an IPv4 or IPv6 packet from the LAN control unit 1007 will be described.

LAN制御部1007からパケットを入力するとIPv4−IPv6スイッチ制御部1010はそのパケットがIPv4パケットかIPv6パケットかを判定する(10008)。IPv4パケットの場合、それがDNS応答パケットであるかどうかを判定し(10009)、DNS応答パケットでない場合、プロトコル制御部にIPv4パケットを出力する(10010)。DNS応答パケットの場合、DNS−NAT連携制御部にIPv4パケットを出力する(10011)。LAN制御部1007から入力されたパケットがIPv6パケットの場合、IPv6送受信制御部1014にIPv6パケットを出力する(10012)。   When a packet is input from the LAN control unit 1007, the IPv4-IPv6 switch control unit 1010 determines whether the packet is an IPv4 packet or an IPv6 packet (10008). If it is an IPv4 packet, it is determined whether it is a DNS response packet (10009). If it is not a DNS response packet, an IPv4 packet is output to the protocol control unit (10010). In the case of a DNS response packet, an IPv4 packet is output to the DNS-NAT cooperation control unit (10011). When the packet input from the LAN control unit 1007 is an IPv6 packet, the IPv6 packet is output to the IPv6 transmission / reception control unit 1014 (10012).

DNSパケットのフォーマットについて図11〜図14を使って説明する。   A DNS packet format will be described with reference to FIGS.

DNSパケットは通常、UDP(User Datagram Protocol)が使われる。UDPヘッダフォーマットを図11に示す。UDPヘッダは、ソースポート番号、ディスティネーションポート番号、データ長、UDPチェックサムフィールドで構成される。DNSのポート番号は通常53が使用される。図12は、DNSヘッダフォーマットを示している。DNSヘッダは、ID、制御フィールド、問い合わせレコード数、応答レコード数、登録機関レコード数、追加レコード数のフィールドに分かれている。IDフィールドは、問い合わせパケットを生成するときに任意に生成される値で、問い合わせパケットに対応する応答パケットのDNSヘッダ中のIDは、これと同じ値を持つ。制御フィールドには、問い合わせ/応答種別等のパケット情報が入っている。   The DNS packet normally uses UDP (User Datagram Protocol). The UDP header format is shown in FIG. The UDP header includes a source port number, a destination port number, a data length, and a UDP checksum field. DNS port number is normally 53. FIG. 12 shows the DNS header format. The DNS header is divided into fields of ID, control field, inquiry record number, response record number, registration authority record number, and additional record number. The ID field is a value arbitrarily generated when the inquiry packet is generated, and the ID in the DNS header of the response packet corresponding to the inquiry packet has the same value. The control field contains packet information such as an inquiry / response type.

図13は、DNS問い合わせメッセージフォーマットを示している。名前フィールドには、問い合わせのドメインネームがセットされる。QTYPEフィールドは、IPv4/IPv6アドレスの等の問い合わせ種別情報がセットされる。   FIG. 13 shows a DNS inquiry message format. In the name field, the domain name of the query is set. In the QTYPE field, inquiry type information such as IPv4 / IPv6 address is set.

図14は、DNS応答メッセージフォーマットを示している。名前フィールドは問い合わせのドメインネームがセットされる。QTYPEフィールドは、IPv4/IPv6アドレスの等の問い合わせ種別情報がセットされる。IPv4 or IPv6アドレスフィールドは、QTYPEフィールドで指定したアドレス種別に対応するアドレスがセットされる。   FIG. 14 shows a DNS response message format. The name field is set to the domain name of the query. In the QTYPE field, inquiry type information such as IPv4 / IPv6 address is set. In the IPv4 or IPv6 address field, an address corresponding to the address type specified in the QTYPE field is set.

DNS−NAT連携制御部1012の処理フローについて図8、9を使って説明する。DNS−NAT連携制御部1012は、その処理内容を大きく分けてプロトコル制御部1005から入力されるDNSパケットの処理(図8のDNSパケット送信処理で説明する)とLAN制御部1007から入力するDNSパケットの処理(図9のDNSパケット受信処理で説明する)に分けられる。   A processing flow of the DNS-NAT cooperation control unit 1012 will be described with reference to FIGS. The DNS-NAT cooperation control unit 1012 roughly divides the processing contents into DNS packet processing (described in the DNS packet transmission processing of FIG. 8) input from the protocol control unit 1005 and DNS packet input from the LAN control unit 1007. (Described in the DNS packet reception process of FIG. 9).

まず、図8を使ってDNS−NAT連携制御部1012がIPv4―IPv6スイッチ制御部1010からDNSアドレス問い合わせパケット(IPv4パケット)を入力したときの処理フローについて説明する。   First, a processing flow when the DNS-NAT cooperation control unit 1012 receives a DNS address inquiry packet (IPv4 packet) from the IPv4-IPv6 switch control unit 1010 will be described with reference to FIG.

まず、入力したIPv4パケットのUDPヘッダをチェックし、ソースポート番号が53でDNSヘッダ内のタイプがDNS問い合わせパケットかどうか判定する(8001)。DNSアドレス問い合わせパケットでない場合、IPv4パケットをそのままLAN制御部に出力する(8002)。   First, the UDP header of the input IPv4 packet is checked to determine whether the source port number is 53 and the type in the DNS header is a DNS inquiry packet (8001). If it is not the DNS address inquiry packet, the IPv4 packet is output as it is to the LAN control unit (8002).

DNSアドレス問い合わせパケットの場合、DNSパケットをコピーし(8003)、コピーしたパケットを使ってIPv6アドレスに対するDNS問い合わせパケットを生成する(8004)。そして、DNSヘッダのIDを問い合わせパケットキューに登録する(8005)。   In the case of a DNS address inquiry packet, the DNS packet is copied (8003), and a DNS inquiry packet for the IPv6 address is generated using the copied packet (8004). Then, the DNS header ID is registered in the inquiry packet queue (8005).

最後に、IPv6アドレスのDNS問い合わせパケットをLAN制御部1007に出力し(8006)、IPv4アドレスのDNS問い合わせパケットをLAN制御部1007に出力する(8007)。   Finally, the DNS inquiry packet with the IPv6 address is output to the LAN control unit 1007 (8006), and the DNS inquiry packet with the IPv4 address is output to the LAN control unit 1007 (8007).

つぎに図9を使ってDNS−NAT連携制御部1012がLAN制御部1007よりDNS応答パケットを入力したときの処理フローについて説明する。   Next, a processing flow when the DNS-NAT cooperation control unit 1012 receives a DNS response packet from the LAN control unit 1007 will be described with reference to FIG.

まず、受信パケットのDNSヘッダのIDと問い合わせパケットキューに登録してあるIDの比較を行い、DNS応答パケットのIDが問い合わせパケットキュー1016に登録してある識別子と合致したものがあるかどうか検索する(9001)。   First, the DNS header ID of the received packet is compared with the ID registered in the inquiry packet queue, and a search is made to see if the DNS response packet ID matches the identifier registered in the inquiry packet queue 1016. (9001).

無かったらそのままプロトコル制御部1005へDNS応答パケットを出力する(9002)。あった場合、DNS問い合わせキューの該当パケットに対し、既に応答パケットがきたかどうかをチェックする(9003)。既に応答パケットが来ていたら、該当レコードを問い合わせキューからデキューして(9004)、現在受信処理中のDNS応答パケットは廃棄する(9005)。   If not, a DNS response packet is output to the protocol control unit 1005 as it is (9002). If there is, a check is made to see if a response packet has already been received for the packet in the DNS inquiry queue (9003). If a response packet has already arrived, the corresponding record is dequeued from the inquiry queue (9004), and the DNS response packet currently being received is discarded (9005).

まだ、応答パケットが未処理の場合は、問い合わせキューの該当レコードに処理済みフラグを立て(9006)。次の処理に進む。   If the response packet is not yet processed, a processed flag is set in the corresponding record in the inquiry queue (9006). Proceed to the next process.

つぎに、応答メッセージ内のIPアドレスを判定する(9007)。応答メッセージのIPアドレスがIPv4アドレスの場合、そのままDNS応答パケットをプロトコル制御部に渡す(9008)。応答メッセージ内のIPアドレスがIPv6の場合、対応するIPv4アドレスをアドレスプールテーブルより取り出して、アドレス変換テーブルに登録する(9009)。つぎに、アサインしたIPv4アドレスを使ってDNS応答パケットを作成(9010)し、作成したDNS応答パケットをプロトコル制御部1005へ出力する(9011)。   Next, the IP address in the response message is determined (9007). When the IP address of the response message is an IPv4 address, the DNS response packet is directly passed to the protocol control unit (9008). If the IP address in the response message is IPv6, the corresponding IPv4 address is extracted from the address pool table and registered in the address conversion table (9009). Next, a DNS response packet is created using the assigned IPv4 address (9010), and the created DNS response packet is output to the protocol control unit 1005 (9011).

つぎに、本発明の第二の実施例について説明する。   Next, a second embodiment of the present invention will be described.

図5は、LAN制御装置5001の構成を示している。LAN制御装置5001は、アプリケーション(AP)が動くユーザ空間1002とカーネルが動くカーネル空間1003からなる。ユーザ空間1002には、TCP/IPv4対応AP1004がある。   FIG. 5 shows the configuration of the LAN control device 5001. The LAN control device 5001 includes a user space 1002 in which an application (AP) runs and a kernel space 1003 in which a kernel runs. The user space 1002 includes a TCP / IPv4-compatible AP 1004.

カーネル空間1003には、プロトコル制御部1005、プロトコル変換制御部1006、LAN制御部1007から構成されている。   The kernel space 1003 includes a protocol control unit 1005, a protocol conversion control unit 1006, and a LAN control unit 1007.

プロトコル制御部は、TCP送受信制御部1008とIPv4制御部1009から構成され、TCP/IP対応AP1004から受け取ったデータをIPv4パケットとしてプロトコル変換制御部1006に渡す。   The protocol control unit includes a TCP transmission / reception control unit 1008 and an IPv4 control unit 1009, and passes data received from the TCP / IP compatible AP 1004 to the protocol conversion control unit 1006 as an IPv4 packet.

プロトコル変換制御部1006は、IPv4−IPv6スイッチ制御部1010、バッファ変換制御部1011、DNS−NAT連携制御部1012、ヘッダ変換制御部1013、IPv4送受信制御部1016、IPv6送受信制御部1014から構成される。   The protocol conversion control unit 1006 includes an IPv4-IPv6 switch control unit 1010, a buffer conversion control unit 1011, a DNS-NAT cooperation control unit 1012, a header conversion control unit 1013, an IPv4 transmission / reception control unit 1016, and an IPv6 transmission / reception control unit 1014. .

つぎに、各制御部についての機能内容について説明する。   Next, functional contents of each control unit will be described.

IPv4−IPv6スイッチ制御部1010は、プロトコル制御部1005から渡されたIPv4パケットとLAN制御部1007からの受信パケット(IPv4パケット、IPv6パケット)に対して、パケットスイッチ制御機能を持つ。バッファ変換制御部1011は、プロトコル制御部1005とプロトコル変換制御部1006のバッファ変換制御を行う。   The IPv4-IPv6 switch control unit 1010 has a packet switch control function for the IPv4 packet passed from the protocol control unit 1005 and the received packet (IPv4 packet, IPv6 packet) from the LAN control unit 1007. The buffer conversion control unit 1011 performs buffer conversion control of the protocol control unit 1005 and the protocol conversion control unit 1006.

IPv4送受信制御部は、IPv4プロトコル処理を行う。   The IPv4 transmission / reception control unit performs IPv4 protocol processing.

IPv6送受信制御部は、IPv6プロトコル処理を行う。アドレス変換制御部は、アドレス変換テーブルに従ってIPv4ヘッダとIPv6ヘッダの変換を行う。DNS−NAT連携制御部は、IPv4のアドレス(通常プライベートアドレス)をプールしていて、接続先ホストのIPv6アドレスにプールしていたIPv4アドレスを割り当て、それをアドレス変換制御部内のアドレス変換制御テーブルに登録する。   The IPv6 transmission / reception control unit performs IPv6 protocol processing. The address translation control unit translates the IPv4 header and the IPv6 header according to the address translation table. The DNS-NAT cooperation control unit pools IPv4 addresses (usually private addresses), assigns the pooled IPv4 address to the IPv6 address of the connection destination host, and assigns it to the address translation control table in the address translation control unit. sign up.

つぎに、本発明の第三の実施例について説明する。   Next, a third embodiment of the present invention will be described.

図6は、LAN制御装置6001の構成を示している。これは、PC等で一般的に使用される構成として、カーネル6004、TCP/IPv4対応AP6002、ソケットエミュレータ6003、トランスポートドライバ(TCP/IP)6005、カーネル−ネットワーク間インタフェース制御部6006、ネットワークインタフェース制御部6007、NIC(Netowork Interface Card)制御部6015がある。   FIG. 6 shows the configuration of the LAN control device 6001. This configuration includes a kernel 6004, a TCP / IPv4-compatible AP 6002, a socket emulator 6003, a transport driver (TCP / IP) 6005, a kernel-to-network interface control unit 6006, and a network interface control. A unit 6007 and a NIC (Netowork Interface Card) control unit 6015.

本発明では、ネットワークインタフェース制御部6007とNIC制御部6015の間に、IPv4−IPv6スイッチ制御部1010、バッファ変換制御部6009、ヘッダ変換制御部1013、IPv4送受信制御部5017、IPv6送受信制御部1014、DNS−NAT連携制御部1012を設けることによりIPv4−IPv6ヘッダ変換機能を実現し、IPv4対応アプリケーションをIPv6ネットワーク上で通信可能にさせる。   In the present invention, between the network interface control unit 6007 and the NIC control unit 6015, an IPv4-IPv6 switch control unit 1010, a buffer conversion control unit 6009, a header conversion control unit 1013, an IPv4 transmission / reception control unit 5017, an IPv6 transmission / reception control unit 1014, By providing the DNS-NAT cooperation control unit 1012, an IPv4-IPv6 header conversion function is realized, and an IPv4-compatible application can be communicated on an IPv6 network.

IPv4−IPv6スイッチ制御部1010は、ネットワークインタフェース制御部6007から渡されたIPv4パケットとNIC制御部6015からの受信パケット(IPv4パケットまたは、IPv6パケット)に対して、パケットスイッチ制御を行う。バッファ変換制御部6009は、カーネル6004が管理するバッファとIPv4送受信制御部5017、IPv6送受信制御部1014、ヘッダ変換制御部1013、DNS−NAT連携制御部1012が扱うバッファとの変換制御を行う。   The IPv4-IPv6 switch control unit 1010 performs packet switch control on the IPv4 packet passed from the network interface control unit 6007 and the received packet (IPv4 packet or IPv6 packet) from the NIC control unit 6015. The buffer conversion control unit 6009 performs conversion control between the buffer managed by the kernel 6004 and the buffers handled by the IPv4 transmission / reception control unit 5017, the IPv6 transmission / reception control unit 1014, the header conversion control unit 1013, and the DNS-NAT cooperation control unit 1012.

IPv4送受信制御部5017は、IPv4プロトコル処理を行う。   The IPv4 transmission / reception control unit 5017 performs IPv4 protocol processing.

IPv6送受信制御部1014は、IPv6プロトコル処理を行う。ヘッダ変換制御部1013は、アドレス変換テーブル1015に従ってIPv4ヘッダとIPv6ヘッダの変換を行う。DNS−NAT連携制御部1012は、IPv4のアドレス(通常プライベートアドレス)をプールしていて、接続先ホストのIPv6アドレスに対してプールしていたIPv4アドレスを割り当て、それをヘッダ変換制御部内のアドレス変換制御テーブル1015に登録する。   The IPv6 transmission / reception control unit 1014 performs IPv6 protocol processing. The header conversion control unit 1013 converts the IPv4 header and the IPv6 header according to the address conversion table 1015. The DNS-NAT cooperation control unit 1012 pools IPv4 addresses (usually private addresses), assigns the pooled IPv4 address to the IPv6 address of the connection destination host, and assigns it to the address translation in the header translation control unit. Register in the control table 1015.

1001…LAN制御装置、
1004…TCP/IPv4対応AP、
1005…プロトコル制御部、
1006…プロトコル変換制御部、
1007…LAN制御部、
1008…TCP送受信制御部、
1009…IPv4送受信部、
1010…IPv4−IPv6スイッチ制御部、
1011…バッファ変換制御部、
1012…DNS−NAT連携制御部、
1013…ヘッダ変換制御部、
1014…IPv6送受信制御部、
1015…アドレス変換テーブル。
1001 ... LAN control device,
1004 ... TCP / IPv4-compatible AP,
1005 ... Protocol control unit,
1006 ... Protocol conversion control unit,
1007 ... LAN controller,
1008 ... TCP transmission / reception control unit,
1009 ... IPv4 transmission / reception unit,
1010 ... IPv4-IPv6 switch control unit,
1011: Buffer conversion control unit,
1012 ... DNS-NAT cooperation control unit,
1013: Header conversion control unit,
1014 ... IPv6 transmission / reception control unit,
1015: Address conversion table.

Claims (6)

ネットワークを介して接続される他の装置と通信し、第1の通信プロトコルに対応するアプリケーションプログラムが動作する情報処理装置におけるパケット通信方法であって、
前記他の装置のアドレスを問い合わせる問合せパケットを前記ネットワークに送信し、
前記ネットワークから前記他の装置の第2の通信プロトコルに対応したアドレスを含むアドレス応答パケットを受信し、
前記アドレス応答パケットに含まれる前記他の装置の第2の通信プロトコルに対応したアドレスに対して、第1の通信プロトコルに対応したアドレスを割り当て、
記第1の通信プロトコルに対応したアドレスと前記他の装置の第2の通信プロトコルに対応したアドレスとの対応付けを記憶し、
前記アプリケーションプログラムが前記他の装置に前記第1の通信プロトコルに対応する第1のパケットを送信する際に、
前記第1のパケットに宛先アドレスとして含まれる前記第1の通信プロトコルに対応した第1のアドレスに対応付けられた前記第2の通信プロトコルに対応した第2のアドレスが記憶されている場合は、前記第1のパケットを前記第2のアドレスを宛先アドレスとして含む第2のパケットに変換して前記他の装置へ送信し、
前記第1のアドレスに対応付けられた前記第2のアドレスが記憶されていない場合は、前記第1のパケットを前記他の装置へ送信するパケット通信方法。
A packet communication method in an information processing apparatus that communicates with another apparatus connected via a network and operates an application program corresponding to the first communication protocol,
Sending an inquiry packet inquiring about the address of the other device to the network;
Receiving an address response packet including an address corresponding to the second communication protocol of the other device from the network;
Assigning an address corresponding to the first communication protocol to an address corresponding to the second communication protocol of the other device included in the address response packet;
Storing the correspondence between addresses corresponding to the second communication protocol with the address corresponding to the previous SL first communication protocol the other apparatus,
When the application program transmits a first packet corresponding to the first communication protocol to the other device,
When a second address corresponding to the second communication protocol associated with the first address corresponding to the first communication protocol included in the first packet as a destination address is stored, Converting the first packet into a second packet including the second address as a destination address and transmitting the second packet to the other device;
A packet communication method for transmitting the first packet to the other device when the second address associated with the first address is not stored.
請求項1記載のパケット通信方法であって、
前記情報処理装置において、前記アプリケーションプログラムが前記他の装置から前記第2の通信プロトコルに対応するパケットを受信する際に、
前記記憶した対応付けに基づいて、前記受信パケットに含まれる送信アドレスを前記第2の通信プロトコルに対応したアドレスから前記第1の通信プロトコルに対応したアドレスに変換するパケット通信方法。
The packet communication method according to claim 1, comprising:
In the information processing apparatus, when the application program receives a packet corresponding to the second communication protocol from the other apparatus,
A packet communication method for converting a source address included in the received packet from an address corresponding to the second communication protocol to an address corresponding to the first communication protocol based on the stored association.
請求項1記載のパケット通信方法であって、
前記第1の通信プロトコルはIPv4であり、前記第2の通信プロトコルはIPv6であるパケット通信方法。
The packet communication method according to claim 1, comprising:
The packet communication method, wherein the first communication protocol is IPv4 and the second communication protocol is IPv6.
請求項3記載のパケット通信方法であって、
前記アプリケーションプログラムが前記他の装置にIPv4パケットを送信する際に、
前記情報処理装置は、前記記憶した対応付けに基づいて、前記IPv4パケットに含まれる送信先アドレスをIPv4アドレスからIPv6アドレスに変換し、前記IPv4パケットのヘッダをIPv4ヘッダからIPv6ヘッダに変換するパケット通信方法。
The packet communication method according to claim 3, wherein
When the application program sends an IPv4 packet to the other device,
Based on the stored association, the information processing apparatus converts a destination address included in the IPv4 packet from an IPv4 address to an IPv6 address, and converts a header of the IPv4 packet from an IPv4 header to an IPv6 header. Method.
請求項3記載のパケット通信方法であって、
前記情報処理装置において、複数のIPv4アドレスを保持し、
前記第1のアドレスは、前記保持された複数のIPv4アドレスの1つを割り当てたIPv4アドレスであり、
前記第2のアドレスは前記他の装置に割り当てられたIPv6アドレスであるパケット通信方法。
The packet communication method according to claim 3, wherein
The information processing apparatus holds a plurality of IPv4 addresses,
The first address is an IPv4 address to which one of the held plurality of IPv4 addresses is assigned,
The packet communication method, wherein the second address is an IPv6 address assigned to the other device.
請求項3記載のパケット通信方法であって、
前記情報処理装置において、前記アプリケーションプログラムが前記他の装置からIPv6パケットを受信する際に、
前記記憶した対応付けに基づいて、前記受信したIPv6パケットに含まれる送信アドレスをIPv6アドレスからIPv4アドレスに変換し、前記IPv6パケットのヘッダをIPv6ヘッダからIPv4ヘッダに変換するパケット通信方法。
The packet communication method according to claim 3, wherein
In the information processing apparatus, when the application program receives an IPv6 packet from the other apparatus,
A packet communication method for converting a source address included in the received IPv6 packet from an IPv6 address to an IPv4 address based on the stored association, and converting a header of the IPv6 packet from an IPv6 header to an IPv4 header.
JP2009139752A 2009-06-11 2009-06-11 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM Expired - Lifetime JP4670979B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009139752A JP4670979B2 (en) 2009-06-11 2009-06-11 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009139752A JP4670979B2 (en) 2009-06-11 2009-06-11 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006337736A Division JP4349413B2 (en) 2006-12-15 2006-12-15 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM

Publications (2)

Publication Number Publication Date
JP2009207182A JP2009207182A (en) 2009-09-10
JP4670979B2 true JP4670979B2 (en) 2011-04-13

Family

ID=41148904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009139752A Expired - Lifetime JP4670979B2 (en) 2009-06-11 2009-06-11 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM

Country Status (1)

Country Link
JP (1) JP4670979B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253876A (en) * 2013-06-28 2014-12-31 比威网络技术有限公司 Mapping table of stateful IPv6 and IPv4 communication and management method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230687B1 (en) 2011-11-16 2019-03-12 Google Llc Apparatus and method for correlating addresses of different Internet protocol versions
JP5964692B2 (en) * 2012-08-13 2016-08-03 日本電気通信システム株式会社 Protocol conversion support apparatus, protocol conversion support method, and protocol conversion support program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023072A (en) * 1996-07-04 1998-01-23 Hitachi Ltd Ip network connecting method, ip network translator and network system using translator
JP3915230B2 (en) * 1998-02-27 2007-05-16 株式会社日立製作所 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING ITS FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023072A (en) * 1996-07-04 1998-01-23 Hitachi Ltd Ip network connecting method, ip network translator and network system using translator
JP3915230B2 (en) * 1998-02-27 2007-05-16 株式会社日立製作所 PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING ITS FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253876A (en) * 2013-06-28 2014-12-31 比威网络技术有限公司 Mapping table of stateful IPv6 and IPv4 communication and management method
CN104253876B (en) * 2013-06-28 2017-12-01 比威网络技术有限公司 The mapping item and management method that stateful IPv6 communicates with IPv4

Also Published As

Publication number Publication date
JP2009207182A (en) 2009-09-10

Similar Documents

Publication Publication Date Title
US7158526B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
US7701952B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
US7639686B2 (en) Access network clusterhead for providing local mobility management of a roaming IPv4 node
KR100560737B1 (en) appatus for converting IPv4-to-IPv6 using dual stack and method thereof
US7443880B2 (en) Arrangement for reaching IPv4 public network nodes by a node in a IPv4 private network via an IPv6 access network
US7231452B2 (en) Method and apparatus for communicating on a communication network
KR100817552B1 (en) Protocol conversion apparatus between ipv4 terminal and ipv6 terminal or between one application program and another application program using mapping table and method, and generation method of mapping table of the protocol conversion apparatus
US7315543B2 (en) Apparatus and method for data communication on packet-switching network
JP4186446B2 (en) Address translation method
US7573903B2 (en) IPv6/IPv4 translator
TWI441493B (en) System and method for connection of hosts behind nats
US20060067342A1 (en) Method and system in an IP network for using a network address translation (NAT) with any type of application
US20120011234A1 (en) Method for enabling ipv 6 host to access ipv4 host, method for obtaining ipv6 address prefix, and translation apparatus
US20060146870A1 (en) Transparent communication with IPv4 private address spaces using IPv6
EP2472811A1 (en) Method and system for implementing interconnection between internet protocol version 4 network and new network
JP3915230B2 (en) PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING ITS FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM
Fiuczynski et al. The Design and Implementation of an IPv6/IPv4 Network Address and Protocol Translator.
JP4572938B2 (en) Address translation method
JP4670979B2 (en) PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM
JP4349413B2 (en) PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM
KR100562390B1 (en) Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique
JPH1155319A (en) Ipv4-ipv6 communication method and conversion device therefor
KR20060081016A (en) Header translation system and method using network processor
JPH11136285A (en) Ipv4-ipv6 communication method and ipv4-ipv6 converter
Elahi et al. Internet Protocols Part I

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101207

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: 20101221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110103

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

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

EXPY Cancellation because of completion of term