[go: up one dir, main page]

KR20050030288A - Ip 패킷의 버전을 변환하는 장치 및 방법 - Google Patents

Ip 패킷의 버전을 변환하는 장치 및 방법 Download PDF

Info

Publication number
KR20050030288A
KR20050030288A KR1020030066497A KR20030066497A KR20050030288A KR 20050030288 A KR20050030288 A KR 20050030288A KR 1020030066497 A KR1020030066497 A KR 1020030066497A KR 20030066497 A KR20030066497 A KR 20030066497A KR 20050030288 A KR20050030288 A KR 20050030288A
Authority
KR
South Korea
Prior art keywords
ipv4
field
ipv6
packet
header
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.)
Ceased
Application number
KR1020030066497A
Other languages
English (en)
Inventor
박수홍
김영근
김선우
김평수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020030066497A priority Critical patent/KR20050030288A/ko
Priority to US10/936,666 priority patent/US7474675B2/en
Publication of KR20050030288A publication Critical patent/KR20050030288A/ko
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 IP 패킷의 버전을 변환하는 장치 및 방법에 관한 것으로서, 본 발명에 따른 IPv4/IPv6 헤더 변환 장치는 소정의 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 IPv4 패킷 헤더 검사부; IPv4 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, IPv4 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 IPv4 확장 기능 인식부; 및 IPv4 확장 기능 인식부에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환하는 IPv4/IPv6 확장 기능 변환부를 포함하며, IPv4 패킷과 IPv6 패킷을 상호 변환할 때 RFC 2765에 정의된 기본 기능뿐만 아니라, RFC 2765에 정의되지 않은 확장 기능들도 정상적으로 상호 변환될 수 있도록 함으로서, IPv4와 IPv6이 공존하는 환경에서 IPv4 패킷 또는 IPv6 패킷에 부착된 모든 기능을 유지하면서 상호 변환될 수 있다.

Description

IP 패킷의 버전을 변환하는 장치 및 방법 {Apparatus and method for converting the version of IP packet}
본 발명은 IP(Internet Protocol)에 관한 것으로서, 보다 상세하게는 IP 패킷의 버전을 변환하는 장치 및 방법에 관한 것이다.
RFC(Request For Comments) 2765에서 정의된 SIIT(Stateless IP/ICMP Translator)에 의하여 IPv4 패킷과 IPv6 패킷을 상호 변환하는 경우, IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능들은 IPv4 헤더 및 IPv6 헤더 양자에 모두 존재하는 기능이며, 서로 관련 없는 기능들은 변환 과정에서 무시된다. 다만, 플래그먼트(Fragment) 기능만이 예외적으로 IPv6 패킷에 포함된 확장 헤더를 이용하여 상호 변환되도록 하고 있다. 따라서, RFC 2765에 정의된 기능들은 정상적으로 변환되나, RFC 2765에 정의되지 않은 기능들은 무시되어 비정상적인 동작을 유발하게 된다는 문제점이 있었다. 즉, IPv4 헤더만의 특유 필드, IPv6 헤더만의 특유 필드, 및 IPv6 확장 헤더에 어떤 기능에 대한 값을 기록해 놓은 경우, 변환 과정에서 무시되기 때문에 기존 IP 패킷에서 보유했던 기능이 상실된다는 문제점이 있었다. 예를 들면, RFC 3514에 정의된 IPv4 보안 기능의 경우, IPv4 헤더의 플래그먼트 오프셋(Fragment Offset) 필드에 이 보안 기능에 대한 값이 기록되어 있는데, 변환 과정에서 무시되기 때문에 IPv4 패킷으로부터 변환된 IPv6 패킷은 이 보안 기능을 상실하게 되며, 해킹 등에 취약하게 된다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 IPv4 패킷과 IPv6 패킷을 상호 변환할 때 RFC 2765에 정의된 기능뿐만 아니라, RFC 2765에 정의되지 않은 기능들도 정상적으로 상호 변환될 수 있도록 하는 장치 및 방법을 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 IPv4/IPv6 헤더 변환 장치는 소정의 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 IPv4 패킷 헤더 검사부; 상기 IPv4 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 IPv4 확장 기능 인식부; 및 상기 IPv4 확장 기능 인식부에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환하는 IPv4/IPv6 확장 기능 변환부를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 IPv6/IPv4 헤더 변환 장치는 소정의 IPv6 패킷에 포함된 헤더의 필드들을 검사하는 IPv6 패킷 헤더 검사부; 상기 IPv6 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 상기 IPv6 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv6 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 IPv6 확장 기능 인식부; 및 상기 IPv6 확장 기능 인식부에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv4 형식의 필드로 변환하는 IPv6/IPv4 확장 기능 변환부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 IP 패킷 버전 변환 장치는 IPv4 패킷에 포함된 헤더의 필드들을 검사하고, 상기 검사된 필드들 중, 제 1 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 상기 제 1 필드를 상기 제 1 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 검사된 필드들 중, 제 2 필드에 상기 IPv4 패킷에 제 1 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 상기 IPv4 패킷에 포함된 헤더에 포함된 필드들 중, 상기 제 1 확장 기능에 대한 값이 기록되어 있는 제 3 필드를 인식하고, 상기 인식된 제 3 필드를 상기 제 3 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 변환된 제 1 필드에 대응되는 IPv6 형식의 필드 및 상기 변환된 제 3 필드에 대응되는 IPv6 형식의 필드를 포함하는 IPv6 형식의 헤더를 생성하는 IPv4/IPv6 헤더 변환부; 및 상기 IPv4/IPv6 헤더 변환부에서 검사된 필드들 중, 제 4 필드에 상기 IPv4 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, 상기 IPv4 패킷에 포함된 페이로드를 인식하고, 상기 인식된 페이로드에 기록된 데이터를 포함하는 IPv6 형식의 페이로드를 생성하는 IPv4/IPv6 페이로드 변환부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 IPv4/IPv6 헤더 변환 방법은 (a) 소정의 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 단계; (b) 상기 (a) 단계에서 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 단계; 및 (c) 상기 (b) 단계에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 IPv6/IPv4 헤더 변환 방법은 (a) 소정의 IPv6 패킷에 포함된 헤더의 필드들을 검사하는 단계; (b) 상기 (a) 단계에서 검사된 필드들 중, 소정의 필드에 상기 IPv6 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv6 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 단계; 및 (c) 상기 (b) 단계에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv4 형식의 필드로 변환하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 IP 패킷 버전 변환 방법은 (a) IPv4 패킷에 포함된 헤더의 필드들을 검사하고, 상기 검사된 필드들 중, 제 1 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 상기 제 1 필드를 상기 제 1 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 검사된 필드들 중, 제 2 필드에 상기 IPv4 패킷에 제 1 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 상기 IPv4 패킷에 포함된 헤더에 포함된 필드들 중, 상기 제 1 확장 기능에 대한 값이 기록되어 있는 제 3 필드를 인식하고, 상기 인식된 제 3 필드를 상기 제 3 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 변환된 제 1 필드에 대응되는 IPv6 형식의 필드 및 상기 변환된 제 3 필드에 대응되는 IPv6 형식의 필드를 포함하는 IPv6 형식의 헤더를 생성하는 단계; 및 (b) 상기 (a) 단계에서 검사된 필드들 중, 제 4 필드에 상기 IPv4 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, 상기 IPv4 패킷에 포함된 페이로드를 인식하고, 상기 인식된 페이로드에 기록된 데이터를 포함하는 IPv6 형식의 페이로드를 생성하는 단계를 포함한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 IP 패킷 버전 변환 장치의 구성도이다.
도 1을 참조하면, IP 패킷 버전 변환 장치는 IP 패킷 입력부(11), IP 패킷 버전 확인부(12), IPv4/IPv6 헤더 변환부(13), IPv4/IPv6 페이로드 변환부(14), IPv6 패킷 생성부(15), IPv6/IPv4 헤더 변환부(16), IPv6/IPv4 페이로드 변환부(17), IPv4 패킷 생성부(18), 및 IP 패킷 출력부(19)로 구성된다.
IP 패킷 입력부(11)는 IP 패킷을 입력받는다. 본 발명은 IPv4 환경에서 IPv6 환경으로 넘어가는 과도기적인 시기의 IPv4 및 IPv6이 혼재하는 환경에 적용될 수 있는 발명으로서, 입력된 IP 패킷은 IPv4 패킷 일수도 있고, IPv6 패킷일 수도 있다. IP 패킷 버전 확인부(12)는 IP 패킷 입력부(11)에 입력된 IP 패킷의 버전, 즉, IPv4인지 IPv6인지를 확인한다.
도 2는 IPv4 패킷의 포맷을 도시한 도면이다.
도 2를 참조하면, IPv4 패킷은 헤더 및 페이로드로 구성된다. 헤더에는 IPv4 패킷이 보유한 여러 가지 기능에 대한 값이 기록되어 있고, 페이로드에는 전송하고자 하는 실질적인 데이터가 기록되어 있다. 헤더는 버전(Version) 필드, 헤더 길이(HL, Header Length) 필드, 서비스 타입(TOS, Type Of Service) 필드, 총 길이(Total Length) 필드, 식별(Identification) 필드, 플래그(Flag) 필드, 플래그먼트 오프셋(Fragment Offset) 필드, 생존 시간(TTL, Time To Live) 필드, 프로토콜(Protocol) 필드, 헤더 체크섬(Header Checksum) 필드, 발신지 주소(Source Address) 필드, 목적지 주소(Destination Address) 필드, 옵션(Option) 필드, 및 패딩(Padding) 필드로 구성된다.
도 3은 IPv6 패킷의 포맷을 도시한 도면이다.
도 3을 참조하면, IPv6 패킷은 기본 헤더(이하, 일반적으로 IPv6 헤더라고 하면 이것만을 가리키는 것이다), 확장 헤더, 및 페이로드로 구성된다. 도 2에 도시된 IPv4 패킷과의 차이점은 헤더가 기본 헤더와 확장 헤더로 분리되었다는 것이다. IPv4 패킷의 헤더는 그 길이가 가변적임에 대하여, IPv6 패킷의 기본 헤더는 그 길이가 40 바이트로 고정적이다. 다만, IPv6 패킷의 확장 헤더의 길이는 가변적이다. 도 3에 도시된 바와 같이, 확장 헤더는 기본 헤더 뒤에 여러 개가 선택적으로 올 수 있다.
도 4는 IPv6 패킷의 기본 헤더의 포맷을 도시한 도면이다.
도 4를 참조하면, IPv6 패킷의 기본 헤더는 버전(Version) 필드, 트래픽 클래스(Traffic Class) 필드, 플로우 라벨(Flow Label) 필드, 페이로드 길이(Payload Length) 필드, 다음 헤더(Next Header) 필드, 홉 리미트(Hop Limit) 필드, 발신지 주소(Source Address) 필드, 및 목적지 주소(Destination Address) 필드로 구성된다.
도 2 및 도 4에 도시된 바와 같이, IPv4 헤더이든, IPv6 헤더이든, IP 패킷의 첫 4비트는 버전 필드이므로, IP 패킷 버전 확인부(12)는 이 값을 확인하여 IP 패킷 입력부(11)에 입력된 IP 패킷의 버전을 확인한다.
IPv4/IPv6 헤더 변환부(13)는 IP 패킷 버전 확인부(12)에서 확인된 IP 패킷의 버전이 IPv4인 경우, 버전이 IPv4로 확인된 IP 패킷인 IPv4 패킷에 포함된 헤더의 필드들을 검사한다. 도 2에 도시된 여러 필드들을 검사한다. IPv4/IPv6 헤더 변환부(13)는 검사된 필드들 중, 어느 하나의 필드인 제 1 필드에 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 제 1 필드를 제 1 필드에 대응되는 IPv6 형식의 필드로 변환한다. 여기에서, 기본 기능은 RFC(Request For Comments) 2765에서 정의된 SIIT(Stateless IP/ICMP Translator)에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능을 말한다. SIIT에 의하여 IPv4 패킷에서 IPv6 패킷으로 변환 가능한 기능을 구체적으로 살펴보면, IPv6 헤더의 버전 필드에는 6이 기록되고, IPv6 헤더의 트래픽 클래스 필드에는 IPv4 헤더의 서비스 타입 필드의 값이 기록되고, IPv6 헤더의 플로우 라벨 필드에는 0이 기록되고, IPv6 헤더의 페이로드 길이 필드에는 IPv4 헤더의 총 길이 필드에서 IPv4 헤더, 옵션, 및 패딩의 사이즈를 뺀 값이 기록되고, IPv6 헤더의 다음 헤더 필드에는 IPv4 헤더의 프로토콜 필드의 값이 기록되고, IPv6 헤더의 홉 리미트 필드에는 IPv4 헤더의 생존 시간 필드의 값이 기록되고, IPv6 헤더의 발신지 주소 필드의 하위(low-order) 32 비트에는 IPv4 헤더의 발신지 주소 필드의 값이 기록되고, IPv6 헤더의 발신지 주소 필드의 상위(high-order) 96 비트에는 IPv4 맵 접두사(IPv4-mapped prefix)인 ::ffff:0:0/96이 기록되고, IPv6 헤더의 목적지 주소 필드의 하위 32 비트에는 IPv4 헤더의 목적지 주소 필드의 값이 기록되고, IPv6 헤더의 목적지 주소 필드의 상위 96 비트에는 IPv4 맵 접두사(IPv4-mapped prefix)인 ::ffff:0:0/96이 기록된다. 만약, 도 3에 도시된 IPv6 확장 헤더인 플래그먼트 헤더를 부가할 필요가 있는 경우(IPv4 헤더의 플래그 필드의 DF(Don't Fragment) 비트가 세팅되어 있거나, IPv4 패킷이 플래그먼트인 경우)에는 IPv6 헤더는 다음과 같이 설정된다. 즉, IPv6 헤더의 페이로드 길이 필드에는 IPv4 헤더의 총 길이 필드에서 IPv4 헤더, 옵션, 및 패딩의 사이즈를 뺀 값에 플래그먼트 헤더의 길이(8)를 더한 값이 기록되고, IPv6 헤더의 다음 헤더 필드에는 플래그먼트 헤더를 나타내는 값(44)이 기록되고, IPv6 플래그먼트 헤더의 다음 헤더 필드에는 IPv4 헤더의 프로토콜 필드의 값이 기록되고, IPv6 플래그먼트 헤더의 플래그먼트 오프셋 필드에는 IPv4 헤더의 플래그먼트 오프셋 필드의 값이 기록되고, IPv6 플래그먼트 헤더의 M 플래그 필드에는 IPv4 헤더의 플래그 필드의 MF(More Fragment) 비트의 값이 기록되고, IPv6 플래그먼트 헤더의 식별 필드의 하위 16 비트에는 IPv4 헤더의 식별 필드의 값이 기록되고, IPv6 플래그먼트 헤더의 식별 필드의 상위 16 비트에는 0이 기록된다. 이상에서 사용되지 않은 IPv4 헤더의 필드들에 대해서 종래에는 무시되었으나, 본 발명에서는 다음과 같이 활용된다.
IPv4/IPv6 헤더 변환부(13)는 검사된 필드들 중, 어느 하나의 필드인 제 2 필드에 IPv4 패킷에 제 1 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 IPv4 패킷에 포함된 헤더에 포함된 필드들 중, 제 1 확장 기능에 대한 값이 기록되어 있는 제 3 필드를 인식한다. 여기에서, 확장 기능은 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능을 말하며, 일례로서 RFC 3514에 정의된 보안 기능을 들 수 있다. 이상에서 사용되지 않은 IPv4 헤더의 필드들인 헤더 길이 필드, 헤더 체크섬 필드나, 이상에서 사용된 IPv4 헤더의 필드들인 경우라도 사용되지 않은 일부분에 확장 기능이 부착되어 있음을 나타내는 값이 기록될 수 있다. 만약, IPv4 헤더의 어느 부분에 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있다면, IPv4 패킷에 확장 기능이 부착되어 있음을 알게 되고, 이 확장 기능에 대한 값이 기록되어 있는 필드를 찾아서 인식하게 된다. 여러 확장 기능들이 하나의 IPv4 패킷에 부착될 수 있으며, IPv4/IPv6 헤더 변환부(13)는 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 부분과 확장 기능에 대한 값이 기록되어 있는 부분이 서로 맵핑될 수 있도록 하는 테이블을 보유하고 있어야 할 것이다.
IPv4/IPv6 헤더 변환부(13)는 인식된 제 3 필드를 제 3 필드에 대응되는 IPv6 형식의 필드로 변환하고, 변환된 제 1 필드에 대응되는 IPv6 형식의 필드 및 변환된 제 3 필드에 대응되는 IPv6 형식의 필드를 포함하는 IPv6 형식의 헤더를 생성한다. 기본 기능의 변환과 마찬가지로, 확장 기능의 변환의 경우에도 IPv4 형식을 IPv6 형식으로 변환한다. IPv4 패킷의 모든 기본 기능 및 확장 기능에 대하여 IPv6 형식으로 변환하는 작업이 완료된 경우, IPv6 형식으로 변환된 필드들을 조합하여 IPv6 형식의 헤더를 생성한다.
IPv4/IPv6 페이로드 변환부(14)는 IPv4/IPv6 헤더 변환부(13)에서 검사된 필드들 중, 제 4 필드에 IPv4 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, IPv4 패킷에 포함된 페이로드를 인식하고, 인식된 페이로드에 기록된 데이터를 포함하는 IPv6 형식의 페이로드를 생성한다. 즉, IPv4 헤더의 헤더 길이 필드에 기록된 값과 총 길이 필드에 기록된 값을 참조하여 IPv4 패킷에 포함된 페이로드를 인식한다.
IPv6/IPv4 헤더 변환부(16)는 IP 패킷 버전 확인부(12)에서 확인된 IP 패킷의 버전이 IPv6인 경우, 버전이 IPv6으로 확인된 IP 패킷인 IPv6 패킷에 포함된 헤더의 필드들을 검사한다. 도 4에 도시된 여러 필드들을 검사한다. IPv6/IPv4 헤더 변환부(16)는 검사된 필드들 중, 제 5 필드에 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 제 5 필드를 제 5 필드에 대응되는 IPv4 형식의 필드로 변환한다. SIIT에 의하여 IPv6 패킷에서 IPv4 패킷으로 변환 가능한 기능을 구체적으로 살펴보면, IPv4 헤더의 버전 필드에는 4가 기록되고, IPv4 헤더의 헤더 길이 필드에는 5가 기록되고, IPv4 헤더의 서비스 타입 필드에는 IPv6 헤더의 트래픽 클래스 필드의 값이 기록되고, IPv4 헤더의 총 길이 필드에는 IPv6 헤더의 총 길이 필드의 값에 IPv4 헤더의 사이즈를 더한 값이 기록되고, IPv4 헤더의 식별 필드에는 0이 기록되고, IPv4 헤더의 플래그 필드의 MF 비트에는 0이 기록되고, IPv4 헤더의 플래그 필드의 DF 비트에는 1이 기록되고, IPv4 헤더의 플래그먼트 오프셋 필드에는 0이 기록되고, IPv4 헤더의 생존 시간 필드에는 IPv6 헤더의 홈 리미트 필드의 값이 기록되고, IPv4 헤더의 프로토콜 필드에는 IPv6 헤더의 다음 헤더 필드의 값이 기록되고, IPv4 헤더의 헤더 체크섬 필드에는 IPv4 헤더가 생성된 후 계산된 값이 기록되고, IPv4 헤더의 발신지 주소 필드에는 IPv6 헤더의 발신지 주소 필드의 하위 32 비트 값이 기록되고, IPv4 헤더의 목적지 주소 필드에는 IPv6 헤더의 목적지 주소 필드의 하위 32 비트 값이 기록된다. 만약, 입력된 IPv6 패킷에 플래그먼트 헤더가 부착되어 있는 경우에는 IPv4 헤더는 다음과 같이 설정된다. 즉, IPv4 헤더의 총 길이 필드에는 IPv6 헤더의 페이로드 길이 필드에서 플래그먼트 헤더의 길이(8)를 뺀 값에 IPv4 헤더, 옵션, 및 패딩의 사이즈를 더한 값이 기록되고, IPv6 헤더의 다음 헤더 필드에는 플래그먼트 헤더를 나타내는 값(44)이 기록되고, IPv4 헤더의 플래그 필드의 MF 비트에는 IPv6 플래그먼트 헤더의 M 플래그 필드의 값이 기록되고, IPv4 헤더의 플래그 필드의 DF 비트에는 0이 기록되고, IPv4 헤더의 플래그먼트 오프셋 필드에는 IPv6 플래그먼트 헤더의 플래그먼트 오프셋 필드의 값이 기록되고, IPv4 헤더의 프로토콜 필드에는 IPv6 플래그먼트 헤더의 다음 헤더 필드의 값이 기록된다. 이상에서 사용되지 않은 IPv6 헤더의 필드들에 대해서 종래에는 무시되었으나, 본 발명에서는 다음과 같이 활용된다.
IPv6/IPv4 헤더 변환부(16)는 검사된 필드들 중, 제 6 필드에 IPv6 패킷에 제 2 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 IPv6 패킷에 포함된 헤더의 필드들 중, 제 2 확장 기능에 대한 값이 기록되어 있는 제 7 필드를 인식한다. 이상에서 사용되지 않은 IPv6 헤더의 필드들인 확장 헤더 필드나, 이상에서 사용된 IPv6 헤더의 필드들인 경우라도 사용되지 않은 일부분에 확장 기능이 부착되어 있음을 나타내는 값이 기록될 수 있다. 만약, IPv6 헤더의 어느 부분에 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있다면, IPv6 패킷에 확장 기능이 부착되어 있음을 알게 되고, 이 확장 기능에 대한 값이 기록되어 있는 필드를 찾아서 인식하게 된다. 여러 확장 기능들이 하나의 IPv4 패킷에 부착될 수 있으며, IPv6/IPv4 헤더 변환부(16)는 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 부분과 확장 기능에 대한 값이 기록되어 있는 부분이 서로 맵핑될 수 있도록 하는 테이블을 보유하고 있어야 할 것이다.
IPv6/IPv4 헤더 변환부(16)는 인식된 제 7 필드를 제 7 필드에 대응되는 IPv4 형식의 필드로 변환하고, 변환된 제 5 필드에 대응되는 IPv4 형식의 필드 및 변환된 제 7 필드에 대응되는 IPv4 형식의 필드를 포함하는 IPv4 형식의 헤더를 생성한다. 기본 기능의 변환과 마찬가지로, 확장 기능의 변환의 경우에도 IPv6 형식을 IPv4 형식으로 변환한다. IPv6 패킷의 모든 기본 기능 및 확장 기능에 대하여 IPv4 형식으로 변환하는 작업이 완료된 경우, IPv4 형식으로 변환된 필드들을 조합하여 IPv4 형식의 헤더를 생성한다.
IPv6/IPv4 페이로드 변환부(17)는 IPv6/IPv4 헤더 변환부(16)에서 검사된 필드들 중, 제 8 필드에 IPv6 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, IPv6 패킷에 포함된 페이로드를 인식하고, 인식된 페이로드에 기록된 데이터를 포함하는 IPv4 형식의 페이로드를 생성한다. 즉, IPv6 헤더의 IPv6 헤더의 고정 길이 40과 페이로드 길이 필드에 기록된 값을 참조하여 IPv6 패킷에 포함된 페이로드를 인식한다.
IPv6 패킷 생성부(15)는 IPv4/IPv6 헤더 변환부(13)에서 생성된 IPv6 형식의 헤더 및 IPv4/IPv6 페이로드 변환부(14)에서 생성된 IPv6 형식의 페이로드를 포함하는 IPv6 패킷을 생성한다. IPv4 패킷 생성부(18)는 IPv6/IPv4 헤더 변환부(16)에서 생성된 IPv4 형식의 헤더 및 IPv6/IPv4 페이로드 변환부(17)에서 생성된 IPv4 형식의 페이로드를 포함하는 IPv4 패킷을 생성한다. IP 패킷 출력부(19)는 IPv6 패킷 생성부(15)에서 생성된 IPv6 패킷 또는 IPv4 패킷 생성부(18)에서 생성된 IPv4 패킷을 출력한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 IPv4/IPv6 헤더 변환 장치의 구성도이다.
도 5를 참조하면, IPv4/IPv6 헤더 변환 장치는 IPv4 패킷 헤더 검사부(51), IPv4/IPv6 기본 기능 변환부(52), IPv4 확장 기능 인식부(53), IPv4/IPv6 확장 기능 변환부(54), 및 IPv6 헤더 생성부(55)로 구성된다. 이 IPv4/IPv6 헤더 변환 장치는 도 1에 도시된 IPv4/IPv6 헤더 변환부(13)를 독립적으로 구성한 장치로서 별개로서 동작 가능하며, 도 1에 도시된 장치 외의 다른 장치에도 전용되어질 수 있다.
IPv4 패킷 헤더 검사부(51)는 IPv4 패킷에 포함된 헤더의 필드들을 검사한다. IPv4/IPv6 기본 기능 변환부(52)는 IPv4 패킷 헤더 검사부(51)에서 검사된 필드들 중, 소정의 필드에 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우, 기본 기능에 대한 값이 기록된 필드를 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv6 형식의 필드로 변환한다. IPv4 확장 기능 인식부(53)는 IPv4 패킷 헤더 검사부(51)에서 검사된 필드들 중, 소정의 필드에 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, IPv4 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다. IPv4/IPv6 확장 기능 변환부(54)는 IPv4 확장 기능 인식부(53)에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환한다. IPv6 헤더 생성부(55)는 IPv4/IPv6 기본 기능 변환부(52)에서 변환된 필드 및 IPv4/IPv6 확장 기능 변환부(54)에서 변환된 필드를 포함하는 IPv6 형식의 헤더를 생성한다.
IPv4 확장 기능 인식부(53)에서 확장 기능을 인식하는 방식은 여러 가지가 가능하다. 다음은 확장 기능을 인식하기 위한 구체적인 방식으로서, 두 가지 예를 제시한다. 첫 번째 예로서, IPv4 헤더의 옵션 필드를 이용하는 것이다. 옵션 필드는 자유롭게 정의될 수 있기 때문에 확장 기능에 대하여 새로운 옵션 필드를 정의하는 것이다. 이때, 확장 기능에 대한 값이 기록된 옵션 필드를 인식하는 기준으로는 IPv4 헤더의 확장 길이 필드를 이용한다. 즉, IPv4 헤더의 확장 길이 필드를 검사하여, 확장 길이 필드에 기록된 값이 20(옵션 필드가 없는 경우의 IPv4 헤더의 사이즈)이 넘는 경우에는 옵션 필드에 확장 기능에 대한 값이 기록되어 있는 것으로 판단하고, IP 패킷의 버전을 변환할 때 옵션 필드를 고려하도록 하는 것이다. 다시 말하면, IPv4 확장 기능 인식부(53)는 IPv4 패킷 헤더 검사부(51)에서 검사된 필드들 중, 헤더 길이 필드에 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, IPv4 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다.
두 번째 예로서, RFC 3574에 정의된 IPv4 패킷에 부착된 보안 기능을 IPv6 패킷에 포함시키는 보다 구체적인 예를 살펴보기로 한다. 보안 기능에 대한 값은 IPv4 헤더의 플래그먼트 오프셋 필드의 상위 비트에 기록되어 있다. 종래의 SIIT에 의한 변환 과정에서는 인식될 수 없었기 때문에 무시되었으나 본 발명에서는 인식 가능하다. 이때, 보안 기능에 대한 값이 기록된 플래그먼트 오프셋 필드의 상위 비트를 인식하는 기준으로는 IPv4 헤더의 플래그 필드의 첫 번째 비트를 이용한다. 즉, IPv4 헤더의 플래그 필드의 첫 번째 비트를 검사하여, 플래그 필드의 첫 번째 비트에 기록된 값이 1(일반적으로 0이 기록되어 있다)인 경우에는 플래그먼트 오프셋 필드의 상위 비트에 확장 기능에 대한 값이 기록되어 있는 것으로 판단하고, IP 패킷의 버전을 변환할 때 플래그먼트 오프셋 필드의 상위 비트를 고려하도록 하는 것이다. 다시 말하면, IPv4 패킷 확장 기능 필드 인식부(53)는 IPv4 패킷 헤더 검사부(51)에서 검사된 필드들 중, 플래그 필드의 첫 번째 비트에 IPv4 패킷에 보안 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, IPv4 패킷 헤더의 필드들 중, 보안 기능에 대한 값이 기록되어 있는 플래그먼트 오프셋 필드의 상위 비트를 인식한다.
IPv4/IPv6 확장 기능 변환부(54)는 IPv4 확장 기능 인식부(53)에서 인식된 플래그먼트 오프셋 필드의 상위 비트를 플래그먼트 오프셋 필드의 상위 비트에 대응되는 IPv6 패킷에 포함된 헤더의 플로우 라벨 필드의 상위 비트로 변환한다. 여기에서, IPv6 패킷 헤더의 플로우 라벨 필드의 상위 비트는 미사용 상태에 있기 때문에 여기에 IPv4 패킷 헤더의 플래그먼트 오프셋 필드의 상위 비트의 값을 기록하였다. 물론, IPv6 기본 헤더의 필드의 미사용 부분뿐만 아니라, IPv6 확장 헤더를 사용하여도 무방하다.
도 6은 본 발명의 바람직한 일 실시예에 따른 IPv6/IPv4 헤더 변환 장치의 구성도이다.
도 6을 참조하면, IPv6/IPv4 헤더 변환 장치는 IPv6 패킷 헤더 검사부(61), IPv6/IPv4 기본 기능 변환부(62), IPv6 확장 기능 인식부(63), IPv6/IPv4 확장 기능 변환부(64), 및 IPv4 헤더 생성부(65)로 구성된다. 이 IPv6/IPv4 헤더 변환 장치는 도 1에 도시된 IPv6/IPv4 헤더 변환부(16)를 독립적으로 구성한 장치로서 별개로서 동작 가능하며, 도 1에 도시된 장치 외의 다른 장치에도 전용되어질 수 있다.
IPv6 패킷 헤더 검사부(61)는 소정의 IPv6 패킷에 포함된 헤더의 필드들을 검사한다. IPv6/IPv4 기본 기능 변환부(62)는 IPv6 패킷 헤더 검사부(61)에서 검사된 필드들 중, 소정의 필드에 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우, 기본 기능에 대한 값이 기록된 필드를 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv4 형식의 필드로 변환한다. IPv6 확장 기능 인식부(63)는 IPv6 패킷 헤더 검사부(61)에서 검사된 필드들 중, 소정의 필드에 IPv6 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, IPv6 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다. IPv6/IPv4 확장 기능 변환부(64)는 IPv6 확장 기능 인식부(63)에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv4 형식의 필드로 변환한다. IPv4 헤더 생성부(65)는 IPv6/IPv4 기본 기능 변환부(62)에서 변환된 필드 및 IPv6/IPv4 확장 기능 변환부(64)에서 변환된 필드를 포함하는 IPv4 형식의 헤더를 생성한다.
IPv6 확장 기능 인식부(63)에서 확장 기능을 인식하는 방식은 여러 가지가 가능하다. 다음은 확장 기능을 인식하기 위한 구체적인 방식을 제시한다. IPv6 헤더의 확장 헤더를 이용하는 것이다. 확장 헤더는 자유롭게 정의될 수 있기 때문에 확장 기능에 대하여 새로운 확장 헤더를 정의하는 것이다. 이때, 확장 기능에 대한 값이 기록된 필드를 포함하는 확장 헤더를 인식하는 기준으로는 IPv6 헤더의 다음 헤더 필드를 이용한다. 즉, IPv6 헤더의 다음 헤더 필드를 검사하여, 다음 헤더 필드에 기록된 값이 확장 기능에 대한 값이 기록된 필드를 포함하는 확장 헤더를 나타내는 값인 경우에는 확장 헤더에 확장 기능에 대한 값이 기록되어 있는 것으로 판단하고, IP 패킷의 버전을 변환할 때 이 확장 헤더를 고려하도록 하는 것이다. 다시 말하면, IPv6 확장 기능 인식부(63)는 IPv6 패킷 헤더 검사부(61)에서 검사된 필드들 중, 다음 헤더 필드에 IPv6 패킷에 소정의 확장 기능이 대한 값이 기록되어 있는 확장 헤더를 나타내는 값인 경우, IPv6 패킷 확장 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 IPv4/IPv6 헤더 변환 방법의 흐름도이다.
도 7을 참조하면, IPv4/IPv6 헤더 변환 방법은 다음과 같은 단계로 구성된다.
소정의 IPv4 패킷에 포함된 헤더의 필드들을 검사한다(71). 만약, 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우라면, 이어서 기본 기능에 대한 값이 기록된 필드를 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv6 형식의 필드로 변환한다(73).
만약, 검사된 필드들 중, 소정의 필드에 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우라면(72), 이어서 IPv4 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다(74). 74 단계의 구체적인 예를 들면 다음과 같다. 즉, 검사된 필드들 중, 헤더 길이 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우라면, IPv4 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다.
이어서, 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환한다(75). 74 단계 및 75 단계의 구체적인 예를 들면 다음과 같다. 즉, 검사된 필드들 중, 플래그 필드의 첫 번째 비트에 IPv4 패킷에 보안 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, IPv4 패킷 헤더의 필드들 중, 상기 보안 기능에 대한 값이 기록되어 있는 플래그먼트 오프셋 필드의 상위 비트를 인식하고, 이어서 인식된 플래그먼트 오프셋 필드의 상위 비트를 플래그먼트 오프셋 필드의 상위 비트에 대응되는 IPv6 패킷에 포함된 헤더의 플로우 라벨 필드의 상위 비트로 변환한다. 이어서, 73 단계에서 변환된 필드 및 75 단계에서 변환된 필드를 포함하는 IPv6 형식의 헤더를 생성한다(76).
도 8은 본 발명의 바람직한 일 실시예에 따른 IPv6/IPv4 헤더 변환 방법의 흐름도이다.
도 8을 참조하면, IPv6/IPv4 헤더 변환 방법은 다음과 같은 단계로 구성된다.
소정의 IPv6 패킷에 포함된 헤더의 필드들을 검사한다(81). 만약, 검사된 필드들 중, 소정의 필드에 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우라면(82), 기본 기능에 대한 값이 기록된 필드를 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv4 형식의 필드로 변환한다(83).
만약, 검사된 필드들 중, 소정의 필드에 IPv6 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우라면(82), 이어서 IPv6 패킷 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다(84). 84 단계의 구체적인 예를 들면, 다음과 같다. 즉, 검사된 필드들 중, 다음 헤더 필드에 IPv6 패킷에 소정의 확장 기능이 대한 값이 기록되어 있는 확장 헤더를 나타내는 값이 기록되어 있는 경우, IPv6 패킷에 포함된 확장 헤더의 필드들 중, 확장 기능에 대한 값이 기록되어 있는 필드를 인식한다. 이어서, 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv4 형식의 필드로 변환한다(85). 이어서, 83 단계에서 변환된 필드 및 85 단계에서 변환된 필드를 포함하는 IPv4 형식의 헤더를 생성한다(86).
도 9는 본 발명의 바람직한 일 실시예에 따른 IP 패킷 버전 변환 방법의 흐름도이다.
도 9를 참조하면, IP 패킷 버전 변환 방법은 다음과 같은 단계로 구성된다.
소정의 IP 패킷을 입력받는다(91). 이어서, 입력된 IP 패킷의 버전을 확인한다(92). 만약, 확인된 IP 패킷의 버전이 IPv4인 경우라면(93), 이어서 버전이 IPv4로 확인된 IP 패킷인 IPv4 패킷에 포함된 헤더의 필드들을 검사하고, 검사된 필드들 중, 제 1 필드에 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 제 1 필드를 제 1 필드에 대응되는 IPv6 형식의 필드로 변환하고, 검사된 필드들 중, 제 2 필드에 IPv4 패킷에 제 1 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 IPv4 패킷에 포함된 헤더에 포함된 필드들 중, 제 1 확장 기능에 대한 값이 기록되어 있는 제 3 필드를 인식하고, 인식된 제 3 필드를 제 3 필드에 대응되는 IPv6 형식의 필드로 변환하고, 변환된 제 1 필드에 대응되는 IPv6 형식의 필드 및 변환된 제 3 필드에 대응되는 IPv6 형식의 필드를 포함하는 IPv6 형식의 헤더를 생성한다(94). 이어서, 검사된 필드들 중, 제 4 필드에 IPv4 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, IPv4 패킷에 포함된 페이로드를 인식하고, 인식된 페이로드에 기록된 데이터를 포함하는 IPv6 형식의 페이로드를 생성한다(95). 이어서, 생성된 IPv6 형식의 헤더 및 생성된 IPv6 형식의 페이로드를 포함하는 IPv6 패킷을 생성한다(96).
만약, 확인된 IP 패킷의 버전이 IPv6인 경우라면(93), 이어서 버전이 IPv6으로 확인된 IP 패킷인 IPv6 패킷에 포함된 헤더의 필드들을 검사하고, 검사된 필드들 중, 제 5 필드에 상기 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 제 5 필드를 제 5 필드에 대응되는 IPv4 형식의 필드로 변환하고, 검사된 필드들 중, 제 6 필드에 IPv6 패킷에 제 2 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 IPv6 패킷에 포함된 헤더의 필드들 중, 제 2 확장 기능에 대한 값이 기록되어 있는 제 7 필드를 인식하고, 인식된 제 7 필드를 제 7 필드에 대응되는 IPv4 형식의 필드로 변환하고, 변환된 제 5 필드에 대응되는 IPv4 형식의 필드 및 변환된 제 7 필드에 대응되는 IPv4 형식의 필드를 포함하는 IPv4 형식의 헤더를 생성한다(97). 이어서, 검사된 필드들 중, 제 8 필드에 IPv6 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, IPv6 패킷에 포함된 페이로드를 인식하고, 인식된 페이로드에 기록된 데이터를 포함하는 IPv4 형식의 페이로드를 생성한다(98). 이어서, 생성된 IPv4 형식의 헤더 및 상기 (d) 단계에서 생성된 IPv4 형식의 페이로드를 포함하는 IPv4 패킷을 생성한다(99). 이어서, 생성된 IPv6 패킷 또는 생성된 IPv4 패킷을 출력한다(910).
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지, 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라, 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, IPv4 패킷과 IPv6 패킷을 상호 변환할 때 RFC 2765에 정의된 기본 기능뿐만 아니라, RFC 2765에 정의되지 않은 확장 기능들도 정상적으로 상호 변환될 수 있도록 함으로서, IPv4와 IPv6이 공존하는 환경에서 IPv4 패킷 또는 IPv6 패킷에 부착된 모든 기능을 유지하면서 상호 변환될 수 있다는 효과가 있다. 보다 구체적으로는, RFC 3514에 정의된 IPv4 보안 기능을 IPv6 패킷으로 변환된 후에도 유지할 수 있기 때문에 보안 기능을 IPv6 망에서도 동일하게 적용할 수 있으며, IPv6 망도 해킹 등으로부터 보호될 수 있다는 효과가 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 IP 패킷 버전 변환 장치의 구성도이다.
도 2는 IPv4 패킷의 포맷을 도시한 도면이다.
도 3은 IPv6 패킷의 포맷을 도시한 도면이다.
도 4는 IPv6 패킷의 기본 헤더의 포맷을 도시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 IPv4/IPv6 헤더 변환 장치의 구성도이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 IPv6/IPv4 헤더 변환 장치의 구성도이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 IPv4/IPv6 헤더 변환 방법의 흐름도이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 IPv6/IPv4 헤더 변환 방법의 흐름도이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 IP 패킷 버전 변환 방법의 흐름도이다.

Claims (33)

  1. 소정의 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 IPv4 패킷 헤더 검사부;
    상기 IPv4 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 IPv4 확장 기능 인식부; 및
    상기 IPv4 확장 기능 인식부에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환하는 IPv4/IPv6 확장 기능 변환부를 포함하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 장치.
  2. 제 1 항에 있어서,
    상기 IPv4 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우, 상기 기본 기능에 대한 값이 기록된 필드를 상기 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv6 형식의 필드로 변환하는 IPv4/IPv6 기본 기능 변환부를 포함하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 장치.
  3. 제 2 항에 있어서, 상기 기본 기능은 RFC 2765에서 정의된 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능이고, 상기 확장 기능은 상기 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능인 것을 특징으로 하는 IPv4/IPv6 헤더 변환 장치.
  4. 제 2 항에 있어서,
    상기 IPv4/IPv6 기본 기능 변환부에서 변환된 필드 및 상기 IPv4/IPv6 확장 기능 변환부에서 변환된 필드를 포함하는 IPv6 형식의 헤더를 생성하는 IPv6 헤더 생성부를 포함하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 장치.
  5. 제 4 항에 있어서,
    상기 IPv4 확장 기능 인식부는 상기 IPv4 패킷 헤더 검사부에서 검사된 필드들 중, 헤더 길이 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 것을 특징으로 하는 IPv4/IPv6 확장 기능 변환 장치.
  6. 제 4 항에 있어서,
    상기 IPv4 패킷 확장 기능 필드 인식부는 상기 IPv4 패킷 헤더 검사부에서 검사된 필드들 중, 플래그 필드의 첫 번째 비트에 상기 IPv4 패킷에 보안 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 보안 기능에 대한 값이 기록되어 있는 플래그먼트 오프셋 필드의 상위 비트를 인식하고,
    상기 IPv4/IPv6 확장 기능 변환부는 상기 IPv4 확장 기능 인식부에서 인식된 플래그먼트 오프셋 필드의 상위 비트를 상기 플래그먼트 오프셋 필드의 상위 비트에 대응되는 IPv6 패킷에 포함된 헤더의 플로우 라벨 필드의 상위 비트로 변환하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 장치.
  7. 소정의 IPv6 패킷에 포함된 헤더의 필드들을 검사하는 IPv6 패킷 헤더 검사부;
    상기 IPv6 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 상기 IPv6 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv6 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 IPv6 확장 기능 인식부; 및
    상기 IPv6 확장 기능 인식부에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv4 형식의 필드로 변환하는 IPv6/IPv4 확장 기능 변환부를 포함하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 장치.
  8. 제 7 항에 있어서,
    상기 IPv6 패킷 헤더 검사부에서 검사된 필드들 중, 소정의 필드에 상기 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우, 상기 기본 기능에 대한 값이 기록된 필드를 상기 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv4 형식의 필드로 변환하는 IPv6/IPv4 기본 기능 변환부를 포함하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 장치.
  9. 제 8 항에 있어서, 상기 기본 기능은 RFC 2765에서 정의된 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능이고, 상기 확장 기능은 상기 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능인 것을 특징으로 하는 IPv6/IPv4 헤더 변환 장치.
  10. 제 8 항에 있어서,
    상기 IPv6/IPv4 기본 기능 변환부에서 변환된 필드 및 상기 IPv6/IPv4 확장 기능 변환부에서 변환된 필드를 포함하는 IPv4 형식의 헤더를 생성하는 IPv4 헤더 생성부를 포함하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 장치.
  11. 제 10 항에 있어서, 상기 IPv6 확장 기능 인식부는 상기 IPv6 패킷 헤더 검사부에서 검사된 필드들 중, 다음 헤더 필드에 상기 IPv6 패킷에 소정의 확장 기능이 대한 값이 기록되어 있는 확장 헤더를 나타내는 값이 기록되어 있는 경우, 상기 IPv6 패킷에 포함된 확장 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 장치.
  12. IPv4 패킷에 포함된 헤더의 필드들을 검사하고, 상기 검사된 필드들 중, 제 1 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 상기 제 1 필드를 상기 제 1 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 검사된 필드들 중, 제 2 필드에 상기 IPv4 패킷에 제 1 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 상기 IPv4 패킷에 포함된 헤더에 포함된 필드들 중, 상기 제 1 확장 기능에 대한 값이 기록되어 있는 제 3 필드를 인식하고, 상기 인식된 제 3 필드를 상기 제 3 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 변환된 제 1 필드에 대응되는 IPv6 형식의 필드 및 상기 변환된 제 3 필드에 대응되는 IPv6 형식의 필드를 포함하는 IPv6 형식의 헤더를 생성하는 IPv4/IPv6 헤더 변환부; 및
    상기 IPv4/IPv6 헤더 변환부에서 검사된 필드들 중, 제 4 필드에 상기 IPv4 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, 상기 IPv4 패킷에 포함된 페이로드를 인식하고, 상기 인식된 페이로드에 기록된 데이터를 포함하는 IPv6 형식의 페이로드를 생성하는 IPv4/IPv6 페이로드 변환부를 포함하는 것을 특징으로 하는 IP 패킷 버전 변환 장치.
  13. 제 12 항에 있어서, 상기 기본 기능은 RFC 2765에서 정의된 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능이고, 상기 확장 기능은 상기 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능인 것을 특징으로 하는 IPv6/IPv4 헤더 변환 장치.
  14. 제 12 항에 있어서,
    소정의 IP 패킷을 입력받는 IP 패킷 입력부; 및
    상기 IP 패킷 입력부에 입력된 IP 패킷의 버전을 확인하는 IP 패킷 버전 확인부를 포함하고,
    상기 IPv4/IPv6 헤더 변환부는 상기 IP 패킷 버전 확인부에서 확인된 IP 패킷의 버전이 IPv4인 경우, 상기 버전이 IPv4로 확인된 IP 패킷인 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 것을 특징으로 하는 IP 패킷 버전 변환 장치.
  15. 제 14 항에 있어서,
    상기 IP 패킷 버전 확인부에서 확인된 IP 패킷의 버전이 IPv6인 경우, 상기 버전이 IPv6으로 확인된 IP 패킷인 IPv6 패킷에 포함된 헤더의 필드들을 검사하고, 상기 검사된 필드들 중, 제 5 필드에 상기 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 상기 제 5 필드를 상기 제 5 필드에 대응되는 IPv4 형식의 필드로 변환하고, 상기 검사된 필드들 중, 제 6 필드에 상기 IPv6 패킷에 제 2 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 상기 IPv6 패킷에 포함된 헤더의 필드들 중, 상기 제 2 확장 기능에 대한 값이 기록되어 있는 제 7 필드를 인식하고, 상기 인식된 제 7 필드를 상기 제 7 필드에 대응되는 IPv4 형식의 필드로 변환하고, 상기 변환된 제 5 필드에 대응되는 IPv4 형식의 필드 및 상기 변환된 제 7 필드에 대응되는 IPv4 형식의 필드를 포함하는 IPv4 형식의 헤더를 생성하는 IPv6/IPv4 헤더 변환부; 및
    상기 IPv6/IPv4 헤더 변환부에서 검사된 필드들 중, 제 8 필드에 상기 IPv6 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, 상기 IPv6 패킷에 포함된 페이로드를 인식하고, 상기 인식된 페이로드에 기록된 데이터를 포함하는 IPv4 형식의 페이로드를 생성하는 IPv6/IPv4 페이로드 변환부를 포함하는 것을 특징으로 하는 IP 패킷 버전 변환 장치.
  16. 제 15 항에 있어서,
    상기 IPv4/IPv6 헤더 변환부에서 생성된 IPv6 형식의 헤더 및 상기 IPv4/IPv6 페이로드 변환부에서 생성된 IPv6 형식의 페이로드를 포함하는 IPv6 패킷을 생성하는 IPv6 패킷 생성부;
    상기 IPv6/IPv4 헤더 변환부에서 생성된 IPv4 형식의 헤더 및 상기 IPv6/IPv4 페이로드 변환부에서 생성된 IPv4 형식의 페이로드를 포함하는 IPv4 패킷을 생성하는 IPv4 패킷 생성부; 및
    상기 IPv6 패킷 생성부에서 생성된 IPv6 패킷 또는 상기 IPv4 패킷 생성부에서 생성된 IPv4 패킷을 출력하는 IP 패킷 출력부를 포함하는 것을 특징으로 하는 IP 패킷 버전 변환 장치.
  17. (a) 소정의 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 단계;
    (b) 상기 (a) 단계에서 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 단계; 및
    (c) 상기 (b) 단계에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv6 형식의 필드로 변환하는 단계를 포함하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 방법.
  18. 제 17 항에 있어서,
    (d) 상기 (a) 단계에서 검사된 필드들 중, 소정의 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우, 상기 기본 기능에 대한 값이 기록된 필드를 상기 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv6 형식의 필드로 변환하는 단계를 포함하는 것을 특징으로 하는IPv4/IPv6 헤더 변환 방법.
  19. 제 18 항에 있어서, 상기 기본 기능은 RFC 2765에서 정의된 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능이고, 상기 확장 기능은 상기 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능인 것을 특징으로 하는 IPv4/IPv6 헤더 변환 방법.
  20. 제 19 항에 있어서,
    (e) 상기 (d) 단계에서 변환된 필드 및 상기 (c) 단계에서 변환된 필드를 포함하는 IPv6 형식의 헤더를 생성하는 단계를 포함하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 방법.
  21. 제 20 항에 있어서,
    상기 (b) 단계는 상기 (a) 단계에서 검사된 필드들 중, 헤더 길이 필드에 상기 IPv4 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 것을 특징으로 하는 IPv4/IPv6 확장 기능 변환 방법.
  22. 제 20 항에 있어서,
    상기 (b) 단계는 상기 (a) 단계에서 검사된 필드들 중, 플래그 필드의 첫 번째 비트에 상기 IPv4 패킷에 보안 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv4 패킷 헤더의 필드들 중, 상기 보안 기능에 대한 값이 기록되어 있는 플래그먼트 오프셋 필드의 상위 비트를 인식하고,
    상기 (c) 단계는 상기 (b) 단계에서 인식된 플래그먼트 오프셋 필드의 상위 비트를 상기 플래그먼트 오프셋 필드의 상위 비트에 대응되는 IPv6 패킷에 포함된 헤더의 플로우 라벨 필드의 상위 비트로 변환하는 것을 특징으로 하는 IPv4/IPv6 헤더 변환 방법.
  23. (a) 소정의 IPv6 패킷에 포함된 헤더의 필드들을 검사하는 단계;
    (b) 상기 (a) 단계에서 검사된 필드들 중, 소정의 필드에 상기 IPv6 패킷에 소정의 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우, 상기 IPv6 패킷 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 단계; 및
    (c) 상기 (b) 단계에서 인식된 확장 기능에 대한 값이 기록되어 있는 필드를 상기 확장 기능에 대한 값이 기록되어 있는 필드에 대응되는 IPv4 형식의 필드로 변환하는 단계를 포함하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 방법.
  24. 제 23 항에 있어서,
    상기 (a) 단계에서 검사된 필드들 중, 소정의 필드에 상기 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우, 상기 기본 기능에 대한 값이 기록된 필드를 상기 기본 기능에 대한 값이 기록된 필드에 대응되는 IPv4 형식의 필드로 변환하는 단계를 포함하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 방법.
  25. 제 24 항에 있어서, 상기 기본 기능은 RFC 2765에서 정의된 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능이고, 상기 확장 기능은 상기 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능인 것을 특징으로 하는 IPv6/IPv4 헤더 변환 방법.
  26. 제 25 항에 있어서,
    (e) 상기 (d) 단계에서 변환된 필드 및 상기 (c) 단계에서 변환된 필드를 포함하는 IPv4 형식의 헤더를 생성하는 단계를 포함하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 방법.
  27. 제 26 항에 있어서, 상기 (b) 단계는 상기 (a) 단계에서 검사된 필드들 중, 다음 헤더 필드에 상기 IPv6 패킷에 소정의 확장 기능이 대한 값이 기록되어 있는 확장 헤더를 나타내는 값이 기록되어 있는 경우, 상기 IPv6 패킷에 포함된 확장 헤더의 필드들 중, 상기 확장 기능에 대한 값이 기록되어 있는 필드를 인식하는 것을 특징으로 하는 IPv6/IPv4 헤더 변환 방법.
  28. (a) IPv4 패킷에 포함된 헤더의 필드들을 검사하고, 상기 검사된 필드들 중, 제 1 필드에 상기 IPv4 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 상기 제 1 필드를 상기 제 1 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 검사된 필드들 중, 제 2 필드에 상기 IPv4 패킷에 제 1 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 상기 IPv4 패킷에 포함된 헤더에 포함된 필드들 중, 상기 제 1 확장 기능에 대한 값이 기록되어 있는 제 3 필드를 인식하고, 상기 인식된 제 3 필드를 상기 제 3 필드에 대응되는 IPv6 형식의 필드로 변환하고, 상기 변환된 제 1 필드에 대응되는 IPv6 형식의 필드 및 상기 변환된 제 3 필드에 대응되는 IPv6 형식의 필드를 포함하는 IPv6 형식의 헤더를 생성하는 단계; 및
    (b) 상기 (a) 단계에서 검사된 필드들 중, 제 4 필드에 상기 IPv4 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, 상기 IPv4 패킷에 포함된 페이로드를 인식하고, 상기 인식된 페이로드에 기록된 데이터를 포함하는 IPv6 형식의 페이로드를 생성하는 단계를 포함하는 것을 특징으로 하는 IP 패킷 버전 변환 방법.
  29. 제 28 항에 있어서, 상기 기본 기능은 RFC 2765에서 정의된 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능한 기능이고, 상기 확장 기능은 상기 SIIT에 의하여 IPv4 패킷과 IPv6 패킷 상호간에 변환 가능하지 않은 기능인 것을 특징으로 하는 IPv6/IPv4 헤더 변환 방법.
  30. 제 28 항에 있어서,
    (a-2) 소정의 IP 패킷을 입력받는 단계; 및
    (a-1) 상기 (a-2) 단계에서 입력된 IP 패킷의 버전을 확인하는 단계를 포함하고,
    상기 (a) 단계는 상기 (a-1) 단계에서 확인된 IP 패킷의 버전이 IPv4인 경우, 상기 버전이 IPv4로 확인된 IP 패킷인 IPv4 패킷에 포함된 헤더의 필드들을 검사하는 것을 특징으로 하는 IP 패킷 버전 변환 방법.
  31. 제 30 항에 있어서,
    (c) 상기 (a-1) 단계에서 확인된 IP 패킷의 버전이 IPv6인 경우, 상기 버전이 IPv6으로 확인된 IP 패킷인 IPv6 패킷에 포함된 헤더의 필드들을 검사하고, 상기 검사된 필드들 중, 제 5 필드에 상기 IPv6 패킷의 기본 기능에 대한 값이 기록되어 있는 경우에는 상기 제 5 필드를 상기 제 5 필드에 대응되는 IPv4 형식의 필드로 변환하고, 상기 검사된 필드들 중, 제 6 필드에 상기 IPv6 패킷에 제 2 확장 기능이 부착되어 있음을 나타내는 값이 기록되어 있는 경우에는 상기 IPv6 패킷에 포함된 헤더의 필드들 중, 상기 제 2 확장 기능에 대한 값이 기록되어 있는 제 7 필드를 인식하고, 상기 인식된 제 7 필드를 상기 제 7 필드에 대응되는 IPv4 형식의 필드로 변환하고, 상기 변환된 제 5 필드에 대응되는 IPv4 형식의 필드 및 상기 변환된 제 7 필드에 대응되는 IPv4 형식의 필드를 포함하는 IPv4 형식의 헤더를 생성하는 단계; 및
    (d) 상기 (c) 단계에서 검사된 필드들 중, 제 8 필드에 상기 IPv6 패킷에 포함된 페이로드의 길이에 대한 값이 기록되어 있는 경우, 상기 IPv6 패킷에 포함된 페이로드를 인식하고, 상기 인식된 페이로드에 기록된 데이터를 포함하는 IPv4 형식의 페이로드를 생성하는 단계를 포함하는 것을 특징으로 하는 IP 패킷 버전 변환 방법.
  32. 제 28 항에 있어서,
    (e) 상기 (a) 단계에서 생성된 IPv6 형식의 헤더 및 상기 (b) 단계에서 생성된 IPv6 형식의 페이로드를 포함하는 IPv6 패킷을 생성하는 단계;
    (f) 상기 (c) 단계에서 생성된 IPv4 형식의 헤더 및 상기 (d) 단계에서 생성된 IPv4 형식의 페이로드를 포함하는 IPv4 패킷을 생성하는 단계; 및
    (g) 상기 (e) 단계에서 생성된 IPv6 패킷 또는 상기 (f) 단계에서 생성된 IPv4 패킷을 출력하는 단계를 포함하는 것을 특징으로 하는 IP 패킷 버전 변환 방법.
  33. 제 17 항 내지 제 32 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020030066497A 2003-09-25 2003-09-25 Ip 패킷의 버전을 변환하는 장치 및 방법 Ceased KR20050030288A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030066497A KR20050030288A (ko) 2003-09-25 2003-09-25 Ip 패킷의 버전을 변환하는 장치 및 방법
US10/936,666 US7474675B2 (en) 2003-09-25 2004-09-09 IP packet version converting apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030066497A KR20050030288A (ko) 2003-09-25 2003-09-25 Ip 패킷의 버전을 변환하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20050030288A true KR20050030288A (ko) 2005-03-30

Family

ID=34374160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030066497A Ceased KR20050030288A (ko) 2003-09-25 2003-09-25 Ip 패킷의 버전을 변환하는 장치 및 방법

Country Status (2)

Country Link
US (1) US7474675B2 (ko)
KR (1) KR20050030288A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100759819B1 (ko) * 2006-05-26 2007-09-18 한국전자통신연구원 IPv6 패킷의 확장헤더를 검사하는 장치 및 방법
KR100860406B1 (ko) * 2006-12-05 2008-09-26 한국전자통신연구원 인터넷 프로토콜 보안 기반의 정적 터널링 방법 및 장치
KR20170021121A (ko) 2015-08-17 2017-02-27 에스케이텔레콤 주식회사 패킷 변환 방법 및 장치
WO2021085884A1 (ko) * 2019-10-29 2021-05-06 삼성전자 주식회사 Dns 쿼리-응답 시간 단축 방법 및 이를 지원하는 전자 장치

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006148418A (ja) * 2004-11-18 2006-06-08 Fujitsu Ltd サーバおよび通信制御方法
JP4759382B2 (ja) * 2004-12-21 2011-08-31 株式会社リコー 通信機器、通信方法、通信プログラム、及び記録媒体
JP2006279725A (ja) * 2005-03-30 2006-10-12 Toshiba Tec Corp データ中継方法及びデータ中継装置
US7489675B2 (en) * 2005-09-12 2009-02-10 Motorola, Inc. Method for indicating padding in a digital mobile radio system
KR100793346B1 (ko) * 2005-10-07 2008-01-11 삼성전자주식회사 VoIP 단말 및 그 단말의 통신방법
JP2007201564A (ja) * 2006-01-23 2007-08-09 Nec Corp 推定システム、端末、推定方法、およびプログラム
US7643519B2 (en) * 2006-03-29 2010-01-05 Intel Corporation Pre-processing and packetizing data in accordance with telecommunication protocol
US7995612B2 (en) * 2006-03-31 2011-08-09 Verint Americas, Inc. Systems and methods for capturing communication signals [32-bit or 128-bit addresses]
GB2440436A (en) * 2006-07-25 2008-01-30 Paz Itzhaki Weinberger Mediators for interfacing IPv4 and IPv6 systems
US8160092B1 (en) 2008-08-05 2012-04-17 Xilinx, Inc. Transforming a declarative description of a packet processor
US8311057B1 (en) * 2008-08-05 2012-11-13 Xilinx, Inc. Managing formatting of packets of a communication protocol
US8769057B1 (en) * 2009-05-07 2014-07-01 Sprint Communications Company L.P. Employing a hierarchy of servers to resolve fractional IP addresses
US8675661B1 (en) * 2009-05-07 2014-03-18 Sprint Communications Company L.P. Allocating IP version fields to increase address space
US8665873B2 (en) * 2010-05-27 2014-03-04 Futurewei Technologies, Inc. Network address translator 64 for dual stack mobile internet protocol version six
US9210735B2 (en) * 2010-07-02 2015-12-08 Futurewei Technologies, Inc. Network address translation six to four for proxy mobile internet protocol version six
CN103119903B (zh) * 2010-09-30 2016-09-21 瑞典爱立信有限公司 用于网络服务器之间的负载平衡的设备和方法
US9641649B2 (en) * 2012-02-21 2017-05-02 Futurewei Technologies, Inc. IGMP/MLD translation
US9686240B1 (en) * 2015-07-07 2017-06-20 Sprint Communications Company L.P. IPv6 to IPv4 data packet migration in a trusted security zone
US9749294B1 (en) 2015-09-08 2017-08-29 Sprint Communications Company L.P. System and method of establishing trusted operability between networks in a network functions virtualization environment
US10542115B1 (en) 2015-10-01 2020-01-21 Sprint Communications Company L.P. Securing communications in a network function virtualization (NFV) core network
US9781016B1 (en) 2015-11-02 2017-10-03 Sprint Communications Company L.P. Dynamic addition of network function services
US20170142234A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Scalable addressing mechanism for virtual machines
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US10931720B2 (en) 2017-06-08 2021-02-23 Avaya Inc. IP tolerance and signaling interworking
US10742775B2 (en) * 2017-07-11 2020-08-11 Futurewei Technologies, Inc. Supporting internet protocol version 4 (IPv4) extension headers
US10348488B1 (en) 2017-08-25 2019-07-09 Sprint Communications Company L.P. Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network
CN109450826B (zh) * 2018-12-27 2020-10-23 Ut斯达康通讯有限公司 报文处理方法及装置
CN109743340B (zh) * 2019-04-04 2019-07-30 华为技术有限公司 报文处理的方法和网络装置
CN114363432A (zh) * 2020-09-30 2022-04-15 华为技术有限公司 获取报文头信息、生成报文的方法、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094525A (en) * 1995-07-06 2000-07-25 Novell, Inc. Network addressing arrangement for backward compatible routing of an expanded address space
JP3531367B2 (ja) * 1996-07-04 2004-05-31 株式会社日立製作所 トランスレータ
JP3876741B2 (ja) * 2002-03-27 2007-02-07 株式会社日立製作所 プロトコル変換方法及び装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100759819B1 (ko) * 2006-05-26 2007-09-18 한국전자통신연구원 IPv6 패킷의 확장헤더를 검사하는 장치 및 방법
KR100860406B1 (ko) * 2006-12-05 2008-09-26 한국전자통신연구원 인터넷 프로토콜 보안 기반의 정적 터널링 방법 및 장치
KR20170021121A (ko) 2015-08-17 2017-02-27 에스케이텔레콤 주식회사 패킷 변환 방법 및 장치
WO2021085884A1 (ko) * 2019-10-29 2021-05-06 삼성전자 주식회사 Dns 쿼리-응답 시간 단축 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
US20050068981A1 (en) 2005-03-31
US7474675B2 (en) 2009-01-06

Similar Documents

Publication Publication Date Title
KR20050030288A (ko) Ip 패킷의 버전을 변환하는 장치 및 방법
US6618755B1 (en) Automatically identifying subnetworks in a network
US9178814B2 (en) Analysis of network packets using a generated hash code
JP4814489B2 (ja) 階層化ヘッダ付きのパケットの処理方法、システム及びコンピュータ製品
US20040068681A1 (en) Building packets of data
KR20050057698A (ko) 체크섬을 생성하는 장치 및 방법
CN113328915B (zh) 一种基于SRv6的随路网络测量方法
CN104184645B (zh) 一种生成操作请求的方法、设备及系统
WO2020087400A1 (zh) 一种报头解析装置及方法
US12074729B2 (en) Message encapsulation method and apparatus, and message decapsulation method and apparatus
US20060146826A1 (en) Communication apparatus
CN102316176A (zh) 数据包处理和溯源方法、装置及系统
JPH11150566A (ja) インタネットワーク装置
CN106878308B (zh) 一种icmp报文匹配系统及方法
CN118764390A (zh) 一种安全实时总线srb连接关系确定方法和相关装置
KR100849494B1 (ko) IPv6 터널링 장치 및 그 방법
CN102143246B (zh) Ipv4网络与ipv6网络之间的端到端通信方法
CN116074235A (zh) 报文处理方法、装置及系统
CN116032839A (zh) 报文传输方法、装置、设备及存储介质
JP4275059B2 (ja) パケット通信方法及びシステム並びにその装置
Hong et al. The analysis and verification of IPv4/IPv6 protocol conversion by petri nets
CN100442702C (zh) 实现调制解调器信号故障分析的方法及装置
CN114900494B (zh) 一种内网ip地址传输方法、系统及存储介质
CN117176559B (zh) 一种基于nat64的跨协议栈网络故障定位方法及系统
CN105721356A (zh) 存储协议头的方法和网络设备

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20030925

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20080922

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20030925

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20100326

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20100831

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20100326

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I