[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100656348B1 - Apparatus and method for controlling bandwidth using token bucket - Google Patents

Apparatus and method for controlling bandwidth using token bucket Download PDF

Info

Publication number
KR100656348B1
KR100656348B1 KR1020050049680A KR20050049680A KR100656348B1 KR 100656348 B1 KR100656348 B1 KR 100656348B1 KR 1020050049680 A KR1020050049680 A KR 1020050049680A KR 20050049680 A KR20050049680 A KR 20050049680A KR 100656348 B1 KR100656348 B1 KR 100656348B1
Authority
KR
South Korea
Prior art keywords
tokens
bucket
token
stack
double
Prior art date
Application number
KR1020050049680A
Other languages
Korean (ko)
Other versions
KR20060064474A (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 한국전자통신연구원
Publication of KR20060064474A publication Critical patent/KR20060064474A/en
Application granted granted Critical
Publication of KR100656348B1 publication Critical patent/KR100656348B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/215Flow control; Congestion control using token-bucket
    • 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/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

본 발명은 토큰 버켓을 이용한 대역폭 제어 방법 및 대역폭 제어 장치에 관한 것으로, 네트워크 환경에서 다량의 대역폭을 사용하는 의심스러운 트래픽 및 대역폭고갈 공격에 대응하는 토큰 버켓을 이용한 재구성 가능한 대역폭 제어 장치 및 그 방법에 관한 것이다. 이를 위하여 본 발명은 기본 대역폭 및 추가 제어 대역폭 각각의 크기에 대응하는 초기 토큰수가 할당된 노멀 버켓 및 버스트 버켓으로 구성된 더블 토큰 버켓 스택에서 대역폭 제어를 수행하며, 노멀 버켓 및 버스트 버켓의 토큰을 순차적으로 사용하는 더블 토큰 버켓 스택의 토큰 수에서 입력 패킷의 크기에 해당하는 토큰 수를 감하고, 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인 경우 상기 패킷을 폐기하며 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 큰 경우 패킷을 전송하고 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 패킷을 전송과 함께 사용자에게 경보 메세지를 전송하는 것을 특징으로 한다.The present invention relates to a bandwidth control method and a bandwidth control device using a token bucket, and to a reconfigurable bandwidth control device using a token bucket corresponding to suspicious traffic and bandwidth exhaustion attacks using a large amount of bandwidth in a network environment It is about. To this end, the present invention performs bandwidth control in a double token bucket stack composed of a normal bucket and a burst bucket to which the initial number of tokens corresponding to the size of the basic bandwidth and the additional control bandwidth are allocated, and sequentially the tokens of the normal bucket and the burst bucket are sequentially Subtract the number of tokens corresponding to the size of the input packet from the number of tokens in the double token bucket stack being used, and if the number of tokens remaining in the double token bucket stack is negative, discard the packet and recall the number of tokens remaining in the double token bucket stack. The packet is transmitted when the number of tokens in the burst bucket is larger than the initial token number, and when the number of tokens remaining in the double token bucket stack is smaller than the number of tokens in the burst bucket, the packet is transmitted and an alert message is transmitted to the user.

토큰 버켓, 대역폭 제어, Token bucket, bandwidth control,

Description

토큰 버켓을 이용한 대역폭 제어 방법 및 대역폭 제어 장치{Apparatus and method for controlling bandwidth using token bucket}Bandwidth control method and bandwidth control device using token bucket {Apparatus and method for controlling bandwidth using token bucket}

도 1 은 DDoS 공격을 시작하려는 준비단계와 실제 DDoS공격 트래픽인 Flood 트래픽(110)을 전송하는 모습을 나타낸다.FIG. 1 shows the preparation of a DDoS attack and the transmission of Flood traffic 110 which is actual DDoS attack traffic.

도 2 는 네트워크 침해 대응카드의 구성을 도시한다.2 shows a configuration of a network infringement response card.

도 3 은 TCAM에 기록되는 패킷 차단 및 대역폭 제어를 위한 보안정책표이다. 3 is a security policy table for packet blocking and bandwidth control recorded in the TCAM.

도 4 는 더블 토큰 버켓 메커니즘을 스택 데이터 구조로 도시한 그림이다.4 shows a double token bucket mechanism in a stack data structure.

도 5 는 더블 토큰 버켓을 이용하여 스택 형태의 메모리를 형성한 구조도이다.5 is a structural diagram of a stack-type memory using a double token bucket.

도 6 은 토큰 버켓 충전 프로세스를 도시한다. 6 illustrates a token bucket filling process.

도 7 은 토큰 버켓 충전 프로세스의 흐름도이다. 7 is a flowchart of a token bucket filling process.

도 8 은 입력 패킷이 대역폭 제어규칙에 해당하는지 판단하는 흐름도이다.8 is a flowchart for determining whether an input packet corresponds to a bandwidth control rule.

도 9 는 패킷의 입력에 따른 대역폭 제어 플로우 차트를 도시한다. 9 shows a bandwidth control flow chart according to the input of a packet.

도 10 은 본 발명의 대역폭 제어 방법을 구현하기 위한 IXIA를 이용한 보안카드를 장착한 게이트웨이장치의 대역폭 제어 테스트환경을 도시한다.10 illustrates a bandwidth control test environment of a gateway device equipped with a security card using IXIA for implementing the bandwidth control method of the present invention.

도 11 은 대역폭 제어에 의한 과다 트래픽 제어를 도시한다. 11 illustrates excessive traffic control by bandwidth control.

본 발명은 저속네트워크 환경과 고속 네트워크 환경에서 다량의 대역폭을 사용하는 의심스러운 트래픽에 대한 대응행위 또는 QoS에서의 Policng/Shapng의 목적으로 트래픽을 제어하고자 하기 위해서, 하드웨어를 이용하여 플로우별 트래픽의 대역폭을 제어할 수 있도록 토큰 버켓을 이용한 재구성 가능한 대역폭 제어 장치 및 그 방법에 관한 것이다. In the present invention, in order to control traffic for suspicious traffic using a large amount of bandwidth in a low speed network environment and a high speed network environment, or to control traffic for the purpose of Policng / Shapng in QoS, the bandwidth of traffic per flow using hardware The present invention relates to a reconfigurable bandwidth control apparatus using a token bucket and a method thereof so as to control the control.

인터넷을 이용한 유용한 정보의 제공과 멀티미디어의 활용으로 인해 인터넷에 대한 관심이 증대되는 반면, 이를 악용하여 허가없이 타인의 정보를 추출, 변조하거나 경쟁 상대의 서비스제공을 방해하는 등의 공격이 증대되고 있다. 또한 불특정 다수를 대상으로 하는 블라인드 공격 또한 증대되고 있는 실정이다.While the interest in the Internet is increasing due to the use of useful information and the use of multimedia through the Internet, attacks such as extracting and altering other people's information without permission and preventing the provision of services by competitors are increasing by exploiting it. . In addition, blind attacks targeting an unspecified majority are also increasing.

Yahoo, eBay사 등 웹 사이트에 대한 분산 서비스 거부(DDoS: Distributed Denial of Service, 이하 DDoS) 공격과 그에 대한 피해사례의 보고는 인터넷에 개방되어 있는 시스템들이 DDoS 공격에 대해 매우 취약하다는 것을 보여준다.Distributed Denial of Service (DDoS) attacks on Web sites such as Yahoo and eBay, as well as reports of damages, show that systems that are open to the Internet are very vulnerable to DDoS attacks.

DDoS 공격은 아주 짧은 시간 안에 다량의 패킷을 공격의 목표로 삼는 타겟 시스템 또는 타겟 네트워크에 전송함으로써, 서비스를 일시적으로 중단시키거나 원활한 서비스를 유지할 수 없도록 유도한다. DDoS attacks send a large amount of packets to a target system or target network that targets the attack in a very short time, leading to a temporary interruption in service or inability to maintain a smooth service.

분산서비스 거부 공격의 동작원리와 공격의 형태, 그리고 이러한 공격을 최소화하기 위한 기존 네트워크 및 보안장비의 한계점을 살펴보면 다음과 같다.The principles of operation of distributed denial of service attacks, types of attacks, and limitations of existing network and security equipment to minimize such attacks are as follows.

1. 분산 서비스 거부 공격1. Distributed Denial of Service Attacks

서비스 거부 공격(DoS: Denial of Service) 공격은 1990년대 후반부터 공격으로서 분류되기 시작하였으며, 하나의 근원지 주소에서 하나의 타겟 시스템에 대한 공격으로 시작되었다. 그러나, 최근 들어서는 N 대 N 관계를 갖는, 즉 분산 서비스 거부 공격으로 진화되었다. Denial of Service (DoS) attacks began to be classified as attacks in the late 1990s, beginning with attacks on one target system at one source address. However, it has recently evolved into an N-N relationship, that is, a distributed denial of service attack.

DDoS는 인터넷의 구조적인 취약성을 이용하는 공격으로서  심각한 경우 몇 시간 또는 며칠 동안 정상서비스의 마비상황을 야기시키는 일련의 네트워크 공격을 말한다. DDoS is an attack that exploits the structural vulnerabilities of the Internet and is a series of network attacks that, in severe cases, cause paralysis of normal services for hours or even days.

이러한 분산서비스 거부 공격을 당한 기관이나 회사에게는 엄청난 피해사태를 일으켜 기관이나 기업의 신뢰도를 심각하게 저하시키고, 직/간접적인 피해보상을 해야 하는 최악의 결과를 가져올 수도 있다. Agencies or companies that have been subjected to such distributed denial-of-service attacks can cause enormous damage, severely deteriorating the credibility of the institution or company, and causing the worst consequences of direct or indirect damage compensation.

 DDoS 공격은 기업이 고객 서비스를 위해 운영하는 서버들(웹 서버, DNS 서버 등)과 네트워크 장비(라우터, 방화벽 등)에 임의로 조작된 엄청난 양의 공격성 트래픽을 전송해서 시스템 자체를 지연 혹은 마비시켜 버림으로써 고객들이 기업의 서비스를 이용할 수 없는 서비스거부(Denial of Service) 상황을 만드는 목적을 가진다.DDoS attacks delay the system itself by sending huge amounts of arbitrarily manipulated aggressive traffic to servers (web servers, DNS servers, etc.) and network equipment (routers, firewalls, etc.) operated by the enterprise for customer service. The goal is to create a Denial of Service situation where customers cannot use the services of a company.

최근에는 기업의 서비스용 웹 사이트나 서버들에 대한 공격을 통해 서비스를 하지 못하도록 네트워크를 마비시키는 공격 형태에서 점차 ISP(Internet Service Provider)의 코어(Core) 라우터, DNS 서버들을 직접 공격해서 인터넷 인프라 자체를 완전히 마비시키는 형태로 발전해 가고 있다. Recently, in the form of an attack paralyzing a network to prevent service by attacking a web site or a server for a service, an Internet infrastructure itself is directly attacked by directly attacking an Internet service provider's core routers and DNS servers. It is developing into a form that completely paralyzes.

2. DDoS 공격의 동작 원리2. Working principle of DDoS attack

인터넷의 표준인 TCP/IP 프로토콜은 구조적인 보안의 취약점을 가지고 있다. 모든 인터넷 사용자는 TCP/IP 프로토콜을 이용하여 임의의 데이터 패킷을 발송자의 IP 주소(Source IP)를 가지고 목적지의 IP 주소(Destination IP)로 발송할 수 있다.The TCP / IP protocol, the Internet standard, has a weakness in structured security. Any Internet user can use the TCP / IP protocol to send arbitrary data packets to the destination IP with the sender's IP address.

DDoS 공격은 수백 혹은 수천 개의 Zombi들을 이용해서 Victim System을 공격하는 형태를 가진다. 이러한 많은 Zombi들은 공격 명령이 떨어지면 그 순간 피해자에서 가해자로 돌변하여 일제히 타깃 시스템을 공격하게 된다. 이렇게 수많은 Zombi들이 각자 생성하는 무차별적인 공격의 트래픽 볼륨을 생성하여 서비스 불능상태를 만들어 낸다. DDoS attacks take the form of attacking Victim Systems using hundreds or thousands of Zombi. Many of these zombies turn from victims to offenders at the same time as the attack orders fall, attacking the target system all at once. Numerous Zombi generate traffic volume of indiscriminate attack generated by each of them to create service outage.

도 1 은 DDoS 공격을 시작하려는 준비단계와 실제 DDoS공격 트래픽인 Flood 트래픽(110)을 전송하는 모습을 나타낸다. 공격자(100)는 텔넷 또는 암호화된 전용 클라이언트 프로그램을 이용해서 마스터(120)에 접속하고 공격명령을 전달한다. 그러면, 공격명령을 받은 마스터(120)는 자신에게 속한 에이전트(130)에게 다시 공격명령을 하달하고, 에이전트(130)들은 동시에 Victim을 향해서 대역폭 고갈 공격을 시도한다.FIG. 1 shows the preparation of a DDoS attack and the transmission of Flood traffic 110 which is actual DDoS attack traffic. The attacker 100 connects to the master 120 using telnet or an encrypted dedicated client program and transmits an attack command. Then, the master 120 receives the attack command again gives an attack command to the agent 130 belonging to the agent, and the agents 130 attempt to exhaust the bandwidth at the same time toward Victim.

3. DDoS 공격의 형태3. Types of DDoS Attacks

DDoS 공격은 기본적으로 다음 두 가지 형태를 가진다. DDoS attacks basically come in two forms:

1) 대역폭 공격(Bandwidth Attacks)1) Bandwidth Attacks

이 형태의 공격은 엄청난 양의 패킷을 전송해서 네트워크의 대역폭이나 장비 자체의 리소스를 모두 사용하는 형태이다. 라우터, 서버, 방화벽 같은 주요 장비들은 제한적인 처리용량을 가지고 있기 때문에 그 용량을 초과하는 이런 형태의 공격을 받게 되면 정상적인 서비스를 처리 못하게 되거나 장비 자체가 작동 불능상태가 되어서 네트워크 전체가 서비스 불능 사태를 초래할 수 있다. This type of attack sends huge amounts of packets, using both network bandwidth and the resources of the device itself. Major devices such as routers, servers, and firewalls have limited processing capacity, so if this type of attack is exceeded, the network will not be able to handle normal service or the device itself will be inoperable. Can cause.

이 형태의 대표적인 공격은 패킷 오버플로 공격인데, 이것은 정상적으로 보이는 엄청난 양의 TCP, UDP, ICMP 패킷들을 특정한 목적지로 보내는 것이다. 또한, 발송지의 주소를 스푸핑해서 발송하기 때문에 공격의 탐지가 쉽지 않다. A typical attack of this type is a packet overflow attack, which sends a large amount of normally visible TCP, UDP, and ICMP packets to a specific destination. In addition, it is not easy to detect an attack by spoofing the sender's address.

2) 애플리케이션 공격(Application Attacks)2) Application Attacks

이 형태의 공격은 TCP와 HTTP 같은 프로토콜을 이용해서 특정한 반응이 일어나는 요청 패킷을 발송하여 해당 시스템의 연산처리 리소스를 소진시켜서 정상적인 서비스 요청과 처리가 불가능한 상태로 만드는 것이다.This type of attack uses protocols such as TCP and HTTP to send request packets with specific reactions, exhausting the computational resources of the system, making normal service requests and processing impossible.

4. 기존 네트워크 및 보안 장비의 한계점4. Limitations of Existing Networks and Security Equipment

DDoS 공격에 대응하기 어려운 가장 큰 이유는 해커가 발송하는 비정상적인 공격성 패킷과 고객이 발송하는 정상적인 서비스 요청 패킷을 정확히 구분하는 것이 무척 어렵기 때문에 DDoS 공격을 탐지하는 것 자체가 힘들다는 점이다. The main reason why it is difficult to cope with DDoS attacks is that it is difficult to detect DDoS attacks because it is very difficult to accurately distinguish abnormal attack packets sent by hackers and normal service request packets sent by customers.

또한 정확히 탐지를 한다고 해도 라우터나 방화벽을 통한 필터링을 하게 되면 그 장비 자체가 죽어버리는 경우가 많기 때문이다. 이러한 .DDoS 공격에 대한 대응책으로 다음과 같은 기술들이 적용되고 있으나, 완벽한 해결책으로는 미비한 실정이다. Also, even if the detection is accurate, the filtering itself through the router or firewall often dies. As a countermeasure against such a .DDoS attack, the following techniques are applied, but the complete solution is insufficient.

◆블랙홀링(BlackHoling)BlackHoling

블랙홀링 기술은 라우터에서 특정 목적지(Victim)로 전송되는 모든 트래픽에 대하여 FIB(Forwarding Information Base) 테이블에 등록하여 Null Interface로 불리우는 트래픽 폐기장소로 보내서 소멸시키는 방법이다. 하지만, 해당 목적지로 전송되는 악성공격 패킷들뿐만 아니라 정상적인 패킷들도 포함한 모든 트래픽이 소멸되기 때문에 이 방법은 해결책이 될 수가 없다. Black hole technology is a method of registering all the traffic transmitted from a router to a specific destination (Victim) in a forwarding information base (FIB) table and sending it to a traffic discarding site called a null interface. However, this method is not a solution because all traffic including normal packets as well as malicious packets sent to the destination are destroyed.

◆싱크홀링(SinkHoling)SinkHoling

싱크홀링 기술은 라우터에서 특정 목적지(Victim)으로 전송되는 모든 트래픽에 대하여 FIB(Forwarding Information Base)를 조작하여 트래픽 분석이 가능한 특정 머신으로 패킷데이터를 전송하는 기술이다. 이를 통하여 대량의 이상 공격트래픽에 대하여 유해성 여부를 탐지할 수 있다. 하지만, 이러한 공격은 실시간적인 대응을 제공할 수 없는 한계점이 있다. Sinkhole technology is a technology that transmits packet data to a specific machine capable of analyzing traffic by manipulating a forwarding information base (FIB) for all traffic transmitted from a router to a specific destination. Through this, it is possible to detect the harmfulness of a large number of abnormal attack traffic. However, these attacks have limitations that cannot provide real-time response.

◆라우터(Router)Router

라우터는 ACL(Access Control List)을 이용한 필터링 기능을 제공하는데, 이 기능만으로는 현재의 고도화된 DDoS 공격을 방어하기 어렵다. Routers provide filtering using access control lists (ACLs), which are difficult to defend against today's advanced DDoS attacks.

첫째, 라우터는 핑(Ping) 공격같은 인터넷 통신에 꼭 필요하지 않은 몇 가지 간단한 DDoS 공격에 대해서는 필터링 메커니즘을 통해 방어할 수 있다. 하지만 최근의 DDoS 공격은 인터넷을 사용하기 위해서 가장 기본적이고 필수적인 프로토콜을 사용하기 때문에 특정 프로토콜 자체를 모두 필터링하는 방법은 사용할 수가 없는 것이다. First, routers can defend against some simple DDoS attacks that are not necessary for Internet communications, such as ping attacks, through filtering mechanisms. However, the recent DDoS attack uses the most basic and essential protocol to use the Internet, so it is impossible to use the method of filtering all the specific protocols themselves.

둘째, 스푸핑된 공격에 대해서는 uRPF를 이용한 방어법이 권고되고 있으나 실제로 구현하는 것은 한계가 있다. Second, uRPF-based defenses are recommended for spoofed attacks, but there are limits to the actual implementation.

셋째, 라우터의 ACL기능은 소스가 스푸핑 되었는가 여부에 상관없이 HTTP 에러와 HTTP half-open 커넥션 공격 같은 애플리케이션 레이어의 공격에 대해선 그 효과를 발휘하기 어렵다는 한계점을 가진다. Third, the ACL function of the router has a limitation that it is difficult to be effective against application layer attacks such as HTTP error and HTTP half-open connection attack regardless of whether the source is spoofed.

◆방화벽(Firewall)◆ Firewall

방화벽은 몇가지 한계점을 가지고 있다. Firewalls have some limitations.

첫째, 방화벽은 네트워크 트래픽이 흐르는 경로의 내부(In-line)에 위치하기 때문에 방화벽 자체가 공격의 대상이 되어 대용량의 공격 트래픽에 의해 다운되게 되면 방화벽을 통과하여 전달되는 모든 트래픽이 단절되어, 전체 네트워크가 마비되는 문제가 발생할 수 있다. First, since the firewall is located in-line of the network traffic flow path, if the firewall itself is targeted for attack and down by a large amount of attack traffic, all traffic passing through the firewall is cut off. The network may be paralyzed.

둘째, 방화벽이 비정상적인 행위를 정확히 탐지할 수 있다고 할지라도 개별 패킷들에 대해서 정상적인 것인지 아닌지의 여부를 구분할 수 있는 기능이 없기 때문에 스푸핑된 소스에서의 공격은 방어하기 어렵다. Second, even if the firewall can detect abnormal behavior accurately, attacks from spoofed sources are difficult to defend against because they lack the ability to distinguish whether or not they are normal for individual packets.

◆침입탐지시스템(IDS)Intrusion Detection System (IDS)

첫째, 기존의 시그니처 방식에만 의존하는 IDS는 정상적인 패킷으로 가장한 변형된 형태의 공격에 대해서는 해당 공격 시그니처가 없이는 방어가 어렵다. First, IDS, which relies only on the existing signature method, is difficult to defend against the modified type of attack disguised as a normal packet without the corresponding attack signature.

둘째, DDoS 공격을 방어하는 수단으로서 IDS의 가장 큰 한계점은 단지 공격을 탐지만 할 수 있고, 방어할 수 있는 어떠한 수단도 제공하지 못한다는 점이다. IDS는 효과적인 방어 솔루션과 통합/연계되어 상호 보완적인 기능을 수행하는 형태 로 활용되어야 할 것이다. Second, IDS's biggest limitation as a means of defending against DDoS attacks is that it only detects attacks and does not provide any means to defend against them. IDS should be used in a way that complements and integrates with effective defense solutions.

◆매뉴얼 반응(Manual Response)Manual Response

사람이 직접 수작업을 통해 방어를 하는 경우는 그 대응이 너무 부분적이며 즉각적인 반응이 어려울 것이다. DDoS 공격을 당했을 때 전형적인 첫번째 반응은 해당 ISP에 연락해서 소스를 밝혀달라고 요청하는 일이다. 스푸핑된 주소일 경우에는 다수의 ISP들이 협력해서 검증해야 하는 복잡하고 오랜 작업이 필요하다. 또한, 소스가 밝혀진다고 할지라도 그것을 차단한다는 것은 모든 트래픽을 차단한다는 의미가 되므로 장단점이 있다고 할 수 있다. If a person defends himself by hand, the response may be too partial and immediate response difficult. The typical first response to a DDoS attack is to contact the ISP and ask for the source. Spoofed addresses require complex and lengthy work that many ISPs have to work with to verify. Also, even if the source is known, blocking it means that it blocks all traffic, so there are advantages and disadvantages.

◆로드 밸런싱(Load Balancing)Load Balancing

마지막으로 로드 밸런싱 혹은 이중화, 삼중화 등을 통해서 더욱 용량이 큰 트래픽에 대해서도 처리할 수 있도록 네트워크의 대역폭 및 성능을 강화시키는 방법이다. 이러한 방법은 대량의 트래픽을 어떻게 해서든 서비스 하려는 목적을 갖지만, 종국적으로는 그 이상의 트래픽에 의해 서비스 불가하는 상황을 초래할 수 있다. Lastly, load balancing, redundancy, and triplet are used to enhance the bandwidth and performance of the network to handle even larger traffic. This method is intended to serve a large amount of traffic somehow, but may eventually lead to a situation in which more traffic is not available.

본 발명은 상기 서술한 문제점을 해결하기 위하여 네트워크 환경에서 다량의 대역폭을 사용하는 의심스러운 트래픽에 대한 대응 및 다량의 패킷을 임의적으로 인터넷에 발생시키는 블라인드 공격형태의 대역폭고갈 공격에 대한 제어를 통해 양질의 인터넷 서비스의 제공할 수 있도록 토큰 버켓을 이용한 재구성 가능한 대역폭 제어 장치 및 그 방법에 관한 것이다. In order to solve the above-mentioned problems, the present invention provides a high-quality control system for bandwidth depletion attacks in the form of blind attacks, which respond to suspicious traffic using a large amount of bandwidth in a network environment and randomly generate a large amount of packets on the Internet. The present invention relates to a reconfigurable bandwidth control apparatus using a token bucket and to a method for providing an internet service.

상기 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 대역폭 제어 방법은 기본 대역폭 및 추가 제어 대역폭 각각의 크기에 대응하는 초기 토큰수가 할당된 상기 기본 대역폭 부분의 노멀 버켓 및 상기 추가 제어 대역폭 부분의 버스트 버켓으로 구성된 더블 토큰 버켓 스택에서 대역폭 제어를 수행하는 방법으로서, (a)상기 노멀 버켓 및 상기 버스트 버켓의 토큰을 순차적으로 사용하는 상기 더블 토큰 버켓 스택의 토큰 수에서 입력 패킷의 크기에 해당하는 토큰 수를 감하는 단계; (b)상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인 경우 상기 패킷을 폐기하는 단계; (c)상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 큰 경우 패킷을 전송하는 단계; 및 (d)상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 패킷을 전송하고 사용자에게 경보 메세지를 전송하는 단계;를 포함하는 것을 특징으로 한다.In order to achieve the above technical problem, the bandwidth control method according to an embodiment of the present invention is the normal bucket and the additional control bandwidth portion of the basic bandwidth portion to which the initial number of tokens corresponding to the size of each of the basic bandwidth and the additional control bandwidth is allocated A method of performing bandwidth control in a double token bucket stack composed of burst buckets of (a) corresponds to the size of an input packet in the number of tokens of the double token bucket stack sequentially using the tokens of the normal bucket and the burst bucket. Subtracting the number of tokens to be made; (b) discarding the packet if the number of tokens remaining in the double token bucket stack is negative; (c) transmitting a packet when the number of tokens remaining in the double token bucket stack is greater than the initial token number in the burst bucket; And (d) transmitting a packet and transmitting an alert message to a user when the number of tokens remaining in the double token bucket stack is smaller than the initial token number in the burst bucket.

본 발명의 또 다른 일 실시예에 따른 바람직한 대역폭 제어장치는 기본 대역폭의 크기에 대응하는 초기 토큰수가 할당된 노멀 버켓과 추가 제어 대역폭 크기에 대응하는 초기 토큰수가 할당된 버스트 버켓을 포함하는 더블 토큰 버켓 스택; 상기 노멀 버켓 및 상기 버스트 버켓의 토큰을 순차적으로 사용하는 상기 더블 토큰 버켓 스택의 토큰 수에서 입력 패킷의 크기에 해당하는 토큰 수를 감하는 토큰 제거부; 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인지 판단하는 판단부;및 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인 경우 상기 패 킷을 폐기하고, 그렇지 않은 경우 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 큰 경우 패킷을 전송하며 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 패킷 전송 및 경고 메세지 전송을 수행하는 대응부;를 포함하는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, a preferred bandwidth control device includes a double token bucket including a normal bucket to which an initial number of tokens corresponding to the base bandwidth is allocated and a burst bucket to which an initial number of tokens corresponding to the additional control bandwidth is allocated. stack; A token removing unit which subtracts the number of tokens corresponding to the size of an input packet from the number of tokens of the double token bucket stack using the tokens of the normal bucket and the burst bucket sequentially; A determination unit for determining whether the number of tokens remaining in the double token bucket stack is negative; and discarding the packet if the number of tokens remaining in the double token bucket stack is negative; otherwise, the token remaining in the double token bucket stack A counter for transmitting a packet when the number is greater than the initial token number in the burst bucket, and performing a packet transmission and a warning message transmission when the number of tokens remaining in the double token bucket stack is smaller than the initial token number in the burst bucket. It is characterized by.

본 발명의 또 다른 실시예에 따른 바람직한 대역폭 제어 장치는 입력 패킷의 헤더필드를 기초로 상기 패킷이 사용자 설정 대역폭 제어 규칙에 해당하는지 판단하는 룩업엔진; 상기 룩업엔진의 판단결과 상기 입력 패킷이 상기 사용자 설정 대역폭 제어 규칙에 해당하는 경우 기본 대역폭의 크기에 대응하는 초기 토큰수가 할당된 노멀 버켓과 추가 제어 대역폭 크기에 대응하는 초기 토큰수가 할당된 버스트 버켓을 포함하고 상기 노멀 버켓 및 상기 버스트 버켓을 순차적으로 사용하며 상기 노멀 버켓 내의 토큰 수 및 상기 버스트 버켓 내의 토큰 수를 합한 토큰 수에서 입력 패킷의 크기에 해당하는 토큰 수를 감한 토큰 수가 음수인지 여부에 따라 패킷을 전송하거나 폐기하는 더블 토큰 버켓 스택;및 상기 더블 토큰 버켓에 일정 시간마다 일정한 토큰을 충전하는 토큰 충전부;를 포함하는 것을 특징으로 한다.Preferred bandwidth control apparatus according to another embodiment of the present invention comprises a look-up engine for determining whether the packet corresponds to a user-defined bandwidth control rule based on the header field of the input packet; If the input packet corresponds to the user-set bandwidth control rule, the lookup engine determines that the normal bucket to which the initial number of tokens corresponding to the basic bandwidth is allocated and the burst bucket to which the initial number of tokens corresponding to the additional control bandwidth are allocated. And the number of tokens subtracting the number of tokens corresponding to the size of the input packet from the number of tokens in which the normal bucket and the burst bucket are sequentially used and the number of tokens in the normal bucket and the number of tokens in the burst bucket are negative. Double token bucket stack for transmitting or discarding packets; and Token charging unit for charging a certain token every predetermined time in the double token bucket.

본 발명의 또 다른 바람직한 일 실시예는 대역폭 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현된다. Another preferred embodiment of the present invention is implemented as a computer readable recording medium having recorded thereon a program for executing the bandwidth control method on a computer.

이하 본 발명의 바람직한 실시예가 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the same elements among the drawings are denoted by the same reference numerals and symbols as much as possible even though they are shown in different drawings.

하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도 2 는 네트워크 침해 대응카드의 구성을 도시한다.2 shows a configuration of a network infringement response card.

네트워크 오용 탐지 및 대응을 위하여 도 2의 보안카드에서 패킷은 기가비트 이더넷 인터페이스(200)를 통하여 유입된다. 이렇게 유입된 패킷은 Xilinx 사의 Virtex-II Pro FPGA 칩셋 내에 HDL 코드를 기반으로 합성된 네트워크 오용탐지 및 대응기능에 의해 패킷의 오용여부의 판단 및 그에 대한 패킷의 패기 또는 전송과 같은 대응이 지연없이 실시간상에서 집행된다. In order to detect and respond to network misuse, the packet is introduced through the Gigabit Ethernet interface 200 in the security card of FIG. 2. This incoming packet is detected by the network misuse detection and response function based on HDL code in Xilinx's Virtex-II Pro FPGA chipset, without delay in determining whether the packet is misused and responding such as packet discard or transmission. Is executed on the

장착한 시스템을 게이트웨이 위치에 설치하여 운영하는 경우, 유입되는 모든 트래픽은 Xilinx FPGA내에 합성되어 있는 분석기(210)에 의하여 서브도메인 단위의 군집화된 집합흐름(211)이 형성된다. 집합흐름(211)에 의해 실시간으로 트래픽마다 네트워크의 대역폭 사용량(BPS : Bit Per Second)와 PPS(Packet Per Second)가 산정된다. When the installed system is installed and operated at the gateway location, all the incoming traffic is clustered by the analyzer 210 synthesized in the Xilinx FPGA to form a clustered aggregate flow 211 in subdomain units. The aggregate flow 211 calculates network bandwidth usage (BPS) and packet per second (PPS) for each traffic in real time.

이렇게 산정된 정보를 기반으로 소프트웨어 블럭인 정보가공기(220)에 전달되어 근원지 주소에 대한 분석, 목적지 주소에 의한 분석, 목적지 주소와 목적지 포트에 대한 분석을 통하여 3가지 형태의 분석결과를 보안정책 생성블럭인 정책관리기(230)에 전달한다.Based on the calculated information, it is delivered to the information processor 220, which is a software block, and generates three types of analysis results through analysis of source address, analysis by destination address, and analysis of destination address and destination port. It passes to the block-in policy manager 230.

도 3 은 TCAM에 기록되는 패킷 차단 및 대역폭 제어를 위한 보안정책표이다. 3 is a security policy table for packet blocking and bandwidth control recorded in the TCAM.

정책관리기(230)는 이러한 분석결과를 토대로 대역폭 제어를 시행할 5-tuple 정보를 정책으로 생성하여 보안카드의 대응기(240)내에 있는 패킷 차단부(241)와 대역폭 제어부(242)에 전달한다. The policy manager 230 generates 5-tuple information to be executed as a policy based on the analysis result and transmits the information to the packet blocker 241 and the bandwidth controller 242 in the corresponder 240 of the security card. .

이렇게 전달된 정책은 도 3과 같이 144-bit 형태로서 TCAM(Ternary Contents Addressable Memory)에 저장된다. 이렇게 TCAM에 해당하는 정책이 기록된 후부터, 실시간으로 유입되는 모든 트래픽은 TCAM에 존재하는 규칙에 해당하는지 조회하고, TCAM에 존재하는 트래픽의 경우 해당 블록(패킷 차단 모듈(241) 또는 대역폭 제어 모듈(242))에 의해 처리된다.The policy thus delivered is stored in a TCAM (Ternary Contents Addressable Memory) in a 144-bit form as shown in FIG. After the policy corresponding to the TCAM is recorded, all traffic flowing in real time is checked whether the rule exists in the TCAM, and in the case of the traffic in the TCAM, the corresponding block (packet blocking module 241 or bandwidth control module ( 242).

상기와 같은 보안카드에 구현되는 분석기(210)와 대응기(240)는 하드웨어 기술 언어(HDL : Hardware Description Language) 중 하나인 verilog를 통하여 구현되었고, 합성툴을 통하여 칩셋에 합성되어 운영된다. The analyzer 210 and the counterpart 240 implemented in the security card as described above are implemented through verilog, which is one of hardware description language (HDL), and is synthesized and operated in a chipset through a synthesis tool.

소프트웨어 모듈인 정보가공기(220)와 정책관리기(230)는 임베디드 소프트웨어에 설치되어 Main CPU에 설치된 각 블록의 서버블록과 통신을 통하여 데이터 및 정책을 상호 전달한다. The information processor 220 and the policy manager 230, which are software modules, are installed in the embedded software and communicate data and policies with each other through communication with server blocks of each block installed in the main CPU.

도 4 는 더블 토큰 버켓 메커니즘을 스택 데이터 구조로 도시한 그림이다.4 shows a double token bucket mechanism in a stack data structure.

본 발명의 대역폭 제어기능(Bandwidth Controller)는 Shaping과 Policing으로 구현 가능하다. Shaping과 Policing을 제공하기 위하여 Queue를 이용하는 Leaky Bucket 모델과, Queue를 이용하는 Token Bucket 모델이 존재한다. Bandwidth controller of the present invention can be implemented by Shaping and Policing. There are Leaky Bucket model using Queue and Token Bucket model using Queue to provide Shaping and Policing.

Leaky Bucket 모델은 동일한 패킷 사이즈를 갖는 ATM에서 Shaping 기법으로 사용되고 있고, 가변 적인 패킷 사이즈를 같는 IP 기반 트래픽에 대하여서는 Token Bucket 모델을 이용한다. The Leaky Bucket model is used as a shaping technique in ATMs with the same packet size, and the Token Bucket model is used for IP-based traffic with the same variable packet size.

본 발명에서는 Token Bucket 의 개념을 이용하고 있으나 듀얼 토큰 버켓의 개념을 변경하여 2개의 한계치 값을 적용하도록 수정하였다.In the present invention, the concept of Token Bucket is used, but the concept of the dual token bucket is changed to apply two threshold values.

본 발명의 도 2에 도시된 보안 카드 내에 존재하는 대역폭 제어 기능을 더블 토큰 버켓 메커니즘을 적용하여 스택의 데이터 구조로 표시한 그림이다. 2 개의 버켓을 이용한다는 것은 2개의 한계치(threshold)를 갖는 하나의 스택을 적용한다는 것과 동일한 의미이다.The bandwidth control function present in the security card shown in FIG. 2 of the present invention is represented by a data structure of a stack by applying a double token bucket mechanism. Using two buckets is equivalent to applying one stack with two thresholds.

패킷이 제 1 한계치 내에 해당하는 경우를 승인상태(confirm, 104)라 하고, 패킷이 제 1 한계치를 넘어 제 2 한계치 사이에 해당하는 경우는 비승인상태(nonconfirm, 105)라고 한다. The case where the packet falls within the first limit is called an acknowledge state (104). The case where the packet falls between the first limit and between a second limit is called a nonconfirm (105).

본 발명에서는 두개의 버켓을 별도로 구성하지 아니하고, 두개의 한개치(Threshold)를 갖도록 스택을 구성하였다. 이렇게 구성된 스택형 메모리는 토큰 충전프로세스에 의하여 정기적으로 토큰이 더해지고, 패킷크기만큼 패킷 유입시마다 토큰을 제거한다. In the present invention, the two buckets are not configured separately, but the stack is configured to have two thresholds. In this stack type memory, tokens are periodically added by the token charging process, and the tokens are removed every packet inflow by the packet size.

이러한 절차에 의하여 제 1 한계치에 달하게 되면, 관리자에게 경고메시지등을 전송하고, 제 2 한계치에 달하게 되는 경우 패킷을 패기한다.When the first threshold is reached by this procedure, a warning message is sent to the administrator, and when the second threshold is reached, the packet is discarded.

초기 대역폭 규칙이 설정되는 경우, 설정된 대역폭 한계치 BPS 값을 입력 받고, 입력 받은 값을 토큰 버켓 메커니즘에 적용하기 위해 다음과 같은 절차를 통하여, 도 5에 해당하는 데이터 구조에 맞는 변수 값을 계산한다.When the initial bandwidth rule is set, the set bandwidth limit BPS value is input, and a variable value corresponding to the data structure of FIG. 5 is calculated through the following procedure to apply the received value to the token bucket mechanism.

도 4 에서 메모리 스택을 구성하는 값은 Normal Bucket(102) 값과 Burst Bucket(103)값의 합이며, 이 때 Normal Bucket(102) 와 Burst Bucket(103)의 초기값은 입력 받은 대역폭 제어치(BPS)값이다. In FIG. 4, a value constituting the memory stack is a sum of a normal bucket 102 value and a burst bucket 103 value, and the initial values of the normal bucket 102 and the burst bucket 103 are an input bandwidth control value ( BPS) value.

최초의 스택 내의 토큰 수는 TotalToken 수(401)와 같은 값을 갖는다. 패킷이 기가비트 이더넷 인터페이스(200)을 통해 입력되면, 패킷의 크기만큼의 바이트 값을 스택 내의 토큰을 제거하고, 이 때 Normal Bucket(404)에 위치하는 경우 Confirm 상태에 해당한다고 판단하여 패킷은 전달되고, Burst Bucket(405)에 위치하는 경우 NonConfirm 상태에 해당한다고 판단하여 패킷이 유입되기 전의 토큰 값이 현재 유입된 패킷의 크기보다 클 경우에 패킷은 전달되고, 그렇지 않은 경우 패킷은 폐기된다.The number of tokens in the original stack has a value equal to the TotalToken number 401. When the packet is input through the Gigabit Ethernet interface 200, the token in the stack is removed by the byte value of the packet size, and when the packet is located in the Normal Bucket 404, it is determined that the state corresponds to the Confirm state and the packet is delivered. If it is located in the Burst Bucket 405, it is determined that the state corresponds to the NonConfirm state. If the token value before the packet is introduced is larger than the size of the current packet, the packet is delivered. Otherwise, the packet is discarded.

도 5 는 더블 토큰 버켓을 이용하여 스택 형태의 메모리를 형성한 구조도이다.5 is a structural diagram of a stack-type memory using a double token bucket.

도 5에 해당하는 데이터 구조에 맞는 변수 값을 계산하는 방법은 다음과 같다.A method of calculating a variable value corresponding to the data structure of FIG. 5 is as follows.

▶ ExcessToken = 입력 받은 대역폭 제어치(bps) ▶ ExcessToken = Input bandwidth control value (bps)

▶ TotalToken = 입력 받은 대역폭 제어치(bps)*2▶ TotalToken = Input Bandwidth Control (bps) * 2

▶ CurrentToken의 초기값 = TotalToken▶ Initial value of CurrentToken = TotalToken

▶ AddedToken = 입력 받은 대역폭 제어치(bps) * (1/4000)AddedToken = received bandwidth control value (bps) * (1/4000)

▶ SpentToken = ExcessToken - CurrentToken▶ SpentToken = ExcessToken-CurrentToken

(다만, SpentToken<0 인 경우 값을 산정하지 않는다(However, if SpentToken <0, no value is calculated.

▶ SpentSum = SpentSum + SpentToken▶ SpentSum = SpentSum + SpentToken

▶ SpentToken 초기값 = 0▶ Initial value of SpentToken = 0

▶ SpentSum 초기값 = 0Initial value of SpentSum = 0

▶ TransmittedPkts 초기값 = 0TransmittedPkts initial value = 0

▶ DroppedPkts 초기값 = 0DroppedPkts initial value = 0

도 5 의 데이터 구조에서 토큰 버켓과 관련된 데이터는 기가비트 트래픽을 지원하기 위하여 최대 1GigaBPS까지 값을 기록할 수 있도록 고려되었다. 1 Gigabit 스피드를 지원하기 위해서는 23Bit의 필드가 필요하므로, 24bit의 데이터 크기를 부여하였다.In the data structure of FIG. 5, data related to the token bucket was considered to be able to record a value up to 1 GigaBPS in order to support gigabit traffic. In order to support 1 Gigabit speed, a 23-bit field is required, so a data size of 24 bits is given.

이 때, 501 ~ 507의 데이터 크기는 대역폭 제어를 제공할 수 있는 최대값에 따라 가변적으로 정해진다. TotalToken(501) 은 ExcessToken(502)과 CurrentToken(503)의 합의 값을 갖고, 이 때 ExcessToken(502)은 도 4의 Burst Bucket(403)의 값을 의미한다. At this time, the data size of 501 to 507 is variably determined according to the maximum value that can provide bandwidth control. TotalToken 501 has a sum value of ExcessToken 502 and CurrentToken 503, where ExcessToken 502 means the value of Burst Bucket 403 of FIG. 4.

SpentSum(504)은 현재 스택내의 토큰의 값이 ExcessToken(502)보다 아래에 위치할 경우 도 4의 Burst Bucket(403)에서 얼마만큼의 토큰을 사용하고 있는지를 표시한다. SpentSum 504 indicates how many tokens are used in the Burst Bucket 403 of FIG. 4 when the value of the token in the current stack is below the ExcessToken 502.

패킷의 입력에 따라 SpentSum(504)의 값을 산출하고, SpentSum(504)의 값이 음의 수가 되는 경우 패킷은 드랍되고, SpentSum(504)는 현재의 패킷이 입력되기 이전의 값으로 다시 설정된다. According to the input of the packet, the value of SpentSum 504 is calculated, and if the value of SpentSum 504 becomes a negative number, the packet is dropped and the SpentSum 504 is set back to the value before the current packet is input. .

AddedToken(505)은 일정 주기마다 스택에 더해지는 토큰의 수로서 설정되고, TransmittedPkts(506)은 패킷이 전송된 수 그리고 TransmittedPkts(507)은 패킷이 폐기된 수를 표시하기 위한 필드이다. AddedToken 505 is set as the number of tokens added to the stack at regular intervals, TransmittedPkts 506 is the number of packets sent and TransmittedPkts 507 is the field for indicating the number of dropped packets.

토큰버켓의 충전 프로세스Token Bucket Charging Process

도 6 은 토큰 버켓 충전 프로세스를 도시한다. 6 illustrates a token bucket filling process.

도 6 은 도 5 와 같은 스택 형태의 메모리를 구성하기 위하여, 버켓에 일정 주기마다 일정량의 토큰을 충전하는 프로세스이다. FIG. 6 is a process of filling a bucket with a certain amount of tokens at regular intervals in order to configure a stack-type memory as shown in FIG. 5.

대역폭제어 정책을 관리하는 소프트웨어는 디바이스 드라이버(601)와 CPU 인터페이스(602)를 통하여 네트워크 인터페이스 카드 내의 대역폭 제어부(603)에 정책을 기록한다. The software managing the bandwidth control policy writes the policy to the bandwidth control unit 603 in the network interface card via the device driver 601 and the CPU interface 602.

실시간으로 유입되는 모든 패킷에 대하여 대역폭제어 정책을 적용하기 위하여, 패킷 분류기능을 지닌 룩업엔진(606)을 포함하고, 룩업엔진에 패킷의 5-tuple(근원지 주소, 근원지 포트, 목적지 주소, 목적지 포트, 프로토콜)값을 기록한다. In order to apply the bandwidth control policy to all incoming packets in real time, it includes a lookup engine 606 with a packet classification function, and 5-tuple (source address, source port, destination address, destination port) of the packet to the lookup engine. , Protocol) value.

룩업 엔진에 패킷의 5-tuple 값이 기록된 후에, 유입되는 패킷이 룩업 엔진에 존재하는 경우 메모리(607)의 주소를 참고하여 토큰 충전 프로세서(604)가 수행된다.After the 5-tuple value of the packet is recorded in the lookup engine, the token charging processor 604 is performed by referring to the address of the memory 607 when the incoming packet exists in the lookup engine.

대역폭 제어부(603)는 모듈은 125㎒의 Clock을 입력으로 동작하게 된다. 1 clock은 8㎱에 해당한다. 250㎲마다 동일한 대역폭 제어 엔트리에 대해 충전을 수행하고, 이를 위해 충전 시간 계산 및 알림부(605)를 포함하고, 토큰 충전 프로세스는 동일한 엔트리에 대하여 250㎲마다 충전 작업이 적용된다. The bandwidth control unit 603 operates the module with a clock of 125 MHz. One clock corresponds to 8ms. Charging is performed on the same bandwidth control entry every 250 ms, and for this purpose, the charging time calculation and notification unit 605 is included, and the token charging process is charged every 250 ms for the same entry.

도 7 은 토큰 버켓 충전 프로세스의 흐름도이다. 7 is a flowchart of a token bucket filling process.

토큰 버켓 충전 프로세스는 도 6의 충전 시간 계산 및 알림부(605)를 통해 충전 시그널 신호를 수신하고, 상기 신호가 입력 패킷이 대역폭 제어 규칙에 해당함을 표시하는 경우 도 5 의 스택 구조 메모리로부터 TotalToken(501), ExcessToken(502), CurrentToken(503), AddedToken(505) 값을 읽은 후 레지스터에 저장한다(S701, S702). The token bucket charging process receives the charging signal signal through the charging time calculation and notification unit 605 of FIG. 6 and indicates that the input packet corresponds to the bandwidth control rule. 501), ExcessToken 502, CurrentToken 503, and AddedToken 505 are read and stored in a register (S701, S702).

토큰의 충전에 앞서, CurrentToken(503)의 값이 도 4 의 Confirm 상태에 해당하는지 NonConfirm 상태에 해당하는지 판단하기 위하여 CurrentToken(503)과 ExcessToken(502)의 값을 비교한다(S703).Prior to charging the token, the values of CurrentToken 503 and ExcessToken 502 are compared to determine whether the value of CurrentToken 503 corresponds to the Confirm state or NonConfirm state of FIG. 4 (S703).

CurrentToken(503)값이 ExcessToken(502)값보다 클 경우 승인(Confirm) 상태이고, CurrentToken(503)값에 AddedToken(505)값을 추가한 후(S704) CurrentToken(503)값이 TotalToken(501)값을 초과하는지 판단한다(S705). If the value of CurrentToken (503) is greater than the value of ExcessToken (502), it is in the Confirmed state, and after adding AddedToken (505) to the CurrentToken (503) value (S704), the value of CurrentToken (503) is TotalToken (501). It is determined whether to exceed (S705).

CurrentToken(503)값이 TotalToken(501)값을 초과하는 경우 인위적으로, CurrentToken(503)값에 TotalToken(501)값을 할당하고(S706), 초과하지 않는 경우 CurrentToken(503)값을 메모리에 기록한 후(S707) 토큰 충전 프로세스를 종료한다(S713). If the value of CurrentToken (503) exceeds the value of TotalToken (501), artificially assign the value of TotalToken (501) to the value of CurrentToken (503) (S706) .If not, record the value of CurrentToken (503) in the memory. The token charging process is terminated (S713).

ExcessToken(502)값보다 작을 경우 비승인(NonConfirm) 상태이고, CurrentToken(503)값에 AddedToken(505)값을 추가한 후(S709) CurrentToken(503)값이 ExcessToken(502)을 초과하는지 판단한다(S711).If the value is less than the ExcessToken 502, it is in a NonConfirm state, and after adding the AddedToken 505 value to the CurrentToken 503 value (S709), it is determined whether the value of the CurrentToken 503 exceeds the ExcessToken 502 ( S711).

CurrentToken(503)값이 ExcessToken(502)을 초과하는 경우 SpentSum(504)의 값을 0으로 초기화 하여 패킷을 폐기하기 위한 히스토리를 재설정한다. 그 후 CurrentToken(503)과 SpentSum(504) 값에 해당하는 레지스터 값을 해당 메모리에 기록한다(S712). When the value of CurrentToken 503 exceeds ExcessToken 502, the value of SpentSum 504 is initialized to 0 to reset the history for discarding packets. Thereafter, register values corresponding to the values of CurrentToken 503 and SpentSum 504 are recorded in the corresponding memory (S712).

CurrentToken(503)값이 ExcessToken(502)을 초과하지 않는 경우 CurrentToken(503)값을 메모리에 기록하고 토큰 충전 프로세스를 종료한다(S713). If the value of CurrentToken 503 does not exceed ExcessToken 502, the value of CurrentToken 503 is recorded in the memory and the token charging process is terminated (S713).

도 8 은 입력 패킷이 대역폭 제어규칙에 해당하는지 판단하는 흐름도이다.8 is a flowchart for determining whether an input packet corresponds to a bandwidth control rule.

도 8 은 패킷이 입력(801)되면 패킷 내의 헤더 필드를 조회하여 해당 패킷의 내용이 도 3의 TCAM 내에 존재하는 필드와 일치하는지 조회한다. 상기 조회 결과 대역폭 제어 규칙에 해당하는 패킷이 유입되었을 경우 도 8과 같은 토큰 버켓 충전 절차가 진행된다. 8, when a packet is input 801, the header field in the packet is queried to inquire whether the contents of the packet match the field existing in the TCAM of FIG. When the packet corresponding to the bandwidth control rule is introduced as a result of the inquiry, the token bucket charging procedure as shown in FIG. 8 is performed.

네트워크로부터 패킷이 유입되면, 패킷 정보 추출기(802)를 통하여 TCP/UDP/ICMP 패킷등의 헤더필드를 파싱(parsing)하고 해당하는 패킷에 대한 키 값을 생성한다. When a packet flows in from the network, the packet information extractor 802 parses a header field such as a TCP / UDP / ICMP packet and generates a key value for the corresponding packet.

그 후 생성된 키 값은 패킷 분류기(803)를 통하여 룩업엔진(804)에게 대역폭 제어 규칙에 해당하는 패킷인지 여부를 요청한다. 그 후 해당 패킷의 5-tuple(근원지 주소, 근원지 포트, 목적지 주소, 목적지 포트, 프로토콜)의 정보를 추출하여 TCAM(도 3 참고)의 모든 엔트리와 비교작업을 한다. 이 작업은 패킷 분류 작업으로서 이를 통하여 유입된 패킷이 대역폭 제어규칙에 해당하는지 알 수 있다.The generated key value then asks the lookup engine 804 via the packet classifier 803 whether the packet corresponds to a bandwidth control rule. After that, the information of 5-tuple (source address, source port, destination address, destination port, protocol) of the packet is extracted and compared with all entries of TCAM (see FIG. 3). This operation is a packet classification operation, and it can be seen whether an incoming packet corresponds to a bandwidth control rule.

대역폭 제어 규칙에 해당하는 패킷의 경우 대역폭 제어부(806)로 패킷의 크기와 상기 패킷이 해당하는 메모리 내에서의 인덱스 주소를 전송한다. 대역폭 제어 규칙에 해당하지 않는 패킷의 경우, 대역폭 제어부(806)로 패킷 전송 정보를 전송 하고 상기 패킷을 네트워크로 전송한다.In case of a packet corresponding to the bandwidth control rule, the bandwidth controller 806 transmits the size of the packet and the index address in the memory corresponding to the packet. In case of a packet that does not correspond to the bandwidth control rule, the packet transmission information is transmitted to the bandwidth control unit 806 and the packet is transmitted to the network.

대역폭 제어부(806)는 대응 결정부(805)로 패킷의 전송 또는 패킷의 폐기 정보를 전송하고, 대응 결정부(805)는 네트워크를 통하여 유입된 패킷에 대하여 대역폭 제어부(806)에서의 제어 결과에 따라 패킷을 전송하거나 폐기한다. The bandwidth control unit 806 transmits the packet transmission or the packet discard information to the correspondence determination unit 805, and the correspondence determination unit 805 responds to the control result of the bandwidth control unit 806 with respect to the packet introduced through the network. Send or discard the packet accordingly.

도 9 는 패킷의 입력에 따른 대역폭 제어 플로우 차트를 도시한다. 9 shows a bandwidth control flow chart according to the input of a packet.

보안 카드 내의 패킷 분류기(703)에서 패킷의 크기와 메모리 주소를 받음으로써, 도 9의 일련의 플로우 차트가 시작된다(S901). By receiving the size and memory address of the packet from the packet classifier 703 in the security card, a series of flow charts in FIG. 9 is started (S901).

상기 패킷 분류기(703)로부터 패킷의 크기를 읽고(S902), 스택 내의 메모리 구조로부터 현재 CurrentToken(503)값과 ExcessToken(502)값을 읽어서 레지스터에 저장한다(S903)The packet size is read from the packet classifier 703 (S902), and the current CurrentToken 503 and ExcessToken 502 values are read from the memory structure in the stack and stored in the register (S903).

그 후 CurrentToken(503)이 ExcessToken(502)값보다 큰 경우(S904) 승인 상태에 해당하고, CurrentToken(503)값에서 패킷의 크기를 뺀 값을 다시 CurrentToken(503)에 저장한다(S905). After that, when the CurrentToken 503 is larger than the value of the ExcessToken 502 (S904), it corresponds to the approval state, and the value obtained by subtracting the packet size from the value of the CurrentToken 503 is stored again in the CurrentToken 503 (S905).

이렇게 다시 계산된 CurrentToken의 레지스터 값을 다시 ExcessToken의 레지스터 값과 비교한 후 상기 패킷이 Normal Bucket(102) 내에 있는지 Burst Bucket(103) 내에 있는지, 즉 승인 상태(104)인지 비승인 상태(105)인지를 판단한다(S906).This recalculated register value of the CurrentToken is compared with the register value of the ExcessToken and then the packet is in the Normal Bucket 102 or Burst Bucket 103, i.e., in the approved state 104 or the disapproved state 105. Determine (S906).

승인 상태(104)인 경우 CurrentToken의 값을 메모리에 기록한다(S910). 비승인 상태(105)에 해당하는 경우 관리자에게 대역폭에 대한 경고메시지 전송과 같은 액션을 취할 수 있다(S907). In the case of the approval state 104, the value of CurrentToken is recorded in the memory (S910). In the case of the disapproval state 105, the administrator may take an action such as transmitting a warning message about the bandwidth (S907).

비승인 상태(105)인 경우 CurrentToken의 값이 제 1 한계치를 초과하였으므로, 현재 스택내의 토큰의 값이 ExcessToken(502)보다 아래에 위치할 경우 도 4의 Burst Bucket(403)에서 얼마만큼의 토큰을 사용하고 있는지를 표시하는 SpentSum(504)의 값을 계산한다. In the disapproved state 105, since the value of CurrentToken exceeds the first limit, the number of tokens in the Burst Bucket 403 of FIG. 4 when the value of the token in the current stack is located below the ExcessToken 502. Calculate the value of SpentSum 504 indicating if it is being used.

SpentSum(504)의 값은 초기값으로 0을 갖고, SpentSum의 값을 계산하기 위해서 SpentToken이라는 변수를 사용한다. SpentToken은 ExcessToken에서 CurrentToken의 값을 뺀 것으로 0보다 큰 경우에만 유효하다(S908). SpentToken이 유효한 경우 상기 값을 메모리에 기록한다(S909). 그 후 CurrentToken의 값을 메모리에 기록한다(S910).The value of SpentSum 504 has an initial value of 0 and uses a variable called SpentToken to calculate the value of SpentSum. SpentToken minus the value of CurrentToken from ExcessToken and is valid only when it is greater than 0 (S908). If the SpentToken is valid, the value is recorded in the memory (S909). After that, the value of CurrentToken is recorded in the memory (S910).

CurrentToken(503)이 ExcessToken(502)값보다 작은 경우 CurrentToken(503)값에서 패킷의 크기를 뺀 값을 다시 CurrentToken(503)에 저장하고(S911) ExcessToken에서 CurrentToken의 값을 뺀 SpentToken의 값을 계산한다(S912). 이 때에도, SpentToken(S912)는 0보다 큰 경우에만 유효하며, 이 값은 Burst Bucket(104)에서 몇 개의 토큰을 가져다 사용하였는지를 의미한다.If the CurrentToken (503) is smaller than the ExcessToken (502) value, the value obtained by subtracting the packet size from the CurrentToken (503) value is stored in the CurrentToken (503) again (S911). (S912). In this case, SpentToken (S912) is valid only when it is larger than 0, and this value indicates how many tokens are used by the Burst Bucket 104.

그 후 SpentToken의 값이 ExcessToken값보다 큰지 판단한 후(S913), SpentToken의 값이 ExcessToken값보다 큰 경우 패킷을 드랍하는 등의 액션을 취한다(S921). 이 때 상기 액션은 사용자 내지 관리자가 미리 대역폭 제어를 위한 정책으로 정할 수 있다. 그 후 SpentSum의 값을 0으로 다시 초기화 한 후(S922) 메모리에 기록하고(S923) 절차를 종료한다(S924).Thereafter, after determining whether the value of SpentToken is greater than the value of ExcessToken (S913), if the value of SpentToken is greater than the value of ExcessToken, an action such as dropping a packet is taken (S921). In this case, the action may be set by a user or an administrator as a policy for bandwidth control in advance. After that, the value of SpentSum is reinitialized to 0 (S922), then written to memory (S923), and the procedure is terminated (S924).

SpentToken의 값이 ExcessToken값보다 크지 않은 경우, SpentSum에 SpentToken의 값을 누적하고(S914) 상기 SpentSum의 값이 ExcessToken의 값보다 큰지를 판단한다(S915).If the value of SpentToken is not greater than the value of ExcessToken, the value of SpentToken is accumulated in SpentSum (S914), and it is determined whether the value of SpentSum is greater than the value of ExcessToken (S915).

SpentSum의 값이 ExcessToken의 값보다 큰 경우, 패킷을 드랍하는 등의 액션을 취한다(S918). 이 때 상기 액션은 사용자 내지 관리자가 미리 대역폭 제어를 위한 정책으로 정할 수 있다. 그 후 SpentSum의 값을 0으로 다시 초기화 한 후(S919) 메모리에 기록하고(S920) 절차를 종료한다(S924).If the value of SpentSum is greater than the value of ExcessToken, an action such as dropping a packet is taken (S918). In this case, the action may be set by a user or an administrator as a policy for bandwidth control in advance. After that, the value of SpentSum is reinitialized to 0 (S919) and then written to memory (S920), and the procedure ends (S924).

SpentSum의 값이 ExcessToken의 값보다 크지 않은 경우, SpentSum의 값과 CurrentToken의 값을 메모리에 기록하고(S916, S917) 절차를 종료한다(S924).If the value of SpentSum is not greater than the value of ExcessToken, the value of SpentSum and the value of CurrentToken are recorded in the memory (S916 and S917) and the procedure is terminated (S924).

도 10 은 본 발명의 대역폭 제어 방법을 구현하기 위한 IXIA를 이용한 보안카드를 장착한 게이트웨이장치의 대역폭 제어 테스트환경을 도시한다. IXIA 는 트래픽 생성 및 분석 장치로서, 다음과 같은 테스트 환경에서 양방향 트래픽에 대하트 한다. 10 illustrates a bandwidth control test environment of a gateway device equipped with a security card using IXIA for implementing the bandwidth control method of the present invention. IXIA is a traffic generation and analysis device. It harts for two-way traffic in the following test environment.

(1)A Port 송신 트래픽으로 40 Mbps의 정상트래픽 생성(1) Generate normal traffic of 40 Mbps by A port transmission traffic

(2)B Port 송신 트래픽으로 8의 플로우를 이용하여 40 Mbps에서 1 Gbps까지 점진적으로 증가하는 비정상 과다트래픽 생성(2) Anomaly excessive traffic generation gradually increasing from 40 Mbps to 1 Gbps using 8 flows with B Port transmission traffic

(3)이상트래픽에 대한 대역폭 제어 규칙 적용 및 제어확인(3) Application of bandwidth control rules and control confirmation for abnormal traffic

(4)대역폭 제어 정책을 생성하는 정책관리기 에 의해서 보안카드의 A Port 수신 트래픽에 대하여 플로우별 40 Mbps의 규칙생성 및 적용(4) Create and apply a rule of 40 Mbps per flow to A Port incoming traffic of the security card by the policy manager that creates the bandwidth control policy.

상기 테스트 환경에서 결과는 다음 표 1과 같다.The results in the test environment are shown in Table 1 below.

패킷 크기Packet size A Port 송신 트래픽A Port Egress Traffic B Port 송신 트래픽B Port Egress Traffic A Port 수신 트래픽 A Port Incoming Traffic B Port 수신 트래픽 B Port Incoming Traffic 64 Bytes64 Bytes 40 Mbps40 Mbps 40Mbps ~ 1Gbps40 Mbps to 1 Gbps 20Mbps ~ 320Mbps20 Mbps to 320 Mbps 40 Mbps40 Mbps 512 Bytes512 Bytes 40 Mbps40 Mbps 40Mbps ~ 1Gbps40 Mbps to 1 Gbps 20Mbps ~ 320Mbps20 Mbps to 320 Mbps 40 Mbps40 Mbps 1024 Bytes1024 Bytes 40 Mbps40 Mbps 40Mbps ~ 1Gbps40 Mbps to 1 Gbps 20Mbps ~ 320Mbps20 Mbps to 320 Mbps 40 Mbps40 Mbps 1518 Bytes1518 Bytes 40 Mbps40 Mbps 40Mbps ~ 1Gbps40 Mbps to 1 Gbps 20Mbps ~ 320Mbps20 Mbps to 320 Mbps 40 Mbps40 Mbps

상기 본 발명의 바람직한 일 실시예로서 테스트를 통해 보안 카드내에 구현된 대역폭 제어기능은 1Gbps의 속도를 갖는 양방향 트래픽에 대하여 패킷의 유실없이 송신/수신을 제공한다. As a preferred embodiment of the present invention, the bandwidth control function implemented in the security card through the test provides transmission / reception without loss of packets for bidirectional traffic having a speed of 1 Gbps.

도 11 은 대역폭 제어에 의한 과다 트래픽 제어를 도시한다. 11 illustrates excessive traffic control by bandwidth control.

대역폭 제어를 하려는 패킷에 대하여 각 플로우별로 40Mbps로 대역폭을 제어하여 총 8개의 플로우에 대하여 320Mbps 로 제어하는 결과를 보여준다. 보호되어야 할 정상 트래픽에 대하여서도 40 Mbps의 입력 트래픽을 패킷의 유실없이 전달함을 볼 수 있다.It shows the result of controlling the bandwidth to 40Mbps for each flow for the packet to be controlled to 320Mbps for a total of eight flows. It can be seen that 40 Mbps of input traffic is delivered without loss of packet even for normal traffic to be protected.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims.

그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명에서는 기가급의 고속 네트워크 환경에서의 특정 IP, 혹은 특정 IP 그룹에 대하여 IP 혹은 TCP, UDP, ICMP 에 대하여 트래픽의 대역폭을 제어한다. 이는 시스템의 메모리를 이용하여 5개의 필드에 적용된 패러미터를 이용하여 현재 유입되는 패킷의 전송/패기 여부를 결정 및 적용한다. 따라서, 본 발명에 의한 대역폭 제어방법은 광역망에서 효율적이고 정확한 폴리싱을 보장한다.In the present invention, the traffic bandwidth is controlled for IP, TCP, UDP, and ICMP for a specific IP or a specific IP group in a high-speed network environment. It uses the system's memory to determine and apply the current incoming / outgoing packet using the parameters applied to the five fields. Accordingly, the bandwidth control method according to the present invention ensures efficient and accurate polishing in the wide area network.

이와 같이 본 발명에서는 저속네트워크 환경과 고속 네트워크 환경에서 다량의 대역폭을 사용하는 의심스러운 트래픽에 대한 대응행위 또는 QoS에서의 Policng/Shapng의 목적으로 트래픽을 제어하고자 하기 위해서, 하드웨어를 이용하여 플로우별 트래픽의 대역폭을 제어하는 하드웨어 적인 구성방식과 실제적인 메커니즘을 제시한다. As described above, in the present invention, in order to control traffic for suspicious traffic using a large amount of bandwidth in a low speed network environment and a high speed network environment or for the purpose of Policng / Shapng in QoS, traffic by flow using hardware The hardware configuration and practical mechanism to control the bandwidth of the system is presented.

하드웨어를 통하여 구현이 되지만, 관리자가 디바이스 드라이버를 통하여 하드웨어를 설정가능하고 이렇게 설정된 값에 의해 10/100 Ethernet 환경에서부터 기가비트 환경 및 PoS 등에도 이의 적용이 가능하다. Although it is implemented through hardware, the administrator can configure the hardware through the device driver, and this setting can be applied to the 10/100 Ethernet environment, the gigabit environment, and the PoS.

이러한 대역폭 제어기법을 적용할 경우 다량의 패킷을 임의적으로 인터넷에 발생시키는 블라인드 공격형태의 대역폭고갈 공격에 대하여 실시간적으로 패킷을 제어가능하고, 이를 통하여 양질의 인터넷 서비스의 제공이 가능하게 된다.When the bandwidth control method is applied, it is possible to control packets in real time against a bandwidth exhaustion attack in the form of a blind attack that generates a large amount of packets arbitrarily on the Internet, thereby providing a high quality internet service.

Claims (19)

기본 대역폭 및 추가 제어 대역폭 각각의 크기에 대응하는 초기 토큰수가 할당된 상기 기본 대역폭 부분의 노멀 버켓 및 상기 추가 제어 대역폭 부분의 버스트 버켓으로 구성된 더블 토큰 버켓 스택에서 대역폭 제어를 수행하는 방법으로서, A method of performing bandwidth control in a double token bucket stack comprising a normal bucket of the basic bandwidth portion and a burst bucket of the additional control bandwidth portion to which an initial number of tokens corresponding to each of the basic bandwidth and the additional control bandwidth are allocated, (a)상기 노멀 버켓 및 상기 버스트 버켓의 토큰을 순차적으로 사용하는 상기 더블 토큰 버켓 스택의 토큰 수에서 입력 패킷의 크기에 해당하는 토큰 수를 감하는 단계;(a) subtracting the number of tokens corresponding to the size of an input packet from the number of tokens of the double token bucket stack using the tokens of the normal bucket and the burst bucket sequentially; (b)상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인 경우 상기 패킷을 폐기하는 단계;(b) discarding the packet if the number of tokens remaining in the double token bucket stack is negative; (c)상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 큰 경우 패킷을 전송하는 단계; 및(c) transmitting a packet when the number of tokens remaining in the double token bucket stack is greater than the initial token number in the burst bucket; And (d)상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 패킷을 전송하고 사용자에게 경보 메세지를 전송하는 단계;를 포함하는 것을 특징으로 하는 대역폭 제어 방법.(d) if the number of tokens remaining in the double token bucket stack is less than the initial number of tokens in the burst bucket, transmitting a packet and sending an alert message to the user. 제 1 항에 있어서, 상기 (a) 단계는The method of claim 1, wherein step (a) 사용자 설정 대역폭 제어 규칙에 해당하는 상기 입력 패킷의 크기에 해당하는 토큰 수를 상기 더블 토큰 버켓 스택의 토큰 수에서 감하는 단계;인 것을 특징으로 하는 대역폭 제어 방법.And subtracting the number of tokens corresponding to the size of the input packet corresponding to a user-set bandwidth control rule from the number of tokens of the double token bucket stack. 제 1 항에 있어서, The method of claim 1, (e) 일정 시간마다 상기 더블 토큰 버켓 스택에 일정한 토큰을 충전시키는 단계;를 더 포함하는 것을 특징으로 하는 대역폭 제어 방법.(e) charging a predetermined token in the double token bucket stack at a predetermined time. 제 1 항에 있어서, 상기 더블 토큰 버켓 스택의 초기 토큰 수는The method of claim 1, wherein the initial token number of the double token bucket stack is 상기 노멀 버켓의 초기토큰수와 상기 버스트 버켓의 초기토큰수를 합한 값과 같은 것을 특징으로 하는 대역폭 제어 방법.Bandwidth control method, characterized in that the sum of the initial token number of the normal bucket and the initial token number of the burst bucket. 제 1 항에 있어서, 상기 (d) 단계는The method of claim 1, wherein step (d) (d1) 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 상기 버스트 버켓 내의 초기토큰수에서 상기 더블 토큰 버켓 스택 내의 토큰 수를 뺌으로써 상기 버스트 버켓에서 사용된 토큰의 수를 계산하는 단계;(d1) If the number of tokens remaining in the double token bucket stack is less than the initial token number in the burst bucket, the number of tokens used in the burst bucket is subtracted by subtracting the number of tokens in the double token bucket stack from the initial token number in the burst bucket. Calculating the number; (d2) 상기 사용된 토큰의 수를 누적하는 단계;(d2) accumulating the number of tokens used; (d3) 상기 사용된 토큰의 수 또는 상기 누적된 사용 토큰의 수가 상기 버스트 버켓 내의 초기토큰수를 초과하는 경우 패킷을 폐기하는 단계;를 포함하는 것을 특징으로 하는 대역폭 제어 방법.(d3) discarding the packet if the number of used tokens or the accumulated number of used tokens exceeds the initial token number in the burst bucket. 제 3 항에 있어서, 상기 (e) 단계는The method of claim 3, wherein step (e) (e1)상기 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓내의 토큰 할당수보다 큰 경우 상기 더블 토큰 버켓 스택에 일정 시간마다 일정한 토큰을 충전하는 단계;(e1) charging a constant token every predetermined time in the double token bucket stack when the number of tokens in the double token bucket stack is greater than the number of token allocations in the burst bucket; (e2)상기 일정 토큰이 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 큰 경우, 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수를 상기 더블 토큰 버켓 스택 초기 토큰 수로 설정하는 단계;및(e2) if the number of tokens in the double token bucket stack filled with the predetermined token is greater than the number of initial tokens in the double token bucket stack, setting the number of tokens in the charged double token bucket stack as the number of initial tokens in the double token bucket stack. ; And (e3)상기 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓내의 토큰 할당수보다 작은 경우 상기 더블 토큰 버켓 스택에 일정 시간마다 일정 토큰을 충전하고, 상기 충전된 더블 토큰 버켓 스택내의 토큰수가 상기 버스트 버켓 내의 토큰 할당수보다 큰지 재판단하는 단계;를 포함하는 것을 특징으로 하는 대역폭 제어 방법.(e3) If the number of tokens in the double token bucket stack is smaller than the number of token allocations in the burst bucket, a certain token is charged in the double token bucket stack at a predetermined time, and the number of tokens in the charged double token bucket stack is in the burst bucket. And judging whether the number of tokens is greater than the number of token allocations. 제 6항에 있어서, The method of claim 6, (e4)상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓 내의 토큰 할당수를 초과하는 경우 상기 버스트 버켓에서 사용된 토큰의 수를 누적한 값을 0으로 재설정 하는 단계;를 더 포함하는 것을 특징으로 하는 대역폭 제어 방법.(e4) resetting the accumulated value of the number of tokens used in the burst bucket to zero when the number of tokens in the charged double token bucket stack exceeds the number of token allocations in the burst bucket; A bandwidth control method. 기본 대역폭의 크기에 대응하는 초기 토큰수가 할당된 노멀 버켓과 추가 제 어 대역폭 크기에 대응하는 초기 토큰수가 할당된 버스트 버켓을 포함하는 더블 토큰 버켓 스택;A double token bucket stack including a normal bucket to which an initial token number corresponding to the base bandwidth size is allocated and a burst bucket to which an initial token number corresponding to the additional control bandwidth size is allocated; 상기 노멀 버켓 및 상기 버스트 버켓의 토큰을 순차적으로 사용하는 상기 더블 토큰 버켓 스택의 토큰 수에서 입력 패킷의 크기에 해당하는 토큰 수를 감하는 토큰 제거부;A token removing unit which subtracts the number of tokens corresponding to the size of an input packet from the number of tokens of the double token bucket stack using the tokens of the normal bucket and the burst bucket sequentially; 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인지 판단하는 판단부;및Determination unit for determining whether the number of tokens remaining in the double token bucket stack is negative; And 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 음수인 경우 상기 패킷을 폐기하고, 그렇지 않은 경우 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 큰 경우 패킷을 전송하며 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 패킷 전송 및 경고 메세지 전송을 수행하는 대응부;를 포함하는 것을 특징으로 하는 대역폭 제어 장치.If the number of tokens remaining in the double token bucket stack is negative, the packet is discarded; otherwise, if the number of tokens remaining in the double token bucket stack is larger than the initial token number in the burst bucket, the packet is transmitted and the double token bucket And a counter configured to perform packet transmission and alert message transmission when the number of tokens remaining in the stack is smaller than the initial token number in the burst bucket. 제 8 항에 있어서, 상기 대응부는 The method of claim 8, wherein the counterpart 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 상기 버스트 버켓 내의 초기토큰수에서 상기 더블 토큰 버켓 스택 내의 토큰 수를 뺌으로써 상기 버스트 버켓에서 사용된 토큰의 수를 계산하고 상기 사용된 토큰의 수를 누적하며, 상기 사용된 토큰의 수 또는 상기 누적된 사용 토큰의 수가 상기 버스트 버켓 내의 초기토큰수를 초과하는 경우 패킷을 폐기하는 것을 특징으로 하는 대역폭 제어 장치.If the number of tokens remaining in the double token bucket stack is less than the initial token number in the burst bucket, the number of tokens used in the burst bucket is calculated by subtracting the number of tokens in the double token bucket stack from the initial token number in the burst bucket. And accumulate the number of the used tokens and discard the packet when the number of the used tokens or the accumulated use tokens exceeds the initial token number in the burst bucket. 제 8 항에 있어서, 상기 더블 토큰 버켓 스택의 초기 토큰 수는The method of claim 8, wherein the initial token number of the double token bucket stack is 상기 노멀 버켓의 초기토큰수와 상기 버스트 버켓의 초기토큰수를 합한 값과 같은 것을 특징으로 하는 대역폭 제어 장치.Bandwidth control device, characterized in that the sum of the initial token number of the normal bucket and the initial token number of the burst bucket. 제 8 항에 있어서, The method of claim 8, 상기 입력 패킷의 헤더필드를 기초로 상기 패킷이 사용자 설정 대역폭 제어 규칙에 해당하지 경우 상기 더블 토큰 버켓 스택 내의 토큰 수에서 상기 입력 패킷의 크기에 해당하는 토큰 수를 제거하도록 상기 입력 패킷을 구분하는 룩업엔진;을 더 포함하는 것을 특징으로 하는 대역폭 제어 장치.A lookup for classifying the input packet to remove the number of tokens corresponding to the size of the input packet from the number of tokens in the double token bucket stack based on a header field of the input packet; An engine; bandwidth control device further comprising. 제 8 항에 있어서, The method of claim 8, 상기 더블 토큰 버켓 스택에 일정 시간마다 일정한 토큰을 충전하는 토큰 충전부;를 더 포함하는 것을 특징으로 하는 대역폭 제어 장치.And a token charging unit for charging a predetermined token every predetermined time in the double token bucket stack. 제 12 항에 있어서, 상기 토큰 충전부는The method of claim 12, wherein the token charging unit 상기 일정 토큰이 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 큰지 판단하는 판단부;A determination unit that determines whether the number of tokens in the double token bucket stack filled with the predetermined token is greater than the initial number of tokens in the double token bucket stack; 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 큰 경우 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수를 상기 더블 토큰 버켓 스택 초기 토큰 수로 설정하는 초기화부;An initialization unit configured to set the number of tokens in the charged double token bucket stack as the number of initial tokens in the double token bucket stack when the number of tokens in the charged double token bucket stack is greater than the number of initial tokens in the double token bucket stack; 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 작은 경우 상기 더블 토큰 버켓 스택에 일정 시간마다 일정 토큰을 재충전하고, 상기 재충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓 내의 토큰 할당수보다 큰지 판단하는 재판단부;를 포함하는 것을 특징으로 하는 대역폭 제어 장치.If the number of tokens in the charged double token bucket stack is less than the initial number of tokens in the double token bucket stack, the double token bucket stack is recharged for a predetermined time, and the number of tokens in the refilled double token bucket stack is in the burst bucket. And a judging unit for determining whether the number of tokens is greater than the number of token allocations. 제 13 항에 있어서, 상기 재판단부는The method of claim 13, wherein the judging unit 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓 내의 토큰 할당수를 초과하는 경우 상기 버스트 버켓에서 사용된 토큰의 수를 누적한 값을 0으로 재설정 하는 재설정부;를 포함하는 것을 특징으로 하는 대역폭 제어 장치.And a reset unit for resetting the accumulated value of the number of tokens used in the burst bucket to zero when the number of tokens in the charged double token bucket stack exceeds the number of token allocations in the burst bucket. controller. 입력 패킷의 헤더필드를 기초로 상기 패킷이 사용자 설정 대역폭 제어 규칙에 해당하는지 판단하는 룩업엔진;A lookup engine that determines whether the packet corresponds to a user-defined bandwidth control rule based on a header field of an input packet; 상기 룩업엔진의 판단결과 상기 입력 패킷이 상기 사용자 설정 대역폭 제어 규칙에 해당하는 경우 기본 대역폭의 크기에 대응하는 초기 토큰수가 할당된 노멀 버켓과 추가 제어 대역폭 크기에 대응하는 초기 토큰수가 할당된 버스트 버켓을 포함하고 상기 노멀 버켓 및 상기 버스트 버켓을 순차적으로 사용하며 상기 노멀 버켓 내의 토큰 수 및 상기 버스트 버켓 내의 토큰 수를 합한 토큰 수에서 입력 패킷 의 크기에 해당하는 토큰 수를 감한 토큰 수가 음수인지 여부에 따라 패킷을 전송하거나 폐기하는 더블 토큰 버켓 스택;및If the input packet corresponds to the user-set bandwidth control rule, the lookup engine determines that the normal bucket to which the initial number of tokens corresponding to the basic bandwidth is allocated and the burst bucket to which the initial number of tokens corresponding to the additional control bandwidth are allocated. And the number of tokens obtained by subtracting the number of tokens corresponding to the size of the input packet from the number of tokens in which the normal bucket and the burst bucket are sequentially used and the number of tokens in the normal bucket and the number of tokens in the burst bucket are negative. Double token bucket stack for transmitting or discarding packets; and 상기 더블 토큰 버켓에 일정 시간마다 일정한 토큰을 충전하는 토큰 충전부;를 포함하는 것을 특징으로 하는 대역폭 제어 장치.Token charging unit for charging a predetermined token every predetermined time in the double token bucket; bandwidth control device comprising a. 제 15 항에 있어서, 상기 더블 토큰 버켓 스택은The method of claim 15, wherein the double token bucket stack 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 큰 경우 패킷을 전송하고, 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 패킷을 전송하면서 사용자에게 경보 메세지를 전송하는 것을 특징으로 하는 대역폭 제어 장치.The packet is transmitted when the number of tokens remaining in the double token bucket stack is larger than the initial token number in the burst bucket, and when the number of tokens in the double token bucket is smaller than the initial token number in the burst bucket, an alarm message is transmitted to the user while transmitting the packet. Bandwidth Control Unit. 제 16 항에 있어서, 상기 더블 토큰 버켓 스택은The method of claim 16, wherein the double token bucket stack 상기 더블 토큰 버켓 스택 내에 남아 있는 토큰 수가 상기 버스트 버켓 내의 초기토큰수보다 작은 경우 상기 버스트 버켓 내의 초기토큰수에서 상기 더블 토큰 버켓 스택 내의 토큰 수를 뺌으로써 상기 버스트 버켓에서 사용된 토큰의 수를 계산하고 If the number of tokens remaining in the double token bucket stack is less than the initial token number in the burst bucket, the number of tokens used in the burst bucket is calculated by subtracting the number of tokens in the double token bucket stack from the initial token number in the burst bucket. and 상기 사용된 토큰의 수를 누적하며Accumulating the number of tokens used above 상기 사용된 토큰의 수 또는 상기 누적된 사용 토큰의 수가 상기 버스트 버켓 내의 초기토큰수를 초과하는 경우 패킷을 폐기하는 것을 특징으로 하는 대역폭 제어 장치.And discarding the packet when the number of used tokens or the accumulated number of used tokens exceeds the number of initial tokens in the burst bucket. 제 15 항에 있어서, 상기 토큰 충전부는The method of claim 15, wherein the token charging unit 상기 일정 토큰이 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 큰지 판단하는 판단부;A determination unit that determines whether the number of tokens in the double token bucket stack filled with the predetermined token is greater than the initial number of tokens in the double token bucket stack; 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 큰 경우 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수를 상기 더블 토큰 버켓 스택 초기 토큰 수로 설정하는 초기화부;An initialization unit configured to set the number of tokens in the charged double token bucket stack as the number of initial tokens in the double token bucket stack when the number of tokens in the charged double token bucket stack is greater than the number of initial tokens in the double token bucket stack; 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 더블 토큰 버켓 스택 초기 토큰수보다 작은 경우 상기 더블 토큰 버켓 스택에 일정 시간마다 일정 토큰을 재충전하고, 상기 재충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓 내의 토큰 할당수보다 큰지 판단하는 재판단부;를 포함하는 것을 특징으로 하는 대역폭 제어 장치.If the number of tokens in the charged double token bucket stack is less than the initial number of tokens in the double token bucket stack, the double token bucket stack is recharged for a predetermined time, and the number of tokens in the refilled double token bucket stack is in the burst bucket. And a judging unit for determining whether the number of tokens is greater than the number of token allocations. 제 18 항에 있어서, 상기 재판단부는19. The method of claim 18, wherein the trial unit 상기 충전된 더블 토큰 버켓 스택 내의 토큰 수가 상기 버스트 버켓 내의 토큰 할당수를 초과하는 경우 상기 버스트 버켓에서 사용된 토큰의 수를 누적한 값을 0으로 재설정 하는 재설정부;를 포함하는 것을 특징으로 하는 대역폭 제어 장치.And a reset unit for resetting the accumulated value of the number of tokens used in the burst bucket to zero when the number of tokens in the charged double token bucket stack exceeds the number of token allocations in the burst bucket. controller.
KR1020050049680A 2004-12-08 2005-06-10 Apparatus and method for controlling bandwidth using token bucket KR100656348B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040102952 2004-12-08
KR1020040102952 2004-12-08

Publications (2)

Publication Number Publication Date
KR20060064474A KR20060064474A (en) 2006-06-13
KR100656348B1 true KR100656348B1 (en) 2006-12-11

Family

ID=37160026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050049680A KR100656348B1 (en) 2004-12-08 2005-06-10 Apparatus and method for controlling bandwidth using token bucket

Country Status (1)

Country Link
KR (1) KR100656348B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011117672A1 (en) * 2010-03-22 2011-09-29 Freescale Semiconductor, Inc. Token bucket management apparatus and method of managing a token bucket

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7843832B2 (en) 2005-12-08 2010-11-30 Electronics And Telecommunications Research Institute Dynamic bandwidth allocation apparatus and method
KR100726809B1 (en) * 2005-12-08 2007-06-11 한국전자통신연구원 Dynamic bandwidth allocation apparatus and method
KR101038673B1 (en) * 2009-12-18 2011-06-03 주식회사 케이티 Method and apparatus for providing service for protecting from ddos in backbone

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030028893A (en) * 2001-10-04 2003-04-11 주식회사 케이티 Method for controlling traffic flow using token bucket
KR20040000336A (en) * 2002-06-24 2004-01-03 마츠시타 덴끼 산교 가부시키가이샤 Packet transmitting apparatus, packet transmitting method, traffic conditioner, priority controlling mechanism, and packet shaper
KR20040052198A (en) * 2002-12-13 2004-06-22 잘링크 세미콘덕터 브이.엔. 아이엔씨. Class-Based Rate Control Using a Multi-Threshold Leaky Bucket
US20040221032A1 (en) 2003-05-01 2004-11-04 Cisco Technology, Inc. Methods and devices for regulating traffic on a network
US6829649B1 (en) 2000-11-10 2004-12-07 International Business Machines Corporation Method an congestion control system to allocate bandwidth of a link to dataflows
KR20050076158A (en) * 2004-01-19 2005-07-26 삼성전자주식회사 Method for controlling traffic congestion and apparatus for implementing the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829649B1 (en) 2000-11-10 2004-12-07 International Business Machines Corporation Method an congestion control system to allocate bandwidth of a link to dataflows
KR20030028893A (en) * 2001-10-04 2003-04-11 주식회사 케이티 Method for controlling traffic flow using token bucket
KR20040000336A (en) * 2002-06-24 2004-01-03 마츠시타 덴끼 산교 가부시키가이샤 Packet transmitting apparatus, packet transmitting method, traffic conditioner, priority controlling mechanism, and packet shaper
KR20040052198A (en) * 2002-12-13 2004-06-22 잘링크 세미콘덕터 브이.엔. 아이엔씨. Class-Based Rate Control Using a Multi-Threshold Leaky Bucket
US20040221032A1 (en) 2003-05-01 2004-11-04 Cisco Technology, Inc. Methods and devices for regulating traffic on a network
KR20050076158A (en) * 2004-01-19 2005-07-26 삼성전자주식회사 Method for controlling traffic congestion and apparatus for implementing the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1020040052198

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011117672A1 (en) * 2010-03-22 2011-09-29 Freescale Semiconductor, Inc. Token bucket management apparatus and method of managing a token bucket
US8848537B2 (en) 2010-03-22 2014-09-30 Freescale Semiconductor, Inc. Token bucket management apparatus and method of managing a token bucket

Also Published As

Publication number Publication date
KR20060064474A (en) 2006-06-13

Similar Documents

Publication Publication Date Title
US11552970B2 (en) Efficient threat context-aware packet filtering for network protection
EP2289221B1 (en) Network intrusion protection
EP1905197B1 (en) System and method for detecting abnormal traffic based on early notification
US7426634B2 (en) Method and apparatus for rate based denial of service attack detection and prevention
JP4768021B2 (en) Method of defending against DoS attack by target victim self-identification and control in IP network
JP2010268483A (en) Active network defense system and method
JP4768020B2 (en) Method of defending against DoS attack by target victim self-identification and control in IP network
US8006303B1 (en) System, method and program product for intrusion protection of a network
EP2009864A1 (en) Method and apparatus for attack prevention
Manna et al. Review of syn-flooding attack detection mechanism
JP2004140524A (en) Method and apparatus for detecting dos attack, and program
KR100656348B1 (en) Apparatus and method for controlling bandwidth using token bucket
Thang et al. Synflood spoofed source DDoS attack defense based on packet ID anomaly detection with bloom filter
KR102046612B1 (en) The system for defending dns amplification attacks in software-defined networks and the method thereof
Bellaïche et al. SYN flooding attack detection by TCP handshake anomalies
Dai et al. DAmpADF: A framework for DNS amplification attack defense based on Bloom filters and NAmpKeeper
EP2109279B1 (en) Method and system for mitigation of distributed denial of service attacks using geographical source and time information
Pande et al. Prevention mechanism on DDOS attacks by using multilevel filtering of distributed firewalls
Akano et al. Mitigating Insider Threat’s IP Spoofing through Enhanced Dynamic Cluster Algorithm (EDPU Based HCF)
EP4080822A1 (en) Methods and systems for efficient threat context-aware packet filtering for network protection
Saini et al. Malicious objects trafficking in the network
Kuldeep et al. Enhancing Network Security by implementing preventive mechanism using GNS3
Srilakshmi et al. An improved IP traceback mechanism for network security
Rahouma et al. Design of the host guard firewall for network protection
CN118432902A (en) Near-destination DDoS defense method based on bidirectional source address verification

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
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161121

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 13