KR101124635B1 - IPv4/IPv6 연동 게이트웨이 - Google Patents

IPv4/IPv6 연동 게이트웨이 Download PDF

Info

Publication number
KR101124635B1
KR101124635B1 KR1020090115310A KR20090115310A KR101124635B1 KR 101124635 B1 KR101124635 B1 KR 101124635B1 KR 1020090115310 A KR1020090115310 A KR 1020090115310A KR 20090115310 A KR20090115310 A KR 20090115310A KR 101124635 B1 KR101124635 B1 KR 101124635B1
Authority
KR
South Korea
Prior art keywords
ipv4
ipv6
packet
node
address
Prior art date
Application number
KR1020090115310A
Other languages
English (en)
Other versions
KR20100059739A (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 (주)대성정보기술
Publication of KR20100059739A publication Critical patent/KR20100059739A/ko
Application granted granted Critical
Publication of KR101124635B1 publication Critical patent/KR101124635B1/ko

Links

Images

Classifications

    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

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

본 발명은 IPv4/IPv6 연동 게이트웨이에 관한 것으로서, 보다 상세하게는, IPv4 네트워크와 IPv6 네트워크를 연동시키고 IPv4 네트워크와 IPv6 네트워크 사이에 전달되는 패킷에 대한 필터링을 수행하는 게이트웨이에 관한 것이다.
IPv4/IPv6 연동 게이트웨이는 IPv4(internet protocol version 4)와 IPv6(internet protocol version 6) 사이의 주소를 변환하여, IPv4 네트워크와 IPv6 네트워크 사이의 패킷의 교환, FTP(file transfer protocol) 서비스 또는 DNS(domain name system) 서비스를 제공하는 IPv4/IPv6 변환부 및 상기 IPv4/IPv6 연동 게이트웨이를 통해 IPv4 네트워크와 IPv6 네트워크 사이에 교환되는 패킷에 대하여 필터링을 수행하는 IPv4/IPv6 패킷 필터링부를 포함할 수 있다.
IPv4, IPv6, 게이트웨이

Description

IPv4/IPv6 연동 게이트웨이{CONNECTING GATEWAY WITH IPV4/IPV6}
본 발명은 IPv4/IPv6 연동 게이트웨이에 관한 것으로서, 보다 상세하게는, IPv4 네트워크와 IPv6 네트워크를 연동시키고 IPv4 네트워크와 IPv6 네트워크 사이에 전달되는 패킷에 대한 필터링을 수행하는 게이트웨이에 관한 것이다.
최근 들어 인터넷이 생활의 필수적인 요소가 되면서 사용자 및 호스트가 급속히 증가하고 있다. 이러한 급격한 증가를 보이는 인터넷 사용자수를 감안할 때 현재 우리가 쓰고 있는 IPv4 기반의 인터넷 주소 체계가 지속적으로 늘어나는 주소의 요구를 점차 충족시킬 수 없는 상황이 되고 있다. 특히, IETF(Internet Engineering Tasking Force) 는 2013년에 IPv4(Internet Protocol version 4) 주소가 완전히 고갈될 것이라고 예측하고 있다. 이처럼 현재의 IPv4는 인터넷의 발달로 인해 늘어가고 있는 다양한 서비스 즉, 홈네트워킹, 모바일 인터넷, 게임서비스 등이 필요로 하는 막대한 IP 주소의 요구를 충족시킬 수 없다.
이러한 IPv4 주소 체계의 문제점을 해결하기 위하여 IPv6 주소로의 전환이 이루어지고 있다. 그러나, 이러한 IPv4와의 호환성이 유지되는 통신 장비 지원, 킬 러애플리케이션 부재, IPv4/IPv6 연동에 따른 보안상의 문제, 구축 및 운영을 위한 전환 비용 및 정부 정책 등으로 인하여 IPv6을 도입하는 것이 수월하게 이루어지지 않고 있으며, 이러한 문제점을 해결하기 위하여 IPv4로부터 IPv6로의 전환 기술이 대두되고 있다.
특히 IPv4호스트와 라우터가 대규모로 이미 설치되어 있는 상황에서 새로 도입될 IPv6와 호환성을 유지하는 것이 어렵기 때문에 이러한 전환 기술은 더욱 필요로 되고 있다.
또한, IPv6가 IPv4에 비하여 많은 장점을 가지고 있지만, 기존의 모든 IPv4 망들을 단시간 내에 IPv6로 대체하는 것은 불가능하며, 필연적으로 IPv4와 IPv6 망이 공존하는 기간이 존재하게 된다.
이처럼 현재 IPv4로부터 IPv6로 전환되는 상황에서, IPv4 네트워크와 IPv6 네트워크의 연동과 이러한 연동에 따른 보안상의 문제점을 해결하기 위한 기술의 필요성이 증가하고 있다.
본 발명의 일 실시예는 IPv4 네트워크와 IPv6 네트워크 사이에서 송수신되는 패킷을 전달하기 위하여 IPv4/IPv6 변환을 수행하고, IPv4 네트워크와 IPv6 네트워크 사이에서 전달되는 패킷의 필터링을 수행할 수 있는 게이트웨이를 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 IPv4(internet protocol version 4)와 IPv6(internet protocol version 6) 사이의 주소를 변환하여, IPv4 네트워크와 IPv6 네트워크 사이의 패킷의 교환, FTP(file transfer protocol) 서비스 또는 DNS(domain name system) 서비스를 제공하는 IPv4/IPv6 변환부 및 상기 IPv4/IPv6 연동 게이트웨이를 통해 IPv4 네트워크와 IPv6 네트워크 사이에 교환되는 패킷에 대하여 필터링을 수행하는 IPv4/IPv6 패킷 필터링부를 포함하는 IPv4/IPv6 연동 게이트웨이를 제공할 수 있다.
본 발명의 제 1 측면에서, 상기 IPv4/IPv6 변환부는 미리 저장된 주소 풀(pool)을 이용하여 IPv6 노드에 할당하기 위한 IPv4 주소를 맵핑하고 상기 IPv6 노드에 대한 IPv4 주소를 생성하는 NA(P)T-PT/SIIT 변환 모듈, IPv6 노드 또는 IPv4 노드로부터 쿼리(query)를 수신하고, 상기 수신한 쿼리의 응답을 상기 쿼리의 유형에 대응하도록 변형하여 상기 IPv6 노드 또는 상기 IPv4 노드로 전송하는 DNS- ALG 변환 모듈, IPv6 노드 또는 IPv4 노드로 전송되는 패킷에 포함된 IP 주소, 포트 번호, 명령어에 대한 정보를 IPv6 또는 IPv4 에 대응하도록 변경하고, 상기 IPv6 노드 및 상기 IPv4 노드 사이의 제어 접속(control connection) 및 데이터 접속(data connection)을 관리하는 FTP-ALG 변환 모듈 및 IPv6 노드 또는 IPv4 노드로 전송되는 패킷에 각각 IPv6 또는 IPv4 주소에 해당하는 헤더를 부가 또는 제거하여 상기 패킷을 상기 IPv6 노드 또는 IPv4 노드로 전송하는 DSTM 변환 모듈를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단에 의하면, IPv4 네트워크와 IPv6 네트워크 사이에 FTP, DNS 서비스를 제공받을 수 있으며, IPv4 노드와 IPv6 노드 사이에 호환이 가능하여 패킷이 송수신될 수 있다. 또한,
또한, 전술한 본 발명의 과제 해결 수단에 의하면, IPv4 네트워크와 IPv6 네트워크 사이에 송수신되는 패킷에 대하여 필터링을 수행하여 네트워크의 보안을 강화할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하 는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 IPv4/IPv6 연동 게이트웨이의 구성을 도시한 도면이다.
본 발명의 일 시시예에 따른 IPv4/IPv6 연동 게이트웨이(100)는 IPv4/IPv6 변환부(1000) 및 IPv4/IPv6 패킷 필터링부(2000)를 포함한다.
IPv4/IPv6 변환부(1000)는 IPv4(internet protocol version 4) 네트워크으로부터 IPv6 네트워크로 패킷이 전송되거나 IPv6(internet protocol version 6) 네트워크로부터 IPv4 네트워크로 패킷이 전송되는 경우 주소 및 세션의 변환을 수행한다.
즉, IPv4 와 IPv6은 기본적으로 주소 체계가 상이하기 때문에, IPv4 네트워크로부터 IPv6 네트워크로 전송되는 패킷의 목적지의 주소가 IPv4 네트워크와 IPv6 네트워크에서 서로 다르게 표현된다.
따라서, IPv4/IPv6 변환부(1000)는 서로 다른 프로토콜을 사용하는 네트워크 로 패킷을 전송하기 위하여 패킷 목적지의 주소 등을 변환한다.
IPv4/IPv6 패킷 필터링부(2000)는 IPv4 네트워크로부터 IPv6 네트워크로 전송되거나 IPv6 네트워크로부터 IPv4 네트워크로 전송되는 패킷에 대한 필터링을 수행하여 패킷 전송에 대한 보안 기능을 수행한다.
IPv4/IPv6 변환부(1000) 및 IPv4/IPv6 패킷 필터링부(2000)에 대하여 이하에서 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 IPv4/IPv6 변환부의 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 IPv4/IPv6 변환부(1000)는 NA(P)T-PT/SIIT 변환 모듈(1100), DNS-ALG 변환 모듈(1200), FTP-ALG 변환 모듈(1300) 및 DSTM 변환 모듈(1400)을 포함한다.
NA(P)T-PT/SIIT 변환 모듈(1100)은 IPv4 네트워크와 IPv6 네트워크 사이의 경계 라우터에서 세션이 초기화될 때마다 동적으로 IPv6 노드에 IPv4 주소를 할당하기 위한 주소 풀(pool)을 이용하여 주소 맵핑을 수행한다.
또한, NA(P)T-PT/SIIT 변환 모듈(1100)은 SIIT(Stateless IP/ICMP Translation)를 기반으로 주소 변환, 즉 IPv6 노드의 주소를 IPv4 주소로 변환한다. 이 경우 NA(P)T-PT/SIIT 변환 모듈(1100)은 세션 동안 관련 정보를 유지한다.
DNS-ALG 변환 모듈(1200)은 아웃바운드(outbound) 세션 또는 인바운드(inbound) 세션에 대한 쿼리(query)를 수신한 경우, 해당 쿼리에 대한 응답(answer)의 전송을 수행하여, DNS에 대한 양방향 세션 설정을 수행한다.
FTP-ALG 변환 모듈(1300)은 패킷 데이터 영역에 포함된 IP 주소 또는 포트 번호를 변경하여, FTP에 대한 양방향 세션 설정을 수행하고, IPv4 노드와 IPv6 노드 사이에 FTP 서비스를 제공한다.
FTP(file transfer protocol)는 데이터(data) 및 제어(control)의 두 개의 접속(connection)을 이용한다. 이러한 두 가지 접속이 일반적인 방식으로 똑같이 처리되는 경우 각각 서로 다른 IP로 변환될 수 있으며, 이로 인해 외부에서 전혀 다른 두 노드에서 생성한 접속으로 인식할 수 있다.
따라서, FTP-ALG 변환 모듈(1300)은 나중에 생성된 접속을 부 접속(related connection)으로 지정하고, 부 연결에 대하여 먼저 생성된 연결인 주 접속(master connection)과 동일한 변환을 수행한다.
FTP-ALG 변환 모듈(1300)은 IPv4 네트워크와 IPv6 네트워크 사이에서 FTP의 명령어를 변환한다. 즉, IPv4 네트워크의 FTP에서 PORT, PASV명령어가 사용되지만 IPv6 네트워크의 FTP에서 EPRT, EPSV 명령어가 사용되므로, FTP-ALG 변환 모듈(1300)은 IPv4와 IPv6 사이에 서로의 명령어를 변환한다.
전술한 바와 같이, FTP(file transfer protocol)는 제어 접속(control connection) 및 데이터 접속(data connection)을 통하여 이루어진다. 제어 접속(Control connection)은 일반적으로 서버-클라이언트 형태로 이루어지며, 클라이언트가 서버의 포트로 접속을 요구하여 연결된다.
제어 접속(Control connection)은 FTP 서비스가 제공되는 동안 유지되며, 클라이언트로부터 서버로 요청되는 명령어의 전송 또는 클라이언트의 요청에 대한 서 버의 응답의 전송에 사용될 수 있다.
데이터 접속(Data connection)은 실제로 데이터가 전송되는 시점에 생성되며, 데이터 전송이 종료한 후 소멸된다.
DSTM 변환 모듈(1400)은 IPv4 노드로 향하는 4오버6(4over6) 패킷을 수신하고 처리하며, DSTM 노드로 향하는 IPv4 패킷을 수신하고 처리한다. 또한, IPv4와 IPv6 사이의 주소 매핑 캐시를 관리한다. 이처럼 DSTM 변환 모듈(1400)은 IPv4와 IPv6의 패킷을 직접 송수신하여 IPv4 노드와 IPv6 노드가 서로 호환할 수 있도록 한다. DSTM 변환 모듈(1400)의 상세한 내용을 후술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 NA(P)T-PT/SIIT 변환 모듈에서 주소 변환을 수행하여 패킷을 전송하는 방법의 흐름을 도시한 도면이다.
IPv6 노드에서 IPv4 노드로 패킷을 전송할 경우, IPv4 주소를 위한 프리픽스(prefix)는 라우터의 NDP의 RA(Router Advertisement) 메시지를 통해 미리 분배된다.
프리픽스(prefix)는 IPv6 노드에 임시로 할당되는 IPv4 주소를 용이하게 IPv6 주소로 변환하기 위해 사용되며, 이하에서 변환된 IPv6 주소를 IPv4 변환(IPv4-translated) 주소라 하고, IPv6 노드는 수신자의 IPv4 주소뿐만 아니라 송신자인 IPv6 노드 자신의 IPv4 주소도 가지고 있지 않다고 가정한다.
단계(S100)에서, IPv6 노드는 IPv4 노드가 속한 DNS서버로부터 목적지의 IPv4 주소를 획득하고, 단계(S200)에서, NA(P)T-PT/SIIT 변환 모듈은 송신용 IPv4 주소, 즉 IPv6 노드의 IPv4 주소를 IPv6 노드에 할당한다.
단계(S300)에서, NA(P)T-PT/SIIT 변환 모듈은 라우터로부터 공지된 IPv4 변환(IPv4-translated) 주소용 프리픽스(prefix)로 주소를 구성하여, IPv6 패킷 형태로 전송한다.
단계(S400)에서, NA(P)T-PT/SIIT 변환 모듈은 IPv6 네트워크로부터 IPv4 네트워크로 진행하는 패킷의 목적지의 IPv4 주소를 추출한다. IPv4 주소는 IPv4 변환(IPv4-translated) IPv6 주소로부터 추출될 수 있다. NA(P)T-PT/SIIT 변환 모듈은 수신한 패킷을 IPv4 형태로 구성하고, 추출한 IPv4 주소로 전송한다. 이 경우 IPv4 노드로부터의 응답을 처리하기 위해 관련 주소 정보는 유지된다.
상술한 설명은 IPv6 노드로부터 IPv4 노드로 패킷이 전송되는 경우에 관한 것이다. 그 반대로 IPv4 노드로부터 IPv6 노드로 패킷이 전송되는 경우, IPv4 패킷의 목적지 주소는 IPv6 네트워크 내의 DNS에 의해 NA(P)T-PT/SIIT 변환 모듈로부터 할당받은 IPv4 주소를 사용하여 패킷을 전송한다.
도 4는 본 발명의 일 실시예에 따른 DNS-ALG 변환 모듈의 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 DNS-ALG 변환 모듈(1200)은 아웃바운드(outbound) 세션(session) 처리부(1210) 및 인바운드(inbound) 세션 처리부(1220)을 포함한다.
아웃바운드(outbound) 세션 처리부(1210)는 IPv6 노드로부터 아웃바운드(outbound) 세션에 대한 쿼리(query)를 수신하여 수신한 쿼리(query)의 유형과 동일한 유형의 응답을 IPv6 노드로 전송한다.
즉, 아웃바운드(outbound) 세션 처리부(1210)는 IPv6 노드로부터 AAAA 유형(type)의 쿼리(query)를 수신하고, 이에 대해 DNS 서버로부터 수신한 AAAA 유형의 응답을 IPv6 노드로 전송한다. 또한, 아웃바운드(outbound) 세션 처리부(1210)는 IPv6 노드로부터 A 유형(type)의 쿼리(query)를 수신하고, 이에 대한 A 유형의 응답을 IPv6 노드로 전송한다.
내부 IPv6 네트워크에서 동작하는 IPv6 어플리케이션(application)은 도메인 네임(domain name)에 대해 AAAA 유형의 쿼리(query)를 발생시킨다. 이 경우 DNS(domain name server)는 IPv6 주소를 가진 도메인 네임(domain name)에 대해서는 올바른 AAAA 유형의 응답을 회신하지만 기존의 IPv4에서 동작하는 다수의 노드는 AAAA 유형의 리졸빙(resolving)에 실패한다.
이러한 경우, 아웃바운드(outbound) 세션 처리부(1210)는 해당 도메인 네임에 대해 별도의 A 유형의 쿼리를 DNS 서버로 전송하고, 그 결과로 획득한 IPv4 주소에 NAT-PT 더미 프리픽스를 첨부하여 AAAA 유형의 응답을 생성한다. 이러한 아웃바운드(outbound) 세션 처리부(1210)에 의해 내부 IPv6 네트워크에서 동작하는 IPv6 전용 어플리케이션은 마치 상대방이 IPv6 어플리케이션인 것처럼 인식하고 동작한다.
인바운드(inbound) 세션 처리부(1220)는 인바운드(inbound) 세션(session)에 대한 쿼리(query)를 IPv4 노드로부터 수신하고, 이에 대해 DNS 서버로부터 수신한 A 유형(type)의 쿼리(query)를 AAAA 유형으로 변환하여 내부 IPv6 DNS 서버로 전송한다.
인바운드(inbound) 세션 처리부(1220)는 DNS 서버로부터 AAAA 유형의 응답을 수신하고, IPv4 주소 풀(pool)에서 가용한 주소를 선택하여 정적(static) IPv4/IPv6 맵핑(mapping) 엔트리(entry)를 추가하고 A 유형의 응답을 생성하여 IPv4 노드로 전송한다.
도 5는 본 발명의 일 실시예에 따른 FTP-ALG 변환 모듈의 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 FTP-ALG 변환 모듈(1300)은 인바운드(inbound) 세션 처리부(1310), 아웃바운드(outbound) 세션(session) 처리부(1320) 및 접속(connection) 관리부(1330) 및 패킷 변환부(1340)를 포함한다.
인바운드 세션 처리부(1310)는 변환 대상인 패킷의 페이로드(payload) 부분에 포함된 PORT 또는 PASV 명령을 각각 EPRT 또는 EPSV 명령으로 변환한다. 인바운드 세션 처리부(1310)는 IPv4 형식의 소스(source) 주소 및 목적지(destination) 주소를 IPv6 형식의 주소로 변환한다. 이러한 변환 과정에서 페이로드의 길이가 변하는 경우, 인바운드 세션 처리부(1310)는 IP 헤더의 페이로드 길이(length) 부분 및 TCP 헤더의 시퀀스 번호(sequence number) 값을 갱신한다.
아웃바운드 세션 처리부(1320)는 변경 대상인 패킷의 페이로드(payload) 부분에 포함된 EPRT 또는 EPSV 명령을 각각 PORT 또는 PASV 명령으로 변환한다. 아웃바운드 세션 처리부(1320)는 IPv6 형식의 소스(source) 주소 및 목적지(destination) 주소를 IPv4 형식의 주소로 변환한다. 이러한 변환 과정에서 페이로드의 길이가 변하는 경우, 아웃바운드 세션 처리부(1320)는 IP 헤더의 페이로드 길이 부분 및 TCP 헤더의 시퀀스 번호 값을 갱신한다.
접속 관리부(1330)는 IPv4/IPv6 연동 게이트웨이에 연결되는 접속, 예를 들어 제어 접속(control connection) 또는 데이터 접속(data connection)을 관리하여 FTP 변환시 이용되는 주소 풀(pool)의 주소를 신속히 재활용할 수 있도록 한다.
접속 관리부(1330)는 접속 관리를 위하여 접속 추적(connection tracking)을 생성하고, 제어(control) 접속 및 데이터(data) 접속 등 복수 개의 네트워크 접속의 사용을 보장하고, 데이터 스트림에 관련된 IP 주소를 파악하여 이전 접속과 관련이 있는 이른바 "차일드(child)" 접속인지 여부를 확인한다.
접속 관리부(1330)는 네트워크 인터페이스로 들어오는 패킷을 분석하여 특정 패킷에 대하여 해당 모듈이 처리하도록 통보한다. 예를 들어, 접속 관리부(1330)는 21번의 포트 번호로 들어오는 패킷에 대하여 FTP-ALG 변환 모듈가 처리하도록 통보한다.
접속 관리부(1330)는 제어 접속이 연결된 후에 생성되는 데이터 접속을 함께 처리할 수 있도록 데이터 접속을 대기한다.
접속 관리부(1330)는 제어 접속이 연결된 후에 생성되는 데이터 접속을 연결하기 위하여 제어 접속이 연결될 때 관심 대상이 되는 연결의 특성을 등록하고 데이터 접속의 연결되는 경우 등록된 특성을 이용한다.
인바운드 세션 처리부(1310) 또는 아웃바운드 세션 처리부(1320)는 접속 추적(connection tracking)의 생성에 응답하여, 수신한 패킷에 대응하는 규칙을 아이피테이블(iptable)에서 검색하여 패킷의 변환 정보를 생성하고, 생성한 변환 정보 를 접속 추적(connection tracking)에 저장한 후, 저장한 변환 정보를 이용하여 패킷을 변환한다.
인바운드 세션 처리부(1310) 또는 아웃바운드 세션 처리부(1320)는 상위 계층 프로토콜, 예를 들어 TCP 또는 FTP에 따른 변환을 수행한다. 즉, 인바운드 세션 처리부(1310) 또는 아웃바운드 세션 처리부(1320)는 제어 접속 및 데이터 접속을 통해 전송되는 패킷을 실시간으로 가로채고, 가로챈 패킷의 FTP 명령어, IP 주소, 포트 번호, 페이로드 길이 부분, 시퀀스 번호 값 등을 변경한다.
도 6은 본 발명의 일 실시예에 따른 DSTM 변환 모듈의 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 DSTM 변환 모듈(1400)은 4오버6(IPv4-over-IPv6) 패킷 처리부(1410), IPv4 패킷 처리부(1420) 및 주소 맵핑 캐시 관리부(1430)를 포함한다.
4오버6(IPv4-over-IPv6) 패킷 처리부(1410)는 4오버6(IPn4-over-IPv6) 터널 패킷을 수신하고 처리하기 위하여 IPv6 기본 헤더의 'NEXT' 필드 값이 IPv4인 패킷의 IPv6 헤더를 제거하여 IPv4 패킷으로 변환한다.
IPv6 프로토콜은 프로토콜 처리 테이블이라는 프로토콜 내에서 광범위한 자료구조를 가지고 있다. 또한, IPv6 프로토콜은 목적지가 자신인 경우 IPv6 계층에서의 처리를 종료하고, Next 필드의 값을 키로 사용하여 프로토콜 처리 테이블에 등록되어 있는 해당 프로토콜 핸들러를 호출하고 해당 프로토콜로 처리할 데이터를 DSTM 변환 모듈(1400)로 전달하여, 페이로드를 상위 전송 프로토콜로 전달한다.
4오버6(IPv4-over-IPv6) 패킷 처리부(1410)는 수신한 패킷의 IPv4 송신측 주소/IPv6 송신측 주소의 정보가 IPv4/IPv6 주소 매핑 캐쉬 테이블에 존재하는지 여부를 판단하고, IPv4 송신측 주소/IPv6 송신측 주소의 정보가 존재하는 경우 해당 엔트리에 연결된 타이머를 리셋한다.
IPv4 송신측 주소/IPv6 송신측 주소의 정보가 존재하지 않는 경우, 4오버6 패킷 처리부(1410)는 IPv4 주소를 키(key)로 하여 해당하는 주소 정보를 캐시(cache) 테이블에 저장한다. 이후 4오버6 패킷 처리부(1410)는 패킷의 IPv6 헤더를 제거하고 IPv4 패킷을 복원하여 IPv4 프로토콜로 전달한다. 전달된 IPv4 패킷은 정상적인 IPv4 라우팅 과정을 거쳐 목적지 IPv4 노드로 전송된다.
IPv4 패킷 처리부(1420)는 IPv4 패킷을 수신하고, 수신한 IPv4 패킷의 목적지 IPv4 주소의 정보를 포함하는 헤더를 IPv4 패킷에 부가하여 IPv6 패킷을 생성한다.
IPv4 패킷 처리부(1420)는 IPv4 패킷을 수신하고, 수신한 IPv4 패킷의 목적지 IPv4 주소 키로 IPv4/IPv6주소 매핑 캐쉬 테이블을 검색한다. IPv4 패킷 처리부(1420) 해당 IPv4 주소에 대응되어 검색된 IPv6 주소를 목적지 IPv6 주소로 설정하고, IPv4/IPv6 연동 게이트웨이(도시 생략)의 IPv6 주소를 송신측 IPv6 주소로 하는 4오버6(IPv4-over-IPv6) 터널 헤더를 생성하고, 해당 IPv4 패킷에 생성한 4오버6 터널 헤더를 부가하여 새로운 4오버6 터널 패킷을 생성한다.
IPv4 패킷 처리부(1420)는 생성한 4오버6 터널 패킷을 IPv6 프로토콜의 전송 루틴으로 전달하고, 네이티브(Native) IPv6 전송 인프라를 통해 IPv4 노드가 통신 하고자 하는 최종 목적지인 해당 DSTM 호스트로 전송한다.
주소 맵핑 캐시 관리부(1430)는 IPv4/IPv6 주소 맵핑을 위한 캐시를 관리한다. 주소 맵핑 캐시는 주소 맵핑을 위한 캐시 테이블을 포함하며, 캐시 테이블은 주소 매핑 캐시 내에 현재 저장된 주소 맵핑 항목의 개수, IPv4/IPv6 연동 게이트웨이(도시 생략)의 IPv6주소, 주소 맵핑 캐시 버켓 포인터 배열을 포함한다.
버켓 포인터 배열은 IPv4 주소를 키로 계산된 해쉬(hash) 값을 인덱스로 16개 버켓으로 구성되며 각 버켓은 해당 해쉬 인덱스로 포인팅된 주소 매핑 정보들을 링크 드리스트 형태로 저장한다.
주소 맵핑 캐시 관리부(1430)는 IPv4망으로 향하는 4오버6(IPv4-over-IPv6) 터널 패킷을 수신하고, IPv4주소를 키로 수신한 4오버6 터널 패킷의 정보를 캐시 테이블에서 검색한다.
4오버6 터널 패킷의 정보가 캐시 테이블에 이미 존재하는 경우, 주소 맵핑 캐시 관리부(1430)는 해당 항목의 최근 참조 시간 및 해당 주소 정보의 유효 시간을 갱신하고 관련 타이머를 초기화한다.
4오버6 터널 패킷의 정보가 캐쉬 테이블에 존재하지 않는 경우, 주소 맵핑 캐시 관리부(1430)는 4오버6 터널 패킷의 정보에 대한 캐시 엔트리(entry)를 생성하여 저장한다.
도 7은 본 발명의 일 실시예에 따른 IPv4/IPv6 패킷 필터링부의 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 IPv4/IPv6 패킷 필터링부(2000)는 패킷 수신 부(2100), 패킷 처리부(2200) 및 패킷 선택 조건 저장부(2300)를 포함한다.
패킷 수신부(2100)는 각 프로토콜, 즉 IPv4 및 IPv6 별로 패킷이 이동하는 경로에 위치하여 IPv4 네트워크로부터 IPv6 네트워크로 이동하는 패킷 및 IPv6 네트워크로부터 IPv4 네트워크로 이동하는 패킷을 수신한다.
패킷 처리부(2200)는 패킷 수신부(2100)가 수신한 패킷에 대해 패킷 선택 조건 저장부(2300)에 저장된 조건에 따라 필터링 처리를 수행한다. 예를 들어, 패킷 처리부(2200)는 수신한 패킷의 헤더에 포함된 소스 포트 번호를 분석하여 사전에 패킷 선택 조건 저장부(2300)에 등록되지 않은 포트로부터 수신한 패킷은 차단하여 필터링 처리를 수행할 수 있다.
패킷 선택 조건 저장부(2300)는 패킷 처리부(2200)에 의해 처리되어 필터링되는 대상이 되는 패킷 또는 필터링 대상에서 제외되는 패킷의 조건 정보를 저장하고, 패킷 처리부(2200)의 요청에 응답하여 저장된 조건 정보를 패킷 처리부(2200)에 제공한다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 IPv4/IPv6 연동 게이트웨이의 구성을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른 IPv4/IPv6 변환부의 구성을 도시한 도면,
도 3은 본 발명의 일 실시예에 따른 NA(P)T-PT/SIIT 변환 모듈에서 주소 변환을 수행하여 패킷을 전송하는 방법의 흐름을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 DNS-ALG 변환 모듈의 구성을 도시한 도면,
도 5는 본 발명의 일 실시예에 따른 FTP-ALG 변환 모듈의 구성을 도시한 도면,
도 6은 본 발명의 일 실시예에 따른 DSTM 변환 모듈의 구성을 도시한 도면,
도 7은 본 발명의 일 실시예에 따른 IPv4/IPv6 패킷 필터링부의 구성을 도시한 도면.

Claims (6)

  1. IPv4/IPv6 연동 게이트웨이에 있어서,
    IPv4(internet protocol version 4)와 IPv6(internet protocol version 6) 사이의 주소를 변환하여, IPv4 네트워크와 IPv6 네트워크 사이의 패킷의 교환, FTP(file transfer protocol) 서비스 또는 DNS(domain name system) 서비스를 제공하는 IPv4/IPv6 변환부 및
    상기 IPv4/IPv6 연동 게이트웨이를 통해 IPv4 네트워크와 IPv6 네트워크 사이에 교환되는 패킷에 대하여 필터링을 수행하는 IPv4/IPv6 패킷 필터링부
    를 포함하고,
    상기 IPv4/IPv6 변환부는,
    IPv4 네트워크와 IPv6 네트워크 사이의 경계 라우터에서 세션이 초기화될 때마다 미리 저장된 주소 풀(pool)을 이용하여 IPv6 노드에 할당하기 위한 IPv4 주소를 맵핑하고 상기 IPv6 노드에 대한 IPv4 주소를 생성하는 NA(P)T-PT/SIIT 변환 모듈,
    IPv6 노드 또는 IPv4 노드로부터 쿼리(query)를 수신하고, 상기 수신한 쿼리의 응답을 상기 쿼리의 유형에 대응하도록 변형하여 상기 IPv6 노드 또는 상기 IPv4 노드로 전송하는 DNS-ALG 변환 모듈,
    IPv6 노드 또는 IPv4 노드로 전송되는 패킷에 포함된 IP 주소, 포트 번호, 명령어에 대한 정보를 IPv6 또는 IPv4 에 대응하도록 변경하고, 상기 IPv6 노드 및 상기 IPv4 노드 사이의 제어 접속(control connection) 및 데이터 접속(data connection)을 관리하는 FTP-ALG 변환 모듈 및
    IPv6 노드 또는 IPv4 노드로 전송되는 패킷에 각각 IPv6 또는 IPv4 주소에 해당하는 헤더를 부가 또는 제거하여 상기 패킷을 상기 IPv6 노드 또는 IPv4 노드로 전송하는 DSTM 변환 모듈
    을 포함하고,
    상기 FTP-ALG 변환 모듈은,
    IPv4 노드로부터 수신한 제 1 패킷의 페이로드(payload)에 포함된 PORT 또는 PASV 명령을 각각 EPRT 또는 EPSV 명령으로 변환하고, 상기 제 1 패킷의 페이로드(payload)의 소스(source) 주소 및 목적지(destination) 주소를 IPv6 형식의 주소로 변환하는 인바운드(inbound) 세션 처리부,
    IPv6 노드로부터 수신한 제 2 패킷의 페이로드에 포함된 EPRT 또는 EPSV 명령을 각각 PORT 또는 PASV 명령으로 변환하고, 상기 제 2 패킷의 페이로드의 소스 주소 및 목적지 주소를 IPv4 형식의 주소로 변환하는 아웃바운드(outbound) 세션 처리부 및
    상기 제어 접속 및 상기 데이터 접속을 관리하는 접속 관리부
    를 포함하되,
    상기 인바운드 세션 처리부 및 상기 아웃 바운드 세션 처리부는 상기 접속 관리부에 의해 생성된 접속 추적(connection tracking)에 기초하여 상기 각각 수신한 제 1 패킷 및 제 2 패킷에 대응하는 규칙을 아이피테이블(iptable)에서 검색하여 패킷의 변환 정보를 생성하고, 상기 생성한 변환 정보를 상기 접속 추적에 저장하고, 상기 저장한 변환 정보를 이용하여 상기 제 1 패킷 또는 상기 제 2 패킷을 각각 변환하는 것인 IPv4/IPv6 연동 게이트웨이.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 DNS-ALG 변환 모듈은,
    IPv6 노드로부터 아웃바운드(outbound) 세션에 대한 제 1 쿼리(query)를 수신하고, 상기 수신한 제 1 쿼리에 대한 제 1 응답을 DNS(domain name system) 서버로부터 수신하고, 상기 제 1 응답을 상기 제 1 쿼리의 유형과 동일한 유형으로 변환하여 상기 IPv6 노드로 전송하는 아웃바운드 세션 처리부 및
    IPv4 노드로부터 인바운드(inbound) 세션에 대한 제 2 쿼리를 수신하고, 상기 제 2 쿼리에 대한 제 2 응답을 DNS 서버로부터 수신하고, 상기 제 2 응답을 상기 제 2 쿼리의 유형과 동일한 유형으로 변환하여 상기 IPv4 노드로 전송하는 인바운드 세션 처리부
    를 포함하는 것인 IPv4/IPv6 연동 게이트웨이.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 DSTM 변환 모듈은,
    IPv6 노드로부터 IPv4 노드로 전송되는 IPv6의 패킷에 포함된 IPv6에 대응하는 헤더를 제거하여 상기 IPv6의 패킷을 IPv4의 패킷으로 변환하는 4오버6(IPv4-over-IPv6) 패킷 처리부 및
    IPv4 노드로부터 IPv6 노드로 전송되는 IPv4의 패킷에 상기 IPv4의 패킷의 목적지 정보를 포함하는 헤더를 상기 IPv4의 패킷에 부가하여 상기 IPv4의 패킷을 IPv6의 패킷으로 변환하는 IPv4 패킷 처리부
    를 포함하는 것인 IPv4/IPv6 연동 게이트웨이.
  6. 제 1 항에 있어서,
    상기 IPv4/IPv6 패킷 필터링부는,
    IPv4 네트워크 및 IPv6 네트워크 사이에서 이동하는 패킷을 수신하는 패킷 수신부 및
    상기 수신한 패킷 중에서 미리 설정된 조건에 대응하는 패킷을 차단하는 패킷 처리부
    를 포함하는 것인 IPv4/IPv6 연동 게이트웨이.
KR1020090115310A 2008-11-26 2009-11-26 IPv4/IPv6 연동 게이트웨이 KR101124635B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080117833 2008-11-26
KR20080117833 2008-11-26

Publications (2)

Publication Number Publication Date
KR20100059739A KR20100059739A (ko) 2010-06-04
KR101124635B1 true KR101124635B1 (ko) 2012-03-19

Family

ID=42360951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090115310A KR101124635B1 (ko) 2008-11-26 2009-11-26 IPv4/IPv6 연동 게이트웨이

Country Status (1)

Country Link
KR (1) KR101124635B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101916217B1 (ko) * 2013-10-30 2018-11-08 현대일렉트릭앤에너지시스템(주) 원격지 시스템과 중앙제어 시스템 및 이의 통신 방법
KR20160114401A (ko) 2015-03-24 2016-10-05 주식회사 케이티 LISP 네트워크 환경에서 IPv4-IPv6 서비스 전환 방법 및 LISP 네트워크 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yong-Geun Hong 외 2인, ‘Application Translation for IPv6 at NAT-PT’, IEEE APCC 2003, 2003.9.

Also Published As

Publication number Publication date
KR20100059739A (ko) 2010-06-04

Similar Documents

Publication Publication Date Title
US10645056B2 (en) Source-dependent address resolution
US10819678B2 (en) Data network address sharing between multiple elements associated with a shared network interface unit
JP4001820B2 (ja) アドレス変換器
US7450585B2 (en) Method and system in an IP network for using a network address translation (NAT) with any type of application
US7639686B2 (en) Access network clusterhead for providing local mobility management of a roaming IPv4 node
US7154891B1 (en) Translating between globally unique network addresses
EP1488610B1 (en) System for selecting a connectivity mechanism
JP3760767B2 (ja) ネットワーク管理装置及びネットワーク管理方法
US20020023152A1 (en) Communication data relay system
US20100008260A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP4766976B2 (ja) ノード間接続方法及び装置
JPWO2010100850A1 (ja) 通信方法、通信システム、匿名化装置、サーバ
CN112671938B (zh) 业务服务提供方法及***、远端加速网关
KR100948693B1 (ko) 가상 플랫폼을 이용한 이종 망간 프로토콜 연동 지원을 위한 인터넷 프로토콜 변환장치 및 방법
US8194683B2 (en) Teredo connectivity between clients behind symmetric NATs
CN110691150A (zh) 一种基于SDN的IPv4与IPv6互联方法及***
CN101325580A (zh) 基于nat-pt的ftp应用层网关的实现方法
US7764686B1 (en) Migration to IPv6 using combination of globally significant and locally significant IPv4 addresses
US7356031B1 (en) Inter-v4 realm routing
KR100433621B1 (ko) 사설 인터넷의 단대단 서비스를 위한 다중 계층 인터넷프로토콜 및 상기 다중 계층 인터넷 프로토콜 패킷의송/수신 방법
US7693091B2 (en) Teredo connectivity between clients behind symmetric NATs
KR101124635B1 (ko) IPv4/IPv6 연동 게이트웨이
KR100672050B1 (ko) 분산구조의 디엔에스 프록시 서버 기능이 내장된아이피브이4/아이피브이6 변환장치 및 이 장치를 이용한변환방법
JP2008172816A (ja) アドレス変換方法
WO2008000387A1 (en) A personal network comprising a plurality of clusters

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee