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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Abstract
Description
도 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
중앙 처리부(210)는 패킷이 수신되는 경우 수신 인터럽트를 발생시키고, 이를 인터럽트 처리 루틴부(220)에 통지한다. 상기 수신 인터럽트를 발생시키는 곳은 중앙 처리부(210)의 인터럽트 발생부(211)이다. 또한 중앙 처리부(210)는 네트워크 디바이스 드라이버 함수를 초기화하고, 초당 수신되는 패킷량에 대한 함수값을 설정한 후, 상기 설정된 함수값을 커널 쓰레드 생성부(230)에 통지한다.The
커널 쓰레드 생성부(230)는 패킷의 수신 상태를 모니터링하기 위하여, 중앙 처리부(210)로부터 통지받은 수신 패킷량에 대한 함수값을 기초로 하여 커널 쓰레드를 생성한다. 상기 생성된 커널 쓰레드는 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250) 각각에 존재하는 유입 패킷 측정부(241, 251)의 기본적인 동작을 제어한다. The kernel
수신 패킷 처리부(240)는 수신된 패킷을 처리한다. 수신 패킷 처리부(240)내에 있는 유입 패킷 측정부(241)에서는 설정된 기준값보다 패킷량이 초과 유입되는 지 여부를 측정한다. 기준값을 초과하는 패킷이 수신되어 수신 패킷 처리부(240)의 상태가 패킷 초과 유입 상태로 설정된 경우, 수신 패킷 처리부(240)는 이를 인터럽트 처리 루틴부(220)에 통지한다. The received
패킷 수신 상태 감시부(250)에서는 패킷의 수신 상태를 모니터링한다. 패킷 수신 상태 감시부(250)내에 있는 유입 패킷 측정부(251)에서 패킷량의 유입 상태를 측정하며, 만일 현재 유입되는 패킷량이 초기 설정된 패킷량보다 적은 경우에는 이를 수신 패킷 처리부(240)에 통지한다. 또한 이 경우 인터럽트 처리 루틴부(220)에 수신 인터럽트(rx interrupt)를 활성화하라는 통지를 한다.The packet reception
인터럽트 처리 루틴부(220)에서는 수신 인터럽트(Rx interrupt)가 발생하였다고 판단되면, 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250)를 호출하여 이를 구동시킨다. 또한 패킷 수신 상태 감시부(250)로부터 수신 인터럽트를 활성화하라는 통지를 받는 경우, 수신 인터럽트(rx interrupt)를 활성화시킨다.If it is determined that the Rx interrupt has occurred, the interrupt
수신 버퍼(260)는 수신 패킷 처리부(240)에서 수신 패킷을 처리하기 전까지, 수신 패킷을 버퍼링한다.The
도 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
네트워크 디바이스 드라이버 함수를 초기화하는 과정이 시작되면, 중앙 처리부(210)는 CPU 보안 기능이 설정되었는지 여부를 판단한다(S301). CPU 보안 기능이 설정되지 않은 경우에는 운용자가 수신되는 패킷량을 제한할 필요가 없으므로, 네트워크 디바이스 드라이버 함수값의 초기화 과정은 종료된다. 그러나 CPU 보안 기능이 설정된 경우에는, 중앙 처리부(210)는 수신되는 패킷량에 대한 네트워크 디바이스 드라이버 함수값을 초기화한다(S302).When the process of initializing the network device driver function starts, the
이 경우 중앙 처리부(210)는 초당 수신되는 패킷의 개수를 임의의 값으로 제한하여, 상기 수신되는 패킷량에 대한 함수값을 설정한다(S303). 상기 함수값을 설정한 후, 중앙 처리부(210)는 설정된 함수값을 커널 쓰레드 생성부(230)에 통지한다(S304).In this case, the
커널 쓰레드 생성부(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
도 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
인터럽트 처리 루틴부(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
호출된 수신 패킷 처리부(240)는 수신 패킷에 대한 처리 절차를 시작한다(S403). 수신 패킷 처리부(240)에서는 수신 버퍼(260)에 패킷이 존재하는지 여부를 검사한다(S404). 만일 수신 버퍼(260)에 패킷이 존재하는 경우에는, 패킷의 에러 유무를 조사한다(S411). 수신 패킷 처리부(240)는 에러 유무를 조사한 수신 패킷을 프레임의 형태로 처리하여, 상위 스택(stack)으로 전송한다(S412). 상기 과정 은 수신 버퍼(260)에 패킷이 존재하지 않게 될 때(empty)까지 루프 형태로 반복된다.The called reception
수신 패킷 처리부(240)는 수신 버퍼(260)에 패킷이 존재하지 않는다고 판단되는 경우, 수신 버퍼(260)에 패킷을 버퍼링한다(S405). 상기 수신 버퍼(260)에는 일정한 용량의 수신 패킷이 임시 저장될 수 있다. 따라서 저장된 패킷을 모두 처리하여 수신 버퍼(260)가 비어 있는 경우에는, 다시 패킷을 버퍼링하게 된다.When it is determined that the packet does not exist in the
패킷이 버퍼링되면 수신 패킷 처리부(240)의 유입 패킷 측정부(241)에서는 설정된 수신 패킷량의 기준값보다 현재 초당 유입되는 패킷량이 더 많은지 판단한다(S406). 만일 사전에 설정된 기준값보다 현재 더 많은 패킷이 초당 유입되고 있는 경우라면, 수신 패킷 처리부(240)는 수신 패킷 처리부(240)의 상태를 패킷 초과 유입 상태로 설정한다(S407). 상기 상태는 시스템에 유입되는 패킷량이 초기 설정된 상태보다 많아 패킷 수신률이 정상 상태에서 벗어났다는 것을 의미한다. When the packet is buffered, the incoming
이 경우 수신 패킷 처리부(240)는 인터럽트 처리 루틴부(220)에 패킷 초과 유입 상태라는 것을 통지한다(S408). 수신 패킷 처리부(240)로부터 상기 사항을 통지받은 인터럽트 처리 루틴부(220)는 수신 인터럽트(rx interrupt)의 발생을 비활성화시킨다(S409). 수신 인터럽트의 발생을 비활성화시키면, 수신 인터럽트가 발생하지 않으므로 어떠한 패킷도 수신되지 않는다. 이 경우 수신 패킷 처리부(240)는 수신 패킷에 대한 처리 절차를 종료한다(S410).In this case, the received
만일 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
즉, 본원 발명에서는 기존의 알고리즘에 초당 수신되는 패킷 수(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
패킷 수신 상태 감시부(250)는 수신 패킷 처리부(240)가 활성화된 상태인지 여부를 체크한다(S502). 만일 수신 패킷 처리부(240)가 활성화되어 수신된 데이터 패킷을 처리하고 있는 상태라면, 패킷 수신 상태 감시부(250)는 더 이상 아무런 실행을 하지 않고 패킷의 수신 상태 모니터링 절차를 종료한다(S507).The packet reception
그러나 수신 패킷 처리부(240)가 데이터 패킷을 처리하지 않고 있는 경우, 즉 수신 패킷 처리부(240)가 비활성화된 상태인 경우에는 설정된 수신 패킷량에대 한 기준값보다 현재 초당 유입되는 패킷량이 더 많은지 판단한다(S503). However, when the
앞서 보았지만 네트워크에 초당 유입되는 패킷의 개수가 초기 사용자가 설정한 기준값보다 큰 경우, 수신 인터럽트는 비활성화되어 있는 상태이다. 따라서 패킷 수신 상태 감시부(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
그러나 설정된 패킷량보다 현재 초당 유입되는 패킷량이 더 적은 경우, 즉 현재 패킷량이 정상적으로 유입되고 있는 경우에는, 유입되는 패킷을 처리하기 위해서 수신 인터럽트(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
패킷 수신 상태 감시부(250)로부터 상기 통지를 받은 수신 패킷 처리부(240)는, 수신 패킷 처리부(240)의 상태를 활성화시킨다(S505). 또한 패킷 수신 상태 감시부(250)는 인터럽트 처리 루틴부(220)에 수신 인터럽트(rx interrupt)를 활성화하라는 통지를 한다(S506). 이 경우 인터럽트 처리 루틴부(220)는 수신 인터럽트를 활성화시킨다. The received
수신 인터럽트가 활성화되면 다시 패킷을 수신할 수 있다. 이 경우 패킷 수신 상태 감시부(250)는 패킷의 수신 상태 모니터링 절차를 종료한다(S507).When the receive interrupt is activated, the packet can be received again. In this case, the packet reception
도 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
중앙 처리부(210)의 인터럽트 발생부(211)에서는 이더넷 스위치를 통하여 패킷이 수신되는 경우, 수신 인터럽트를 발생시킨다. 이 경우 인터럽트 처리 루틴부(220)는 수신 인터럽트가 발생하였다고 판단되면, 수신 패킷 처리부(240)와 패킷 수신 상태 감시부(250)를 구동시킨다(S611, S621).The interrupt
수신 패킷 처리부(240)의 유입 패킷 측정부(241)는 설정된 패킷량에 대한 기준값보다 현재 초당 유입되는 패킷량이 더 많은지 판단한다(S612). 설정된 기준값보다 현재 초당 유입되는 패킷량이 더 많은 경우, 수신 패킷 처리부(240)는 수신 패킷 처리부(240)의 상태를 패킷 초과 유입 상태로 설정하고, 이를 인터럽트 처리 루틴부(220)에 통지한다. 상기 통지를 받은 인터럽트 처리 루틴부(220)는 수신 인터럽트를 비활성화한다(S613). 이 경우 수신 패킷 처리부(240)에서의 수신 패킷 처리 절차는 종료한다(S614).The incoming
한편 인터럽트 처리 루틴부(220)에서는 수신 인터럽트가 발생하는 경우, 패킷 수신 상태 감시부(250)도 구동시킨다(S621). 패킷 수신 상태 감시부(250)에서는 수신 패킷 처리부(240)가 활성화된 상태인지 여부를 체크한다(S622). On the other hand, when a reception interrupt occurs, the interrupt processing
수신 패킷 처리부(240)가 활성화되어 수신된 데이터 패킷을 처리하고 있는 상태라면, 패킷 수신 상태 감시부(250)는 더 이상 아무런 실행을 하지 않고 패킷의 수신 상태 모니터링 절차를 종료한다.If the reception
그러나 수신 패킷 처리부(240)가 데이터 패킷을 처리하지 않고 있는 경우에는, 현재 초당 유입되는 패킷량이 설정된 기준값을 초과하는지 판단한다(S623).However, when the received
만일 설정된 수신 패킷량의 기준값보다 현재 초당 유입되는 패킷량이 더 적은 경우에는, 패킷 수신 상태 감시부(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
수신 인터럽트가 활성화되면 다시 패킷을 수신할 수 있다. 이 경우 패킷 수신 상태 감시부(250)는 패킷의 수신 상태 모니터링 절차를 종료한다.When the receive interrupt is activated, the packet can be received again. In this case, the packet reception
본 발명에 의하면 수신되는 패킷의 초당 수신량을 운용자가 제한하여 프로세서로 수신되는 패킷의 양을 조절함으로써, 시스템의 과부하를 줄여 프로세서의 안정성을 높이고, 프로세서들이 다른 절차를 수행할 수 있게 하여 시스템 운용과 관련된 프로세스들이 유기적으로 동작할 수 있게 한다.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)
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)
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)
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 |
-
2006
- 2006-11-24 KR KR1020060117009A patent/KR100771125B1/en not_active IP Right Cessation
Patent Citations (2)
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)
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 |