KR102085331B1 - 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템 - Google Patents

네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템 Download PDF

Info

Publication number
KR102085331B1
KR102085331B1 KR1020190001598A KR20190001598A KR102085331B1 KR 102085331 B1 KR102085331 B1 KR 102085331B1 KR 1020190001598 A KR1020190001598 A KR 1020190001598A KR 20190001598 A KR20190001598 A KR 20190001598A KR 102085331 B1 KR102085331 B1 KR 102085331B1
Authority
KR
South Korea
Prior art keywords
transparent proxy
session
packet
transparent
proxy
Prior art date
Application number
KR1020190001598A
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 KR1020190001598A priority Critical patent/KR102085331B1/ko
Application granted granted Critical
Publication of KR102085331B1 publication Critical patent/KR102085331B1/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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements

Landscapes

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

Abstract

본 발명의 일 양상에 따른 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법은, L3 스위치를 통해 서비스 패킷을 수신하는 단계, 서비스 패킷을 처리할 오너 ID와 제1 투명 프록시의 ID를 비교하는 단계, 오너 ID와 제1 투명 프록시의 ID가 다른 경우, 서비스 패킷을 처리할 투명 프록시를 제1 투명 프록시에 저장된 세션 테이블을 이용하여 결정하는 단계 및 HA 링크를 통해 결정된 제2 투명 프록시로 서비스 패킷을 포함하는 HA 메시지를 포워딩하는 단계를 포함한다.

Description

네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템{PACKET PROCESSING METHOD AND PACKET PROCESSING SYSTEM USING TRANSPARENT PROXY IN NETWORK REDUNDANT ENVIRONMENT}
본 발명은 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템에 관한 것으로서, 구체적으로는 L4 스위치 대신에 L3 스위치와 투명 프록시를 이용하여 네트워크 이중화가 가능한 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템에 관한 것이다.
도 1에서 알 수 있는 바와 같이, 방화벽과 같이 L3 레이어에서 동작하는 네트워크 시스템은 L3 스위치를 이용하여 네트워크 이중화된다. 그러나 L7에서 투명 프록시(transparent proxy) 형태로 동작하는 네트워크 시스템은 도 2에서 알 수 있는 바와 같이 L4(Layer 4) 스위치를 이용하여 네트워크 이중화된다.
이는 네트워크 시스템이 프록시 형태로 동작하는 경우에, 한 세션(session)에서의 양방향 플로우(request flow와 response flow) 처리가 동일한 장비(투명 프록시)에서 처리되어야 하기 때문이다.
사용자가 서버에 접속하는 경우, 투명 프록시는 사용자가 프록시의 개입 여부를 모르게 동작한다. 즉, 사용자(의 단말)와 서버 간의 세션 하나가 투명 프록시에 의해 사용자와 프록시 사이 세션 및 프록시와 서버 사이 세션으로 2개 세션으로 분리되어 연결 처리되고, 사용자 입장에서는 실제로 서버에 접속한 것처럼 인식(동작)하고 서버 입장에서도 사용자에 직접 접속한 것처럼 인식(동작)한다.
이와 같이, 투명 프록시에 의해 두 개의 세션을 구성하여 투명하게 플로우 처리를 위해서는 도 2의 예와 같이 L4 스위치를 이용하여 네트워크 이중화를 구성하는 것이 일반적이다. 이러한 네트워크 시스템상에서 투명 프록시는 L4 스위치를 통해 로드 밸런싱(load balancing)된 세션 트래픽에 대해 독립적으로 기능을 수행한다.
투명 프록시를 이용하면 다양한 장점을 제공할 수 있으나 네트워크 이중화를 위해서는 L4 스위치를 반드시 이용해야 하는 중대한 문제가 있다. L4 스위치는 레이어 4의 통신 플로우를 처리해야 하기에 L3 스위치 등에 비해 비용이 높아지는 문제가 발생한다.
이와 같이, 투명 프록시를 이용하는 네트워크 이중화 시스템하에서 그 구성 비용을 낮추고 필요한 기능을 제공할 수 있는 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템이 필요하다.
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, L4 스위치 없이 L3 스위치를 활용하여 투명 프록시를 포함하는 네트워크 이중화 환경을 구성할 수 있는 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템에 관한 것이다.
또한, 본 발명은 L3 스위치와 투명 프록시를 이용하는 네트워크 이중화 환경하에서 각각의 투명 프록시에 할당되는 세션의 로드를 동적으로 밸런싱할 수 있는 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템에 관한 것이다.
또한, 본 발명은 L3 스위치와 투명 프록시를 이용하는 네트워크 이중화 환경하에서 세션 동기화와 세션 패킷의 라우팅 처리를 위한 단일 패킷을 투명 프록시 간에 송수신하여 투명 프록시에서의 패킷 처리 부하를 줄일 수 있는 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템에 관한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법은 제1 투명 프록시가 L3 스위치를 통해 서비스 패킷을 수신하는 단계; 제1 투명 프록시가 상기 서비스 패킷을 처리할 오너 ID와 제1 투명 프록시의 ID를 비교하는 단계; 상기 오너 ID와 제1 투명 프록시의 ID가 다른 경우, 제1 투명 프록시가 상기 서비스 패킷을 처리할 투명 프록시를 제1 투명 프록시에 저장된 세션 테이블을 이용하여 결정하는 단계; 및 제1 투명 프록시가 HA 링크를 통해 결정된 제2 투명 프록시로 상기 서비스 패킷을 포함하는 HA 메시지를 포워딩하는 단계;를 포함한다.
상기한 패킷 처리 방법에 있어서, 제2 투명 프록시가 상기 HA 메시지에 포함된 네트워크 포트 정보에 따라 HA 메시지의 서비스 패킷을 처리하는 단계;를 더 포함하고, 상기 HA 메시지를 송수신하는 인터페이스의 MTU(Maximum transmission unit) 크기는 상기 서비스 패킷을 처리하는 인터페이스의 MTU 크기보다 더 크게 설정된다.
상기한 패킷 처리 방법에 있어서, 서비스 패킷을 수신하는 단계 이전에, 제1 투명 프록시가 SYN 패킷을 수신하고 SYN 패킷에 대응하는 세션을 처리할 투명 프록시를 결정하는 단계;를 더 포함한다.
상기한 패킷 처리 방법에 있어서, 제1 투명 프록시가 SYN 패킷에 대응하는 세션 정보와 제1 투명 프록시의 오너 ID를 포함하는 세션 동기화 메시지를 HA 링크를 통해 제2 투명 프록시로 전송하는 단계; 및 상기 세션 동기화 메시지를 수신한 제2 투명 프록시가 세션 동기화 메시지의 세션 정보 및 오너 ID를 세션 테이블에 기록하는 단계;를 더 포함하고, 상기 세션 테이블은 수신된 서비스 패킷의 세션을 처리할 투명 프록시를 결정할 수 있다.
상기한 패킷 처리 방법에 있어서, 상기 투명 프록시를 결정하는 단계는 전체 투명 프록시를 대상으로 세션 카운트의 차이를 계산하는 단계, 상기 차이가 지정된 임계치 이내 인지를 결정하는 단계 및 지정된 임계치 이내인 경우 상기 제1 투명 프록시의 세션 카운트를 증가시키는 단계를 포함한다.
상기한 패킷 처리 방법에 있어서, 상기 세션 동기화 메시지를 수신한 제2 투명 프록시가 세션 정보의 오너 ID에 대응하는 제1 투명 프록시의 세션 카운트를 증가시키는 단계;를 더 포함한다.
상기한 패킷 처리 방법에 있어서, 상기 투명 프록시를 결정하는 단계는 지정된 임계치 이상으로 세션 카운트가 작은 제2 투명 프록시로 SYN 패킷을 HA 링크를 통해 포워딩하는 단계를 더 포함하고, SYN 패킷을 HA 링크를 통해 수신한 제2 투명 프록시는 제2 투명 프록시의 오너 ID와 세션 정보를 포함하는 세션 동기화 메시지를 HA 링크를 통해 제1 투명 프록시를 포함하는 다른 투명 프록시로 전송한다.
본 발명의 일 양상에 따른 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 시스템은 제1 투명 프록시; 및 제2 투명 프록시;를 포함하고, 상기 제1 투명 프록시는 L3 스위치를 통해 서비스 패킷을 수신하는 제1 포트; HA 메시지를 송신하는 HA 포트; 세션 테이블을 저장하는 저장 유닛; 및 상기 서비스 패킷을 처리할 오너 ID와 제1 투명 프록시의 ID를 비교하고 상기 오너 ID와 제1 투명 프록시의 ID가 다른 경우, 상기 서비스 패킷을 처리할 투명 프록시를 상기 세션 테이블을 이용하여 결정하고 결정된 제2 투명 프록시로 상기 서비스 패킷을 포함하는 HA 메시지를 상기 HA 포트를 통해 포워딩하는 중앙 처리 유닛;을 포함한다.
상기한 패킷 처리 시스템에 있어서, 상기 제1 포트는 SYN 패킷을 수신하고, 상기 중앙 처리 유닛은 SYN 패킷에 대응하는 세션을 처리할 투명 프록시를 결정한다.
상기한 패킷 처리 시스템에 있어서, 상기 중앙 처리 유닛은 SYN 패킷의 수신에 따라 SYN 패킷에 대응하는 세션 정보와 제1 투명 프록시의 오너 ID를 포함하는 세션 동기화 메시지를 HA 포트를 통해 제2 투명 프록시로 전송하고, 상기 세션 동기화 메시지를 수신한 제2 투명 프록시는 세션 동기화 메시지의 세션 정보 및 오너 ID를 세션 테이블에 기록하며, 상기 세션 테이블은 수신된 서비스 패킷의 세션을 처리할 투명 프록시를 결정할 수 있다.
상기한 패킷 처리 시스템에 있어서, 저장 유닛은 세션 카운트를 더 저장하고, 상기 중앙 처리 유닛은, 투명 프록시를 결정하기 위해, 전체 투명 프록시를 대상으로 세션 카운트의 차이를 계산하고 상기 차이가 지정된 임계치 이내 인지를 결정하며 지정된 임계치 이내인 경우 제1 투명 프록시의 세션 카운트를 증가시킨다.
상기한 패킷 처리 시스템에 있어서, 상기 중앙 처리 유닛은, 투명 프록시를 결정하기 위해, 지정된 임계치 이상으로 세션 카운트가 작은 제2 투명 프록시로 SYN 패킷을 HA 포트를 통해 포워딩하고, SYN 패킷을 HA 포트를 통해 수신한 제2 투명 프록시는 제2 투명 프록시의 오너 ID와 세션 정보를 포함하는 세션 동기화 메시지를 HA 포트를 통해 제1 투명 프록시를 포함하는 다른 투명 프록시로 전송한다.
상기와 같은 본 발명에 따른 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템은 L4 스위치 없이 L3 스위치를 활용하여 투명 프록시를 포함하는 네트워크 이중화 환경을 구성할 수 있는 효과가 있다.
또한, 상기와 같은 본 발명에 따른 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템은 L3 스위치와 투명 프록시를 이용하는 네트워크 이중화 환경하에서 각각의 투명 프록시에 할당되는 세션의 로드를 동적으로 밸런싱할 수 있는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 방화벽과 L3 스위치를 이용하여 구성되는 기존 네트워크 이중화 시스템을 도시한 도면이다.
도 2는 투명 프록시와 L4 스위치를 이용하여 구성되는 기존 네트워크 이중화 시스템을 도시한 도면이다.
도 3은 본 발명에 따라 투명 프록시와 L3 스위치를 이용하여 구성되는 네트워크 이중화 시스템을 도시한 도면이다.
도 4는 투명 프록시의 블록도를 도시한 도면이다.
도 5는 세션을 설정하기 위한 예시적인 제어 흐름을 도시한 도면이다.
도 6은 세션 설정 이후에 서비스 패킷을 처리하기 위한 예시적인 제어 흐름을 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 3은 본 발명에 따라 투명 프록시(100)와 L3 스위치(200)를 이용하여 구성되는 네트워크 이중화 시스템을 도시한 도면이다.
도 3에 따르면, 네트워크 이중화 시스템은 복수의 투명 프록시(100)와 복수의 L3 스위치(200)로 구성된다. 네트워크 이중화 시스템은 적어도 2개 이상의 투명 프록시(100)를 포함하고 투명 프록시(100)에 각각 연결된 L3 스위치(200)들을 포함한다.
L3 스위치(200)는 네트워크 레이어 3의 스위칭을 수행한다. 예를 들어, L3 스위치(200)는 수신되는 패킷으로부터 IP 패킷을 구성하고 구성된 IP 패킷에 따라 투명 프록시(100), 인접 L3 스위치(200)로 IP(네트워크) 패킷을 송신하고 투명 프록시(100), 인접 L3 스위치(200)로부터 IP 패킷을 수신할 수 있다.
투명 프록시(100)는 네트워크상에서 사용자(의 단말)의 요청을 중계하는 서버로서 사용자가 서버에 접속하는 경우 사용자가 프록시의 개입 여부를 인지하지 못하게 동작한다.
투명 프록시(100)는 사용자(의 단말)와 서버 사이의 세션을 사용자 단말과 투명 프록시(100), 투명 프록시(100)와 서버 간 총 2개의 세션으로 분리하여 연결 처리하도록 구성된다. 사용자는 서버에 바로 접속하는 것으로 인식하고 서버도 사용자 단말에 바로 접속한 것으로 인식하고 처리한다.
투명 프록시(100)는 레이어 4(L4) 또는 상위 레이어(L7)의 패킷을 처리하도록 구성되기에 앞단과 뒷단에 응용 레이어의 패킷 처리가 가능한 L4 스위치에 연결되고 각각의 투명 프록시(100)가 독립적으로 기능을 수행하는 것이 일반적이다.
본 발명에 따른 투명 프록시(100)는 L3 스위치(200)에 연결되고 L3 네트워크 패킷과 L4 네트워크 패킷의 차에 따른 각종 문제를 투명 프록시(100) 사이의 HA(High availability) 링크를 통한 HA 메시지를 통해 해소할 수 있도록 구성된다.
도 3에서 알 수 있는 바와 같이, 본 발명에 따른 네트워크 이중화 시스템은 적어도 2 개의 투명 프록시(100)를 포함하고 투명 프록시(100)들은 연결된 HA 링크를 통해 각종 HA 메시지를 송수신한다. HA 메시지를 통해 투명 프록시(100)들은 L3 스위치(200)를 통해 송수신되는 L3 패킷과 패킷 처리해야하는 L4, 또는 응용, 패킷의 미스매치에 따른 각종 처리를 수행할 수 있다.
투명 프록시(100)에 대해서는 도 4 이하에서 상세히 살펴보도록 한다.
도 4는 투명 프록시(100)의 블록도를 도시한 도면이다.
도 4의 블록도는 바람직하게는 투명 프록시(100)의 하드웨어 블록도를 도시하는 도면이다.
도 4에 따르면, 투명 프록시(100)는 하나 이상의 제1 포트(110), 하나 이상의 제2 포트(130), 하나 이상의 HA 포트(150), 저장 유닛(170) 및 중앙 처리 유닛(190)을 포함한다.
제1 포트(110)는 예를 들어 사용자 단말로부터의 통신 패킷을 수신하고 사용자 단말로 통신 패킷을 송신하는 포트이다. 제1 포트(110)는 예를 들어 이더넷 포트일 수 있다. 투명 프록시(100)는 다수의 제1 포트(110)를 가질 수 있다.
제1 포트(110)는 연결된 L3 스위치(200)를 통해 투명 프록시(100)에 연결된 서버에서 제공하는 서비스와 관련되고 설정된 세션을 통한 서비스 패킷을 사용자 단말로부터 수신하고 송신할 수 있다.
제2 포트(130)는 예를 들어 서버 등으로 통신 패킷을 송신하고 서버 등으로부터 통신 패킷을 수신하는 포트이다. 제2 포트(130)는 예를 들어 이더넷 포트일 수 있다. 투명 프록시(100)는 다수의 제2 포트(130)를 가질 수 있다.
각각의 제2 포트(130)는 대응하는 제1 포트(110)를 가진다. 예를 들어, 지정된 하나의 제2 포트(130)는 사용자 단말에 연결된 대응하는 제1 포트(110)의 통신 패킷으로부터 처리된 통신 패킷을 서버로 출력한다. 지정된 하나의 제1 포트(110)는 서버에 연결된 대응하는 제2 포트(130)의 통신 패킷으로부터 처리된 통신 패킷을 출력한다. 제2 포트(130)와 제1 포트(110)가 대응하는 것으로 설명하였으나 다양한 변형 예를 가질 수 있다.
HA 포트(150)는 HA 메시지를 나타내는 통신 패킷을 출력하거나 수신하거나 송수신할 수 있는 포트이다. 설계 예에 따라, HA 포트(150)는 HA 메시지를 나타내는 통신 패킷을 다른 투명 프록시(100)로 전송하거나 다른 투명 프록시(100)로부터 수신할 수 있다.
저장 유닛(170)은 휘발성 메모리, 비휘발성 메모리 및/또는 하드디스크 등의 대용량 저장매체를 포함하여 각종 데이터, 프로그램 등을 저장한다. 저장 유닛(170)은 세션 테이블 및 세션 카운트 테이블 등을 저장할 수 있다.
세션 테이블은 네트워크 이중화 시스템 내에서 처리가 되고 있는 세션들과 각 세션의 처리를 담당할 투명 프록시(100)를 특정할 수 있도록 구성된다. 세션 테이블의 각각의 엔트리는 세션 정보와 오너(owner) ID를 포함한다. 세션 정보는 적어도 세션 ID를 포함하며, 오너 ID는 해당 세션을 처리를 담당할 투명 프록시(100)의 ID를 나타낸다.
세션 카운트 테이블의 엔트리는 투명 프록시 ID와 각 투명 프록시(100)에 할당되어 있는 세션의 카운트(갯수)를 저장한다. 세션 카운트 테이블은 세션이 생성되거나 소멸되거나 세션 동기화 메시지를 송수신함에 따라 갱신될 수 있다. 이와 같이, 저장 유닛(170)은 각 투명 프록시(100)별로 세션 카운트를 저장한다.
중앙 처리 유닛(190)은 투명 프록시(100)를 제어한다. 중앙 처리 유닛(190)은 프로그램의 명령어 코드를 수행할 수 있는 실행 유닛(Execution Unit) 및/또는 통신 패킷의 처리에 특화된 전용 프로세서 등을 구비하여 프로그램 코드를 통해 또는 전용 하드웨어 로직을 통해 제1 포트(110)를 통해 인입하는 통신 패킷을 처리하여 제1 포트(110), 제2 포트(130) 또는 HA 포트(150)로 출력할 수 있다. 또한, 중앙 처리 유닛(190)은 제2 포트(130)를 통해 인입하는 통신 패킷을 처리하여 제1 포트(110), 제2 포트(130) 또는 HA 포트(150)로 출력할 수 있다.
또한, 중앙 처리 유닛(190)은 통신 패킷의 처리에 따라 세션을 생성, 소멸시킬 수 있다. 중앙 처리 유닛(190)은 HA 메시지를 생성하여 HA 포트(150)를 통해 다른 투명 프록시(100)로 HA 메시지를 전송할 수 있다.
중앙 처리 유닛(190)에서 이루어지는 각종 제어 흐름은 도 5 이하에서 상세히 살펴보도록 한다.
도 5는 세션을 설정하기 위한 예시적인 제어 흐름을 도시한 도면이다.
도 5의 세션 설정 제어 흐름은 예를 들어 사용자 단말 등으로부터 SYN 패킷을 수신한 투명 프록시(100)에 의해서 수행되고 바람직하게는 중앙 처리 유닛(190)의 제어에 따라 이루어진다.
먼저, 임의의 한 투명 프록시(100)(이하 '제1 투명 프록시'라 지칭함)는 SYN 패킷을 수신(S101)하며, 특정 제1 포트(110)가 SYN 패킷을 수신할 수 있다. SYN 패킷은 제1 포트(110)에 연결된 L3 스위치(200)를 통해 수신된다.
SYN 패킷의 수신에 따라, 제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 SYN 패킷에 대응하는 세션을 처리할 투명 프록시(100)를 결정(S103 내지 S115)한다.
구체적으로 살펴보면, 중앙 처리 유닛(190)은 저장 유닛(170)의 세션 카운트 테이블을 통해 SYN 패킷을 수신한 제1 투명 프록시(100)를 포함하는 전체 투명 프록시(100)들의 세션 카운트의 차이(이는 세션 카운트가 가장 큰 것과 가장 작은 것의 차이일 수 있다)를 계산(S103)한다.
제1 투명 프록시(100)의 중앙 처리 유닛(190)은 전체 투명 프록시를 대상으로 할 때 세션 카운트의 차이가 지정된 임계치 이내(예를 들어 설정된 임의의 정수)인지를 결정(S105)하고 지정된 임계치 이내인 경우 자신의(제1 투명 프록시(100))의 세션 카운트를 증가(S107)시킨다. 예를 들어, 중앙 처리 유닛(190)은 세션 카운트를 1 더 증가시켜 이를 저장 유닛(170)의 세션 카운트 테이블의 제1 투명 프록시(100)의 엔트리에 저장한다. 임계치는 투명 프록시(100)의 관리자 등에 의해 설정될 수 있다.
중앙 처리 유닛(190)은 세션을 생성(S109)한다. 중앙 처리 유닛(190)은 사용자 단말과 제1 투명 프록시(100) 사이의 세션과 제1 투명 프록시(100)와 내부 서버 사이의 세션을 생성할 수 있다. 세션의 생성에 따라 사용자 단말과의 세션 ID와 서버와의 세션 ID, 그 외 세션의 식별과 처리를 위한 각종 정보가 구성될 수 있으며 자신의 세션 테이블에 이들을 등록한다. 단계 S107와 단계 S109는 서로 그 순서가 바뀌어도 된다.
제1 투명 프록시(100)의 중앙 처리 유닛(190)은 세션 동기화 메시지를 생성하고 HA 포트(150)의 HA 링크를 통해 제2 투명 프록시(100) 등으로 세션 동기화 메시지를 전송한다. 세션 동기화 메시지는 생성된 세션 정보와 이 세션(들)을 처리할 오너 ID를 포함한다. 세션 정보는 세션을 식별하기 위한 세션 ID 등을 포함한다. 오너 ID는 설정된 세션의 서비스 패킷을 처리할 제1 투명 프록시(100)의 ID일 수 있다.
제1 투명 프록시(100)의 중앙 처리 유닛(190)은 세션 동기화 메시지의 생성 및 전송과 함께 자신의 세션 테이블도 갱신한다. 예를 들어, 중앙 처리 유닛(190)은 생성된 세션 정보와 오너 ID를 포함하는 엔트리를 생성하여 세션 테이블에 저장한다.
한편, 세션 동기화 메시지를 HA 링크(HA 포트(150))를 통해 수신한 제2 투명 프록시(100)(들)은 세션 동기화 메시지의 세션 정보와 오너 ID를 포함하는 신규의 엔트리를 생성하여 저장 유닛(170)의 세션 테이블에 기록한다. 또한, 세션 동기화 메시지를 수신한 제2 투명 프록시(100)는 오너 ID에 대응하는 (제1) 투명 프록시(100)의 세션 카운트를 증가시킨다.
세션 테이블의 엔트리는 세션을 식별 가능한 세션 정보와 세션을 처리할 투명 프록시(100)의 ID를 포함하여 서비스 패킷의 수신시에 대응하는 세션을 처리할 투명 프록시(100)를 결정할 수 있도록 구성되고 투명 프록시(100)에 의한 세션의 생성시에 서로 동기화된다.
만일 임계치 이상(초과)의 차이가 있는 경우, 제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 수신된 SYN 패킷에 대응하는 세션을 생성하고 처리할 투명 프록시(100)를 결정(S113)한다.
예를 들어, 중앙 처리 유닛(190)은 세션 카운트의 차이가 지정된 임계치 이상으로 작은 세션 카운트를 가지는 투명 프록시(100), 예를 들면 가장 작은 세션 카운트를 가지는 투명 프록시(100)를 세션을 처리할 투명 프록시(100)로 결정할 수 있다.
제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 지정된 임계치 이상으로 세션 카운트가 작은 제2 투명 프록시(100)로 수신된 SYN 패킷을 제2 투명 프록시(100)의 프록시 정보를 이용하여 HA 포트(150)의 HA 링크를 통해 포워딩한다.{가정하여 가장 작은 세션 카운트를 가진 투명 프록시가 바로 자신인 경우에는 예외적으로 포워딩하지 않고 자신이 단계 S107 내지 단계 S111 처럼 처리할 수도 있다. 그러나 이하에서는 다른 투명 프록시인 것으로 상정하여 설명한다.}
HA 포트(150)를 통해 SYN 패킷을 수신한 제2 투명 프록시(100)는 자신의 세션 카운트와 다른 세션 카운트 간의 재비교 과정 없이 자신의 세션 카운트를 증가시키고 세션을 생성하며 이후 세션 정보와 오너 ID를 포함하는 세션 동기화 메시지를 HA 포트(150)를 통해 제1 투명 프록시(100)를 포함하는 다른 투명 프록시(100)로 전송한다. 세션 동기화 메시지를 수신한 다른 투명 프록시(100)(들)는 동일한 동기화 처리를 수행한다.
이러한 과정을 통해, 투명 프록시(100) 사이에 처리해야 하는 세션을 등록하고 서로 동기화할 수 있고 처리를 분산시켜 부하를 동적으로 밸런싱시킬 수 있다.
도 6은 세션 설정 이후에 서비스 패킷을 처리하기 위한 예시적인 제어 흐름을 도시한 도면이다.
도 6의 제어 흐름은 세션 설정(도 5의 과정) 이후에 이루어지고 바람직하게는 서비스 패킷을 수신한 임의의 투명 프록시(100)의 중앙 처리 유닛(190)에 의한 제어로 이루어진다.
임의의 한 투명 프록시(100)인 제1 투명 프록시(100)는 특정 제1 포트(110)를 통해 L3 스위치(200)로부터 서비스 패킷을 수신(S201)한다.
제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 서비스 패킷에 대응하는 세션을 결정(S203)한다. 예를 들어, 중앙 처리 유닛(190)은 서비스 패킷 내의 헤더에서 세션 ID 등을 추출할 수 있다.
제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 서비스 패킷을 처리해야 할 오너 ID와 제1 투명 프록시(100)(자신)의 ID를 비교(S205)한다. 예를 들어, 중앙 처리 유닛(190)은 세션 테이블에서 서비스 패킷의 세션 정보(세선 ID)에 대응하는 오너 ID를 검색하고 검색된 오너 ID와 제1 투명 프록시(100) 자신의 ID를 비교한다.
검색된 오너 ID와 제1 투명 프록시(100)(자신)의 ID가 동일한 경우(S207), 제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 수신된 서비스 패킷을 처리(S209)한다. 예를 들어, 중앙 처리 유닛(190)은 특정 제1 포트(110)를 통해 수신된 서비스 패킷(의 데이터)을 제1 포트(110)에 대응하는 제2 포트(130)로 출력할 수 있으며 그 이하의 동작 설명은 통상적인 투명 프록시의 동작과 유사하므로 생략한다.
검색된 오너 ID와 제1 투명 프록시(100)(자신)의 ID가 다른 경우에, 제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 저장 유닛(170)에 저장되어 있는 세션 테이블을 이용하여 수신된 서비스 패킷을 처리할 투명 프록시(100)를 결정(S211)한다.
예를 들어, 서비스 패킷의 세션 정보에 대응하는 오너 ID를 세션 테이블에서 검색하고 검색된 오너 ID에 대응하는 투명 프록시(100)를 서비스 패킷을 처리할 투명 프록시(100)로 결정할 수 있다.
그리고 제1 투명 프록시(100)(의 중앙 처리 유닛(190))는 HA 메시지를 구성한다. 중앙 처리 유닛(190)은 수신된 서비스 패킷과 네트워크 포트 정보를 포함하는 HA 메시지를 구성하여 결정된 투명 프록시(100)로 HA 포트(150)의 HA 링크를 통해 HA 메시지로서 포워딩(S213)한다.
여기서, HA 메시지의 단편화(fragmentation)를 방지하기 위해서, HA 메시지를 송수신하는 인터페이스의 MTU(Maximum transmission unit) 크기는 상기 서비스 패킷을 처리하는 인터페이스의 MTU 크기보다 더 크게 설정된다. 예를 들어, 제1 포트(110)의 MTU 크기가 1500 바이트인 경우에 HA 포트(150)의 MTU 크기는 1500 바이트를 모두 포함하고 HA 메시지의 헤더를 더 포함할 수 있는 1600 바이트로 설정될 수 있다.
서비스 패킷을 수신한 제2 투명 프록시(100)는 포워딩된 HA 메시지에 포함된 네트워크 포트 정보에 따라 HA 메시지의 서비스 패킷을 처리한다. 예를 들어, 제2 투명 프록시(100)의 중앙 처리 유닛(190)은 수신된 서비스 패킷(의 데이터)을 네트워크 포트 정보의 제1 포트(110)에 대응하는 포트로 출력할 수 있다.
투명 프록시(100)들은 프록시 처리와 무관한 패킷이나 세션들은 HA 링크를 통해 포워딩하지 않고 직접 처리하여 출력할 수 있고 HA 링크를 통해 포워딩된 패킷들은 수신한 투명 프록시(100)가 직접 처리하도록 구성된다. 패킷들은 HA 링크를 통한 터널링 기법을 통해 다른 투명 프록시(100)로 포워딩될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 투명 프록시
110 : 제1 포트
130 : 제2 포트
150 : HA 포트
170 : 저장 유닛
190 : 중앙 처리 유닛
200 : L3 스위치

Claims (12)

  1. 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법으로서,
    제1 투명 프록시가 L3 스위치를 통해 서비스 패킷을 수신하는 단계;
    상기 제1 투명 프록시가 상기 서비스 패킷을 처리해야 할 오너 ID와 상기 제1 투명 프록시의 ID를 비교하는 단계;
    상기 오너 ID와 상기 제1 투명 프록시의 ID가 다른 경우, 상기 제1 투명 프록시가 상기 서비스 패킷을 처리할 제2 투명 프록시를 상기 제1 투명 프록시에 저장된 세션 테이블을 이용하여 결정하는 단계; 및
    상기 제1 투명 프록시가 상기 결정된 제2 투명 프록시로 상기 서비스 패킷을 포함하는 HA(High availability) 메시지를 구성하여 HA(High availability) 링크를 통해 전송함으로써 포워딩하는 단계;를 포함하는,
    패킷 처리 방법.
  2. 제1항에 있어서,
    상기 제2 투명 프록시가 상기 HA 메시지에 포함된 네트워크 포트 정보에 따라 상기 HA 메시지에 포함된 서비스 패킷을 처리하는 단계;를 더 포함하고,
    상기 HA 메시지를 송수신하는 인터페이스의 MTU(Maximum transmission unit) 크기는 상기 서비스 패킷을 처리하는 인터페이스의 MTU 크기보다 더 큰,
    패킷 처리 방법.
  3. 제1항에 있어서,
    서비스 패킷을 수신하는, 상기 단계의 이전에,
    제1 투명 프록시가 SYN 패킷을 수신하고 SYN 패킷에 대응하는 세션을 처리할 투명 프록시를 결정하는 단계;를 더 포함하는,
    패킷 처리 방법.
  4. 제3항에 있어서,
    제1 투명 프록시가 SYN 패킷에 대응하는 세션 정보와 제1 투명 프록시의 오너 ID를 포함하는 세션 동기화 메시지를 HA 링크를 통해 하나 이상의 제2 투명 프록시로 전송하는 단계; 및
    상기 세션 동기화 메시지를 수신한 제2 투명 프록시가 세션 동기화 메시지의 세션 정보 및 오너 ID를 세션 테이블에 기록하는 단계;를 더 포함하고,
    상기 세션 테이블은 수신된 서비스 패킷의 세션을 처리할 투명 프록시를 결정할 수 있는,
    패킷 처리 방법.
  5. 제3항에 있어서,
    상기 투명 프록시를 결정하는 단계는,
    전체 투명 프록시를 대상으로 세션 카운트 사이의 차이를 계산하는 단계, 상기 차이가 지정된 임계치 이내 인지를 결정하는 단계, 및 지정된 임계치 이내인 경우 상기 제1 투명 프록시의 세션 카운트를 증가시키는 단계를 포함하는,
    패킷 처리 방법.
  6. 제4항에 있어서,
    상기 세션 동기화 메시지를 수신한 제2 투명 프록시가 세션 정보의 오너 ID에 대응하는 제1 투명 프록시의 세션 카운트를 증가시키는 단계;를 더 포함하는,
    패킷 처리 방법.
  7. 제5항에 있어서,
    상기 투명 프록시를 결정하는 단계는,
    지정된 임계치 이상으로 세션 카운트가 작은 제2 투명 프록시로 SYN 패킷을 HA 링크를 통해 포워딩하는 단계를 더 포함하고,
    SYN 패킷을 HA 링크를 통해 수신한 제2 투명 프록시는 제2 투명 프록시의 오너 ID와 세션 정보를 포함하는 세션 동기화 메시지를 HA 링크를 통해 제1 투명 프록시를 포함하는 다른 투명 프록시로 전송하는,
    패킷 처리 방법.
  8. 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 시스템으로서,
    제1 투명 프록시; 및 제2 투명 프록시;를 포함하고,
    상기 제1 투명 프록시는,
    L3 스위치를 통해 서비스 패킷을 수신하는 제1 포트;
    HA(High availability) 메시지를 송신하는 HA(High availability) 포트;
    세션 테이블을 저장하는 저장 유닛; 및
    상기 서비스 패킷을 처리해야 할 오너 ID와 제1 투명 프록시의 ID를 비교하고 상기 오너 ID와 제1 투명 프록시의 ID가 다른 경우, 상기 서비스 패킷을 처리할 투명 프록시를 상기 세션 테이블을 이용하여 결정하고 결정된 제2 투명 프록시로 상기 서비스 패킷을 포함하는 HA(High availability) 메시지를 구성하여 상기 HA(High availability) 포트를 통해 전송함으로써 포워딩하는 중앙 처리 유닛;을 포함하는,
    패킷 처리 시스템.
  9. 제8항에 있어서,
    상기 제1 포트는 SYN 패킷을 수신하고,
    상기 중앙 처리 유닛은 SYN 패킷에 대응하는 세션을 처리할 투명 프록시를 결정하는,
    패킷 처리 시스템.
  10. 제9항에 있어서,
    상기 중앙 처리 유닛은 SYN 패킷의 수신에 따라 SYN 패킷에 대응하는 세션 정보와 제1 투명 프록시의 오너 ID를 포함하는 세션 동기화 메시지를 HA 포트를 통해 제2 투명 프록시로 전송하고,
    상기 세션 동기화 메시지를 수신한 제2 투명 프록시는 세션 동기화 메시지의 세션 정보 및 오너 ID를 세션 테이블에 기록하며,
    상기 세션 테이블은 수신된 서비스 패킷의 세션을 처리할 투명 프록시를 결정할 수 있는,
    패킷 처리 시스템.
  11. 제9항에 있어서,
    저장 유닛은 세션 카운트를 더 저장하고,
    상기 중앙 처리 유닛은, 투명 프록시를 결정하기 위해, 전체 투명 프록시를 대상으로 세션 카운트의 차이를 계산하고 상기 차이가 지정된 임계치 이내 인지를 결정하며 지정된 임계치 이내인 경우 제1 투명 프록시의 세션 카운트를 증가시키는,
    패킷 처리 시스템.
  12. 제11항에 있어서,
    상기 중앙 처리 유닛은, 투명 프록시를 결정하기 위해, 지정된 임계치 이상으로 세션 카운트가 작은 제2 투명 프록시로 SYN 패킷을 HA 포트를 통해 포워딩하고,
    SYN 패킷을 HA 포트를 통해 수신한 제2 투명 프록시는 제2 투명 프록시의 오너 ID와 세션 정보를 포함하는 세션 동기화 메시지를 HA 포트를 통해 제1 투명 프록시를 포함하는 다른 투명 프록시로 전송하는,
    패킷 처리 시스템.
KR1020190001598A 2019-01-07 2019-01-07 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템 KR102085331B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190001598A KR102085331B1 (ko) 2019-01-07 2019-01-07 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190001598A KR102085331B1 (ko) 2019-01-07 2019-01-07 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템

Publications (1)

Publication Number Publication Date
KR102085331B1 true KR102085331B1 (ko) 2020-03-05

Family

ID=69803976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190001598A KR102085331B1 (ko) 2019-01-07 2019-01-07 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템

Country Status (1)

Country Link
KR (1) KR102085331B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000000185A (ko) * 1999-09-29 2000-01-15 최명렬 네트워크 주소 변환(nat) 기능을 이용한 주소 절약형인터넷 접속 및 가상 사설망(vpn) 구성 방법
KR20030000080A (ko) * 2001-06-22 2003-01-06 주식회사 엑스큐어넷 네트워크상에서의 투명한 게이트웨이 또는 투명한 프록시구현 방법
KR20040045788A (ko) * 2002-11-25 2004-06-02 엘지전자 주식회사 호 에이전트 이중화 구현 시스템 및 방법
KR100506529B1 (ko) * 2003-08-06 2005-08-03 삼성전자주식회사 데이터 통신 네트워크에서의 경로 엠티유 발견 네트워크장치, 시스템 및 그 방법
KR20070096987A (ko) * 2007-06-18 2007-10-02 (주)모니터랩 투명 프록시 시스템 및 그의 패킷 처리 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000000185A (ko) * 1999-09-29 2000-01-15 최명렬 네트워크 주소 변환(nat) 기능을 이용한 주소 절약형인터넷 접속 및 가상 사설망(vpn) 구성 방법
KR20030000080A (ko) * 2001-06-22 2003-01-06 주식회사 엑스큐어넷 네트워크상에서의 투명한 게이트웨이 또는 투명한 프록시구현 방법
KR20040045788A (ko) * 2002-11-25 2004-06-02 엘지전자 주식회사 호 에이전트 이중화 구현 시스템 및 방법
KR100506529B1 (ko) * 2003-08-06 2005-08-03 삼성전자주식회사 데이터 통신 네트워크에서의 경로 엠티유 발견 네트워크장치, 시스템 및 그 방법
KR20070096987A (ko) * 2007-06-18 2007-10-02 (주)모니터랩 투명 프록시 시스템 및 그의 패킷 처리 방법

Similar Documents

Publication Publication Date Title
US9306907B1 (en) Load balancing among a cluster of firewall security devices
US10243833B2 (en) Flow table management method, and related device and system
US9288183B2 (en) Load balancing among a cluster of firewall security devices
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
EP2974133B1 (en) Method and system for controlling an underlying physical network by a software defined network
EP3435606A1 (en) Message processing method, computing device, and message processing apparatus
JP2019134461A (ja) ミドルウェアおよびアプリケーションの実行のための設計されたシステムに対するサービス妨害(dos:denial of service)攻撃を防止するためのシステムおよび方法、ならびに、ミドルウェアおよびアプリケーションの実行のための設計されたシステムにおいてサブネットアドミニストレータ(sa:subnet administrator)アクセスに基づいて信頼性のある接続(rc:reliable connection)をサポートするためのシステムおよび方法
EP1427162A1 (en) Security processor mirroring
EP3694145B1 (en) Method and device for sending messages
EP3393093A1 (en) Communication method and device for use in virtual extensible local area network
US8817815B2 (en) Traffic optimization over network link
US10819659B2 (en) Direct replying actions in SDN switches
WO2016086064A1 (en) Source ip address transparency systems and methods
US10171352B2 (en) Communication system, node, control device, communication method, and program
US20160080481A1 (en) Methods of operating load balancing switches and controllers using modified flow entries
US20150249599A1 (en) Virtual cluster establishment method and network device
CN106375355B (zh) 负载均衡处理方法及装置
CN112929264B (zh) 业务流量传输方法、系统及网络设备
JP6280223B2 (ja) 通信ネットワーク内の制御を提供する方法
US9397958B2 (en) FCoE VN—port virtualizer
CN109361602B (zh) 一种基于OpenStack云平台转发报文的方法和系统
US11575653B2 (en) Efficient encryption and decryption of duplicate packets communicated via a virtual private network
EP4009592A1 (en) Method for configuring port state and network device
KR102085331B1 (ko) 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템
US10257087B2 (en) Communication device and communication method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant