KR102112317B1 - 패킷 변환 방법 및 장치 - Google Patents
패킷 변환 방법 및 장치 Download PDFInfo
- Publication number
- KR102112317B1 KR102112317B1 KR1020150115529A KR20150115529A KR102112317B1 KR 102112317 B1 KR102112317 B1 KR 102112317B1 KR 1020150115529 A KR1020150115529 A KR 1020150115529A KR 20150115529 A KR20150115529 A KR 20150115529A KR 102112317 B1 KR102112317 B1 KR 102112317B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- packet
- destination
- database
- ipv6
- Prior art date
Links
Images
Classifications
-
- 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/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
-
- H04L61/6059—
-
- 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
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
본 발명은 패킷 변환 방법 및 장치에 관한 것이다. 개시된 패킷 변환 방법은 IPv6 패킷에서 ID값을 추출하여 데이터베이스에 저장하는 단계와, IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하는 단계와, IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하는 단계와, 제1 ID값 또는 제2 ID값 중에서 적어도 어느 하나의 ID값을 저장하여 데이터베이스를 갱신하는 단계와, ID값, 제1 ID값, 또는 제2 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성하는 단계를 포함한다. 이러한 본 발명은 프래그먼트가 발생하지 않은 IPv6 패킷에 대해서 중복되지 않는 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷으로 변환한다.
Description
본 발명은 패킷 변환에 에 관한 것이다. 더욱 상세하게는 IPv4/IPv6 연동을 위해 IPv6 패킷을 IPv4 패킷으로 변환하는 방법 및 장치에 관한 것이다.
주지하는 바와 같이, IPv4(Internet protocol version 4)는 32비트의 주소체계로 이루어져 있어 최대 약 40억개의 다른 주소를 부여할 수 있다. 그러나 IP 주소를 사용하고자 사람이나 사물이 기하급수적으로 늘어나면서 40억개의 주소로는 IP 주소 수요를 충족시킬 수가 없게 되었다.
이후 등장한 IPv6(Internet protocol version 6)은 128비트의 주소체계로 이루어져 있어 총 3.4×1038개의 다른 주소를 부여할 수 있다. 이외에도 IPv6은 네트워크의 속도 증가, 특정한 패킷 인식을 통한 높은 품질의 서비스 제공, 헤더 확장을 통한 패킷 출처 인증과 데이터 무결성 및 비밀의 보장 등의 장점이 있다.
IPv4의 헤더구조와 IPv6의 헤더구조를 비교하여 보면, 소스 주소와 목적지 주소의 길이에서 크게 차이가 난다. 32비트의 IPv4 주소부분과 128비트의 IPv6 주소부분은 네 배의 비트 차이가 나는 것이다. IPv4과 IPv6에서 할당할 수 있는 주소의 차이는 주소비트의 차이로 알 수 있다.
IPv4에서 IPv6으로 진화하면서 삭제된 필드로는 ID(Identification), 플래그(Flags), 프래그먼트 옵셋(Fragment Offset), 헤더 길이(Header Length), 체크섬(Checksum)이 있고, 이 중에서 IPv4의 ID는 IPv6의 확장 헤더로 옮겨 갔다. IPv6에서 확장 헤더의 ID는 어떤 데이터의 분할인지 구분해 주는 역할을 한다.
한편, IPv4/IPv6 연동은 IPv4 망에서 IPv6 망으로 자연스럽게 진화시키기 위한 전환(transition) 기술이다. 이러한 IPv4/IPv6 전환 기술을 크게 나누면 듀얼스택(dual stack) 기술, 터널링(tunneling) 기술, 변환(translation) 기술로 분류할 수 있다. 듀얼스택 기술은 하나의 시스템(호스트 또는 라우터)에서 IPv4와 IPv6를 동시에 처리하는 기술이고, 터널링 기술은 기존 IPv4 망을 전달망으로 사용해 서로 떨어져 있는 IPv6 망들을 연결시켜 주는 기술이며, 변환 기술은 IPv4 망과 IPv6 망 사이의 연동기술로 IPv6 클라이언트가 IPv4 서버에 접속할 때 또는 IPv4 클라이언트가 IPv6 서버에 접속할 때 사용된다.
이 중에서 IPv4/IPv6 변환 기술에 포함되는 IPv6→IPv4 패킷 변환 장치는 IPv6 클라이언트가 IPv4 서버에 접속할 수 있도록 IPv6 패킷을 Pv4 패킷으로 변환해 주는 역할을 한다.
종래 기술에 따른 IPv6→IPv4 패킷 변환 장치에 의하면, 프래그먼트가 발생하지 않은 패킷에 대해서는 ID 필드값을 전부 "0"으로 채움에 따라, 아래와 같은 문제점이 있었다.
첫째, 외부에서 악의적으로 분석 시에 해당 IPv4 패킷은 IPv6 패킷이 변환되었음을 쉽게 추정이 가능하다.
둘째, IPv6 패킷이 변환된 IPv4 패킷 헤더내의 ID 필드값을 전부 0으로 채워서 외부 서버로 TCP(Transmission Control Protocol) 접속을 시도하는 경우에 외부 서버의 방화벽(보안)기능에서 ID 필드값이 동일한 패킷이 반복 유입되면 DDoS(Distributed Denial of Service) 공격으로 인지하여, TCP 접속을 거부하여 정상적인 서비스 접속이 불가능해 진다.
셋째, IPv6 패킷을 IPv4 패킷으로 변환 시에 다음 번에 변환될 IPv4 헤더내의 ID 필드값을 예측 가능하기 때문에, 중간구간에서 다음 발생될 패킷에 대한 위조 또는 변조가 발생하여 정상적인 세션에 원치 않는 영향이 발생할 수 있다.
넷째, 최초 발생된 IPv4 패킷을 IPv6 패킷으로 변환하고, 이 패킷을 최종 IPv4 패킷으로 변환하여 외부로 전송 시에 최초의 IPv4 헤더내의 ID 필드값이 외부로 정확히 전달되지 못한다.
본 발명은 전술한 바와 같은 종래 기술의 문제점을 해결하기 위해 제안된 것으로서, IPv6 패킷을 IPv4 패킷으로 변환함에 있어서 프래그먼트가 발생하지 않은 패킷에 대해서 중복되지 않는 ID값을 IPv4 헤더에 삽입하는 패킷 변환 방법 및 장치를 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 관점에 따른 패킷 변환 방법은, IPv6 패킷에서 ID값을 추출하여 데이터베이스에 저장하는 단계와, 상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하는 단계와, 상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하는 단계와, 상기 제1 ID값 또는 상기 제2 ID값 중에서 적어도 어느 하나의 ID값을 저장하여 상기 데이터베이스를 갱신하는 단계와, 상기 ID값, 상기 제1 ID값, 또는 상기 제2 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성하는 단계를 포함할 수 있다.
본 발명의 다른 관점에 따른 패킷 변환 장치는, IPv6 패킷에서 ID값을 추출하는 ID 추출부와, 상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하고, 상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하는 ID 생성부와, 상기 ID 추출부에 의해 추출된 ID값, 상기 제1 ID값 또는 상기 제2 ID값 중에서 적어도 어느 하나의 ID값을 저장하는 ID 데이터베이스와, 상기 ID값, 상기 제1 ID값, 또는 상기 제2 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성하는 ID 삽입부를 포함할 수 있다.
본 발명의 실시예에 의하면, 프래그먼트가 발생하지 않은 IPv6 패킷에 대해서 중복되지 않는 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷으로 변환한다.
이러한 본 발명은 다음과 같은 효과가 있다.
첫째, IPv4 패킷의 ID 필드값을 변화되는 값으로 채우기 때문에, 외부에서 악의적으로 분석 시에 해당 IPv4 패킷이 IPv6 패킷으로부터 변환되었음을 추정할 수 없다.
둘째, IPv6 패킷에서 변환된 IPv4 패킷을 이용하여 외부 서버로 TCP 접속을 시도할 경우, 외부 서버의 방화벽(보안)기능에서 DDoS 공격으로 오인지하지 않기 때문에 정상적인 서비스 접속이 가능하다.
셋째, 변환된 IPv4 패킷 헤더 내의 ID 필드값을 랜덤한 값을 채워 넣음으로써, 다음 번에 변환될 IPv4 헤더 내의 ID 필드값에 대한 예측이 불가능하여 패킷 보안이 강화된다.
넷째, IPv6 패킷을 IPv4패킷으로 변환하여 외부 서버로 전송 시, 일정 횟수 혹은 일정 기간 내에 변환되어 나간 IPv4 패킷에 채워진 ID 값과 다른 값이 채워져서 외부 서버로 전달되기 때문에, IP망 전달과정에서의 패킷 역전이나 패킷 지연 시에도 최종 접속 서버에서 동일한 ID값의 수신을 방지하여, 동일 ID값으로 인한 다양한 문제점과 리스트(risk)를 예방한다.
도 1은 본 발명의 일 실시예에 따른 패킷 변환 장치의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법에서 데이터베이스 갱신 과정을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법에서 데이터베이스 갱신 과정을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 패킷 변환 장치의 블록 구성도이다.
이에 나타낸 바와 같이 일 실시예에 따른 패킷 변환 장치(100)는 ID 추출부(110), ID 데이터베이스(DataBase, DB)(120), ID 생성부(130), ID 삽입부(140)를 포함한다.
ID 추출부(110)는 IPv6 패킷에서 ID값을 추출한다. 프래그먼트가 발생한 IPv6 패킷은 확장 헤더에 ID값이 포함되어 있으며, ID 추출부(110)는 IPv6 패킷의 확장 헤더에서 ID값을 추출한다. 최초 발생된 IPv4 패킷의 경우에 프래그먼트가 되지 않은 패킷은 프래그먼트 플래그를 "no fragment"로 기록한 상태에서 프래그먼트 옵셋에 ID값을 임시로 기록할 수 있다. 이 경우라면, ID 추출부(110)는 프래그먼트가 발생하지 않은 IPv6 패킷에 대해서도 ID값을 추출할 수 있다.
ID 생성부(130)는 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하고, IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하며, 제1 ID값이 ID 데이터베이스(120) 내에 존재하면 랜덤한 제3 ID값을 다시 생성한다.
ID 데이터베이스(120)는 ID 추출부(110)에 의해 추출된 ID값, ID 생성부(130)에 의해 생성된 제1 ID값, 제2 ID값 또는 제3 ID값 중에서 적어도 어느 하나의 ID값을 저장한다.
이러한 ID 데이터베이스(120)는 IPv6 패킷의 필드 중에서 송신지/목적지에 관련된 필드들을 조합하여 생성한 송신지/목적지 조합에 대응하는 큐(queue)에 ID값을 저장한다. 여기서, 송신지/목적지 조합은 IPv6 패킷의 프로토콜 번호 필드를 더 포함할 수 있다. 또, ID 데이터베이스(120)는 송신지/목적지 조합에 대응하는 큐가 존재하지 않으면 대응하는 새로운 큐를 생성하여 ID값을 저장한다. 이러한 실시예에서 ID 생성부(130)는 송신지/목적지 조합에 대응하는 큐에 저장하고자 하는 ID값과 동일한 ID값이 존재하면, 기 설정된 지정기간 또는 지정횟수 이내일 경우에 랜덤한 ID값을 다시 생성할 수 있다.
ID 삽입부(140)는 ID 추출부(110)에 의해 추출된 ID값, ID 생성부(130)에 의해 생성된 제1 ID값, 제2 ID값 또는 제3 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성한다.
도 2는 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법을 설명하기 위한 흐름도이다.
이에 나타낸 바와 같이 일 실시예에 따른 패킷 변환 방법은, IPv6 패킷에서 ID값을 추출하여 데이터베이스에 저장하는 단계(S201 내지 S205)를 포함한다.
그리고, IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하는 단계(S207, S209)를 더 포함한다.
아울러, IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하는 단계(S207, S213)를 더 포함한다.
또, 제1 ID값이 데이터베이스 내에 존재하면 랜덤한 제3 ID값을 다시 생성하는 단계(S211)를 더 포함한다.
이어서, 제1 ID값, 제2 ID값 또는 제3 ID값 중에서 적어도 어느 하나의 ID값을 저장하여 데이터베이스를 갱신하는 단계(S215)를 더 포함한다.
다음으로, ID값, 제1 ID값, 제2 ID값 또는 제3 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성하는 단계(S217)를 더 포함한다.
도 3은 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법에서 데이터베이스 갱신 과정을 설명하기 위한 흐름도이다.
이에 나타낸 바와 같이 일 실시예에 따른 데이터베이스 갱신 과정은, IPv6 패킷의 필드 중에서 송신지/목적지에 관련된 필드들을 조합하여 생성한 송신지/목적지 조합에 대응하는 큐에 ID값을 저장하는 단계(S301)를 포함한다.
그리고, ID값을 생성하여 데이터베이스를 저장할 때에 송신지/목적지 조합에 대응하는 큐가 존재하지 않으면 대응하는 새로운 큐를 생성하여 ID값을 저장하는 단계(S303 내지 S307)를 더 포함한다.
또, 송신지/목적지 조합에 대응하는 큐에 저장하고자 하는 ID값과 동일한 ID값이 존재하면, 기 설정된 지정기간 또는 지정횟수 이내일 경우에 랜덤한 ID값을 다시 생성하여 송신지/목적지 조합에 대응하는 큐에 ID값을 저장하는 단계(S309 내지 S313)를 더 포함한다.
이하, 도 1 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 패킷 변환 장치에 의한 패킷 변환 방법에 대해 더 자세히 살펴보기로 한다.
먼저, IPv6 패킷이 입력되면 ID 추출부(110)는 IPv6 패킷에서 ID값을 추출한다(S201, S203).
여기서, 프래그먼트가 발생한 IPv6 패킷은 확장 헤더에 ID값이 포함되어 있으며, ID 추출부(110)는 IPv6 패킷의 확장 헤더에서 ID값을 추출한다.
또한, 최초 발생된 IPv4 패킷의 경우에 프래그먼트가 되지 않은 패킷은 프래그먼트 플래그를 "no fragment"로 기록한 상태에서 프래그먼트 옵셋에 ID값을 임시로 기록할 수 있다. 이 경우라면, ID 추출부(110)는 프래그먼트가 발생하지 않은 IPv6 패킷에 대해서도 ID값을 추출할 수 있다.
이렇게, ID 추출부(110)에 의해 ID값이 추출된 경우라면, ID 데이터베이스(120)는 ID 추출부(110)에 의해 추출된 ID값을 저장한다(S205). 여기서, ID 데이터베이스(120)는 IPv6 패킷의 필드 중에서 송신지/목적지에 관련된 필드들을 조합하여 생성한 송신지/목적지 조합에 대응하는 큐에 ID값을 저장하며, 이러한 송신지/목적지 조합은 IPv6 패킷의 프로토콜 번호 필드를 더 포함할 수 있다. 예컨대, 송신지/목적지 조합은 송신지 IP 필드, 목적지 IP 필드, 송신지 포트 필드, 목적지 포트 필드, 프로토콜 번호 필드를 포함할 수 있다(S301). 예컨대, 큐에 ID값을 저장할 때에 큐의 저장 용량을 초과한 경우에는, 가장 오래된 ID값부터 삭제하고, 새로운 ID값을 저장할 수 있다.
그리고, ID 삽입부(140)는 ID 추출부(110)에 의해 추출된 ID값을 IPv4 헤더에 삽입하여 생성한 IPv4 패킷을 출력한다(S217).
한편, 단계 S201에서 프래그먼트가 발생하지 않은 IPv6 패킷은 ID값이 존재하지 않은 것으로 판정될 수 있으며, 이때 IP 생성부(130)는 TCP 싱크 패킷 여부를 판정한다(S207).
여기서, ID 생성부(130)는 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하고(S209), IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성한다. 예컨대, ID 생성부(130)는 ID값을 생성할 때마다 일정값씩 증가하는 값을 이용하여 고유의 제2 ID값을 생성할 수 있다(S213). 또, ID 생성부(130)는 제1 ID값이 ID 데이터베이스(120) 내에 존재하면 랜덤한 제3 ID값을 다시 생성한다(S211, S209). 예컨대, ID값은 16비트의 값으로 생성할 수 있다.
그러면, ID 데이터베이스(120)는 ID 생성부(130)에 의해 생성된 제1 ID값, 제2 ID값 또는 제3 ID값 중에서 적어도 어느 하나의 ID값을 저장하는 과정을 수행하여 갱신 처리를 한다(S215).
여기서, ID 데이터베이스(120)는 ID 생성부(130)에 의해 생성된 ID값을 저장할 때에 송신지/목적지 조합에 대응하는 큐가 존재하지 않으면 대응하는 새로운 큐를 생성하여 ID값을 저장한다(S303, S305, S307). 이때, ID 생성부(130)는 송신지/목적지 조합에 대응하는 큐에 저장하고자 하는 ID값과 동일한 ID값이 존재하면(S309), 기 설정된 지정기간 또는 지정횟수 이내일 경우에 랜덤한 ID값을 다시 생성하여 저장할 수 있다(S311, S313). 하지만, ID 생성부(130)는 기 설정된 지정기간 또는 지정횟수를 벗어난 경우라면 ID값을 다시 생성하지 않고 동일한 ID값이 ID 데이터베이스(120)에 중복하여 저장되도록 한다. 이는 ID값의 중복에 의한 무한루프를 방지하기 위한 것이다.
다음으로, ID 삽입부(140)는 ID 추출부(110)에 의해 추출된 ID값, ID 생성부(130)에 의해 생성된 제1 ID값, 제2 ID값 또는 제3 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성한다(S217).
한편, 프래그먼트가 발생한 IPv6 패킷을 IPv4 패킷으로 변환 시, IPv6 헤더 내에 포함된 ID값을 IPv4 헤더 내에 하위의 소정 비트(예컨대, 16비트)만을 삽입 시에는, 옵션에 의해 선택적으로 단계 S307 내지 S311을 수행하지 않을 수도 있다. 또한, 단계 S307 내지 S311의 과정에서 1번의 랜덤한 ID값을 생성하여, 프래그먼트가 발생된 패킷들에 대해서 동일한 ID값을 삽입하고, ID 데이터베이스(120) 내에도 한번만 ID값을 저장할 수 있다. ID 데이터베이스(120)는 송신지/목적지 조합의 세션이 삭제되거나 소멸한 경우에는 해당 조합에 대한 큐도 삭제할 수 있다.
지금까지 설명한 바와 같이, 본 발명의 실시예에 따르면 프래그먼트가 발생하지 않은 IPv6 패킷에 대해서 중복되지 않는 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷으로 변환한다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예에 의하면, 본 발명의 실시예에 따르면 프래그먼트가 발생하지 않은 IPv6 패킷에 대해서 중복되지 않는 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷으로 변환한다.
이러한 본 발명은 IPv6 클라이언트가 IPv4 서버에 접속할 수 있도록 IPv6 패킷을 Pv4 패킷으로 변환해 주어야 하는 통신 서비스에 적용할 수 있다.
100 : 패킷 변환 장치 110 : ID 추출부
120 : ID 데이터베이스 130 : ID 생성부
140 : ID 삽입부
120 : ID 데이터베이스 130 : ID 생성부
140 : ID 삽입부
Claims (12)
- IPv6 패킷에서 ID값을 추출하여 데이터베이스에 저장하는 단계와,
상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하는 단계와,
상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하는 단계와,
상기 제1 ID값 또는 상기 제2 ID값 중에서 적어도 어느 하나의 ID값을 저장하여 상기 데이터베이스를 갱신하는 단계와,
상기 ID값, 상기 제1 ID값, 또는 상기 제2 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성하는 단계를 포함하는 패킷 변환 방법. - 제1 항에 있어서,
상기 제1 ID값이 상기 데이터베이스 내에 존재하면 랜덤한 제3 ID값을 다시 생성하는 단계를 더 포함하며,
상기 데이터베이스를 갱신하는 단계는, 상기 제1 ID값, 상기 제2 ID값 또는 상기 제3 ID값 중에서 적어도 어느 하나의 ID값을 저장하고,
상기 IPv4 패킷을 생성하는 단계는, 상기 ID값, 상기 제1 ID값, 상기 제2 ID값 또는 상기 제3 ID값 중에서 어느 하나의 고유 ID값을 상기 IPv4 헤더에 삽입하는 패킷 변환 방법. - 제1 항에 있어서,
상기 데이터베이스에 저장하는 단계는, IPv6 패킷의 필드 중에서 송신지/목적지에 관련된 필드들을 조합하여 생성한 송신지/목적지 조합에 대응하는 큐(queue)에 ID값을 저장하는 패킷 변환 방법. - 제3 항에 있어서,
상기 송신지/목적지 조합은 IPv6 패킷의 프로토콜 번호 필드를 더 포함하는 패킷 변환 방법. - 제3 항에 있어서,
상기 데이터베이스를 갱신하는 단계는, 상기 송신지/목적지 조합에 대응하는 큐가 존재하지 않으면 대응하는 새로운 큐를 생성하여 ID값을 저장하는 패킷 변환 방법. - 제5 항에 있어서,
상기 데이터베이스를 갱신하는 단계는, 상기 송신지/목적지 조합에 대응하는 큐에 저장하고자 하는 ID값과 동일한 ID값이 존재하면, 기 설정된 지정기간 또는 지정횟수 이내일 경우에 랜덤한 ID값을 다시 생성하는 패킷 변환 방법. - IPv6 패킷에서 ID값을 추출하는 ID 추출부와,
상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이면 랜덤한 제1 ID값을 생성하고, 상기 IPv6 패킷에 ID값이 존재하지 않고 TCP 싱크 패킷이 아니면 규칙적으로 변화하는 제2 ID값을 생성하는 ID 생성부와,
상기 ID 추출부에 의해 추출된 ID값, 상기 제1 ID값 또는 상기 제2 ID값 중에서 적어도 어느 하나의 ID값을 저장하는 ID 데이터베이스와,
상기 ID값, 상기 제1 ID값, 또는 상기 제2 ID값 중에서 어느 하나의 고유 ID값을 IPv4 헤더에 삽입하여 IPv4 패킷을 생성하는 ID 삽입부를 포함하는 패킷 변환 장치. - 제7 항에 있어서,
상기 ID 생성부는, 상기 제1 ID값이 상기 ID 데이터베이스 내에 존재하면 랜덤한 제3 ID값을 다시 생성하며,
상기 ID 데이터베이스는, 상기 제1 ID값, 상기 제2 ID값 또는 상기 제3 ID값 중에서 적어도 어느 하나의 ID값을 저장하고,
상기 ID 삽입부는, 상기 ID값, 상기 제1 ID값, 상기 제2 ID값 또는 상기 제3 ID값 중에서 어느 하나의 고유 ID값을 상기 IPv4 헤더에 삽입하는 패킷 변환 장치. - 제7 항에 있어서,
상기 ID 데이터베이스는, IPv6 패킷의 필드 중에서 송신지/목적지에 관련된 필드들을 조합하여 생성한 송신지/목적지 조합에 대응하는 큐(queue)에 ID값을 저장하는 패킷 변환 장치. - 제9 항에 있어서,
상기 송신지/목적지 조합은 IPv6 패킷의 프로토콜 번호 필드를 더 포함하는 패킷 변환 장치. - 제9 항에 있어서,
상기 ID 데이터베이스는, 상기 송신지/목적지 조합에 대응하는 큐가 존재하지 않으면 대응하는 새로운 큐를 생성하여 ID값을 저장하는 패킷 변환 장치. - 제11 항에 있어서,
상기 ID 생성부는, 상기 송신지/목적지 조합에 대응하는 큐에 저장하고자 하는 ID값과 동일한 ID값이 존재하면, 기 설정된 지정기간 또는 지정횟수 이내일 경우에 랜덤한 ID값을 다시 생성하는 패킷 변환 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150115529A KR102112317B1 (ko) | 2015-08-17 | 2015-08-17 | 패킷 변환 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150115529A KR102112317B1 (ko) | 2015-08-17 | 2015-08-17 | 패킷 변환 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170021121A KR20170021121A (ko) | 2017-02-27 |
KR102112317B1 true KR102112317B1 (ko) | 2020-05-18 |
Family
ID=58315755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150115529A KR102112317B1 (ko) | 2015-08-17 | 2015-08-17 | 패킷 변환 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102112317B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210050874A (ko) * | 2019-10-29 | 2021-05-10 | 삼성전자주식회사 | Dns 쿼리-응답 시간 단축 방법 및 이를 지원하는 전자 장치 |
KR20220157560A (ko) | 2021-05-21 | 2022-11-29 | (주)전진 | 디젤 차량용 요소수 탱크 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040141513A1 (en) | 2003-01-10 | 2004-07-22 | Ryuichi Takechi | Address translation device |
JP2008277884A (ja) | 2007-04-25 | 2008-11-13 | Oki Electric Ind Co Ltd | パケット変換装置、パケット変換方法及びパケット変換プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050030288A (ko) | 2003-09-25 | 2005-03-30 | 삼성전자주식회사 | Ip 패킷의 버전을 변환하는 장치 및 방법 |
-
2015
- 2015-08-17 KR KR1020150115529A patent/KR102112317B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040141513A1 (en) | 2003-01-10 | 2004-07-22 | Ryuichi Takechi | Address translation device |
JP2008277884A (ja) | 2007-04-25 | 2008-11-13 | Oki Electric Ind Co Ltd | パケット変換装置、パケット変換方法及びパケット変換プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20170021121A (ko) | 2017-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10771342B2 (en) | Encoding and verifying network intents for stateful networks | |
US7675854B2 (en) | System and method for an adaptive TCP SYN cookie with time validation | |
CN105991655B (zh) | 用于缓解基于邻居发现的拒绝服务攻击的方法和装置 | |
US20050240989A1 (en) | Method of sharing state between stateful inspection firewalls on mep network | |
EP2632089A1 (en) | Name-database server, name-resolution system, entry-search method, and entry-search program | |
US7984495B1 (en) | Method and an apparatus to identify security association of virtual private network tunnels | |
US11876786B2 (en) | Protocol obfuscation in moving target defense | |
CN102790807A (zh) | 域名解析代理方法和系统、域名解析代理服务器 | |
JP6793056B2 (ja) | 通信装置及びシステム及び方法 | |
EP2632090A1 (en) | Name-database server, name-resolution system, entry-search method, and entry-search program | |
EP3442195B1 (en) | Reliable and secure parsing of packets | |
JP2020017809A (ja) | 通信装置及び通信システム | |
KR102112317B1 (ko) | 패킷 변환 방법 및 장치 | |
Bock et al. | Even censors have a backup: Examining china's double https censorship middleboxes | |
CN111212033A (zh) | 基于组合式网络爬虫防御技术的页面显示方法、装置和电子设备 | |
CN106161662A (zh) | 一种生成网际协议地址前缀的方法和装置 | |
KR101772681B1 (ko) | 방화벽 장치 및 그의 구동방법 | |
CN116055586B (zh) | 分片报文的匹配方法、路由器及存储介质 | |
RU2586840C1 (ru) | Способ обработки дейтаграмм сетевого трафика для скрытия корреспондирующих пар абонентов информационно-телекоммуникационных систем | |
EP2847933B1 (en) | Methods, systems, and computer readable media for combining ip fragmentation evasion techniques | |
CN105471839B (zh) | 一种判断路由器数据是否被窜改的方法 | |
Drzymała et al. | Network steganography in the DNS protocol | |
Szczypiorski et al. | Network steganography in the DNS protocol | |
Zou et al. | Advanced routing worm and its security challenges | |
Llamas et al. | An Evaluation Framework for the Analysis of Covert Channels in the TCP/IP Protocol Suite. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |