KR20140051047A - 이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법 - Google Patents

이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법 Download PDF

Info

Publication number
KR20140051047A
KR20140051047A KR1020130072073A KR20130072073A KR20140051047A KR 20140051047 A KR20140051047 A KR 20140051047A KR 1020130072073 A KR1020130072073 A KR 1020130072073A KR 20130072073 A KR20130072073 A KR 20130072073A KR 20140051047 A KR20140051047 A KR 20140051047A
Authority
KR
South Korea
Prior art keywords
flow
network interface
interface unit
information
unit
Prior art date
Application number
KR1020130072073A
Other languages
English (en)
Other versions
KR102053120B1 (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 US14/059,617 priority Critical patent/US9240948B2/en
Priority to US14/060,508 priority patent/US9258239B2/en
Publication of KR20140051047A publication Critical patent/KR20140051047A/ko
Application granted granted Critical
Publication of KR102053120B1 publication Critical patent/KR102053120B1/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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/16Flow control; Congestion control in connection oriented networks, e.g. frame relay
    • 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
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Abstract

본 발명에 따른 네트워크 이중화 장치는, 자신에게 유입된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 저장하고, 상기 플로우가 비대칭 플로우에 해당하는 경우 상기 플로우의 정보를 상기 마스터 유닛에 제공하는 복수의 네트워크 인터페이스 유닛들과, 상기 네트워크 인터페이스 유닛으로부터 제공된 플로우의 정보를 저장하고, 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하는 마스터 유닛으로 구성된다. 따라서, 본 발명을 이용할 경우, 패킷의 유입 경로와 유출 경로가 상이하게 구성되는 비대칭 플로우에 대하여 통합적인 관리 및 분석이 가능해진다.

Description

이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법{Method for managing and sharing symmetric flow and asymmetric flow in duplexed network}
본 발명은 네트워크 이중화(network duplexing)에 관한 것으로, 더욱 상세하게는 네트워크 이중화를 구현한 경우, 네트워크 이중화 장치로의 패킷 유입 경로와 네트워크 이중화 장치로부터의 패킷 유출 경로가 상이하게 구성되는 비대칭 플로우(asymmetric flow)에 대하여, 통합적인 플로우 정보 관리 및 분석을 가능하게 하는 방법 및 장치에 관한 것이다.
통신사의 PoP(Point of Presence) 지점이나 엔터프라이즈 망에서 네트워크 이중화가 적용될 경우, 트래픽의 유입 경로 또는 유출 경로가 각각 2개 이상으로 구성될 수 있다. 이러한 경우에 원격지로부터의 접속경로와 관리 네트워크에 해당하는 노드(단말)에서 발생하는 트래픽이 서로 다른 경로를 이용하는 상황이 발생될 수 있다.
이와 같이 원격지로부터 발생되어 단말로 향하는 트래픽의 플로우와 단말에서 발생되어 원격지로 향하는 트래픽의 플로우가 네트워크 이중화 장치 내에서 서로 다른 경로를 취하는 경우, 이러한 플로우를 비대칭 플로우(asymmetric flow)라 정의할 수 있다. 반면, 원격지로부터 발생되어 단말로 향하는 트래픽의 플로우와 단말에서 발생되어 원격지로 향하는 트래픽의 플로우가 네트워크 이중화 장치 내에서 동일한 경로를 취하는 경우, 이러한 플로우를 대칭 플로우(symmetric flow)라 정의할 수 있다.
이때, 비대칭 플로우를 구성하는 플로우들은 각각 다른 네트워크 인터페이스 유닛에서 관리되기 때문에, 플로우들에 대한 통일된 관리가 어려운 문제점을 초래하며, 이는 네트워크 이중화 환경에서 서비스 제공이나 QoS(Quality of Service)에 대한 일관적인 관리를 어렵게 만드는 원인이 된다.
따라서, 여러 인터페이스를 갖는 이중화 된 네트워크에서 이러한 비대칭 플로우에 대한 통일된 정보 관리 방법을 제공한다면, 서비스 제공이나 QoS등의 진일보한 대응이 가능하다.
네트워크 서비스 사업자나, 엔터프라이즈 망의 관리자, Telco 사업자의 경우 모든 인터페이스에 유입되는 패킷에 대해 동일한 조건 하에서 분석할 수 있는 기능을 제시한다면, 확장성(Scalability), 안정성(Auto-Load Balancing), 추가 용량(Additional Capacity), 유연한 배치(Flexible Deployment)등의 다양한 기능을 제공할 수 있을 것이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 패킷의 유입 경로와 유출 경로가 상이한 비대칭 플로우(asymmetric flow)에 대하여, 통합적인 분석 및 관리를 가능하게 하는 네트워크 이중화 장치를 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 패킷의 유입 경로와 유출 경로가 상이한 비대칭 플로우(asymmetric flow)에 대하여, 통합적인 분석 및 관리를 가능하게 하는 네트워크 이중화 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명은, 마스터 유닛과 복수의 네트워크 인터페이스 유닛들을 구비한 네트워크 이중화 장치로서, 자신에게 유입된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 저장하고, 상기 플로우가 비대칭 플로우에 해당하는 경우 상기 플로우의 정보를 상기 마스터 유닛에 제공하고, 상기 플로우에 대한 반대편 플로우의 정보를 상기 마스터 유닛에 요청하여 수신하는, 복수의 네트워크 인터페이스 유닛 및 상기 네트워크 인터페이스 유닛으로부터 제공된 상기 플로우의 정보를 저장하고, 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는지를 확인하여 상기 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하는 마스터 유닛을 포함한 네트워크 이중화 장치를 제공한다.
여기에서, 상기 네트워크 인터페이스 유닛과 상기 마스터 유닛은 PCI-Express 인터페이스 방식으로 인터페이싱하도록 구성될 수 있다.
여기에서, 상기 네트워크 이중화 장치는 연결 지향형(connection-oriented) 프로토콜에 기초하여 동작할 수 있다. 이때, 상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷에 대응된 SYN 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지할 수 있다. 이때, 상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷에 대한 ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지할 수 있다.
여기에서, 상기 네트워크 이중화 장치는 비-연결 지향형(connectionless) 프로토콜에 기초하여 동작할 수 있다. 이때, 상기 네트워크 인터페이스 유닛은 상기 플로우에 대한 반대편 플로우가 소정의 기간 동안 상기 네트워크 인터페이스 유닛에 유입되지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지할 수 있다.
여기에서, 상기 네트워크 인터페이스 유닛은 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 처리 시점에 또는 소정의 주기로 상기 마스터 유닛에게 제공하고, 상기 마스터 유닛은 상기 네트워크 인터페이스 유닛으로부터 제공된 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 저장하도록 구성될 수 있다.
여기에서, 상기 네트워크 인터페이스 유닛은 상기 마스터 유닛과 인터페이싱하는 제어 인터페이스부, 상기 플로우를 외부와 송수신하는 네트워크 인터페이스부, 상기 네트워크 인터페이스부에서 처리되는 플로우들에 대한 정보를 저장하는 로컬 플로우 헤더 테이블 저장부, 상기 플로우들의 트래픽 정보를 저장하는 트래픽 정보 저장부 및 상기 네트워크 인터페이스부를 통하여 유입되는 패킷을 분석하여 상기 패킷에 대응된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 생성하여 상기 로컬 플로우 헤더 테이블 저장부에 저장하고, 상기 플로우가 비대칭 플로우에 해당하는 경우 상기 플로우의 정보를 상기 제어 인터페이스부를 통하여 상기 마스터 유닛에 제공하고 상기 플로우에 대한 반대편 플로우의 정보를 상기 마스터 유닛에 요청하여 수신하며, 상기 플로우의 트래픽 정보를 상기 트래픽 정보 저장부에 저장하는 제어부를 포함하여 구성될 수 있다.
여기에서, 상기 마스터 유닛은, 상기 네트워크 인터페이스 유닛과 인터페이싱하는 제어 인터페이스부, 상기 네트워크 인터페이스 유닛으로부터 수신된 비대칭 플로우의 정보를 저장하는 비대칭 플로우 헤더 테이블 저장부, 상기 비대칭 플로우들의 트래픽 정보를 저장하는 트래픽 정보 저장부 및 상기 제어 인터페이스부를 통하여 네트워크 인터페이스 유닛으로부터 수신된 상기 비대칭 플로우의 정보를 참조하여, 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는지를 확인하여 상기 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하고, 상기 플로우의 정보를 저장하는 제어부를 포함하여 구성될 수 있다.
상기 다른 목적을 달성하기 위한 본 발명은, 마스터 유닛과 복수의 네트워크 인터페이스 유닛들을 구비한 네트워크 이중화 장치의 동작 방법으로서, 상기 네트워크 인터페이스 유닛이 상기 네트워크 인터페이스 유닛으로 유입된 플로우를 분석하는 단계, 상기 네트워크 인터페이스 유닛이 상기 유입된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 저장하는 단계, 상기 네트워크 인터페이스 유닛이 상기 플로우가 비대칭 플로우에 해당하는지를 판단하여 상기 플로우가 비대칭 플로우인 경우 상기 플로우의 정보를 상기 마스터 유닛에 제공하고, 상기 플로우에 대한 반대편 플로우의 정보를 상기 마스터 유닛에 요청하여 수신하는 단계, 상기 마스터 유닛이 상기 네트워크 인터페이스 유닛으로부터 제공된 상기 플로우의 정보를 저장하는 단계 및 상기 마스터 유닛이 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는지를 확인하여 상기 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하는 단계를 포함한 네트워크 이중화 방법을 제공한다.
여기에서, 상기 네트워크 인터페이스 유닛과 상기 마스터 유닛은 PCI-Express 인터페이스 방식으로 인터페이싱하도록 구성될 수 있다.
여기에서, 상기 플로우는 연결 지향형 프로토콜에 따른 플로우일 수 있다. 이때, 상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷에 대응된 SYN 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지할 수 있다. 이때, 상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷에 대한 ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지할 수 있다.
여기에서, 상기 플로우는 비-연결 지향형 프로토콜에 따른 플로우일 수 있다. 이때, 상기 네트워크 인터페이스 유닛은 상기 플로우에 대한 반대편 플로우가 소정의 기간 동안 상기 네트워크 인터페이스 유닛에 유입되지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지할 수 있다.
여기에서, 상기 네트워크 이중화 방법은 상기 네트워크 인터페이스 유닛이 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 처리 시점에 또는 소정의 주기로 상기 마스터 유닛에게 제공하는 단계를 추가로 포함할 수 있다. 이때, 상기 네트워크 이중화 방법은 상기 마스터 유닛이 상기 네트워크 인터페이스 유닛으로부터 제공된 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 저장하는 단계를 추가로 포함할 수 있다.
일반적으로 네트워크 장비는 해당 인터페이스로 유입되는 트래픽에 대해서만, 플로우 테이블의 반영을 통해 유통되는 플로우기반 분석을 수행한다. 이러한 경우 이중화되어 있거나, 다중 경로를 이용하는 네트워크 환경에서는 플로우 기반의 분석을 정확하게 제공할 수 없다.
본 발명에서 제안하는 PCIe NIC 카드를 이용한 비대칭 플로우에 대한 클러스터링(clustering) 기법을 적용할 경우, in-out에 연관된 다수의 경로에 대해 비대칭 플로우들을 통합적으로 관리하고 비대칭 플로우들의 트래픽 정보 또한 실시간으로 관리할 수 있게 된다.
따라서, 본 발명을 이용하면, 플로우 기반의 고속 분석(deep packet inspection)과 같은 트래픽 분석(traffic analysis)이 가능해지며, 이를 통하여 플로우 기반 응용 인식 및 제어가 가능해진다.
도 1은 본 발명에 따른 네트워크 이중화 장치의 개념을 설명하기 위한 개념도이다.
도 2는 본 발명에 따른 네트워크 이중화 장치의 일 실시예 구성을 설명하기 위한 블록도이다.
도 3은 본 발명에 따른 네트워크 이중화 장치의 네트워크 인터페이스 유닛의 구성예를 설명하기 위한 블록도이다.
도 4는 본 발명에 따른 네트워크 이중화 장치의 마스터 유닛의 구성예를 설명하기 위한 블록도이다.
도 5는 본 발명에 따른 네트워크 이중화 장치의 연결 지향형 프로토콜에 대한 동작을 설명하기 위해 TCP 프로토콜에 따른 클라이언트-서버간의 패킷 전달을 예시하는 개념도이다.
도 6은 본 발명에 따른 네트워크 이중화 장치의 구성요소들 간의 연결 지향형 프로토콜에 대한 동작 절차를 예시하기 위한 메시지 순서도이다.
도 7은 본 발명에 따른 네트워크 이중화 장치의 비-연결 지향형 프로토콜에 대한 동작을 설명하기 위해 non-TCP 프로토콜에 따른 클라이언트-서버간의 패킷 전달을 예시하는 개념도이다.
도 8는 본 발명에 따른 네트워크 이중화 장치의 구성요소들 간의 비-연결 지향형 프로토콜에 대한 동작 절차를 예시하기 위한 메시지 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에 따른 네트워크 이중화 장치의 개념을 설명하기 위한 개념도이다.
도 1을 참조하면, 네트워크 이중화 장치(110)는 네 개의 노드들(101, 102, 103, 104)을 통하여 유출입되는 패킷들에 대하여 서비스를 제공하게 된다. 이때, 노드들(101, 102)은 IP 백본 망(120)과 연결되는 것으로 이해될 수 있고, 노드들(103, 104)은 가입자 액세스 망(130)에 연결되는 것으로 이해될 수 있다. 또한, 이하의 설명에서는, IP 백본 망에 서버(121)가 위치하며 가입자 액세스 망에 클라이언트(131)가 위치하는 상황을 상정하기로 한다.
각 노드들(101, 102, 103, 104) 간의 인터페이스들(105, 106, 107, 108)은 여러 가닥의 1 기가 회선 또는 10 기가 회선으로 구성될 수 있으며, 각 노드간의 인터페이스가 네트워크 인터페이스 컨트롤러(NIC; Network Interface Controller)에 대응된다. 즉, 후술될 본 발명에 따른 네트워크 이중화 장치의 네트워크 인터페이스 유닛이 각 노드간의 인터페이스를 담당하는 네트워크 인터페이스 컨트롤러에 대응된다.
링크(141)을 통해 연결된 인터넷 회선을 통해 서버(121)로부터 노드(101)로 유입된 트래픽은 대응되는 클라이언트(131)가 위치하는 노드(103) 또는 노드(104)를 이용하여 클라이언트(131)에게 전달된다.
클라이언트(131)의 트래픽이 링크(143)의 연결된 회선를 통해 노드(103)로 유입되었다면, 클라이언트로부터의 트래픽은 세션 인식 기능을 갖는 네트워크 및 프로세싱 장비의 네트워크 상태에 따른 로드밸런싱 등의 기능에 의해 노드(101) 혹은 노드(102)을 통해 서버(121)로 전달된다.
즉, 서버(121)로부터 클라이언트(131)로 전달되는 트래픽은 노드(101)로 유입되어 노드(103)를 통하여 전달된다면, 클라이언트로부터 서버로 전달되는 트래픽은 노드(103)으로 유입되어 노드(101) 또는 노드(102)를 통하여 서버(121)에게 전달될 수 있다.
만약, 클라이언트로부터 서버로 전달되는 트래픽이 클라이언트로부터 노드 (103)로 유입되어 노드(101)를 통하여 서버로 전달된다면(즉, 클라이언트로부터 서버로의 트래픽과 서버로부터 클라이언트로의 트래픽이 동일한 경로를 취한다면), 클라이언트로부터 서버로의 플로우와 서버로부터 클라이언트로의 플로우는 대칭 플로우(symmetric flow)라 정의될 수 있다.
반면, 클라이언트로부터 서버로 전달되는 트래픽이 클라이언트로부터 노드 (103)로 유입되어 노드(102)를 통하여 서버로 전달된다면 클라이언트로부터 서버로의 플로우와 서버로부터 클라이언트로의 플로우는 비대칭 플로우(asymmetric flow)라 정의될 수 있다.
본 발명에 따른 네트워크 이중화 장치는 이러한 이중화 된 네트워크 구조에서 비대칭 플로우에 대한 정보 및 비대칭 플로우의 트래픽 정보를 통합적으로 관리할 수 있도록 하는 것을 특징으로 한다.
이는, 네트워크 서비스 사업자나, 엔터프라이즈 망의 관리자, Telco 사업자에게 비대칭 플로우에 대한 플로우 정보 및 플로우의 트래픽 정보를 통합적으로 관리할 수 있도록 하여, 모든 인터페이스에 유입되는 패킷에 대해 동일한 조건 하에서 분석할 수 있는 기능을 제공할 수 있다.
비대칭 플로우 관리를 위한 네트워크 이중화 장치의 구성
도 2는 본 발명에 따른 네트워크 이중화 장치의 일 실시예 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명에 따른 네트워크 이중화 장치(200)는 복수의 네트워크 인터페이스 유닛들(210, 220, 230, 240)과 상기 복수의 네트워크 인터페이스 유닛들과 연결된 적어도 하나의 마스터 유닛(250)을 포함하여 구성될 수 있다.
하나의 실시예로서, 본 발명에 따른 네트워크 이중화 장치는 각각 네트워크 인터페이스(예컨대, SFP+ 인터페이스; 10 Gigabit Ethernet; 211, 221, 231, 241)를 가지는 4개의 네트워크 인터페이스 유닛들(210, 220, 230, 240)과 네트워크 인터페이스 유닛들과 연결된 1개의 마스터 유닛(250)으로 구성될 수 있다.
네트워크 인터페이스 유닛들은 예로써 각각 하나의 보드(board)상의 슬롯(slot)에 장착되는 PCI-Express 형태의 NIC(Network Interface Controller) 카드 형태로 구현될 수 있다. 마스터 유닛도 마찬가지로 상기 슬롯에 장착되는 PCI-Express 형태의 카드로 구현될 수 있다. 따라서, 네트워크 인터페이스 유닛들과 마스터 유닛은 하나의 보드(board) 상에 구성될 수 있을 것이다.
다만, 마스터 유닛은 네트워크 인터페이스 유닛들과는 달리 네트워크 인터페이스를 반드시 구비할 필요는 없다.
네트워크 인터페이스 유닛들과 마스터 유닛은 소정의 고속 인터페이스들(251, 252, 253, 254)을 통하여 상호간의 통신을 수행하도록 구성될 수 있다. 이때, 네트워크 인터페이스 유닛들과 마스터 유닛은 상기 유닛들이 장착된 슬롯들의 인터페이스 버스를 통하여 상호간의 통신을 수행할 수도 있으나, 데이터 병목 현상을 피하기 위해서 유닛들간의 직접 연결 방식을 통하여 인터페이싱 하도록 구성될 수도 있다. 예컨대, 네트워크 인터페이스 유닛들과 마스터 유닛은 PCI-Express 인터페이스를 이용하여, 네트워크 인터페이스 유닛들이 PCI-Express 인터페이스의 슬레이브(slave), 마스터 유닛이 PCI-Express 인터페이스의 마스터(master)가 되어, 상호간의 데이터를 송수신할 수 있을 것이다.
본 발명에 따른 네트워크 이중화 장치에서 네트워크 인터페이스 유닛들은 외부와 트래픽 패킷의 송수신을 담당하고, 자신을 통하여 송수신되는 패킷들을 분석하여 자신을 거쳐가는 플로우의 정보와 상기 플로우들의 트래픽 정보들을 저장 및 관리한다. 그러나, 각각의 네트워크 인터페이스 유닛들은 자신을 거쳐가는 플로우가 비대칭 플로우에 해당되는 경우, 비대칭 플로우를 구성하는 반대편 플로우에 대한 정보를 가질 수 없다. 따라서, 비대칭 플로우에 대한 정보는 마스터 유닛에 의하여 통합적으로 관리된다.
도 3은 본 발명에 따른 네트워크 이중화 장치의 네트워크 인터페이스 유닛의 구성예를 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명에 따른 네트워크 이중화 장치의 네트워크 인터페이스 유닛의 일 구성예(300)는 제어 인터페이스부(310), 제어부(320), 로컬 플로우 헤더 테이블(LFHT: Local Flow Header Table) 저장부(330), 플로우 트래픽 정보 저장부(340) 및 네트워크 인터페이스부(350)를 포함하여 구성될 수 있다.
먼저, 제어 인터페이스부(310)는 상술된 마스터 유닛과 인터페이싱하기 위한 구성요소이다. 제어 인터페이스부는 일 실시예로서 PCI-Express 인터페이스 방식으로 마스터 유닛과 연결될 수 있다. 마스터 유닛도 제어 인터페이스부(310)에 상응하는 제어 인터페이스부(410)를 구비할 수 있으며 마스터 유닛의 구성에 대해서는 후술된다. 예컨대, 네트워크 인터페이스 유닛의 제어 인터페이스부(310)는 PCI-Express 슬레이브(slave)로 구성되며, 마스터 유닛의 제어 인터페이스부는 PCI-Express 마스터(master)에 해당할 수 있다.
네트워크 인터페이스부(350)는 예컨대, SFP+ 인터페이스(10 Gigabit Ethernet) 등의 고속의 네트워크 인터페이스를 처리하는 구성요소로서, 통상적인 NIC의 기능을 수행하기 위한 구성요소이다.
한편, 제어부(320), 로컬 플로우 헤더 테이블 저장부(330) 및 플로우 트래픽 정보 저장부(340)는 본 발명에 따른 네트워크 이중화 장치의 동작을 수행하기 위한 네트워크 인터페이스 유닛의 핵심 구성요소에 해당된다.
로컬 플로우 헤더 테이블 저장부(330)는 로컬 플로우 헤더 테이블(LFHT)을 저장하는 구성요소로서, 로컬 플로우 헤더 테이블(LFHT)은 각각의 네트워크 인터페이스 유닛을 거쳐가는 플로우에 대한 정보를 기록하고 있는 구성요소이다. 로컬 플로우 헤더 테이블에 그 정보가 기록되는 플로우들은 대칭 플로우를 구성하는 양쪽 플로우들과 비대칭 플로우를 구성하는 한쪽 편 플로우들일 수 있다.
플로우 트래픽 정보 저장부(340)는 로컬 플로우 헤더 테이블 저장부에 저장된 플로우들의 트래픽 정보를 저장하는 구성요소이다. 여기서 플로우의 트래픽 정보란 예컨대, 해당 플로우의 패킷수, 데이터 총량, 전달 속도, 홉 수 등을 포함할 수 있다. 실시예에 따라서 플로우 트래픽 정보 저장부(330)와 로컬 플로우 헤더 테이블 저장부(340)는 일체로 구성될 수도 있을 것이다.
제어부(320)는 상기 네트워크 인터페이스부(350)로 유입된 트래픽 패킷을 분석하여 해당 트래픽 패킷에 대응된 제 1 플로우의 정보가 LFHT에 생성되어 있지 않은 경우, 상기 제 1 플로우의 정보를 생성하여 LFHT에 저장하는 역할을 수행한다.
또한, 제어부(320)는 상기 제 1 플로우의 반대편 플로우(이하 제 2 플로우)가 자신이 아닌 다른 네트워크 인터페이스 유닛에서 처리된다는 것을 인지하면(즉, 제 1 플로우가 비대칭 플로우에 속하는 것으로 인지한 경우), 상기 제 1 플로우의 정보를 상기 제어 인터페이스부(310)를 통하여 상기 마스터 유닛(250)에 제공한다. 또한, 제어부(320)는 상기 제 1 플로우에 대한 반대편 플로우인 제 2 플로우의 정보를 상기 마스터 유닛에 요청하여 수신할 수 있다.
이때, 제어부가 상기 제 1 플로우의 반대편 플로우(이하 제 2 플로우)가 다른 네트워크 인터페이스 유닛에서 처리되는 것을 인지하는 방법은 연결 지향형 프로토콜에 따른 플로우의 경우와 비-연결 지향형 프로토콜에 따른 플로우의 경우에 다르게 구성될 수 있다.
상술된 제어부(320)의 동작과 로컬 플로우 헤더 테이블 저장부(330) 및 플로우 트래픽 정보 저장부(340)의 역할은 구체적인 동작 사례를 참조하여 후술된다.
도 4는 본 발명에 따른 네트워크 이중화 장치의 마스터 유닛의 구성예를 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명에 따른 네트워크 이중화 장치의 마스터 유닛의 일 구성예(400)는 제어 인터페이스부(410), 제어부(420), 비대칭 플로우 헤더 테이블(AFHT: Asymmetric Flow Header Table) 저장부(430) 및 비대칭 플로우 트래픽 정보 저장부(440)를 포함하여 구성될 수 있다.
먼저, 제어 인터페이스부(410)는 상술된 네트워크 인터페이스 유닛들과 인터페이싱하기 위한 구성요소이다. 제어 인터페이스부는 일 실시예로서 PCI-Express 인터페이스 방식으로 상술된 네트워크 인터페이스 유닛들과 연결될 수 있다. 예컨대, 마스터 유닛의 제어 인터페이스부(410)는 PCI-Express 마스터(master)로 구성되며, 네트워크 인터페이스 유닛의 제어 인터페이스부(310)는 PCI-Express 슬레이브(slave)에 해당할 수 있다.
한편, 제어부(420), 비대칭 플로우 헤더 테이블 저장부(430) 및 비대칭 플로우 트래픽 정보 저장부(440)는 본 발명에 따른 네트워트 이중화 장치의 동작을 수행하기 위한 마스터 유닛의 핵심 구성요소에 해당된다.
비대칭 플로우 헤더 테이블 저장부(430)는 비대칭 플로우 헤더 테이블(AFHT)을 저장하는 구성요소로서, 비대칭 플로우 헤더 테이블(AFHT)은 비대칭 플로우들의 정보를 저장하게 된다. 즉, 네트워크 인터페이스 유닛들의 로컬 플로우 헤더 테이블에는 해당 네트워크 인터페이스 유닛들에 속한 대칭 플로우들과, 해당 네트워크 인터페이스 유닛들을 거쳐가는 비대칭 플로우의 한쪽 편 플로우들이 기록되는 반면, 비대칭 플로우 헤더 테이블에는 네트워크 인터페이스 유닛들이 처리하는 모든 비대칭 플로우에 대한 정보들이 통합적으로 기록된다.
비대칭 플로우 트래픽 정보 저장부(440)는 비대칭 플로우 헤더 테이블 저장부에 저장된 비대칭 플로우들의 트래픽 정보를 저장하는 구성요소이다. 여기서 비대칭 플로우의 트래픽 정보란 예컨대, 해당 비대칭 플로우의 패킷수, 데이터 총량, 전달 속도, 홉 수 등을 포함할 수 있다. 비대칭 플로우의 트래픽 정보는 해당 비대칭 플로우를 구성하는 한쪽 편 플로우를 처리하는 네트워크 인터페이스 유닛들로부터 수집된다.
실시예에 따라서 비대칭 플로우 트래픽 정보 저장부(440)와 비대칭 플로우 헤더 테이블 저장부(430)는 일체로 구성될 수도 있을 것이다.
제어부(420)는 네트워크 인터페이스 유닛으로부터 비대칭 플로우에 대한 정보를 수신하여 비대칭 플로우 헤더 테이블에 저장하고, 네트워크 인터페이스 유닛으로부터 수신한 비대칭 플로우에 속한 한쪽 편 플로우의 반대편 플로우의 정보가 이미 비대칭 플로우 헤더 테이블에 저장되어 있는 경우, 이를 네트워크 인터페이스 유닛에게 되돌려주는 기능을 수행한다.
상술된 제어부(420)의 동작과 비대칭 플로우 헤더 테이블 저장부(430) 및 비대칭 플로우 트래픽 정보 저장부(440)의 역할은 구체적인 동작 사례를 참조하여 후술된다.
비대칭 플로우 관리를 위한 네트워크 이중화 방법
이하에서는, 본 발명에 따른 네트워크 이중화 장치의 동작을 연결 지향형(connection-oriented) 프로토콜의 경우와 비-연결 지향형(connectionless) 프로토콜의 경우 각각에 대해서 설명하도록 한다. 연결 지향형 프로토콜은 예컨대 TCP(Transfer Control Protocol)를 포함할 수 있으며, 비-연결 지향형 프로토콜은 non-TCP 프로토콜로서, 예컨대 UDP(User Datagram Protocol) 또는 ICMP(Internet Control Message Protocol) 등을 포함할 수 있다.
1)연결 지향형 프로토콜에 대응된 동작 방법
도 5는 본 발명에 따른 네트워크 이중화 장치의 연결 지향형 프로토콜에 대한 동작을 설명하기 위해 TCP 프로토콜에 따른 클라이언트-서버간의 패킷 전달을 예시하는 개념도이며, 도 6은 본 발명에 따른 네트워크 이중화 장치의 구성요소들 간의 연결 지향형 프로토콜에 대한 동작 절차를 예시하기 위한 메시지 순서도이다.
먼저, 도 5를 참조하면, 클라이언트(510)측에서 SYN(Synchronization) 패킷(CP1)을 서버(520)측으로 전송하여 TCP 플로우의 생성을 요청하고, 서버(520)가 TCP 플로우 생성에 응답하는 상황이 예시된다. 물론, 서버측에서 클라이언트 측으로 SYN 패킷을 전송하여 TCP 플로우의 생성을 요청하는 상황도 가능하다.
TCP 프로토콜에서는, 일 측(예컨대, 클라이언트)이 보낸 SYN 패킷에 대하여 상대 측(예컨대, 서버)이 SYN-ACK 패킷을 전송하고, 다시 SYN 패킷을 보낸 일 측이 SYN-ACK 패킷에 대한 ACK 패킷을 보내는 것에 의해서 클라이언트에서 서버로의 플로우와 서버에서 클라이언트로의 플로우, 2개의 플로우가 생성될 수 있다.
이하의 설명에서, 클라이언트 측에서 서버 측으로 전송하는 패킷은 CP#n으로 표시되며, 서버측에서 클라이언트 측으로 전송하는 패킷은 SP#n으로 표시된다. 여기서, #n은 패킷의 순서를 지정하기 위한 표현에 해당된다.
이때, 클라이언트와 서버는 패킷 송수신의 주체를 구별하기 위해 예시적으로 편의상 사용되는 용어일뿐, 엄밀한 의미에서 클라이언트와 서버의 역할을 정의하는 것이 아니며, 후술되는 동작의 역할들이 클라이언트와 서버에 한정되어 규정되는 것은 아님에 유의하여야 한다. 예컨대, 이하의 설명에서 클라이언트와 서버는 각각 제 1 장치(단말)와 제 2 장치(단말)로 명명될 수도 있다.
이하에서는, 도 5와 도 6을 병행 참조하여, 본 발명에 따른 네트워크 이중화 장치의 동작 절차를 설명한다.
이하의 예시에서, 클라이언트에서 서버로의 플로우(이하에서, 클라이언트 플로우 또는 'C->S' 플로우로 명칭)는 제 1 네트워크 인터페이스 유닛을 통하여 처리되지만, 서버에서 클라이언트로의 플로우(이하에서, 서버 플로우 또는 'S->C' 플로우로 명칭)는 제 3 네트워크 인터페이스 유닛을 통하여 처리되는 상황-즉, 비대칭 플로우가 발생된 상황-을 가정하여 설명된다.
CP1(Client Packet 1)이 제 1 네트워크 인터페이스 유닛(210)에 처음 도착하면(601), 제 1 네트워크 인터페이스 유닛(210)에서는 자신의 내부 LFHT(Symmetric Flow Header Table)를 검색하고, CP1에 대응된 플로우가 아직 생성되지 않은 것을 확인한 다음 클라이언트 플로우(Client Flow; 602)를 LFHT에 새롭게 추가한다. 즉, 이때 제 1 네트워크 인터페이스 유닛의 LFHT에 클라이언트에서 서버로 전달되는 플로우가 제 1 네트워크 인터페이스 유닛을 통하여 처리된다는 정보가 저장된다. 예시적으로, LFHT에는 'C->S'와 같은 표기방식으로 플로우의 정보가 저장되는 것으로 표현된다(도 6에서, LFHT의 음영은 LFHT상에서 현재 처리되는 항목을 지시하기 위한 것임).
이때, CP1이 SYN 패킷이므로, 제 1 네트워크 인터페이스 유닛은 아직 SYN패킷에 대응된 SYN-ACK 패킷(즉, 서버에서 클라이언트로의 트래픽; 후술될 SP1)이 제 1 네트워크 인터페이스 유닛을 통해서 전달될 것인지, 자신이 아닌 다른 네트워크 인터페이스 유닛을 통해서 전달될지를 아직 인지할 수 없는 상태이다. 따라서, 제 1 네트워크 인터페이스 유닛은 자신의 LFHT에 CP1에 대응된 플로우만을 생성하고 마스터 유닛(210)에 별도의 요청을 하지 않는다.
다음으로, SP1(Server Packet)이 제 3 네트워크 인터페이스 유닛(230)에 처음 도착하면(603), 제 3 네트워크 인터페이스 유닛(230)에서는 자신의 내부 LFHT를 검색하고, SP1에 대응된 플로우가 아직 생성되지 않은 것을 확인한 다음 서버 플로우(Server Flow; 604)를LFHT에 새롭게 추가한다. 즉, 이때 제 3 네트워크 인터페이스 유닛의LFHT에 서버에서 클라이언트로 전달되는 플로우가 제 3 네트워크 인터페이스 유닛을 통하여 처리된다는 정보가 저장된다. 예시적으로, LFHT에는 'S->C'와 같은 표기방식으로 플로우의 정보가 저장되는 것으로 표현된다.
이때, 제 3 인터페이스 유닛의 제어부는 제어 인터페이스부를 통하여 마스터 유닛의 제어부에게 'S->C' 플로우를 비대칭 플로우로서 등록할 것을 요청한다. 제 3 네트워크 인터페이스 유닛은 SP1이 SYN-ACK 패킷임을 인지하였으나(패킷 헤더의 인디케이터를 확인), SYN-ACK 패킷에 대응된 SYN 패킷은 제 3 네트워크 인터페이스 유닛에서 처리된 적이 없음을 알고 있으므로(LFHT 상에 'C->S' 플로우의 정보가 없으므로), SP1 패킷이 비대칭 플로우에 해당함을 인지할 수 있기 때문이다.
마스터 유닛(210)의 제어부는 제 3 네트워크 인터페이스 유닛(230)으로부터 전달받은 서버 플로우('S->C') 정보를 AFHT에 추가하고(606), 제 3 네트워크 인터페이스 유닛(230)의 제어부에게 결과를 응답한다. 이때, 마스터 유닛은 해당 플로우('S->C')가 제 3 네트워크 인터페이스 유닛에서 처리되고 있다는 정보를 함께 AFHT에 저장하게 된다. 예컨대, 마스터 유닛의 AFHT에는 서버에서 클라이언트로의 플로우('S->C')가 제 3 네트워크 인터페이스 유닛(NIU3)에서 처리된다는 사실이 기록된다(도 6에서, AFHT의 음영은 AFHT상에서 현재 처리되는 항목을 지시하기 위한 것임).
이때, 마스터 유닛은 AFHT에 이미 반대편 플로우('C->S')에 대한 기록이 존재한다면, 반대편 플로우가 이미 마스터 유닛의 AFHT에 저장되어 있다는 사실을 제 3 네트워크 인터페이스 유닛에게 통보할 수 있다. 도 5 및 도 6의 예시에서는 이 시점에서 마스터 유닛의 AFHT에 아직 반대편 플로우('C->S')가 생성되어 있지 않으므로 마스터 유닛은 반대편 플로우가 마스터 유닛에 저장되어 있지 않다는 사실을 통지하게 된다. 한편, 마스터 유닛은 제 3 네트워크 인터페이스 유닛의 반대편 플로우('C->S')에 대한 기록이 AFHT에 존재하는지 여부에 대한 질의에 대하여 명시적인 응답을 하지 않는 것에 의해서 암시적으로 반대편 플로우('C->S')에 대한 기록이 AFHT에 존재하지 않음을 제 3 네트워크 인터페이스 유닛에게 알려주도록 구성될 수도 있을 것이다.
다음으로, 제 1 네트워크 인터페이스 유닛(210)의 제어부는 CP2가 도착하면(607) 자신의 LFHT를 검색하여 반대편 플로우('S->C')가 없는지를 확인해서, 클라이언트->서버 플로우(클라이언트 플로우)가 비대칭 플로우임을 인지하고, 제어 인터페이스부를 통하여 마스터 유닛(210)의 제어부에게 자신의 클라이언트 플로우 정보를 전달하고, 반대편 플로우('S->C') 정보를 요청한다(608). 이때, 제 1 네트워크 인터페이스 유닛은 이전 패킷(CP1)이 SYN 패킷이었음을 알고 있으므로, 반대편 플로우('S->C')가 자신의 LFHT에 생성되어 있지 않다는 사실만으로 'C->S' 플로우가 비대칭 플로우임을 인지할 수 있다.
제 1네트워크 인터페이스 유닛으로부터 제 1 네트워크 인터페이스 유닛의 클라이언트 플로우('C->S') 정보와 반대편 플로우의 검색 요청을 전달받은 마스터 유닛의 제어부는 요청된 클라이언트 플로우 정보를 AFHT에 추가하고(609), 반대편 SF가 있으면 해당 AFA(221)에게 그 결과를 응답한다. 이때, 마스터 유닛의 제어부는 제 1 네트워크 인터페이스 유닛이 클라이언트 플로우('C->S')를 처리한다는 사실을 AFHT에 기록한다(609).
상술된 절차들을 거치면, 제 1 네트워크 인터페이스 유닛은 자신이 처리 중인 클라이언트 플로우('C->S')가 비대칭 플로우에 해당함을 인지하게 되고, 제 3 네트워크 인터페이스 유닛 또한 자신이 처리 중인 서버 플로우('S->C')가 비대칭 플로우에 해당함을 인지하게 된다.
따라서, 이후의 절차들에서 제 1 네트워크 인터페이스 유닛은 자신의 플로우('C->S')의 트래픽 정보들(예컨대, 패킷수, 데이터 총량, 전달 속도, 홉 수 등)을 지속적으로 갱신하여 저장하며, 제 3 네트워크 인터페이스 유닛은 자신의 플로우('S->C')의 트래픽 정보들을 지속적으로 갱신하여 저장하게 된다.
또한, 제 1, 3 네트워크 인터페이스 유닛들은 각각의 플로우에 속한 패킷들이 송수신되는 시점에서 갱신된 트래픽 정보들을 마스터 유닛에 전송할 수 있다. 또는, 제 1, 3 네트워크 인터페이스 유닛들은 각각의 플로우의 트래픽 정보들을 소정의 주기로 마스터 유닛에 전송할 수 있다. 마스터 유닛의 제어부는 각각의 네트워크 인터페이스 유닛들로부터 수신된 비대칭 플로우의 트래픽 정보들을 비대칭 플로우 트래픽 정보 저장부(440)에 저장한다.
이때 소정의 주기는 미리 정해진 시간 간격일 수도 있다. 또는, 미리 정해진 이벤트 조건을 충족하는 시점에서 제 1, 3 네트워크 인터페이스 유닛들은 각각의 플로우의 트래픽 정보들을 마스터 유닛에 전송하도록 구성될 수도 있다.
이때, 제 1, 3 네트워크 인터페이스 유닛들은 비대칭 플로우가 아닌 플로우들에 대한 트래픽 정보들은 자체적으로만 유지하며 마스터 유닛에게 제공하지 않도록 구성될 수 있다. 상술된 방법에 의하여 제 1, 3 네트워크 인터페이스 유닛들은 자신을 거쳐가는 플로우가 대칭 플로우인지 비대칭 플로우에 속한 플로우인지를 구분할 수 있으므로, 대칭 플로우에 대한 트래픽 정보들은 자체적으로만 보관하며, 마스터 유닛에게 제공하지 않을 수 있다.
이는, 마스터 유닛과 네트워크 인터페이스 유닛들간의 통신 대역폭 부담을 줄이는 효과를 가져올 수 있다. 한편, 마스터 유닛은 자신이 속한 네트워크 이중화 장치의 비대칭 플로우들에 대한 정보들을 통합적으로 관리하고 있게 된다. 마스터 유닛은 외부(사용자/관리자)의 요청에 의해서 관리하고 있는 비대칭 플로우 정보를 제공하여 통합적인 관리가 가능하도록 할 수 있다.
한편, 이하에서는 본 발명에 따른 네트워크 이중화 장치에서 플로우 종료를 처리하는 절차를 설명한다.
제 3 네트워크 인터페이스 유닛에서는 SPn(Fin 패킷)이 도착하면(610), 자신의 LFHT에서 서버 플로우('S->C')를 삭제하고(611), 마스터 유닛의 제어부에게도 서버 플로우의 종료를 요청하게 된다(612). 마스터 유닛의 제어부는 제 3 네트워크 인터페이스 유닛으로부터 서버 플로우의 종료 요청을 수신하면, AFHT에서 서버 플로우를 삭제하고(613) 그 결과를 제 3 네트워크 인터페이스 유닛으로 반환한다.
제 1 네트워크 인터페이스 유닛에서는 CPn(Fin 패킷)이 도착하면(614), 자신의 LFHT에서 클라이언트 플로우('C->S')를 삭제하고(615), 마스터 유닛의 제어부에게도 클라이언트 플로우의 종료를 요청하게 된다(616). 마스터 유닛의 제어부는 제 1 네트워크 인터페이스 유닛으로부터 클라이언트 플로우의 종료 요청을 수신하면, AFHT에서 클라이언트 플로우를 삭제하고(617) 그 결과를 제 1 네트워크 인터페이스 유닛으로 반환한다.
결과적으로, 제 1 네트워크 인터페이스 유닛과 제 3 네트워크 인터페이스 유닛의 요청에 의해서 마스터 유닛의 AFHT에서는 비대칭 플로우에 대한 정보가 모두 삭제되게 된다.
2)비-연결 지향형 프로토콜에 대응된 동작 방법
도 7은 본 발명에 따른 네트워크 이중화 장치의 비-연결 지향형 프로토콜에 대한 동작을 설명하기 위해 non-TCP 프로토콜에 따른 클라이언트-서버간의 패킷 전달을 예시하는 개념도이며, 도 8는 본 발명에 따른 네트워크 이중화 장치의 구성요소들 간의 비-연결 지향형 프로토콜에 대한 동작 절차를 예시하기 위한 메시지 순서도이다.
먼저, 도 7을 참조하면, 클라이언트(710)와 서버(720)가 비-연결 지향형 프로토콜에 따라서 상호간에 데이터를 주고 받는 상황이 예시된다.
앞서 설명된 연결 지향형 프로토콜의 경우(예컨대, TCP 프로토콜)에서는, 일 측과 상대측간에 SYN, SYN-ACK, ACK 패킷을 주고 받는 것에 의한 명시적인 플로우 생성 절차가 존재하지만, 비-연결 지향형 프로토콜에서는 이러한 과정이 없이 데이터 패킷을 주고 받는 것에 의해서 플로우가 암시적으로 생성되며, 소정의 기간 동안 데이터 패킷의 교환이 없으면 플로우가 암시적으로 해제된다.
이하의 설명에서도, 앞선 연결 지향형의 실시예와 마찬가지로, 클라이언트 측에서 서버 측으로 전송하는 패킷은 CP#n으로 표시되며, 서버측에서 클라이언트 측으로 전송하는 패킷은 SP#n으로 표시된다. 여기서, #n은 패킷의 순서를 지정하기 위한 표현에 해당된다.
이하에서는, 상기 도 7과 도 8을 병행 참조하여, 본 발명에 따른 네트워크 이중화 장치의 동작 절차를 설명한다.
이하의 예시에서, 클라이언트에서 서버로의 플로우(이하에서, 클라이언트 플로우 또는 'C->S' 플로우로 명칭)는 제 1 네트워크 인터페이스 유닛을 통하여 처리되지만, 서버에서 클라이언트로의 플로우(이하에서, 서버 플로우 또는 'S->C' 플로우로 명칭)는 제 3 네트워크 인터페이스 유닛을 통하여 처리되는 상황-즉, 비대칭 플로우가 발생된 상황-을 가정하여 설명된다.
제 1 네트워크 인터페이스 유닛에 CP1(Client Packet)이 처음 도착하면(801), 제 1 네트워크 인터페이스 유닛은 자신의 LFHT를 검색하여 CP1에 대응된 플로우 정보가 생성되어 있지 않은 것을 확인하고 LFHT에 클라이언트 플로우('C->S')를 새롭게 추가한다(802). 이 경우, 제 1 네트워크 인터페이스 유닛은 CP1에 대응된 플로우(클라이언트 플로우)의 반대편 플로우(즉, 서버 플로우)가 제 1 네트워크 인터페이스 유닛으로 유입될지 알 수 없으므로 일단 자신의 LFHT에 클라이언트 플로우만을 추가한다.
제 3 네트워크 인터페이스 유닛에 SP1(Server Packet)이 처음 도착하면(803), 제 3 인터페이스 유닛도 자신의 LFHT를 검색하여 SP1에 대응된 플로우 정보가 생성되어 있지 않은 것을 확인하고 LFHT에 서버 플로우('S->C')를 새롭게 추가한다(804). 이 경우, 제 3 네트워크 인터페이스 유닛은 SP1에 대응된 플로우(서버 플로우)의 반대편 플로우(즉 클라이언트 플로우)가 제 1 네트워크 인터페이스 유닛을 거친 사실을 아직 확인할 수 없기 때문에 일단 자신의 LFHT에 서버 플로우 만을 추가한다.
앞선 연결 지향형 프로토콜의 경우와는 달리 비-연결 지향형 프로토콜의 경우에는SYN 패킷 또는 SYN-ACK 패킷과 같이 패킷 교환 절차를 규정하는 패킷 인디케이터(indicator)가 존재하지 않으므로 제 3 네트워크 인터페이스 유닛의 경우도 SP1이 자신에게 온 사실만으로는 서버 플로우가 비대칭 플로우에 해당하는지 아닌지를 판단할 수 없다.
따라서, 제 1 네트워크 인터페이스 유닛에서는 CP1 패킷 이후에 소정의 최소 패킷 개수(예컨대, 기본 3)의 패킷이 제 1 네트워크 인터페이스 유닛을 통하여 송수신되는 기간 동안이나 소정의 타임아웃(예컨대, 기본 1초) 시간 동안에도 반대편 플로우(즉, 서버 플로우)에 속한 트래픽 패킷이 제 1 네트워크 인터페이스 유닛에게 유입되지 않으면(805), 마스터 유닛의 제어부에게 클라이언트 플로우를 비대칭 플로우로서 AFHT에 등록해줄 것을 요청하고 반대편 플로우(서버 플로우)에 대한 정보를 요청한다(806).
마스터 유닛의 제어부는 제 1 네트워크 인터페이스 유닛으로부터 전달받은 클라이언트 플로우 정보를 AFHT에 추가하고(807) 제 1 네트워크 인터페이스 유닛의 제어부에게 결과를 응답한다. 이때 마스터 유닛의 제어부는 반대편 플로우(서버 플로우)의 정보가 이미 AFHT에 존재하면 반대편 플로우의 정보를 제 1 네트워크 인터페이스 유닛에게 반환한다.
만약, 반대편 플로우가 이미 존재하는 경우, 마스터 유닛이 반대편 플로우가 존재한다는 사실을 제 1 네트워크 인터페이스 유닛에 통보하면 제 1 네트워크 인터페이스 유닛은 클라이언트 플로우가 비대칭 플로우에 해당하는 플로우임을 명확하게 인지하게 된다. 다만, 도 8의 예에서는 아직 서버 플로우가 AFHT에 기록되어 있지 않으므로 마스터 유닛은 제 1 네트워크 인터페이스 유닛에게 반대편 플로우(서버 플로우)가 AFHT에 아직 기록되어 있지 않음을 명시적으로 통지하거나, 별도의 응답을 하지 않는 것에 의하여 암시적으로 반대편 플로우(서버 플로우)가 AFHT에 아직 기록되어 있지 않음을 제 1 네트워크 인터페이스 유닛에게 알리게 된다.
또한, 제 3 네트워크 인터페이스 유닛에서는 SP1 패킷 이후에 소정의 최소 패킷 개수(예컨대, 기본 3)의 패킷이 제 3 인터페이스 유닛을 통하여 송수신되는 기간 동안에 또는 소정의 타임아웃(예컨대, 기본 1초) 시간 동안에도 반대편 플로우(즉, 클라이언트 플로우)에 속한 패킷이 제 3 네트워크 인터페이스 유닛으로 유입되지 않으면(808), 마스터 유닛의 제어부에게 AFHT에 서버 플로우('S->C')의 등록을 요청하고(809), 반대편 플로우('C->S')에 대한 정보를 요청한다(809).
마스터 유닛의 제어부는 제 3 네트워크 인터페이스 유닛으로부터 전달받은 서버 플로우 정보를 AFHT에 추가하고(810) 제 3 네트워크 인터페이스 유닛의 제어부에게 결과를 응답한다. 이때 마스터 유닛의 제어부는 반대편 플로우(클라이언트 플로우)의 정보가 이미 AFHT에 존재하면 반대편 플로우의 정보를 제 3 네트워크 인터페이스 유닛에게 반환한다.
만약, 반대편 플로우가 이미 존재하는 경우, 마스터 유닛이 반대편 플로우가 존재한다는 사실을 제 3 네트워크 인터페이스 유닛에 통보하면 제 3 네트워크 인터페이스 유닛은 서버 플로우가 비대칭 플로우에 해당하는 플로우임을 명확하게 인지하게 된다. 도 8의 예에서는 이 시점에 클라이언트 플로우('C->S')가 AFHT에 기록되어 있으므로 마스터 유닛은 제 3 네트워크 인터페이스 유닛에게 반대편 플로우(클라이언트 플로우)가 AFHT에 기록되어 있음을 명시적으로 통지할 수 있다. 따라서, 제 3 네트워크 인터페이스 유닛은 자신의 서버 플로우가 비대칭 플로우에 해당되는 플로우임을 명시적으로 인지할 수 있게 된다.
제 1 네트워크 인터페이스 유닛의 제어부는 이후에도 계속 반대편 플로우(서버 플로우)가 자신에게 유입되지 않는 경우에는 최대 패킷 개수(예컨대, 기본=100)가 될 동안 일정한 수의 패킷(예컨대, 기본=10)이 처리될 때마다 마스터 유닛의 제어부에게 플로우의 갱신된 트래픽 정보를 전송하고(예컨대, 811) 반대편 플로우 정보에 대한 요청 메시지를 보낸다. 마스터 유닛은 제 1 네트워크 인터페이스 유닛으로부터 전달받은 클라이언트 플로우 트래픽 정보를 비대칭 플로우 트래픽 정보 저장부에 추가하고 제 1 네트워크 인터페이스 유닛의 제어부에게 결과를 응답한다. 이때 반대편 플로우가 존재하면 반대편 플로우에 대한 정보를 함께 반환한다.
마찬가지로, 제 3 인터페이스 유닛의 제어부는 이후에도 계속 반대편 플로우(클라이언트 플로우)가 자신에게 유입되지 않는 경우에는 최대 패킷 개수(예컨대, 기본=100)가 될 동안 일정한 수의 패킷(예컨대, 기본=10)이 처리될 때마다 마스터 유닛의 제어부에게 플로우의 갱신된 트래픽 정보를 전송하고(예컨대, 812) 반대편 플로우에 대한 요청 메시지를 보낸다. 마스터 유닛은 제 3 네트워크 인터페이스 유닛으로부터 전달받은 서버 플로우 트래픽 정보를 비대칭 플로우 트래픽 정보 저장부에 추가하고 제 3 네트워크 인터페이스 유닛의 제어부에게 결과를 응답한다. 이때 반대편 플로우가 존재하면 반대편 플로우에 대한 정보를 함께 반환한다.
즉, 제 1 인터페이스 유닛과 제 3 인터페이스 유닛은 이미 파악된 플로우의 반대편 플로우가 자신에게 나타나지 않을 경우, 해당 플로우가 비대칭 플로우인 것으로 간주하고 소정의 주기로 플로우의 트래픽 정보를 마스터 유닛으로 전송한다. 또한, 제 1 인터페이스 유닛과 제 3 인터페이스 유닛은 마스터 유닛으로부터 반대편 플로우에 대한 정보를 언제라도 수신할 수 있으며, 반대편 플로우가 자신이 아닌 다른 인터페이스 유닛에 존재하는 경우, 명시적으로 자신의 플로우가 비대칭 플로우에 속함을 인지할 수 있다.
한편, 비-연결 지향형 프로토콜의 경우 플로우의 종료는 연결 지향형 프로토콜의 경우와는 달리, 각각의 네트워크 인터페이스 유닛이 자신이 처리 중인 플로우에 속한 패킷이 소정 시간 동안 유입되지 않는 것에 의해서 암시적으로 판단된다. 예컨대, 제 1 네트워크 인터페이스 유닛은 자신의 플로우(클라이언트 플로우)에 속한 패킷이 소정 시간 동안 유입되지 않을 경우, 클라이언트 플로우가 종료된 것으로 판단한다. 마찬가지로, 제 3 네트워크 인터페이스 유닛도 자신의 플로우(서버 플로우)에 속한 패킷이 소정 시간 동안 유입되지 않을 경우, 서버 플로우가 종료된 것으로 판단된다. 이하에서는, 제 1 네트워크 인터페이스 유닛과 제 3 네트워크 인터페이스 유닛이 각각 자신의 플로우가 종료된 것으로 판단한 경우의 절차를 설명한다.
먼저, 제 1 네트워크 인터페이스 유닛은 클라이언트 플로우가 종료된 것을 인지하면(813), 자신의 LFHT에서 클라이언트 플로우 정보를 삭제하고(814), 마스터 유닛의 제어부에게 클라이언트 플로우가 종료되었음을 알리게 된다(815). 마스터 유닛의 제어부는 제 1 네트워크 인터페이스 유닛으로부터 클라이언트 플로우의 종료를 통보 받으면, AFHT에서 클라이언트 플로우의 정보를 삭제하고(816) 그 결과를 반환한다.
동일한 절차로서, 제 3 네트워크 인터페이스 유닛은 서버 플로우가 종료된 것을 인지하면(817), 자신의 LFHT에서 서버 플로우 정보를 삭제하고(818), 마스터 유닛의 제어부에게 서버 플로우가 종료되었음을 알리게 된다(819). 마스터 유닛의 제어부는 제 3 네트워크 인터페이스 유닛으로부터 서버 플로우의 종료를 통보 받으면, AFHT에서 서버 플로우의 정보를 삭제하고(820) 그 결과를 반환한다.
결과적으로, 제 1 네트워크 인터페이스 유닛과 제 3 네트워크 인터페이스 유닛의 요청에 의해서 마스터 유닛의 AFHT에서는 비대칭 플로우에 대한 정보가 모두 삭제되게 된다.
연결 지향형과 비-연결 지향형 실시예를 비교하면, 연결 지향형 실시예의 경우는 SYN/SYN-ACK/ACK 메시지에 의한 명시적인 플로우 생성 절차가 존재하므로, 네트워크 인터페이스 유닛들은 상대적으로 조기에 자신이 처리하는 플로우가 비대칭 플로우인지 대칭 플로우인지를 확인할 수가 있다. 또한, 연결 지향형 실시예의 경우는 FIN 메시지에 의한 명시적인 플로우 해제 절차가 존재하므로, 네트워크 인터페이스 유닛들은 상대적으로 조기에 자신이 처리하는 플로우의 해제 여부를 확인하여 마스터 유닛에 통보가 가능하다.
반면, 비-연결 지향형 실시예의 경우는 명시적인 플로우 생성 절차가 없으므로 각 네트워크 인터페이스 유닛들은 미리 정해진 패킷수가 처리될 때까지 또는 미리 정해진 타이머값이 완료될 때까지 반대편 플로우가 자신에게 유입되지 않을 경우 해당 플로우를 비대칭 플로우를 판단하게 된다.
그러나, 비-연결 지향형 프로토콜의 경우에도, 연결 지향형 프로토콜의 경우와 마찬가지로, NIC1과 NIC3는 비대칭 플로우가 아닌 플로우들에 대한 트래픽 정보들은 자체적으로만 유지하며 마스터 유닛에게 제공하지 않도록 구성될 수 있다. 상술된 방법에 의하여 NIC1과 NIC3는 자신을 거쳐가는 플로우가 대칭 플로우인지 비대칭 플로우에 속한 플로우인지를 구분할 수 있으므로, 대칭 플로우에 대한 트래픽 정보들은 자체적으로만 보관하며, 마스터 유닛에게 제공하지 않을 수 있다. 이는, 마스터 유닛과 네트워크 인터페이스 유닛들간의 통신 대역폭 부담을 줄이는 효과를 가져올 수 있다. 한편, 마스터 유닛은 자신이 속한 네트워크 이중화 장치의 비대칭 플로우들에 대한 정보들을 통합적으로 관리하고 있게 된다. 마스터 유닛은 외부(사용자/관리자)의 요청에 의해서 관리하고 있는 비대칭 플로우 정보를 제공하여 통합적인 관리가 가능하도록 할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
200: 네트워크 이중화 장치
210, 220, 230, 240: 네트워크 인터페이스 유닛
250: 마스터 유닛
300: 네트워크 인터페이스 유닛
310: 제어 인터페이스부 320: 제어부
330: LFHT 저장부 340: 플로우 트래픽 정보 저장부
350: 네트워크 인터페이스부
400: 마스터 유닛
410: 제어 인터페이스부 420: 제어부
430: AFHT 저장부
440: 비대칭 플로우 트래픽 정보 저장부

Claims (20)

  1. 마스터 유닛과 복수의 네트워크 인터페이스 유닛들을 구비한 네트워크 이중화 장치로서,
    자신에게 유입된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 저장하고, 상기 플로우가 비대칭 플로우(asymmetric flow)에 해당하는 경우 상기 플로우의 정보를 상기 마스터 유닛에 제공하고, 상기 플로우에 대한 반대편 플로우의 정보를 상기 마스터 유닛에 요청하여 수신하는, 복수의 네트워크 인터페이스 유닛; 및
    상기 네트워크 인터페이스 유닛으로부터 제공된 상기 플로우의 정보를 저장하고, 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는지를 확인하여 상기 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하는 마스터 유닛을 포함한 네트워크 이중화 장치.
  2. 청구항 1에 있어서,
    상기 네트워크 인터페이스 유닛과 상기 마스터 유닛은 PCI-Express 인터페이스 방식으로 인터페이싱하는 네트워크 이중화 장치.
  3. 청구항 1에 있어서,
    상기 네트워크 이중화 장치는 연결 지향형 프로토콜에 기초하여 동작하는 네트워크 이중화 장치.
  4. 청구항 3에 있어서,
    상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷에 대응된 SYN 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지하는 네트워크 이중화 장치.
  5. 청구항 3에 있어서,
    상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷에 대한 ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지하는 네트워크 이중화 장치.
  6. 청구항 1에 있어서,
    상기 네트워크 이중화 장치는 비-연결 지향형 프로토콜에 기초하여 동작하는 네트워크 이중화 장치.
  7. 청구항 6에 있어서,
    상기 네트워크 인터페이스 유닛은 상기 플로우에 대한 반대편 플로우가 소정의 기간 동안 상기 네트워크 인터페이스 유닛에 유입되지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지하는 네트워크 이중화 장치.
  8. 청구항 1에 있어서,
    상기 네트워크 인터페이스 유닛은
    상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 처리 시점에 또는 소정의 주기로 상기 마스터 유닛에게 제공하는 네트워크 이중화 장치.
  9. 청구항 8에 있어서,
    상기 마스터 유닛은
    상기 네트워크 인터페이스 유닛으로부터 제공된 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 저장하는 네트워크 이중화 장치.
  10. 청구항 1에 있어서,
    상기 네트워크 인터페이스 유닛은
    상기 마스터 유닛과 인터페이싱하는 제어 인터페이스부;
    상기 플로우를 외부와 송수신하는 네트워크 인터페이스부;
    상기 네트워크 인터페이스부에서 처리되는 플로우들에 대한 정보를 저장하는 로컬 플로우 헤더 테이블 저장부;
    상기 플로우들의 트래픽 정보를 저장하는 트래픽 정보 저장부; 및
    상기 네트워크 인터페이스부를 통하여 유입되는 패킷을 분석하여 상기 패킷에 대응된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 생성하여 상기 로컬 플로우 헤더 테이블 저장부에 저장하고, 상기 플로우가 비대칭 플로우에 해당하는 경우 상기 플로우의 정보를 상기 제어 인터페이스부를 통하여 상기 마스터 유닛에 제공하고 상기 플로우에 대한 반대편 플로우의 정보를 상기 마스터 유닛에 요청하여 수신하며, 상기 플로우의 트래픽 정보를 상기 트래픽 정보 저장부에 저장하는 제어부를 포함한 네트워크 이중화 장치.
  11. 청구항 1에 있어서,
    상기 마스터 유닛은
    상기 네트워크 인터페이스 유닛과 인터페이싱하는 제어 인터페이스부;
    상기 네트워크 인터페이스 유닛으로부터 수신된 비대칭 플로우의 정보를 저장하는 비대칭 플로우 헤더 테이블 저장부;
    상기 비대칭 플로우들의 트래픽 정보를 저장하는 트래픽 정보 저장부; 및
    상기 제어 인터페이스부를 통하여 네트워크 인터페이스 유닛으로부터 수신된 상기 비대칭 플로우의 정보를 참조하여, 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는지를 확인하여 상기 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하고, 상기 플로우의 정보를 저장하는 제어부를 포함한 네트워크 이중화 장치.
  12. 마스터 유닛과 복수의 네트워크 인터페이스 유닛들을 구비한 네트워크 이중화 장치의 동작 방법으로서,
    상기 네트워크 인터페이스 유닛이 상기 네트워크 인터페이스 유닛으로 유입된 플로우를 분석하는 단계;
    상기 네트워크 인터페이스 유닛이 상기 유입된 플로우의 정보가 생성되어 있지 않은 경우 상기 플로우의 정보를 저장하는 단계;
    상기 네트워크 인터페이스 유닛이 상기 플로우가 비대칭 플로우에 해당하는지를 판단하여 상기 플로우가 비대칭 플로우인 경우 상기 플로우의 정보를 상기 마스터 유닛에 제공하고, 상기 플로우에 대한 반대편 플로우의 정보를 상기 마스터 유닛에 요청하여 수신하는 단계;
    상기 마스터 유닛이 상기 네트워크 인터페이스 유닛으로부터 제공된 상기 플로우의 정보를 저장하는 단계; 및
    상기 마스터 유닛이 상기 플로우에 대한 반대편 플로우의 정보가 저장되어 있는지를 확인하여 상기 반대편 플로우의 정보가 저장되어 있는 경우 상기 네트워크 인터페이스 유닛에 상기 반대편 플로우의 정보를 제공하는 단계를 포함한 네트워크 이중화 방법.
  13. 청구항 12에 있어서,
    상기 네트워크 인터페이스 유닛과 상기 마스터 유닛은 PCI-Express 인터페이스 방식으로 인터페이싱하는 네트워크 이중화 방법.
  14. 청구항 12에 있어서,
    상기 플로우는 연결 지향형 프로토콜에 따른 플로우인 네트워크 이중화 방법.
  15. 청구항 14에 있어서,
    상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷에 대응된 SYN 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지하는 네트워크 이중화 방법.
  16. 청구항 14에 있어서,
    상기 네트워크 인터페이스 유닛은 SYN-ACK 패킷에 대한 ACK 패킷이 유입된 경우, 상기 SYN-ACK 패킷이 속한 플로우의 정보가 상기 네트워크 인터페이스 유닛에 저장되어 있지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지하는 네트워크 이중화 방법.
  17. 청구항 12에 있어서,
    상기 플로우는 비-연결 지향형 프로토콜에 따른 플로우인 네트워크 이중화 방법.
  18. 청구항 17에 있어서,
    상기 네트워크 인터페이스 유닛은 상기 플로우에 대한 반대편 플로우가 소정의 기간 동안 상기 네트워크 인터페이스 유닛에 유입되지 않으면 상기 플로우를 비대칭 플로우에 해당하는 것으로 인지하는 네트워크 이중화 방법.
  19. 청구항 12에 있어서,
    상기 네트워크 인터페이스 유닛이 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 처리 시점에 또는 소정의 주기로 상기 마스터 유닛에게 제공하는 단계를 추가로 포함하는 네트워크 이중화 방법.
  20. 청구항 19에 있어서,
    상기 마스터 유닛이 상기 네트워크 인터페이스 유닛으로부터 제공된 상기 비대칭 플로우에 해당하는 플로우들의 트래픽 정보를 저장하는 단계를 추가로 포함하는 네트워크 이중화 방법.
KR1020130072073A 2012-10-22 2013-06-24 이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법 KR102053120B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/059,617 US9240948B2 (en) 2012-10-22 2013-10-22 Method for managing and sharing symmetric flow and asymmetric flow in duplexed network
US14/060,508 US9258239B2 (en) 2012-10-22 2013-10-22 Method for managing and sharing symmetric flow and asymmetric flow in duplexed network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120117236 2012-10-22
KR20120117236 2012-10-22

Publications (2)

Publication Number Publication Date
KR20140051047A true KR20140051047A (ko) 2014-04-30
KR102053120B1 KR102053120B1 (ko) 2019-12-06

Family

ID=50655935

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020130072073A KR102053120B1 (ko) 2012-10-22 2013-06-24 이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법
KR1020130125692A KR102088286B1 (ko) 2012-10-22 2013-10-22 이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020130125692A KR102088286B1 (ko) 2012-10-22 2013-10-22 이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법

Country Status (1)

Country Link
KR (2) KR102053120B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158738A (ja) * 2000-11-20 2002-05-31 Yamatake Building Systems Co Ltd ネットワーク二重化装置および方法
KR20030041279A (ko) * 2001-11-19 2003-05-27 엘지전자 주식회사 네트워크 이중화 시스템 및 방법
US20060268932A1 (en) * 2005-05-23 2006-11-30 Juniper Networks, Inc. Processing communication flows in asymmetrically routed networks
KR20100109713A (ko) * 2009-04-01 2010-10-11 제희석 네트워크 이중화 장치
US20110255537A1 (en) * 2010-04-16 2011-10-20 Cisco Technology, Inc. Controlling Directional Asymmetricity in Wide Area Networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158738A (ja) * 2000-11-20 2002-05-31 Yamatake Building Systems Co Ltd ネットワーク二重化装置および方法
KR20030041279A (ko) * 2001-11-19 2003-05-27 엘지전자 주식회사 네트워크 이중화 시스템 및 방법
US20060268932A1 (en) * 2005-05-23 2006-11-30 Juniper Networks, Inc. Processing communication flows in asymmetrically routed networks
KR20100109713A (ko) * 2009-04-01 2010-10-11 제희석 네트워크 이중화 장치
US20110255537A1 (en) * 2010-04-16 2011-10-20 Cisco Technology, Inc. Controlling Directional Asymmetricity in Wide Area Networks

Also Published As

Publication number Publication date
KR102088286B1 (ko) 2020-03-12
KR20140051093A (ko) 2014-04-30
KR102053120B1 (ko) 2019-12-06

Similar Documents

Publication Publication Date Title
US20130304937A1 (en) Information centric network system including network path computation device, content request node, and relay node and method of computing network path using information centric network
US9853873B2 (en) Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US9369386B2 (en) Methods, systems, and computer readable media for destination-host defined overload scope
CA2487071C (en) Methods and apparatus for characterizing a route in a fibre channel fabric
EP2055052B1 (en) Triggering bandwidth reservation and priority remarking
EP2837147A1 (en) Methods, systems, and computer readable media for performing diameter overload control
JP2003258903A (ja) 通信路監視システム
US11102273B2 (en) Uplink performance management
US10320655B1 (en) Methods and apparatus for determining and using SDN link and/or path status
US10623278B2 (en) Reactive mechanism for in-situ operation, administration, and maintenance traffic
CN106464670B (zh) 网络实体及服务策略管理方法
JP4678652B2 (ja) P2pトラフィック監視制御装置及び方法
US8593997B2 (en) Full duplex/half duplex mismatch detecting method and full duplex/half duplex mismatch detecting apparatus applicable with the method
FI123673B (fi) Menetelmä, järjestelmä ja elementti yleiskäyttöiseen tietoliikenteen tietovirran hallintaan ja tietoliikenteen reititykseen
US8537676B1 (en) Rate limiting for DTCP message transport
CN110601989A (zh) 一种网络流量均衡方法及装置
WO2013042564A1 (ja) 診断システム
KR102053120B1 (ko) 이중화된 네트워크에서의 대칭 플로우 및 비대칭 플로우 관리 및 공유 방법
US9240948B2 (en) Method for managing and sharing symmetric flow and asymmetric flow in duplexed network
JP3988885B2 (ja) ネットワーク管理装置、それを使用したネットワークシステム及びネットワーク管理方法
JP6117512B2 (ja) エッジノード装置、リソース制御方法、及びプログラム
Nikitinskiy et al. Analyzing the possibility of applying asymmetric transport protocols in terms of software defined networks
JP6446494B2 (ja) エッジノード装置、リソース制御方法、及びプログラム
CN104539451B (zh) 一种mep id获取方法和装置
JP5579127B2 (ja) パケット応答方法及び装置

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