KR20130093848A - 멀티 계층 프로토콜 부하 분산을 위한 패킷 처리 장치 - Google Patents
멀티 계층 프로토콜 부하 분산을 위한 패킷 처리 장치 Download PDFInfo
- Publication number
- KR20130093848A KR20130093848A KR1020120008500A KR20120008500A KR20130093848A KR 20130093848 A KR20130093848 A KR 20130093848A KR 1020120008500 A KR1020120008500 A KR 1020120008500A KR 20120008500 A KR20120008500 A KR 20120008500A KR 20130093848 A KR20130093848 A KR 20130093848A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- service server
- processing
- server
- received
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
외부 인터페이스에 연결된 인터페이스 서버가 수신된 패킷에 대해서 처리할 프로토콜 목록을 결정하여 모든 서비스 서버를 제어하여 멀티 계층 프로토콜 부하를 분산할 수 있는 패킷 처리 장치 및 방법을 제공한다. 패킷 처리 장치는, 외부 노드로부터 패킷이 수신되면, 수신된 패킷의 프로토콜 처리 순서를 결정하고, 패킷이 프로토콜 처리 순서를 나타내도록 패킷을 편집하는 인터페이스 서버와, 프로토콜 처리 순서를 나타내는 패킷을 프로토콜 처리 순서에 따라 프로토콜별로 처리하는 복수의 서비스 서버와, 인터페이스 서버 및 복수의 서비스 서버 사이에 패킷을 전달하는 스위치를 포함한다.
Description
본 발명에서는 기존의 단순 패킷 처리뿐만 아니라, 프리미엄 서비스를 효율적으로 처리할 수 있는 프로토콜 부하 분산 처리 장치에 관한 것이다.
네트워크 기술이 발전함에 따라서 다양한 서비스가 요구될 뿐만 아니라, 통신 프로토콜 계층 간의 경계가 무너지고 있다. 또한, 한 개의 패킷을 처리하기 위해서 복수 개의 프로토콜들이 상호 결합된 프리미엄 서비스들이 증가하고 있다.
현재의 부하 분산 처리 장치는 한 개의 서버에서 모든 프로토콜을 통합 처리하거나, 혹은 프로토콜별로 여러 개의 서버에 분산하여 처리한다. 일반적으로 처리할 프로토콜에 따라서 하드웨어나 소프트웨어 특성을 다르게 구성하여 특정 프로토콜만을 최적으로 처리할 수 있는 서버를 구성할 수 있다. 따라서 모든 프로토콜을 한 개의 서버에서 통합 처리하는 경우, 이러한 서버의 특성을 충분히 살릴 수 없는 단점을 갖는다. 또한, 프로토콜별로 분산된 서버 구성을 갖는 구성에서는 멀티계층 프로토콜을 처리하기 위해서는 여러 서버를 거쳐서 패킷이 처리되어야 한다. 이러한 경우, 각 서버마다 일부 기능을 반복 수행하거나, 각 서버 간에 유기적인 협력 관계가 부족하기 때문에 전체 패킷 처리 성능이 저하된다.
기존의 대표적인 통신프로토콜 부하 분산 처리 장치(Load balancer)는 보안시스템과 데이터 센터 등에 사용되는 L7 로드 밸런서(load balancer) 또는 서버 팜(server farm)이다. 여기에서는 동일한 프로토콜 처리 기능을 갖는 복수 개의 서버를 두고 입력된 트래픽을 분산 처리한다. 종래의 기술들은 복수 개의 프로세서 또는 서버들의 로드 불균형을 해결하기 위해, 할당된 태스크를 균등하게 분배하는 로드 밸런싱들에 관한 연구였다. 일반적으로 로드 밸런싱은 서버들의 부하 상태를 조사하여 부하를 분산시키는 방법이 대표적이다.
관련 선행기술 문헌으로는 2011년 8월 24일자 공개되고, 출원번호가 10-2010-0014854이고, 출원인이 삼성전자 주식회사이고, 발명의 명칭이 "로드 밸런싱 장치"인 공개 특허 공보가 있다.
외부 인터페이스에 연결된 인터페이스 서버가 수신된 패킷에 대해서 처리할 프로토콜 목록을 결정하여 모든 서비스 서버를 제어하여 멀티 계층 프로토콜 부하를 분산할 수 있는 패킷 처리 장치 및 방법을 제공한다.
일 측면에 따른 패킷 처리 장치는, 외부 노드로부터 패킷이 수신되면, 수신된 패킷의 프로토콜 처리 순서를 결정하고, 패킷이 프로토콜 처리 순서를 나타내도록 패킷을 편집하는 인터페이스 서버와, 프로토콜 처리 순서를 나타내는 패킷을 프로토콜 처리 순서에 따라 프로토콜별로 처리하는 복수의 서비스 서버와, 인터페이스 서버 및 복수의 서비스 서버 사이에 패킷을 전달하는 스위치를 포함한다.
다른 측면에 따른 패킷 처리 방법은, 인터페이스 서버는 외부 노드로부터 패킷을 수신하는 단계와, 인터페이스 서버는 수신된 패킷의 프로토콜 처리 순서를 결정하고, 패킷의 프로토콜 처리 순서를 나타내는 정보가 포함되도록 패킷을 편집하여 제1 편집 패킷을 생성하는 단계와, 스위치는 프로토콜 처리 순서를 나타내는 정보에 따라 처음으로 처리할 제1 서비스 서버로 제1 편집 패킷을 전송하는 단계와, 제1 서비스 서버는 제1 편집 패킷에 대한 패킷 처리를 수행하는 단계와, 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정하는 단계와, 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는 경우, 제1 서비스 서버는 제1 편집 패킷에 대한 패킷 처리 결과 필드를 추가하여 제2 편집 패킷을 생성하여 스위치로 전달하는 단계와, 스위치는 패킷이 남아 있는 프로토콜 처리를 수행할 제2 서비스 서버로 제2 편집 패킷을 전달하는 단계를 포함한다.
본 발명에 따르면, 입력 패킷에 대해서 복수 개의 프로토콜 처리가 요구되는 패킷 처리 장치에서 프로토콜 간의 인과 관계를 고려하여 프로토콜 처리 순서를 결정하고 처리한다. 그리고 각 서비스 서버 간에 프로토콜 처리 결과를 순차적으로 공유하기 때문에 프로토콜을 중복 처리하지 않는다. 그래서 효율적으로 멀티계층 프로토콜을 처리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 멀티 계층 프로토콜 처리 및 부하 분산을 위한 패킷 처리 장치의 구성은 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 인그레스 패킷, 편집된 인그레스 패킷 및 이그레스 패킷의 구성을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 인터페이스 서버의 동작을 나타내는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 서비스 서버의 동작을 나타내는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 패킷 처리 장치의 동작의 일 예를 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 인그레스 패킷, 편집된 인그레스 패킷 및 이그레스 패킷의 구성을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 인터페이스 서버의 동작을 나타내는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 서비스 서버의 동작을 나타내는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 패킷 처리 장치의 동작의 일 예를 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 멀티 계층 프로토콜 처리 및 부하 분산을 위한 패킷 처리 장치의 구성은 나타내는 블록도이다.
패킷 처리 장치(110)는 복수의 인터페이스 서버(110-1 내지 110-n), 스위치(120) 및 복수의 서비스 서버(130-1 내지 130-n)를 포함한다. 패킷 처리 장치(110)는 복수의 인터페이스 서버(110-1 내지 110-n), 스위치(120) 및 복수의 서비스 서버(130-1 내지 130-n)가 분산되어 있는 네트워크 시스템으로 구성될 수 있고, 복수의 인터페이스 서버(110-1 내지 110-n), 스위치(120) 및 복수의 서비스 서버(130-1 내지 130-n)가 통합된 하나의 장치로 구성될 수도 있다.
복수의 인터페이스 서버(110-1 내지 110-n)는 이웃 네트워크 노드와 연결되어 패킷을 송수신한다.
스위치(120)는 패킷 처리 장치(110) 내에서 패킷을 목적지 서버로 전달한다. 패킷 처리 장치(110) 내의 패킷에 대한 목적지 서버는 패킷에 대한 프로토콜을 처리할 서비스 서버 및 프로토콜 처리가 완료되어 패킷을 외부로 출력할 목적지 인터페이스 서버를 포함한다.
복수의 서비스 서버(130-1 내지 130-n)는 패킷에 대한 특정 통신 프로토콜을 처리한다. 각 서비스 서버(130-1 내지 130-n)는 특정 프로토콜들을 전용으로 처리할 수 있는 기능을 갖는다. 특정 프로토콜을 처리하는 하나의 서비스 서버는 단일 혹은 복수 개의 서버로 구성할 수 있다.
이하에서는, 설명의 편의를 위하여 인터페이스 서버 1(110-1) 및 서비스 서버 n(130-n)을 중심으로 설명한다.
인터페이스 서버 1(110-1)에 외부 노드로부터 패킷이 수신되면, 수신 패킷에 대해서 처리할 프로토콜 순서를 결정하고 패킷이 프로토콜 처리 순서를 나타내도록 패킷을 편집한다. 외부 노드로부터 수신되는 패킷은 인그레스(ingress) 패킷으로 부를 수 있다. 프로토콜 순서가 결정되면, 복수의 서비스 서버(130-1 내지 130-n) 중에서 해당 프로토콜 처리를 수행하는 서비스 서버들이 지정될 수 있다.
예를 들어, 어떤 특정 바이러스 검침하기 위해서 여러 개의 서비스 서버의 협업이 필요한 경우, 인터페이스 서버 1(110-1)은 완벽한 바이러스 검침을 위하여 특정 프로토콜 처리(예를 들어, 특정 바이러스 패턴을 처리)를 수행할 하나 이상의 서비스 서버들(예를 들어, 서비스 서버 1(130-1) 및 서비스 서버 n(130-n))을 지정할 수 있다.
지정된 서비스 서버들(130-1, 130-n)은 프로토콜 처리 순서를 나타내는 패킷을 프로토콜 처리 순서에 따라 프로토콜별로 처리한다. 즉, 패킷은 결정된 프로토콜 처리 순서에 따라 또는 지정된 순서에 따라서 각 프로토콜을 처리하는 서비스 서버들을 통과하면서 처리된다.
서비스 서버들(130-1, 130-n)을 통과하여 처리된 패킷은 패킷의 목적지에 따라 패킷을 수신한 인터페이스 서버 1(110-1)로 출력되거나 다른 인터페이스 서버(예들 들어, 인터페이스 서버(110-n)로 출력될 수 있다.
이러한 중앙 통제 방식의 패킷 처리는 이전 서버 처리 결과를 이용하여 패킷을 처리할 수 있을 뿐만 아니라, 서비스 서버 간의 중복 기능을 최소화시킬 수 있다. 또한, 통신 프로토콜의 계층적 특성을 활용하여 프로토콜 처리 순서를 결정하기 때문에 매우 효율적인 패킷 처리를 할 수 있다. 즉 통신 프로토콜은 L1~L7의 계층으로 구분하고 사용자가 이러한 상관 관계를 이용하여 프로토콜 처리 순서를 결정하여 효과적으로 패킷을 처리할 수 있다.
인터페이스 서버 1(110-1)은 외부 노드로부터 수신되는 인그레스(ingress) 패킷과 스위치(120)로부터 수신되는 이그레스(egress) 패킷을 구분하여 처리한다.
인터페이스 서버 1(110-1)은, 수신된 인그레스 패킷을 처리할 프로토콜을 결정하고, 수신된 패킷에 결정된 프로토콜 처리를 수행하는 서비스 서버 식별 정보를 포함하도록 패킷을 편집하고, 편집된 패킷을 스위치(120)로 전송할 수 있다. 수신된 인그레스 패킷을 처리할 프로토콜이 복수 개 결정되는 경우, 인터페이스 서버 1(110-1)은, 프로토콜 처리 순서에 따라 수신된 패킷에 결정된 프로토콜 처리를 수행하는 복수의 서비스 서버 식별 정보를 포함하도록 패킷을 편집하고, 편집된 패킷을 스위치(120)로 전송할 수 있다.
인터페이스 서버 1(110-1)은, 각 서비스 서버(130-1 내지 130-n) 별로 처리할 수 있는 프로토콜을 나타내는 프로토콜 목록 테이블을 참조하여, 수신된 인그레스 패킷을 처리할 적어도 하나의 프로토콜을 결정할 수 있다. 프로토콜 목록 테이블은 각 인터페이스 서버(110-1 내지 110-n)의 내부에 별도로 저장 및 관리될 수 있다. 또는, 프로토콜 목록 테이블은 패킷 처리 장치(100) 내부의 소정의 스토리지에 저장되고 각 인터페이스 서버(110-1 내지 110-n)가 공유하여 이용할 수 있도록 구성될 수도 있다.
인터페이스 서버 1(110-1)은, 수신된 인그레스 패킷에 대한 플로우를 생성하고, 생성된 플로우에 대한 프로토콜 처리 순서를 동일하게 결정할 수 있다.
한편, 인터페이스 서버 1(110-1)은, 수신된 패킷이 스위치(120)로부터 수신된 이그레스 패킷인 경우, 이그레스 패킷에 포함된 입력 인터페이스 서버의 패킷 처리 결과 및 서비스 서버의 패킷 처리 결과를 이용하여 패킷을 처리하고, 처리된 패킷을 외부 노드로 전송할 수 있다.
서비스 서버 n(130-n)은 인터페이스 서버 1(110-1)로부터 수신된 패킷에 대하여 다른 서비스 서버 1(130-1)를 통해 처리된 패킷을 수신하였다고 가정한다.
서비스 서버 n(130-n)은 수신된 패킷을 분석하여, 수신된 패킷에 포함된 입력 인터페이스 서버 1(110-1)의 패킷 처리 결과 필드와 이전 서비스 서버들로부터 보내온 패킷 처리 결과 필드들의 정보를 사용하여 패킷을 처리한다. 서비스 서버(130-n)는 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정할 수 있다.
서비스 서버 n(130-n)은 수신된 패킷에 자신의 서버 ID 필드 이후에 또 다른 서비스 서버의 서비스 서버 ID 필드가 있는지를 확인하여 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정할 수 있다. 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는 경우, 서비스 서버 n(130-n)은 패킷을 처리한 결과를 나타내는 패킷 처리 결과 필드를 포함하도록 수신된 패킷을 편집하고, 편집된 패킷을 스위치(120)로 전달하여 패킷이 남아 있는 프로토콜 처리를 수행할 다른 서비스 서버로 전달되도록 할 수 있다.
수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있지 않은 경우, 서비스 서버 n(130-n)은 서비스 서버는 패킷을 처리한 결과를 나타내는 패킷 처리 결과 필드를 포함하도록 수신된 패킷을 편집하고, 편집된 패킷을 스위치(120)로 전달하여, 패킷이 출력될 인터페이스 서버로 전달되도록 할 수 있다.
이와 같은 패킷 처리 장치(100)에 따르면, 입력 패킷에 대해서 복수 개의 프로토콜 처리가 요구될 때 프로토콜 간의 인과 관계를 고려하여 프로토콜 처리 순서를 결정하고 처리할 수 있으며 각 서비스 서버 간에 프로토콜 처리 결과를 순차적으로 공유하기 때문에 프로토콜을 중복 처리하지 않을 수 있다. 따라서, 패킷에 대하여 효율적으로 멀티계층 프로토콜을 처리할 수 있다.
도 2는 본 발명의 일 실시예에 따른 인그레스 패킷, 편집된 인그레스 패킷 및 이그레스 패킷의 구성을 나타낸다.
인그레스 패킷(210)은 외부 노드로부터 인터페이스 서버로 수신되는 패킷을 나타낸다. 이하에서는, 인그레스 패킷(210)은 인터페이스 서버(110-1)로 수신되었다고 가정한다.
편집된 인그레스 패킷(220)은 패킷을 수신한 인터페이스 서버(110-1)의 처리 결과 생성되며 스위치(120)로 출력되는 패킷이다. 편집된 인그레스 패킷(220)은 플로우(Flow) ID 정보, 패킷이 입력된 인터페이스 서버(110-1)와 패킷이 출력되는 인터페이스 서버를 나타내는 인터페이스 서버 ID 필드(IV), 인터페이스 서버 1(110-1)의 처리 결과를 포함하는 입력 인터페이스 서버의 패킷 처리 결과 필드(IVI), 그리고 패킷이 전달되어야 할 서비스 서버들의 ID 필드(SV1, SV2, ..., SVn)를 포함한다.
패킷이 입력되는 인터페이스 서버와 패킷이 출력되는 인터페이스 서버는 같을 수도 다를 수도 있다. 패킷이 입력되는 인터페이스 서버와 패킷이 출력되는 인터페이스 서버가 다른 경우, 인터페이스 서버 ID 필드(IV)의 필드가 입력용 및 출력용의 2개로 포함되고 서로 구분되도록 표시될 수 있다. 예를 들어, 패킷이 인터페이스 서버 1(110-1)로 입력되고, 패킷이 인터페이스 서버 n(110-n)으로 출력되는 경우, 인터페이스 서버 ID 필드(IV)의 필드는 인터페이스 서버 1(110-1)의 ID 및 인터페이스 서버 n(110-n)의 ID를 포함할 수 있다.
인터페이스 서버 1(110-1)의 처리 결과를 포함하는 입력 인터페이스 서버의 패킷 처리 결과 필드(IVI)는 서비스 서버나 인터페이스 서버가 패킷 처리 과정에서 사용할 패킷 처리 정보로 이용될 수 있다. 예를 들어, 입력 인터페이스 서버 1(110-1)의 패킷 처리 결과는 패킷에 대한 통계 정보, 즉 해당 패킷이 소속된 플로우에 대해서 몇 개의 패킷이 입력되었는지 등의 정보 등일 수 있으나, 이에 제한되지 않고 다양한 정보를 포함할 수 있다.
편집된 인그레스 패킷(220)에 포함된 각 필드의 위치는 패킷 처리 장치(100) 내의 인터페이스 서버들 및 서비스 서버들이 상호 인식할 수 있는 한 다양하게 변경될 수 있다. 그러나, 편집된 인그레스 패킷(220)에 포함된 서비스 서버 ID 필드(SV1,..., SVn)들의 순서는 유지되어야 한다. 이때 서비스 서버의 ID필드들은 반드시 패킷이 전달되어야 하는 서비스 서버 순서대로 배열되어야 한다. 여기에서는 설명의 편의를 위하여, 패킷이 전달되어야 할 서비스 서버들의 ID 필드가 SV1, SV2, ..., SVn 순서대로 배열되어 있으나, 프로토콜 처리 순서에 따라 서비스 서버들의 ID 필드들은 SVn, SV1, SV2 등의 순서로 배열될 수 있다. 각 서비스 서버는 이러한 순서에 따라서 패킷을 처리한 후에, 다음 서비스 서버로 전달한다.
이그레스 패킷(230)은 스위치(120)로부터 서비스 서버의 프로토콜 처리 결과를 포함하는 패킷이다. 이그레스 패킷(230)은 인터페이스 서버 1(110-1)에 수신된 패킷이 서비스 서버 n(130-1)로부터 패킷 처리되어 출력되어 목적지 인터페이스 서버 1(110-1)로 전달되는 패킷이라고 가정한다.
스위치(120)로부터 인터페이스 서버 1(110-1)에 수신된 이그레스 패킷(230)은 플로우 ID, 패킷이 입력된 인터페이스 서버(110-1)와 패킷이 출력되는 인터페이스 서버(110-1)의 ID를 나타내는 인터페이스 서버의 ID 필드(IV), 입력 인터페이스 서버 1(110-1)의 패킷 처리 결과 정보(IVI), 패킷이 전달되었던 서비스 서버들의 ID(SV1, SV2, ..., SVn), 각 서비스 서버에서 생성된 패킷 처리 정보(SVI1, SVI2, ..., SVIn)를 포함한다. 각각의 필드의 위치는 변경될 수 있다. 서비스 서버 n(130-n)에서 생성된 패킷 처리 결과 정보(SVIn)는 예를 들어, 특정 바이러스 패턴이 발견되었는지 여부를 나타내는 결과 표시를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 인터페이스 서버의 동작을 나타내는 순서도이다.
설명의 편의를 위하여, 복수의 인터페이스 서버(110-1 내지 110-n) 중 인터페이스 서버 1(110-1)이 패킷을 수신하였다고 가정한다.
인터페이스 서버 1(110-1)은 패킷을 수신한다(310).
수신된 패킷이 인그레스 패킷이면(320), 인터페이스 서버 1(110-1)은 일반적인 패킷 처리 동작을 수행한다(330). 상세하게는, 인터페이스 서버 1(110-1)은 L2 계층에서 L4 계층에 포함되는 일반적인 프로토콜을 처리하고, 패킷이 전달될 다음 목적지 노드(출력 인터페이스 서버)를 결정하고 플로우(flow)를 생성한다. 인터페이스 서버 1(110-1)는 L2에서 L4 패킷 헤더에 포함된 정보를 이용하여 패킷을 구분할 수 있는 플로우(flow)를 생성할 수 있다. 동일한 플로우 ID를 갖는 패킷들은 동일한 서비스 서버들을 통과하면서 동일하게 처리된다.
인터페이스 서버 1(110-1)는 인그레스 패킷에 대해서 처리해야 할 프로토콜을 결정한다(340). 만약 수신 패킷에 대해서 복수 개의 프로토콜 처리가 요구된다면, 인터페이스 서버 1(110-1)는 다음과 같이 처리 순서를 결정할 수 있다.
인터페이스 서버 1(110-1)는 각 프로토콜들을 계층별로 구분하여 낮은 계층에 속하는 프로토콜이 먼저 처리되고 높은 계층에 속하는 프로토콜이 나중에 처리되도록 순서를 지정할 수 있다. 높은 계층에 속하는 프로토콜은 예를 들어, 페이로드 안에서 특정 패턴(예를 들어, 바이러스 패턴)을 찾는 경우의 처리를 포함한다. 또는, 인터페이스 서버 1(110-1)는 만약 동일한 계층에 복수 개의 프로토콜이 처리되는 경우에는 상호 인과관계를 비교하여 처리 순서를 결정할 수 있다.
인터페이스 서버 1(110-1)는 각 서비스 서버(130-1 내지 130-n) 별로 처리할 수 있는 프로토콜 목록 테이블을 갖는다. 프로토콜 목록 테이블을 참조하여 프로토콜 처리 순서대로 패킷이 통과해야 할 서버스 서버 순서를 결정한다. 프로토콜 목록 테이블은 예를 들어, 서비스 서버 2는 바이러스 검사, 서비스 서버 3은 특정 웹 서비스 제공 등과 같이 각 서비스 서버가 제공하는 프로토콜 처리 서비스 정보를 포함하여 구성될 수 있다.
인터페이스 서버 1(110-1)는 인그레스 패킷을 편집한다(350). 인터페이스 서버 1(110-1)은 수신된 패킷에 결정된 프로토콜 처리를 수행하는 서비스 서버 식별 정보를 포함하도록 인그레스 패킷을 편집할 수 있다. 수신된 인그레스 패킷을 처리할 프로토콜이 복수 개 결정되는 경우, 인터페이스 서버 1(110-1)은 프로토콜 처리 순서에 따라 수신된 패킷에 결정된 프로토콜 처리를 수행하는 복수의 서비스 서버 식별 정보를 포함하도록 패킷을 편집할 수 있다.
편집된 인그레스 패킷에는 플로우 ID 정보, 패킷이 입력되는 인터페이스 서버와 패킷이 출력되는 인터페이스 서버 ID 필드, 인터페이스 서버 1(110-1)의 패킷 처리 결과 필드, 그리고 패킷이 전달되어야 할 서비스 서버들의 ID 필드가 포함된다. 이때 서비스 서버의 ID 필드들은 각 서비스 서버가 패킷이 전달되어야할 순서에 따라서 패킷을 처리한 후에, 다음 서비스 서버로 패킷을 전달할 수 있도록, 패킷이 전달되어야 하는 서비스 서버 순서대로 부착되어 배열되어야 한다. 인터페이스 서버 1(110-1)의 패킷 처리 결과 필드(IVI)는 서비스 서버나 인터페이스 서버가 패킷 처리 과정에서 사용할 패킷 처리 정보를 포함할 수 있다.
인터페이스 서버 1(110-1)는 처리가 완료된 인그레스 패킷을 스위치(120)로 전달한다(360). 스위치(120)는 편집된 인그레스 패킷을 인그레스 패킷에 포함된 첫번째 서비스 서버 ID 필드에 포함된 서비스 서버 ID로 식별되는 서비스 서버로 전송할 수 있다.
수신된 패킷이 이그레스 패킷이면(320), 인터페이스 서버 1(110-1)는 플로우 ID를 사용하여 패킷을 식별하고, 입력 인터페이스 서버의 패킷 처리 결과 필드와 서비스 서버에서 보내온 패킷 처리 결과 필드의 정보를 사용하여 패킷을 처리한다(370).
인터페이스 서버 1(110-1)는 패킷 처리 장치(100) 내부에서 사용된 부가 정보들을 제거하여, 외부 노드가 인식하기 적합한 형태로, 예를 들어, 입력된 원래의 패킷 형태(210)로 패킷을 편집한다(380). 예를 들어, 연결된 외부 노드가 이더넷 스위치이면, 이더넷 프레임으로 포맷이 변경될 수 있다.
인터페이스 서버 1(110-1)는 편집된 패킷을 외부 노드로 전달한다(390).
도 4는 본 발명의 일 실시예에 따른 서비스 서버의 동작을 나타내는 순서도이다.
복수의 서비스 서버(130-1) 중 서비스 서버 n(130-n)이 패킷을 수신하였다고 가정한다.
서비스 서버 n(130-n)은 스위치(120)를 통해서 두 종류의 패킷을 수신한다(410). 패킷이 인터페이스 서버로부터 전달받는 경우에는 도 2의 도면부호 220과 같은 편집된 인그레스 패킷 포맷을 갖는다. 반면에 패킷을 다른 서비스 서버로부터 전달받는 경우에는 도 2의 도면부호 230과 같은 이그레스 패킷 포맷을 갖는다.
서비스 서버 n(130-n)은 수신된 패킷을 분석하여 서비스 서버 n(130-n)에서 제공하는 패킷에 대한 프로토콜 처리를 수행한다(420). 상세하게는, 서비스 서버 n(130-n)은 플로우 ID를 사용하여 패킷을 식별한다. 그리고 서비스 서버 n(130-n)는 수신된 패킷에 포함된 서비스 서버 ID 필드(SV 필드) 중에 자신의 서비스 서버의 ID가 포함되어 있는지 확인하여, 패킷이 프로토콜 처리 순서에 따라 서비스 서버 n(130-1)에 정확히 전달된 패킷인지 확인할 수 있다.
서비스 서버 n(130-n)은 입력 인터페이스 서버의 패킷 처리 결과 필드의 정보를 이용하거나, 또는 입력 인터페이스 서버의 패킷 처리 결과 필드 및 이전 서비스 서버들로부터 보내온 패킷 처리 결과 필드들의 정보를 사용하여 패킷을 처리할 수 있다.
서비스 서버 n(130-n)는 패킷을 전달할 다음 서비스 서버를 결정하여, 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 확인한다(430). 입력 인터페이스 서버에서 전달된 패킷의 서비스 서버 ID 필드(SVn)에는 패킷이 통과해야 하는 서비스 서버 순서에 따라 기록되어 있다. 그러므로 서비스 서버 n(130-n)은 자신의 서비스 서버 ID 필드 이후에 또 다른 서비스 서버의 서비스 서버 ID 필드가 있는지를 확인하여 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 확인할 수 있다.
자신의 서비스 서버 ID 필드 이후에 기재된 또 다른 서비스 서버의 서비스 서버 ID 필드가 있으면, 서비스 서버 n(130-n)은 해당 서비스 서버 ID 필드를 읽어서 다음 서비스 서버를 결정한다. 서비스 서버 n(130-n)는 패킷 처리 결과 필드(SVIn)를 생성하고 동작 420에서 생성된 패킷 처리 결과를 삽입하여 수신된 패킷에 부착하여 패킷을 편집한다(440).
서비스 서버 n(130-n)은 편집된 패킷을 스위치(120)를 통해 다음 서비스 서버로 전달한다(450).
반면에 자신의 서비스 서버 ID 필드 이후에 더 이상의 서비스 서버 필드가 없는 경우에는(430). 패킷 처리 장치(100) 안에서 패킷에 대해 처리되어야할 프로토콜 처리가 완료되었음을 의미한다. 그러므로 서비스 서버 n(130-n)은 인터페이스 서버 필드(IV)에 포함되어 있는 목적지 인터페이스 서버로 패킷을 전달하는 것으로 결정할 수 있다.
서비스 서버 n(130-n)은 패킷 처리 결과 필드(SVIn)를 생성하고 동작 420에서 생성된 패킷 처리 결과를 수신된 패킷에 삽입하고, 스위치(120)가 인식할 수 있도록 패킷을 편집한다(460). 예를 들어, 스위치 종류에 따라서 다양한 형태의 포맷을 요구한다. 만약 이더넷 스위치라면, 이더넷 스위치에 맞는 이더넷 프레임 처리가 수행되고, 또는 경우에 따라 고유한 스위치 포맷에 맞도록 프레임 포맷으로 패킷 포맷을 편집할 수 있다.
서비스 서버 n(130-n)는 패킷을 스위치(120)를 통하여 목적지(출력) 인터페이스 서버로 전달한다(470).
도 5는 본 발명의 일 실시예에 따른 패킷 처리 장치의 동작의 일 예를 나타내는 순서도이다.
인터페이스 서버 1(110-1)가 패킷을 수신하여 처리한다고 가정한다.
인터페이스 서버 1(110-1)는 외부 노드로부터 패킷을 수신한다(510).
인터페이스 서버 1(110-1)는 수신된 패킷의 프로토콜 처리 순서를 결정하고, 패킷의 프로토콜 처리 순서를 나타내는 정보가 포함되도록 패킷을 편집하여 제1 편집 패킷을 생성한다(520).
패킷의 프로토콜 처리 순서를 나타내는 정보는, 수신된 인그레스 패킷을 처리할 프로토콜이 복수 개 결정되는 경우, 프로토콜 처리 순서에 따라 배열된 수신된 패킷에 결정된 프로토콜 처리를 수행하는 복수의 서비스 서버 식별 정보일 수 있다. 제1 편집 패킷은 플로우 ID 정보, 입력 인터페이스 서버 1(110-1)의 ID 필드, 패킷이 출력되는 인터페이스 서버 ID 필드, 인터페이스 서버 1(110-1)의 패킷 처리 결과 필드, 그리고 패킷이 전달되어야 할 서비스 서버들의 ID 필드를 포함할 수 있다.
스위치(120)는 프로토콜 처리 순서를 나타내는 정보에 따라 처음으로 처리할 제1 서비스 서버로 제1 편집 패킷을 전송한다(530).
제1 서비스 서버는 제1 편집 패킷에 대한 제1 서비스 서버에서 제공하는 프로토콜 처리를 수행하여 패킷을 처리한다(540).
제1 서비스 서버는 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정한다(550). 제1 서비스 서버는 수신된 패킷에 자신의 서버 ID 필드 이후에 또 다른 서비스 서버 필드가 있는지를 확인하여 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정할 수 있다.
제1 서비스 서버(130-1)는 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는 경우, 제1 서비스 서버(130-1)는 제1 편집 패킷에 대한 패킷 처리 결과 필드를 추가하여 제2 편집 패킷을 생성하여 스위치(120)로 전달한다(560).
스위치(120)는 패킷이 남아 있는 프로토콜 처리를 수행할 제2 서비스 서버로 제2 편집 패킷을 전달한다(570).
제2 서비스 서버는 수신된 패킷을 분석하여, 수신된 패킷에 포함된 입력 인터페이스 서버의 패킷 처리 결과 필드와 제1 서비스 서버의 패킷 처리 결과 필드의 정보를 사용하여 패킷을 처리하고, 제2 서비스 서버는 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정할 수 있다.
제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있지 않은 경우, 제1 서비스 서버(130-1)는 제1 편집 패킷에 대한 패킷 처리 결과 필드를 추가하여 제2 편집 패킷을 생성하고(580), 스위치는 생성된 제2 편집 패킷을 출력할 목적지 인터페이스 서버로 전달한다(590).
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
Claims (18)
- 외부 노드로부터 패킷이 수신되면, 수신된 패킷의 프로토콜 처리 순서를 결정하고, 상기 패킷이 상기 프로토콜 처리 순서를 나타내도록 상기 패킷을 편집하는 인터페이스 서버;
상기 프로토콜 처리 순서를 나타내는 패킷을 상기 프로토콜 처리 순서에 따라 프로토콜별로 처리하는 복수의 서비스 서버; 및
상기 인터페이스 서버 및 상기 복수의 서비스 서버 사이에 패킷을 전달하는 스위치;를 포함하는 것을 특징으로 하는 패킷 처리 장치. - 제1항에 있어서,
상기 인터페이스 서버는,
수신된 패킷을 처리할 프로토콜을 결정하고, 수신된 패킷에 대해 결정된 프로토콜 처리를 수행하는 서비스 서버 식별 정보를 포함하도록 상기 패킷을 편집하고, 상기 편집된 패킷을 스위치로 전송하는 것을 특징으로 하는 패킷 처리 장치. - 제2항에 있어서,
상기 수신된 패킷을 처리할 프로토콜이 복수 개 결정되는 경우, 프로토콜 처리 순서에 따라 수신된 패킷에 결정된 프로토콜 처리를 수행하는 복수의 서비스 서버 식별 정보가 프로토콜 처리 순서에 따라 배열되도록 상기 패킷을 편집하고, 상기 편집된 패킷을 스위치로 전송하는 것을 특징으로 하는 패킷 처리 장치. - 제1항에 있어서,
상기 인터페이스 서버는, 각 서비스 서버별로 처리할 수 있는 프로토콜을 나타내는 프로토콜 목록 테이블을 참조하여, 수신된 패킷을 처리할 적어도 하나의 프로토콜을 결정하는 것을 특징으로 하는 패킷 처리 장치. - 제2항에 있어서,
상기 편집된 패킷은 플로우 ID 정보, 인터페이스 서버의 패킷 처리 결과 필드, 패킷이 입출력되는 인터페이스 서버의 ID 필드, 및 패킷이 전달되어야 할 적어도 하나의 서비스 서버를 나타내는 적어도 하나의 서비스 서버 ID 필드를 포함하는 것을 특징으로 하는 패킷 처리 장치. - 제1항에 있어서,
상기 인터페이스 서버는, 수신된 패킷이 스위치로부터 수신된 이그레스 패킷인 경우, 이그레스 패킷에 포함된 입력 인터페이스 서버의 패킷 처리 결과 필드 및 서비스 서버의 패킷 처리 결과 필드를 이용하여 패킷을 처리하고, 처리된 패킷을 외부 노드로 전송하는 것을 특징으로 하는 패킷 처리 장치. - 제1항에 있어서,
상기 인터페이스 서버는, 수신된 패킷에 대한 플로우를 생성하고, 생성된 플로우에 대한 프로토콜 처리 순서를 동일하게 결정하는 것을 특징으로 하는 패킷 처리 장치. - 제1항에 있어서,
상기 복수의 서비스 서버 중 제n 서비스 서버는 수신된 패킷을 분석하여, 수신된 패킷에 포함된 입력 인터페이스 서버의 패킷 처리 결과 필드와 이전 서비스 서버로부터 보내온 패킷 처리 결과 필드들의 정보를 사용하여 패킷을 처리하고, 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정하는 것을 특징으로 하는 패킷 처리 장치. - 제8항에 있어서,
제n 서비스 서버는 수신된 패킷에 자신의 서비스 서버 ID 필드 이후에 또 다른 서비스 서버의 서비스 서버 ID 필드가 있는지를 확인하여 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정하는 것을 특징으로 하는 패킷 처리 장치. - 제8항에 있어서,
수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는 경우, 상기 서비스 서버는 패킷을 처리한 결과를 나타내는 패킷 처리 결과 필드를 포함하도록 상기 수신된 패킷을 편집하고, 편집된 패킷을 스위치로 전달하여 상기 패킷이 남아 있는 프로토콜 처리를 수행할 서비스 서버로 전달되도록 하는 것을 특징으로 하는 패킷 처리 장치. - 제8항에 있어서,
수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있지 않은 경우, 상기 서비스 서버는 상기 서비스 서버는 패킷을 처리한 결과를 나타내는 패킷 처리 결과 필드를 포함하도록 상기 수신된 패킷을 편집하고, 편집된 패킷을 스위치로 전달하여, 상기 패킷이 출력될 인터페이스 서버로 전달되도록 하는 것을 특징으로 하는 패킷 처리 장치. - 인터페이스 서버는 외부 노드로부터 패킷을 수신하는 단계;
인터페이스 서버는 수신된 패킷의 프로토콜 처리 순서를 결정하고, 상기 패킷의 프로토콜 처리 순서를 나타내는 정보가 포함되도록 상기 패킷을 편집하여 제1 편집 패킷을 생성하는 단계;
스위치는 상기 프로토콜 처리 순서를 나타내는 정보에 따라 처음으로 처리할 제1 서비스 서버로 상기 제1 편집 패킷을 전송하는 단계;
제1 서비스 서버는 상기 제1 편집 패킷에 대한 패킷 처리를 수행하는 단계;
상기 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정하는 단계;
상기 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는 경우, 제1 서비스 서버는 상기 제1 편집 패킷에 대한 패킷 처리 결과 필드를 추가하여 제2 편집 패킷을 생성하여 스위치로 전달하는 단계; 및
스위치는 상기 패킷이 남아 있는 프로토콜 처리를 수행할 제2 서비스 서버로 제2 편집 패킷을 전달하는 단계;를 포함하는 것을 특징으로 하는 패킷 처리 방법. - 제12항에 있어서,
상기 제2 서비스 서버는 수신된 패킷을 분석하여, 수신된 패킷에 포함된 입력 인터페이스 서버의 패킷 처리 결과 필드와 제1 서비스 서버의 패킷 처리 결과 필드의 정보를 사용하여 패킷을 처리하는 단계; 및
상기 제2 서비스 서버는 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정하는 단계; 를 더 포함하는 것을 특징으로 하는 패킷 처리 방법. - 제12항에 있어서,
상기 제1 편집 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있지 않은 경우, 제1 서비스 서버는 상기 제1 편집 패킷에 대한 패킷 처리 결과 필드를 추가하여 제2 편집 패킷을 생성하여 스위치로 전달하는 단계; 및
스위치는 상기 제2 편집 패킷을 출력할 목적지 인터페이스 서버로 전달하는 단계;를 더 포함하는 것을 특징으로 하는 패킷 처리 방법. - 제12항에 있어서,
상기 패킷의 프로토콜 처리 순서를 나타내는 정보는, 상기 수신된 패킷을 처리할 프로토콜이 복수 개 결정되는 경우, 프로토콜 처리 순서에 따라 배열된 수신된 패킷에 결정된 프로토콜 처리를 수행하는 복수의 서비스 서버 식별 정보인 것을 특징으로 하는 패킷 처리 방법. - 제12항에 있어서,
상기 제1 편집 패킷은 플로우 ID 정보, 인터페이스 서버의 패킷 처리 결과 필드, 패킷이 입출력되는 인터페이스 서버의 ID 필드, 및 패킷이 전달되어야 할 적어도 하나의 서비스 서버를 나타내는 적어도 하나의 서비스 서버 ID 필드를 포함하는 것을 특징으로 하는 패킷 처리 방법. - 제16항에 있어서,
제1 서비스 서버는 수신된 제1 편집 패킷에서 자신의 서비스 서버 ID 필드 이후에 또 다른 서비스 서버 필드가 있는지를 확인하여 수신된 패킷에 대하여 다른 서비스 서버가 처리할 프로토콜 처리 절차가 남아있는지 결정하는 것을 특징으로 하는 패킷 처리 방법. - 제12항에 있어서,
상기 인터페이스 서버는, 상기 스위치에서 수신되는 이그레스 패킷에 포함된 입력 인터페이스 서버의 패킷 처리 결과 및 서비스 서버의 패킷 처리 결과를 이용하여 패킷을 처리하는 단계; 및
처리된 패킷을 외부 노드로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 패킷 처리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120008500A KR20130093848A (ko) | 2012-01-27 | 2012-01-27 | 멀티 계층 프로토콜 부하 분산을 위한 패킷 처리 장치 |
US13/619,855 US20130198411A1 (en) | 2012-01-27 | 2012-09-14 | Packet processing apparatus and method for load balancing of multi-layered protocols |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120008500A KR20130093848A (ko) | 2012-01-27 | 2012-01-27 | 멀티 계층 프로토콜 부하 분산을 위한 패킷 처리 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130093848A true KR20130093848A (ko) | 2013-08-23 |
Family
ID=48871310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120008500A Withdrawn KR20130093848A (ko) | 2012-01-27 | 2012-01-27 | 멀티 계층 프로토콜 부하 분산을 위한 패킷 처리 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130198411A1 (ko) |
KR (1) | KR20130093848A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160037792A (ko) * | 2014-09-29 | 2016-04-06 | 삼성전자주식회사 | 고 대역폭 피어-투-피어 스위치드 키-밸류 캐싱 |
KR102451096B1 (ko) * | 2022-04-12 | 2022-10-06 | (주)소울시스템즈 | 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3139549B1 (en) * | 2014-05-30 | 2021-03-03 | Huawei Technologies Co. Ltd. | Packet editing method and related device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864535A (en) * | 1996-09-18 | 1999-01-26 | International Business Machines Corporation | Network server having dynamic load balancing of messages in both inbound and outbound directions |
US6272522B1 (en) * | 1998-11-17 | 2001-08-07 | Sun Microsystems, Incorporated | Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture |
US6735205B1 (en) * | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for fast packet forwarding in cluster networking |
US7075926B2 (en) * | 2000-05-24 | 2006-07-11 | Alcatel Internetworking, Inc. (Pe) | Programmable packet processor with flow resolution logic |
US7047303B2 (en) * | 2001-07-26 | 2006-05-16 | International Business Machines Corporation | Apparatus and method for using a network processor to guard against a “denial-of-service” attack on a server or server cluster |
US7475157B1 (en) * | 2001-09-14 | 2009-01-06 | Swsoft Holding, Ltd. | Server load balancing system |
AU2003214987A1 (en) * | 2002-02-04 | 2003-09-02 | Intel Corporation | Service processor having a queue operations unit and an output scheduler |
JP2003281109A (ja) * | 2002-03-26 | 2003-10-03 | Hitachi Ltd | 負荷分散方法 |
JP4523381B2 (ja) * | 2004-10-29 | 2010-08-11 | 株式会社日立製作所 | パケット通信装置 |
US20060259602A1 (en) * | 2005-05-12 | 2006-11-16 | Randall Stewart | Method and apparatus for transport level server advertisement and discovery |
JP4207940B2 (ja) * | 2005-08-31 | 2009-01-14 | ヤマハ株式会社 | 通信装置 |
US7593393B2 (en) * | 2006-01-20 | 2009-09-22 | Sbc Knowledge Ventures, L.P. | Voice over internet protocol multi-routing with packet interleaving |
KR101435832B1 (ko) * | 2007-03-19 | 2014-08-29 | 엘지전자 주식회사 | 이동통신 시스템에서의 무선 프로토콜 처리방법 및이동통신 송신기 |
US8248928B1 (en) * | 2007-10-09 | 2012-08-21 | Foundry Networks, Llc | Monitoring server load balancing |
US20090193428A1 (en) * | 2008-01-25 | 2009-07-30 | Hewlett-Packard Development Company, L.P. | Systems and Methods for Server Load Balancing |
US8670334B2 (en) * | 2008-06-04 | 2014-03-11 | Cisco Technology, Inc | Click quality classification and delivery |
-
2012
- 2012-01-27 KR KR1020120008500A patent/KR20130093848A/ko not_active Withdrawn
- 2012-09-14 US US13/619,855 patent/US20130198411A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160037792A (ko) * | 2014-09-29 | 2016-04-06 | 삼성전자주식회사 | 고 대역폭 피어-투-피어 스위치드 키-밸류 캐싱 |
KR102451096B1 (ko) * | 2022-04-12 | 2022-10-06 | (주)소울시스템즈 | 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20130198411A1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834004B2 (en) | Path determination method and system for delay-optimized service function chaining | |
US11552841B2 (en) | Method and apparatus for configuring service | |
CN101772918B (zh) | 服务链的操作、管理和维护(oam) | |
CN102263646B (zh) | 交换机的分布式控制平面内的多播 | |
CN106416147B (zh) | 一种用于软件定义协议网络节点的系统和方法 | |
EP3101850B1 (en) | Packet processing method, device and system | |
US20150063349A1 (en) | Programmable switching engine with storage, analytic and processing capabilities | |
CN102347867B (zh) | 一种堆叠分裂检测的处理方法和设备 | |
US10469277B2 (en) | Multicast group establishment method in fat-tree network, apparatus, and fat-tree network | |
CN105765926A (zh) | 可配置的服务代理映射 | |
CN112187491B (zh) | 服务器的管理方法、装置和设备 | |
JP2005502228A (ja) | データ通信処理方法、コンピューティングデバイス、および、コンピュータ可読媒体 | |
CN103609070A (zh) | 网络流量检测方法、系统、设备及控制器 | |
CN105227463A (zh) | 一种分布式设备中业务板间的通信方法 | |
US20120207026A1 (en) | Computer-readable medium storing communication control program, information processing device, and packet communication method | |
US20150207871A1 (en) | Event Distribution Method, Control Device, and Processor on Software-Defined Network | |
CN101473613A (zh) | 在具有保证决定论的帧交换网络中的虚链路的路由选择方法 | |
CN107579838A (zh) | 数据处理方法及装置 | |
CN116233256A (zh) | 调度路径配置方法、装置、设备及存储介质 | |
US7647434B2 (en) | Technique for in order delivery of traffic across a storage area network | |
KR20130093848A (ko) | 멀티 계층 프로토콜 부하 분산을 위한 패킷 처리 장치 | |
US20160277251A1 (en) | Communication system, virtual network management apparatus, communication node, communication method, and program | |
CN102415063B (zh) | 在虚拟网络中没有先验知识的情况下对数据流控制许可并分配资源的方法 | |
US11483899B2 (en) | Network system that processes data generated by data generation device, communication control device, and communication control method | |
CN104838624B (zh) | 一种控制业务数据在虚拟网络中转发的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120127 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |