KR100604197B1 - Apparatus and method for controling traffic in router - Google Patents
Apparatus and method for controling traffic in router Download PDFInfo
- Publication number
- KR100604197B1 KR100604197B1 KR1020040015365A KR20040015365A KR100604197B1 KR 100604197 B1 KR100604197 B1 KR 100604197B1 KR 1020040015365 A KR1020040015365 A KR 1020040015365A KR 20040015365 A KR20040015365 A KR 20040015365A KR 100604197 B1 KR100604197 B1 KR 100604197B1
- Authority
- KR
- South Korea
- Prior art keywords
- path
- network
- network path
- address
- destination
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
Abstract
본 발명은 네트워크 계층 장비에서 트래픽을 제어하기 위한 방법에 관한 것으로, 패킷 수신시, 상기 패킷의 목적지 IP주소를 획득하는 과정과, 상기 목적지 IP주소에 대응하는 네트워크 경로가 이용률 데이터베이스에 존재하는지 검사하는 과정과, 상기 네트워크 경로가 존재할 경우, 상기 네트워크 경로의 이용률을 갱신하는 과정과, 상기 네트워크 경로의 현재 이용률과 미리 정해진 임계치를 비교하여 상기 네트워크 경로가 혼잡상태인지 판단하는 과정과, 상기 혼잡상태일 경우, 상기 패킷을 우회 경로로 라우팅하는 과정과, 상기 혼잡상태가 아닐 경우, 상기 현재 이용률과 상기 임계치의 차이를 계산하고, 상기 차이에 근거해서 혼잡이 예상되는지 검사하는 과정과, 상기 혼잡이 예상되지 않으면, 상기 패킷을 라우팅 테이블에 근거한 최적 경로로 라우팅하는 과정과, 상기 혼잡이 예상되면, 상기 패킷을 우회 경로로 라우팅하는 과정을 포함한다. 이와 같은 본 발명은 현재 각 네트워크 경로에 대한 이용률 정보를 이용해서 네트워크 상태를 파악할수 있으므로 트래픽 폭주 등을 미연에 예측 및 방지할수 있는 이점이 있다.The present invention relates to a method for controlling traffic in a network layer device, and upon receiving a packet, obtaining a destination IP address of the packet, and checking whether a network path corresponding to the destination IP address exists in a utilization database. And, if the network path exists, updating the utilization rate of the network path, comparing the current utilization rate of the network path with a predetermined threshold value, and determining whether the network path is congested. In the case of routing the packet to the bypass path, if not in the congestion state, calculating the difference between the current utilization rate and the threshold, and checking whether congestion is expected based on the difference, and the congestion expected If not, route the packet to the best path based on the routing table. The process of floating and, when the congestion is expected, including the step of routing the packet to alternate path. As such, the present invention can grasp the network state by using utilization information on each network path, and thus there is an advantage of predicting and preventing traffic congestion in advance.
라우터, 트래픽, IP주소, 트레이스라우트, 네트워크 경로, 웹 데이터Router, traffic, IP address, traceroute, network path, web data
Description
도 1은 본 발명에 따른 라우터의 구성을 도시하는 도면.1 is a diagram illustrating a configuration of a router according to the present invention.
도 2는 본 발명에 따른 네트워크 경로 그룹핑을 설명하기 위한 도면.2 is a diagram for explaining network path grouping according to the present invention;
도 3은 본 발명의 실시 예에 따른 라우터에서 네트워크 경로 상태에 따라서 트래픽을 제어하기 위한 절차를 도시하는 도면.3 is a diagram illustrating a procedure for controlling traffic according to a network path state in a router according to an embodiment of the present invention.
도 4는 본 발명의 실시 예에 따른 라우터에서 특정 목적지를 대표경로에 매핑하기 위한 절차를 도시하는 도면.4 is a diagram illustrating a procedure for mapping a specific destination to a representative path in a router according to an embodiment of the present invention.
도 5는 시간대별 대표경로의 사용빈도를 그래프로 도시한 도면.5 is a graph showing the frequency of use of the representative path for each time zone.
본 발명은 라우터의 트래픽 제어 장치 및 방법에 관한 것으로, 특히 네트워크 경로를 이용해서 트래픽을 제어하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for controlling traffic in a router, and more particularly, to an apparatus and method for controlling traffic using a network path.
인터넷 망 전개이후 가장 빠르게 발전한 분야는 웹(WEB) 분야이다. 웹 문서 는 문자에서부터 멀티미디어까지 모든 영역을 수용할수 있기 때문에 다양한 콘텐츠 개발로 인해서 급속하게 발전을 할수 있었다. 현재 인터넷에 존재하는 웹 문서 종류 및 그 수는 셀 수 없을 정도로 방대하다. 이를 검색하기 위한 검색 엔진까지도 개발이 되어 서비스되고 있다. 따라서 방대한 웹 문서를 이용하는데 있어서 필요한 것은 어떻게 분류를 하며 이를 또 어떻게 이용하느냐 하는 것이다. The fastest developing field since the development of the Internet network is the web (WEB) field. Since web documents can accommodate all areas from text to multimedia, they can be rapidly developed due to the development of various contents. The type and number of web documents present on the Internet are immense. Even search engines for searching them have been developed and are being serviced. Therefore, what you need to use a huge web document is how to classify it and how to use it.
웹 문서 분류를 가장 많이 이용하는 분야는 검색 서비스 분야이다. 웹 문서 분류를 통해 콘텐츠별 이용을 분석하며 사용자 패턴이나 경향을 알고 이를 다른 분야에 응용할수 있도록 하는 것이다. 또 다른 분야는 웹 캐쉬 서버 분야로 마찬가지로 콘텐츠별 이용률을 통해서 많이 사용되는 웹 문서를 임시적으로 저장하고 이를 사용자에게 제공하고 있다. The most common use of web document classification is in search service. Web document classification is used to analyze usage by content and to identify user patterns or trends and apply them to other fields. The other field is the web cache server field, which similarly stores frequently used web documents through contents usage rates and provides them to users.
현재 일반적인 웹 문서 분류는 웹 문서 내에 포함된 내용을 위주로 하고 있다. 분류로는 내용 종류, 범위, 조회층, 활용 범위 등으로 분류가 된다. 즉, 웹 문서 내용 자체에 목적을 두고 분류를 하는 것으로, 웹 데이터 분류에 대해서는 논의된바가 없다. 인터넷 데이터 중에서 웹 데이터가 차지하는 비중이 많음에도 현재로선 웹 문서 분류를 통한 어플리케이션 분야가 대부분을 차지하고 있다. 다시 말해, 네트워크로 흘러 다니는 데이터 중에서 웹 데이터 비중이 많음에도 이를 분석하여 이용하지는 못하고 있는 실정이다. Currently, general web document classification is mainly based on contents included in web documents. The classification is classified into content type, scope, inquiry layer, and application scope. In other words, the classification for the purpose of the web document itself is not discussed. Although web data accounts for a large portion of the Internet data, the application field through web document classification is currently occupying most of the data. In other words, even though web data has a large proportion of data flowing through the network, it cannot be analyzed and used.
종래기술에 따른 웹 콘텐츠에 의한 분류는 라우터나 스위치와 같은 네트워크 계층에서는 이해나 판단을 할수 없기 때문에 웹 문서 분류를 이용해 망 트래픽을 제어하는 것은 무리가 있다. 따라서 어플리케이션 계층이 아닌 그 이하 계층에서 이용할수 있도록 웹 데이터를 분류하고, 그 분류를 이용해서 인터넷 트래픽(웹 데이터)을 제어할수 있는 방안이 절실히 요구되고 있다.Since classification based on web content according to the prior art cannot be understood or judged at a network layer such as a router or a switch, it is unreasonable to control network traffic using web document classification. Therefore, there is an urgent need for a method of classifying web data so that it can be used in a layer below the application layer and controlling Internet traffic (web data) using the classification.
따라서 본 발명의 목적은 인터넷 망에서 어플리케이션 계층이 아닌 그 이하 계층에서 웹 데이터를 분류하여 분석하고, 상기 분석 정보를 이용해 인터넷 트래픽을 제어하기 위한 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an apparatus and method for classifying and analyzing web data in a lower layer rather than an application layer in an internet network, and controlling internet traffic using the analysis information.
본 발명의 다른 목적은 라우터나 스위치와 같은 네트워크 계층 장비에서 네트워크 경로에 따른 이용률을 분석하고, 그 분석 정보를 이용해서 트래픽을 제어하기 위한 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for analyzing a utilization rate according to a network path in a network layer device such as a router or a switch and controlling traffic using the analysis information.
본 발명의 또 다른 목적은 라우터나 스위치와 같은 네트워크 계층 장비에서 웹 데이터 경로에 따른 이용률을 분석하고, 그 분석 정보를 이용해서 트래픽을 제어하기 위한 장치 및 방법을 제공함에 있다.It is still another object of the present invention to provide an apparatus and method for analyzing a utilization rate according to a web data path in a network layer device such as a router or a switch, and controlling traffic using the analysis information.
상기 목적들을 달성하기 위한 본 발명에 따르면, 네트워크 계층 장비에서 트래픽을 제어하기 위한 방법이, 패킷 수신시, 상기 패킷의 목적지 IP주소를 획득하는 과정과, 상기 목적지 IP주소에 대응하는 네트워크 경로가 이용률 데이터베이스에 존재하는지 검사하는 과정과, 상기 네트워크 경로가 존재할 경우, 상기 네트워크 경로의 이용률을 갱신하는 과정과, 상기 네트워크 경로의 현재 이용률과 미리 정해진 임계치를 비교하여 상기 네트워크 경로가 혼잡상태인지 판단하는 과정과, 상기 혼잡상태일 경우, 상기 패킷을 우회 경로로 라우팅하는 과정과, 상기 혼잡상 태가 아닐 경우, 상기 현재 이용률과 상기 임계치의 차이를 계산하고, 상기 차이에 근거해서 혼잡이 예상되는지 검사하는 과정과, 상기 혼잡이 예상되지 않으면, 상기 패킷을 라우팅 테이블에 근거한 최적 경로로 라우팅하는 과정과, 상기 혼잡이 예상되면, 상기 패킷을 우회 경로로 라우팅하는 과정을 포함하는 것을 특징으로 한다.According to the present invention for achieving the above object, there is provided a method for controlling traffic in a network layer equipment, the process of acquiring a destination IP address of the packet when the packet is received, the network path corresponding to the destination IP address utilization rate Checking whether the network path exists in a database; if the network path exists, updating the utilization rate of the network path; and determining whether the network path is congested by comparing a current threshold value with a predetermined threshold value. And, in the congested state, routing the packet to a bypass path, and in the non-congested state, calculating a difference between the current utilization rate and the threshold value and checking whether congestion is expected based on the difference. And if the congestion is not expected, route the packet to a routing table. Routing to the optimal path based on the; and routing the packet to the bypass path if the congestion is expected.
바람직하기로, 상기 목적지 IP주소에 대응하는 네트워크 경로가 상기 이용률데이터베이스에 존재하지 않을 경우, 상기 목적지 IP주소를 메모리의 특정 영역에 저장하는 과정과, 경로작성 이벤트 발생시, 상기 메모리의 특정 영역으로부터 상기 목적지 IP주소를 독출하는 과정과, 상기 목적지 IP주소를 가지고 트레이스라우트를 수행하여 네트워크 경로를 작성하는 과정과, 상기 작성된 네트워크 경로가 상기 이용률데이터베이스에 존재하는지 검사하는 과정과, 존재할 경우, 상기 목적지 IP주소를 확인된 네트워크 경로에 대응해서 상기 이용률데이터베이스에 저장하는 과정과, 존재하지 않을 경우, 상기 작성된 네트워크 경로를 상기 이용률데이터베이스에 하나의 레코드로 추가하는 과정을 더 포함하는 것을 특징으로 한다.
Preferably, when the network path corresponding to the destination IP address does not exist in the utilization database, storing the destination IP address in a specific area of the memory; Reading a destination IP address, performing a trace route with the destination IP address, creating a network path, checking whether the created network path exists in the utilization database, and if present, the destination And storing the IP address in the utilization database corresponding to the confirmed network path, and if not present, adding the created network path to the utilization database as one record.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
본 발명에서 제안하는 웹 데이터 분류는 패킷이 흐르는 네트워크 경로에 따른 분류이다. 인터넷 망은 홉 바이 홉(hop by hip)으로 구성된 라우터(router)들로 이루어져 있다. 현재 사용자 위치에서 웹 문서가 저장된 서버까지 라우터를 통해 한 홉 단위로 웹 데이터를 요청하고 요청에 대한 응답을 주고받는 것이다. 이러한 구성을 바탕으로 각 웹 데이터가 존재하는 서버에 대한 네트워크 경로를 파악하고 분류하는 것이다. 분류가 되면 그에 따른 트래픽 정보에 대해서도 수집이 가능하다. 즉, 가장 많이 이용하는 웹 데이터가 어떤 경로에 있으며 이를 얼마나 이용하는지 등에 대한 정보를 얻을 수 있다. 다음은 웹 데이터 경로에 대한 정보 수집과 이를 이용하는 패턴 및 이용률을 분석해서 트래픽을 제어한다.The web data classification proposed in the present invention is a classification according to a network path through which a packet flows. The Internet network consists of routers configured by hop by hip. Requesting web data and sending and receiving a response to the request through the router from the current user location to the server where the web document is stored. Based on this configuration, it is to identify and classify the network path to the server where each web data exists. Once classified, traffic information can be collected accordingly. In other words, it is possible to obtain information on which path the web data is used most and how much is used. Next, traffic is controlled by collecting information about web data paths, analyzing patterns and utilization rates.
도 1은 본 발명에 따른 라우터의 구성을 도시하고 있다. 이하 많은 기능들이 라인카드들에 분산되어 있는 분산형 라우터를 예를들어 설명할 것이다.1 shows a configuration of a router according to the present invention. In the following, a distributed router, in which many functions are distributed to line cards, will be described as an example.
도시된 바와 같이, 라우터는 복수의 라인카드모듈들(LCMs)(111-116), 스위치(130) 및 프로세서(140) 포함하여 구성된다. 여기서, 상기 프로세서(140)는 라우팅 테이블(141)과 이용률 데이터베이스(DB : DataBase)(142)를 구비하고, 각각의 라인카드모듈은 포워딩 테이블(FT : Forwarding Table)을 구비한다.As shown, the router includes a plurality of line card modules (LCMs) 111-116, a
도 1을 참조하면, 상기 프로세서(140)는 메모리를 구비하며, 상기 라우터의 전반적인 동작을 제어한다. 기본적으로 최적 경로가 저장되는 라우팅 테이블(141)을 관리하는 라우팅 프로토콜을 처리한다. 여기서, 상기 프로세서(140)는 RIP(Routing Information Protocol), OSPF(Open Shortest Path First) 또는 BGP(Border gateway Protocol)와 같은 라우팅 프로토콜을 실행하여 변화되는 라우트(경로)를 즉시 업데이트한다. 그리고 본 발명에 따라 상기 프로세서(140)는 각각의 네트워크 경로(웹 데이터 경로)에 대한 이용률이 저장되는 이용률 데이터베이스(142)를 관리하고, 상기 이용률데이터베이스(142)에 근거해서 트래픽(웹 데이터)의 흐름을 제어하는 기능을 수행한다. 상기 프로세서와 메모리는 물리적으로 하나의 칩에 구성될 수도 있고, 별도의 칩으로 구성될 수 있다.Referring to FIG. 1, the
상기 라인카드모듈들(LCMs)(111-116)은 각각 망이나 호스트와 연결되는 포트를 가지며 주로 외부 인터페이스 기능을 담당한다. 상기 라인카드모듈의 인터페이스 포트는 LAN(Local Area Network) 및 WAN(Wide Area Network) 인터페이스를 제공하므로, 다른 라우터나 호스트가 물리적으로 연결되며, 워크 스테이션 서버가 LAN형태로 연결될수 있다. 이하 설명은 인접하는 다른 라우터가 연결되는 것으로 가정하여 설명할 것이다. The line card modules (LCMs) 111-116 each have a port connected to a network or a host, and mainly serve as an external interface function. Since the interface port of the line card module provides a local area network (LAN) and wide area network (WAN) interface, another router or host may be physically connected, and the workstation server may be connected in a LAN form. The following description will be described assuming that other adjacent routers are connected.
상기 라인카드모듈들(111-116) 내에 구비되는 포워딩 테이블들(121-126)은 각각의 라인카드모듈에서 효율적인 룩업(lookup)을 제공하기 위한 것으로, 상기 라우팅 테이블(141)로부터 다운로드된 라우팅 정보를 저장한다. 즉, 상기 라인카드모듈로 수신되는 패킷은 상기 포워딩 테이블에 근거해서 다른 라인카드모듈로 포워딩된다. 그리고 다른 라인카드모듈로 포워딩된 패킷은 인접한 다른 라우터로 라우팅된다.The forwarding tables 121-126 provided in the line card modules 111-116 are provided to provide an efficient lookup in each line card module. The routing information downloaded from the routing table 141 is provided. Save it. That is, the packet received by the line card module is forwarded to another line card module based on the forwarding table. Packets forwarded to other line card modules are then routed to other adjacent routers.
한편, 스위치(130)는 상기 프로세서(140) 및 상기 라인카드모듈들(111-116) 간을 연결하여 상호 통신을 가능케 하는 역할을 담당한다. 상기 스위치(130)는 상 기 프로세서(140) 및 상기 라인카드모듈들(111-116) 사이에 교환되는 패킷을 스위칭하며, 패킷을 릴레이하는 역할을 수행한다. On the other hand, the
도시하지는 않았지만, 예를들어 상기 프로세서(140)와 상기 라인카드모듈(111-116)은 프로세서간통신(IPC : Inter-Processor Communication)을 통해 통신할수 있다. Although not shown, for example, the
상기 도 1의 구성에 근거한 동작을 살펴보면 다음과 같다.Looking at the operation based on the configuration of Figure 1 as follows.
예를들어, 라인카드모듈(111)로 패킷이 수신되면, 상기 라인카드모듈(111)은 IPC를 통해 프로세서(140)로 상기 패킷의 목적지 IP주소를 보고한다. 그러면, 상기 프로세서(140)는 상기 이용률 데이터베이스(142)를 검색해서 상기 목적지 IP주소에 대한 네트워크 경로가 존재하는지 검사한다. 상기 네트워크 경로가 존재하면, 상기 네트워크 경로의 현재 이용률을 검사하고, 현재 상태가 정상일 경우 상기 라인카드모듈(111)로 상기 패킷을 최적 경로로 라우팅할 것을 명령한다. 그러면, 상기 라인카드모듈(111)은 상기 포워딩 테이블에 근거해서 상기 패킷을 최적 경로로 라우팅한다. 만일 현재 상태가 혼잡상태이거나 혼잡이 예상될 경우, 상기 프로세서(140)는 상기 라인카드모듈(111)로 상기 패킷을 다른 경로로 라우팅할 것을 명령한다. 그러면, 상기 라인카드모듈(111)은 상기 패킷을 디폴트(default) 또는 랜덤하게 선택된 경로로 라우팅한다. 이와 같이, 본 발명은 현재 네트워크 경로 상태에 따라 트래픽을 제어하는 것을 특징으로 한다.For example, when a packet is received by the line card module 111, the line card module 111 reports the destination IP address of the packet to the
이하 본 발명에 따른 전반적인 동작을 살펴본다.Hereinafter, the overall operation according to the present invention will be described.
먼저, 본 발명은 인터넷 망을 통해 전송되는 웹 데이터들에 대한 정보를 수집한다. 일반적으로 웹 데이터는 특정 포트 번호인 80번을 사용한다. 따라서 입력되는 IP패킷중 포트번호 80을 사용하는 패킷의 소스 (source) 및 목적지(destination) IP주소를 수집한다.First, the present invention collects information about web data transmitted through the Internet network. Generally, web data uses
다음으로, 수집된 IP주소에 대해서 트레이스라우트(traceroute)라는 툴(tool)을 이용해서 소스 및 목적지 IP주소에 대한 네트워크 경로를 파악한다. 이하 설명에서는 목적지 IP주소에 대해서만 경로를 파악하는 것으로 가정하여 설명할 것이다.Next, we use a tool called traceroute on the collected IP addresses to determine the network path to the source and destination IP addresses. In the following description, it is assumed that the route is identified only for the destination IP address.
상기 트레이스라우트는 IP데이터그램의 타임 투 리브(TTL : Time To Live)를 사용한다. 트레이스라우트를 실행하는 소스 라우터는 특정 목적지로 다중 데이터그램을 보낸다. 제1데이터그램에서 타임 투 리브 필드는 '1'로 설정된다. 이것은 데이터그램이 경로상의 제1라우터에서 소멸하도록 한다. 상기 제1라우터는 '데이터그램 소멸' 메시지를 상기 소스 라우터로 되돌려 보낸다. 이 메시지는 이것을 보내는 라우터의 주소를 헤더에 포함하는데, 이것으로부터 경로상의 제1라우터를 식별하게 된다. 이후, 상기 소스 라우터는 상기 타임 투 리브 필드를 '1'만큼 증가한 데이터그램을 다시 특정 목적지로 전송한다. 이 데이터그램은 경로상의 그 다음 라우터(제2라우터)에서 소멸하고, 제2라우터는 '데이터그램 소멸' 메시지를 상기 소스 라우터로 되돌려 보낸다. 이러한 방식으로, 특정 URL 경로상에 존재하는 홉(라우터)들의 주소를 획득한다.The trace route uses a time to live (TTL) of the IP datagram. The source router running the traceroute sends multiple datagrams to specific destinations. In the first datagram, the time-to-live field is set to '1'. This causes the datagram to be destroyed at the first router on the path. The first router sends a 'datagram extinction' message back to the source router. This message contains in the header the address of the router sending it, from which it identifies the first router on the path. Thereafter, the source router transmits the datagram having the time-to-live field increased by '1' back to a specific destination. This datagram is destroyed at the next router (second router) on the path, and the second router sends a 'datagram destroyed' message back to the source router. In this way, the addresses of hops (routers) present on a particular URL path are obtained.
다음으로, 획득된 목적지 IP주소에 대한 경로를 대표경로로 매핑한다. 목적 지에 도달하기 위한 경로들중 유사한 경로들을 그룹핑하여 대표경로를 설정한다. 예를들어, naver.com에 도달하기 위한 경로는 a-b-c-d이고, daum.net에 도달하기 위한 경로는 a-b-c-e라 할때, 이 두 목적지에 대한 경로들은 a-b-c 라는 대표경로에 매핑된다. 이와 같이, 공통경로(또는 대표경로)를 거쳐가는 경로들은 하나로 그룹핑해서 관리한다.Next, the route for the obtained destination IP address is mapped to the representative route. A representative path is set by grouping similar paths among the paths to reach the destination. For example, if the route to reach naver.com is a-b-c-d and the route to daum.net is a-b-c-e, the routes to these two destinations are mapped to the representative route a-b-c. As such, the paths passing through the common path (or the representative path) are managed as a group.
도 2는 네트워크 경로 그룹핑을 설명하기 위한 것이다. 도면에서, A그룹에 속한 경로들(또는 목적지들)은 1번 대표경로에 매핑되고, B그룹에 속한 경로들은 2번 대표경로에 매핑된다. 이와 같이, 경로 그룹핑을 하는 이유는, 모든 목적지에 대한 경로들을 가지고 트래픽 제어를 할 경우 부하 등의 문제가 발생할수 있기 때문이다.2 illustrates network path grouping. In the drawing, paths (or destinations) belonging to group A are mapped to
다음으로, 대표경로를 기준으로 이용률(사용빈도)을 파악한다. 이용률은 이후 트래픽 흐름 제어에 이용된다. 상기 이용률로부터 특정 대표 경로에 대한 혼잡이 예상될 경우, 인입(incoming) 패킷을 라우팅 테이블에서 관리되는 최적경로가 아닌 다른 경로로 전송한다. Next, grasp the utilization rate (frequency of use) based on the representative path. The utilization rate is then used for traffic flow control. If congestion is expected for a particular representative path from the utilization, then an incoming packet is sent to a path other than the optimal path managed in the routing table.
이와 같이 본 발명은 특정 네트워크 경로에 대한 흐름을 파악할수 있다. 국내 서버의 경우 대부분 IDC(Internet Data Center)를 사용하기 때문에 특정 IDC 경로에 대한 흐름을 파악할수 있다. 이하 도면을 참조해서 구체적인 실시 예를 살펴보기로 한다.As such, the present invention can grasp the flow for a specific network path. Most domestic servers use IDC (Internet Data Center), so they can understand the flow of specific IDC paths. Hereinafter, specific embodiments will be described with reference to the accompanying drawings.
도 3은 본 발명의 실시 예에 따른 라우터에서 네트워크 경로 상태에 따라서 트래픽을 제어하기 위한 절차를 도시하고 있다.3 illustrates a procedure for controlling traffic according to a network path state in a router according to an embodiment of the present invention.
도 3을 참조하면, 먼저 프로세서(140)는 301단계에서 라인카드 모듈(111-116)로 패킷이 수신되는지 검사한다. 패킷 수신이 감지되면, 상기 라우터는 303단계에서 상기 패킷 헤더의 포트 번호를 검사한다. 그리고 상기 라우터는 305단계에서 상기 포트 번호에 근거해서 상기 수신된 패킷이 웹 데이터인지 검사한다. 만일, 웹 데이터가 아니면 상기 프로세서(140)는 329단계로 진행해서 해당기능을 수행한다.Referring to FIG. 3, the
만일, 상기 수신된 패킷이 웹 데이터이면, 상기 프로세서(140)는 307단계로 진행하여 상기 수신된 패킷의 목적지 IP주소를 획득한다. 그리고, 상기 프로세서(140)는 309단계에서 이용률 데이터베이스(142)를 검색하고, 311단계에서 상기 목적지 IP주소에 해당하는 대표경로가 존재하는지 검사한다. If the received packet is web data, the
만일, 상기 목적지 IP주소에 해당하는 대표경로가 존재하지 않을 경우, 상기 프로세서(140)는 325단계로 진행하여 상기 목적지 IP주소를 메모리의 특정 영역에 저장한후 327단계로 진행한다. 만일 상기 목적지 IP주소에 해당하는 대표경로가 존재하면, 상기 프로세서(140)는 313단계에서 상기 이용률 데이터베이스를 갱신한다. 예를들어 상기 이용률 데이터베이스는 하기 <표 1>과 같이 구성된다.If the representative path corresponding to the destination IP address does not exist, the
상기 <표 1>에 보여지는 바와 같이, 이용률 데이터베이스는, 대표경로 식별자, 대표경로에 속하는 라우터들의 주소열, 대표경로를 경유하는 목적지 주소들, 그리고 시간대별 이용률 정보를 저장하고 있다.As shown in Table 1, the utilization database stores a representative path identifier, address strings of routers belonging to the representative path, destination addresses via the representative path, and time-of-use utilization information.
상기 수신된 패킷의 목적지 주소가 상기 이용률 데이터베이스의 목적지 주소들 중에 존재하면, 상기 프로세서(140)는 해당 대표경로에 대응하는 이용률 갱신한다. 만일, 현재 시간이 15시라면, 특정 시간대(13시-18시)에 해당하는 이용률을 갱신한다. 보통 이용률은 특정 시간대의 전체 패킷 수를 해당 대표경로의 패킷수로 나누어 산출하게 된다. 따라서 결과값은 13-18시 제1대표경로 이용률 40%, 제2대표경로 20% 등으로 출력된다.If the destination address of the received packet is among the destination addresses of the utilization database, the
상기와 같은 이용률 데이터베이스는 소정 주기(예 : 일단위)로 초기화할수 있다. 또한, 초기화되더라도 과거 일정 기간에 대한 데이터(또는 3일 동안의 평균 데이터)를 보관하도록 한다. 이러한 과거 데이터는 미래의 네트워크 상태를 예측하는데 사용될수 있다.The utilization database as described above may be initialized at a predetermined period (eg, daily unit). Also, even if initialized, data for a certain period of time (or average data for three days) is kept. This historical data can be used to predict future network conditions.
상기와 같이 이용률 데이터베이스를 갱신한후, 상기 프로세서(140)는 315단계로 진행하여 상기 목적지 IP주소에 대한 대표경로의 현재상태를 판단한다. 즉, 상기 이용률 데이터베이스로부터 상기 대표경로의 현재 이용률(제1이용률이라 칭 함)을 독출한다.After updating the utilization database as described above, the
그리고, 상기 프로세서(140)는 317단계에서 상기 제1이용률과 미리 결정된 임계치(예 :70%)를 비교해서 혼잡상태인지 검사한다. 즉, 상기 제1이용률이 상기 임계치보다 큰지를 확인한다. 만일, 혼잡상태라고 판단되면, 상기 프로세서(140)는 323단계로 진행하여 상기 수신된 패킷을 상기 대표경로가 아닌 다른 경로 전송한다. 만일, 상기 라우팅 테이블(141)에 최적 라우팅 경로뿐만 아니라 차선 라우팅 경로도 함께 저장되어 있다면, 상기 수신된 패킷을 차선 라우팅 경로를 전송하지만, 그렇지 않다면 디폴트(default) 또는 랜덤하게 정해진 다른 경로를 통해 전송한다.In
만일, 혼잡상태가 아니라고 판단되면, 상기 프로세서(140)는 319단계에서 기 저장된 과거 데이터로부터 상기 대표경로의 현재 시간에 해당하는 이용률(제2이용률이라 칭함)을 독출하고, 상기 독출된 제2이용률로부터 혼잡이 예상되는지 판단한다. 다른 예로, 상기 임계치와 상기 제1이용률의 차이를 계산하고, 상기 차이가 미리 설정된 값보다 작으면 혼잡예상상태라고 판단할수 있다. 만일, 혼잡예상상태라고 판단되면, 상기 프로세서(140)는 상기 323단계로 진행하여 상기 수신된 패킷을 다른 경로로 전송한다. If it is determined that there is no congestion, the
만일, 상기 혼잡예상상태라 아니라고 판단되면, 상기 프로세서(140)는 327단계로 진행하여 상기 수신된 패킷을 상기 라우팅 테이블(327)에 따라 최적 경로로 전송한다. If it is determined that the congestion is not expected, the
도 4는 본 발명의 실시 예에 따른 라우터에서 특정 목적지를 대표경로에 매핑하기 위한 절차를 도시하고 있다.4 illustrates a procedure for mapping a specific destination to a representative path in a router according to an exemplary embodiment of the present invention.
도 4를 참조하면, 먼저 프로세서(140)는 경로작성 이벤트(event)가 발생하는지 검사한다. 상기 경로작성 이벤트는 부하가 적은 시간에 발생하도록 프로그램된다. 상기 경로작성 이벤트 발생시, 상기 프로세서(140)는 403단계에서 메모리의 특정 영역에 저장되어 있는 목적지 IP주소를 독출한다. 상기 목적지 IP주소는 상술한 도 3의 325단계에서 저장된 것이다. Referring to FIG. 4, first, the
상기 목적지 IP주소를 독출한후, 상기 프로세서(140)는 405단계에서 상기 목적지 IP주소를 대상으로 트레이스라우트(traceroute)를 수행한다. 상기 트레이스라우트는 ICMP(internet control message protocol)를 이용해 수행될수 있다. 앞서 설명한 바와 같이, 상기 트레이스라우트는 각 라우터에서 ICMP 에코우 메시지를 보내고 이에 대한 응답을 확인함으로써 경로상의 라우터의 존재를 확인하는 방식이다.After reading the destination IP address, the
이와 같이, 경로상에 존재하는 라우터들의 존재를 확인한후, 상기 프로세서(140)는 407단계에서 상기 확인된 라우터들의 주소들을 가지고 네트워크 경로(일종의 라우터들의 주소열)를 작성한다. 그리고 상기 프로세서(140)는 409단계에서 상기 작성된 네트워크 경로를 가지고 상기 이용률 데이터베이스(142)를 검색하고, 411단계에서 상기 작성된 네트워크 경로와 어느 정도(예 : 70%) 일치하는 대표경로가 존재하는지 검사한다.As such, after confirming the existence of the routers existing on the path, the
만일, 어느 정도 일치하는 대표경로가 존재하지 않으면, 상기 프로세서(140) 는 415단계에서 상기 네트워크 경로를 상기 이용률 데이터베이스(141)에 대표경로로 추가한후 417단계로 진행한다. 만일 어느 정도 일치하는 대표경로가 존재하면, 상기 프로세서(140)는 413단계로 진행하여 상기 확인된 대표경로에 대응해서 상기 목적지 IP주소를 저장한후 상기 417단계로 진행한다.If the representative path does not match to some extent, the
한편, 상기 프로세서(140)는 상기 417단계에서 상기 메모리의 특정 영역에 다른 목적지 IP주소가 저장되어 있는지 검사한다. 상기 다른 목적지 IP주소가 있으면, 상기 프로세서(140)는 상기 403단계로 되돌아가 이하 단계를 재수행하고, 더 이상 목적지 IP주소가 없으면 상기 프로세서(140)는 본 알고리즘을 종료한다.In
도 5는 시간대별 대표경로의 사용빈도를 그래프로 도시한 도면이다. 도면에서 가로축은 네트워크 경로(대표경로)를 나타내고 세로축은 요구수(사용빈도)를 나타낸다. 도시된 바와 같이, 이렇게 네트워크 경로에 대한 이용률, 사용빈도 등의 정보가 파악되면, 네트워크 트래픽의 특성을 어느 정도 예측할수 있게 된다. 다시 말해, 특정 경로에 대한 부하 정보를 예상할수 있으면 이를 근간으로 혼잡을 사전에 방지하거나 회피할수 있으며, 또한 혼잡시에 우회 경로를 선택할수 있을 것이다. 이는 홉 바이 홉(hop by hop) 방식에 의해서 전체 네트워크 상황을 알수 없는 라우팅 환경에서 각 경로에 대해서 사용빈도 및 현재 이용률 정보를 이용해서 현재 네트워크 상태 등을 알고 대처할수 있도록 해준다.5 is a graph showing the frequency of use of the representative path for each time zone. In the figure, the horizontal axis represents the network path (representative path) and the vertical axis represents the required number (frequency of use). As shown in the figure, when information such as utilization rate and frequency of use for the network path is grasped, the characteristics of network traffic can be predicted to some extent. In other words, if the load information for a particular path can be expected, congestion can be prevented or avoided based on this, and a bypass path can be selected at the time of congestion. This enables the hop by hop method to know and cope with the current network status by using frequency and current utilization information of each path in a routing environment where the overall network status is unknown.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이 다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described. However, various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.
상술한 바와 같이, 본 발명에 따른 네트워크 경로별 웹 데이터에 대한 분석은 효율적인 망 운용이나 향후 망 추가 구성시에 용이하게 사용될수 있다. 무엇보다 현재 각 네트워크 경로에 대한 이용률 정보를 이용해서 네트워크 상태를 파악할수 있으므로 트래픽 폭주 등을 미연에 예측 및 방지할수 있는 이점이 있다.As described above, the analysis of the web data for each network path according to the present invention can be easily used in efficient network operation or additional network configuration in the future. Above all, the current network utilization can be used to determine the network status, which can be used to predict and prevent traffic congestion.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040015365A KR100604197B1 (en) | 2004-03-08 | 2004-03-08 | Apparatus and method for controling traffic in router |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040015365A KR100604197B1 (en) | 2004-03-08 | 2004-03-08 | Apparatus and method for controling traffic in router |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050090142A KR20050090142A (en) | 2005-09-13 |
KR100604197B1 true KR100604197B1 (en) | 2006-07-25 |
Family
ID=37272260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040015365A KR100604197B1 (en) | 2004-03-08 | 2004-03-08 | Apparatus and method for controling traffic in router |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100604197B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521078B2 (en) | 2013-04-10 | 2016-12-13 | Electronics And Telecommunications Research Institute | Method and apparatus for controlling congestion of network equipment |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100861593B1 (en) * | 2006-12-01 | 2008-10-07 | 한국전자통신연구원 | Apparatus and Method for Controlling Forwarding Table |
KR102232085B1 (en) | 2014-10-10 | 2021-03-25 | 주식회사 케이티 | Method, web server and computing device for providing dynamic web page |
KR102576897B1 (en) * | 2016-07-29 | 2023-09-11 | 한국전자통신연구원 | Centralized Network Controller and Method for Avoiding Congestion by Same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010036797A (en) * | 1999-10-12 | 2001-05-07 | 이계철 | Dynamic load control method for ensuring QoS in IP networks |
-
2004
- 2004-03-08 KR KR1020040015365A patent/KR100604197B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010036797A (en) * | 1999-10-12 | 2001-05-07 | 이계철 | Dynamic load control method for ensuring QoS in IP networks |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521078B2 (en) | 2013-04-10 | 2016-12-13 | Electronics And Telecommunications Research Institute | Method and apparatus for controlling congestion of network equipment |
Also Published As
Publication number | Publication date |
---|---|
KR20050090142A (en) | 2005-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11683214B2 (en) | Network operating system for managing and securing networks | |
US9203743B2 (en) | Packet forwarding system, control device, forwarding device and method and program for preparing processing rules | |
CN103348635B (en) | Network system, control unit and optimum route control method | |
US7756022B1 (en) | Secure hidden route in a data network | |
RU2558624C2 (en) | Control device, communication system, communication method and record medium containing communication programme recorded to it | |
US9385939B2 (en) | Method and a controller system for configuring a software-defined network | |
CN102859952A (en) | Switch, and flow table control method | |
CN102498694A (en) | Communication system, forwarding node, path management server, communication method, and program | |
CN111771359B (en) | Method and system for connecting communication networks | |
US20180367431A1 (en) | Heavy network flow detection method and software-defined networking switch | |
US20040199664A1 (en) | Method and system for improving a route along which data is sent using an ip protocol in a data communications network | |
CN105991793A (en) | Message forwarding method and device | |
KR100604197B1 (en) | Apparatus and method for controling traffic in router | |
Liang et al. | The effect of routing under local information using a social insect metaphor | |
CN103036801B (en) | The processing method and processing device of data packet | |
CN101909005A (en) | Method and device for processing forwarding table | |
KR20160002155A (en) | Method fof transmitting of contents based on sdn network and ccn network | |
FI124398B (en) | Method and apparatus for determining implementation of a search table for a network element of software-defined network | |
JP3949696B2 (en) | Protocol acceleration device | |
KR20160002154A (en) | Method for generate contents name and routing method based on contents name using sdn networkd, apparatus using the same | |
US20120158924A1 (en) | Network designing system, network designing method, data transfer path determination method and network designing program | |
AU2018203193B2 (en) | Network operating system for managing and securing networks | |
CN100433702C (en) | Packet communication method | |
KR100576724B1 (en) | The forwarding search method and the search tree guaranteeing MPLS-L3VPN protocol and high speed data transfer. | |
JP3711126B2 (en) | Cut-through control method, apparatus, and program |
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 | ||
LAPS | Lapse due to unpaid annual fee |