KR100606338B1 - 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법 - Google Patents

라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법 Download PDF

Info

Publication number
KR100606338B1
KR100606338B1 KR1020030094929A KR20030094929A KR100606338B1 KR 100606338 B1 KR100606338 B1 KR 100606338B1 KR 1020030094929 A KR1020030094929 A KR 1020030094929A KR 20030094929 A KR20030094929 A KR 20030094929A KR 100606338 B1 KR100606338 B1 KR 100606338B1
Authority
KR
South Korea
Prior art keywords
packet
weight
router
queue
host
Prior art date
Application number
KR1020030094929A
Other languages
English (en)
Other versions
KR20050063519A (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 KR1020030094929A priority Critical patent/KR100606338B1/ko
Publication of KR20050063519A publication Critical patent/KR20050063519A/ko
Application granted granted Critical
Publication of KR100606338B1 publication Critical patent/KR100606338B1/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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Abstract

본 발명은 라우터 스위치 장비에서 중앙처리장치의 과부하를 방지하기 위한 방법에 관한 것으로, 특히 라우터에 연결되어 있는 호스트들로부터 인입되는 패킷에 가중치와 누적치를 두어 선택적으로 패킷을 처리하여 필터링하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법에 관한 것이다.
상기와 같이 제안된 본 발명인 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법을 이루는 구성수단은, 해쉬 테이블의 엔트리에 맞는 가중치를 사용자가 설정하거나 자동으로 설정하는 단계와; 상기 가중치를 설정한 후, 중앙처리장치의 큐로부터 패킷을 가져오고 패킷의 수를 누적시키는 단계와; 상기 패킷에 대한 해쉬(Hash) 값을 계산하여 해당 가중치와 누적치를 패킷 선택 모듈로 가져오는 단계와; 상기 가중치와 누적치를 이용한 패킷 선택 계산식을 통하여 패킷을 받을 것인가 판단하는 단계와; 상기 판단 결과 패킷을 받는 것으로 선택하는 경우에는 해쉬의 누적치를 증가시키고 패킷을 처리하고, 패킷을 받지 않는 것으로 선택하는 경우에는 해당 패킷을 버리는 단계와; 상기 단계 후 타이머의 세팅된 시간에 도달하였는지 판단하여 도달하지 않았으면 다른 패킷을 인입하고, 도달 하였으면 해쉬의 누적치를 초기화하고 다른 패킷을 인입하는 단계를 포함하여 이루어진 것을 특징으로 한다.
라우터, 과부하 방지, 필터링 방법

Description

라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법{A FILTERING METHOD PACKET DATA FOR PREVENTING OVERLOAD OF THE CPU IN THE ROUTER}
도 1은 본 발명인 패킷 필터링 방법을 구현하기 위한 구성도이다.
도 2는 본 발명인 패킷 필터링 방법에 관한 절차도이다.
도 3은 본 발명의 일 구성수단인 가중치 자동 설정 방법의 절차도이다.
본 발명은 라우터 스위치 장비에서 중앙처리장치의 과부하를 방지하기 위한 방법에 관한 것으로, 특히 라우터에 연결되어 있는 호스트들로부터 인입되는 패킷에 가중치와 누적치를 두어 선택적으로 패킷을 처리하여 필터링하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법에 관한 것이다.
라우터 장비는 랜을 연결하여 정보를 주고 받을 때 송신정보(패킷:packet)에 담긴 수신처의 주소를 읽고 가장 적절한 통신통로를 이용하여 다른 통신망으로 전송하는 장치이다. 인터넷을 접속할 때는 반드시 필요한 장비로서, 서로 다른 프로토콜로 운영하는 통신망에서 정보를 전송하기 위해 경로를 설정하는 역할을 제공하 는 핵심적인 통신장비이다.
상기 라우터 장비는 단순히 통신망을 연결해주는 브리지(bridge) 기능에 추가하여 경로 배정표에 따라 다른 통신망을 인식하여 경로를 배정하며, 수신된 패킷에 의하여 다른 통신망 또는 자신이 연결되어 있는 통신망 내의 수신처(노드)를 결정하여 여러 경로 중 가장 효율적인 경로를 선택하여 패킷을 보낸다. 통신 흐름을 제어하며 통신망 내부에 여러 보조 통신망을 구성하는 등의 다양한 통신망 관리기능을 수행한다.
상기와 같은 라우터를 사용함에 따라 통신환경의 설정을 가능하게 하여 관리 방침에 따라 라우팅 방식을 결정하여 전체 네트워크의 성능을 개선할 수 있다. 또한 표준 논리에 따라 통신방법이 자동으로 결정되므로 유지보수가 용이하고, 통신방법에 구애받지 않으므로 대규모 통신망을 쉽게 구성할 수 있으며, 다양한 경로를 따라 통신량(트래픽:traffic)을 분산할 수 있다.
라우터에 의해 스위칭되는 패킷들은 라우터에 연결되어 있는 다양한 호스트들의 수에 따라 그 양이 결정되는데, 호스트들의 수가 급증하거나 라우터에 인입되는 패킷들이 대용량인 경우에는 라우터에서도 트래픽 폭주 현상이 일어날 것이다. 특히 라우터의 동작을 전체적으로 제어하는 중앙처리장치에 인입되는 패킷이 방대한 양인 경우에는 트래픽 폭주에 따른 라우터 정상 동작을 기대하기 어렵게 된다.
종래에는 중앙처리장치의 트래픽 폭주를 방지하기 위하여 중앙처리장치를 위한 큐(QUEUE)를 배치하였는데, 이 큐의 크기를 조절함으로써 중앙처리장치에 유입되는 패킷의 양을 결정하게 하였다. 한편, 스위치 칩셋에 따라 브로드캐스트(Broadcast)나 멀티캐스트(Multicast) 패킷을 위한 큐가 따로 존재할 수도 있다.
라우터에 유입되는 패킷들은 두가지 패턴에 의해 처리되는데 첫번째는 상기와 같이 중앙처리장치에 유입되는 패킷으로 목적 주소(Destination Address)가 라우터/스위치 자신이거나, 브로트캐스트 또는 멀티캐스트 패킷들이고, 두번째는 나머지 패킷들로서 중앙처리장치에 유입되지 않고 바로 스위칭되어 포워딩된다.
상기 패킷들 중 중앙처리장치에 유입되는 패킷들은 중앙처리장치를 위한 큐에 쌓이게 되는데, 중앙처리장치가 큐에서 패킷들을 가져가는 것보다 빨리 패킷들이 큐에 유입되게 되면, 큐가 모두 쌓이게 되어 더 이상 인입되는 패킷들을 임시 저장할 수 없다.
상기와 같이 큐가 모두 찬 상태에서는 더 이상 인입되는 패킷들을 처리할 수가 없으므로 더 이상 패킷들이 들어올 수 없어 이 패킷들은 모두 버리게 된다. 따라서 인입되는 패킷들이 버려지지 않고 최대한 수용하기 위하여는 큐의 크기를 조절하는 수밖에 없다.
이상에서 설명한 바와 같이 종래 기술에서는 중앙처리장치로 유입되는 패킷의 전체량을 단순이 조절하기 때문에 특정 호스트나 패킷에 의해 큐의 대부분이 점유되어 나머지 호스트들의 패킷에 대한 처리가 되지 않는 문제점이 있다. 이것은 중앙처리장치의 큐가 다 차게 되면 무조건 그 다음 유입되는 패킷들은 버리기 때문에 생기는 현상이다. 만약에 특정 한개 또는 두개의 호스트에서 중앙처리장치로 유입될 수 있는 패킷들을 폭주시키면, 나머지 호스트들은 ARP(Address Resolution Protocol)나 DHCP(Dynamic Host Configuration Protocol)와 같은 기본적인 서비스조차 되지 않을 수 있는 문제점이 발생한다. 이런 경우를 대비하여 ARP와 같은 패킷들에 높은 우선순위를 두는 경우도 있으나, 이 경우에도 한개 또는 두개의 호스트에서 ARP 패킷을 폭주시키면 상기와 동일한 결과가 발생하는 문제점이 발생한다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로, 라우터에 연결되는 호스트들로부터 유입되는 패킷에 가중치와 누적치를 두어 패킷 처리를 수행함으로써 특정 호스트에 의해 중앙처리장치가 점유되는 것을 막아 중앙처리장치에서 발생하는 과부하를 방지하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법을 제공하는 것을 목적으로 한다.
상기와 같은 기술적 과제를 해결하기 위하여 제안된 본 발명인 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법을 이루는 구성수단은,
해쉬 테이블의 엔트리에 맞는 가중치를 사용자가 설정하거나 자동으로 설정하는 단계와;
상기 가중치를 설정한 후, 중앙처리장치의 큐로부터 패킷을 가져오고 패킷의 수를 누적시키는 단계와;
상기 패킷에 대한 해쉬(Hash) 값을 계산하여 해당 가중치와 누적치를 패킷 선택 모듈로 가져오는 단계와;
상기 가중치와 누적치를 이용한 패킷 선택 계산식을 통하여 패킷을 받을 것인가 판단하는 단계와;
상기 판단 결과 패킷을 받는 것으로 선택하는 경우에는 해쉬의 누적치를 증가시키고 패킷을 처리하고, 패킷을 받지 않는 것으로 선택하는 경우에는 해당 패킷을 버리는 단계와;
상기 단계 후 타이머의 세팅된 시간에 도달하였는지 판단하여 도달하지 않았으면 다른 패킷을 인입하고, 도달 하였으면 해쉬의 누적치를 초기화하고 다른 패킷을 인입하는 단계를 포함하여 이루어진 것을 특징으로 하고,
상기 가중치를 자동으로 설정하는 단계,
가중치 설정 모드가 자동 설정 모드인지 판단하는 과정과, 상기 판단 결과 자동 설정 모드가 아닌 경우에는 사용자 정의 가중치로 설정되어 종료되고, 자동 설정 모드인 경우에는 CDP(Cisco Discovery Protocol)를 이용해 라우터가 있는지 판단하는 과정과, 상기 판단 결과 라우터가 있는 경우에는 라우터에 더 높은 가중치를 주고 라우터가 없는 경우에는 모든 호스트에 동일한 가중치를 주는 과정을 포함하여 이루어진 것을 특징으로 하고,
상기 사용자에 의한 가중치 설정은, 라우터에 연결된 모든 호스트에 대하여 동일한 가중치를 두거나, 특정 호스트에 더 높은 가중치를 주어 가중치를 설정하는 것을 특징으로 하며,
상기 패킷을 받는 것으로 선택하는 경우는 패킷 선택 계산식에서 queue_size_unit 인자와 normal_weight 인자를 곱한 값이 누적치보다 큰 경우에 해당하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 상기와 같은 구성수단으로 이루어져 있는 본 발명인 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법에 관한 작용과 바람직할 실시예를 상세히 설명한다.
도 1은 본 발명인 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법을 구현하기 위한 구성도로서 크게 중앙처리장치를 위한 큐(Queue)와 해쉬(Hash) 테이블과 패킷 선택 모듈과 타이머로 구성되어 있다.
큐(1)는 큐는 자료구조 형태주의 한가지 방법으로 주기억장치에서 연속적인 공간을 배정하여 데이터를 저장하고 필요시 검색하여 사용할 수 있도록 한 특별한 제약을 가지고 있는 순서 리스트와 같은 자료구조입니다. 특별한 제약이란 큐는 자료의 삽입은 한쪽 끝에서, 출력은 다른 쪽 끝에서 발생함을 의미한다. 즉, 중앙처리장치의 패킷 처리를 위하여 임시적으로 패킷을 저장하는 곳이 필요로 하는데 이를 위하여 큐가 필요로 하는 것이다.
해쉬란 데이터를 저장하고 찾기를 하는데 사용되는 자료 구조의 한 종류로서 찾고자 하는 문자열을 특정한 함수(hash function)로 처리하여 얻은 값으로 데이터의 위치를 찾는 방법이다. 이러한 해쉬에 의하면 데이터를 찾는 속도가 데이터의 개수의 영향을 거의 받지 않는 특성을 지니고 있어, 효율적이고 빠르게 데이터의 위치를 찾을 수 있다.
구체적으로 해쉬 테이블(2)은 키(Key)와 관련 정보로 구성되어 있다. 이 해쉬 테이블이 필요로 하는 이유를 예를 들어 설명하면, 공장에서 종업원에 대해 각 각의 ID를 부여하고, 이를 이용해 종업원의 정보를 찾을 때, ID가 1,2,3과 같이 작은 숫자이면 배열을 사용할 수 있지만, 주민등록번호와 같은 긴 번호를 ID로 사용한다면 이를 배열 인덱스로 사용하기에는 너무 크므로 이러한 문제를 해결키 위해 해쉬 테이블을 사용한다. 해쉬 테이블은 키(종업원에 대한 정보)로부터 해쉬 값이라는 작은 정수를 계산한다. 해쉬 테이블은 해쉬 코드로 주어진 위치에 키와 데이터 항목을 저장한다. 따라서 본 발명에서는 상기와 같은 해쉬 테이블을 소스 맥 주소(source mac address)를 이용하여 구성하고, 랜(LAN) 환경이 아닐 경우에는 소스 아이피 주소(source ip address)로 구성한다. 이와 같은 해쉬 테이블에는 가중치 값과 누적치 값을 두는데, 가중치 값은 중앙처리장치를 더 많이 점유할 수 있는 값이고, 누적치 값은 단위 시간 내에 몇번 받았는지 누적한 값을 의미한다.
패킷 선택 모듈(3)은 상기 해쉬 테이블로부터 전달받은 가중치와 누적치를 가지고 중앙처리장치를 위한 큐에서 전달받은 패킷을 취할 것인지 버릴 것인지 결정하는 모듈이다. 만약 상기 패킷 선택 모듈에서 패킷을 받게되면 해쉬 테이블의 누적치를 증가시켜야 한다.
타이머(4)는 일정 시간을 세팅을 하여, 세팅된 시간에 도달하면 해쉬 테이블의 누적치 값을 초기화 시키는 역할을 한다. 즉, 주기적으로 계속해서 해쉬 테이블의 누적치 값을 초기화시켜 적절하게 중앙처리장치에 들어오는 패킷들에 대하여 필터링을 수행하게 한다.
다음은, 첨부된 도 2와 3을 참조하여 본 발명인 패킷 필터링 방법에 관한 절차와 바람직한 실시예를 상세히 설명한다. 도 2는 본 발명인 라우터/스위치 장비에 서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법에 관한 절차도이고, 도 3은 상기 본 발명인 필터링 방법을 이루는 일 구성수단인 가중치 자동 설정 방법에 관한 절차도이다.
먼저 가중치와 누적치를 둔 해쉬 테이블을 이용하여 라우터의 중앙처리장치에 인입되는 패킷을 처리할 것인지 버릴 것인지 판단하여 필터링 동작을 하기 위해서는 해쉬 테이블의 엔트리에 맞는 가중치를 사용자가 직접 설정하거나 자동으로 설정하여야 한다(S10).
상기 가중치를 자동으로 설정하는 방법에 관한 절차를 도 3을 참조하여 구체적으로 설명하면, 일단 설정 모드가 사용자 설정 모드인 경우에는 사용자가 설정한 가중치를 가지고 패킷 선택을 하면 되는 것이므로 가중치 설정 모드가 자동 설정 모드인지 판단을 하여야 하고(S11), 상기 판단 결과, 자동 설정 모드가 아닌 경우(사용자 설정 모드인 경우)에는 사용자가 정의한 가중치로 설정을 하여 가중치 설정 단계를 종료하고, 자동 설정 모드인 경우에는 CDP(Cisco Discovery Protocol)를 이용하여 라우터/스위치에 연결된 라우터가 있는지 판단하여야 한다(S12,S13).
상기 판단 결과 라우터가 있는 것으로 판단이 되는 경우에는 라우터에 더 높은 가중치를 주고, 나머지 호스트들에 대해서는 더 낮은 가중치를 동일하게 주어 가중치 설정을 완료하고, 라우터가 없는 것으로 판단이 되는 경우에는 모든 호스트들에 대해서 동일한 가중치를 주어 가중치 설정을 종료하면 된다(S14, S15).
한편, 가중치 설정을 자동 설정 이외의 방법으로 설정하는 경우, 한 예로 사용자에 의해 설정하는 경우에는 라우터/스위치에 연결된 모든 호스트들에 대해 동 일한 가중치를 주어 가중치를 설정하거나, 아니면 특정 호스트에 대해서 더 높은 가중치를 주고 나머지 호스트들에 대해서는 더 낮은 가중치를 동일하게 주어 가중치 설정을 할 수 있다.
상기 가중치가 설정이 된 후에, 인입되는 패킷에 대해 선택적 필터링을 수행하기 위하여 중앙처리장치의 큐로부터 패킷을 인입시키고, 나중에 인입되는 패킷을 패킷 선택 모듈에서 선택할 것인지 판단하기 위한 인자인 총 큐 사이즈(total_queue_size)를 계산하기 위하여 인입되는 패킷 개수를 누적시킨다(S20).
상기 인입되는 패킷과 인입되는 패킷의 소스 맥 주소(source mac address)나 소스 아이피 주소(source ip address)를 이용하여 해쉬 값을 계산하여, 이 해쉬 값에 연결된 가중치와 누적치를 패킷 선택 모듈로 가져온다(S30).
상기 인입되는 패킷과 패킷에 해당하는 가중치와 누적치를 전달받은 패킷 선택 모듈은 가중치 값과 누적치 값을 이용하여 인입되는 패킷을 받을 것인가 판단을 한다(S40). 즉, 가중치 값과 누적치 값을 이용하여 일정한 계산식에 의해 패킷을 받을 것인가 버릴 것인가 선택을 하게 되는데 계산식(패킷 선택 계산식)은 아래와 같다.
queue_size_per_host = total_queue_size / total_host
queue_size_unit = enhance_usage * queue_size_per_host
normal_weight = (가중치 * total_host) / 가중치 총합
여기서 상기 계산식에 포함되어 있는 인자들에 대해 설명하면,
total_queue_size : 타이머에 세팅된 일정 시간 동안 처리될 수 있는 큐의 크기를 의미하고, 이 값은 타이머에 세팅된 일정 시간 마다 반복적으로 다시 계산된다.
total_host : 라우터/스위치에 연결된 전체 호스트 개수를 의미하는 것으로, 이 값은 라우터/스위치 관리자가 전체 호스트 개수를 아는 경우에 고정 값으로 설정할 수 있으며, 그렇지 않을 경우에는 실시간으로 해쉬 테이블 엔트리 개수로 타이머에 세팅된 일정 시간 마다 반복적으로 계산된다.
queue_size_per_host : 가중치가 1이라고 할 때 타이머에 세팅된 일정 시간 동안 호스트가 점유할 수 있는 큐의 개수를 의미한다.
enhance_usage, queue_size_unit : 상기 queue_size_per_host 값은 모든 호스트에 일정한 큐를 할당한 값인데, 모든 호스트들이 할당된 큐를 모두 사용하는 것은 아니기 때문에 중앙처리장치를 위한 큐가 남아 있는 경우에도 큐를 사용하지 못하는 경우가 발생할 수 있다. 따라서 이런 경우를 보완하기 위하여 각 호스트에 할당할 수 있는 큐 개수보다 많은 큐를 할당을 하게 되는데, 이 때 곱하는 값의 인자가 바로 enhance_usage 인자이고, 그 결과 값이 queue_size_unit 인자이다.
normal_weight : 가중치의 합계를 total_host 값과 동일하게 만들기 위해서 계산한 값을 의미한다. 결과적으로 각각의 호스트들로부터 인입되는 패킷의 가중치가 다르다고 볼 때 normal_weight 값도 가중치와 비례하여 증가하게 된다.
상기와 같은 인자들로 이루어진 계산식에 의해서 패킷 선택 모듈은 queue_size_unit * normal_weight 값이 누적치보다 큰 경우( queue_size_unit * normal_weight> 누적치)에 해당하면 인입된 패킷을 받아들여 처리하고 그렇치 않으면 패킷을 버린다.
상기 (queue_size_unit * normal_weight> 누적치) 의 식을 분석해 보면, queue_size_unit 값은 일정하기 때문에 가중치가 큰 패킷의 경우에는 normal_weight 값도 비례적으로 클 것이므로 패킷 선택 모듈에서 받아들여질 확률이 커지는 것이다. 또, 특정 호스트로부터 지속적으로 패킷이 인입되면 누적치 값은 계속해서 증가하게 되기 때문에 점점 패킷 선택 모듈에서 받아들여질 확률은 감소하는 것인데, 이는 다른 호스트들로부터 인입되는 패킷도 처리해야 하는 문제점을 해결하기 위한 것이다.
상기 패킷 선택 모듈에서 패킷을 받을 것인가 판단한 결과, (queue_size_unit * normal_weight> 누적치)를 만족하여 패킷을 받는 것으로 선택하는 경우에는 해쉬의 누적치를 증가시키고(다른 호스트로부터 인입되는 패킷 처리를 고려하여 현재 처리되는 호스트의 패킷을 받아들이는 확률을 감소시킴) 상기 패킷을 처리를 수행하면 될 것이고, (queue_size_unit * normal_weight> 누적치)를 만족하지 못하여 패킷을 받지 못하는 경우에는 해당 패킷을 버리면 된다(S50, S60).
상기 패킷 처리 후, 중앙처리장치는 타이머에 세팅된 일정 시간에 도달하였는지 판단을 하여, 세팅된 시간에 도달 하지 않았으면 계속해서 다른 패킷을 인입시켜 상기 절차들을 반복 수행하고, 세팅된 일정 시간에 도달하였으면 해쉬의 누적치를 초기화를 한 후 다른 패킷을 인입시켜 상기 절차들을 반복수행하게 된다(S70, S80). 상기와 같이 타이머에 세팅된 일정 시간마다 해쉬의 누적치를 초기화시키는 이유는 모든 호스트들에 대한 공평한 패킷 처리를 수행하는 것이 가능하게 하기 위함이다.
상기와 같은 구성수단과 바람직한 실시예를 가지는 본 발명인 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법에 의하면, 라우터에 연결되어 있는 특정 호스트에 의하여 중앙처리장치를 위한 큐의 과다 점유를 막을 수 있어 다른 모든 호스트들의 통신을 마비시키는 문제점이 제거되는 효과가 있다.

Claims (4)

  1. 해쉬 테이블의 엔트리에 맞는 가중치를 사용자가 설정하거나 자동으로 설정하는 단계와;
    상기 가중치를 설정한 후, 중앙처리장치의 큐로부터 패킷을 가져오고 패킷의 수를 누적시키는 단계와;
    상기 패킷에 대한 해쉬(Hash) 값을 계산하여 해당 가중치와 누적치를 패킷 선택 모듈로 가져오는 단계와;
    상기 가중치와 누적치를 하기의 패킷 선택 계산식 을 통하여 패킷을 받을 것인가 판단하는 단계와;
    상기 판단 결과 패킷을 받는 것으로 선택하는 경우에는 해쉬의 누적치를 증가시키고 패킷을 처리하고, 패킷을 받지 않는 것으로 선택하는 경우에는 해당 패킷을 버리는 단계와;
    상기 단계 후 타이머의 세팅된 시간에 도달하였는지 판단하여 도달하지 않았으면 다른 패킷을 인입하고, 도달 하였으면 해쉬의 누적치를 초기화하고 다른 패킷을 인입하는 단계를 포함하여 이루어진 것을 특징으로 하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법.
    *패킷 선택 계산식
    queue_size_per_host = total_queue_size / total_host
    queue_size_unit = enhance_usage * queue_size_per_host
    normal_weight = (가중치 * total_host) / 가중치 총합
    total_queue_size : 타이머에 세팅된 일정 시간 동안 처리될 수 있는 큐의 크기.
    total_host : 라우터/스위치에 연결된 전체 호스트 개수.
    queue_size_per_host : 가중치가 1이라고 할 때 타이머에 세팅된 일정 시간 동안 호스트가 점유할 수 있는 큐의 개수.
    enhance_usage : 각 호스트에 할당할 수 있는 큐 개수보다 많은 큐를 할당을 할 때 곱하는 값의 인자.
    queue_size_unit : enhance_usage * queue_size_per_host의 결과 값
    normal_weight : 가중치의 합계를 total_host 값과 동일하게 만들기 위해서 계산한 값.
  2. 청구항 1에 있어서, 상기 가중치를 자동으로 설정하는 단계는,
    가중치 설정 모드가 자동 설정 모드인지 판단하는 과정과, 상기 판단 결과 자동 설정 모드가 아닌 경우에는 사용자 정의 가중치로 설정되어 종료되고, 자동 설정 모드인 경우에는 CDP(Cisco Discovery Protocol)를 이용해 라우터가 있는지 판단하는 과정과, 상기 판단 결과 라우터가 있는 경우에는 라우터에 더 높은 가중치를 주고 라우터가 없는 경우에는 모든 호스트에 동일한 가중치를 주는 과정을 포함하여 이루어진 것을 특징으로 하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법.
  3. 청구항 1에 있어서,
    상기 사용자에 의한 가중치 설정은, 라우터에 연결된 모든 호스트에 대하여 동일한 가중치를 두거나, 특정 호스트에 더 높은 가중치를 주어 가중치를 설정하는 것을 특징으로 하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법.
  4. 청구항 1에 있어서,
    상기 패킷을 받는 것으로 선택하는 경우는 패킷 선택 계산식에서 queue_size_unit 인자와 normal_weight 인자를 곱한 값이 누적치보다 큰 경우에 해당하는 것을 특징으로 하는 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기 위한 패킷 필터링 방법.
KR1020030094929A 2003-12-22 2003-12-22 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법 KR100606338B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030094929A KR100606338B1 (ko) 2003-12-22 2003-12-22 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030094929A KR100606338B1 (ko) 2003-12-22 2003-12-22 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법

Publications (2)

Publication Number Publication Date
KR20050063519A KR20050063519A (ko) 2005-06-28
KR100606338B1 true KR100606338B1 (ko) 2006-07-28

Family

ID=37255363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030094929A KR100606338B1 (ko) 2003-12-22 2003-12-22 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법

Country Status (1)

Country Link
KR (1) KR100606338B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946162B1 (ko) * 2007-10-22 2010-03-11 주식회사 다산네트웍스 동적 호스트 설정 프로토콜 서버

Also Published As

Publication number Publication date
KR20050063519A (ko) 2005-06-28

Similar Documents

Publication Publication Date Title
US11677667B2 (en) System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US8228929B2 (en) Flow consistent dynamic load balancing
US8503310B2 (en) Technique for policy conflict resolution using priority with variance
US8335158B2 (en) Systems and methods for dropping data using a drop profile
US6084858A (en) Distribution of communication load over multiple paths based upon link utilization
KR100875739B1 (ko) Ip 네트워크 시스템에서의 패킷 버퍼 관리 장치 및 방법
US10965605B2 (en) Communication system, communication control method, and communication apparatus
EP2938028B1 (en) Communication node, control device, method for managing control information entries, and program
RU2598293C1 (ru) Способ и устройство для передачи стандартных данных конфигурации усовершенствованной системы выбора протокола передачи
KR100606338B1 (ko) 라우터/스위치 장비에서 중앙처리장치 과부하를 방지하기위한 패킷 필터링 방법
US8660001B2 (en) Method and apparatus for providing per-subscriber-aware-flow QoS
KR20060009867A (ko) 프레임의 순위 분류 방법
CN116582493A (zh) 数据中心网络链路的选取方法、装置、电子设备
Cisco Configuring Quality of Service
Cisco Configuring Quality of Service
KR101541168B1 (ko) 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법
KR20010038486A (ko) 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법
JPH11122288A (ja) Lan接続装置
JP2006054711A (ja) ネットワークスイッチ
JP2002344503A (ja) パケット転送装置におけるQoSリソース割り当て方式
JP2003333063A (ja) スイッチングハブ
JP2006074484A (ja) ネットワークスイッチ
JP2006033002A (ja) 通信制御方法、通信制御装置、制御プログラム及び記録媒体
JP2002111731A (ja) 通信制御方法及び装置
JP2009225266A (ja) Ipパケット転送装置

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120615

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee