KR100771125B1 - System which limits receiving rate of ethernet traffic for security of cpu and method thereof - Google Patents

System which limits receiving rate of ethernet traffic for security of cpu and method thereof Download PDF

Info

Publication number
KR100771125B1
KR100771125B1 KR1020060117009A KR20060117009A KR100771125B1 KR 100771125 B1 KR100771125 B1 KR 100771125B1 KR 1020060117009 A KR1020060117009 A KR 1020060117009A KR 20060117009 A KR20060117009 A KR 20060117009A KR 100771125 B1 KR100771125 B1 KR 100771125B1
Authority
KR
South Korea
Prior art keywords
packet
reception
interrupt
received
processing unit
Prior art date
Application number
KR1020060117009A
Other languages
Korean (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 KR1020060117009A priority Critical patent/KR100771125B1/en
Application granted granted Critical
Publication of KR100771125B1 publication Critical patent/KR100771125B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Abstract

A system and a method for limiting the reception of ethernet traffic for CPU security are provided to prevent the overload of a system and increase the stability of processors by limiting the volume of receiving packets per second and regulating the volume of packets received to processors. An ethernet controller comprises a central processing part, a received packet processing part, and an interrupt processing routine part. The central processing part establishes a reference value for the volume of packets to receive, and generates an Rx interrupt when packets are received. The received packet processing part checks whether packets are supplied in excess of the established volume. If packets are supplied in excess of the established volume, the received packet processing part notifies the interrupt processing routine part of it. The interrupt processing routine part, notified that packets are supplied in excess of the established volume, inactivates the generation of Rx interrupts.

Description

CPU 보안을 위한 이더넷 트래픽 수신율 제한 시스템 및 그 방법{System Which Limits Receiving Rate of Ethernet Traffic for Security of CPU and Method Thereof}System Which Limits Receiving Rate of Ethernet Traffic for Security of CPU and Method Thereof}

도 1은 종래 이더넷 컨트롤러의 수신 패킷 처리부에서 수신되는 패킷을 처리하는 과정을 도시한 도면.1 is a diagram illustrating a process of processing a packet received by a reception packet processing unit of a conventional Ethernet controller.

도 2는 본 발명에 따른 이더넷 컨트롤러의 구성을 도시한 도면.2 is a diagram illustrating a configuration of an Ethernet controller according to the present invention.

도 3은 본 발명에 따른 이더넷 컨트롤러에서 네트워크 디바이스 드라이버 함수 값을 초기화하는 과정을 도시한 도면.3 is a diagram illustrating a process of initializing a network device driver function value in an Ethernet controller according to the present invention.

도 4는 본 발명에 따른 이더넷 컨트롤러의 수신 패킷 처리부에서 수신되는 패킷을 처리하는 과정을 도시한 도면.4 is a diagram illustrating a process of processing a packet received by a reception packet processing unit of an Ethernet controller according to the present invention.

도 5는 본 발명에 따른 이더넷 콘트롤러의 패킷 수신 상태 감시부에서 패킷의 수신 상태를 모니터링하는 과정을 도시한 도면.5 is a diagram illustrating a process of monitoring a reception state of a packet in a packet reception state monitoring unit of the Ethernet controller according to the present invention;

도 6은 본 발명에 따른 이더넷 컨트롤러에서 수신되는 패킷을 제어하는 과정을 도시한 도면.6 is a diagram illustrating a process of controlling a packet received by an Ethernet controller according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 >      <Description of Symbols for Main Parts of Drawings>

210: 중앙 처리부 211: 인터럽트 발생부 210: central processing unit 211: interrupt generating unit

220: 인터럽트 처리 루틴부 230: 커널 쓰레드 생성부220: interrupt processing routine unit 230: kernel thread generation unit

240: 수신 패킷 처리부 241: 유입 패킷 측정부240: received packet processor 241: incoming packet measurement unit

250: 패킷 수신 상태 감시부 251: 유입 패킷 측정부 250: packet reception state monitoring unit 251: incoming packet measuring unit

260: 수신 버퍼260: receive buffer

본 발명은 CPU 보안을 위한 이더넷 트래픽 수신율 제한 시스템 및 그 방법에 관한 것으로서, 보다 상세하게는 프로세서(Processor)를 구성하는 이더넷 컨트롤러(Ethernet Controller)에서 CPU 보안을 위해 이더넷 컨트롤러를 통해 수신되는 모든 트래픽(Traffic)에 대해서 수신되는 트래픽의 양을 제한하는 방법 및 그 시스템에 관한 것이다.The present invention relates to an Ethernet traffic reception rate limiting system and method for CPU security, and more particularly, all traffic received through the Ethernet controller for CPU security in an Ethernet controller constituting a processor. A method and system for limiting the amount of traffic received.

통신 기술이 발전함에 따라, 각각의 시스템이 통신을 할 수 있도록 서로 연결시켜 정보 교환을 가능하게 하는 네트워크를 사용할 수 있게 되었다. 네트워크를 구성하는 시스템에서는 패킷을 송수신함으로써 정보를 교환하며, 이를 위해 패킷의 흐름 및 네트워크의 혼잡을 적절하게 제어한다. 상기 제어에는 대표적으로 흐름 제어와 혼잡 제어가 있다.As communication technologies have evolved, it has become possible to use networks that connect information to each other so that each system can communicate. In the system constituting the network, information is exchanged by sending and receiving packets, and for this purpose, the flow of packets and the congestion of the network are properly controlled. The control typically includes flow control and congestion control.

흐름 제어(Flow Control)란 패킷 교환망에서 송수신 단말의 속도 차이나 교환망의 트래픽 상황 등에 의해 생기는 정체를 피하기 위해서 네트워크에 유입되는 패킷량을 제어하는 것을 말한다. 흐름 제어는 노드(교환기)와 단말간 또는 노드 상호 간에 행해진다. 흐름 제어 방식에는 보통 네트워크 내에 정체되고 있는 모든 패킷 수를 일정한 수 이하로 제한하는 방식과, 네트워크 내에 유입되는 패킷 수를 발신국에서 제어하는 방식 등이 있다. 또한 데이터적인 측면에서 흐름 제어는, 데이터 패킷을 전송할 때 수신측에서 수신 한도를 넘는 과잉 패킷의 입력으로 패킷이 분실되거나 로크 업(Lock up)이 일어나지 않도록 패킷의 흐름량을 조절하는 것을 뜻하기도 한다. Flow control refers to controlling the amount of packets flowing into the network in order to avoid congestion caused by the speed difference between the transmitting and receiving terminals or the traffic conditions of the switching network in the packet switched network. Flow control is performed between the node (exchange) and the terminal or between the nodes. The flow control method generally includes a method of limiting all packets congested in the network to a certain number or less, a method of controlling the number of packets flowing into the network at the originating station, and the like. In terms of data, flow control also means adjusting the flow rate of a packet so that the packet is not lost or locked up due to an excessive amount of packets exceeding the reception limit at the receiving side when the data packet is transmitted.

예를 들어, 윈도우(Window)방식의 흐름 제어에서는 수신측의 버퍼(Buffer) 크기에 따라 연속하여 수신되는 최대의 패킷 수를 결정하고, 송신측에서는 응답을 받기 전에 송신하는 데이터 패킷 수를 그 이하로 억제하도록 제어한다. 즉, 송신측에서 시간당 보내는 패킷의 양이 수신측에서 수신할 수 있는 패킷의 양을 넘지 않게 조절한다.For example, in the window type flow control, the maximum number of packets continuously received is determined according to the size of the buffer at the receiving side, and the number of data packets transmitted at the transmitting side before receiving a response is less than or equal to the receiving buffer. Control to suppress That is, the amount of packets sent per hour at the transmitting side is controlled so as not to exceed the amount of packets that can be received at the receiving side.

반면 혼잡 제어(Congestion Control)란 네트워크 내의 패킷수를 대기 지연 한계의 경계선 이하로 한정하는 것을 일컫는다. 만약 패킷의 전송 속도보다 빠른 속도로 패킷이 입력되고 이에 따라 패킷의 대기 행렬이 쌓이게 된다면, 대기 행렬의 크기는 상한이 없이 커지고 패킷 지연 시간은 무한대로 커지게 된다. Congestion control, on the other hand, refers to limiting the number of packets in the network to below the boundary of the waiting delay limit. If a packet is input at a speed faster than the transmission rate of the packet, and the queue of packets is accumulated accordingly, the size of the queue increases without an upper limit and the packet delay time increases indefinitely.

또한 입력 속도가 출력 속도보다 느리더라도 패킷 내도율이 전송 속도에 가까워지면 대기 행렬의 길이는 급격히 늘어난다.(통상 대기 행렬이 발생하는 회선의 이용률이 80%이상이 되면 대기 행렬의 길이는 경고 수준에 도달한 것으로 본다.) 따라서 혼잡 제어에서는 상기 현상을 방지하기 위하여, 패킷의 송신 속도를 조절한 다.Also, even if the input rate is slower than the output rate, the length of the queue increases rapidly as the packet instability approaches the transmission rate. (Normally, when the utilization rate of the line where the queue occurs is over 80%, the length of the queue is at a warning level. Therefore, in congestion control, the transmission rate of the packet is adjusted to prevent the phenomenon.

도 1은 종래 이더넷 컨트롤러의 수신 패킷 처리부에서 수신되는 패킷을 처리하는 과정을 도시한 도면이다.1 is a diagram illustrating a process of processing a packet received by a reception packet processing unit of a conventional Ethernet controller.

이더넷 패킷이 이더넷 스위치(Ethernet Switch)를 통하여 입력되는 경우(S101), 이더넷 컨트롤러에서는 수신 인터럽트를 발생시킨다(S102). 수신 인터럽트가 발생하는 경우, 이더넷 컨트롤러의 수신 패킷 처리부가 호출된다(S103).        When the Ethernet packet is input through the Ethernet switch (S101), the Ethernet controller generates a reception interrupt (S102). When a reception interrupt occurs, the reception packet processing unit of the Ethernet controller is called (S103).

호출된 수신 패킷 처리부에서는 수신 버퍼에 이더넷 패킷이 존재하는지 검사한다(S104). 만일 수신 버퍼에 이더넷 패킷이 존재하는 경우라면, 패킷의 에러 유무를 조사하고(S105), 상기 이더넷 패킷을 프레임의 형태로 처리하여 입력시킨다(S106). 수신 버퍼에 이더넷 패킷이 존재하지 않는 경우에는, 시스템에서 미리 정해진 수만큼의 이더넷 패킷을 버퍼링하여 이를 수신 버퍼에 입력한다(S107). 이로써 수신 패킷 처리부에서 수신되는 패킷을 처리하는 절차는 종료한다.The called reception packet processing unit checks whether an Ethernet packet exists in the reception buffer (S104). If there is an Ethernet packet in the reception buffer, an error of the packet is checked (S105), and the Ethernet packet is processed in the form of a frame and input (S106). If there are no Ethernet packets in the reception buffer, the system buffers a predetermined number of Ethernet packets and inputs them to the reception buffer (S107). As a result, the procedure for processing the packet received by the receiving packet processing unit ends.

위의 과정에서 볼 수 있듯이, 패킷이 수신되는 경우 항상 인터럽트가 발생한다. 따라서 프로세서(Processor)가 다 처리하지 못할 만큼 많은 패킷이 수신되는 경우, 인터럽트의 잦은 발생으로 인하여 프로세서는 다른 처리를 수행하지 못한다. 이러한 점을 악용하여 제3자가 고의로 프로세서로 향하는 트래픽을 과도하게 폭주시켜 시스템을 치명적인 상태로 만들고, 해킹을 하는 경우가 발생할 수 있다.As you can see from the above procedure, an interrupt is always generated when a packet is received. Therefore, if many packets are received that cannot be processed by the processor, the processor cannot perform other processing due to the frequent occurrence of interrupts. By exploiting this, third parties may deliberately overrun traffic to the processor, leaving the system deadly and hacking.

물론 전술한 흐름 제어나 혼잡 제어에 의하여 트래픽의 흐름을 제어할 수 있 다. 하지만 상기 제어 과정은 대체적으로 송신측이나 네트워크에서 패킷량을 조절하는 형태로 이루어지므로, 송신측에서 고의로 트래픽을 폭주시키는 경우에 있어서는 효율적인 조치가 될 수 없다. 또한 흐름 제어와 혼잡 제어는 이더넷 스위치나 송신측 단말 등 하드웨어적인 구성 요소에서 수행되는 것이므로, 폭주된 데이터를 조절하는 과정에서 상기 구성 요소에 과부하가 일어날 수도 있다.Of course, the flow of traffic can be controlled by the above-described flow control or congestion control. However, since the control process is generally made in the form of adjusting the amount of packets at the transmitting side or the network, it cannot be an effective measure in case of deliberate congestion of traffic at the transmitting side. In addition, since flow control and congestion control are performed in hardware components such as an Ethernet switch or a transmitting terminal, overload may occur in the process of adjusting the congested data.

따라서 상기와 같은 하드웨어적인 구성 요소에 의하지 않고도, CPU로 트래픽이 가중되어 CPU가 다른 프로세스를 처리하지 못하던 종래의 문제점을 해결하기 위하여, 프로세서로 유입되는 트래픽에 대해서 어느 일정 정도의 양만 수신하고 나머지의 트래픽에 대해서는 수신이 되지 않도록 설계하여 트래픽의 흐름을 조절할 수 있는 방안이 요구된다.Therefore, in order to solve the conventional problem in which the CPU is not able to process other processes due to the weighted traffic to the CPU without the hardware component as described above, only a certain amount of the traffic flowing into the processor is received and There is a need for a method that can control the flow of traffic by designing it so that it is not received.

따라서 본 발명의 목적은 상술한 종래의 문제점을 해결하고자 고안된 것으로, 프로세서가 수신하는 패킷의 양을 수신측에서 직접 제한하여, 트래픽의 폭주로 인한 프로세서의 처리 불능의 상태에서 제3자가 고의로 시스템을 해킹하는 것을 미연에 방지하고 시스템을 안정적으로 유지하기 위한 방법을 제공하고자 함에 있다.Accordingly, an object of the present invention is to solve the above-mentioned conventional problems, and by directly limiting the amount of packets received by the processor at the receiving side, a third party deliberately implements the system in an unprocessable state of the processor due to congestion of traffic. It is to provide a way to prevent hacking and keep the system stable.

본 발명의 다른 목적은 기존의 이더넷 스위치와 같은 하드웨어적인 구성 요소에 의하지 않고도, 소프트웨어적인 방법에 의하여 패킷의 초당 수신율을 제한하여 트래픽의 흐름을 조절하는 방법을 제공하고자 함에 있다.Another object of the present invention is to provide a method for controlling the flow of traffic by limiting the reception rate of the packet per second by a software method, without resorting to hardware components such as the existing Ethernet switch.

상기한 목적을 달성하기 위한 본 발명의 일 측면에 따른 이더넷 트래픽 수신율 제한 시스템은 패킷 수신량의 기준값을 설정하고, 패킷이 수신되는 경우 수신 인터럽트를 발생시키는 중앙 처리부와 상기 설정된 패킷 수신량을 초과하여 패킷이 유입되는지 체크하고, 이를 인터럽트 처리 루틴부에 통지하는 수신 패킷 처리부 및 상기 수신 패킷 처리부로부터 패킷 초과 유입 통지를 받은 경우, 상기 중앙 처리부로 하여금 수신 인터럽트의 발생을 비활성화시키는 인터럽트 처리 루틴부를 포함한다.Ethernet traffic reception rate limiting system according to an aspect of the present invention for achieving the above object is to set a reference value of the packet receiving amount, and when the packet is received and the central processing unit for generating a receiving interrupt exceeds the set packet receiving amount A receiving packet processing unit for checking whether a packet is introduced and notifying the interrupt processing routine unit and an interrupt processing routine unit for causing the central processing unit to deactivate generation of the receiving interrupt when receiving the packet excess inflow notification from the receiving packet processing unit; .

상기 이더넷 트래픽 수신율 제한 시스템에 있어서, 상기 수신 패킷 처리부는, 기 설정된 패킷 수신량을 초과하여 패킷이 유입되는 경우, 수신 패킷을 처리하지 않도록 비활성화하는 것을 특징으로 한다.In the Ethernet traffic reception rate limiting system, the received packet processing unit deactivates the packet not to process the received packet when a packet is introduced in excess of a preset packet reception amount.

상기 이더넷 트래픽 수신율 제한 시스템은, 패킷의 수신 상태를 모니터링하여 기 설정된 패킷 수신량 미만의 패킷이 유입되는 경우, 인터럽트 처리 루틴부에 이를 통지하여 비활성화된 수신 인터럽트를 활성화시키는 패킷 수신 상태 감시부를 더 포함한다.The Ethernet traffic reception rate limiting system further includes a packet reception state monitoring unit that monitors a reception state of a packet and notifies the interrupt processing routine to notify an interrupt processing routine when a packet less than a preset packet reception amount is introduced. do.

상기 이더넷 트래픽 수신율 제한 시스템에 있어서, 상기 인터럽트 처리 루틴부는, 수신 인터럽트가 발생하였다고 판단되는 경우, 수신 패킷 처리부와 패킷 수신 상태 감시부를 구동시키는 것을 특징으로 한다.In the Ethernet traffic reception rate limiting system, when it is determined that a reception interrupt has occurred, the interrupt processing routine unit drives the reception packet processing unit and the packet reception state monitoring unit.

상기 이더넷 트래픽 수신율 제한 시스템은, 중앙 처리부로부터 패킷 수신량에 대한 기준값을 통지받고 이를 기초로 하여 커널 쓰레드를 생성하는 커널 쓰레드 생성부를 더 포함한다.The Ethernet traffic reception rate limiting system further includes a kernel thread generation unit configured to receive a reference value for the packet reception amount from the central processing unit and generate a kernel thread based on the reference value.

상기 이더넷 트래픽 수신율 제한 시스템은, 수신 패킷 처리부에서 수신 패킷을 처리하기 전까지 수신 패킷을 버퍼링하는 수신 버퍼를 더 포함한다.The Ethernet traffic reception rate limiting system further includes a reception buffer that buffers the received packet until the received packet processing unit processes the received packet.

한편, 상기한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 이더넷 트래픽의 수신율 제한 방법은 패킷이 유입되는 경우 수신 인터럽트를 발생시키는 단계와 패킷의 수신 상태를 주기적으로 모니터링하여 설정된 패킷 수신량을 초과하여 패킷이 유입되는 경우, 수신 인터럽트의 발생을 비활성화시키는 단계를 포함한다.Meanwhile, according to another aspect of the present invention, a method of limiting reception of an Ethernet traffic according to another aspect of the present invention includes generating a reception interrupt when a packet is introduced and periodically monitoring the reception state of the packet to exceed a packet reception amount. Thereby deactivating generation of a receive interrupt when a packet is introduced.

상기 이더넷 트래픽의 수신율 제한 방법에 있어서, 상기 수신 인터럽트를 발생시키는 단계는, 수신 인터럽트가 발생하는 경우 수신 패킷 처리 과정과 패킷 수신 상태 모니터링 과정을 수행하는 것을 특징으로 한다.In the method of limiting the reception rate of the Ethernet traffic, generating the reception interrupt may include performing a reception packet processing and a packet reception state monitoring process when a reception interrupt occurs.

상기 이더넷 트래픽의 수신율 제한 방법은, 패킷 수신량에 대한 기준값을 통지받아 이를 기초로 하여 커널 쓰레드를 생성하는 단계를 더 포함한다.The reception rate limiting method of the Ethernet traffic may further include generating a kernel thread based on the notification of the reference value for the packet reception amount.

상기 이더넷 트래픽의 수신율 제한 방법은, 기 설정된 수신 패킷량에 대한 기준값을 초과하여 패킷이 유입되는 경우 수신 패킷 처리부를 비활성화시키는 것을 특징으로 한다.The reception rate limiting method of the Ethernet traffic may be configured to deactivate a reception packet processing unit when a packet flows in excess of a reference value for a predetermined reception packet amount.

상기 이더넷 트래픽의 수신율 제한 방법은, 패킷의 수신 상태를 모니터링하여 기 설정된 패킷 수신량 미만의 패킷이 유입되는 경우, 비활성화된 수신 인터럽트를 활성화시키는 단계를 더 포함한다.The reception rate limiting method of the Ethernet traffic may further include monitoring a reception state of the packet and activating an inactive reception interrupt when a packet less than a predetermined packet reception amount is introduced.

이하 본 발명에 따른 CPU 보안을 위한 이더넷 트래픽 수신율 제한 시스템 및 그 방법을 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, an Ethernet traffic reception rate limiting system and a method thereof for CPU security according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 이더넷 컨트롤러의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of an Ethernet controller according to the present invention.

패킷은 이더넷 스위치를 통하여 이더넷 컨트롤러로 입력된다. 이더넷 스위치는 수신한 패킷에 대한 최적의 경로를 분석 및 파악하고, 파악된 경로로 이더넷 패킷을 스위칭한다. 또한 상기 이더넷 스위치는 전송할 패킷의 최적 경로에 해당하는 포트 또는 링크의 혼잡 여부를 점검한다.Packets enter the Ethernet controller through the Ethernet switch. The Ethernet switch analyzes and identifies the optimal path for received packets and switches Ethernet packets along the identified path. The Ethernet switch also checks whether the port or link corresponding to the optimal path of the packet to be congested is congested.

상기 이더넷 컨트롤러는 중앙 처리부(210), 커널 쓰레드 생성부(230), 수신 패킷 처리부(240), 패킷 수신 상태 감시부(250), 인터럽트 처리 루틴부(220) 및 수신 버퍼(260)등을 포함하여 구성된다.The Ethernet controller includes a central processor 210, a kernel thread generator 230, a received packet processor 240, a packet reception status monitor 250, an interrupt processing routine 220, a receive buffer 260, and the like. It is configured by.

중앙 처리부(210)는 패킷이 수신되는 경우 수신 인터럽트를 발생시키고, 이를 인터럽트 처리 루틴부(220)에 통지한다. 상기 수신 인터럽트를 발생시키는 곳은 중앙 처리부(210)의 인터럽트 발생부(211)이다. 또한 중앙 처리부(210)는 네트워크 디바이스 드라이버 함수를 초기화하고, 초당 수신되는 패킷량에 대한 함수값을 설정한 후, 상기 설정된 함수값을 커널 쓰레드 생성부(230)에 통지한다.The central processing unit 210 generates a reception interrupt when a packet is received, and notifies the interrupt processing routine unit 220 of this. The interrupt generating unit is the interrupt generating unit 211 of the central processing unit 210. In addition, the central processing unit 210 initializes the network device driver function, sets a function value for the amount of packets received per second, and then notifies the kernel thread generation unit 230 of the set function value.

커널 쓰레드 생성부(230)는 패킷의 수신 상태를 모니터링하기 위하여, 중앙 처리부(210)로부터 통지받은 수신 패킷량에 대한 함수값을 기초로 하여 커널 쓰레드를 생성한다. 상기 생성된 커널 쓰레드는 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250) 각각에 존재하는 유입 패킷 측정부(241, 251)의 기본적인 동작을 제어한다. The kernel thread generation unit 230 generates a kernel thread based on a function value for the received packet amount notified from the central processing unit 210 to monitor the reception state of the packet. The generated kernel thread controls the basic operations of the incoming packet measuring units 241 and 251 in each of the receiving packet processor 240 and the packet receiving state monitor 250.

수신 패킷 처리부(240)는 수신된 패킷을 처리한다. 수신 패킷 처리부(240)내에 있는 유입 패킷 측정부(241)에서는 설정된 기준값보다 패킷량이 초과 유입되는 지 여부를 측정한다. 기준값을 초과하는 패킷이 수신되어 수신 패킷 처리부(240)의 상태가 패킷 초과 유입 상태로 설정된 경우, 수신 패킷 처리부(240)는 이를 인터럽트 처리 루틴부(220)에 통지한다. The received packet processor 240 processes the received packet. The inflow packet measuring unit 241 in the reception packet processing unit 240 measures whether the packet amount exceeds the set reference value. When a packet exceeding a reference value is received and the state of the received packet processing unit 240 is set to the packet excess inflow state, the received packet processing unit 240 notifies the interrupt processing routine unit 220 of this.

패킷 수신 상태 감시부(250)에서는 패킷의 수신 상태를 모니터링한다. 패킷 수신 상태 감시부(250)내에 있는 유입 패킷 측정부(251)에서 패킷량의 유입 상태를 측정하며, 만일 현재 유입되는 패킷량이 초기 설정된 패킷량보다 적은 경우에는 이를 수신 패킷 처리부(240)에 통지한다. 또한 이 경우 인터럽트 처리 루틴부(220)에 수신 인터럽트(rx interrupt)를 활성화하라는 통지를 한다.The packet reception state monitoring unit 250 monitors the reception state of the packet. The inflow packet measuring unit 251 in the packet reception state monitoring unit 250 measures the inflow state of the packet amount, and if the amount of the incoming packet is smaller than the initially set packet amount, it notifies the received packet processing unit 240. do. In this case, the interrupt processing routine unit 220 is also notified to activate a receive interrupt.

인터럽트 처리 루틴부(220)에서는 수신 인터럽트(Rx interrupt)가 발생하였다고 판단되면, 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250)를 호출하여 이를 구동시킨다. 또한 패킷 수신 상태 감시부(250)로부터 수신 인터럽트를 활성화하라는 통지를 받는 경우, 수신 인터럽트(rx interrupt)를 활성화시킨다.If it is determined that the Rx interrupt has occurred, the interrupt processing routine 220 calls the received packet processor 240 and the packet reception status monitor 250 to drive the received interrupt. In addition, when a notification is received from the packet reception state monitoring unit 250 to activate the reception interrupt, the reception interrupt (rx interrupt) is activated.

수신 버퍼(260)는 수신 패킷 처리부(240)에서 수신 패킷을 처리하기 전까지, 수신 패킷을 버퍼링한다.The reception buffer 260 buffers the reception packet until the reception packet processing unit 240 processes the reception packet.

도 3은 본 발명에 따른 이더넷 컨트롤러에서 네트워크 디바이스 드라이버 함수 값을 초기화하는 과정을 도시한 도면이다.3 is a diagram illustrating a process of initializing a network device driver function value in an Ethernet controller according to the present invention.

네트워크 디바이스 드라이버(Network Device Driver) 함수는 네트워크 장치(하드웨어)가 운영 체제와 응용 프로그램의 제어 하에서 작동할 수 있도록 한다. 상기 함수는 네트워크 장치의 운용을 위하여 요구되는 여러 함수값들을 설정하며, 네트워크 장치들은 설정된 상기 함수값들에 의하여 운용된다. Network Device Driver functions allow network devices (hardware) to operate under the control of the operating system and applications. The function sets various function values required for the operation of the network device, and the network devices are operated by the function values set.

본원 발명에서는 기존과 달리 운용자가 초당 수신되는 패킷의 개수를 미리 제한하여 설정하고, 수신되는 패킷에 대한 처리 상태를 모니터링하기 위하여 커널 쓰레드를 생성한다. 생성되는 커널 쓰레드는 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250) 각각에서 유입 패킷 측정부(241, 251)를 구동시킬 수 있도록 한다. In the present invention, unlike before, the operator limits the number of packets received per second in advance, and creates a kernel thread to monitor the processing status of the received packets. The generated kernel thread may drive the incoming packet measuring unit 241 or 251 in each of the receiving packet processor 240 and the packet receiving state monitoring unit 250.

네트워크 디바이스 드라이버 함수를 초기화하는 과정이 시작되면, 중앙 처리부(210)는 CPU 보안 기능이 설정되었는지 여부를 판단한다(S301). CPU 보안 기능이 설정되지 않은 경우에는 운용자가 수신되는 패킷량을 제한할 필요가 없으므로, 네트워크 디바이스 드라이버 함수값의 초기화 과정은 종료된다. 그러나 CPU 보안 기능이 설정된 경우에는, 중앙 처리부(210)는 수신되는 패킷량에 대한 네트워크 디바이스 드라이버 함수값을 초기화한다(S302).When the process of initializing the network device driver function starts, the central processing unit 210 determines whether the CPU security function is set (S301). If the CPU security function is not set, the operator does not need to limit the amount of packets received. Thus, the initialization process of the network device driver function values is terminated. However, when the CPU security function is set, the central processing unit 210 initializes the network device driver function value for the received packet amount (S302).

이 경우 중앙 처리부(210)는 초당 수신되는 패킷의 개수를 임의의 값으로 제한하여, 상기 수신되는 패킷량에 대한 함수값을 설정한다(S303). 상기 함수값을 설정한 후, 중앙 처리부(210)는 설정된 함수값을 커널 쓰레드 생성부(230)에 통지한다(S304).In this case, the central processing unit 210 sets a function value for the received packet amount by limiting the number of packets received per second to an arbitrary value (S303). After setting the function value, the central processing unit 210 notifies the kernel thread generation unit 230 of the set function value (S304).

커널 쓰레드 생성부(230)에서는 패킷의 수신 상태를 모니터링하기 위하여, 중앙 처리부(210)로부터 통지받은 수신 패킷량에 대한 함수값을 기초로 하여 커널 쓰레드(Kernel Thread)를 생성한다(S305). 상기 생성된 커널 쓰레드는 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250)에서 유입 패킷 측정부(241, 251)를 구 동시킨다. 이 경우 유입 패킷 측정부(241, 251)는 수신 패킷 처리부(240)의 상태(rx_status)를 주기적으로 체크하게 된다. 따라서 패킷의 수신 상태에 대한 모니터링이 가능하다.In order to monitor the reception state of the packet, the kernel thread generation unit 230 generates a kernel thread based on a function value of the received packet amount notified from the central processing unit 210 (S305). The generated kernel thread drives the incoming packet measuring unit 241 or 251 in the receiving packet processing unit 240 and the packet receiving state monitoring unit 250. In this case, the incoming packet measuring units 241 and 251 periodically check the state (rx_status) of the received packet processing unit 240. Therefore, it is possible to monitor the reception status of the packet.

도 4는 본 발명에 따른 이더넷 컨트롤러의 수신 패킷 처리부에서 수신되는 패킷을 처리하는 과정을 도시한 도면이다.4 is a diagram illustrating a process of processing a packet received by a reception packet processing unit of an Ethernet controller according to the present invention.

중앙 처리부(210)의 인터럽트 발생부(211)에서는 이더넷 스위치를 통하여 수신되는 이더넷 패킷이 있을 경우, 수신 인터럽트를 발생시킨다(S401). 이 경우 이더넷 컨트롤러는 입력되는 패킷의 처리에 우선 순위를 부여하여 수신 인터럽트를 발생시키고, 수행되고 있는 다른 일보다 입력되는 패킷을 먼저 처리하게 한다. The interrupt generator 211 of the central processing unit 210 generates a reception interrupt when there is an Ethernet packet received through the Ethernet switch (S401). In this case, the Ethernet controller gives priority to the processing of the incoming packet, generates a receive interrupt, and processes the incoming packet before other work being performed.

인터럽트 처리 루틴부(220)에서는 수신 인터럽트(Rx interrupt)가 발생하였다고 판단되면, 수신 패킷 처리부(Rx Processing 부)(240)를 호출한다(S402). 또한 인터럽트 처리 루틴부(220)에서는 수신 인터럽트가 발생한 경우 패킷 수신 상태 감시부(250)도 호출하는데, 패킷 수신 상태 감시부(250)에서의 처리 절차는 도 5에 대한 설명에서 상세히 후술하도록 하겠다.If it is determined that a reception interrupt (Rx interrupt) has occurred, the interrupt processing routine unit 220 calls the reception packet processing unit (Rx Processing unit) 240 (S402). In addition, the interrupt processing routine unit 220 also calls the packet reception state monitoring unit 250 when a reception interrupt occurs. The processing procedure in the packet reception state monitoring unit 250 will be described later in detail with reference to FIG. 5.

호출된 수신 패킷 처리부(240)는 수신 패킷에 대한 처리 절차를 시작한다(S403). 수신 패킷 처리부(240)에서는 수신 버퍼(260)에 패킷이 존재하는지 여부를 검사한다(S404). 만일 수신 버퍼(260)에 패킷이 존재하는 경우에는, 패킷의 에러 유무를 조사한다(S411). 수신 패킷 처리부(240)는 에러 유무를 조사한 수신 패킷을 프레임의 형태로 처리하여, 상위 스택(stack)으로 전송한다(S412). 상기 과정 은 수신 버퍼(260)에 패킷이 존재하지 않게 될 때(empty)까지 루프 형태로 반복된다.The called reception packet processing unit 240 starts a processing procedure for the received packet (S403). The reception packet processor 240 checks whether a packet exists in the reception buffer 260 (S404). If a packet exists in the reception buffer 260, it is checked whether an error exists in the packet (S411). The received packet processor 240 processes the received packet in which the error is checked in the form of a frame, and transmits the received packet to an upper stack (S412). The process is repeated in a loop until the packet is no longer present in the reception buffer 260.

수신 패킷 처리부(240)는 수신 버퍼(260)에 패킷이 존재하지 않는다고 판단되는 경우, 수신 버퍼(260)에 패킷을 버퍼링한다(S405). 상기 수신 버퍼(260)에는 일정한 용량의 수신 패킷이 임시 저장될 수 있다. 따라서 저장된 패킷을 모두 처리하여 수신 버퍼(260)가 비어 있는 경우에는, 다시 패킷을 버퍼링하게 된다.When it is determined that the packet does not exist in the reception buffer 260, the reception packet processor 240 buffers the packet in the reception buffer 260 (S405). The reception buffer 260 may temporarily store a reception packet having a predetermined capacity. Therefore, when the reception buffer 260 is empty by processing all the stored packets, the packet is buffered again.

패킷이 버퍼링되면 수신 패킷 처리부(240)의 유입 패킷 측정부(241)에서는 설정된 수신 패킷량의 기준값보다 현재 초당 유입되는 패킷량이 더 많은지 판단한다(S406). 만일 사전에 설정된 기준값보다 현재 더 많은 패킷이 초당 유입되고 있는 경우라면, 수신 패킷 처리부(240)는 수신 패킷 처리부(240)의 상태를 패킷 초과 유입 상태로 설정한다(S407). 상기 상태는 시스템에 유입되는 패킷량이 초기 설정된 상태보다 많아 패킷 수신률이 정상 상태에서 벗어났다는 것을 의미한다. When the packet is buffered, the incoming packet measuring unit 241 of the receiving packet processing unit 240 determines whether the amount of packets currently flowing per second is larger than the reference value of the set receiving packet amount (S406). If more packets are being introduced per second than the preset reference value, the reception packet processing unit 240 sets the state of the reception packet processing unit 240 to the excess packet inflow state (S407). This state means that the packet reception rate is out of the normal state because the amount of packets flowing into the system is larger than the initially set state.

이 경우 수신 패킷 처리부(240)는 인터럽트 처리 루틴부(220)에 패킷 초과 유입 상태라는 것을 통지한다(S408). 수신 패킷 처리부(240)로부터 상기 사항을 통지받은 인터럽트 처리 루틴부(220)는 수신 인터럽트(rx interrupt)의 발생을 비활성화시킨다(S409). 수신 인터럽트의 발생을 비활성화시키면, 수신 인터럽트가 발생하지 않으므로 어떠한 패킷도 수신되지 않는다. 이 경우 수신 패킷 처리부(240)는 수신 패킷에 대한 처리 절차를 종료한다(S410).In this case, the received packet processing unit 240 notifies the interrupt processing routine unit 220 that the packet excess flows in the state (S408). The interrupt processing routine 220 receiving the notification from the received packet processor 240 deactivates generation of a received interrupt (rx interrupt) (S409). If you disable the generation of receive interrupts, no packets are received because no receive interrupts occur. In this case, the received packet processor 240 ends the processing procedure for the received packet (S410).

만일 406 단계에서 설정된 패킷량보다 현재 초당 유입되는 패킷량이 더 적은 경우라면, 이는 사용자가 초기 설정한 기준값 만큼의 패킷이 처리되고 있는 상황이 므로 시스템은 정상적으로 구동되고 있는 상태이다. 따라서 수신 인터럽트를 비 활성화시킬 필요가 없다. 이 경우 수신 패킷 처리부(240)는 수신 패킷에 대한 처리 과정을 종료한다. If the amount of packets flowing in per second is smaller than the packet amount set in step 406, this is a situation in which the packet is processed as much as the reference value initially set by the user, and thus the system is operating normally. Therefore, there is no need to disable receive interrupts. In this case, the received packet processor 240 ends the processing of the received packet.

즉, 본원 발명에서는 기존의 알고리즘에 초당 수신되는 패킷 수(count)를 계산해서 설정된 기준값보다 많이 수신될 경우, 수신 인터럽트를 비활성화하여 시스템의 과부하를 줄인다.That is, in the present invention, when the number of received packets per second (count) in the conventional algorithm is received more than the set reference value, by deactivating the reception interrupt to reduce the overload of the system.

도 5는 본 발명에 따른 이더넷 콘트롤러의 패킷 수신 상태 감시부에서 패킷의 수신 상태를 모니터링하는 과정을 도시한 도면이다.5 is a diagram illustrating a process of monitoring a packet reception state of the packet reception state monitoring unit of the Ethernet controller according to the present invention.

인터럽트 처리 루틴부(220)에서는 수신 인터럽트가 발생한 경우 패킷 수신 상태 감시부(250)를 구동시키며, 이에 따라 패킷 수신 상태 감시부(250)부에서 패킷의 수신 상태를 모니터링하는 과정이 시작된다. 패킷 수신 상태 감시부(250)는 수신 패킷 처리부(240)의 상태를 주기적으로 체크하기 위하여, 패킷의 수신 상태 모니터링 절차를 시작한다(S501).The interrupt processing routine 220 drives the packet reception state monitoring unit 250 when a reception interrupt occurs. Accordingly, the packet reception state monitoring unit 250 starts to monitor the reception state of the packet. The packet reception state monitoring unit 250 starts a reception state monitoring procedure of the packet to periodically check the state of the reception packet processing unit 240 (S501).

패킷 수신 상태 감시부(250)는 수신 패킷 처리부(240)가 활성화된 상태인지 여부를 체크한다(S502). 만일 수신 패킷 처리부(240)가 활성화되어 수신된 데이터 패킷을 처리하고 있는 상태라면, 패킷 수신 상태 감시부(250)는 더 이상 아무런 실행을 하지 않고 패킷의 수신 상태 모니터링 절차를 종료한다(S507).The packet reception state monitoring unit 250 checks whether the reception packet processing unit 240 is in an activated state (S502). If the reception packet processing unit 240 is activated and processing the received data packet, the packet reception state monitoring unit 250 no longer executes the operation and ends the reception state monitoring procedure of the packet (S507).

그러나 수신 패킷 처리부(240)가 데이터 패킷을 처리하지 않고 있는 경우, 즉 수신 패킷 처리부(240)가 비활성화된 상태인 경우에는 설정된 수신 패킷량에대 한 기준값보다 현재 초당 유입되는 패킷량이 더 많은지 판단한다(S503). However, when the reception packet processor 240 does not process the data packet, that is, when the reception packet processor 240 is in a deactivated state, it is determined whether the amount of packets flowing per second is larger than the reference value for the set amount of received packets. (S503).

앞서 보았지만 네트워크에 초당 유입되는 패킷의 개수가 초기 사용자가 설정한 기준값보다 큰 경우, 수신 인터럽트는 비활성화되어 있는 상태이다. 따라서 패킷 수신 상태 감시부(250)에서 현재 패킷의 수신 상태를 점검한 결과 패킷 초과 유입 상태라고 판단되면, 비활성화한 수신 인터럽트(rx interrupt)를 활성화 상태로 변경할 필요가 없다. 이 경우 패킷 수신 상태 감시부(250)는 패킷의 수신 상태 모니터링 절차를 종료한다(S507).As described above, when the number of packets flowing into the network per second is larger than the reference value set by the initial user, the reception interrupt is inactive. Therefore, if the packet reception state monitoring unit 250 determines that the packet excess inflow state as a result of checking the reception state of the current packet, it is not necessary to change the deactivated reception interrupt (rx interrupt) to the active state. In this case, the packet reception state monitoring unit 250 terminates the reception state monitoring procedure of the packet (S507).

그러나 설정된 패킷량보다 현재 초당 유입되는 패킷량이 더 적은 경우, 즉 현재 패킷량이 정상적으로 유입되고 있는 경우에는, 유입되는 패킷을 처리하기 위해서 수신 인터럽트(rx interrupt)를 활성화하여야 한다. 따라서 이 경우 패킷 수신 상태 감시부(250)는 수신 패킷 처리부(240)에 패킷이 정상적으로 유입되고 있다는 것을 통지한다(S504). However, if the amount of incoming packets per second is smaller than the set packet amount, that is, if the current amount of packets is normally flowing, the receive interrupt (rx interrupt) must be activated to process the incoming packets. Therefore, in this case, the packet reception state monitoring unit 250 notifies the received packet processing unit 240 that the packet is normally introduced (S504).

패킷 수신 상태 감시부(250)로부터 상기 통지를 받은 수신 패킷 처리부(240)는, 수신 패킷 처리부(240)의 상태를 활성화시킨다(S505). 또한 패킷 수신 상태 감시부(250)는 인터럽트 처리 루틴부(220)에 수신 인터럽트(rx interrupt)를 활성화하라는 통지를 한다(S506). 이 경우 인터럽트 처리 루틴부(220)는 수신 인터럽트를 활성화시킨다. The received packet processing unit 240 which has received the notification from the packet reception state monitoring unit 250 activates the state of the received packet processing unit 240 (S505). In addition, the packet reception state monitoring unit 250 notifies the interrupt processing routine unit 220 to activate a rx interrupt (S506). In this case, the interrupt processing routine 220 activates the receive interrupt.

수신 인터럽트가 활성화되면 다시 패킷을 수신할 수 있다. 이 경우 패킷 수신 상태 감시부(250)는 패킷의 수신 상태 모니터링 절차를 종료한다(S507).When the receive interrupt is activated, the packet can be received again. In this case, the packet reception state monitoring unit 250 terminates the reception state monitoring procedure of the packet (S507).

도 6은 본 발명에 따른 이더넷 컨트롤러에서 수신되는 패킷을 제어하는 과정을 도시한 도면이다.6 is a diagram illustrating a process of controlling a packet received by an Ethernet controller according to the present invention.

중앙 처리부(210)는 네트워크 디바이스 드라이버 함수값을 초기화하여 초당 수신되는 패킷량을 임의의 값으로 설정한다(S601). 커널 쓰레드 생성부(230)는, 중앙 처리부(210)로부터 통지받은 수신 패킷량에 대한 함수값을 기초로 하여 커널 쓰레드를 생성한다(S602).The central processing unit 210 initializes the network device driver function value and sets the packet amount received per second to an arbitrary value (S601). The kernel thread generation unit 230 generates a kernel thread based on a function value for the received packet amount notified from the central processing unit 210 (S602).

중앙 처리부(210)의 인터럽트 발생부(211)에서는 이더넷 스위치를 통하여 패킷이 수신되는 경우, 수신 인터럽트를 발생시킨다. 이 경우 인터럽트 처리 루틴부(220)는 수신 인터럽트가 발생하였다고 판단되면, 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250)를 구동시킨다(S611, S621).The interrupt generator 211 of the central processing unit 210 generates a reception interrupt when a packet is received through the Ethernet switch. In this case, when it is determined that the reception interrupt has occurred, the interrupt processing routine unit 220 drives the reception packet processing unit 240 and the packet reception state monitoring unit 250 (S611 and S621).

수신 패킷 처리부(240)의 유입 패킷 측정부(241)는 설정된 패킷량에 대한 기준값보다 현재 초당 유입되는 패킷량이 더 많은지 판단한다(S612). 설정된 기준값보다 현재 초당 유입되는 패킷량이 더 많은 경우, 수신 패킷 처리부(240)는 수신 패킷 처리부(240)의 상태를 패킷 초과 유입 상태로 설정하고, 이를 인터럽트 처리 루틴부(220)에 통지한다. 상기 통지를 받은 인터럽트 처리 루틴부(220)는 수신 인터럽트를 비활성화한다(S613). 이 경우 수신 패킷 처리부(240)에서의 수신 패킷 처리 절차는 종료한다(S614).The incoming packet measuring unit 241 of the received packet processing unit 240 determines whether the amount of packets flowing in per second is greater than the reference value for the set packet amount (S612). When the amount of packets flowing per second is larger than the set reference value, the reception packet processor 240 sets the state of the reception packet processor 240 to the excess packet inflow state, and notifies the interrupt processing routine 220. The interrupt processing routine 220 receiving the notification deactivates the reception interrupt (S613). In this case, the reception packet processing procedure in the reception packet processing unit 240 ends (S614).

한편 인터럽트 처리 루틴부(220)에서는 수신 인터럽트가 발생하는 경우, 패킷 수신 상태 감시부(250)도 구동시킨다(S621). 패킷 수신 상태 감시부(250)에서는 수신 패킷 처리부(240)가 활성화된 상태인지 여부를 체크한다(S622). On the other hand, when a reception interrupt occurs, the interrupt processing routine unit 220 also drives the packet reception state monitoring unit 250 (S621). The packet reception state monitoring unit 250 checks whether the reception packet processing unit 240 is in an activated state (S622).

수신 패킷 처리부(240)가 활성화되어 수신된 데이터 패킷을 처리하고 있는 상태라면, 패킷 수신 상태 감시부(250)는 더 이상 아무런 실행을 하지 않고 패킷의 수신 상태 모니터링 절차를 종료한다.If the reception packet processing unit 240 is activated and processing the received data packet, the packet reception status monitoring unit 250 does not execute any more and ends the reception status monitoring procedure of the packet.

그러나 수신 패킷 처리부(240)가 데이터 패킷을 처리하지 않고 있는 경우에는, 현재 초당 유입되는 패킷량이 설정된 기준값을 초과하는지 판단한다(S623).However, when the received packet processor 240 does not process the data packet, it is determined whether the amount of packets flowing in per second exceeds the set reference value (S623).

만일 설정된 수신 패킷량의 기준값보다 현재 초당 유입되는 패킷량이 더 적은 경우에는, 패킷 수신 상태 감시부(250)는 수신 패킷 처리부(240)에 이를 통지한다(S624). 이 경우 수신 패킷 처리부(240)는 수신 패킷 처리부(240)의 상태를 활성화시킨다. 또한 패킷 수신 상태 감시부(250)는 인터럽트 처리 루틴부(220)에 수신 인터럽트를 활성화시킬 것을 통지한다(S625). If the amount of packets currently being introduced per second is smaller than the set reference value of the received packet amount, the packet reception state monitoring unit 250 notifies the received packet processing unit 240 of this (S624). In this case, the received packet processor 240 activates the state of the received packet processor 240. In addition, the packet reception state monitoring unit 250 notifies the interrupt processing routine unit 220 to activate the reception interrupt (S625).

수신 인터럽트가 활성화되면 다시 패킷을 수신할 수 있다. 이 경우 패킷 수신 상태 감시부(250)는 패킷의 수신 상태 모니터링 절차를 종료한다.When the receive interrupt is activated, the packet can be received again. In this case, the packet reception state monitoring unit 250 ends the packet reception state monitoring procedure.

본 발명에 의하면 수신되는 패킷의 초당 수신량을 운용자가 제한하여 프로세서로 수신되는 패킷의 양을 조절함으로써, 시스템의 과부하를 줄여 프로세서의 안정성을 높이고, 프로세서들이 다른 절차를 수행할 수 있게 하여 시스템 운용과 관련된 프로세스들이 유기적으로 동작할 수 있게 한다.According to the present invention, the operator limits the amount of packets received per second to control the amount of packets received by the processor, thereby reducing the overload of the system, thereby increasing the stability of the processor, and allowing the processors to perform other procedures. The processes involved in this process can operate organically.

또한 종래 하드웨어로 패킷의 수신을 조절했던 것과 달리 본원 발명에서는 소프트웨어적으로 패킷의 수신 비율을 제한하기 때문에, 별도의 하드웨어를 구현할 필요가 없어 시스템을 개발하는 원가 절감 차원에서도 큰 효과를 얻을 수 있다.In addition, unlike the conventional hardware to control the reception of the packet in the present invention, since the reception rate of the packet is limited by software, it is not necessary to implement a separate hardware can be obtained in a significant cost reduction in the cost of developing a system.

Claims (11)

패킷 수신량의 기준값을 설정하고, 패킷이 수신되는 경우 수신 인터럽트를 발생시키는 중앙 처리부;A central processing unit for setting a reference value of the packet reception amount and generating a reception interrupt when a packet is received; 상기 설정된 패킷 수신량을 초과하여 패킷이 유입되는지 체크하고, 이를 인터럽트 처리 루틴부에 통지하는 수신 패킷 처리부; 및A received packet processing unit which checks whether a packet is introduced in excess of the set packet reception amount and notifies the interrupt processing routine unit; And 상기 수신 패킷 처리부로부터 패킷 초과 유입 통지를 받은 경우, 상기 중앙 처리부로 하여금 수신 인터럽트의 발생을 비활성화시키는 인터럽트 처리 루틴부를 포함하는 이더넷 트래픽 수신율 제한 시스템.And an interrupt processing routine unit for causing the central processing unit to disable generation of a receive interrupt when receiving a packet excess inflow notification from the received packet processing unit. 제1항에 있어서,The method of claim 1, 상기 수신 패킷 처리부는,The received packet processing unit, 기 설정된 패킷 수신량을 초과하여 패킷이 유입되는 경우, 수신 패킷을 처리하지 않도록 비활성화하는 것을 특징으로 하는 이더넷 트래픽 수신율 제한 시스템.When the packet flows in excess of the preset packet reception amount, Ethernet traffic reception rate limiting system, characterized in that the processing to not process the received packet. 제1항에 있어서,The method of claim 1, 패킷의 수신 상태를 모니터링하여 기 설정된 패킷 수신량 미만의 패킷이 유입되는 경우, 인터럽트 처리 루틴부에 이를 통지하여 비활성화된 수신 인터럽트를 활성화시키는 패킷 수신 상태 감시부를 더 포함하는 이더넷 트래픽 수신율 제한 시스템.And a packet reception state monitoring unit for monitoring the reception state of the packet and notifying the interrupt processing routine unit to activate the deactivated reception interrupt when a packet less than the preset packet reception amount is introduced. 제1항에 있어서,The method of claim 1, 상기 인터럽트 처리 루틴부는,The interrupt processing routine unit, 수신 인터럽트가 발생하였다고 판단되는 경우, 수신 패킷 처리부와 패킷 수신 상태 감시부를 구동시키는 것을 특징으로 하는 이더넷 트래픽 수신율 제한 시스템.If it is determined that a reception interrupt has occurred, the Ethernet traffic reception rate limiting system characterized by driving the reception packet processing section and the packet reception status monitoring section. 제1항에 있어서,The method of claim 1, 중앙 처리부로부터 패킷 수신량에 대한 기준값을 통지받고 이를 기초로 하여 커널 쓰레드를 생성하는 커널 쓰레드 생성부를 더 포함하는 이더넷 트래픽 수신율 제한 시스템.And a kernel thread generation unit configured to receive a reference value for a packet reception amount from the central processing unit and generate a kernel thread based on the reference value. 제1항에 있어서,The method of claim 1, 수신 패킷 처리부에서 수신 패킷을 처리하기 전까지, 수신 패킷을 버퍼링하는 수신 버퍼를 더 포함하는 이더넷 트래픽 수신율 제한 시스템.And a reception buffer for buffering the received packet until the received packet processing unit processes the received packet. 패킷이 유입되는 경우 수신 인터럽트를 발생시키는 단계; 와Generating a receive interrupt when a packet is introduced; Wow 패킷의 수신 상태를 주기적으로 모니터링하여 설정된 패킷 수신량을 초과하여 패킷이 유입되는 경우, 수신 인터럽트의 발생을 비활성화시키는 단계를 포함하는 이더넷 트래픽의 수신율 제한 방법.Periodically monitoring the reception state of the packet to deactivate generation of a reception interrupt when the packet is introduced in excess of a set packet reception amount. 제7항에 있어서,The method of claim 7, wherein 상기 수신 인터럽트를 발생시키는 단계는, Generating the receive interrupt, 수신 인터럽트가 발생하는 경우, 수신 패킷 처리 과정과 패킷 수신 상태 모니터링 과정을 수행하는 것을 특징으로 하는 이더넷 트래픽의 수신율 제한 방법.When the reception interrupt occurs, the reception rate limiting method of the Ethernet traffic, characterized in that for performing the process of receiving packets and monitoring the packet reception status. 제7항에 있어서,       The method of claim 7, wherein 패킷 수신량에 대한 기준값을 통지받아 이를 기초로 하여 커널 쓰레드를 생성하는 단계를 더 포함하는 이더넷 트래픽의 수신율 제한 방법.Receiving a reference value for the packet reception amount and generating a kernel thread based on the received value. 제7항에 있어서,The method of claim 7, wherein 기 설정된 수신 패킷량에 대한 기준값을 초과하여 패킷이 유입되는 경우, 수 신 패킷 처리부를 비활성화시키는 것을 특징으로 하는 이더넷 트래픽의 수신율 제한 방법.The method of limiting the reception rate of Ethernet traffic, characterized by deactivating the receiving packet processing unit when the packet is introduced in excess of the reference value for the predetermined amount of the received packet. 제7항에 있어서,The method of claim 7, wherein 패킷의 수신 상태를 모니터링하여 기 설정된 패킷 수신량 미만의 패킷이 유입되는 경우, 비활성화된 수신 인터럽트를 활성화시키는 단계를 더 포함하는 이더넷 트래픽의 수신율 제한 방법.And monitoring a reception state of the packet to activate a deactivated reception interrupt when a packet less than a predetermined packet reception amount is introduced.
KR1020060117009A 2006-11-24 2006-11-24 System which limits receiving rate of ethernet traffic for security of cpu and method thereof KR100771125B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060117009A KR100771125B1 (en) 2006-11-24 2006-11-24 System which limits receiving rate of ethernet traffic for security of cpu and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060117009A KR100771125B1 (en) 2006-11-24 2006-11-24 System which limits receiving rate of ethernet traffic for security of cpu and method thereof

Publications (1)

Publication Number Publication Date
KR100771125B1 true KR100771125B1 (en) 2007-10-29

Family

ID=38816174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060117009A KR100771125B1 (en) 2006-11-24 2006-11-24 System which limits receiving rate of ethernet traffic for security of cpu and method thereof

Country Status (1)

Country Link
KR (1) KR100771125B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641532B1 (en) * 2022-10-20 2024-02-28 (주)한국플랫폼서비스기술 Computing apparatus using deep learning framework privacy protection and method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423049A (en) 1991-01-31 1995-06-06 Nec Corporation Multiprocessor circuit
KR20060080947A (en) * 2005-01-06 2006-07-12 엘지전자 주식회사 Method for controlling multimedia message reception in a mobile communication terminal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423049A (en) 1991-01-31 1995-06-06 Nec Corporation Multiprocessor circuit
KR20060080947A (en) * 2005-01-06 2006-07-12 엘지전자 주식회사 Method for controlling multimedia message reception in a mobile communication terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641532B1 (en) * 2022-10-20 2024-02-28 (주)한국플랫폼서비스기술 Computing apparatus using deep learning framework privacy protection and method thereof

Similar Documents

Publication Publication Date Title
US10218625B2 (en) Methods and apparatus for alleviating congestion at a switch, such as a shallow buffered switch
EP3275125B1 (en) Flow-specific failure detection in sdn networks
US7180862B2 (en) Apparatus and method for virtual output queue feedback
US7414973B2 (en) Communication traffic management systems and methods
US8121038B2 (en) Backward congestion notification
US20160173383A1 (en) Method and apparatus for priority flow and congestion control in ethernet network
US7508763B2 (en) Method to regulate traffic congestion in a network
EP3763094B1 (en) Flow management in networks
KR20050076158A (en) Method for controlling traffic congestion and apparatus for implementing the same
JPS61500761A (en) Flow control in adaptive selective packet switching systems
WO2017054566A1 (en) Method of preventing cpu packet congestion and device utilizing same
EP1684464A1 (en) Traffic management and monitoring in communications networks
US10873882B2 (en) System and method of a pause watchdog
EP2258083B1 (en) Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets
EP3556066B1 (en) Flow control in a virtualized communication network
EP1592173B1 (en) Protection switching methods and systems for electronic devices
Kasera et al. Fast and robust signaling overload control
US10212129B2 (en) Network interface card rate limiting
US20130250763A1 (en) Method and Apparatus for Control Plane CPU Overload Protection
US20060193250A1 (en) Methods, systems and computer program products for thermal management of a processor associated with a network interface
KR100771125B1 (en) System which limits receiving rate of ethernet traffic for security of cpu and method thereof
US7130271B1 (en) Relaying apparatus
Jiang et al. An explicit rate control framework for lossless ethernet operation
US11677673B1 (en) Low latency flow control in data centers
Zhang et al. Receiver-driven congestion control for InfiniBand

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101008

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee