KR20030075237A - Method and system for communicating with host having applications using heterogeneous internet protocols and target platform - Google Patents
Method and system for communicating with host having applications using heterogeneous internet protocols and target platform Download PDFInfo
- Publication number
- KR20030075237A KR20030075237A KR1020020014296A KR20020014296A KR20030075237A KR 20030075237 A KR20030075237 A KR 20030075237A KR 1020020014296 A KR1020020014296 A KR 1020020014296A KR 20020014296 A KR20020014296 A KR 20020014296A KR 20030075237 A KR20030075237 A KR 20030075237A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- internet protocol
- destination platform
- communication
- host
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 90
- 230000004044 response Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 56
- 230000009977 dual effect Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/167—Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 서로 다른 인터넷 프로토콜(Internet Protocol)을 사용하는 애플리케이션(application)을 구비한 호스트(host)가 목적지 플랫폼(platform)과 통신하기 위한 방법 및 시스템에 관한 것이다. 통신 방법은 호스트가 목적지 플랫폼의 인터넷 프로토콜에 관한 정보를 획득하는 단계와, 획득한 정보에 근거하여 목적지 플랫폼의 인터넷 프로토콜과 로컬(local) 애플리케이션의 인터넷 프로토콜이 동일한지의 결과에 따라 상이한 방식으로 목적지 플랫폼과 통신하는 단계를 포함한다. 통신 시스템은 IPv4를 사용하는 통신망과 IPv6를 사용하는 통신망이 라우터를 통해 연결되어 있으며, IPv6를 사용하는 통신망 상에 마련되어 있는 호스트를 포함한다. 이 호스트는 IPv4 및 IPv6를 사용하는 통신망에 연결된 임의의 목적지 플랫폼과 통신할 수 있다.The present invention relates to a method and system for a host having an application using different Internet Protocols to communicate with a destination platform. The communication method is based on the step of the host acquiring information about the Internet protocol of the destination platform, and based on the obtained information, the destination platform in different ways depending on the result of whether the Internet protocol of the destination platform and the Internet protocol of the local application are the same. Communicating with the. The communication system includes a host in which a communication network using IPv4 and an IPv6 communication network are connected through a router, and are provided on a communication network using IPv6. This host can communicate with any destination platform connected to a communication network using IPv4 and IPv6.
Description
본 발명은 서로 다른 인터넷 프로토콜(Internet Protocol: IP)을 사용하는 통신망을 연동시키기 위한 방법 및 장치에 관한 것으로서, 보다 상세하게는 서로 다른 인터넷 프로토콜을 사용하는 애플리케이션(application)을 구비한 호스트(host)가 목적지 플랫폼(platform)과 통신하기 위한 방법 및 시스템에 관한 것이다.The present invention relates to a method and apparatus for interworking a communication network using different Internet protocols (IP), and more particularly, to a host having an application using different internet protocols. Relates to a method and system for communicating with a destination platform.
인터넷은 1990년대 이후 일반 사용자의 이용이 가능하게 됨으로써 급속하게 그 사용이 확대되어, 현재까지 지속적으로 발전되고 있다. 이러한 인터넷의 활용은 인터넷 관련 기술 성장의 견인차가 되기도 하였으나, 통신 속도 저하, 접속 병목 현상, 라우팅(routing) 과부하 등의 문제점이 발생되었다. 또한, 소수의 사용자에 의해 독점되던 인터넷을 다수의 사용자가 사용하게 됨으로써 초기에 예측하지 못한 호스트 IP 주소 부족이 나타나게 되었다. 아울러, 다수의 사용자 접속으로 인한 보안 문제가 나타나게 되었고, 향후 인터넷 이용이 데이터 중심에서 인터넷 방송, 화상 회의, 원격 진료 등의 실시간 스트리밍(streaming) 중심으로 발전하게 될 것이지만 현재의 인터넷 프로토콜인 IPv4(Internet Protocol version 4)는 서비스 전송 품질(Quality of Service)을 보장해야 하는 실시간 데이터 이용에 한계가있으며 다양한 애플리케이션 구현이 곤란하다는 문제점이 있다. 따라서, 이를 해결하기 위한 새로운 인터넷 프로토콜 기술에 대한 연구가 진행되어, 차세대 인터넷에 적용될 인터넷 프로토콜로서 IPv6이 표준화되었다.Since the Internet became available to the general public since the 1990s, its use has rapidly expanded and continues to be developed. The use of the Internet has been a driving force for the growth of Internet-related technologies, but problems such as communication speed degradation, connection bottlenecks, and routing overload have occurred. In addition, the use of the Internet, which was monopolized by a small number of users, resulted in an unforeseen lack of host IP addresses. In addition, security problems due to multiple user accesses have emerged, and in the future, Internet use will evolve from data-centered to real-time streaming such as Internet broadcasting, video conferencing, and telemedicine. Protocol version 4 has a problem in that it is difficult to implement various applications in real time data use which must guarantee the quality of service. Accordingly, researches on new Internet protocol technologies have been conducted to solve this problem, and IPv6 has been standardized as an Internet protocol to be applied to the next generation Internet.
IPv6의 특징은 크게 세 가지로 요약될 수 있다. 첫 번째 특징은 IP 주소가 대폭적으로 확장된다는 것으로, 현존하는 IPv4의 32비트 주소 체계에서 128비트 주소 체계를 채택함으로써 이론적으로는 거의 무한대의 인터넷 주소를 할당할 수 있다는 것이다. 또한, 인터넷 주소를 종래의 A, B, C, D 등급과 같은 클래스별 할당이 아닌 유니캐스트(unicast), 애니캐스트(anycast), 멀티캐스트(multicast) 형태로 할당하기 때문에 IPv4에서와 같이 할당된 주소의 낭비 요인이 없어지게 된다는 효과가 있다.The features of IPv6 can be summarized into three major categories. The first feature is that the IP address expands significantly, and by adopting a 128-bit addressing scheme from the existing 32-bit addressing scheme of IPv4, it is theoretically possible to allocate almost unlimited Internet addresses. In addition, since Internet addresses are assigned in the form of unicast, anycast, and multicast rather than class-specific assignment such as the conventional A, B, C, and D classes, they are allocated as in IPv4. The effect is that there is no waste of addresses.
두 번째 특징은 멀티미디어 데이터(multimedia data)의 실시간 처리가 가능하다는 것으로, 각기 상이한 대역폭에서도 멀티미디어 데이터의 처리가 원활히 이루어지도록 대역폭을 확보할 수 있게 지원한다는 것이다. 상세하게, IPv6의 헤더(header) 구조 변화에 따라 새로이 추가된 플로우 라벨(flow label) 기능을 이용한 서비스 전송 품질이라는 개념을 도입하여 일정 수준 이상의 서비스 품질을 요구하는 가입자 사이에도 두 개의 주소(address)간에 전송되는 패킷(packet)을 특수 처리함으로써 예컨대, 화상 회의와 같은 서비스를 화면의 손상없이 자연스럽게 처리할 수 있다.The second feature is that it is possible to process multimedia data in real time, and it is possible to secure bandwidth so that multimedia data can be processed smoothly even at different bandwidths. In detail, the introduction of the concept of service transmission quality using the newly added flow label function according to the change of the header structure of IPv6 allows two addresses between subscribers requiring a certain level of service quality or higher. By specially processing packets transmitted between the servers, services such as video conferencing can be naturally processed without damaging the screen.
세 번째 특징은 강화된 보안/인증 기능을 제공한다는 것이다. 현존하는 인터넷 프로토콜인 IPv4는 보안 기능에 초첨을 맞추어 설계된 것이 아니기 때문에 예를 들어, IP 계층에서 보안 서비스를 제공하기 위한 IPSec(Internet Protocol Security)라는 보안 관련 프로토콜들을 별도로 설치해야만 하였으나, IPv6에서는 이러한 보안관련 프로토콜들을 자체에 탑재할 수 있도록 설계되어 있다. 즉, 보안 기능과 관련하여 IPv6에서는 안전한 통신 기능, 메시지의 발신지 확인 기능, 암호화 기능을 제공하고 있다.The third feature is that it provides enhanced security / authentication. The existing Internet protocol, IPv4, was not designed with a focus on security features. For example, it was necessary to install separate security-related protocols called Internet Protocol Security (IPSec) to provide security services at the IP layer. It is designed to mount related protocols in itself. In other words, in relation to security, IPv6 provides a secure communication function, a message source verification function, and an encryption function.
이외에도, IPv6은 계층 구조에 의한 확장된 라우팅(routing) 기능을 지원하며, 헤더 공간의 효율적인 사용과 간략화된 헤더 포멧(format)에 의한 효율적인 포워딩(forwarding) 기능을 지원한다. 또한, IPv6은 라우터(router)가 아닌 호스트에서만 단편화(fragmentation)를 수행하게 하여 복잡성을 줄였고, 플러그앤플레이(plug-and-paly), 즉 자동 구성(auto-configuration) 기능을 새로이 제공할 뿐만 아니라 이동성(mobility)도 원활히 지원한다.In addition, IPv6 supports extended routing by hierarchical structure, efficient use of header space, and efficient forwarding by simplified header format. In addition, IPv6 reduces complexity by allowing fragmentation only on hosts, not routers, and provides new plug-and-paly, or auto-configuration, capabilities. It also supports mobility.
전술한 바와 같이, IPv6는 현존하는 인터넷 프로토콜인 IPv4에 비해 향상된 기능을 제공할 수 있음에도 불구하고, 현존하는 IPv4 통신망 전체를 IPv6 통신망으로 대체하기 위해서는 상당한 비용 및 시간이 소요되기 때문에 현재는 이들 두 개의 프로토콜이 공존할 수 밖에 없다. 이로 인해, IPv4를 사용하는 통신망과 연결되어 있는 IPv6 통신망 상의 호스트가 IPv4 애플리케이션 및 IPv6 애플리케이션을 동시에 사용하기 위한 방법 및 장치에 대한 필요성이 제기되고 있다.As mentioned above, although IPv6 can provide enhancements over the existing Internet protocol, IPv4, it is currently very costly and time consuming to replace the entire existing IPv4 network with IPv6. Protocols must coexist. As a result, there is a need for a method and apparatus for allowing a host on an IPv6 network connected to a network using IPv4 to simultaneously use an IPv4 application and an IPv6 application.
따라서, 본 발명은 전술한 문제점을 해결하기 위한 것으로서, 현존하는 인터넷 프로토콜인 IPv4를 사용하면서도 IPv6을 도입할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.Accordingly, an object of the present invention is to provide a method and apparatus for introducing IPv6 while using IPv4, which is an existing Internet protocol.
도 1은 BIA(Bump-in-the-API) 메커니즘을 포함하는 듀얼 스택 호스트(dual stack host)의 개략적인 구조를 나타내는 도면.1 is a schematic diagram of a dual stack host including a BIA (Bump-in-the-API) mechanism;
도 2는 BIA 메커니즘을 이용하여 듀얼 스택 호스트가 호스트6으로 통신을 요청하는 경우의 동작을 설명하기 위한 도면.2 is a diagram for explaining an operation when a dual stack host requests communication to Host 6 using a BIA mechanism.
도 3은 DSTM(Dual Stack Transition Mechanism) 시스템의 개략적인 구성을 나타내는 도면.3 is a diagram showing a schematic configuration of a dual stack transition mechanism (DSTM) system.
도 4는 DSTM 시스템의 동작을 설명하기 위한 도면.4 is a view for explaining the operation of the DSTM system.
도 5는 BIA/DSTM 확장 메커니즘이 적용되는 시스템의 개략적인 구성도.5 is a schematic structural diagram of a system to which a BIA / DSTM extension mechanism is applied.
도 6은 BIA/DSTM 확장 메커니즘에서 네이티브(native) IPv6 연결, BIA, DSTM을 선택하기 위한 정보를 획득하는 과정을 설명하기 위한 도면.FIG. 6 is a diagram for explaining a process of acquiring information for selecting a native IPv6 connection, BIA, and DSTM in a BIA / DSTM extension mechanism; FIG.
도 7은 BIA/DSTM 확장 메커니즘에서 DSTM이 선택된 경우 수행되는 과정을 설명하기 위한 도면.FIG. 7 illustrates a process performed when DSTM is selected in a BIA / DSTM extension mechanism. FIG.
도 8은 BIA/DSTM 확장 메커니즘에서 BIA 메커니즘이 선택되는 경우의 과정을설명하기 위한 도면.8 is a view for explaining a process when the BIA mechanism is selected in the BIA / DSTM extension mechanism.
도 9는 BIA/DSTM 확장 메커니즘을 구현하기 위한 아키텍쳐의 개략적인 도면.9 is a schematic diagram of an architecture for implementing a BIA / DSTM extension mechanism.
이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
BIA 메커니즘(Bump-in-the-API Mechanism)Bump-in-the-API Mechanism
본 발명에서는 BIA의 핵심 알고리즘(IPv4에서 IPv6으로의 접속)만을 설명하고 있으나, 실제로 BIA를 구현하는 경우 IPv4에서 IPv4 및 IPv6에서 IPv6으로의 네이티브 접속(native connection)에 관련된 알고리즘도 역시 포함된다.In the present invention, only the core algorithm of the BIA (IPv4 to IPv6) is described, but when the BIA is actually implemented, an algorithm related to a native connection from IPv4 to IPv4 and IPv6 to IPv6 is also included.
BIA 메커니즘은 IPv6 통신망 상에 마련되어 있는 듀얼 스택 호스트(dual stack host)의 애플리케이션(application)이 IPv4 애플리케이션이고 마찬가지로 IPv6 통신망 상에 마련되어 있는 상대 애플리케이션의 플랫폼(platform)이 IPv6 플랫폼인 경우에 이용되며, 듀얼 스택 호스트 내에 있는 소켓(socket) API(Application Programming Interface) 모듈과 TCP/IP(Transmission Control Protocol/Internet Protocol) 모듈 사이에 API 변환기(translator)가 삽입되어 있는 것으로서 로컬(local)의 듀얼 스택 호스트와 IPv6 플랫폼간의 적절한 연결을 로컬 애플리케이션이 이용할 수 있도록 소켓 API 기능을 변환해준다. 이러한 BIA 메커니즘은 IP 헤더(header)의 변경없이 IPv4와 IPv6간의 변환(translation)을 수행한다. BIA 메커니즘을 위해서는 TCP(UDP)/IPv4 스택(stack)과 TCP(UDP)/IPv6 스택이 하나의 호스트 내에 모두 존재하여야 한다. 즉, 듀얼 스택이어야 한다.The BIA mechanism is used when an application of a dual stack host provided on an IPv6 network is an IPv4 application, and similarly, a platform of a counterpart application provided on an IPv6 network is an IPv6 platform. An API translator is inserted between the socket application programming interface (API) module and the Transmission Control Protocol / Internet Protocol (TCP / IP) module within the stack host. It translates the socket API functionality so that local applications can make appropriate connections between platforms. This BIA mechanism performs translation between IPv4 and IPv6 without changing the IP header. For the BIA mechanism, both TCP (UDP) / IPv4 stack and TCP (UDP) / IPv6 stack must exist in one host. That is, it must be dual stack.
도 1은 BIA 메커니즘이 포함된 듀얼 스택 호스트(100)의 개략적인 구조를 나타내고 있다. IPv6 통신망 상에서 듀얼 스택 호스트(100) 내에 있는 IPvX(예컨대, IPv4) 애플리케이션(application)(102)이 IPv6을 사용하는 호스트(이하, 호스트6으로 지칭함)와 통신하는 경우, API 변환기(106)는 IPv4 애플리케이션(102)으로부터 소켓 API 기능을 탐지하고 호스트6과 통신을 하기 위해 IPv6 소켓 API 기능을 호출한다. IPv4 애플리케이션(102)과 호스트6이 통신을 하기 위해서는 저장된(pooled) IPv4 주소들이 API 변환기(106) 내에 마련된 네임 해석기(name resolver)(106_2)를 통해 할당될 것이다. API 변환기(106)는 전술한 네임 해석기(106_2)뿐만 아니라, 주소 매핑기(address mapper)(106_4) 및 기능 매핑기(function mapper)(106_6)로 구성되어 있다.1 shows a schematic structure of a dual stack host 100 with a BIA mechanism. When an IPvX (eg, IPv4) application 102 in a dual stack host 100 on an IPv6 network communicates with a host that uses IPv6 (hereinafter referred to as host6), the API translator 106 may use IPv4 Detect socket API functions from application 102 and call IPv6 socket API functions to communicate with host6. In order for the IPv4 application 102 and Host 6 to communicate, pooled IPv4 addresses will be assigned via a name resolver 106_2 provided in the API translator 106. The API translator 106 is composed of an address mapper 106_4 and a function mapper 106_6 as well as the name resolver 106_2 described above.
네임 해석기(106_2)는 IPv4 애플리케이션(102)의 요청에 대한 적절한 응답을 IPv4 애플리케이션(102)으로 반환한다. 예를 들어, IPv4 애플리케이션(102)이 "A" 레코드(record) 유형의 쿼리(query)를 네임 서버(name server)(도시하지 않음)로 전송하는 경우, 네임 해석기(106_2)는 그 쿼리를 감지하고 이에 대응하는 호스트에 대한 "A"와 "AAAA"인 두 개 유형의 레코드를 모두 해석하기 위해 새로운 쿼리를 생성하여 이를 네임 서버로 전송한다. "AAAA" 레코드 유형의 주소만이 사용 가능한 경우, 네임 해석기(106_2)는 주소 매핑기(106_4)에게 IPv6 주소에 대응하는 IPv4 주소를 할당하도록 요청한다. 그리고, 네임 해석기(106_2)는 주소 매핑기(106_4)로부터 할당된 IPv4 주소에 대한 "A" 레코드를 생성하고 이를 IPv4 애플리케이션(102)에게 반환한다.The name resolver 106_2 returns an appropriate response to the request of the IPv4 application 102 to the IPv4 application 102. For example, if IPv4 application 102 sends a query of type "A" record to a name server (not shown), name resolver 106_2 detects the query. In order to resolve both types of records "A" and "AAAA" for the corresponding host, we create a new query and send it to the name server. If only addresses of the "AAAA" record type are available, the name resolver 106_2 requests the address mapper 106_4 to assign an IPv4 address corresponding to the IPv6 address. Name resolver 106_2 then generates an “A” record for the assigned IPv4 address from address mapper 106_4 and returns it to IPv4 application 102.
주소 매핑기(106_4)는 IPv4 주소와 IPv6 주소의 쌍으로된 테이블(table)을 내부에 마련하고 있다. 주소 매핑기(106_4)가 네임 해석기(106_2)로 전송하는, 상대 플랫폼의 IPv6 주소를 대변하는 IPv4 주소들은 IPv4 주소 풀(pool)(도시하지 않음)로부터 할당된다. 이렇게 할당되는 IPv4 주소는 공중망(예컨대, 인터넷)에서 사용되지 않는 주소, 예컨대 "0.0.0.0" 내지 "0.0.0.255" 중 하나이다. 네임 해석기(106_2) 또는 기능 매핑기(106_6)가 IPv6 주소에 대응하는 IPv4 주소를 요청하는 경우, 주소 매핑기(106_4)는 IPv4 풀에서 IPv4 주소를 선택하여 반환해주고, 그 새로운 값을 테이블에 동적으로 등록한다. 이러한 등록은 네임 해석기(106_2)가 대응하는 호스트에 대한 "AAAA" 레코드 유형의 결과만을 얻었고 그 IPv6 주소에 대한 매핑 엔트리(mapping entry)가 없는 경우와, 기능 매핑기(106_6)가 수신된 데이터로부터 소켓 API 기능 호출을 수신하였지만 IPv6 소스(source) 주소에 대한 매핑 엔트리를 갖고 있지 않은 경우에 발생한다.The address mapper 106_4 has provided a table of pairs of IPv4 addresses and IPv6 addresses therein. IPv4 addresses representing IPv6 addresses of the partner platform, which the address mapper 106_4 sends to the name resolver 106_2, are allocated from an IPv4 address pool (not shown). The IPv4 address thus allocated is one of addresses not used in the public network (eg, the Internet), such as "0.0.0.0" to "0.0.0.255". When the name resolver 106_2 or the function mapper 106_6 requests an IPv4 address corresponding to an IPv6 address, the address mapper 106_4 selects the IPv4 address from the IPv4 pool and returns it, and then dynamically converts the new value into a table. Register with This registration results in the case where the name resolver 106_2 has only resulted in a "AAAA" record type for the corresponding host and there is no mapping entry for that IPv6 address, and the function mapper 106_6 has received from the received data. Occurs when a socket API function call is received but does not have a mapping entry for an IPv6 source address.
기능 매핑기(106_6)는 IPv4/IPv6 양자간의 소켓 API 기능을 변환해준다. 즉, IPv4 애플리케이션(102)으로부터의 IPv4 소켓 API 기능을 감지한 경우, 기능 매핑기(106_6)는 기능 호출(function call)을 가로채고 호스트6과 통신을 하기 위해 IPv4 소켓 API 기능과 일치하는 IPv6 소켓 API 기능을 호출한다.The function mapper 106_6 converts socket API functions between IPv4 / IPv6. That is, if it detects an IPv4 socket API function from the IPv4 application 102, the function mapper 106_6 intercepts the function call and matches the IPv4 socket API function with the IPv4 socket API function to communicate with Host6. Call API function.
도 2는 듀얼 스택 호스트(100)가 상대 호스트, 즉 호스트6으로 통신을 요청하는 경우의 동작을 설명하기 위한 도면을 도시하고 있다.FIG. 2 is a diagram for describing an operation when the dual stack host 100 requests communication to a counterpart host, that is, host 6. FIG.
듀얼 스택 호스트(100)의 IPv4 애플리케이션(102)이 DNS(Domain Name Server) 쿼리를 네임 서버에게 전송하는 경우, 네임 해석기(106_2)가 그 쿼리를 가로채고(트랜잭션 T201), "A"와 "AAAA" 레코드 유형 모두에 대해 해석을 시도하기 위한 새로운 쿼리를 생성하여 네임 서버로 전송한다(트랜잭션 T202).If the IPv4 application 102 on the dual stack host 100 sends a Domain Name Server (DNS) query to the name server, the name resolver 106_2 intercepts the query (transaction T201), and "A" and "AAAA". "Create a new query to try to resolve all record types and send it to the name server (transaction T202).
네임 서버가 "AAAA" 레코드에 대해서만 응답함으로써 "AAAA" 레코드 유형의 해석만이 이루어진 경우(트랜잭션 T203), 네임 해석기(106_2)는 주소 매핑기(106_4)에게 그 IPv6 주소에 대응하는 IPv4 주소를 요청(즉, 내부에서만 사용되는 상대 플랫폼의 IPv4 주소 할당)한다(트랜잭션 T204).If the name server only resolves "AAAA" record types by responding only to "AAAA" records (transaction T203), the name resolver 106_2 requests the address mapper 106_4 for the IPv4 address corresponding to that IPv6 address. (I.e., assigning the IPv4 address of the partner platform used only internally) (transaction T204).
주소 매핑기(106_4)는 IPv6 주소에 대응하는 IPv4 주소를 생성하여 네임 해석기(106_2)로 전송한다(트랜잭션 T205).The address mapper 106_4 generates an IPv4 address corresponding to the IPv6 address and sends it to the name resolver 106_2 (transaction T205).
이에 응답하여, 네임 해석기(106_2)는 할당된 IPv4 주소에 대한 "A" 유형의 레코드를 생성하여 이를 IPv4 애플리케이션(102)으로 반환한다(트랜잭션 T206).In response, name resolver 106_2 generates a record of type “A” for the assigned IPv4 address and returns it to IPv4 application 102 (transaction T206).
호스트6으로 IPv4 패킷을 전송하기 위해, IPv4 애플리케이션(102)은 기능 매핑기(106_6)에 IPv4 소켓 API 기능을 호출한다(트랜잭션 T207). 그러면, 기능 매핑기(106_6)는 IPv4 애플리케이션(102)으로부터의 소켓 API 기능을 감지한다. 만일, 감지된 소켓 API 기능 호출이 IPv6 애플리케이션으로부터 전송된 것이면 변환은 발생하지 않는다.To send IPv4 packets to Host6, IPv4 application 102 calls the IPv4 Socket API function to function mapper 106_6 (transaction T207). The function mapper 106_6 then detects the socket API function from the IPv4 application 102. If the detected socket API function call is from an IPv6 application, no conversion occurs.
이와 달리, 감지된 소켓 API 기능 호출이 IPv4 애플리케이션(102)으로부터 전송된 것이면, 기능 매핑기(106_6)는 IPv6 소켓 API 기능을 호출하기 위해 IPv6 주소를 필요로 한다. 따라서, 기능 매핑기(106_6)는 주소 매핑기(106_4)에게 IPv4 주소에 대응하는 IPv6 주소를 요청한다(트랜잭션 T208).Alternatively, if the detected socket API function call was sent from the IPv4 application 102, the function mapper 106_6 needs an IPv6 address to call the IPv6 socket API function. Thus, the function mapper 106_6 requests the address mapper 106_4 for an IPv6 address corresponding to the IPv4 address (transaction T208).
기능 매핑기(106_6)로부터의 IPv6 주소 요청에 응답하여, 주소매핑기(106_4)는 IPv4 주소와 IPv6 주소의 쌍으로된 테이블에서 IPv4 주소를 선택하고 이에 대응하는 목적지 IPv6 주소를 기능 매핑기(106_6)로 전송한다(트랜잭션 T209). 즉, IPv4 주소가 IPv6 주소로 변환된다.In response to an IPv6 address request from the function mapper 106_6, the address mapper 106_4 selects an IPv4 address from a table of IPv4 and IPv6 address pairs and selects the corresponding destination IPv6 address from the function mapper 106_6. (Transaction T209). In other words, an IPv4 address is translated into an IPv6 address.
기능 매핑기(106_6)는 주소 매핑기(106_4)로부터 전송된 목적지 IPv6 주소를 사용하여 호스트6에 대해 IPv4 소켓 API 기능에 대응하는 IPv6 소켓 API 기능을 호출한다(트랜잭션 T210).The function mapper 106_6 calls the IPv6 socket API function corresponding to the IPv4 socket API function for the host 6 using the destination IPv6 address sent from the address mapper 106_4 (transaction T210).
이어서, 호스트6이 듀얼 스택 호스트(100)에게 IPv6 패킷으로 IPv6 소켓 API 기능 호출에 대해 응답한다(트랜잭션 T211).Host 6 then responds to the dual stack host 100 with an IPv6 socket API function call in an IPv6 packet (transaction T211).
기능 매핑기(106_6)가 IPv6 기능 호출을 수신한 경우, 기능 매핑기(106_6)는 IPv6 소켓 API 기능을 IPv4 소켓 API 기능으로 변환하기 위해 대응하는 IPv4 주소를 주소 매핑기(106_4)에게 요청한다(트랜잭션 T212).When the function mapper 106_6 receives an IPv6 function call, the function mapper 106_6 requests the address mapper 106_4 for the corresponding IPv4 address to convert the IPv6 socket API function to an IPv4 socket API function ( Transaction T212).
기능 매핑기(106_6)의 IPv4 주소 요청에 응답하여, 주소 매핑기(106_4)는 대응하는 IPv4 주소를 기능 매핑기(106_6)로 전송한다(트랜잭션 T213).In response to the IPv4 address request of the function mapper 106_6, the address mapper 106_4 sends the corresponding IPv4 address to the function mapper 106_6 (transaction T213).
주소 매핑기(106_4)로부터 IPv4 주소를 수신한 후, 기능 매핑기(106_6)는 IPv4 애플리케이션(102)을 위한 IPv4 소켓 API 기능을 호출한다(트랜잭션 T214).After receiving the IPv4 address from the address mapper 106_4, the function mapper 106_6 calls an IPv4 socket API function for the IPv4 application 102 (transaction T214).
DSTM(Dual Stack Transition Mechanism)Dual Stack Transition Mechanism (DSTM)
초기의 IPv6은 IPv6 통신망 내에서 IPv6과 IPv4의 상호운용을 지원하기 위해 IPv6 주소와 IPv4 주소를 병행하여 사용해야만 한다. 이것은 IPv6 통신망 상의 호스트들이 여전히 IPv6을 지원하지 않는 IPv4 통신망 상의 IPv4 호스트들과 연결되어야 하기 때문이다. 이를 위해, DSTM은 IPv4 패킷을 전송하기 위한 IPv6 통신망 내의 동적 터널링(dynamic tunneling)과, 트랜지션(trasition) 메커니즘에 필요한 구조와, 정의된 프로세스에 의해 네이티브(native) IPv6 통신망을 통해 듀얼 스택 호스트들에게 글로벌(global) IPv4 주소를 할당하는 방법, 즉 종래의 IPv4 통신망과 IPv6 통신망을 연동하여 운영하기 위한 방법을 제공한다.Early IPv6 must use IPv6 address and IPv4 address in parallel to support IPv6 and IPv4 interoperability in IPv6 network. This is because hosts on an IPv6 network must be connected to IPv4 hosts on an IPv4 network that still do not support IPv6. To this end, DSTM provides dual-stacked hosts over the native IPv6 network by means of dynamic tunneling within the IPv6 network for transmitting IPv4 packets, the structure required for the transition mechanism, and the defined process. A method of allocating a global IPv4 address, that is, a method for interworking a conventional IPv4 communication network and an IPv6 communication network is provided.
이러한 DSTM은 필요한 IPv4 주소를 듀얼 스택 호스트들에게 할당함으로써, 듀얼 스택 호스트들이 IPv4-전용(only) 호스트들과 통신할 수 있고, IPv4-전용 애플리케이션들이 듀얼 스택 호스트들 상에서 변형없이 사용될 수 있도록 한다. 이러한 DSTM은 IPv6 통신망, 즉 DSTM 도메인(domain) 내에서 IPv4 네이티브 패킷들이 드러나지 않도록 IPv6 패킷 내에 IPv4 패킷을 캡슐화(encapsulation)시켜 동적으로 터널링(tunneling)하는 방법을 이용한다. 따라서, IPv6 통신망 상의 라우터(router)들은 그 IPv6 통신망을 거쳐가는 IPv4 패킷들에 대해 IPv6 라우팅 테이블만을 필요로하기 때문에, IPv6 도입에 따른 통신망 관리를 단순화시킬 수 있으며 통신망 관리자는 DSTM을 위한 별도의 IPv4 라우팅을 필요로하지 않는다.This DSTM assigns the required IPv4 address to dual stack hosts, allowing dual stack hosts to communicate with IPv4-only hosts and allowing IPv4-only applications to be used unmodified on dual stack hosts. The DSTM uses a method of dynamically encapsulating IPv4 packets in IPv6 packets so that IPv4 native packets are not exposed in the IPv6 network, that is, the DSTM domain. Therefore, routers on an IPv6 network need only IPv6 routing table for IPv4 packets passing through the IPv6 network, which simplifies network management following the introduction of IPv6, and the network manager provides a separate IPv4 for DSTM. Does not require routing
DSTM은 사용자가 그들의 통신망 내에서 IPv4의 필요성 및 의존성을 감소시키기 위한 IPv6 통신망의 도입을 가정하고 있을뿐만 아니라, 그 통신망에서 사용될 수 있는 글로벌 IPv4 주소가 부족함으로써 필요한 임시 IPv4 주소(필요시에만 할당받아 사용함)를 할당하기 위해, DHCPv4(Dynamic Host Configuration Protocol version 4)를 사용하지 않고 DHCPv6 등을 이용하는 DSTM 서버로부터 할당받는 것으로 가정한다. IPv4 패킷을 IPv6 패킷으로 캡슐화하기 위한 DTI(Dynamic TunnelingInterface) 메커니즘과 함께 임시 IPv4 주소를 할당하기 위한 DSTM 클라이언트 프로세스(client process)를 데몬(daemon) 형태로 작동해야 한다.DSTM not only assumes the introduction of IPv6 networks to reduce the need and dependency of IPv4 in their networks, but also the temporary IPv4 addresses that are needed (as needed only) due to the lack of global IPv4 addresses available on those networks. (Don't use DHCPv4), but it is assumed to be allocated from a DSTM server using DHCPv6 or the like. The DSTM client process for assigning temporary IPv4 addresses, along with the Dynamic Tunneling Interface (DTI) mechanism for encapsulating IPv4 packets into IPv6 packets, must function as a daemon.
DSTM 아키텍쳐는 IPv6 호스트들에게 글로벌 IPv4 주소를 제공하는 DSTM 서버를 포함한다. 이러한 DSTM 서버는 IPv6 노드들에게 글로벌 IPv4 주소들을 할당하며, 할당된 IPv4 주소와 호스트의 IPv6 주소간의 매핑 정보(즉, 바인딩(binding) 정보)를 관리하는 기능을 수행한다. 여기서, DHCPv6 서버가 DSTM 서버로서 이용될 수 있다.The DSTM architecture includes a DSTM server that provides global IPv4 addresses to IPv6 hosts. The DSTM server allocates global IPv4 addresses to IPv6 nodes and manages mapping information (ie, binding information) between the assigned IPv4 address and the IPv6 address of the host. Here, a DHCPv6 server can be used as the DSTM server.
도 3은 DSTM 시스템(300)의 개략적인 구성을 나타내고 있다. 도 3에 도시한 바와 같이, DSTM 도메인(domain)(302), 즉 IPv6 통신망은 DSTM 시스템(300)에 포함되는 IPv6 호스트, 즉 듀얼 스택 호스트 노드(306)가 액세스(access)할 수 있는 DSTM(DHCPv6) 서버(310)와 연결되어 있으며, IPv4 라우팅이 필요하지 않는 인트라넷(Intranet) 상의 통신망 영역을 나타낸다. 경계 라우터(border router)(312)는 DSTM 도메인(302)과 IPv4-전용 도메인(304) 사이에 위치하며 양쪽 통신망을 동시에 액세스할 수 있다. 듀얼 스택 호스트 노드(306)는 IPv4/IPv6 스택의 듀얼 IP 계층 및 DTI를 포함하고 있으며, DHCPv6 클라이언트 프로세스를 데몬 형태로 가진다. 글로벌 IPv4 주소는 IPv4-전용 도메인(404)에서 라우팅될 수 있는 IPv4 주소이다. TEP(Tunnel End Point)는 DTI가 IPv4 패킷을 캡슐화하여 만든 IPv6 패킷의 목적지를 나타내며, 여기서는 경계 라우터(412)를 지칭한다.3 shows a schematic configuration of a DSTM system 300. As shown in FIG. 3, the DSTM domain 302, i.e., the IPv6 communication network, is a DSTM (accessible to the IPv6 host, i.e., the dual stack host node 306, included in the DSTM system 300). It is connected to the DHCPv6) server 310 and represents a communication network region on an intranet that does not require IPv4 routing. The border router 312 is located between the DSTM domain 302 and the IPv4-only domain 304 and can access both networks simultaneously. The dual stack host node 306 includes the dual IP layer and the DTI of the IPv4 / IPv6 stack, and has a DHCPv6 client process in daemon form. The global IPv4 address is an IPv4 address that can be routed in an IPv4-only domain 404. Tunnel End Point (TEP) indicates the destination of an IPv6 packet generated by the DTI by encapsulating the IPv4 packet, and refers to the boundary router 412 here.
도 4는 DSTM 시스템(300)의 동작을 설명하기 위한 도면을 도시하고 있다. 도 4에서, 실선 화살표(트랜잭션 T402 및 T404)는 DNS 쿼리 또는 이에 대한 응답을나타내는 것이고, 이점 쇄선 화살표(트랜잭션 T406 및 T408)는 IPv6 패킷의 이동을 나타내는 것이며, 점선 화살표(트랜잭션 T410 및 T416)는 IPv6 패킷에 캡슐화된 IPv4 패킷이 터널링되는 것을 나타내고, 일점 쇄선 화살표(트랜잭션 T412 및 T414)는 IPv4 패킷의 이동을 나타내는 것이다. 실선 화살표중 V6 트랜스포트 DNS 쿼리와 점선 화살표도 IPv6 패킷의 트랜스포트(transport)에 포함되나 설명의 편의상 구분하기로 한다.4 illustrates a diagram for describing an operation of the DSTM system 300. In FIG. 4, the solid arrows (transactions T402 and T404) represent DNS queries or responses thereto, and the dashed dashed arrows (transactions T406 and T408) represent the movement of IPv6 packets, and the dashed arrows (transactions T410 and T416) IPv4 packets encapsulated in IPv6 packets indicate tunneling, and dashed-dotted arrows (transactions T412 and T414) indicate the movement of IPv4 packets. Among the solid arrows, the V6 transport DNS query and the dotted arrow are also included in the transport of the IPv6 packet.
듀얼 스택 호스트 노드(306)가 DNS 서버(여기서는 V6 트랜스포트 DNS 서버(308) 또는 V4 트랜스포트 DNS 서버(314)임, 즉 DNS 서버의 위치 및 종류는 고려하지 않음)에게 IPv4-전용 노드(316)에 대한 주소를 요청한다(트랜잭션 T402).The dual stack host node 306 is a DNS server (here, the V6 transport DNS server 308 or the V4 transport DNS server 314, i.e. the location and type of the DNS server is not taken into account). ) Is requested (transaction T402).
IPv4-전용 노드(316) 주소에 대한 듀얼 스택 호스트 노드(306)로부터의 요청에 응답하여, DNS 서버는 IPv4-전용 노드(316)에 대응하는 IPv4 주소로 응답한다(트랜잭션 T404).In response to a request from dual stack host node 306 for an IPv4-only node 316 address, the DNS server responds with an IPv4 address corresponding to IPv4-only node 316 (transaction T404).
그러면, 듀얼 스택 호스트 노드(306)는 전송하고자 하는 패킷의 목적지 주소가 IPv4 주소이므로, IPv4 세션을 연결하여 패킷을 전달하기 위한 준비를 수행한다. 듀얼 스택 호스트 노드(306)는 DSTM 서버(310)에게 자신을 위한 글로벌 IPv4 주소 정보와 TEP 정보를 요청한다(트랜잭션 T406).Then, since the destination address of the packet to be transmitted is an IPv4 address, the dual stack host node 306 prepares for delivering the packet by connecting an IPv4 session. The dual stack host node 306 requests the DSTM server 310 for global IPv4 address information and TEP information for itself (transaction T406).
DSTM 서버(310)는 DHCPv6일 경우 듀얼 스택 호스트 노드(306)로부터의 정보 요청에 응답하여 IPv4 주소 및 이와 연관된 정보(이하, IPv4 주소 정보로 지칭함)를 IPv4 사상 IPv6 주소(IPv4-mapped IPv6 address)의 형태로 응답한다. 이때, DSTM 서버(310)는 DHCPv6의 TEP 옵션을 사용하여 TEP 정보도 함께 제공한다(트랜잭션 T408).The DSTM server 310 responds to the request for information from the dual stack host node 306 in the case of DHCPv6, and converts an IPv4 address and related information (hereinafter referred to as IPv4 address information) to an IPv4-mapped IPv6 address. Respond in the form of. At this time, the DSTM server 310 also provides TEP information using the TEP option of DHCPv6 (transaction T408).
듀얼 스택 호스트 노드(306)는 DSTM 서버(310)로부터 수신한 IPv4 주소를 사용하여, DTI를 통해 전송하고자 하는 IPv4 패킷을 만들고, 이를 IPv6 패킷으로 캡슐화하여 경계 라우터(312)로 전송한다(트랜잭션 T410). 즉, IPv6 통신망 상에서의 IPv4 패킷 터널링 과정이 수행된다.The dual stack host node 306 uses the IPv4 address received from the DSTM server 310 to create an IPv4 packet to be transmitted through the DTI, encapsulates it into an IPv6 packet, and transmits the packet to the edge router 312 (transaction T410). ). That is, the IPv4 packet tunneling process is performed on the IPv6 communication network.
경계 라우터(312)는 듀얼 스택 호스트 노드(306)로부터의 캡슐화된 IPv6 패킷을 해체(decapsulation)한 다음, 해체된 IPv6 패킷 내에 포함된 IPv4 주소의 IPv4-전용 노드(316)로 원래의 IPv4 패킷을 전송한다(트랜잭션 T412). 경계 라우터(312)는 이때부터 IPv6 주소와 IPv4 주소의 매핑 테이블을 생성하고 관리한다.The border router 312 decapsulates the encapsulated IPv6 packet from the dual stack host node 306 and then sends the original IPv4 packet to the IPv4-only node 316 of the IPv4 address contained within the decommissioned IPv6 packet. Transmit (transaction T412). The edge router 312 then generates and manages a mapping table of IPv6 addresses and IPv4 addresses.
IPv4-전용 도메인(304) 상의 IPv4-전용 노드(316)가 트랜잭션 T412에 대한 응답을 위해 IPv4 패킷을 경계 라우터(312)로 전송한다(트랜잭션 T414).IPv4-only node 316 on IPv4-only domain 304 sends an IPv4 packet to border router 312 for a response to transaction T412 (transaction T414).
경계 라우터(312)는 IPv4-전용 노드(316)로부터 수신한 IPv4 패킷에 대응하는 IPv6 주소를 매핑 테이블에서 검색하고 IPv6 패킷으로 캡슐화하여 이를 듀얼 스택 호스트 노드(306)로 전송(트랜잭션 T416)함으로써 통신을 완료한다.The border router 312 communicates by retrieving the IPv6 address corresponding to the IPv4 packet received from the IPv4-only node 316 in the mapping table, encapsulating it into an IPv6 packet, and transmitting it to the dual stack host node 306 (transaction T416). To complete.
BIA/DSTM 확장 메커니즘BIA / DSTM extension mechanism
BIA/DSTM 확장 메커니즘은 로컬 애플리케이션과 상대 애플리케이션 플랫폼의 통신망 프로토콜 버전(version), 즉 IPv4 또는 IPv6 여부를 판단하여, BIA 메커니즘, DSTM, 네이티브 IPv6 연결 메커니즘 중 어느 하나의 메커니즘을 선택하여 로컬 애플리케이션과 상대 플랫폼 애플리케이션의 통신을 완성하는 메커니즘이다.The BIA / DSTM extension mechanism determines the network protocol version (i.e. IPv4 or IPv6) of the local application and the partner application platform, and selects one of the BIA mechanism, the DSTM, and the native IPv6 connection mechanism to match the local application and the partner. It is the mechanism that completes the communication of platform application.
도 5는 이러한 BIA/DSTM 확장 메커니즘이 적용되는 시스템(500)을 나타내고 있다. 도 5에 도시한 바와 같이, BIA/DSTM 확장 메커니즘 시스템(500)은 IPv6 통신망(502)과 IPv4 통신망(504)이 V4/V6 게이트(514)를 통해 연결되어 있는데, IPv6 통신망(502)에는 V6 서버(506), V4 클라이언트(508), V4/V6 클라이언트(510)(즉, 듀얼 스택 클라이언트), DSTM(DHCPv6) 서버(512), V6 트랜스포트 DNS 서버(522)가 연결되어 있으며, IPv4 통신망(504)에는 V4 트랜스포트 DNS 서버(518)와 V4 서버(520)가 연결되어 있다. 여기서, "V6"과 "V4"는 각각 IPv6 및 IPv4를 사용하는 것을 의미하며, 여기서 V6 서버(506), V4 클라이언트(508), V4/V6 클라이언트(510), V4 서버(520)는 각각 애플리케이션을 나타내는 것임을 주지해야 한다. 또한, 가장 중요한 사항은 V4 클라이언트와 V4/V6 클라이언트가 하나의 호스트 내에 공종할 수 있다는 것이다.5 shows a system 500 to which this BIA / DSTM extension mechanism is applied. As shown in FIG. 5, in the BIA / DSTM extension mechanism system 500, an IPv6 communication network 502 and an IPv4 communication network 504 are connected through a V4 / V6 gate 514. Server 506, V4 Client 508, V4 / V6 Client 510 (i.e. Dual Stack Client), DSTM (DHCPv6) Server 512, V6 Transport DNS Server 522 are connected, IPv4 communication network A V4 transport DNS server 518 and a V4 server 520 are connected to 504. Here, "V6" and "V4" means using IPv6 and IPv4, respectively, where the V6 server 506, V4 client 508, V4 / V6 client 510, V4 server 520 is an application It should be noted that this indicates. Also, the most important thing is that V4 and V4 / V6 clients can co-exist in one host.
BIA/DSTM 확장 메커니즘은 로컬 애플리케이션이 IPv4 애플리케이션이고 상대 애플리케이션의 플랫폼이 IPv6 통신망의 IPv6 플랫폼인 경우, 즉 IPv6 통신망(502)을 통해 V4 클라이언트(508)와 V6 서버(506)가 통신하는 경우에는 BIA 메커니즘을 선택한다. 또한, BIA/DSTM 확장 메커니즘은 로컬 애플리케이션이 IPv4/IPv6 듀얼 스택 애플리케이션이고 상대 애플리케이션의 플랫폼이 IPv6 통신망의 IPv6 플랫폼인 경우, 즉 IPv6 통신망(502)을 통해 V4/V6 클라이언트(510)와 V6 서버(506)가 통신하는 경우에는 네이티브 IPv6 연결을 선택한다.The BIA / DSTM extension mechanism is a BIA if the local application is an IPv4 application and the partner application's platform is an IPv6 platform on an IPv6 network, that is, when the V4 client 508 and the V6 server 506 communicate over the IPv6 network 502. Choose a mechanism. In addition, the BIA / DSTM extension mechanism is used when the local application is an IPv4 / IPv6 dual stack application and the counterpart application's platform is the IPv6 platform of the IPv6 network, that is, the V4 / V6 client 510 and the V6 server ( 506 selects a native IPv6 connection when communicating.
아울러, BIA/DSTM 확장 메커니즘은 로컬 애플리케이션이 IPv4 패킷을 처리할 수 있는 애플리케이션이고 상대 애플리케이션의 플랫폼이 IPv4 통신망의 IPv4 플랫폼인 경우, 즉 IPv6 통신망(502)과 IPv4 통신망(504)을 상호 연결하는 V4/V6 게이트(514)를 통해 V4 클라이언트(508)와 V4 서버(520), V4/V6 클라이언트(510)와 V4 서버(520)가 통신하는 경우에는 DSTM을 선택한다. BIA/DSTM 확장 메커니즘에서 사용되는 DSTM은 도 2를 참조하여 설명한 DSTM과 완전히 동일하지 않은 변형된 것임을 주지해야 한다.In addition, the BIA / DSTM extension mechanism is a V4 application in which the local application can handle IPv4 packets and the partner application's platform is the IPv4 platform of the IPv4 communication network, that is, the interconnection between the IPv6 communication network 502 and the IPv4 communication network 504. If the V4 client 508 and the V4 server 520 and the V4 / V6 client 510 and the V4 server 520 communicate through the / V6 gate 514, select DSTM. Note that the DSTM used in the BIA / DSTM extension mechanism is a variant that is not exactly the same as the DSTM described with reference to FIG.
도 9는 BIA/DSTM 확장 메커니즘을 구현하기 위한 아키텍쳐(900)를 도시하고 있다. 이러한 아키텍쳐(900)는 IPv4 애플리케이션(902), IPv4/IPv6 애플리케이션(904), DSTM 클라이언트(DHCPv6 클라이언트)(906), 소켓 계층(908), 제어 기능을 구비한 BIA 모듈(910), 소켓 테이블(912), TCP/UDP(914), IPv4 스택(916), DTI(918), IPv6 스택(920), 데이터 링크 & 물리 계층(922)을 포함하고 있다.9 illustrates an architecture 900 for implementing the BIA / DSTM extension mechanism. This architecture 900 includes IPv4 applications 902, IPv4 / IPv6 applications 904, DSTM clients (DHCPv6 clients) 906, socket layers 908, BIA modules 910 with control functions, socket tables ( 912, TCP / UDP 914, IPv4 stack 916, DTI 918, IPv6 stack 920, data link & physical layer 922.
BIA 모듈(910)은 도 2를 참조하여 설명한 BIA 메커니즘에, 상대의 주소 정보를 파악하고 로컬 애플리케이션의 관련 정보를 파악하여 네이티브 IPv6 연결 메커니즘, DSTM, BIA 메커니즘 중 하나를 선택하는 기능이 추가된다. 또한, DNS 서버가 IPv6 통신망 상에 마련되어 있지만, 즉 V6 트랜스포트 DNS 서버가 마련되어 있지만, IPv6 트랜스포트를 이용하는 DNS 쿼리를 위한 DNS 해석기가 준비되지 않은 환경에서도, BIA 모듈(910)은 IPv6 트랜스포트를 이용한 DNS 쿼리를 가능하게 하는 메커니즘이 마련되어 있다.The BIA module 910 adds a function of selecting one of a native IPv6 connection mechanism, a DSTM, and a BIA mechanism by identifying a partner's address information and a related information of a local application to the BIA mechanism described with reference to FIG. 2. In addition, even in an environment in which a DNS server is provided on an IPv6 communication network, that is, a V6 transport DNS server is provided, but a DNS resolver for DNS queries using an IPv6 transport is not provided, the BIA module 910 is configured to perform IPv6 transport. There is a mechanism for enabling DNS queries.
DSTM 이용이 결정되었을 경우, DSTM 클라이언트(906)로 요청 이벤트(request event)를 BIA 모듈(910)이 전송함으로써, DSTM 클라이언트(906)는 IPv4 주소를DSTM 서버(512)에게 요청하는 것부터 시작하게 한다. BIA 모듈(910)은 통신을 시작하는 시점에 소켓을 하부에서 생성하게 되는 경우 소켓의 갯수를 관리하는 리스트를 운영한다. BIA 모듈(910)은 애플리케이션이 예컨대, "Socket close()" 함수를 호출하거나 애플리케이션 윈도우(window)를 종료하는 경우를 통신망 이용의 종료 시점으로 간주하여 이와 관련된 소켓 정보를 정리한다. 이것은 클라이언트의 주소 반환 시점을 명확히 해주기 위해서이다. 이러한 BIA 모듈(910)은 애플리케이션마다 하나씩 존재한다.If the DSTM usage is determined, the BIA module 910 sends a request event to the DSTM client 906, which causes the DSTM client 906 to begin by requesting an IPv4 address from the DSTM server 512. . The BIA module 910 operates a list that manages the number of sockets when the socket is created at the bottom at the start of communication. The BIA module 910 cleans up the socket information associated with the application by considering the case where the application calls the "Socket close ()" function or closes the application window, for example, as the end point of using the network. This is to clarify when the client returns an address. There is one such BIA module 910 per application.
DSTM 클라이언트(906)는 BIA 모듈(910)의 요청이 있을 경우 DSTM 서버(여기서는 DHCPv6 서버임)(512)로부터 로컬 IPv4 주소를 할당 받아 IPv4의 주소를 설정한 후 함께 제공받은 TEP 라우터 정보와 로컬 IPv6 주소를 이용하여 DTI를 만들어준다. 또한, DSTM 클라이언트(906)는 DSTM(DHCPv6) 서버(512)로부터 제공받은 존속 시간(life time) 정보에 의한 주기로 현존하는 소켓의 존재 여부를 파악한다. 소켓이 존재하는 경우, DSTM 클라이언트(906)는 DSTM 서버(512)에게 현재 사용중인 IPv4 주소의 할당 연장 요청을 한다. 이와 달리, 소켓이 존재하지 않는 경우, DSTM 클라이언트(906)는 주소 반환 요청을 하게 된다.The DSTM client 906 receives a local IPv4 address from the DSTM server (here DHCPv6 server) 512 when requested by the BIA module 910, sets the IPv4 address, and then provides the TEP router information and the local IPv6 provided together. Creates a DTI using an address. In addition, the DSTM client 906 grasps the existence of an existing socket at intervals based on life time information provided from the DSTM (DHCPv6) server 512. If the socket exists, the DSTM client 906 requests the DSTM server 512 to extend the allocation of the IPv4 address currently in use. Alternatively, if no socket exists, the DSTM client 906 will request an address return.
DTI(918)는 원래 가지고 있는 IPv6 주소와 TEP 경계 라우터의 IPv6 주소를 이용하여 구성되는 가상 터널링 인터페이스를 제공한다.The DTI 918 provides a virtual tunneling interface configured using its own IPv6 address and the IPv6 address of the TEP border router.
도 6은 BIA/DSTM 확장 메커니즘에서 네이티브 IPv6 연결, BIA 메커니즘, DSTM 중 어느 하나를 선택하기 위한 정보를 획득하는 과정을 설명하기 위한 도면이다. 여기서, 굵은 실선은 클라이언트 호스트(900) 내부에서의 모듈간 흐름을 나타내고, 점선은 IPv6 패킷에 캡슐화되어 터널링되는 IPv4 패킷의 흐름을 나타내며, 일점 쇄선은 IPv4 패킷의 흐름을 나타내며, 이점 쇄선은 IPv6 패킷의 흐름을 나타내고 있음을 주지해야 한다.FIG. 6 is a diagram for describing a process of acquiring information for selecting any one of a native IPv6 connection, a BIA mechanism, and a DSTM in a BIA / DSTM extension mechanism. Here, the thick solid line represents the inter-module flow in the client host 900, the dotted line represents the flow of IPv4 packets encapsulated in the IPv6 packet, the dashed dashed line represents the flow of IPv4 packets, the dashed dotted line represents the IPv6 packet It should be noted that this represents the flow of.
BIA 모듈(910)의 네임 해석기와 기능 매핑기는 도 2를 참조하여 설명한 동작을 수정하여 상대의 플랫폼의 통신망 버전을 다음과 같이 파악하고 자신과 상대의 정보를 이용하여 다음과 같이 메커니즘을 결정한다.The name interpreter and the function mapper of the BIA module 910 modify the operation described with reference to FIG. 2 to grasp the network version of the opponent's platform as follows, and determine the mechanism using the information of the person and the opponent as follows.
IPvX 애플리케이션(902 또는 904)은 상대의 주소를 파악하기 위하여 DNS 쿼리를 BIA 모듈(910)의 네임 해석기로 전송한다(트랜잭션 T602).The IPvX application 902 or 904 sends a DNS query to the name resolver of the BIA module 910 to determine the partner's address (transaction T602).
네임 해석기는 네임 서버가 V4 트랜스포트 DNS 서버(518) 또는 V6 트랜스포트 DNS 서버(522)인지를 판단한다. 상세하게, BIA 모듈(910)이 네임 서버 주소 정보를 플랫폼의 네임 서버 주소 정보와는 별도로 가지고 있는 경우, 네임 해석기는 플랫폼 주소 정보의 네임 서버 대신 이것을 사용하여 DNS 쿼리를 전송한다. 최종 네임 서버 주소 정보가 V6 트랜스포트 DNS 서버(522)의 것이면 트랜잭션 T604를 수행하고, V4 트랜스포트 DNS 서버(518)의 것이면 트랜잭션 T612를 수행한다. 현재의 마이크로소프트사의 윈도우즈2000은 IPv4 및 IPv6에 관계없이 V4 트랜스포트 DNS 서버(518)만을 이용하게 되어 있는데, V6 트랜스포트 DNS 서버(522)를 이용하려면 이와 같은 방법을 사용할 수 있다. IPvX 애플리케이션(902 또는 904)에서 "A" 레코드 유형의 쿼리를 수신하면(트랜잭션 T602) "A" 레코드 유형의 쿼리를 전송하고(트랜잭션 T604 또는 T612), "AAAA" 레코드 유형의 쿼리를 수신하면(트랜잭션 T602) "AAAA" 레코드 유형의 쿼리를 전송한다(트랜잭션 T604 또는 T612).The name resolver determines whether the name server is a V4 transport DNS server 518 or a V6 transport DNS server 522. Specifically, when the BIA module 910 has name server address information separate from the platform's name server address information, the name resolver uses this instead of the name server of the platform address information to send a DNS query. If the final name server address information is that of the V6 transport DNS server 522, it performs transaction T604; if it is that of the V4 transport DNS server 518, it performs transaction T612. Currently, Microsoft's Windows 2000 uses only the V4 transport DNS server 518 regardless of IPv4 and IPv6. To use the V6 transport DNS server 522, this method can be used. When the IPvX application 902 or 904 receives a query of the "A" record type (transaction T602), it sends a query of the "A" record type (transaction T604 or T612), and when it receives a query of the "AAAA" record type ( Transaction T602) Send a query of record type "AAAA" (transaction T604 or T612).
V6 트랜스포트 DNS 서버(522)로의 쿼리는 네임 해석기에서 전형적인 IPv6 소켓 처리를 통해 V6 트랜스포트 DNS 서버(522)로 전송된다(트랜잭션 T604). 즉, 네이티브 IPv6 통신을 이용한다. IPv6 통신망(502)을 위한 환경설정은 이전에 이루어진 상태이므로, 바로 쿼리 송신이 가능하다. 트랜잭션 T604 내지 T610은 네임 해석기에서 V6 트랜스포트 DNS 서버(522)로의 쿼리 및 이로부터의 응답을 나타내는 것이다.Queries to the V6 transport DNS server 522 are sent to the V6 transport DNS server 522 via typical IPv6 socket processing in the name resolver (transaction T604). That is, it uses native IPv6 communication. Since the configuration for the IPv6 communication network 502 has been previously made, query transmission is possible immediately. Transactions T604 through T610 represent the query to and response from the V6 transport DNS server 522 at the name resolver.
반면에, V4 트랜스포트 DNS 서버(518)로의 쿼리는 일종의 IPv4 애플리케이션이므로 DSTM을 이용하는 것을 전제로 한다. 즉, 네임 해석기는 로컬 플랫폼이 IPv4 주소로 바인딩되어 있는지 여부를 파악한다. 바인딩되어 있지 않는 경우, 네임 해석기는 로컬 IPv4 주소를 획득 및 바인딩한 후 DTI를 형성한다. 그런 다음, 해당 쿼리를 송신한다(트랜잭션 T612). 이에 대해서는 다음에 상세히 설명할 것이다. 트랜잭션 T612 내지 T618은 네임 해석기에서 V4 트랜스포트 DNS 서버(518)로의 쿼리 및 이로부터의 응답을 나타내는 것이다.On the other hand, a query to the V4 transport DNS server 518 is a kind of IPv4 application and assumes the use of DSTM. In other words, the name resolver determines whether the local platform is bound to an IPv4 address. If not, the name resolver obtains and binds a local IPv4 address and then forms a DTI. The query is then sent (transaction T612). This will be described in detail later. Transactions T612 through T618 represent the query to and response from the V4 transport DNS server 518 in the name resolver.
쿼리에 대한 응답(트랜잭션 T606 및 T614)에 의해 가장 중요한 방향들이 결정된다. "A" 레코드 유형의 쿼리에 대한 결과값인 경우, 해당 주소 정보를 수신하였으면 그대로 애플리케이션(902 또는 904)으로 그 결과값을 전달한다. 이는 로컬 애플리케이션과 상대의 애플리케이션이 모두 IPv4 애플리케이션임을 의미하므로, 나중에 DSTM 모드로 동작하게 된다. 해당 주소 정보를 수신하지 못한 경우, 네임 해석기는 "AAAA" 레코드 유형의 쿼리를 다시 전송한다(트랜잭션 T608 및 T616).The most important directions are determined by the response to the query (transactions T606 and T614). In the case of a result of a query of record type "A", if the address information is received, the result is transmitted to the application 902 or 904 as it is. This means that both local and counterpart applications are IPv4 applications, so they will later operate in DSTM mode. If the address information is not received, the name resolver sends back a query of the "AAAA" record type (transactions T608 and T616).
쿼리의 응답이 "AAAA" 레코드 유형의 쿼리에 대한 결과값이면 그대로 애플리케이션(902 또는 904)으로 그 결과값을 전달한다(트랜잭션 T624). 주소 정보가 전달되면 애플리케이션(902 또는 904)은 네이티브 IPv6 연결을 이용할 것이며, 주소 정보가 없는 것으로 전달되면 애플리케이션(902 또는 904)은 "A" 레코드 유형의 쿼리를 다시 요청할 것이다.If the response of the query is a result of a query of record type "AAAA", the result is passed to the application 902 or 904 as it is (transaction T624). If address information is passed, the application 902 or 904 will use a native IPv6 connection, and if it is delivered with no address information, the application 902 or 904 will again request a query of the "A" record type.
트랜잭션 T608 및 T616에서 다시 전송한 "AAAA" 레코드 유형 쿼리의 결과(트랜잭션 T610 및 T618)가 주소 정보를 갖고 있는 경우, 로컬 애플리케이션은 IPv4 애플리케이션이지만 상대의 애플리케이션이 IPv6 애플리케이션임을 의미하므로, 네임 해석기가 BIA 메커니즘으로 동작하기 위한 작업으로서 트랜잭션 T620을 수행한다. 이와 달리, 다시 전송한 "AAAA" 레코드 유형 쿼리의 결과가 주소 정보를 갖고 있지 않은 경우, 네임 해석기는 애플리케이션(902 또는 904)으로 그 결과값을 전달한다(트랜잭션 T624). 이 경우, 애플리케이션(902 또는 904)은 해당하는 상대 플랫폼이 없다는 것으로 처리할 것이다.If the result of the "AAAA" record type query sent back in transactions T608 and T616 (transactions T610 and T618) has address information, the local resolver is an IPv4 application, but the application of the other party is an IPv6 application. Perform transaction T620 as a task to operate as a mechanism. Alternatively, if the result of the "AAAA" record type query sent back does not have address information, the name resolver passes the result to the application 902 or 904 (transaction T624). In this case, the application 902 or 904 will treat it as having no corresponding platform.
BIA 메커니즘으로 동작하기 위해 네임 해석기는 주소 매핑기에게 사설 IPv4 주소를 요청한다(트랜잭션 T620). 여기서, 사설 IPv4 주소는 소정의 통신망 내에서 임의적으로 사용할 수 있는 주소이다. 주소 매핑기는 상대 애플리케이션의 플랫폼의 IPv6 주소에 대응하는 사설 IPv4 주소를 생성하여 테이블을 구성하고, 생성된 사설 IPv4 주소를 네임 해석기에게 전송한다(트랜잭션 T622). 그러면, 네임 해석기는 "A" 레코드 유형의 결과를 만들어 애플리케이션으로 그 결과값을 전달한다(트랜잭션 T624).To operate as a BIA mechanism, the name resolver requests a private IPv4 address from the address mapper (transaction T620). Here, the private IPv4 address is an address that can be used arbitrarily in a predetermined communication network. The address mapper generates a private IPv4 address corresponding to the IPv6 address of the partner application's platform, constructs a table, and sends the generated private IPv4 address to the name resolver (transaction T622). The name resolver then produces a result of record type "A" and passes the result to the application (transaction T624).
애플리케이션은 네임 해석기에 의한 결과값으로 상대 애플리케이션의 플랫폼에 대한 정보가 파악되었으므로, 그 플랫폼과의 통신을 시작한다(트랜잭션 T626). 기능 매핑기는 BIA/DSTM 확장 메커니즘에서 네이티브 IPv6 연결 메커니즘, BIA 메커니즘, DSTM 중 어느 하나의 메커니즘을 결정한다. 상세하게, 소켓 API(908)를 통해 애플리케이션이 출발지 및 도착지 주소 등의 정보를 주면서 통신을 요청하면 기능 매핑기는 그 주소 정보를 보고 IPv6 네이티브, DSTM, BIA 메커니즘 중 어느 하나를 선택한다.Since the application knows the platform of the partner application as a result of the name resolver, communication with the platform starts (transaction T626). The functional mapper determines one of the native IPv6 connectivity mechanism, the BIA mechanism, and the DSTM from the BIA / DSTM extension mechanism. Specifically, when the application requests communication while providing information such as a source and destination address through the socket API 908, the function mapper looks at the address information and selects one of IPv6 native, DSTM, and BIA mechanisms.
기능 매핑기는 요청 정보의 도착지 주소가 IPv6 주소이면 IPv6 네이티브 메커니즘을 선택하여 트랜잭션 Q에서 IPv6 네이티브 메커니즘을 수행한다. IPv6 네이티브 메커니즘은 당업자라면 충분히 이해할 수 있으므로 여기서는 이에 대한 설명을 생략하기로 한다.If the destination address of the request information is an IPv6 address, the function mapper selects an IPv6 native mechanism to perform the IPv6 native mechanism in transaction Q. Since the IPv6 native mechanism is well understood by those skilled in the art, a description thereof will be omitted here.
기능 매핑기는 요청 정보의 도착지 주소가 IPv4 주소이면 주소 매핑기에 이에 해당하는 IPv6 주소가 존재하는지 여부를 검사한다(트랜잭션 T628 및 T630). 해당하는 IPv6 주소가 존재하는 경우, 기능 매핑기는 BIA 메커니즘을 선택하여 트랜잭션 Q에서 도 8에 도시한 BIA 메커니즘(트랜잭션 T802 내지 T810)을 수행한다. 이와 달리, 해당하는 주소가 존재하지 않으면, 기능 매핑기는 DSTM 메커니즘을 선택하여 트랜잭션 Q에서 도 7에 도시한 DSTM 메커니즘(트랜잭션 T702 내지 T732)을 수행한다.If the destination address of the request information is an IPv4 address, the function mapper checks whether there is an IPv6 address corresponding to the address mapper (transactions T628 and T630). If there is a corresponding IPv6 address, the function mapper selects the BIA mechanism to perform the BIA mechanisms (transactions T802 to T810) shown in FIG. 8 in transaction Q. Alternatively, if the corresponding address does not exist, the function mapper selects the DSTM mechanism to perform the DSTM mechanism (transactions T702 to T732) shown in FIG. 7 in transaction Q.
도 7은 BIA/DSTM 확장 메커니즘에서 DSTM이 선택된 경우 수행되는 과정을 설명하기 위한 도면이다.FIG. 7 illustrates a process performed when DSTM is selected in a BIA / DSTM extension mechanism.
DSTM을 선택하는 핵심 기준은 로컬 및 상대 애플리케이션이 IPv4 패킷을 처리할 수 있는지에 관한 것이다. 이것은 상대방의 주소가 IPv4 주소임을 확인하면서 이루어진다. 전술한 도 6의 트랜잭션 T612 및 T616에서도 DSTM이 이용된다. 이 경우에는 네임 해석기를 하나의 애플리케이션으로 간주해야 한다. 여기서는 전술한 트랜잭션 T630 이후에(즉, 트랜잭션 Q에서) 애플리케이션이 DSTM을 이용하는 경우에 대해 설명한다.The key criterion for choosing DSTM is whether local and counterpart applications can handle IPv4 packets. This is done by confirming that the other party's address is an IPv4 address. DSTM is also used in transactions T612 and T616 in FIG. 6 described above. In this case, the name resolver should be considered an application. Here, the case where the application uses DSTM after transaction T630 described above (that is, in transaction Q) will be described.
트랜잭션 T630에서 정보를 수신하여 DSTM 메커니즘을 선택한 기능 매핑기는 먼저 애플리케이션이 생성한 소켓 정보를 소켓 테이블(912)에 전송한다(트랜잭션 T702). 소켓 테이블(912)은 애플리케이션이 생성한 소켓 정보를 등록하고 그 결과를 기능 매핑기에게 전송한다(트랜잭션 T704). 소켓 테이블(912)은 로컬 플랫폼들 중 해당하는 로컬 플랫폼에 하나만 존재하며 나중에 DSTM 클라이언트(906)가 IPv4 주소의 라이프 사이클(life cycle) 관리를 위해 사용되어진다.The function mapper, which has received the information in transaction T630 and selects the DSTM mechanism, first transmits the socket information generated by the application to the socket table 912 (transaction T702). The socket table 912 registers socket information generated by the application and transmits the result to the function mapper (transaction T704). There is only one socket table 912 on the corresponding local platform of the local platforms and later the DSTM client 906 is used for the life cycle management of IPv4 addresses.
다음에, 기능 매핑기는 해당하는 로컬 플랫폼에 IPv4 주소가 바인딩 되어 있는지 여부를 확인한다. 만약 바인딩되어 있으면, 이미 해당하는 로컬 플랫폼의 다른 애플리케이션이 이미 IPv4 주소 바인딩을 위한 트랜잭션 T706 내지 T716이 수행되었음을 의미한다. 이러한 경우, 기능 매핑기는 바로 트랜잭션 T718을 수행한다. 이와 달리, 해당하는 로컬 플랫폼에 IPv4 주소가 바인딩 되어있지 않은 경우, 기능 매핑기는 IPv4 주소를 할당하고 IPv6 터널 정보에 의한 DTI를 설정하는 DSTM 클라이언트(906)에게 해당하는 로컬 플랫폼에 대한 IPv4 주소의 할당을 요청한다(트랜잭션 T706).Next, the function mapper checks whether the IPv4 address is bound to the local platform. If it is bound, it means that another application of the corresponding local platform has already performed transactions T706 to T716 for IPv4 address binding. In this case, the functional mapper immediately performs transaction T718. Alternatively, if no IPv4 address is bound to the corresponding local platform, the functional mapper assigns an IPv4 address and assigns an IPv4 address for that local platform to the DSTM client 906, which sets up the DTI with IPv6 tunnel information. Request (transaction T706).
DSTM 클라이언트(906)는 DSTM 서버(512)에게 해당하는 로컬 플랫폼의 주소로설정하기 위한 IPv4 주소 및 IPv4 디폴트(default) 라우팅 정보와 IPv6 통신망(502)과 IPv4 통신망(504) 사이의 상대 터널 포인트(TEP)가 되는 IPv6 TEP 정보를 요청한다(트랜잭션 T708). 여기에서는 DSTM 서버(512)로서 DHCPv6 서버가 사용될 수 있다.The DSTM client 906 is an IPv4 address and IPv4 default routing information for setting the address of the local platform corresponding to the DSTM server 512 and the relative tunnel point between the IPv6 network 502 and the IPv4 network 504 ( Request IPv6 TEP information (TEP) (transaction T708). Here, a DHCPv6 server may be used as the DSTM server 512.
DSTM 서버(512)는 DSTM 클라이언트(906)의 서비스를 위해 DSTM 클라이언트 플랫폼의 IPv6에 대응하는 IPv4 주소를 풀(pool)에서 할당한 후 해당 IPv4 주소 정보와 TEP 정보를 요청한 DSTM 클라이언트(906)에게 이를 전달한다(트랜잭션 T710).The DSTM server 512 allocates an IPv4 address corresponding to the IPv6 of the DSTM client platform from the pool for the service of the DSTM client 906 and then sends it to the DSTM client 906 who requested the IPv4 address information and the TEP information. Pass it (transaction T710).
DSTM을 위한 정보를 DSTM 서버(512)로부터 수신한 DSTM 클라이언트(906)는 IPv4 주소 바인딩을 수행하고, IPv4 패킷을 IPv6 패킷에 캡슐화하여 전송하기 위한 동적인 가상 DTI를 설정한다(트랜잭션 T712).Receiving information for the DSTM from the DSTM server 512, the DSTM client 906 performs an IPv4 address binding and sets up a dynamic virtual DTI for encapsulating and transmitting the IPv4 packet into the IPv6 packet (transaction T712).
DTI 설정을 확인(트랜잭션 T714)한 DSTM 클라이언트(906)는 타이머(timer)를 가동하고, 지금까지의 작업 결과를 기능 매핑기에게 리턴한다(트랜잭션 T716).After confirming the DTI setting (transaction T714), the DSTM client 906 starts a timer and returns the result of the operation so far to the function mapper (transaction T716).
기능 매핑기는 계속 IPv4 네이티브 통신처럼 진행을 한다. 그러면, IPv4 패킷은 IPv6 패킷에 캡슐화되어 V4/V6 게이트(714)로 송신된다. V4/V6 게이트(714)는 캡슐화된 IPv6 패킷을 해체하여 원래의 IPv4 패킷을 IPv4 통신망(504)을 통해 도착지 노드, 즉 호스트4(520)로 전송한다(트랜잭션 T718).Function mappers continue to work like IPv4 native communication. The IPv4 packet is then encapsulated in an IPv6 packet and sent to the V4 / V6 gate 714. The V4 / V6 gate 714 tears down the encapsulated IPv6 packet and sends the original IPv4 packet to the destination node, ie, host 4 520, via the IPv4 network 504 (transaction T718).
호스트4(520)로부터의 응답은 전술한 트랜잭션의 역으로 진행된다. 상세하게, 호스트4(520)로부터의 IPv4 패킷이 V4/V6 게이트(514)에 도착하면, V4/V6 게이트(514)는 IPv4 응답 패킷의 도착지 주소 정보를 가지고 있으므로 이를 IPv6 패킷으로 캡슐화하여 전송한다. 그러면, 캡슐화된 IPv6 패킷은 IPv6 통신망(502)을 통해 DSTM 클라이언트(906)에 도착한 다음 해체되어 호스트 노드(508 또는 510)의 IPv4 스택을 통해 애플리케이션으로 되돌아오게 되는 것이다(트랜잭션 T720).The response from host 4 520 goes back to the transaction described above. In detail, when an IPv4 packet from the host 4 520 arrives at the V4 / V6 gate 514, the V4 / V6 gate 514 has destination address information of the IPv4 response packet, and thus it is encapsulated as an IPv6 packet and transmitted. . The encapsulated IPv6 packet then arrives at the DSTM client 906 via the IPv6 network 502 and is then broken up and returned to the application through the IPv4 stack of the host node 508 or 510 (transaction T720).
도 7의 영역 A에 도시한 바와 같이, 해당 애플리케이션이 통신을 완료하여 소켓을 닫을 경우, 기능 매핑기는 소켓 테이블(912)에 해당 소켓 정보 삭제를 요청하고(트랜잭션 T722), 소켓 정보가 삭제되면 이에 대응하는 소켓을 닫는다(트랜잭션 T724). 소켓 테이블(912)에서의 소켓 정보 삭제는 해당 애플리케이션이 종료하면서 소켓을 정리하는 경우에도 수행된다.As shown in area A of FIG. 7, when the corresponding application completes communication and closes the socket, the function mapper requests the socket table 912 to delete the socket information (transaction T722), and when the socket information is deleted, Close the corresponding socket (transaction T724). Deleting the socket information in the socket table 912 is also performed when the application cleans up the socket while terminating.
도 7의 영역 B에 도시한 바와 같이, 타이머를 가동한 DSTM 클라이언트(906)는 DSTM 서버(512)와 약속한 시간이 지난 후 소켓 테이블(912)에서 DSTM을 사용해야 하는 소켓이 남아 있는지 여부를 검사한다(트랜잭션 T726 및 T728). 검사결과 DSTM을 사용하는 소켓이 남아 있는 경우, DSTM 클라이언트(906)는 DSTM 서버(512)에게 로컬 플랫폼에 현재 할당된 IPv4 주소의 사용에 대한 연장을 요청한다(트랜잭션 T730 및 T732). 이와 달리, DSTM을 사용하는 소켓이 남아 있지 않은 경우, DSTM 클라이언트(906)는 DSTM 서버(512)에게 로컬 플랫폼에 할당된 IPv4 주소를 반납한다(트랜잭션 T730 및 T732). 이렇게 할당된 IPv4 주소를 반납하는 경우, DSTM 클라이언트(906)는 다시 해당하는 로컬 플랫폼에서의 모든 애플리케이션에 속한 기능 매핑기로부터의 DSTM용 IPv4 주소 할당 요청을 수신할 준비가 완료된다. 여기서, 도 7의 영역 A 및 B 각각에 도시한 트랜잭션들은 서로 연속성이 없으며, 또한 전술한 트랜잭션 T630 내지 T720에 연속하여 진행되는 트랜잭션이 아님을 주지해야 한다.As shown in area B of FIG. 7, the DSTM client 906 which started the timer checks whether there are any sockets left in the socket table 912 that need to use DSTM after an appointment with the DSTM server 512. (Transactions T726 and T728). If the check indicates that a socket using the DSTM remains, the DSTM client 906 requests the DSTM server 512 to extend the use of the IPv4 address currently assigned to the local platform (transactions T730 and T732). Alternatively, if no sockets using DSTM remain, the DSTM client 906 returns the IPv4 address assigned to the local platform to the DSTM server 512 (transactions T730 and T732). Upon returning the assigned IPv4 address, the DSTM client 906 is again ready to receive an IPv4 address assignment request for DSTM from a functional mapper belonging to all applications on that local platform. Here, it should be noted that the transactions shown in each of areas A and B of FIG. 7 are not continuous with each other, and are not transactions that proceed sequentially from the above-described transactions T630 to T720.
도 8은 BIA/DSTM 확장 메커니즘에서 BIA 메커니즘이 선택되는 경우의 과정을 설명하기 위한 도면이다.FIG. 8 is a diagram for describing a process when a BIA mechanism is selected in a BIA / DSTM extension mechanism.
전술한 도 6의 트랜잭션 T630에 있어서, 기능 매핑기가 BIA 메커니즘을 선택하는 경우에는 도 2의 트랜잭션 T210 내지 T214와 동일한 트랜잭션을 수행한다.In the above-described transaction T630 of FIG. 6, when the function mapper selects the BIA mechanism, the same transaction as that of the transactions T210 to T214 of FIG. 2 is performed.
주소 매핑기는 IPv4 주소에 대응하는 도착지의 IPv6 주소 정보를 기능 매핑기에 전달한다(트랜잭션 T630). 이를 수신하여 계속 BIA 메커니즘을 진행하게 된 기능 매핑기는 전달 받은 IPv6 주소 정보를 기초로 IPv6 소켓을 이용하여 IPv6 스택을 통해 도착지 노드, 즉 호스트6(506)으로 IPv6 패킷을 전송한다(트랜잭션 T802).The address mapper forwards the IPv6 address information of the destination corresponding to the IPv4 address to the function mapper (transaction T630). Upon receiving this, the function mapper continues the BIA mechanism and transmits an IPv6 packet to the destination node, that is, the host 6 506 through the IPv6 stack, using the IPv6 socket based on the received IPv6 address information (transaction T802).
호스트6(506)으로부터의 응답은 전술한 과정의 역으로 진행된다. 호스트6(506)으로부터 전송된 IPv6 패킷은 인터페이스를 통해 기능 매핑기에 도착한다(트랜잭션 T804).The response from host 6 506 proceeds inversely to the process described above. IPv6 packets sent from host 6 506 arrive at the functional mapper over the interface (transaction T804).
기능 매핑기는 출발지 IPv6 주소에 대응되는 임시 IPv4 주소 정보를 주소 매핑기에게 요청한다(트랜잭션 T806).The functional mapper requests the address mapper for temporary IPv4 address information corresponding to the source IPv6 address (transaction T806).
주소 매핑기는 주소 테이블에서 해당 IPv4 주소를 기능 매핑기에게 리턴한다(트랜잭션 T808).The address mapper returns the IPv4 address in the address table to the function mapper (transaction T808).
기능 매핑기는 IPv6 주소 정보를 IPv4 정보로 변환하여 IPv4 소켓 API(1008)를 통해 IPv4 애플리케이션(902)에게 호스트6(506)으로부터의 패킷을 전달한다(트랜잭션 T810).The functional mapper translates the IPv6 address information into IPv4 information and forwards the packet from Host6 506 to IPv4 application 902 via IPv4 socket API 1008 (transaction T810).
본 발명이 바람직한 실시예들을 통해 설명되고 예시되었으나, 당업자라면 첨부한 청구 범위의 사상 및 범주를 벗어나지 않고 여러 가지 변형 및 변경이 이루어질 수 있음을 알 수 있을 것이다.While the invention has been described and illustrated through preferred embodiments, it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the appended claims.
전술한 바와 같이, 본 발명에 따르면 하나의 호스트 내에서 IPv4 애플리케이션과 IPv6 애플리케이션을 동시에 사용할 수 있다. 환언하면, 로컬 호스트 상에 마련된 애플리케이션이 IPv4 애플리케이션 또는 IPv6/IPv4 듀얼 스택 애플리케이션인 것에 관계 없이, 상대 플랫폼의 애플리케이션이 IPv4 패킷만을 처리하는 IPv4 애플리케이션 또는 IPv6 패킷만을 처리하는 IPv6 애플리케이션일 경우에도 서로 통신할 수 있다. 더욱이, 로컬 호스트는 DNS 서버가 IPv4 통신망 또는 IPv6 통신망 상에 존재하는 것에 관계없이 DNS 서비스를 이용할 수 있다. 아울러, DSTM 환경에서 로컬 호스트의 통신망 사용 종료 시점이 각각의 애플리케이션별로 파악됨으로써 하나의 플랫폼 안에서 글로벌 IPv4 주소 사용 시점이 정확하게 파악되어 이러한 글로벌 IPv4 주소의 라이프 사이클 관리를 효과적으로 할 수 있다. 따라서, IPv4 통신망과 연결되어 있는 IPv6 통신망 상의 호스트가 IPv4 애플리케이션 및 IPv6 애플리케이션을 IPv4 주소의 활용도를 높이면서 동시에 사용할 수 있는 특징이 있다.As described above, according to the present invention, an IPv4 application and an IPv6 application can be used simultaneously in one host. In other words, regardless of whether the application provided on the local host is an IPv4 application or an IPv6 / IPv4 dual stack application, even if the application on the other platform is an IPv4 application that processes only IPv4 packets or an IPv6 application that processes only IPv6 packets, it may communicate with each other. Can be. Moreover, the local host can use the DNS service regardless of whether the DNS server is present on the IPv4 network or the IPv6 network. In addition, in the DSTM environment, when the end point of the network use of the local host is identified by each application, it is possible to accurately identify the time point of the use of global IPv4 addresses in one platform, thereby effectively managing the lifecycle of such global IPv4 addresses. Therefore, a host on an IPv6 communication network connected to an IPv4 communication network may simultaneously use IPv4 applications and IPv6 applications while increasing utilization of IPv4 addresses.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020014296A KR20030075237A (en) | 2002-03-16 | 2002-03-16 | Method and system for communicating with host having applications using heterogeneous internet protocols and target platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020014296A KR20030075237A (en) | 2002-03-16 | 2002-03-16 | Method and system for communicating with host having applications using heterogeneous internet protocols and target platform |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030075237A true KR20030075237A (en) | 2003-09-26 |
Family
ID=32225054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020014296A Withdrawn KR20030075237A (en) | 2002-03-16 | 2002-03-16 | Method and system for communicating with host having applications using heterogeneous internet protocols and target platform |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20030075237A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100496637B1 (en) * | 2002-06-07 | 2005-06-28 | (주)아이엠넷피아 | A Method of IPv4 communication in IPv6 Wireless LAN |
WO2006050672A1 (en) * | 2004-11-10 | 2006-05-18 | Huawei Technologies Co., Ltd. | A method for communicating between serving general packet radio service support nodes |
KR100705386B1 (en) * | 2005-04-25 | 2007-04-10 | 경희대학교 산학협력단 | Communication method between mobile node of mobile IPv4 network and corresponding node of IPv6 network |
KR100738524B1 (en) * | 2004-11-24 | 2007-07-11 | 삼성전자주식회사 | Tunneling method and apparatus for multicasting |
KR100989963B1 (en) * | 2004-02-19 | 2010-10-27 | 주식회사 케이티 | Network matching device |
-
2002
- 2002-03-16 KR KR1020020014296A patent/KR20030075237A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100496637B1 (en) * | 2002-06-07 | 2005-06-28 | (주)아이엠넷피아 | A Method of IPv4 communication in IPv6 Wireless LAN |
KR100989963B1 (en) * | 2004-02-19 | 2010-10-27 | 주식회사 케이티 | Network matching device |
WO2006050672A1 (en) * | 2004-11-10 | 2006-05-18 | Huawei Technologies Co., Ltd. | A method for communicating between serving general packet radio service support nodes |
KR100738524B1 (en) * | 2004-11-24 | 2007-07-11 | 삼성전자주식회사 | Tunneling method and apparatus for multicasting |
KR100705386B1 (en) * | 2005-04-25 | 2007-04-10 | 경희대학교 산학협력단 | Communication method between mobile node of mobile IPv4 network and corresponding node of IPv6 network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1146809C (en) | Integrated IP network | |
US6708219B1 (en) | Method and system for dual-network address utilization | |
US7830878B2 (en) | Virtual network connection system, virtual network connection apparatus, and computer-readable medium | |
US7277453B2 (en) | Inter private network communications between IPv4 hosts using IPv6 | |
US8902743B2 (en) | Distributed and scalable network address translation | |
JP4303600B2 (en) | Connection setting mechanism between networks with different address areas | |
CN100366033C (en) | Apparatus and method for providing direct connection between devices of different private networks | |
US8051206B2 (en) | Intelligent network address translator and methods for network address translation | |
JP4130962B2 (en) | System and method for using a domain name to route data sent to a destination on a network | |
EP2253124B1 (en) | Method and apparatus for communication of data packets between local networks | |
US6580717B1 (en) | Packet communication method and apparatus and a recording medium storing a packet communication program | |
US7529852B2 (en) | Method and apparatus for handling IPv4 DNS PTR queries across IPv4 and IPv6 networks | |
US7779158B2 (en) | Network device | |
US20030002496A1 (en) | Method enabling network address translation of incoming session initiation protocol connections based on dynamic host configuration protocol address assignments | |
US20130010614A1 (en) | METHOD AND APPARATUS FOR PROCESSING PACKETS IN IPv6 NETWORK | |
US7739394B2 (en) | Bi-level addressing for internet protocol broadband access | |
US9191317B2 (en) | Method and system for implementing interconnection between internet protocol version 4 network and new network | |
CN101515882B (en) | Method, device and system for communication between local area network and public network | |
KR100666987B1 (en) | IP4-4-PI6 switching system and its method using double stack switching mechanism | |
CN103369065A (en) | Massage forwarding method and equipment | |
CN101110817B (en) | Method and system for address selection | |
US7440466B2 (en) | Method, apparatus and system for accessing multiple nodes on a private network | |
US20060193320A1 (en) | Data transmission method having improved network address translation method in home gateway and a system thereof | |
KR20030075237A (en) | Method and system for communicating with host having applications using heterogeneous internet protocols and target platform | |
Hamarsheh | Deploying IPv4-only connectivity across local IPv6-only access networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20020316 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |