KR100538156B1 - 아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법 - Google Patents

아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법 Download PDF

Info

Publication number
KR100538156B1
KR100538156B1 KR10-2003-0009582A KR20030009582A KR100538156B1 KR 100538156 B1 KR100538156 B1 KR 100538156B1 KR 20030009582 A KR20030009582 A KR 20030009582A KR 100538156 B1 KR100538156 B1 KR 100538156B1
Authority
KR
South Korea
Prior art keywords
ipv4
ipv6
packet
host
address
Prior art date
Application number
KR10-2003-0009582A
Other languages
English (en)
Other versions
KR20040073844A (ko
Inventor
홍충선
김대선
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to KR10-2003-0009582A priority Critical patent/KR100538156B1/ko
Publication of KR20040073844A publication Critical patent/KR20040073844A/ko
Application granted granted Critical
Publication of KR100538156B1 publication Critical patent/KR100538156B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions

Abstract

본 발명은 IPv6 네트웍 망의 IPv6 호스트와 IPv4 네트웍 망의 IPv4 호스트간에 패킷 교환 시에, 네트웍 어드레스 변환기에서 생성한 IP 옵션 데이터를 IPv4 패킷 옵션 필드에 삽입하는 패킷 변환 방법을 통해 IPv6 호스트와 IPv4 호스트간의 패킷 교환을 수행하는 방법에 관한 것이다. 이를 위하여 본 발명은 IPv6 호스트에서 IPv4 호스트로 패킷이 전송되는 경우에는 IPv6 호스트 주소에 할당된 IP 옵션 데이터를 IPv4 패킷의 옵션 필드에 삽입하고 IPv6 패킷 주소를 IPv4 패킷 형태의 주소로 변환하여 IPv4 호스트로 전송하는 단계를 가지고, IPv4 호스트에서 IPv6 호스트로 패킷을 전송하는 경우에는 IPv4 패킷 옵션 필드에서 IP 옵션 데이터를 추출하여 이에 매칭되는 IPv6 호스트 주소로 IPv6 패킷을 형성하고 이를 IPv6 호스트로 전송하는 단계를 가진다.

Description

아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6 호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법{Method of exchanging packets using IPv4 packet's option field between IPv6 host and IPv4 host}
본 발명은 IPv6 네트웍 망의 IPv6 호스트와 IPv4 네트웍 망의 IPv4 호스트간에 패킷 교환 시에, 네트웍 어드레스 변환기에서 생성한 IP 옵션 데이터를 IPv4 패킷 옵션 필드에 삽입하는 패킷 변환 방법을 통해 IPv6 호스트와 IPv4 호스트간의 패킷 교환을 수행하는 방법에 관한 것이다.
1990년대 들어 인터넷 사용자가 기하급수적으로 늘어남에 따라 인터넷 통신을 구성하는 대표적인 프로토콜인 TCP/IP의 주소 체계인 IPv4(Internet Protocol Version 4) 주소가 빠른 속도로 고갈되어 가고 있다. 이를 위해 IETF(Internet Engineering Task Force)에서는 IPv4를 대체할 수단으로 새로운 주소 체계인 IPv6(Internet Protocol Version 6)를 개발하여 보급에 나서고 있다. 하지만, 현재 사용되고 있는 IPv4 주소 기반의 인터넷을 하루 아침에 IPv6 기반의 네트워크로 대체할 수는 없기 때문에 IPv4와 IPv6 기반의 네트워크는 상당기간 공존하며 점진적으로 IPv6 기반의 네트워크로 대체 되어야 한다. 이로 인해 현재 가장 현실적인 문제로 부각되고 있는 것이 바로 IPv4와 IPv6 기반 네트워크 사이의 프로토콜 변환이다. 즉, IPv6를 IPv4로 변환(translation) 하기 위해서는 IPv6 패킷 헤더를 IPv4 패킷 헤더로 변환하는 것이다. 마찬가지로, IPv4를 IPv6로 변환하기 위해서는 IPv4 패킷 헤더를 IPv6 패킷 헤더로 변환하는 것이다.
따라서, IPv6를 IPv4로 변환(translation) 한다는 것은 IPv6 패킷 헤더를 IPv4 패킷 헤더로 변환하는 것을 의미한다. 마찬가지로 IPv4를 IPv6로 변환한다는 것은 IPv4 패킷 헤더를 IPv6 패킷 헤더로 변환하는 것을 의미한다. 즉, IPv6 ->IPv4 변환의 경우에는 새로운 IPv4 패킷 헤더가 생성되고, IPv4 -> IPv6 변환의 경우에는 새로운 IPv6 패킷 헤더가 생성된다.
이를 위하여 IPv4 네트워크와 IPv6 네트워크 경계에 존재하면서 두 네트워크 프로토콜을 알맞게 변환하여 주는 장치가 필요한데, 이것의 구체적인 구현 방법으로는, NAT-PT(Network Address Translation-Protocol Translation), IPv4/IPv6 듀얼 스택 방식, BIS(Bump-in-the-Stack), 또는 BIA(Bump-in-the-API)등의 방식을 이용한 변환 등의 방법이 있다.
상기의 여러 방법 중 NAT-PT 패킷 변환 개념도를 도 1에 도시하였다. 여기서 부호 110은 IPv6 기반의 네트워크를 나타내고, 부호 120은 IPv4에서 IPv6로 혹은, IPv6에서 IPv4로 변환하는 NAT-PT 변환기로서 라우터상에서 구현됨을 나타내며, 부호 130은 IPv4 기반의 네트워크를 나타낸다.
어드레스 2001::3인 IPv6 호스트(111)에서 어드레스 163.180.116.236인 IPv4 호스트(131)로 패킷을 전송할 경우, IPv6 호스트(111)는 자신의 어드레스(111)를 소스 어드레스(112)로 하고 목적지 주소를 포함하고 있는 IPv4 변환용 IPv6(IPv4-translated IPv6) 어드레스를 데스티네이션 어드레스(113)로 하여 NAT-PT 변환기(120)로 보내게 된다. NAT-PT 변환기(120)는 패킷을 수신하여 IPv6 데스티네이션 주소(113)에서 IPv4 어드레스를 뽑아내어 이를 IPv4 데스티네이션 어드레스(133)로 하고, 패킷을 전송한 IPv6 호스트 주소(121)에 임시로 할당한 IPv4 주소(122)를 IPv4 소스 어드레스(132)로 하는 IPv4 패킷을 구성하여 목적지인 IPv4 망의 IPv4 호스트(131)로 전달하게 된다.
이와 반대로 도 2와 같이 IPv4 호스트에서 IPv6 호스트로 패킷을 전송할 경우 IPv4 호스트가 패킷을 전송하게 되면 패킷을 수신한 NAT-PT 변환기는, 수신한 패킷의 데스티네이션 어드레스(232)에 맵핑된 IPv6 어드레스(221)를 맵핑 테이블에서 읽어와서 이를 IPv6 데스티네이션 어드레스(212)로 하고, IPv4 소스 어드레스(231)를 IPv4 변환용 IPv6 소스 어드레스(211)형태로 하는 변환한 IPv6 패킷을 구성하여 목적지인 IPv6 호스트로 전달하게 된다.
이와 같이 IPv6 호스트에서 IPv4 호스트로 패킷을 전송하거나 이와 반대로 IPv4 호스트에서 IPv6 호스트로 패킷을 전송할 경우에 NAT-PT 변환기에서는 IPv6 호스트 주소를 대체하여 IPv4 망에서 사용될 IPv4 주소를 각각의 IPv6 호스트마다 임시로 할당을 해야 한다. 이렇게 IPv4 망에서 임시로 사용될 IPv4 주소는 각각의 연결을 구분하고 NAT-PT 변환기에서 헤더 변환 후 IPv4 망에서 사용된 임시 IPv4 주소로 사용될 뿐 큰 의미는 없다. 따라서, IPv6 망의 호스트들과 IPv4 망의 호스트들이 통신을 할 경우 각각의 연결마다 임시 IPv4 주소를 할당해 주어야 하는데, 앞으로 야기될 IPv4 주소 고갈 문제를 볼 때 이는 IPv4 주소의 낭비로 볼 수 있어 이에 대한 개선이 요구된다.
상기의 문제점을 해결하고자 본 발명은 제안된 것으로서, IPv6 호스트와 IPv4 호스트가 패킷을 주고받을 때 NAT-PT 변환기에서 임시로 할당했던 IPv4 주소를 하나의 IPv4 주소로 통일하고 그 구분을 IP의 옵션 필드를 이용하여 구분하도록 한다. 즉, IPv6 호스트와 IPv4 호스트간의 패킷 교환 시에 각각 할당되던 IP 주소를 하나의 IP 주소로만 할당하고 그에 대한 구분을 IPv4 패킷 옵션 필드에서 처리하도록 함으로써 IP 주소의 효율적 사용을 목적으로 한다.
상기의 목적을 이루기 위하여 본 발명은, 현재 IETF 규약에 의해 IPv4 패킷의 옵션 필드에 정의된 옵션 기능들 이외에 IPv6 호스트 구별 기능을 수행하는 의미의 새로운 옵션을 정의함과 동시에 각 IPv6 호스트를 식별하는 구분자인 IP 옵션 데이터를 IPv4 패킷의 옵션 필드에 삽입함으로써, IPv6 호스트와 IPv4 호스트간의 패킷 교환이 이루어지도록 한다.
이를 위하여 본 발명은 IPv6 호스트에서 IPv4 호스트로 패킷을 전송하는 경우, 상기 IPv6 호스트로부터 IPv6 패킷을 수신하여 해당 패킷으로부터 IPv6 호스트 주소를 추출하는 단계와, IPv6 호스트 주소와 이를 구별하는 식별자인 IP 옵션 데이터를 할당한 맵핑 테이블상에 상기 IPv6 패킷에서 추출한 IPv6 호스트 주소가 존재하는 경우에는 해당 IPv6 호스트 주소에 할당된 IP 옵션 데이터를 IPv4 패킷내의 옵션 필드의 데이터 영역에 삽입하고, 추출한 IPv6 호스트 주소가 상기 맵핑 테이블에 존재하지 않는 경우에는 맵핑 테이블에 해당 IPv6 호스트 주소를 신규 등록하고 소정의 IP 옵션 데이터를 할당한 후 해당 IP 옵션 데이터를 IPv4 패킷내의 옵션 필드의 데이터 영역에 삽입하는 단계와, IPv4 네트웍 망으로 전송할 IPv4 패킷의 소스 어드레스 필드에는 IPv4 형태로 된 상기 패킷 변환 장치의 주소를 삽입하고, 상기 IPv4 패킷의 데스티네이션 어드레스 필드에는 IPv6 호스트로부터 수신한 IPv6 패킷의 데스티네이션 어드레스 필드 내에 있는 IPv4 목적지 주소를 삽입하는 단계와, 변환 생성된 IPv4 패킷을 IPv4 네트웍 망으로 전송하는 단계를 포함한다.
또한, 상기 IPv4 호스트에서 IPv6 호스트로 패킷을 전송하는 방법은, 상기 IPv4 호스트로부터 IPv4 패킷을 수신하여 해당 패킷의 옵션 필드의 데이터 영역에서 IP 옵션 데이터를 추출하는 단계와, 상기에서 추출한 IP 옵션 데이터가 맵핑 테이블에 존재하는 경우에는 해당 IP 옵션 데이터에 할당된 IPv6 호스트 주소를 읽어오는 단계와, IPv6 네트웍 망으로 전송할 IPv6 패킷의 소스 어드레스 필드에는 IPv4 호스트로부터 수신한 IPv4 패킷의 소스 어드레스를 IPv6 주소 포맷으로 변환하여 삽입하고, IPv6 패킷의 데스티네이션 어드레스 필드에는 상기 맵핑 테이블에서 읽어온 IPv6 호스트 주소를 삽입하는 단계와, 변환 생성된 IPv6 패킷을 IPv6 네트웍 망으로 전송하는 단계를 포함한다.
먼저, 본 발명에 대한 실시 예를 설명하기에 앞서 IPv6 호스트와 IPv4 호스트간의 IP 통신 시에 NAT-PT 변환기에 의한 각 패킷 헤더의 변환 모습을 살펴보도록 한다.
도 3a는 IPv6 패킷과 IPv4 패킷간의 상호 교환이 NAT-PT 변환기를 통해 이루어 질 때 변환되는 각 패킷의 구조를 나타낸 것이다.
IPv6 패킷(300)은 IETF 규약에 따라 여러 필드를 포함하는데, 이에 대한 자세한 설명은 IETF 규약에 정의되어 있으므로 여기서는 간단히 설명한다. IPv6 패킷(300)은 IP의 버전 숫자를 나타내는 Version 필드(301), 패킷의 우선 순위를 나타내는 Priority 필드(302), IPv6 라우터에 의해 특별한 요청을 받은 발신지 호스트에 의해 붙여지는 패킷 라벨인 Flow Lavel 필드(303), 전체 패킷 길이에서 IP 헤더 부분을 제외한 길이를 나타낸 Payload Length 필드(304), IP 헤더 바로 다음으로 오는 옵션 헤더를 나타내는 Next Header 필드(305), IPv4의 생존 시간을 나타내는 Hop Limit 필드(306), 발신지 호스트의 IPv6 주소가 들어가는 소스 어드레스 필드(307), 수신지 호스트로서 IPv4 변환용 IPv6(IPv4-translated IPv6) 주소가 들어가는 데스티네이션 어드레스 필드(308)와 실제 패킷 데이터 필드(309)를 포함한다. 그리고, 여기서는 도시하지 않았지만 경우에 따라서는 TCP/IP 통신을 위한 추가적인 정보를 나타내는 IPv6 옵션 필드를 포함할 수도 있다. 상기의 소스 어드레스 필드(307)는 128 비트로 이루어져서 16비트가 8개의 필드로 이루어져 1079:0005:AB45:0010:BA97:0043:5F4c:34AB 와 같은 형태로 이루어진다. 특히, FF01:0000:0000:0000:0000:0000:0000:0067 같은 경우는 중간의 0의 문자열을 생략하여 FF01::67 같이 표시한다. 상기의 IPv4 변환용 IPv6의 데스티네이션 어드레스 필드(308) 역시 128 비트로 이루어져 있는데 이의 포맷을 도 4에 도시하였다. 실질적인 IPv6 주소는 앞에 있는 k로 표시된 80비트(410)이고, IPv4 어드레스는 마지막 16 비트(412)에 나타내 준다. 중간의 16 비트(411)는 모두 1로 세팅함으로서 본 주소가 IPv4 변환용 IPv6 주소임을 나타내 준다. 따라서, 데스티네이션 어드레스 필드는 2001::ffff:163.180.116.236과 같이 나타낼수 있다.
한편, IPv4 패킷(320) 역시 여러 정보 영역을 포함하는데, IP 버전을 나타내는 Version 필드(321), IP 헤더 길이를 나타낸 Length 필드(322), 해당 IP 패킷을 어떻게 다룰지 나타내는 Service Type 필드(323), IP 패킷 전체 길이를 나타낸 Packet Length 필드(324), 패킷 단편화와 재조합 과정에 사용되는 3개의 Packet Fragmentation 필드(325,326,327; Identification 필드, Flags 필드, Fragment Offset 필드), 패킷의 지속 기간을 나타내는 TTL(328,Time-to-Live) 필드, 어떤 프로토콜이 사용되는지를 나타내는 Protocol 필드(329), 체크섬을 나타내주는 Header Checksum 필드(330), 발신 IP 주소를 나타내는 32비트로 된 소스 어드레스 필드(331), 수신 IP 주소를 나타내는 32 비트로 된 데스티네이션 어드레스 필드(332), 실제적인 패킷 데이터 필드(334)를 포함한다. 그리고, TCP/IP 통신을 위한 그 외 추가적인 정보가 저장되는 IPv4 옵션 필드(333)를 포함할 수 있다. 특히, 여기서 IPv4 옵션 필드(333)는 본 발명에 따라 IPv6 호스트와 IPv4 호스트간의 통신 시에, 각 IPv6 호스트 주소를 구분하는 식별자인 IP 옵션 데이터가 들어가는 부분으로서, 이에 대한 것은 도 6의 옵션 필드와 함께 상세히 후술한다.
상기와 같이 IPv6 패킷 헤더(300)와 IPv4 패킷 헤더(320)는 서로 다른 구조를 이루고있기 때문에, 상호간의 IP 통신을 위하여 NAT-PT 변환기는 도 3b에 도시한 바와 같이 SIIT(Stateless IP/ICMP Translation)를 기반으로 하여 패킷 헤더 변환을 수행한다. 그런데, 상호간의 변환 시에 각 IP 버전에 따른 소스 어드레스와 데스티네이션 어드레스 변환이 이루어지는데, 종래의 NAT-PT 변환기는 도 1, 도 2에 설명한 바와 같이 IPv6 호스트 주소대신 임시로 모든 IPv6 호스트마다 IPv4 주소를 할당하여 어드레스 변환을 수행하였다.
그러나, 본 발명에서는 모든 IPv6 호스트마다 IPv4 주소를 각각 임시 할당하는 종래의 방법 대신, 모든 IPv6 호스트에는 하나의 동일한 IPv4 주소를 할당하고 IPv6 호스트에 대한 구분은 도 3a에 도시한 IPv4 패킷의 옵션 필드(333)를 이용하도록 하였다.
이하에서는, 본 발명에 따른 IPv4 옵션 필드를 이용하여 IPv6 호스트와 IPv4 호스트간의 IP 패킷 교환 실시 예를 도면을 참조하여 상세하게 설명한다.
도 5는 본 발명에 따라 IPv6 호스트에서 IPv4 호스트로 패킷을 전송하는 경우 어드레스 변환 모습을 도시한 그림이고, 도 6은 이러한 어드레스 변환을 수행하는 NAT-PT-UOF 변환기의 동작 과정을 나타낸 플로우차트이다.
상기에서 NAT-PT-UOF(Network Address Translation-Protocol Translation-Used Option Field) 변환기라 함은 IPv4 주소를 임시로 할당해 통신을 수행하는 종래의 NAT-PT 변환기와 구분하기 위해 명칭한 것으로서, IPv4 옵션 필드를 이용하여 패킷 변환을 수행하는 패킷 변환 장치를 의미한다. 이에 대한 내부 구성 모듈 설명은 도 10의 NAT-PT-UOF 변환기의 내부 구성 블록도와 함께 상세히 설명한다. 이하에서는 NAT-PT-UOF 변환기라 함은 본 발명에 따라 IPv4 옵션 필드를 이용하여 패킷 변환을 수행하는 변환기를 의미하는 것으로 한다.
상기 도 5와 도 6을 참조하여 IPv6 호스트에 IPv4 호스트로 IP 프로토콜에 따른 패킷 전송 과정을 설명하기로 한다.
도 5에 도시한 바와 같이 주소가 2001::3 인 IPv6 호스트(510)가 163.180.116.236 주소를 가진 IPv4 호스트(530)로 패킷을 전송하는 경우에 있어서, NAT-PT-UOF 변환기(520)가 IPv6 호스트(510)로부터 IPv6 패킷을 수신하게 되면 NAT-PT-UOF 변환기는 수신한 IPv6 패킷으로부터 IPv6 호스트 주소를 추출(S600)하여 추출한 호스트 주소가 주소 맵핑 테이블(525)에 등록되어 있는가를 검사(S602)한다. 만약, 맵핑 테이블(525)에 IPv6 호스트 주소가 등록되어 있지 않으면 맵핑 테이블에 해당 IPv6 호스트 주소를 등록하고 IP 옵션 데이터를 할당(S604)하고 이를IPv4 패킷의 옵션 필드내의 데이터 영역에 삽입(S606)한다. 반면에, 해당 IPv6 호스트 주소가 맵핑 테이블에 등록 되어 있으면 해당 주소에 할당 되어 있는 IP 옵션 데이터를 읽어 와서 이를 IPv4 패킷의 옵션 필드내의 데이터 영역에 삽입(S606)하는 단계를 갖는다.
상기의 주소 맵핑 테이블(525)은 각 IPv6 호스트를 구분하기 위하여 각 IPv6 호스트 별로 IP 옵션 데이터를 임의 할당하여 구성한 테이블로서 NAT-PT-UOF 변환기가 관리한다. 여기서 IP 옵션 데이터는 IPv4 네트웍 망으로의 패킷 전송을 요청한 IPv6 호스트를 구별하기 위한 구분자로 쓰이는데, NAT-PT-UOF 변환기는 각 IPv6 호스트 주소마다 임의의 식별 번호를 할당하여 맵핑 테이블로 이를 관리한다. 도 5에서는 2001::3 주소(526)를 가진 IPv6 호스트(510)에 대해 2525라는 IP 옵션 데이터 값(527)이 할당된 것으로 하였다.
한편, 단계 S606에서의 IPv4 옵션 필드란 도 3a에 도시한 IPv4 패킷의 옵션 필드(333)를 말하는 것으로서, 더욱 상세히 나타내면 도 7과 같이 Code 영역(700), Length 영역(710), Data 영역(720)으로 나누어지는데, Length 영역(710)은 8비트로 이루어져 옵션 필드의 길이를 나타낸 영역이고, Data 영역(720)은 가변 길이로 이루어져 해당 옵션에 필요로 하는 데이터가 저장되는 영역이다. Code 영역(700)은 다시 Copy 영역(702), Class 영역(704), Number 영역(706)으로 나누어지는데, 그 기능은 IETF의 RFC 791 규격에 의해 다음과 같이 정의된다.
Copy 0 - Copy only in first fragment
1 - Copy into all fragment
Class 00 - Dataram control
01 - Reserved
10 - Debugging and management
11 - Reserved
따라서, Copy 영역(702)의 1 비트는 원래의 패킷이 단편화되었을 때 어떻게 다루어질 것인가를 결정하는 기능을 하여, 만약, Copy 영역이 0으로 설정되면 이 옵션은 첫 번째 단편(fragment)에 복사되고 1로 설정되면 이 옵션은 원래 패킷의 모든 단편에 복사된다. Class 영역(704)은 두 개의 비트가 0으로 설정되면 옵션이 데이터그램이나 네트웍크 제어와 함께 있어야 한다는 의미이고 값이 2이면 옵션이 디버깅이나 측정할 목적으로 사용됨을 의미한다. 만약 값이 1이나 3일 경우에는 현재는 정의되어 있지 않지만 미래에 사용될 것임을 의미하게 된다. Number 영역(706)은 5개의 비트로서 해당 옵션이 어떠한 상태로 정의되는가를 구체적으로 나타낸 것이다.
IPv4 패킷의 옵션 필드는 Number 영역(706)의 5비트에 의하여 32가지의 서로 다른 유형의 옵션을 정의될 수 있지만, 현재 IETF 규약에 의해 정의된 Number 영역의 값은 다음 표 1에 도시한 바와 같이 6가지 옵션만이 정의되어 있다.
<표 1>
Class Number Description
0 0 (00000₂) End of option
0 1 (00001₂) No operation
0 3 (00011₂) Loose source route
0 7 (00111₂) Record route
0 9 (01001₂) Strict source route
2 4 (00100₂) Timestamp
따라서, class[0],Number[0]인 경우에는 옵션 목록의 끝을 나타내는 것이고, Class[0],Number[1]인 경우에는 어떤 옵션도 설정되어 있지 않다는 것을 의미한다. 이렇게 각 정의된 내용은 IETF 규약에 설명되어 있으므로 여기에서는 자세한 설명은 생략한다.
본 발명은 상기의 6가지 옵션 정의 외에 IPv6 호스트 주소를 구분하는 구분자를 이용하기 위한 새로운 옵션을 정의하기로 한다.
<표 2>
Class Number Description
0 10 (01010₂) Record classification
상기 표 2와 같이 IPv4 패킷의 옵션 필드가 IPv6 호스트 구분을 위한 구분자를 저장하는 용도로 사용되고 있음을 새로운 Number로서 정의한다. 본 발명의 실시 예에서는, Class[0], Number[10]인 경우에 해당 옵션 필드가 구분자(classification)를 저장하기 위한 용도로 사용되고 있음을 나타냈지만, 경우에 따라서는 다양한 Number 값을 이러한 용도로 정의할 수 있음은 자명한 사실일 것이다.
상기와 같이 IPv4 패킷 옵션 필드가 구분자 저장 용도로 사용되는 경우, 구분자는 패킷 옵션 필드의 데이터 영역(720)에 저장된다. 따라서, 단계 S606에서 IP 옵션 데이터를 IPv4 옵션 필드내 데이터 영역에 삽입한다는 것은, IPv4 옵션 필드 내의 Number 영역(704)에는 해당 패킷이 구분자 저장 용도로 쓰이고 있음을 정의(예컨데, Number 영역에 10 삽입)해주고, 2001::3 주소(526)를 갖는 IPv6 호스트에 대한 구분자로 쓰이는 IP 옵션 데이터 2525 값(527)을 IPv4 패킷 옵션 필드 내의 데이터 영역(720)에 삽입함을 의미한다.
상기 IP 옵션 데이터 삽입 단계(S606)가 끝나게 되면 NAT-PT-UOF 변환기는 IPv6 패킷의 소스 어드레스와 데스티네이션 어드레스를 IPv4 패킷의 소스 어드레스, 데스티네이션 어드레스로 변환하는 작업을 수행(S608)한다. 상술하면, NAT-PT-UOF 변환기는 자신이 관리하는 임의의 특정 주소(521, 도 5에서는 120.130.26.5를 예로 함)를 IPv4 네트웍망으로 전송할 패킷의 소스 어드레스 필드(531)에 삽입한다. 또한, IPv4 네트웍 망으로 전송할 패킷에 들어갈 데스티네이션 어드레스 필드(532)에는 IPv6 호스트가 전송한 패킷의 데스티네이션 어드레스 필드(512)중 IPv4 주소를 삽입한다. 도 5의 예시에서는 IPv6 패킷 데스티네이션 어드레스 필드(512) 중에서 하위 32비트에 있는 163.180.116.236이 IPv4 네트웍망으로 전송될 패킷의 데스티네이션 어드레스 필드(532)에 삽입한 것이다.
상기와 같이 어드레스 변환을 수행하여 IPv6 패킷에서 IPv4 패킷으로의 변환이 완료된 후에는 해당 패킷을 IPv4 망으로 전송(S610)해준다.
결국, 상기와 같이 변환된 IPv4 패킷을 수신한 IPv4 호스트는 그에 대한 응답으로서, 수신한 IPv4 패킷의 소스 어드레스(NAT-PT-UOF 변환기에서 임의로 할당한 주소)를 데스티네이션으로 하여 응답 패킷을 전송하게 되고, IPv4 패킷을 수신한 NAT-PT-UOF 변환기는 해당 패킷을 IPv6 패킷으로 변환한 후 이를 IPv6 네트웍 망으로 전송해 준다.
이하에서는 상기와 같이 IPv4 호스트에서 IPv6 호스트로의 패킷 전송 과정을 도 8, 도 9와 함께 설명한다.
IPv4 호스트(830)로부터 NAT-PT-UOF 변환기를 목적 주소지(832)로 하는 IPv4 패킷을 수신한 NAT-PT-UOF 변환기(820)는 IPv4 패킷의 옵션 필드 내의 데이터 영역에 있는 구분자(즉, IP 옵션 데이터)를 추출(S900)하여 추출한 IP 옵션 데이터와 맵핑된 IPv6 호스트 주소가 맵핑 테이블(825)에 존재하는가를 검사(S902)한다. 검사 결과, 추출한 IP 옵션 데이터와 맵핑된 IPv6 호스트 주소가 없는 경우에는 전송 과정을 종료하고, 반면에 맵핑된 IPv6 호스트 주소가 있는 경우에는 해당 IPv6 호스트 주소를 읽어(S904)와서 IPv4 패킷을 IPv6 패킷으로 변환(S906)하여 IPv6 네트웍 망으로 전송(S908)해 준다. 상기에서, IPv4 패킷을 IPv6 패킷으로 변환한다는 것은 IPv4 패킷 헤더 형식을 IPv6 패킷 헤더 형식으로 변환하는 것으로서, IPv4 패킷의 소스 어드레스와 데스티네이션 어드레스를 IPv6 패킷 형태에 맞는 어드레스로 변환함을 의미한다. 상술하면, IPv4 패킷의 소스 어드레스(831)를 IPv4 변환용 IPv6 주소(IPv4-translated IPv6) 형태로 변환하여 IPv6 패킷의 소스 어드레스 필드(811)에 삽입하고, IPv4 패킷의 데스티네이션 어드레스(832)를 NAT-PT-UOF 변환기의 IP 옵션 데이터(827)에 맵핑된 어드레스(826)로 대체하여 IPv6 패킷의 데스티네이션 어드레스 필드(812)에 삽입한다.
끝으로, 본 발명의 실시에 쓰이는 NAT-PU-UOF 변환기의 내부 구성 블록도를 도 10에 도시하였다.
NAT 모듈(1010,Network Address Translation Module)은 패킷의 어드레스 변환을 수행하는 모듈로서, 세션이 초기화 될 때마다 동적으로 IPv6 패킷과 IPv4 패킷의 각각의 어드레스 필드를 변환하는 기능을 수행한다. 특히, IPv6 패킷을 식별하기 위한 IP 옵션 데이터 저장을 위한 IPv4 옵션 필드를 생성시킨다. 또한 생성된 IP 옵션 데이터는 맵핑 테이블에 할당되고 또한 NAT 모듈에 의해 IPv4 패킷의 옵션 필드에 저장된다. 변환 방법에 대해서는 이미 도 5, 도 6, 도 7, 도 8, 도 9와 함께 상술한 바 있다.
PT 모듈(1020, Protocol Translation)은 패킷의 헤더를 IP 프로토콜 버전에 따라 변환시키는 모듈로서, 이의 동작 방법에 대해서는 마찬가지로 도 5, 도 6, 도 7, 도 8, 도 9에서 상술한 바 있다.
맵핑 테이블(1030)은 각 IPv6 호스트를 구분하기 위하여 각 IPv6 호스트 별로 IP 옵션 데이터를 임의 할당하여 구성한 데이터 베이스이다.
본 발명의 기술사상은 상기 바람직한 실시 예에 따라 구체적으로 기술되었으나 상기한 실시 예는 그 설명을 위한 것으로서, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
상기에서 설명한 바와 같이, 종래에는 IPv6 호스트와 IPv4 호스트간에 패킷 교환 시에 각 호스트 패킷교환 세션마다 IPv4 주소를 할당했었지만, 본 발명은 하나의 IPv4 주소 할당으로 각 패킷교환 세션을 처리할 수 있게 함으로써 IPv4 주소의 낭비없이 효율적인 IPv4 주소 사용을 할 수 있게 되었다.
도 1, 도 2는 IPv6 호스트와 IPv4 호스트간에 종래의 패킷 교환 방법이다.
도 3a IPv6 패킷과 IPv4 패킷의 구조를 도시한 그림이다.
도 3b는 IPv6 패킷과 IPv4패킷의 변환 알고리즘을 도시한 그림이다.
도 4는 IPv4 변환용 IPv6 어드레스 필드의 내부 구조를 나타낸 그림이다.
도 5는 본 발명에 따라 IPv6 호스트에서 IPv4 호스트로 패킷을 전송할 때 어드레스 변환 모습을 도시한 상태도이고, 도 6은 이때의 변환 과정을 나타낸 플로우 차트이다.
도 7은 IPv4 패킷의 옵션 필드의 내부 구조를 나타낸 그림이다.
도 8은 본 발명에 따라 IPv4 호스트에서 IPv6 호스트로 패킷을 전송할 때 어드레스 변환 모습을 도시한 상태도이고, 도 9는 이때의 변환 과정을 나타낸 플로우 차트이다.
도 10은 본 발명에 따른 패킷 변환 장치의 내부 구성 블록도이다.
*도면의 주요 부분에 대한 부호의 설명*
S600: 수신한 IPv6 패킷으로부터 IPv6 호스트 주소 추출
S602: IPv6 호스트 주소가 맵핑 테이블에 등록된 주소인가
S606: IP 옵션 데이터를 IPv4 옵션 필드내 데이터 영역에 삽입
S608: IP 어드레스 변환 S610: IPv4망으로 패킷 전송

Claims (4)

  1. 삭제
  2. IPv6 네트웍 망내의 IPv6 호스트와 IPv4 네트웍 망내의 IPv4 호스트간의 패킷 교환을 수행하는 패킷 변환 장치의 패킷 전송 방법에 있어서,
    상기 IPv6 호스트로부터 수신한 IPv6 패킷으로부터 IPv6 호스트 주소를 추출하는 단계와,
    IPv6 네트웍 망에 속하는 하나 이상의 IPv6 호스트 주소 및 각 주소에 대한 고유 식별자인 IP 옵션 데이터를 포함하는 맵핑 테이블에 상기 추출된 IPv6 호스트 주소가 존재하는 경우 해당 IPv6 호스트 주소에 할당된 IP 옵션 데이터를 IPv4 패킷의 옵션 필드 중 데이터 영역에 삽입하는 단계와,
    상기 추출된 IPv6 호스트 주소가 상기 맵핑 테이블에 존재하지 않는 경우 맵핑 테이블에 해당 IPv6 호스트 주소를 신규 등록하고 소정의 IP 옵션 데이터를 할당한 후 해당 IP 옵션 데이터를 IPv4 패킷의 옵션 필드 중 데이터 영역에 삽입하는 단계와,
    IPv4 네트웍 망으로 전송할 IPv4 패킷의 소스 어드레스 필드에 IPv4 형태로 된 상기 패킷 변환 장치의 주소를 삽입하고, 상기 IPv4 패킷의 데스티네이션 어드레스 필드에는 IPv6 호스트로부터 수신한 IPv6 패킷의 데스티네이션 어드레스 필드 내에 있는 IPv4 목적지 주소를 삽입하는 단계와,
    변환 생성된 IPv4 패킷을 IPv4 네트웍 망으로 전송하는 단계를 포함하여 이루어지는 IPv6 호스트에서 IPv4 호스트로의 패킷 전송 단계; 및
    상기 IPv4 호스트로부터 IPv4 패킷을 수신하여 해당 패킷의 옵션 필드의 데이터 영역에서 IP 옵션 데이터를 추출하는 단계와,
    상기 추출한 IP 옵션 데이터가 맵핑 테이블에 존재하는 경우에는 해당 IP 옵션 데이터에 할당된 IPv6 호스트 주소를 읽어오는 단계와,
    IPv6 네트웍 망으로 전송할 IPv6 패킷의 소스 어드레스 필드에는 상기 수신된 IPv4 패킷의 소스 어드레스를 IPv6 주소 포맷으로 변환하여 삽입하고, IPv6 패킷의 데스티네이션 어드레스 필드에는 상기 맵핑 테이블에서 읽어온 IPv6 호스트 주소를 삽입하는 단계와,
    상기에서 변환 생성된 IPv6 패킷을 IPv6 네트웍 망으로 전송하는 단계를 포함하여 이루어지는 IPv4 호스트에서 IPv6 호스트로의 패킷 전송 단계;
    를 포함하는 것을 특징으로 하는 IPv6 호스트와 IPv4 호스트간에 패킷을 교환하는 방법.
  3. 제 2 항에 있어서, 상기 IPv4 패킷의 옵션 필드는,
    해당 옵션 필드가 IPv6 호스트와 IPv4 호스트간의 패킷 교환을 위한 용도로 사용되고 있음을 표시함을 특징으로 하는 IPv6 호스트와 IPv4 호스트간에 패킷을 교환하는 방법.
  4. 제 3 항에 있어서, 상기 IPv4 패킷의 옵션 필드는
    IPv6 호스트 고유 식별자인 IP 옵션 데이터를 포함하고 있음을 특징으로 하는 IPv6 호스트와 IPv4 호스트간에 패킷을 교환하는 방법.
KR10-2003-0009582A 2003-02-15 2003-02-15 아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법 KR100538156B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0009582A KR100538156B1 (ko) 2003-02-15 2003-02-15 아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0009582A KR100538156B1 (ko) 2003-02-15 2003-02-15 아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법

Publications (2)

Publication Number Publication Date
KR20040073844A KR20040073844A (ko) 2004-08-21
KR100538156B1 true KR100538156B1 (ko) 2005-12-21

Family

ID=37360806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0009582A KR100538156B1 (ko) 2003-02-15 2003-02-15 아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법

Country Status (1)

Country Link
KR (1) KR100538156B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970230A (zh) * 2012-12-07 2013-03-13 中国联合网络通信集团有限公司 数据报文转发方法及路由器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100693050B1 (ko) * 2005-01-06 2007-03-12 삼성전자주식회사 네트워크 프로세서를 이용한 헤더 변환 시스템 및 그 방법
KR100748696B1 (ko) * 2006-02-17 2007-08-13 삼성전자주식회사 IPv4/IPv6 통합 네트워크 시스템에서의 RSVP지원 방법 및 그 시스템
CN114070817A (zh) * 2020-07-29 2022-02-18 小鱼视讯(北京)科技有限公司 应用于SDN网络Overlay层的IPv4与IPv6双向翻译方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970230A (zh) * 2012-12-07 2013-03-13 中国联合网络通信集团有限公司 数据报文转发方法及路由器

Also Published As

Publication number Publication date
KR20040073844A (ko) 2004-08-21

Similar Documents

Publication Publication Date Title
US6430623B1 (en) Domain name routing
US6580717B1 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
US6708219B1 (en) Method and system for dual-network address utilization
US7701952B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
KR100560737B1 (ko) 듀얼스택을 이용한 아이피브이4 - 아이피브이6 전환 장치및 그 방법
USRE41024E1 (en) Communication using two addresses for an entity
US6353614B1 (en) Method and protocol for distributed network address translation
EP1214817B1 (en) Packet network interfacing
KR100803273B1 (ko) 패킷 터널링하는 isatap 라우터 및 그 방법
US7450560B1 (en) Method for address mapping in a network access system and a network access device for use therewith
JP5239618B2 (ja) アドレス変換装置、方法及びプログラム、並びにノード
US20050010668A1 (en) Traversable network address translation with hierarchical internet addressing architecture
US20060193320A1 (en) Data transmission method having improved network address translation method in home gateway and a system thereof
WO2002015014A1 (en) Pseudo addressing
KR100538156B1 (ko) 아이피버젼4 패킷의 옵션 필드를 이용하여 아이피버젼6호스트와 아이피버젼4 호스트간에 패킷을 교환하는 방법
KR100772537B1 (ko) IPv4 네트워크 환경에서 IPv6 패킷이 IPv4로터널링되도록 하는 IPv6 전환 장치 및 방법
JP4349413B2 (ja) パケット生成方法およびその機能を有する情報処理装置並びにパケット生成プログラムを記録した記録媒体
Abdalaziz et al. Analyzing the IPv6 deployment process in Palestine
KR100562390B1 (ko) 호스트 라우팅과 IP Aliasing 기법을 이용한 네트워크 데이터 플로우 식별 방법 및 시스템
KR100711163B1 (ko) 데이터패킷 중계기의 주소 매핑 장치 및 그 방법
JP2005026897A (ja) ネットワーク間接続装置
KR100356952B1 (ko) 원격 액세스 서버에서 주소 및 포트 변환을 위한 변환테이블 구성 방법
Bradner et al. IP Next Generation (IPng)
Rannenberg Business Informatics 2 (PWIN) WS 2022

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111212

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee