KR101922980B1 - 네트워크 장치 및 그의 패킷 송신 방법 - Google Patents

네트워크 장치 및 그의 패킷 송신 방법 Download PDF

Info

Publication number
KR101922980B1
KR101922980B1 KR1020170014890A KR20170014890A KR101922980B1 KR 101922980 B1 KR101922980 B1 KR 101922980B1 KR 1020170014890 A KR1020170014890 A KR 1020170014890A KR 20170014890 A KR20170014890 A KR 20170014890A KR 101922980 B1 KR101922980 B1 KR 101922980B1
Authority
KR
South Korea
Prior art keywords
packet
size
pmtu
encryption
encrypted
Prior art date
Application number
KR1020170014890A
Other languages
English (en)
Other versions
KR20180090019A (ko
Inventor
김용술
Original Assignee
주식회사 시큐아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시큐아이 filed Critical 주식회사 시큐아이
Priority to KR1020170014890A priority Critical patent/KR101922980B1/ko
Publication of KR20180090019A publication Critical patent/KR20180090019A/ko
Application granted granted Critical
Publication of KR101922980B1 publication Critical patent/KR101922980B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • 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

Abstract

본 발명은 네트워크에서 제공하는 암호화 프로토콜을 이용하여 암호화된 암호화 패킷을 송수신하는 통신부 및 상기 통신부를 통하여 클라이언트로부터 패킷이 수신되면, 상기 암호화 프로토콜을 이용하여 상기 수신된 패킷의 암호화 패킷을 생성하고, 상기 암호화 패킷의 크기가 경로 최대 전송 단위(path Maximum Transmission unit; 이하 PMTU)보다 크면, 상기 클라이언트로 패킷 크기 조절을 위한 제어 메시지를 전송하도록 상기 통신부를 제어하는 제어부를 포함하는 것을 특징으로 하는 네트워크 장치에 관한 것이다.

Description

네트워크 장치 및 그의 패킷 송신 방법{Network device and packet transmission method of the network device}
본 발명은 네트워크 장치 및 그의 패킷 송신 방법에 관한 것으로, 보다 구체적으로 VPN에서 패킷 분할(packet fragmentation) 없이 패킷을 송신할 수 있도록 하는 네트워크 장치 및 그의 패킷 송신 방법에 관한 것이다.
가상 사설망(Virtual Private Network; 이하 VPN)은 공개된 인터넷망(공중망)을 전용선처럼 사용할 수 있도록 특수한 통신체계와 암호화 기법을 제공하는 서비스로 원거리 네트워크 장치 간에 전용망을 설치한 것과 같은 효과를 갖도록 한다.
VPN을 이용하는 송신측 네트워크 장치는 공중망을 통해 데이터를 송신하기 전 데이터를 암호화하며, 수신측 네트워크 장치는 이를 복호화한다.
데이터를 암호화하는 경우, 실제 공중망을 통해 전송되는 패킷에는 암호화 프로토콜 등 암호화와 관련된 정보가 추가되어야 하므로, 패킷 크기가 커지게 된다. 만약, 패킷 크기가 경로 최대 전송 단위(path Maximum Transmission Unit; path MTU; 이하 PMTU)보다 커지면, 송신측 네트워크 장치는 패킷을 PMTU 크기로 분할하여 수신측 네트워크 장치에 전송한다.
이와 같이 패킷을 분할하여 전송하게 되면, 패킷 송수신에 있어서 출발지 및 목적지의 포트 정보를 이용할 수 없어, 포트 정보를 이용한 서비스별 세션 처리가 불가하며, IP 주소 정보로만 로드 밸런싱을 수행하게 된다.
또한, 패킷을 분할하여 전송하게 되면, 송신측 네트워크 장치는 패킷을 여러 개로 분할하여 반복적으로 전송해야 하기 때문에 리소스를 많이 사용하게 되고, 수신측 네트워크 장치는 전체 패킷이 수신될 때까지 대기하였다가 수신된 복수의 패킷을 조합하는 처리를 수행해야 하기 때문에 패킷 처리에 지연이 발생하여 패킷이 누락(drop)되는 문제가 발생하게 된다.
뿐만 아니라, 네트워크 내에서 송수신되는 패킷 수가 늘어나면, 패킷 라우팅에도 과부하가 발생하게 된다.
본 발명은 상기한 문제를 해결하기 위한 것으로, VPN과 같이 데이터를 암호화하여 전송하는 네트워크에서 송신측 네트워크 장치의 PMTU를 조절함으로써 패킷 분할 없이 패킷을 전송할 수 있도록 하는 네트워크 장치 및 그의 패킷 송신 방법을 제공한다.
상술한 과제를 해결하기 위한 본 발명에 따른 네트워크 장치는, 네트워크에서 제공하는 암호화 프로토콜을 이용하여 암호화된 암호화 패킷을 송수신하는 통신부 및 상기 통신부를 통하여 클라이언트로부터 패킷이 수신되면, 상기 암호화 프로토콜을 이용하여 상기 수신된 패킷의 암호화 패킷을 생성하고, 상기 암호화 패킷의 크기가 경로 최대 전송 단위(path Maximum Transmission unit; 이하 PMTU)보다 크면, 상기 클라이언트로 패킷 크기 조절을 위한 제어 메시지를 전송하도록 상기 통신부를 제어하는 제어부를 포함하는 것을 특징으로 한다.
또한, 상기 제어 메시지는, 상기 암호화 패킷의 크기가 상기 PMTU보다 크기 때문에, 상기 패킷이 수신 클라이언트로 전달될 수 없거나 분할되어야 한다는 정보를 포함하는 것을 특징으로 한다.
또한, 상기 제어 메시지는, 상기 수신된 패킷의 크기, 상기 암호화 패킷의 크기, 상기 PMTU 및 암호화 패킷의 크기가 상기 PMTU보다 작거나 같기 위한 패킷의 크기 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 상기 제어 메시지는, ICMP(Internet Control Message Protocol) 메시지인 것을 특징으로 한다.
또한, 상기 ICMP 메시지는, 코드가 fragmentation needed and DF set로 설정된, Destination unreachable message 타입의 ICMP 메시지인 것을 특징으로 한다.
또한, 상기 제어 메시지는, 상기 클라이언트가 이후에 전송할 패킷의 크기를 상기 PMTU에 알맞게 줄이도록 하기 위해 전송되는 것을 특징으로 한다.
또한, 상기 암호화 패킷은, 상기 수신된 패킷보다 큰 크기를 갖는 것을 특징으로 한다.
또한, 상기 제어부는, 상기 암호화 패킷을 상기 PMTU에 대응하는 크기의 N개의 패킷들로 분할하고, 상기 분할된 N개의 패킷을 수신측 네트워크 장치로 순차 전송하는 것을 특징으로 한다.
또한, 상기 제어부는, 상기 암호화 패킷의 크기가 상기 PMTU보다 크지 않으면, 상기 암호화 패킷을 수신측 네트워크 장치로 전송하는 것을 특징으로 한다.
또한, 상기 암호화 프로토콜은, IPSec VPN, SSL VPN, GRE 및 L2TP 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 상기 네트워크는, 가상 사설망(Virtual Private Network; VPN)인 것을 특징으로 한다.
또한, 상술한 과제를 해결하기 위한 본 발명에 따른 패킷 송신 방법은, 클라이언트로부터 패킷이 수신되면, 기설정된 암호화 프로토콜을 이용하여 상기 수신된 패킷의 암호화 패킷을 생성하는 단계, 상기 암호화 패킷의 크기가 경로 최대 전송 단위(path Maximum Transmission unit; 이하 PMTU)보다 크면, 상기 클라이언트로 패킷 크기 조절을 위한 제어 메시지를 전송하는 단계 및 상기 암호화 패킷을 분할하여 수신측 네트워크 장치로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 제어 메시지는, 상기 암호화 패킷의 크기가 상기 PMTU보다 크기 때문에, 상기 패킷이 수신 클라이언트로 전달될 수 없거나 분할되어야 한다는 정보를 포함하는 것을 특징으로 한다.
또한, 상기 제어 메시지는, 상기 수신된 패킷의 크기, 상기 암호화 패킷의 크기, 상기 PMTU 및 암호화 패킷의 크기가 상기 PMTU보다 작거나 같기 위한 패킷의 크기 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 상기 제어 메시지는, ICMP(Internet Control Message Protocol) 메시지인 것을 특징으로 한다.
또한, 상기 ICMP 메시지는, 코드가 fragmentation needed and DF set로 설정된, Destination unreachable message 타입의 ICMP 메시지인 것을 특징으로 한다.
또한, 상기 암호화 패킷을 분할하여 수신측 네트워크 장치로 전송하는 단계는, 상기 암호화 패킷을 상기 PMTU에 대응하는 크기의 N개의 패킷들로 분할하는 단계 및 상기 분할된 N개의 패킷을 상기 수신측 네트워크 장치로 순차 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 암호화 패킷의 크기가 상기 PMTU보다 크지 않으면, 상기 암호화 패킷을 수신측 네트워크 장치로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 네트워크 장치 및 그의 패킷 송신 방법은 ICMP 패킷을 통해 PMTU를 조절함으로써, 패킷이 분할 없이 전송되고 전송 과정에서 누락되는 문제를 해결할 수 있도록 한다.
또한, 본 발명에 따른 네트워크 장치 및 그의 패킷 송신 방법은 송신측 네트워크 장치에서 패킷 분할로 인해 소모되는 리소스, 수신측 장비에서 분할된 패킷을 조합하기 위해 요구되는 리소스, 네트워크 라우터에서 복수 개의 패킷을 처리하기 위해 소모되는 리소스 등 불필요한 자원 낭비를 줄일 수 있도록 한다.
도 1은 VPN에서 송수신되는 패킷의 포맷을 나타낸 도면이다.
도 2는 VPN에서의 일반적인 패킷 송신 방법을 나타낸 순서도이다.
도 3은 VPN에서의 일반적인 패킷 송신 방법을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 패킷 송신 방법을 나타낸 순서도이다.
도 5는 본 발명에 따른 패킷 송신 방법을 설명하기 위한 도면이다.
도 6은 본 발명에 따른 네트워크 장치의 구조를 나타낸 블록도이다.
본 명세서의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우, 그 상세한 설명은 생략될 수 있다.
본 명세서에서 사용되는 "포함한다," "포함할 수 있다." 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.  
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다.
도 1은 VPN에서 송수신되는 패킷의 포맷을 나타낸 도면이다.
도 1에서는, VPN에서 ESP(Encapsulating Security Payload) 프로토콜을 이용하는 경우의 ESP 터널 모드 패킷의 포맷을 예시하였다.
데이터를 송신하고자 하는 송신 클라이언트는 네트워크 장치로 IP 헤더(IP hdr)(101), 데이터(data)(102)를 포함하는 패킷을 전송할 수 있다.
클라이언트와 네트워크 장치가 동작하는 VPN에서 ESP 프로토콜을 이용하는 경우, 네트워크 장치는 상대편 VPN장비를 목적지로 하는 IP 헤더(new IP hdr)(110), ESP 프로토콜 관련 정보를 포함하는 ESP 헤더(ESP hdr)(120), 암호화된 IP 패킷(data)(130), ESP 패딩 정보를 담고 있는 ESP 트레일러(ESP Trailer)(140), 데이터 무결성 검사(Data Integrity Check) 결과값을 포함하는 인증 데이터(Authentication Data)(150)를 포함하여 패킷을 재구성한다. 이렇게 재구성된 패킷을 편의상 암호화 패킷이라고 명명한다.
네트워크 장치는 암호화 패킷을 수신측 네트워크 장치로 전송하고, 수신측 네트워크 장치는 암호화 패킷을 복호화하여 수신 클라이언트로 전달할 수 있다.
이와 같이 암호화를 이용하는 네트워크에서 송수신되는 암호화 패킷은, 암호화를 이용하지 않는 네트워크에서 송수신되는 패킷보다 큰 크기를 갖게 된다.
일반적으로 네트워크에서는 한 번에 전송될 수 있는 패킷의 크기가 PMTU(송신 클라이언트(Source IP)와 수신 클라이언트(Destination IP) 사이의 최소 MTU)로 제한되어 있으며, 제한된 패킷 크기를 초과하는 패킷은 네트워크 장치에 의해 분할되어 수신측으로 전송될 수 있다.
따라서, VPN과 같이 암호화로 인하여 상대적으로 송수신 패킷 크기가 큰 네트워크에서는, 패킷 분할 전송이 빈번하게 일어나게 된다.
네트워크 장치의 패킷 분할 전송을 도 2 및 도 3을 참조하여 보다 구체적으로 설명하면 다음과 같다.
도 2는 VPN에서의 일반적인 패킷 송신 방법을 나타낸 순서도이고, 도 3은 VPN에서의 일반적인 패킷 송신 방법을 설명하기 위한 도면이다.
도 2 및 도 3을 참조하면, 송신 클라이언트(USER A)로부터 패킷이 수신되는 경우(21), 네트워크 장치(200)는 기설정된 프로토콜, 예를 들어, 도 1에 도시된 것과 같이 ESP 프로토콜을 이용하여 패킷 암호화를 수행한다(22).
암호화된 패킷의 크기가 PMTU보다 크지 않으면(23), 네트워크 장치(200)는 암호화 패킷을 수신측 네트워크 장치로 전송한다(24).
그러나 암호화된 패킷의 크기가 PMTU보다 크면(23), 네트워크 장치(200)는 암호화 패킷을 PMTU보다 작거나 같은 크기의 N개 패킷으로 분할하고(여기서, N은 2 이상의 정수)(25), 분할된 N개의 패킷을 순차적으로 수신측 네트워크 장치(300)에 전송한다(26).
일 예로, 도 3에 도시된 바와 같이, 송신 클라이언트(USER A)로부터 패킷 1이 수신되고, 패킷 1의 암호화 패킷 1의 크기가 PMTU를 초과하는 경우, 네트워크 장치(200)는 암호화 패킷 1을 분할한다. 암호화 패킷 1이 암호화 패킷 1-1 및 1-2로 분할되는 경우, 네트워크 장치(200)는 암호화 패킷 1-1 및 1-2를 순차적으로 수신측 네트워크 장치(300)로 전송한다.
이후에, 송신 클라이언트(USER A)로부터 패킷 2가 수신되고, 패킷 2의 암호화 패킷 2의 크기가 PMTU를 초과하는 경우, 네트워크 장치(200)는 암호화 패킷 2를 분할한다. 암호화 패킷 2가 암호화 패킷 2-1, 2-2 및 2-3으로 분할되는 경우, 네트워크 장치(200)는 암호화 패킷 2-1, 2-2 및 2-3을 순차적으로 수신측 네트워크 장치(300)로 전송한다.
상술한 바와 같이 암호화 패킷을 분할하여 전송하게 되면, 네트워크 내에 구비되는 라우팅 장치나 수신측 네트워크 장치(300)에서 IP 5tuple(Source IP, Destination IP, Source Port, Destination Port, Protocol)중 포트 정보를 이용할 수 없기 때문에, Source IP, Destination IP, Protocol 정보만을 이용하여 로드 밸런싱을 수행해야 한다. IP 5tuple 중 일부 정보만을 이용하여 로드 밸런싱을 수행하는 경우 로드 분산이 비효율적으로 이루어질 수 있다.
또한, 상술한 바와 같이 암호화 패킷을 분할하여 전송하게 되면, 송신측 네트워크 장치(200)에서는 암호화 패킷을 분할하여 반복적으로 전송하기 위한 리소스가 소모되고, 수신측 네트워크 장치(300)에서는 분할된 암호화 패킷들이 모두 수신될 때까지 대기하였다가, 수신된 분할된 암호화 패킷들을 조합하기 위한 리소스가 소모되며, 이러한 동작들이 패킷 처리 딜레이로 작용하여 패킷 송수신 과정에 누락이 발생할 우려가 있다.
본 발명은, 상술한 바와 같이 데이터를 암호화하여 송신하는 네트워크에서 패킷 크기 증가로 인해 패킷을 분할하여 전송하는 경우에 발생하는 문제를 해결하기 위한 것이다.
이하의 실시 예들에서는 VPN에서 동작하는 네트워크 장치의 패킷 송신 방법을 주된 예로 들어 설명하나, 본 발명의 적용은 VPN에만 한정되는 것은 아니며, IPSec VPN, SSL VPN, GRE, L2TP 등과 같은 암호화 프로토콜을 이용하여 데이터를 암호화하고, 암호화된 데이터와 암호화 관련 정보를 포함하여 구성된 패킷을 전송하는 네트워크에 대하여 본 발명이 적용될 수 있다.
도 4는 본 발명에 따른 패킷 송신 방법을 나타낸 순서도이고, 도 5는 본 발명에 따른 패킷 송신 방법을 설명하기 위한 도면이다.
도 4 및 도 5를 참조하면, 본 발명의 실시 예에 따른 네트워크 장치(400)는 송신측 네트워크 장치로 동작할 수 있다. 그러나 네트워크 장치(400)가 본 발명에 따른 송신 방법을 수행하는 외에 다른 네트워크 장치로부터 암호화 패킷을 수신하여 이를 복호화하고 수신 클라이언트로 전달하는 경우에, 네트워크 장치(400)는 수신측 네트워크 장치로 동작할 수도 있다.
송신 클라이언트(USER A)로부터 패킷이 수신되는 경우(41), 네트워크 장치(400)는 기설정된 암호화 프로토콜을 이용하여 패킷 암호화를 수행할 수 있다(42).
다양한 실시 예에서, 암호화 프로토콜은 IPSec VPN, SSL VPN, GRE, L2TP 등일 수 있다.
네트워크 장치(400)는 송신 클라이언트(USER A)로부터 수신된 패킷에 포함된 데이터를 암호화하고, 암호화된 데이터와 암호화 프로토콜과 관련된 정보를 포함하는 암호화 헤더를 포함하는 암호화 패킷을 생성함으로써, 패킷 암호화를 수행할 수 있다.
이후에, 네트워크 장치(400)는 패킷 암호화를 통하여 생성된 암호화 패킷의 크기가 PMTU보다 큰지 여부를 판단할 수 있다(43).
이를 위하여 네트워크 장치(400)는 네트워크 장치(400)로부터 해당 암호화 패킷이 전송되어야 하는 수신측 네트워크 장치(500)까지의 경로 상에 존재하는 링크들의 MTU 중 가장 작은 값을 탐색하여 PMTU를 판단할 수 있다.
일 실시 예에서, 네트워크 장치(400)는 네트워크를 구성하는 링크들로부터 링크들의 MTU를 주기적으로 수신하거나, 수신측 네트워크 장치(500)까지의 경로 상에 존재하는 링크들로 MTU를 요청하여 링크들의 MTU를 수신할 수 있다. 네트워크 장치(400)는 수집된 링크들의 MTU 중에서 가장 작은 값을 PMTU로 판단할 수 있다.
네트워크 장치(400)는 판단된 PMTU와 암호화 패킷의 크기를 비교하여, 암호화 패킷의 크기가 PMTU보다 큰지 여부를 판단할 수 있다.
암호화 패킷의 크기가 PMTU보다 크지 않으면, 네트워크 장치(400)는 암호화 패킷을 수신측 네트워크 장치(500)로 전송할 수 있다(44).
수신측 네트워크 장치(500)는 수신된 암호화 패킷을 복호화하여 원본 패킷을 복원하고, 이를 수신 클라이언트(USER B)로 전달할 수 있다.
암호화 패킷의 크기가 PMTU보다 크면, 네트워크 장치(400)는 송신 클라이언트(USER A)로 패킷 크기 조절을 위한 제어 메시지를 전송할 수 있다(45).
네트워크 장치(400)는 송신 클라이언트(USER A)로부터 수신된 패킷의 암호화 패킷 크기가 PMTU 보다 크기 때문에, 해당 패킷이 수신 클라이언트(USER B)로 전달될 수 없거나 분할되어야 한다는 정보를 포함한 제어 메시지를 송신 클라이언트(USER A)로 전송함으로써, 송신 클라이언트(USER A)가 이후에 전송하는 패킷 크기를 PMTU에 알맞게 줄이도록 할 수 있다.
다양한 실시 예에서, 제어 메시지는 수신된 패킷의 크기, 수신된 패킷으로부터 생성된 암호화 패킷의 크기, PMTU, 암호화 패킷의 크기가 PMTU보다 작거나 같기 위한 패킷의 크기 등에 관한 정보를 더 포함할 수 있다.
본 발명의 다양한 실시 예에서, 제어 메시지는 ICMP(Internet Control Message Protocol) 메시지일 수 있다. ICMP 메시지는 패킷 전송 제어 및 진단을 수행하거나, 전송 오류를 알리기 위한 정보를 포함하여 구성될 수 있다.
ICMP 메시지의 타입은 패킷을 목적지에 전달할 수 없을 때 전송되는 Destination unreachable message, TTL이 0이 되는 시점에 임의의 라우터가 송신측 라우터에 전송하는 Time exceeded message, 패킷 전송 속도를 제어하기 위해 전송되는 Source quench message, 송신 호스트에게 이후에 전송되는 패킷의 최적 경로를 다시 지정하는 경우에 전송되는 Redirection message 등이 있다.
ICMP 메시지 타입이 Destination unreachable message인 경우, 오류의 원인을 나타내는 code는 net unreachable, host unreachable, protocol unreachable, port unreachable, fragmentation needed and DF set, source route failed 등으로 설정될 수 있다.
이 중, fragmentation needed and DF set은 패킷 사이즈가 전송 가능한 크기보다 크기 때문에 패킷을 분할해야 하나, IP 헤더의 옵션에 분할 불가(Don't Fragment; DF) 플래그가 설정되어 있어 패킷을 분할할 수 없기 때문에 패킷이 목적지에 전달되지 못한 경우에 설정된다.
일반적으로 Destination unreachable message 타입의 fragmentation needed and DF set code 메시지를 수신한 클라이언트는, ICMP 메시지에 포함된 정보를 기초로 이후에 전송할 패킷 크기를 조절할 수 있다.
네트워크 장치(400)는 송신 클라이언트(USER A)가 송신 패킷 크기를 조절하도록 하기 위하여, ICMP 메시지의 타입을 Destination unreachable message로 정의하고, code를 fragmentation needed and DF set으로 설정할 수 있다.
즉, 네트워크 장치(400)는 암호화 패킷을 목적지에 전달할 수 없는 경우가 아니고 DF 플래그가 설정되지 않았다 하더라도, 암호화 패킷의 크기가 PMTU보다 큰 경우에는 임의로 ICMP 메시지를 생성하여 송신 클라이언트(USER A)로 전송함으로써, 송신 클라이언트(USER A)가 이후에 전송할 패킷 크기를 PMTU에 알맞게 줄이도록 한다.
이후에 네트워크 장치(400)는 송신 클라이언트(USER A)의 송신 패킷 크기를 조절하도록 제어하는 것과 별개로, 생성된 암호화 패킷에 대한 처리를 수행한다.
구체적으로, 네트워크 장치(400)는 암호화 패킷을 PMTU보다 작거나 같은 크기의 N개 패킷으로 분할하고(여기서, N은 2 이상의 정수)(46), 분할된 N개의 패킷을 순차적으로 수신측 네트워크 장치(500)에 전송할 수 있다(47).
도 4에서는, 네트워크 장치(400)가 생성된 암호화 패킷 처리 이전에 ICMP 메시지를 송신 클라이언트(USER A)로 전송하는 것으로 설명하였으나, 본 발명의 실시 예는 이에 한정되지 않으며, 네트워크 장치(400)는 생성된 암호화 패킷을 처리한 이후에 ICMP메시지를 송신 클라이언트(USER A)로 전송할 수도 있다.
또한, 도 4에서는, 네트워크 장치(400)가 이미 수신된 패킷의 암호화 패킷을 분할 전송 처리하는 것으로 설명하였으나, 본 발명의 실시 예는 이에 한정되지 않으며, 네트워크 장치(400)는 생성된 암호화 패킷을 폐기하고, 송신 클라이언트(USERA)로 제어 메시지에 의해 조절된 크기의 패킷을 재전송해줄 것을 요청할 수 있다.
일 예로, 도 5에 도시된 바와 같이, 송신 클라이언트(USER A)로부터 패킷 1이 수신되고, 패킷 1의 암호화 패킷 1의 크기가 PMTU를 초과하는 경우, 네트워크 장치(400)는 송신 클라이언트(USER A)로 패킷 크기 조절을 위한 제어 메시지를 전송할 수 있다.
또한, 네트워크 장치(400)는 암호화 패킷 1을 분할하여 암호화 패킷 1-1 및 1-2를 생성하고, 암호화 패킷 1-1 및 1-2를 수신측 네트워크 장치(500)로 전송할 수 있다.
ICMP 메시지를 수신한 송신 클라이언트(USER A)는, ICMP 메시지에 대응하여, 이후에 전송할 패킷 크기를 조절할 수 있다.
따라서, 이후에 송신 클라이언트(USER A)로부터 수신되는 패킷 2 및 패킷 3의 암호화 패킷 2 및 암호화 패킷 3은 PMTU를 초과하지 않을 수 있다.
따라서, 송신 클라이언트(USER A)로부터 패킷 2가 수신되면 네트워크 장치(400)는 이를 암호화 하여 암호화 패킷 2를 생성하고, 암호화 패킷 2의 크기가 PMTU를 초과하지 않는 것으로 확인되면, 암호화 패킷 2를 수신측 네트워크 장치(500)로 전송할 수 있다.
또한, 송신 클라이언트(USER A)로부터 패킷 3이 수신되면 네트워크 장치(400)는 이를 암호화 하여 암호화 패킷 3을 생성하고, 암호화 패킷 3의 크기가 PMTU를 초과하지 않는 것으로 확인되면, 암호화 패킷 3을 수신측 네트워크 장치(500)로 전송할 수 있다.
도 6은 본 발명에 따른 네트워크 장치의 구조를 나타낸 블록도이다.
도 6을 참조하면, 본 발명에 따른 네트워크 장치(400)는 통신부(410) 및 제어부(420)를 포함하여 구성될 수 있다.
통신부(410)는 외부와 통신을 수행한다.
본 발명의 다양한 실시 예에서, 통신부(410)는 VPN과 같이 IPSec VPN, SSL VPN, GRE, L2TP 등의 암호화 프로토콜에 의하여 암호화된 패킷을 송수신할 수 있다.
또한, 본 발명의 다양한 실시 예에서, 통신부(410)는 클라이언트로부터 패킷을 수신하거나, 다른 네트워크 장치로부터 암호화 패킷을 수신하여 제어부(420)로 전달할 수 있다. 또는, 통신부(410)는 제어부(420)의 제어에 따라 암호화 패킷을 다른 네트워크 장치로 전송하거나, 복호화된 패킷을 클라이언트로 전달할 수 있다.
제어부(420)는 본 발명에 따른 패킷 송신 방법을 수행하기 위하여, 네트워크 장치(400)의 각 구성 요소들을 제어할 수 있다.
구체적으로, 제어부(420)는 클라이언트로부터 패킷이 수신되는 경우, 기설정된 암호화 프로토콜을 이용하여 수신된 패킷을 암호화하고, 암호화 패킷을 생성할 수 있다.
제어부(420)는 암호화 패킷이 전송되어야 하는 수신측 네트워크 장치까지의 경로 상에 존재하는 링크들의 MTU 중 가장 작은 값을 탐색하여 PMTU를 판단할 수 있다.
제어부(420)는 암호화 패킷의 크기와 판단된 PMTU를 비교하여, 암호화 패킷의 크기가 PMTU를 초과하는지 여부를 판단할 수 있다.
암호화 패킷의 크기가 PMTU보다 크지 않으면, 제어부(420)는 암호화 패킷을 수신측 네트워크 장치로 전송하도록 통신부(410)를 제어할 수 있다.
암호화 패킷의 크기가 PMTU보다 크면, 제어부(420)는 해당 패킷을 전송한 클라이언트로 패킷 크기 조절을 위한 제어 메시지를 전송할 수 있다.
제어부(420)는 클라이언트로부터 수신된 패킷의 암호화 패킷 크기가 PMTU보다 크기 때문에, 해당 패킷이 수신 클라이언트로 전달될 수 없거나 분할되어야 한다는 정보를 포함한 제어 메시지를 클라이언트로 전송할 수 있다.
다양한 실시 예에서, 제어 메시지는 수신된 패킷의 크기, 수신된 패킷으로부터 생성된 암호화 패킷의 크기, PMTU, 암호화 패킷의 크기가 PMTU를 초과하지 않기 위한 패킷의 크기 등에 관한 정보를 더 포함할 수 있다.
본 발명의 다양한 실시 예에서, 제어 메시지는 ICMP 메시지로, Destination unreachable message 타입의 fragmentation needed and DF set code 메시지일 수 있다.
또한, 제어부(420)는 암호화된 패킷을 PMTU보다 작거나 같은 크기의 N개 패킷으로 분할하고, 분할된 N개의 패킷을 순차적으로 수신측 네트워크 장치로 전송하도록 통신부(410)를 제어할 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
400: 네트워크 장치
410: 통신부
420: 제어부

Claims (18)

  1. 네트워크에서 제공하는 암호화 프로토콜을 이용하여 암호화된 암호화 패킷을 송수신하는 통신부; 및
    상기 통신부를 통하여 송신 클라이언트로부터 패킷이 수신되면, 상기 암호화 프로토콜을 이용하여 상기 수신된 패킷의 암호화 패킷을 생성하고, 상기 암호화 패킷의 크기가 경로 최대 전송 단위(path Maximum Transmission unit; 이하 PMTU)보다 크면, 상기 암호화 패킷을 상기 PMTU에 대응하는 크기의 N개의 패킷들로 분할하고, 상기 분할된 N개의 패킷을 수신 클라이언트로 순차 전송하고, 상기 송신 클라이언트로 패킷 크기 조절을 위한 제어 메시지를 전송하도록 상기 통신부를 제어하는 제어부를 포함하되,
    상기 제어 메시지는,
    상기 송신 클라이언트가 이후에 전송할 패킷의 크기를 상기 PMTU에 알맞게 줄이도록 하기 위해 전송되는 것을 특징으로 하는 네트워크 장치.
  2. 제1항에 있어서, 상기 제어 메시지는,
    상기 암호화 패킷의 크기가 상기 PMTU보다 크기 때문에, 상기 패킷이 상기 수신 클라이언트로 전달될 수 없거나 분할되어야 한다는 정보를 포함하는 것을 특징으로 하는 네트워크 장치.
  3. 제1항에 있어서, 상기 제어 메시지는,
    상기 수신된 패킷의 크기, 상기 암호화 패킷의 크기, 상기 PMTU 및 암호화 패킷의 크기가 상기 PMTU보다 작거나 같기 위한 패킷의 크기 중 적어도 하나를 포함하는 것을 특징으로 하는 네트워크 장치.
  4. 제1항에 있어서, 상기 제어 메시지는,
    ICMP(Internet Control Message Protocol) 메시지인 것을 특징으로 하는 네트워크 장치.
  5. 제4항에 있어서, 상기 ICMP 메시지는,
    코드가 fragmentation needed and DF set로 설정된, Destination unreachable message 타입의 ICMP 메시지인 것을 특징으로 하는 네트워크 장치.
  6. 삭제
  7. 제1항에 있어서, 상기 암호화 패킷은,
    상기 수신된 패킷보다 큰 크기를 갖는 것을 특징으로 하는 네트워크 장치.
  8. 삭제
  9. 제1항에 있어서, 상기 제어부는,
    상기 암호화 패킷의 크기가 상기 PMTU보다 크지 않으면, 상기 암호화 패킷을 수신측 네트워크 장치로 전송하는 것을 특징으로 하는 네트워크 장치.
  10. 제1항에 있어서, 상기 암호화 프로토콜은,
    IPSec VPN, SSL VPN, GRE 및 L2TP 중 적어도 하나를 포함하는 것을 특징으로 하는 네트워크 장치.
  11. 제1항에 있어서, 상기 네트워크는,
    가상 사설망(Virtual Private Network; VPN)인 것을 특징으로 하는 네트워크 장치.
  12. 송신 클라이언트로부터 패킷이 수신되면, 기설정된 암호화 프로토콜을 이용하여 상기 수신된 패킷의 암호화 패킷을 생성하는 단계;
    상기 암호화 패킷의 크기가 경로 최대 전송 단위(path Maximum Transmission unit; 이하 PMTU)보다 크면, 상기 송신 클라이언트로 패킷 크기 조절을 위한 제어 메시지를 전송하는 단계; 및
    상기 암호화 패킷을 분할하여 수신 클라이언트로 전송하는 단계를 포함하되,
    상기 제어 메시지는,
    상기 송신 클라이언트가 이후에 전송할 패킷의 크기를 상기 PMTU에 알맞게 줄이도록 하기 위해 전송되는 것을 특징으로 하는 패킷 송신 방법.
  13. 제12항에 있어서, 상기 제어 메시지는,
    상기 암호화 패킷의 크기가 상기 PMTU보다 크기 때문에, 상기 패킷이 상기 수신 클라이언트로 전달될 수 없거나 분할되어야 한다는 정보를 포함하는 것을 특징으로 하는 패킷 송신 방법.
  14. 제12항에 있어서, 상기 제어 메시지는,
    상기 수신된 패킷의 크기, 상기 암호화 패킷의 크기, 상기 PMTU 및 암호화 패킷의 크기가 상기 PMTU보다 작거나 같기 위한 패킷의 크기 중 적어도 하나를 포함하는 것을 특징으로 하는 패킷 송신 방법.
  15. 제12항에 있어서, 상기 제어 메시지는,
    ICMP(Internet Control Message Protocol) 메시지인 것을 특징으로 하는 패킷 송신 방법.
  16. 제15항에 있어서, 상기 ICMP 메시지는,
    코드가 fragmentation needed and DF set로 설정된, Destination unreachable message 타입의 ICMP 메시지인 것을 특징으로 하는 패킷 송신 방법.
  17. 제12항에 있어서, 상기 암호화 패킷을 분할하여 상기 수신 클라이언트로 전송하는 단계는,
    상기 암호화 패킷을 상기 PMTU에 대응하는 크기의 N개의 패킷들로 분할하는 단계; 및
    상기 분할된 N개의 패킷을 상기 수신 클라이언트로 순차 전송하는 단계를 포함하는 것을 특징으로 하는 패킷 송신 방법.
  18. 제12항에 있어서,
    상기 암호화 패킷의 크기가 상기 PMTU보다 크지 않으면, 상기 암호화 패킷을 상기 수신 클라이언트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 패킷 송신 방법.
KR1020170014890A 2017-02-02 2017-02-02 네트워크 장치 및 그의 패킷 송신 방법 KR101922980B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170014890A KR101922980B1 (ko) 2017-02-02 2017-02-02 네트워크 장치 및 그의 패킷 송신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170014890A KR101922980B1 (ko) 2017-02-02 2017-02-02 네트워크 장치 및 그의 패킷 송신 방법

Publications (2)

Publication Number Publication Date
KR20180090019A KR20180090019A (ko) 2018-08-10
KR101922980B1 true KR101922980B1 (ko) 2018-11-28

Family

ID=63229634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170014890A KR101922980B1 (ko) 2017-02-02 2017-02-02 네트워크 장치 및 그의 패킷 송신 방법

Country Status (1)

Country Link
KR (1) KR101922980B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200097919A (ko) 2019-02-11 2020-08-20 김한수 가상 사설 망 연결 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230080104A1 (en) * 2021-08-25 2023-03-16 International Business Machines Corporation Bulk data transfers via transport layer security protocol
CN116743504B (zh) * 2023-08-14 2023-10-17 佳瑛科技有限公司 一种数字数据在网络线缆中的安全传输方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165847A (ja) * 2004-12-06 2006-06-22 Matsushita Electric Works Ltd パケット長制御装置及び該方法並びにルータ装置
JP2016225847A (ja) * 2015-05-29 2016-12-28 キヤノン株式会社 通信装置、制御方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165847A (ja) * 2004-12-06 2006-06-22 Matsushita Electric Works Ltd パケット長制御装置及び該方法並びにルータ装置
JP2016225847A (ja) * 2015-05-29 2016-12-28 キヤノン株式会社 通信装置、制御方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200097919A (ko) 2019-02-11 2020-08-20 김한수 가상 사설 망 연결 장치 및 방법

Also Published As

Publication number Publication date
KR20180090019A (ko) 2018-08-10

Similar Documents

Publication Publication Date Title
US10757013B2 (en) System and method for virtual multipath data transport
Dreibholz et al. Stream control transmission protocol: Past, current, and future standardization activities
US9712504B2 (en) Method and apparatus for avoiding double-encryption in site-to-site IPsec VPN connections
US8713305B2 (en) Packet transmission method, apparatus, and network system
US7360083B1 (en) Method and system for providing end-to-end security solutions to aid protocol acceleration over networks using selective layer encryption
KR101234114B1 (ko) 무선 통신 시스템에서 데이터 보안 및 자동 반복 요청실시를 위한 방법 및 장치
KR101357026B1 (ko) 무선 네트워크들을 위한 공중-인터페이스 애플리케이션 층보안
JP2014241598A (ja) 移動通信システムにおける無線プロトコル処理方法及び移動通信送信機
KR101922980B1 (ko) 네트워크 장치 및 그의 패킷 송신 방법
KR101386809B1 (ko) 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법
CN114095195B (zh) 用于安全套接字层代理的自适应控制的方法、网络设备以及非瞬态计算机可读介质
CN105337954A (zh) 卫星通信中ip报文的加密、解密方法及装置
Seggelmann et al. SSH over SCTP—Optimizing a multi-channel protocol by adapting it to SCTP
US11006346B2 (en) X2 service transmission method and network device
Deshmukh et al. Design of IPSec virtual private network for remote access
US20100031015A1 (en) IP Network Communication Method Having Security Function, And Communication System
CN111988211A (zh) 网络设备的报文分流方法和装置
CN112104635B (zh) 通信方法、系统和网络设备
US20230239279A1 (en) Method and apparatus for security communication
CN114679265A (zh) 流量获取方法、装置、电子设备和存储介质
CN108809888B (zh) 一种基于安全模块的安全网络构建方法和系统
EP2984783B1 (en) Secure radio information transfer over mobile radio bearer
Jabalameli et al. An add-on for security on concurrent multipath communication SCTP
Rajavelsamy et al. Novel Differentiated Integrity Protection for Enhancing Performance of Beyond 5G Systems
KR101424508B1 (ko) 부하 분산을 위한 암호화/복호화 장치 및 방법

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