KR20140125159A - Bbs 구조에서 패킷의 처리 방법 - Google Patents

Bbs 구조에서 패킷의 처리 방법 Download PDF

Info

Publication number
KR20140125159A
KR20140125159A KR1020130042970A KR20130042970A KR20140125159A KR 20140125159 A KR20140125159 A KR 20140125159A KR 1020130042970 A KR1020130042970 A KR 1020130042970A KR 20130042970 A KR20130042970 A KR 20130042970A KR 20140125159 A KR20140125159 A KR 20140125159A
Authority
KR
South Korea
Prior art keywords
packet
fragmentation
header
received
processing
Prior art date
Application number
KR1020130042970A
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 KR1020130042970A priority Critical patent/KR20140125159A/ko
Priority to US14/050,566 priority patent/US20140317402A1/en
Publication of KR20140125159A publication Critical patent/KR20140125159A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

Abstract

BBS 구조에서 패킷의 처리 방법이 개시된다. 송신 패킷의 처리 방법은, 네트워크 계층으로부터 패킷을 수신하는 단계, 수신된 패킷이 제1 단편화가 수행된 패킷인 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계, 재조립된 패킷에 대한 암호화를 수행하는 단계, 암호화된 패킷에 대한 제2 단편화가 필요한 경우, 암호화된 패킷에 대한 제2 단편화를 수행하는 단계, 제2 단편화가 수행된 패킷에 헤더를 추가하는 단계 및 헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 포함한다. 따라서, BBS 구조에서 암호화 기능을 제공할 수 있다.

Description

BBS 구조에서 패킷의 처리 방법{METHOD FOR PROCESSING PACKET IN STRUCTURE OF BELOW BINARY STACK}
본 발명은 패킷(packet)의 처리 기술에 관한 것으로, 더욱 상세하게는 BBS(Below Binary Stack) 구조에서 패킷의 암호화 및 복호화를 위한 패킷의 처리 방법에 관한 것이다.
IP 네트워크(Internet Protocol network)에서 단말의 이동성을 제공하기 위해, 데이터에 IP 헤더(header)를 추가하는 터널링(tunneling) 방식을 사용한다. 원래의 IP 헤더에는 변하지 않는 고유의 IP 주소가 기록되고, 새롭게 추가되는 터널링을 위한 IP 헤더에는 현재 단말이 방문하고 있는 방문 네트워크에 대한 IP 주소가 기록된다. 터널링을 위해 추가된 IP 헤더의 정보(즉, 주소)는 단말이 다른 네트워크를 방문할 때마다 변경되지만, 원래의 IP 헤더의 정보(즉, 주소)는 변경되지 않는다.
이와 같은 환경에서, 단말이 교환하는 정보에 대해 보안 기능을 제공하기 위해 BBS(Below Binary Stack) 구조에서 암호화 기능을 제공할 수 있다. 그러나 BBS는 TCP/IP(Transmission Control Protocol/Internet Protocol) 스택(stack)과 별개로 동작하기 때문에, 패킷의 단편화/재조립과 암호화/복호화에 대한 순서 불일치 현상이 발생하게 되며, 이로 인해 패킷을 이용한 통신을 수행할 수 없게 되는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 단편화된 패킷(packet)의 재조립을 통해 송신 패킷의 암호화 순서를 일치시키기 위한 송신 패킷의 처리 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 단편화된 패킷의 재조립을 통해 수신 패킷의 복호화 순서를 일치시키기 위한 수신 패킷의 처리 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 송신 패킷의 처리 방법은, 네트워크 계층으로부터 패킷을 수신하는 단계, 수신된 패킷이 제1 단편화가 수행된 패킷인 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계, 재조립된 패킷에 대한 암호화를 수행하는 단계, 암호화된 패킷에 대한 제2 단편화가 필요한 경우, 암호화된 패킷에 대한 제2 단편화를 수행하는 단계, 제2 단편화가 수행된 패킷에 헤더를 추가하는 단계 및 헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 포함한다.
여기서, 상기 네트워크 계층은 IP 계층일 수 있다.
여기서, 상기 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계는, 제1 단편화가 수행된 패킷을 큐에 저장하는 단계 및 제1 단편화가 수행된 모든 패킷이 큐에 저장된 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계를 더 포함할 수 있다.
여기서, 상기 재조립된 패킷에 대한 암호화를 수행하는 단계는, IPSec를 통한 암호화를 수행할 수 있다.
여기서, 상기 송신 패킷의 처리 방법은, 암호화된 패킷에 대한 제2 단편화가 필요하지 않은 경우, 암호화된 패킷에 헤더를 추가하는 단계 및 헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 더 포함할 수 있다.
여기서, 상기 제2 단편화가 수행된 패킷에 헤더를 추가하는 단계는, 터널링을 위해, 제2 단편화가 수행된 패킷을 캡슐화할 수 있다.
여기서, 상기 헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계는, 네트워크 간 연결된 터널을 통해 헤더가 추가된 패킷을 송신할 수 있다.
여기서, 상기 송신 패킷의 처리 방법은, 상기 네트워크 계층으로부터 수신된 패킷이 제1 단편화가 수행된 패킷이 아닌 경우, 수신된 패킷에 대한 암호화를 수행하는 단계, 암호화된 패킷에 대한 제2 단편화가 필요한 경우, 암호화된 패킷에 대한 제2 단편화를 수행하는 단계, 제2 단편화가 수행된 패킷에 헤더를 추가하는 단계 및 헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 더 포함할 수 있다.
여기서, 상기 수신된 패킷에 대한 암호화를 수행하는 단계는, IPSec를 통한 암호화를 수행할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 수신 패킷의 처리 방법은, 물리 계층으로부터 패킷을 수신하는 단계, 수신된 패킷의 헤더를 제거하는 단계, 헤더가 제거된 패킷이 제1 단편화가 수행된 패킷인 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계, 재조립된 패킷에 대한 복호화를 수행하는 단계, 복호화된 패킷에 대한 제2 단편화가 필요한 경우, 복호화된 패킷에 대한 제2 단편화를 수행하는 단계 및 제2 단편화가 수행된 패킷을 네트워크 계층으로 전송하는 단계를 포함한다.
여기서, 상기 물리 계층으로부터 패킷을 수신하는 단계는, 네트워크 간에 연결된 터널을 통해 패킷을 수신할 수 있다.
여기서, 상기 수신된 패킷의 헤더를 제거하는 단계는, 상기 터널을 통해 수신된 패킷을 디캡슐화할 수 있다.
여기서, 상기 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계는, 제1 단편화가 수행된 패킷을 큐에 저장하는 단계 및 제1 단편화가 수행된 모든 패킷이 큐에 저장된 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계를 더 포함할 수 있다.
여기서, 상기 재조립된 패킷에 대한 복호화를 수행하는 단계는, IPSec를 통한 복호화를 수행할 수 있다.
여기서, 상기 수신 패킷의 처리 방법은, 상기 복호화가 수행된 패킷에 대한 제2 단편화가 필요하지 않은 경우, 복호화된 패킷을 네트워크 계층으로 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 네트워크 계층은 IP 계층일 수 있다.
여기서, 상기 수신 패킷의 처리 방법은, 헤더가 제거된 패킷이 제1 단편화가 수행된 패킷이 아닌 경우, 헤더가 제거된 패킷에 대한 복호화를 수행하는 단계, 복호화가 수행된 패킷에 대한 제2 단편화가 필요한 경우, 복호화된 패킷에 대한 제2 단편화를 수행하는 단계 및 제2 단편화가 수행된 패킷을 네트워크 계층으로 전송하는 단계를 포함할 수 있다.
여기서, 상기 헤더가 제거된 패킷에 대한 복호화를 수행하는 단계는, IPSec를 통한 복호화를 수행할 수 있다.
본 발명에 의하면, 패킷(packet)을 송신하는 경우 단편화된 패킷을 재조립하는 과정을 추가함으로써 암호화 순서를 일치시킬 수 있고, 패킷을 수신하는 경우 단편화된 패킷을 재조립하는 과정을 추가함으로써 복호화 순서를 일치시킬 수 있다.
이와 같이, 단편화된 패킷을 재조립을 통해 패킷의 암호화/복호화 순서를 일치시킴으로써, BBS(Below Binary Stack) 구조에서 암호화 기능을 제공할 수 있다.
도 1은 단말의 이동성을 제공하기 위한 터널링 방식을 도시한 개념도이다.
도 2는 IP 터널링 방식을 통해 캡슐화된 패킷에 대한 일 실시예를 도시한 블록도이다.
도 3은 IP 터널링 방식을 통해 캡슐화된 패킷에 대한 다른 실시예를 도시한 블록도이다.
도 4는 IP-UDP 터널링 방식을 통해 캡슐화된 패킷에 대한 일 실시예를 도시한 블록도이다.
도 5는 IP-UDP 터널링 방식을 통해 캡슐화된 패킷에 대한 다른 실시예를 도시한 블록도이다.
도 6은 IPSec 구현 방식 중 BITS 방식을 도시한 블록도이다.
도 7은 IPSec 구현 방식 중 BBS 방식을 도시한 블록도이다.
도 8은 BBS 구조에서 패킷 처리 과정을 도시한 개념도이다.
도 9는 본 발명의 일 실시예에 따른 BBS 구조에서 송신 패킷의 처리 방법을 도시한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 BBS 구조에서 수신 패킷의 처리 방법을 도시한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 패킷 처리 장치를 도시한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 단말의 이동성을 제공하기 위한 터널링(tunneling) 방식을 도시한 개념도이다.
IP(Internet Protocol) 네트워크(network)에서 단말의 이동성을 제공하기 위한 기술들의 대부분은 이동 중인 단말에 고유의 주소(permanent address)를 부여하여 터널링 방식으로 패킷(packet) 전송을 보장한다.
터널링 방식을 통한 패킷 전송의 경우, 이동 중인 단말은 자신에게 부여된 고유의 주소를 네트워크에 도달 가능한 주소로 항상 인식하고, 단말의 응용프로그램들은 고유의 주소를 사용하여 통신을 수행한다. 한편, 단말이 이동하여 다른 IP 네트워크로 진입함에 따라 변경되는 주소인 임시의 주소(temporary address)는 IP 패킷을 실어 나르기 위한 전송 수단으로 사용된다.
즉, 고유의 주소를 사용하는 응용프로그램은 단말이 현재 방문하고 있는 IP 네트워크를 통해 상대방 노드(node)까지 패킷을 전달하기 위해, 단말이 현재 방문 중인 IP 네트워크 정보, 상대방 노드의 IP 네트워크 정보를 사용하여 패킷을 터널링한다.
도 1을 참조하면, 네트워크 1(101)에 접속된 단말(20)은 IP 네트워크(100)를 통해 상대방 노드(10)와 통신을 하기 위해 터널 1(103)을 사용할 수 있다. 터널 1(103)은 단말(20)이 현재 접속된 네트워크 1(101)의 정보와 상대방 노드(10)가 접속된 IP 네트워크(100)의 정보를 기반으로 설정된 터널을 의미한다.
한편, 네트워크 1(101)에 접속된 단말(20)이 이동하여 네트워크 2(102)에 접속한 경우, 네트워트 2(102)에 접속된 단말(20)은 IP 네트워크(100)를 통해 상대방 노드(10)와 통신을 하기 위해 터널 2(104)를 사용할 수 있다. 터널 2(104)는 단말(20)이 현재 접속된 네트워크 2(102)의 정보와 상대방 노드(10)가 접속된 IP 네트워크(100)의 정보를 기반으로 설정된 터널을 의미한다.
여기서 네트워크는, 예를 들어, WiFi(Wireless Fidelity)와 같은 무선인터넷, WiBro(Wireless Broadband Internet) 또는 WiMax(World Interoperability for Microwave Access)와 같은 휴대인터넷, GSM(Global System for Mobile communication) 또는 CDMA(Code Division Multiple Access)와 같은 2G 이동통신망, WCDMA(Wideband Code Division Multiple Access) 또는 CDMA2000과 같은 3G 이동통신망, HSDPA(High Speed Downlink Packet Access) 또는 HSUPA(High Speed Uplink Packet Access)와 같은 3.5G 이동통신망, 및 LTE(Long Term Evolution)망 또는 LTE-Advanced망과 같은 4G 이동통신망 등을 포함할 수 있다.
여기서, 단말로 통신이 가능한 데스크탑 컴퓨터(Desktop Computer), 랩탑 컴퓨터(Laptop Computer), 태블릿(Tablet) PC, 무선전화기(Wireless Phone), 모바일폰(Mobile Phone), 스마트폰(Smart Phone), e-book 리더기, PMP(Portable Multimedia Player), 휴대용 게임기, 네비게이션(Navigation) 장치, 디지털 카메라(Digital Camera), DMB (Digital Multimedia Broadcasting) 재생기, 디지털 음성 녹음기(Digital Audio Recorder), 디지털 음성 재생기(Digital Audio Player), 디지털 영상 녹화기(Digital Picture Recorder), 디지털 영상 재생기(Digital Picture Player), 디지털 동영상 녹화기(Digital Video Recorder), 디지털 동영상 재생기(Digital Video Player) 등을 사용할 수 있다.
도 2는 IP 터널링 방식을 통해 캡슐화된 패킷에 대한 일 실시예를 도시한 블록도이고, 도 3은 IP 터널링 방식을 통해 캡슐화된 패킷에 대한 다른 실시예를 도시한 블록도이다.
도 2를 참조하면, 상대방 노드가 이동 단말에 패킷을 전송하는 경우, 상대방노드는 원본 패킷(201)에 외부 IP 헤더를 추가하고, 외부 IP 헤더가 추가된 패킷(202)을 이동 단말에 전송할 수 있다. 즉, 상대방 노드는 캡슐화(encapsulation)된 패킷(202)을 이동 단말에 전송할 수 있다.
도 3을 참조하면, 이동 단말이 상대방 노드에 패킷을 전송하는 경우, 이동 단말은 원본 패킷(203)에 외부 IP 헤더를 추가하고, 외부 IP 헤더가 추가된 패킷(204)을 상대방 노드에 전송할 수 있다. 즉, 이동 단말은 캡슐화된 패킷(204)을 상대방 노드에 전송할 수 있다.
도 4는 IP-UDP 터널링 방식을 통해 캡슐화된 패킷에 대한 일 실시예를 도시한 블록도이고, 도 5는 IP-UDP 터널링 방식을 통해 캡슐화된 패킷에 대한 다른 실시예를 도시한 블록도이다.
도 4를 참조하면, 상대방 노드가 이동 단말에 패킷을 전송하는 경우, 상대방노드는 원본 패킷(211)에 외부 IP 헤더를 추가하고, 외부 IP 헤더가 추가된 패킷(212)을 이동 단말에 전송할 수 있다. 즉, 상대방 노드는 캡슐화된 패킷(212)을 이동 단말에 전송할 수 있다.
도 5를 참조하면, 이동 단말이 상대방 노드에 패킷을 전송하는 경우, 이동 단말은 원본 패킷(213)에 외부 IP 헤더를 추가하고, 외부 IP 헤더가 추가된 패킷(214)을 상대방 노드에 전송할 수 있다. 즉, 이동 단말은 캡슐화된 패킷(214)을 상대방 노드에 전송할 수 있다.
여기서, permanent address는 상대방 노드 또는 이동 단말의 고유의 주소를 의미하고, temporary address는 상대방 노드 또는 이동 단말의 임시의 주소를 의미한다.
도 2 및 도 3에 도시된 패킷 구조는 IP over IP 터널링 방식에서 사용되는 패킷 구조이고, 도 4 및 도 5에 도시된 패킷 구조는 IP over IP-UDP(User Datagram Protocol) 터널링 방식에서 사용되는 패킷 구조이다.
IP over IP 방식은 네트워크가 NAT(Network Address Translation)를 사용하는 경우 또는 네트워크에 방화벽(firewall)이 구축되어 있는 경우 사용에 제약이 있다. 따라서, 네트워크가 NAT를 사용하는 경우 또는 네트워크에 방화벽이 구축되어 있는 경우, 일반적으로 IP over UDP 터널링 방식이 사용된다.
이와 같이 터널링 방식을 사용하여 단말의 이동성을 제공하는 환경에서도 데이터 보안에 대한 요구사항이 존재하며, 이 경우 데이터 보안은 IPSec(Internet Protocol Security)를 통해 제공할 수 있다. IPSec는 전송되는 IP 패킷에 대해 데이터 근원 인증, 무결성, 기밀성, 재전송 공격 방지 등의 기능을 제공하기 위해 사용된다.
IPSec를 적용하기 위한 구현 방식에는 BITS(Bump In The Stack) 방식과 BBS(Below Binary Stack) 방식이 존재한다. BITS 방식은 TCP/IP 스택(stack)의 소스 코드(source code)에 대한 접근이 가능한 경우에 TCP/IP 스택의 소스에 IPSec 기능을 추가하는 방식이다. 반면, BBS 방식은 TCP/IP 스택의 소스 코드에 접근할 수 없고 단지 TCP/IP 스택에 대한 바이너리(binary)만 사용할 수 있는 경우에 TCP/IP 스택의 바이너리 하단에 IPSec 기능을 추가하는 방식이다.
도 6은 IPSec 구현 방식 중 BITS 방식을 도시한 블록도이고, 도 7은 IPSec 구현 방식 중 BBS 방식을 도시한 블록도이다.
도 6을 참조하면, BITS 방식은 TCP/IP 스택 내부에 IPSec 기능을 제공하는 IP 보안 엔진(IP security Engine)(301)이 위치한다. 즉, BITS 방식에 의하면, TCP/IP 스택의 내부에 위치하는 IP 보안 엔진(301)을 통해 IPSec 기능을 제공할 수 있다.
도 7을 참조하면, BBS 방식은 TCP/IP 스택 외부에 IPSec 기능을 제공하는 IP 보안 엔진(302)이 위치한다. 즉, BBS 방식에 의하면, TCP/IP 스택의 외부에 위치하는 IP 보안 엔진(302)을 통해 IPSec 기능을 제공할 수 있다.
한편, IPSec와 패킷의 단편화/재조립에 대한 처리 순서는 정해져 있다. 즉, 패킷을 송신하는 경우, 먼저 IP 패킷에 대해 IPSec 암호화를 수행하고, 암호화가 수행된 패킷을 단편화하여 송신해야 한다. 패킷을 수신하는 경우, 먼저 단편화된 패킷에 대해 재조립을 수행하고, 재조립된 패킷에 대해 IPSec 복호화를 수행해야 한다.
그러나 BBS 방식에서는 IPSec와 TCP/IP 스택이 별개로 동작하기 때문에 IPSec와 패킷의 단편화/재조립에 대한 순서 불일치 현상이 발생하게 된다. 즉, BBS 방식에서 패킷을 송신하는 경우 단편화된 패킷에 대해 IPSec 암호화를 수행하게 되고, BBS 방식에서 패킷을 수신하는 경우 단편화된 패킷에 대해 IPSec 복호화를 수행하게 된다.
이와 같이, 패킷을 송신하는 경우 전체 패킷이 아닌 단편화된 패킷에 대해 IPSec 암호화를 수행하게 되면, 수신단에서는 패킷에 대한 재조립을 수행하지 않고 바로 IPSec 복호화를 수행하게 되므로, 복호화된 패킷은 또 다른 단편화된 패킷이므로 갈 곳을 잃게 되고, 결국 복호화된 패킷은 버려지게 된다.
반대로, 패킷을 수신하는 경우 단편화된 패킷에 대한 재조립을 수행하지 않고 IPSec 복호화를 수행하게 되면, 전체 패킷에 대해 암호화된 정보와 단편화된 패킷에 대한 복호화된 정보 간의 불일치가 발생하게 되므로, 결국 패킷 복호화에 실패하게 된다.
도 8은 BBS 구조에서 패킷 처리 과정을 도시한 개념도이다.
도 8을 참조하면, IPSec는 터널링 디바이스 드라이버(tunneling device driver)(400) 형태로 구현될 수 있다. 패킷을 송신하는 경우, 패킷에 대해 재조립(reassembly)을 수행할 수 있고(S401), 재조립된 패킷에 대해 IPSec 암호화(encrypt.)를 수행할 수 있고(S402), 암호화된 패킷에 대해 단편화(fragmentation)를 수행할 수 있고(S403), 단편화된 패킷에 대해 캡슐화(tunnel encap.)를 수행할 수 있다(S404).
반대로, 패킷을 수신하는 경우, 패킷에 대해 디캡슐화(tunnel decap.)를 수행할 수 있고(S405), 디캡슐화된 패킷에 대해 재조립(reassembly)을 수행할 수 있고(S406), 재조립된 패킷에 대해 IPSec 복호화(Decrypt.)를 수행할 수 있고(S407), 복호화된 패킷에 대해 단편화(fragmentation)를 수행할 수 있다(S408).
도 9는 본 발명의 일 실시예에 따른 BBS 구조에서 송신 패킷의 처리 방법을 도시한 흐름도이다.
도 9에 도시된 각 단계는 도 11에 도시된 패킷 처리 장치에서 수행될 수 있으며, 패킷 처리 장치는 통신 가능한 단말 또는 통신 가능한 단말의 일부를 의미할 수 있다.
도 9를 참조하면, 패킷 처리 장치는 상위 계층(layer)으로부터 패킷을 수신할 수 있다(S501). 여기서, 상위 계층은 OSI(Open System Interconnection) 모델(model)에서 네트워크 계층을 의미할 수 있고, 또는 TCP/IP 모델에서 IP 계층을 의미할 수 있다.
그 후, 패킷 처리 장치는 IPSec 기능이 활성화되어 있는지 판단할 수 있다(S502). 즉, 상위 계층으로부터 수신한 패킷에 대한 IPSec 기능이 활성화되어 있지 않은 경우, 패킷 처리 장치는 송신 패킷에 대한 처리를 종료할 수 있다. 한편, 상위 계층으로부터 수신한 패킷에 대한 IPSec 기능이 활성화되어 있는 경우, 패킷 처리 장치는 상위 계층으로부터 수신된 패킷이 단편화가 수행된 패킷에 해당하는지 판단할 수 있다(S503).
상위 계층으로부터 수신된 패킷이 단편화가 수행된 패킷에 해당하는 경우, 패킷 처리 장치는 다음 단계로 단계 S504, 단계 S505, 단계 S506 및 단계 S507을 순차적으로 수행할 수 있다. 반면, 상위 계층으로부터 수신된 패킷이 단편화가 수행되지 않은 패킷에 해당하는 경우, 패킷 처리 장치는 다음 단계로 단계 S507을 수행할 수 있다. 즉, 패킷 처리 장치는 단편화가 수행되지 않은 패킷에 대해서는 재조립 과정을 수행하지 않을 수 있다.
상위 계층으로부터 수신된 패킷이 단편화가 수행된 패킷에 해당하는 경우, 패킷 처리 장치는 상위 계층으로부터 수신된 패킷을 큐(queue)에 저장할 수 있고(S504), 단편화가 수행된 모든 패킷이 큐에 저장되었는지 여부를 판단할 수 있다(S505). 즉, 미리 정의된 시간(예를 들어, 단편화가 수행된 모든 패킷이 전송될 것으로 예측된 시간)이 지난 후에도 단편화가 수행된 모든 패킷이 큐에 저장되지 않은 경우, 패킷 처리 장치는 송신 패킷에 대한 처리를 종료할 수 있다. 한편, 미리 정의된 시간 내에 단편화가 수행된 모든 패킷이 큐에 저장된 경우, 패킷 처리 장치는 단편화가 수행된 패킷에 대한 재조립을 수행할 수 있다(S506).
그 후, 패킷 처리 장치는 재조립 과정을 거친 패킷(즉, 단계 S504, 단계 S505 및 단계 S506을 거친 패킷) 또는 재조립 과정을 거치지 않은 패킷(즉, 단계 S504, 단계 S505 및 단계 S506을 거치지 않은 패킷)에 대한 암호화를 수행할 수 있다(S507). 이때, 패킷 처리 장치는 IPSec을 통한 암호화를 수행할 수 있다. 패킷에 대한 암호화를 수행한 후, 패킷 처리 장치는 암호화된 패킷에 대한 단편화가 필요한지 여부를 판단할 수 있다(S508). 암호화된 패킷에 대한 단편화가 필요한 경우, 패킷 처리 장치는 다음 단계로 단계 S509, 단계 S510을 순차적으로 수행할 수 있다. 한편, 암호화된 패킷에 대한 단편화가 필요하지 않은 경우, 패킷 처리 장치는 다음 단계로 S510을 수행할 수 있다. 즉, 패킷 처리 장치는 단편화가 필요 없는 암호화된 패킷에 대해서는 단편화 과정을 수행하지 않을 수 있다.
암호화된 패킷에 대한 단편화가 필요한 경우, 패킷 처리 장치는 암호화된 패킷에 대한 단편화를 수행할 수 있다(S509). 그 후, 패킷 처리 장치는 단편화 과정을 거친 패킷(즉, 단계 S509를 거친 패킷) 또는 단편화 과정을 거치지 않은 패킷(즉, 단계 S509를 거치지 않은 패킷)에 헤더를 추가할 수 있다(S510). 즉, 단계 S510에서, 패킷 처리 장치는 터널링을 위해 패킷을 캡슐화할 수 있다.
그 후, 패킷 처리 장치는 헤더가 추가된 패킷(즉, 캡슐화된 패킷)을 하위 계층을 통해 송신할 수 있다(S511). 여기서, 하위 계층은 물리 계층을 의미하는 것으로, 네트워크 간 연결된 터널(tunnel)을 의미할 수 있다. 즉, 패킷 처리 장치는 네트워크 간 연결된 터널을 통해 헤더가 추가된 패킷을 송신할 수 있다.
도 10은 본 발명의 일 실시예에 따른 BBS 구조에서 수신 패킷의 처리 방법을 도시한 흐름도이다.
도 10에 도시된 각 단계는 도 11에 도시된 패킷 처리 장치에서 수행될 수 있으며, 패킷 처리 장치는 통신 가능한 단말 또는 통신 가능한 단말의 일부를 의미할 수 있다.
패킷 처리 장치는 하위 계층으로부터 패킷을 수신할 수 있다(S601). 여기서, 하위 계층은 물리 계층을 의미하는 것으로, 네트워크 간 연결된 터널을 의미할 수 있다. 즉, 패킷 처리 장치는 네트워크 간에 연결된 터널을 통해 패킷을 수신할 수 있다. 패킷 처리 장치는 하위 계층으로부터 수신된 패킷의 헤더를 제거할 수 있다(S602). 즉, 단계 S602에서, 패킷 처리 장치는 터널을 통해 수신된 패킷을 디캡슐화(decapsulation)할 수 있다.
그 후, 패킷 처리 장치는 IPSec 기능이 활성화되어 있는지 판단할 수 있다(S603). 즉, 하위 계층으로부터 수신한 패킷에 대한 IPSec 기능이 활성화되어 있지 않은 경우, 패킷 처리 장치는 수신 패킷에 대한 처리를 종료할 수 있다. 한편, 하위 계층으로부터 수신한 패킷에 대한 IPSec 기능이 활성화되어 있는 경우, 패킷 처리 장치는 하위 계층으로부터 수신된 패킷이 단편화가 수행된 패킷에 해당하는지 판단할 수 있다(S604).
하위 계층으로부터 수신된 패킷이 단편화가 수행된 패킷에 해당하는 경우, 패킷 처리 장치는 다음 단계로 단계 S605, 단계 S606, 단계 S607 및 단계 S608을 순차적으로 수행할 수 있다. 반면, 하위 계층으로부터 수신된 패킷이 단편화가 수행되지 않은 패킷에 해당하는 경우, 패킷 처리 장치는 다음 단계로 단계 S608을 수행할 수 있다. 즉, 패킷 처리 장치는 단편화가 수행되지 않은 패킷에 대해서는 재조립 과정을 수행하지 않을 수 있다.
하위 계층으로부터 수신된 패킷이 단편화가 수행된 패킷에 해당하는 경우, 패킷 처리 장치는 하위 계층으로부터 수신된 패킷을 큐에 저장할 수 있고(S605), 단편화가 수행된 모든 패킷이 큐에 저장되었는지 여부를 판단할 수 있다(S606). 즉, 미리 정의된 시간(즉, 단편화가 수행된 모든 패킷이 전송될 것으로 예측된 시간)이 지난 후에도 단편화가 수행된 모든 패킷이 큐에 저장되지 않은 경우, 패킷 처리 장치는 수신 패킷에 대한 처리를 종료할 수 있다. 한편, 미리 정의된 시간 내에 단편화가 수행된 모든 패킷이 큐에 저장된 경우, 패킷 처리 장치는 단편화가 수행된 패킷에 대한 재조립을 수행할 수 있다(S607).
그 후, 패킷 처리 장치는 재조립 과정을 거친 패킷(즉, 단계 S605, 단계 S606 및 단계 S607을 거친 패킷) 또는 재조립 과정을 거치지 않은 패킷(즉, 단계 S605, 단계 S606 및 단계 S607을 거치지 않은 패킷)에 대한 복호화를 수행할 수 있다(S608). 이때, 패킷 처리 장치는 IPSec을 통한 복호화를 수행할 수 있다. 패킷에 대한 복호화를 수행한 후, 패킷 처리 장치는 복호화된 패킷에 대한 단편화가 필요한지 여부를 판단할 수 있다(S609). 복호화된 패킷에 대한 단편화가 필요한 경우, 패킷 처리 장치는 다음 단계로 단계 S610, 단계 S611을 순차적으로 수행할 수 있다. 한편, 복호화된 패킷에 대한 단편화가 필요하지 않은 경우, 패킷 처리 장치는 다음 단계로 S611을 수행할 수 있다. 즉, 패킷 처리 장치는 단편화가 필요 없는 복호화된 패킷에 대해서는 단편화 과정을 수행하지 않을 수 있다.
복호화된 패킷에 대한 단편화가 필요한 경우, 패킷 처리 장치는 복호화된 패킷에 대한 단편화를 수행할 수 있다(S610). 그 후, 패킷 처리 장치는 단편화 과정을 거친 패킷(즉, 단계 S610를 거친 패킷) 또는 단편화 과정을 거치지 않은 패킷(즉, 단계 S610를 거치지 않은 패킷)을 상위 계층으로 전송할 수 있다(S611). 여기서, 상위 계층은 OSI 모델에서 네트워크 계층을 의미할 수 있고, 또는 TCP/IP 모델에서 IP 계층을 의미할 수 있다.
본 발명에 따른 송신 패킷의 처리 방법 및 수신 패킷의 처리 방법은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 11은 본 발명의 일 실시예에 따른 패킷 처리 장치를 도시한 블록도이다.
도 11을 참조하면, 패킷 처리 장치(30)는 처리부(31) 및 저장부(32)를 포함할 수 있다.
패킷 처리 장치(30)는 통신 가능한 단말 또는 통신 가능한 단말의 일부를 의미할 수 있다. 처리부(31)는 상기에서 설명한 도 9의 각 단계 및 도 10의 각 단계를 수행할 수 있다.
구체적으로 송신 패킷을 처리하는 경우, 처리부(31)는 네트워크 계층으로부터 패킷을 수신할 수 있다. 여기서, 네트워크 계층은 TCP/IP 모델에서 IP 계층을 의미할 수 있다. 처리부(31)는 수신된 패킷에 대한 IPSec 기능의 활성화 유무에 따라 패킷의 암호화를 수행할 수 있다. 즉, 처리부(31)는 수신된 패킷에 대한 IPSec 기능이 활성화된 경우 패킷에 대한 암호화를 수행할 수 있고, 수신된 패킷에 대한 IPSec 기능이 활성화되지 않은 경우 패킷에 대한 암호화를 수행하지 않을 수 있다.
처리부(31)는 네트워크 계층으로부터 수신된 패킷이 단편화가 수행된 패킷인 경우, 단편화가 수행된 패킷에 대한 재조립을 수행할 수 있다. 이때, 처리부(31)는 네트워크 계층으로부터 수신된 패킷을 큐에 저장할 수 있고, 단편화가 수행된 모든 패킷이 큐에 저장된 경우 단편화가 수행된 패킷에 대한 재조립을 수행할 수 있다.
한편, 처리부(31)는 네트워크 계층으로부터 수신된 패킷이 단편화가 수행되지 않은 패킷인 경우, 패킷에 대한 재조립 과정을 수행하지 않을 수 있다.
처리부(31)는 재조립 과정을 수행한 패킷 또는 재조립 과정을 수행하지 않은 패킷 대한 암호화를 수행할 수 있으며, 이때 IPSec를 통한 암호화를 수행할 수 있다. 처리부(31)는 암호화된 패킷에 대한 추가적인 단편화가 필요한 경우, 암호화된 패킷에 대한 추가 단편화를 수행할 수 있다. 한편, 처리부(31)는 암호화된 패킷에 대한 추가적인 단편화가 필요하지 않은 경우, 암호화된 패킷에 대한 추가 단편화를 수행하지 않을 수 있다.
처리부(31)는 암호화된 패킷 중 추가적인 단편화가 수행된 패킷 또는 추가적인 단편화가 수행되지 않은 패킷에 헤더를 추가할 수 있다. 즉, 처리부(31)는 터널링을 위해 패킷을 캡슐화할 수 있다. 처리부(31)는 헤더가 추가된 패킷을 물리 계층을 통해 송신할 수 있다. 여기서, 물리 계층은 네트워크 간 연결된 터널을 의미할 수 있다.
구체적으로 수신 패킷을 처리하는 경우, 처리부(31)는 물리 계층으로부터 패킷을 수신할 수 있다. 여기서, 물리 계층은 네트워크 간 연결된 터널을 의미할 수 있다. 처리부(31)는 물리 계층으로부터 수신된 패킷의 헤더를 제거할 수 있다. 즉, 처리부(31)는 터널을 통해 수신된 패킷을 디캡슐화할 수 있다.
처리부(31)는 수신된 패킷에 대한 IPSec 기능의 활성화 유무에 따라 패킷의 복호화를 수행할 수 있다. 즉, 처리부(31)는 수신된 패킷에 대한 IPSec 기능이 활성화된 경우 패킷에 대한 복호화를 수행할 수 있고, 수신된 패킷에 대한 IPSec 기능이 활성화되지 않은 경우 패킷에 대한 복호화를 수행하지 않을 수 있다.
처리부(31)는 헤더가 제거된 패킷이 단편화가 수행된 패킷에 해당하는 경우, 단편화가 수행된 패킷에 대한 재조립을 수행할 수 있다. 이때, 처리부(31)는 단편화가 수행된 패킷을 큐에 저장할 수 있고, 단편화가 수행된 모든 패킷이 큐에 저장된 경우 단편화가 수행된 패킷에 대한 재조립을 수행할 수 있다.
한편, 처리부(31)는 헤더가 제거된 패킷이 단편화가 수행되지 않은 패킷에 해당하는 경우, 패킷에 대한 재조립 과정을 수행하지 않을 수 있다.
처리부(31)는 재조립 과정을 수행한 패킷 또는 재조립 과정을 수행하지 않은 패킷 대한 복호화를 수행할 수 있으며, 이때 IPSec를 통한 복호화를 수행할 수 있다. 처리부(31)는 복호화된 패킷에 대한 추가적인 단편화가 필요한 경우, 복호화된 패킷에 대한 추가 단편화를 수행할 수 있다. 한편, 처리부(31)는 복호화된 패킷에 대한 추가적인 단편화가 필요하지 않은 경우, 복호화된 패킷에 대한 추가 단편화를 수행하지 않을 수 있다.
처리부(31)는 추가적인 단편화가 수행된 패킷 또는 추가적인 단편화가 수행되지 않은 패킷을 네트워크 계층으로 전송할 수 있다. 여기서, 네트워크 계층은 TCP/IP 모델에서 IP 계층을 의미할 수 있다.
여기서, 처리부(31)는 프로세서(processor) 및 메모리(memory)를 포함할 수 있다. 프로세서는 범용의 프로세서(예를 들어, CPU(Central Processing Unit) 및/또는 GPU(Graphics Processing Unit) 등) 또는 송신 패킷의 처리 방법 및/또는 수신 패킷의 처리 방법의 수행을 위한 전용의 프로세서를 의미할 수 있다. 메모리에는 송신 패킷의 처리 방법 및/또는 수신 패킷의 처리 방법의 수행을 위한 프로그램 코드(program code)가 저장될 수 있다. 즉, 프로세서는 메모리에 저장된 프로그램 코드를 독출할 수 있고, 독출된 프로그램 코드를 기반으로 송신 패킷의 처리 방법과 수신 패킷의 처리 방법의 각 단계를 수행할 수 있다.
저장부(32)는 처리부(31)에서 처리되는 정보 및 처리된 정보를 저장할 수 있다. 즉, 저장부(32)는 단편화된 패킷, 재조립된 패킷, 암호화된 패킷, 복호화된 패킷, 캡슐화된 패킷, 디캡슐화된 패킷 등을 저장할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
30: 패킷 처리 장치
31: 처리부
32: 저장부

Claims (18)

  1. 패킷(packet) 처리 장치에서 수행되는 송신 패킷의 처리 방법에 있어서,
    네트워크 계층(network layer)으로부터 패킷을 수신하는 단계;
    수신된 패킷이 제1 단편화가 수행된 패킷인 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계;
    재조립된 패킷에 대한 암호화를 수행하는 단계;
    암호화된 패킷에 대한 제2 단편화가 필요한 경우, 암호화된 패킷에 대한 제2 단편화를 수행하는 단계;
    제2 단편화가 수행된 패킷에 헤더(header)를 추가하는 단계; 및
    헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 포함하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  2. 청구항 1에 있어서,
    상기 네트워크 계층은 IP(Internet Protocol) 계층인 것을 특징으로 하는 송신 패킷의 처리 방법.
  3. 청구항 1에 있어서,
    상기 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계는,
    제1 단편화가 수행된 패킷을 큐(queue)에 저장하는 단계; 및
    제1 단편화가 수행된 모든 패킷이 큐에 저장된 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계를 더 포함하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  4. 청구항 1에 있어서,
    상기 재조립된 패킷에 대한 암호화를 수행하는 단계는,
    IPSec(Internet Protocol Security)를 통한 암호화를 수행하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  5. 청구항 1에 있어서,
    상기 송신 패킷의 처리 방법은,
    암호화된 패킷에 대한 제2 단편화가 필요하지 않은 경우, 암호화된 패킷에 헤더를 추가하는 단계; 및
    헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 더 포함하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  6. 청구항 1에 있어서,
    상기 제2 단편화가 수행된 패킷에 헤더를 추가하는 단계는,
    터널링(tunneling)을 위해, 제2 단편화가 수행된 패킷을 캡슐화(encapsulate)하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  7. 청구항 1에 있어서,
    상기 헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계는,
    네트워크 간 연결된 터널(tunnel)을 통해 헤더가 추가된 패킷을 송신하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  8. 청구항 1에 있어서,
    상기 송신 패킷의 처리 방법은,
    상기 네트워크 계층으로부터 수신된 패킷이 제1 단편화가 수행된 패킷이 아닌 경우, 수신된 패킷에 대한 암호화를 수행하는 단계;
    암호화된 패킷에 대한 제2 단편화가 필요한 경우, 암호화된 패킷에 대한 제2 단편화를 수행하는 단계;
    제2 단편화가 수행된 패킷에 헤더를 추가하는 단계; 및
    헤더가 추가된 패킷을 물리 계층을 통해 송신하는 단계를 더 포함하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  9. 청구항 8에 있어서,
    상기 수신된 패킷에 대한 암호화를 수행하는 단계는,
    IPSec를 통한 암호화를 수행하는 것을 특징으로 하는 송신 패킷의 처리 방법.
  10. 패킷(packet) 처리 장치에서 수행되는 수신 패킷의 처리 방법에 있어서,
    물리 계층(layer)으로부터 패킷을 수신하는 단계;
    수신된 패킷의 헤더(header)를 제거하는 단계;
    헤더가 제거된 패킷이 제1 단편화가 수행된 패킷인 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계;
    재조립된 패킷에 대한 복호화를 수행하는 단계;
    복호화된 패킷에 대한 제2 단편화가 필요한 경우, 복호화된 패킷에 대한 제2 단편화를 수행하는 단계; 및
    제2 단편화가 수행된 패킷을 네트워크(network) 계층으로 전송하는 단계를 포함하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  11. 청구항 10에 있어서,
    상기 물리 계층으로부터 패킷을 수신하는 단계는,
    네트워크 간에 연결된 터널(tunnel)을 통해 패킷을 수신하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  12. 청구항 11에 있어서,
    상기 수신된 패킷의 헤더를 제거하는 단계는,
    상기 터널을 통해 수신된 패킷을 디캡슐화(decapsulate)하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  13. 청구항 10에 있어서,
    상기 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계는,
    제1 단편화가 수행된 패킷을 큐(queue)에 저장하는 단계; 및
    제1 단편화가 수행된 모든 패킷이 큐에 저장된 경우, 제1 단편화가 수행된 패킷에 대한 재조립을 수행하는 단계를 더 포함하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  14. 청구항 10에 있어서,
    상기 재조립된 패킷에 대한 복호화를 수행하는 단계는,
    IPSec(Internet Protocol Security)를 통한 복호화를 수행하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  15. 청구항 10에 있어서,
    상기 수신 패킷의 처리 방법은,
    상기 복호화가 수행된 패킷에 대한 제2 단편화가 필요하지 않은 경우, 복호화된 패킷을 네트워크 계층으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  16. 청구항 10에 있어서,
    상기 네트워크 계층은 IP(Internet Protocol) 계층인 것을 특징으로 하는 수신 패킷의 처리 방법.
  17. 청구항 10에 있어서,
    상기 수신 패킷의 처리 방법은,
    헤더가 제거된 패킷이 제1 단편화가 수행된 패킷이 아닌 경우, 헤더가 제거된 패킷에 대한 복호화를 수행하는 단계;
    복호화가 수행된 패킷에 대한 제2 단편화가 필요한 경우, 복호화된 패킷에 대한 제2 단편화를 수행하는 단계; 및
    제2 단편화가 수행된 패킷을 네트워크 계층으로 전송하는 단계를 포함하는 것을 특징으로 하는 수신 패킷의 처리 방법.
  18. 청구항 17에 있어서,
    상기 헤더가 제거된 패킷에 대한 복호화를 수행하는 단계는,
    IPSec를 통한 복호화를 수행하는 것을 특징으로 하는 수신 패킷의 처리 방법.
KR1020130042970A 2013-04-18 2013-04-18 Bbs 구조에서 패킷의 처리 방법 KR20140125159A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130042970A KR20140125159A (ko) 2013-04-18 2013-04-18 Bbs 구조에서 패킷의 처리 방법
US14/050,566 US20140317402A1 (en) 2013-04-18 2013-10-10 Method of processing packet in below binary stack structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130042970A KR20140125159A (ko) 2013-04-18 2013-04-18 Bbs 구조에서 패킷의 처리 방법

Publications (1)

Publication Number Publication Date
KR20140125159A true KR20140125159A (ko) 2014-10-28

Family

ID=51729954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130042970A KR20140125159A (ko) 2013-04-18 2013-04-18 Bbs 구조에서 패킷의 처리 방법

Country Status (2)

Country Link
US (1) US20140317402A1 (ko)
KR (1) KR20140125159A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10757220B2 (en) * 2018-12-11 2020-08-25 At&T Intellectual Property I, L.P. Estimating video quality of experience metrics from encrypted network traffic
CN109474547B (zh) * 2019-01-11 2021-06-15 广东省气象公共服务中心(广东气象影视宣传中心) 船载网关通信系统、船载网关通信方法及电子设备
CN109996095B (zh) * 2019-03-28 2023-02-24 湖南快乐阳光互动娱乐传媒有限公司 一种网络视频点播防止盗链播放的方法、系统及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060262808A1 (en) * 2005-04-21 2006-11-23 Victor Lin Methods and Systems for Fragmentation and Reassembly for IP Tunnels in Hardware Pipelines
FR2969881B1 (fr) * 2010-12-22 2012-12-28 Thales Sa Procede et dispositif de transmission de donnees entre deux reseaux securises de type ethernet a travers un reseau route

Also Published As

Publication number Publication date
US20140317402A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
JP5937191B2 (ja) 情報を送信及び受信する方法、並びに関連するiot装置
JP5347067B2 (ja) 暗号化エラー検出および回復のためのシステム、方法、および装置
CN109714292B (zh) 传输报文的方法与装置
US9900259B2 (en) Data transmission method and related apparatus to compress data to be transmitted on a network
JP2012531778A5 (ko)
US9769116B2 (en) Encapsulating traffic while preserving packet characteristics
US9055036B2 (en) Method and apparatus for transmitting a user datagram protocol message that is larger than a defined size
JP2009246801A (ja) 分割されたパケットの暗号化方法、分割暗号化パケットの復号方法、暗号化装置及びプログラム
TW201820839A (zh) 資料傳輸方法
EP1687998B1 (en) Method and apparatus to inline encryption and decryption for a wireless station
CN110636551B (zh) 避免报文分片的方法和装置
US9319878B2 (en) Streaming alignment of key stream to unaligned data stream
KR20140125159A (ko) Bbs 구조에서 패킷의 처리 방법
Varadarajan et al. Implementing IPsec in wireless sensor networks
CN113170355A (zh) 移动通信中的上行链路数据压缩
CN108966217B (zh) 一种保密通信方法、移动终端及保密网关
US9397831B2 (en) Encrypted communication device and method for performing encrypted communication while reducing traffic in communication system
US20230239279A1 (en) Method and apparatus for security communication
KR102538061B1 (ko) 의료 정보 보안 데이터 전송 시스템 및 전송 방법
EP3235188B1 (en) Method for resolving a host name, related system and computer program product
CN113497788A (zh) 数据处理方法及装置
CN113826335B (zh) 提高通信系统安全性的机制
CN112470532A (zh) 侧行通信的方法和终端设备
CN103226672B (zh) As2.0脚本开发的swf文件的批量加密方法及装置
WO2018058444A1 (zh) 一种数据加密的方法及装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid