KR20180099143A - Tcp 세션 복구 장치 및 방법 - Google Patents

Tcp 세션 복구 장치 및 방법 Download PDF

Info

Publication number
KR20180099143A
KR20180099143A KR1020170026191A KR20170026191A KR20180099143A KR 20180099143 A KR20180099143 A KR 20180099143A KR 1020170026191 A KR1020170026191 A KR 1020170026191A KR 20170026191 A KR20170026191 A KR 20170026191A KR 20180099143 A KR20180099143 A KR 20180099143A
Authority
KR
South Korea
Prior art keywords
session
tcp
master
backup
unit
Prior art date
Application number
KR1020170026191A
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 KR1020170026191A priority Critical patent/KR20180099143A/ko
Publication of KR20180099143A publication Critical patent/KR20180099143A/ko

Links

Images

Classifications

    • 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/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

TCP 세션 복구 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 TCP 세션 복구 방법은 TCP 세션 복구 장치를 이용하는 방법에 있어서, 마스터 모드가 활성화된 마스터 프로세서부가 TCP 세션을 생성하여, 상기 TCP 세션의 복구를 위한 세션 데이터를 생성하는 단계; 상기 세션 데이터를 백업 모드가 활성화된 백업 프로세서부에 전송하는 단계; 상기 마스터 프로세서부의 시스템 장애가 감지된 경우, 상기 마스터 프로세서부는 시스템 복구를 수행하고, 상기 백업 프로세서부는 프로세서 모드를 마스터 모드로 활성화 하는 단계 및 상기 마스터 모드가 활성화된 백업 프로세서부가 상기 세션 데이터를 이용하여 상기 TCP 세션을 복구하는 단계를 포함한다.

Description

TCP 세션 복구 장치 및 방법{APPARATUS AND METHOD FOR RECOVERING TCP-SESSION}
본 발명은 인터넷 장애 복구 기술에 관한 것으로, 보다 상세하게는 TCP 세션을 복구하여 인터넷 장애를 복구하는 기술에 관한 것이다.
최근 정보 통신 기술의 급속한 발전으로 인터넷 뱅킹, 전자결재 등 인터넷을 기반으로 한 다양한 서비스가 개발되고 있다. 이에 따라, 인터넷 통신망의 품질뿐만 아니라 중단 없는 서비스에 대한 요구가 점차 증대되고 있으며, 이를 위해 TCP 세션을 복원하기 위한 장애 복구 기술의 연구가 활발히 진행 중이다. 대표적인 기술로는 California 대학교의 FT-TCP, Cornell 대학교의 TCPR이 있다.
FT-TCP는 이중화 시스템을 기반으로 운영되며, 두 가지 래퍼(wrapper) 함수를 TCP 레이어의 위와 아래에 위치시키고, 래퍼 함수를 이용하여 TCP 세션 정보를 저장장치(logger)에 기록한다. 이때, 저장장치에 기록된 TCP 세션 정보는 마스터 프로세서의 세션 정보와 일치하게 유지된다. 마스터 프로세서에서 장애가 발생한 경우 백업 프로세서가 활성화되며, 백업 프로세서는 저장장치에 기록된 TCP 세션 정보를 이용하여 TCP 세션을 복구한다. 그러나, FT-TCP는 TCP 레이어에 대하여 래퍼 함수를 이용하기 때문에 커널 패치가 필요하며, TCP 레이어에서 모든 절체(switchover) 과정을 담당하기 때문에 절체 지연시간이 발생하는 문제점이 존재한다.
이에 비해, TCPR은 내부 시스템의 응용과 피어(peer) 응용 사이에 위치한 네트워크 미들웨어를 통해 TCP 세션 복구를 수행함으로써, TCP 레이어에 대한 패치가 불필요하다. 또한, TCPR의 네트워크 미들웨어는 두 응용 사이에 송/수신되는 TCP 패킷의 헤더 정보를 이용하여, 두 응용과 각각 지역적인 TCP 세션을 생성한다. 내부 시스템의 응용이 중단된 경우, 네트워크 미들웨어가 피어 응용과 TCP 세션을 유지함으로써 TCP 세션 연결이 유지된다. 이를 통해, TCP 세션 정보를 별도로 저장하지 않고, 끊김 없이 TCP 세션을 유지하는 것이 가능하다. 그러나, TCPR은 절체 기술이 존재하지 않음에 따라, 시스템에 장애 상황이 발생할 경우 TCP 세션 복구가 어려운 문제점이 존재한다.
한편, 한국공개특허 제 10-2015-0032698 호“ 이중화 구조에 기초한 TCP 기반의 고장 감내 장치 및 방법”는 마스터 프로세서에서 이상이 감지되면, 마스터 프로세서에 연결되고 있던 클라이언트와 백업 프로세서 사이에 세션을 설정하여, 고장 발생시에도 클라이언트에서의 네트워크 통신을 유지하도록 하는 기술에 관하여 개시하고 있다.
본 발명은 커널의 수정 또는 패치 과정 없이 응용 레벨에서 TCP 세션을 끊김 없이 유지하는 것을 목적으로 한다.
또한, 본 발명은 시스템의 장애 상황 발생 시 절체를 통해 무중단 서비스를 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 TCP 세션 복구 방법은 TCP 세션 복구 장치를 이용하는 방법에 있어서, 마스터 모드가 활성화된 마스터 프로세서부가 TCP 세션을 생성하여, 상기 TCP 세션의 복구를 위한 세션 데이터를 생성하는 단계; 상기 세션 데이터를 백업 모드가 활성화된 백업 프로세서부에 전송하는 단계; 상기 마스터 프로세서부의 시스템 장애가 감지된 경우, 상기 마스터 프로세서부는 시스템 복구를 수행하고, 상기 백업 프로세서부는 프로세서 모드를 마스터 모드로 활성화 하는 단계 및 상기 마스터 모드가 활성화된 백업 프로세서부가 상기 세션 데이터를 이용하여 상기 TCP 세션을 복구하는 단계를 포함한다.
본 발명은 커널의 수정 또는 패치 과정 없이 응용 레벨에서 TCP 세션을 끊김 없이 유지할 수 있다.
또한, 본 발명은 시스템의 장애 상황 발생 시 절체를 통해 무중단 서비스를 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 TCP 세션 복구 장치를 나타낸 블록도이다.
도 2는 도 1에 도시된 TCP 응용부의 일 예를 세부적으로 나타낸 블록도이다.
도 3은 도 1에 도시된 세션 관리부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 세션 데이터의 구조를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법을 나타낸 동작흐름도이다.
도 6은 본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법을 나타낸 동작흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 TCP 세션 복구 장치를 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 TCP 세션 복구 장치(10)는 마스터 프로세서부(100)와 백업 프로세서부(200)를 포함하는 이중화 시스템으로 구성될 수 있다.
이 때, TCP 세션 복구 장치(10)는 피어 장치(20)와 연결되어 마스터 프로세서부(100)에서 장애가 발생할 경우, 백업 프로세서부(200)가 TCP 세션을 유지하면서 TCP 응용의 종료 없이, TCP 응용 서비스를 제공할 수 있다.
마스터 프로세서부(100)와 백업 프로세서부(200)의 각 구성요소들은 동일한 기능을 수행할 수 있고, 프로세서 모드를 전환하는 것으로 각각 마스터 기능과 백업 기능을 모두 수행할 수 있다.
마스터 프로세서부(100)는 마스터 TCP 응용부(110), 마스터 세션 관리부(120) 및 마스터 절체 관리부(130)를 포함한다.
백업 프로세서부(200)는 백업 TCP 응용부(210), 백업 세션 관리부(220) 및 백업 절체 관리부(230)를 포함한다.
마스터 TCP 응용부(110)는 서비스하고자 하는 TCP 응용에서 호출되어 사용될 수 있다.
이때, 마스터 TCP 응용부(110)는 TCP 응용의 패킷을 iptables를 이용하여 마스터 세션 관리부(120)에게 전달할 수 있다.
마스터 TCP 응용부(110)에서 마스터 세션 관리부(120)로의 TCP 응용 패킷의전달 규칙은 호출 시 자동으로 등록되며, TCP 응용 종료 시 자동으로 삭제될 수 있다.
마스터 세션 관리부(120)는 피어 장치(20)와 TCP 응용간의 TCP 세션을 유지할 수 있다
이 때, 마스터 세션 관리부(120)는 백업 세션 관리부(220)와 TCP 세션 정보를 동기화할 수 있다.
이때, 마스터 세션 관리부(120)는 마스터 절체 관리부(130)를 통해 피어 장치(20)와 연결될 수 있다.
백업 세션 관리부(220)는 마스터 세션 관리부(120)로부터 세션 데이터를 수신하여 해당 프로세서의 로컬 파일시스템에 저장할 수 있다.
피어 장치(20)의 절체 수행 시, 백업 세션 관리부(220)는 저장된 세션 데이터를 이용하여 피어 장치(20)와의 TCP 세션을 재연결 과정 없이 복원할 수 있다.
이 때, TCP 세션이 정상적으로 종료된 경우, 마스터 세션 관리부(120)는 백업 세션 관리부(220)에게 세션 종료 메시지를 전달할 수 있다.
마스터 절체 관리부(130)와 백업 절체 관리부(230)는 각각 마스터 프로세서부(100)와 백업 프로세서부(200)의 장애 상황을 감지하며, 마스터 프로세서부(100)에 장애 상황이 발생할 경우 자동적으로 절체를 수행할 수 있다.
이 때, 마스터 절체 관리부(130)와 백업 절체 관리부(230)는 각각 마스터 프로세서부(100)와 백업 프로세서부(200)의 모드 정보(마스터/백업)를 마스터 세션 관리부(120)와 백업 세션 관리부(220)에 제공할 수 있다.
이를 통해, 마스터 세션 관리부(120)와 백업 세션 관리부(220)는 현재 프로세서의 프로세서 모드 정보를 확인할 수 있다.
이 때, 마스터 절체 관리부(130)와 백업 절체 관리부(230)는 서로 주기적으로 하트비트(heartbeat)를 전송하여, 프로세서의 장애 상황을 감지할 수 있다.
이 때, 마스터 절체 관리부(130)와 백업 절체 관리부(230) 중 적어도 하나가 기설정된 시간 동안 응답이 없을 경우, 어느 하나의 프로세서부가 장애가 발생한 것으로 판단하여 절체를 수행할 수 있다.
또한, 마스터 절체 관리부(130)는 마스터 프로세서부(100)의 이더넷 인터페이스에 피어 장치(20)의 접근을 위한 가상 IP를 할당할 수 있다. 가상 IP는 마스터 프로세서부(130)에서만 활성화될 수 있고, 가상 IP가 할당된 이더넷 인터페이스와 MAC 주소를 공유할 수 있다. 가상 IP는 절체 시 새롭게 마스터 모드가 활성화된 백업 프로세서부(200)의 이더넷 인터페이스에 자동적으로 할당될 수 있고, 마스터 모드가 활성화된 백업 프로세서부(200)의 백업 절체 관리부(230)는 GARP 패킷을 피어 장치(20)에게 전송하여 가상 IP를 인식 시킬 수 있다.
GARP 패킷을 수신한 피어 장치(20)는 자신의 ARP 테이블을 갱신할 수 있다.
이 때, 피어 장치(20)는 갱신된 MAC 주소를 통해 새롭게 활성화된 마스터 프로세서에 접근할 수 있다.
도 2는 도 1에 도시된 TCP 응용부의 일 예를 세부적으로 나타낸 블록도이다.
백업 TCP 응용부(210)는 마스터 TCP 응용부(110)에 상응할 수 있으므로 TCP 응용부(110)로 통일하여 설명한다.
도 2를 참조하면, TCP 응용부(110)는 응용 API 부(111) 및 IPTABLES 규칙 관리부(112)를 포함할 수 있다.
응용 API 부(111)는 시스템에서 서비스하고자 하는 TCP 응용을 세션 관리부(120)와 연결하기 위한 소켓 API를 제공할 수 있다. 응용 API에서 제공하는 소켓 API는 기존 소켓 API와 동일한 형식으로 제공되며, 이를 통해 사용자의 사용성을 높일 수 있다.
응용 API 부(111)은 사용자가 손쉽게 사용할 수 있도록 라이브러리 형태로 제공될 수 있다.
IPTABLES 규칙 관리부(112)는 시스템의 TCP 응용과 피어 응용간의 TCP 패킷을 커널 패킷 모듈에서 관리하는 큐로 전송하기 위한 iptables 규칙을 관리할 수 있다.
이 때, IPTABLES 규칙 관리부(112)는 TCP 응용에서 bind() 호출 시 iptables에 규칙을 등록할 수 있고, close() 호출 시 iptables에서 자동으로 규칙을 삭제할 수 있다.
이 때, 세션 관리부(120)로부터 TCP 종료 메시지를 전달 받은 경우, IPTABLES 규칙 관리부(112)는 전달받은 TCP 세션에 상응하는 iptables 규칙을 삭제할 수 있다. 이를 통해, 마스터 프로세서부(100)와 백업 프로세서부(200)간에 TCP 세션 연결 상태뿐만 아니라, iptables 규칙 또한 동기화를 유지할 수 있다. 한편, TCP 응용의 비정상종료 후 재실행 시, iptables에 규칙이 중복 적용되는 것을 방지하기 위해, 동일한 규칙에 대해서는 등록 과정을 수행하지 않을 수 있다.
도 3은 도 1에 도시된 세션 관리부의 일 예를 세부적으로 나타낸 블록도이다.
백업 세션 관리부(220)는 마스터 세션 관리부(120)에 상응할 수 있으므로 세션 관리부(120)로 통일하여 설명한다.
도 3을 참조하면, 세션 관리부(120)는 커널 패킷 필터부(121), 패킷 핸들러부(122), 세션 데이터 관리부(123) 및 세션 데이터 동기화부(124)를 포함할 수 있다.
커널 패킷 필터부(121)는 시스템 내에서 서비스되는 TCP 응용과 피어 장치(20)의 응용간에 전송되는 TCP 패킷들을 큐(queue)에 저장하고, 큐에 저장된 패킷들을 사용자 영역에서 사용할 수 있도록 관리할 수 있다.
이때, 커널 패킷 필터부(121)의 큐에 TCP 패킷들을 전달하기 위해서는 iptables에 규칙을 등록해야 하며, 이는 TCP 응용부(110)에서 처리할 수 있다.
패킷 핸들러부(122)는 큐에 저장된 패킷들의 헤더 정보를 추출하고, 추출된 헤더 정보를 이용하여 TCP 세션 복구를 위한 세션 데이터를 생성할 수 있다.
세션 데이터 관리부(123)는 시스템 내에서 서비스되는 TCP 응용과 피어 장치(20)의 응용간에 각각 TCP 세션을 생성하고, 생성된 세션 데이터와 TCP 응용으로부터 전달된 TCP 패킷 헤더 정보를 비교하여 TCP 세션의 복구 및 TCP 패킷 전달을 수행할 수 있다. TCP 세션의 복구는 저장된 세션 데이터를 이용하며, 시퀀스 넘버(sequence number)와 확인 응답 넘버(acknowledgment number)의 보정을 통해 이루어질 수 있다. 이는 TCP 세션은 시퀀스 넘버와 이에 대한 확인 응답을 확인함으로써, 연결을 유지하기 때문이다. TCP 세션 복구 과정은 다음과 같다.
세션 데이터 관리부(123)는 TCP 응용으로부터 새롭게 전송된 패킷의 시퀀스 넘버와 세션 데이터에 저장된 확인 응답 번호를 비교하여 TCP 세션의 장애 상황을 인식할 수 있다.
세션 데이터 관리부(123)는 장애 상황이 인식되지 않을 경우, 전송된 패킷을 그대로 피어 장치(20)에게 전달할 수 있다.
세션 데이터 관리부(123)는 TCP 세션의 장애 상황이 인식될 경우, TCP 응용과 세션 연결을 지속하기 위하여, 세션 데이터에 저장된 TCP 응용의 확인 응답 번호에서 1을 뺀 값을 응답 패킷의 시퀀스 넘버로 설정할 수 있다.
이는 TCP 헤더의 SYN 플래그는 1바이트를 차지하므로 시퀀스 넘버에 1 이 더해진 값이 확인 응답 번호로 저장되었기 때문이다.
따라서, 새로운 시퀀스 넘버는 이전의 확인 응답 번호로부터 지속 되야 하므로, 확인 응답 번호에서 1을 뺀 값을 응답 패킷의 시퀀스 넘버로 설정할 수 있다.
응답 패킷의 확인 응답 번호는 현재 패킷의 시퀀스 넘버를 이용하여 설정할 수 있다.
이 때, 세션 데이터 관리부(123)는 응답 패킷이 피어 응용으로부터 전송된 것으로 TCP 응용에게 인식시키기 위해 저장된 세션 데이터의 정보를 이용하여 패킷 헤더를 생성할 수 있다.
이 때, 세션 데이터 관리부(123)는 세션 데이터의 정보를 이용하여 보정된 응답 패킷을 TCP 응용에 전송할 수 있다.
응답 패킷을 정상적으로 수신한 TCP 응용은 세션 관리부(120)에게 다시 패킷을 전송할 수 있다.
이 때, 세션 데이터 관리부(123)는 마지막으로 정상 전송된 확인 응답 번호를 이용하여 TCP 응용으로부터 수신한 패킷의 시퀀스 넘버를 보정하고, 보정된 패킷을 피어 장치(20)에게 전송할 수 있다.
세션 데이터 동기화부(124)는 저장된 세션 데이터를 백업 프로세서부(200)에게 전송할 수 있다.
이를 위해, 세션 데이터 동기화부(124)는 마스터 프로세서부(100)를 TCP 서버로, 백업 프로세서부(200)를 클라이언트로 설정하여 TCP 세션을 생성할 수 있고, 세션 데이터가 변경될 때마다 백업 프로세서부(200)에게 세션 데이터를 전송할 수 있다.
이 때, 세션 데이터 동기화부(124)은 전송비용을 최소화하기 위하여, TCP 응용과 피어 장치(20)간의 마지막 응답 패킷에 대한 변경 내용만을 백업 프로세서부(200)에게 전송할 수 있다. 아울러, 마스터 프로세서부(100)와 피어 장치(20)의 응용간의 TCP 세션이 정상적으로 종료된 경우, 마스터 프로세서부(100)는 백업 프로세서부(200)에게 TCP 세션 종료 메시지를 전달할 수 있다.
TCP 종료 메시지를 전달 받은 백업 프로세서부(200)는 세션 데이터 관리부를 통해 세션 데이터에 저장된 해당 TCP 세션의 정보를 삭제할 수 있다.
한편, 절체를 통해 마스터 프로세서부(100)와 백업 프로세서(200)가 변경된 경우, TCP 세션을 새롭게 생성하여 서버와 클라이언트 구성을 현재 프로세서의 모드 정보와 동기화할 수 있다.
도 4는 본 발명의 일실시예에 따른 세션 데이터의 구조를 나타낸 도면이다.
도 4를 참조하면, 세션 데이터의 구조는 피어로부터 전송 여부(From Peer), 이중화 시스템에서 서비스되는 TCP 응용의 포트 번호(Application Port Number), TCP 응용의 확인 응답 번호(Application ACK Number), 마지막으로 정상 전송된 확인 응답 번호(Safe ACK Number), 피어 응용의 IP 주소(Peer Address), 피어 응용의 포트 번호(Peer Port Number), 피어 응용의 최대 전송 데이터 크기(Maximum Segment Size), 피어 응용의 윈도우 크기(Window Size), 피어 응용의 가변 선택 확인응답 여부(SACK), TCP 응용에서 수신 완료 여부(Fin Reading), TCP 응용에서 송신 완료 여부(Fin Writing)로 구성될 수 있다.
이 때, 마지막으로 정상 전송된 확인 응답 번호는 TCP 응용에서 전송된 패킷의 경우, 패킷의 시퀀스 넘버에 1을 더한 값으로 설정할 수 있다. 이는 TCP 헤더의 SYN 플래그는 1바이트를 차지하기 때문이다. 한편, 피어 응용에서 전송된 패킷의 경우, 패킷의 확인 응답 번호는 마지막으로 정상 전송된 확인 응답 번호로 설정할 수 있다.
도 5는 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법을 나타낸 동작흐름도이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법은 먼저 TCP 세션을 생성할 수 있다(S310).
즉, 단계(S310)는 먼저 마스터 프로세서부(100)와 백업 프로세서부(200)를 활성화 하여 각각의 모드 정보를 생성하고, 모드 정보를 이용하여 세션 데이터 전송을 위한 TCP 세션을 생성할 수 있다.
이 때, 단계(S310)는 TCP 패킷을 전달하기 위한 iptables 규칙을 등록할 수 있다. 이를 통해, TCP 응용과 피어 장치(20)의 응용 간의 TCP 패킷은 쓰리웨이 핸드쉐이크(3-way handshake) 과정을 통해 TCP 세션을 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법은 세션 데이터를 생성할 수 있다(S320).
즉, 단계(S320)는 큐에 저장된 패킷들의 헤더 정보를 추출하고, 추출된 헤더 정보를 이용하여 TCP 세션 복구를 위한 세션 데이터를 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법은 세션 데이터를 백업 프로세서부(200)에게 전송할 수 있다(S330).
또한, 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법은 시스템 장애 발생을 확인할 수 있다(S340).
이 때, 단계(S340)는 마스터 프로세서부(100)에 장애가 발생되지 않을 경우, 세션 데이터 전송을 반복 수행할 수 있고, 장애 상황 상황 발생 시, 시스템 복구를 진행할 수 있다(S350).
즉, 단계(S350)는 시스템 장애에 대한 복구를 위하여, 시스템 리부트 등의 시스템 복구 작업을 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법은 시스템 복구 여부를 확인할 수 있다(S360).
이 때, 단계(S360)는 시스템 복구가 완료되지 않은 경우, 시스템 복구 작업을 반복 수행할 수 있고, 시스템 복구가 완료된 경우, 기존의 마스터 프로세서부(100)는 하트비트를 통해 백업 프로세서부(200)의 마스터 모드가 활성화되어 있는지 확인할 수 있다.
또한, 본 발명의 일실시예에 따른 마스터 프로세서부에서의 TCP 세션 복구 방법은 백업 모드를 활성화 할 수 있다(S370).
즉, 단계(S370)는 백업 프로세서부(200)가 마스터 모드가 활성화 된 것을 확인한 경우, 백업 모드를 활성화할 수 있다.
이 때, 단계(S370)에서 마스터 프로세서부(100)는 백업 모드를 활성화할 수 있고, 백업 프로세서부(200)는 마스터 모드를 활성화할 수 있다.
도 6은 본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법을 나타낸 동작흐름도이다.
본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법은 먼저 세션 데이터를 수신할 수 있다(S410).
즉, 단계(S410)는 백업 프로세서부(200)가 마스터 프로세서부(100)로부터 세션 데이터를 수신할 수 있다.
또한, 본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법은 마스터 프로세서부(100)의 장애를 감지할 수 있다(S420).
이 때, 단계(S420)는 하트비트 전송을 통해 마스터 프로세서부(100)의 장애를 감지할 수 있고, 장애가 감지되지 않은 경우 세션 데이터 수신 과정을 반복할 수 있고, 장애가 감지된 경우 마스터 모드를 활성화 할 수 있다(S430).
즉, 단계(S430)는 마스터 모드를 활성화 할 수 있다.
또한, 본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법은 가상 IP를 할당할 수 있다(S440).
즉, 단계(S440)는 활성화된 프로세서의 이더넷 인터페이스에 피어 장치(20)가 접속하기 위한 가상 IP를 할당할 수 있다
이 때, 단계(S440)는 가상 IP를 피어 장치(20)에게 인식시키기 위해 GARP 패킷을 전송할 수 있다.
또한, 본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법은 TCP 세션을 복구할 수 있다(S450).
즉, 단계(S450)는 저장된 세션 데이터를 이용하여 피어 장치(20)와의 TCP 세션을 재연결 과정 없이 복구할 수 있다.
또한, 본 발명의 일실시예에 따른 백업 프로세서부에서의 TCP 세션 복구 방법은 통신을 재개할 수 있다(S460).
즉, 단계(S460)는 마스터 모드가 활성화된 백업 프로세서부(200)가 TCP 응용과 피어 장치(20)의 응용의 통신을 재개할 수 있다.
이상에서와 같이 본 발명에 따른 TCP 세션 복구 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
10: TCP 세션 복구 장치 20: 피어 장치
100: 마스터 프로세서부 110: 마스터 TCP 응용부
111: 응용 API 부 112: IPTABLES 규칙 관리부
120: 마스터 세션 관리부 121: 커널 패킷 필터부
122: 패킷 핸들러부 123: 세션 데이터 관리부
124: 세션 데이터 동기화부 130: 마스터 절체 관리부
200: 백업 프로세서부 210: 백업 TCP 응용부
220: 백업 세션 관리부 230: 백업 절체 관리부

Claims (1)

  1. TCP 세션 복구 장치를 이용하는 방법에 있어서,
    마스터 모드가 활성화된 마스터 프로세서부가 TCP 세션을 생성하여, 상기 TCP 세션의 복구를 위한 세션 데이터를 생성하는 단계;
    상기 세션 데이터를 백업 모드가 활성화된 백업 프로세서부에 전송하는 단계;
    상기 마스터 프로세서부의 시스템 장애가 감지된 경우, 상기 마스터 프로세서부는 시스템 복구를 수행하고, 상기 백업 프로세서부는 프로세서 모드를 마스터 모드로 활성화 하는 단계; 및
    상기 마스터 모드가 활성화된 백업 프로세서부가 상기 세션 데이터를 이용하여 상기 TCP 세션을 복구하는 단계;
    를 포함하는 것을 특징으로 하는 TCP 세션 복구 방법.
KR1020170026191A 2017-02-28 2017-02-28 Tcp 세션 복구 장치 및 방법 KR20180099143A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170026191A KR20180099143A (ko) 2017-02-28 2017-02-28 Tcp 세션 복구 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170026191A KR20180099143A (ko) 2017-02-28 2017-02-28 Tcp 세션 복구 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20180099143A true KR20180099143A (ko) 2018-09-05

Family

ID=63594310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170026191A KR20180099143A (ko) 2017-02-28 2017-02-28 Tcp 세션 복구 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20180099143A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011767A (zh) * 2019-04-17 2019-07-12 北京百度网讯科技有限公司 用于tcp连接备份的方法和装置
US11284351B2 (en) 2019-07-30 2022-03-22 Samsung Electronics Co., Ltd. Electronic device and operating method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011767A (zh) * 2019-04-17 2019-07-12 北京百度网讯科技有限公司 用于tcp连接备份的方法和装置
CN110011767B (zh) * 2019-04-17 2022-09-27 北京百度网讯科技有限公司 用于tcp连接备份的方法和装置
US11284351B2 (en) 2019-07-30 2022-03-22 Samsung Electronics Co., Ltd. Electronic device and operating method thereof

Similar Documents

Publication Publication Date Title
US7974186B2 (en) Connection recovery device, method and computer-readable medium storing therein processing program
US7107481B2 (en) Server takeover system and method
US20170310641A1 (en) Data center system
US10244084B2 (en) Reducing TCP connection establishment time in an overlay network
US7672223B2 (en) Method and apparatus for replicating a transport layer protocol stream
US8462767B2 (en) Internet protocol compliant private branch electronic exchange and a method for redundantly configuring terminal interfaces
US9219641B2 (en) Performing failover in a redundancy group
US20200244620A1 (en) Maintaining communications in a failover instance via network address translation
US11863370B2 (en) High availability using multiple network elements
EP2426827A1 (en) Method and network system for implementing user port orientation in multi-machine backup scenario of broadband remote access server
JP5419907B2 (ja) ネットワークシステム、及び通信復旧方法
JP2010283427A (ja) Lac装置及びフェイルオーバ方法
US9172598B2 (en) Scalable reliable failover in a network
KR20180099143A (ko) Tcp 세션 복구 장치 및 방법
CN102255716A (zh) 一种对协议状态的设备间备份的方法及系统
KR101766446B1 (ko) 데이터를 동기화하고 복원하는 이중화 시스템 및 방법
US10841040B2 (en) Acknowledgment and packet retransmission for spliced streams
CN112804268A (zh) 一种同步方法、第一设备、第二设备和同步系统
JP6248018B2 (ja) Lac装置及びフェイルオーバ方法
US20140293827A1 (en) Method And Apparatus For Peer Node Synchronization
US11902163B2 (en) System and method for LACP enhancements
KR101961792B1 (ko) 패킷의 종류를 고려해서 데이터를 동기화하고 복원하는 이중화 시스템 및 방법
CN113765783A (zh) 通信方法及装置
JP2008242685A (ja) フェイルオーバ方法、クラスタシステム、情報処理装置、プログラム