KR20080060882A - Method of adaptive routing based packet size and routing apparatus thereof - Google Patents
Method of adaptive routing based packet size and routing apparatus thereof Download PDFInfo
- Publication number
- KR20080060882A KR20080060882A KR1020060135496A KR20060135496A KR20080060882A KR 20080060882 A KR20080060882 A KR 20080060882A KR 1020060135496 A KR1020060135496 A KR 1020060135496A KR 20060135496 A KR20060135496 A KR 20060135496A KR 20080060882 A KR20080060882 A KR 20080060882A
- Authority
- KR
- South Korea
- Prior art keywords
- routing
- packet
- packet size
- application
- node
- Prior art date
Links
Images
Classifications
-
- 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/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
Description
도 1은 무선 메쉬 네트워크의 구성을 도시한 도면.1 is a diagram illustrating a configuration of a wireless mesh network.
도 2는 본 발명에 따른 라우팅 프로토콜을 탑재한 노드의 구성을 도시한 도면.2 is a diagram illustrating a configuration of a node equipped with a routing protocol according to the present invention.
도 3은 본 발명에 따른 패킷 경로 라우팅 과정을 개략적으로 도시한 도면.3 is a schematic diagram illustrating a packet path routing process according to the present invention.
도 4는 TCP/IP 패킷의 구성을 도시한 도면.4 is a diagram illustrating a configuration of a TCP / IP packet.
도 5는 무선 랜에서 어플리케이션별로 평균 패킷 크기를 측정한 결과를 도시한 도면.5 is a diagram illustrating a result of measuring an average packet size for each application in a WLAN.
도 6은 어플리케이션별 패킷 크기 선택 테이블을 도시한 도면.6 is a diagram illustrating a packet size selection table for each application.
도 7은 본 발명에 따라 설정되는 패킷의 경로에 대한 라우팅 테이블의 구성을 도시한 도면.7 is a diagram illustrating the configuration of a routing table for a path of a packet set according to the present invention.
도 8은 본 발명에 따른 라우팅 프로토콜을 구동시키는 과정을 도시한 도면.8 is a diagram illustrating a process of driving a routing protocol according to the present invention.
도 9는 변경되는 트래픽의 특성을 반영하여 기존의 경로를 재설정하는 과정을 도시한 도면.9 is a diagram illustrating a process of resetting an existing path by reflecting a characteristic of a changed traffic.
*도면의 주요 부분에 대한 부호의 설명* * Description of the symbols for the main parts of the drawings *
200: 노드 210: 중앙 처리부200: node 210: central processing unit
220: 라우팅 프로세서 230: 어플리케이션 정보 추출부220: routing processor 230: application information extraction unit
240: 패킷 선택 테이블 250: 라우팅 테이블240: packet selection table 250: routing table
본 발명은 적응형 패킷 크기 기반 라우팅 방법 및 라우팅 장치에 관한 것으로, 보다 상세하게는 무선 네트워크 상에서의 어플리케이션(application)에 따라 라우팅 메트릭(Routing Metric)과 라우팅 방식을 동적으로 변경하고, 나아가 어플리케이션에 따라 디폴트(Default) 패킷 크기를 부여하여 패킷 크기에 기반하는 라우팅을 수행하고, 전송하는 트래픽의 특성이 바뀌는 경우 이에 따라 경로를 새로이 설정하는 라우팅 방법 및 라우팅 장치에 관한 것이다.The present invention relates to an adaptive packet size-based routing method and a routing device, and more particularly, dynamically changes a routing metric and a routing method according to an application on a wireless network, and further depending on the application. The present invention relates to a routing method and a routing device for performing routing based on a packet size by assigning a default packet size, and setting a new path accordingly when a characteristic of a transmitted traffic is changed.
네트워크를 구성하는 구성 요소 중 패킷을 스위칭하는 기능을 가지는 노드들은 다양한 라우팅 프로토콜을 적용하여 패킷의 경로를 설정한다. 라우팅 프로토콜(Routing Protocol)이란 특정한 라우팅 알고리즘을 구현하여 라우팅을 수행하는 프로토콜을 말한다. 상기 라우팅 프로토콜의 예로는 RIP, OSPF, IGRP 등을 들 수 있다. Nodes having a function of switching packets among the components constituting the network apply various routing protocols to route the packets. Routing Protocol refers to a protocol for performing routing by implementing a specific routing algorithm. Examples of the routing protocol include RIP, OSPF, IGRP, and the like.
RIP(Routing Information Protocol)는 경로 선택 정보 프로토콜이라고도 하 며, 경유하는 라우터의 홉수에 따라서 최단 경로를 동적으로 결정하는 거리 벡터 알고리즘을 사용하여 라우팅한다. Routing Information Protocol (RIP), also known as route selection information protocol, routes using a distance vector algorithm that dynamically determines the shortest path based on the number of hops of the router.
OSPF(Open Shortest Path First)는 RIP의 난점을 해결하기 위하여 고안된 것으로, 라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 조합하여 최단 경로를 설정할 수 있도록 라우팅한다. Open Shortest Path First (OSPF) is designed to solve the problems of RIP. The OSPF (Open Shortest Path First) is designed to route the shortest path by combining distance information between nodes and link state information in real time.
IGRP(Interior Gateway Routing Protocol)는 거리 벡터 알고리즘을 사용하며, 패킷의 지연, 회선의 대역폭, 신뢰성과 네트워크의 부하 등의 요소를 고려해서 목적지까지의 경로를 결정한다. 이 경우 네트워크 관리자는 이들 매개 변수들의 우선 순위를 결정할 수 있다. The Interior Gateway Routing Protocol (IGRP) uses a distance vector algorithm and determines the route to the destination in consideration of factors such as packet delay, line bandwidth, reliability, and network load. In this case, the network administrator can prioritize these parameters.
노드들은 상기한 라우팅 프로토콜을 적용하여 패킷의 경로를 설정할 때, 라우팅 메트릭을 참조한다. 라우팅 메트릭(Routing Metric)은 목적지까지의 홉수(즉, 경유하는 라우터의 수), 대역폭(Bandwidth), 통신비용, 패킷의 지연 시간, 네트워크의 부하, 최대 전송 단위(Maximum Transfer Unit: MTU), 경로비용, 신뢰도 등의 인자들로 구성될 수 있다. 라우팅 메트릭을 구성하는 인자와 라우팅 메트릭 계산 방식에 따라 라우팅 메트릭값은 변하며, 이에 따라 패킷의 경로가 다르게 설정될 수 있다. Nodes refer to routing metrics when routing packets by applying the above routing protocol. Routing metrics are the number of hops to the destination (i.e. number of routers), bandwidth, communication cost, packet latency, network load, maximum transfer unit (MTU), path It may consist of factors such as cost and reliability. The routing metric value changes according to the factors constituting the routing metric and the routing metric calculation method, and accordingly, the path of the packet may be set differently.
종래에는 노드들이 패킷의 경로를 설정함에 있어서, 라우팅 프로토콜에 어플리케이션(Application)의 특성을 반영하지 않았다. 즉 기존에는 어플리케이션의 특성에 따라 적합한 경로가 다를 수 있다는 가능성을 라우팅시 배제시킨 채, 네트워크 상황만을 고려하여 패킷의 경로를 설정하였다. Conventionally, nodes do not reflect the characteristics of an application in routing protocols when routing a packet. In other words, the routing of packets has been set in consideration of the network situation while excluding the possibility that the proper path may be different according to the characteristics of the application.
예를 들어, 무선 메쉬 네트워크(Wireless mesh network)에서 최소 홉(hop)수를 가지도록 경로를 설정하는 라우팅 프로토콜과 최대 대역폭(bandwidth)을 가지는 링크(link)를 거치도록 경로를 설정하는 라우팅 프로토콜을 적용하여 라우팅하는 경우를 가정해보자. For example, in a wireless mesh network, a routing protocol that sets a path to have a minimum number of hops and a routing protocol that sets a path through a link having a maximum bandwidth are used. Let's assume that you apply and route.
한 홉을 경유하는 동안에는 패킷을 전송하는 시간 이외에도 MAC에서의 제어 메시지 전송 시간(MAC 오버헤드 시간)이 더 소요된다. 패킷의 크기에 따라 상기 제어 메시지 전송 시간이 차지하는 비중이 다를 수 있다. 큰 크기의 패킷을 전송하는 경우에는 MAC 오버헤드 시간이 큰 비중을 차지하지 않지만, 작은 크기의 패킷을 전송하는 데에는 상기 MAC 오버헤드 시간이 큰 비중을 차지한다. In addition to sending packets, the control message transmission time (MAC overhead time) in the MAC is further increased while passing through one hop. The weight of the control message transmission time may vary depending on the size of the packet. In the case of transmitting a large packet, the MAC overhead time does not take a large portion, but in the case of transmitting a small packet, the MAC overhead time takes a large portion.
따라서 패킷의 크기가 큰 경우에는 홉 수가 증가하여 MAC 오버헤드 시간이 늘어나더라도 그 비중은 상대적으로 적을 것이므로, 빠른 전송률에 따라 패킷을 전송하는 것이 유리하다. Therefore, if the packet size is large, even if the number of hops increases and the MAC overhead time increases, the weight of the packet will be relatively small. Therefore, it is advantageous to transmit the packet at a high data rate.
반면, 작은 크기의 패킷은 홉 수가 증가하여 MAC 오버헤드 시간이 늘어나면 패킷의 전송 시간보다 MAC 오버헤드 시간의 비중이 더 커질 수도 있다. 따라서 패킷의 크기가 적은 경우에는 전송률이 낮은 링크를 거치더라도 최소 홉 수를 가지는 경로를 택하는 것이 더 낫다. On the other hand, a small packet may have a larger portion of the MAC overhead time than the transmission time of the packet when the hop number increases and the MAC overhead time increases. Therefore, if the packet size is small, it is better to take the path with the minimum number of hops even over a low-rate link.
결국 텔넷(Telnet)과 같이 작은 크기의 패킷을 발생시키는 어플리케이션에는 최소 홉 수를 거치는 경로를 설정하는 라우팅 프로토콜이 적합하며, FTP(File Transfer Protocol) 서비스와 같이 큰 크기의 패킷을 발생시키는 어플리케이션에는 최대 대역폭을 가지는 링크를 거치도록 경로를 설정하는 라우팅 프로토콜이 적합하 다.As a result, routing protocols that set the path through a minimum number of hops are suitable for applications that generate small packets, such as Telnet, and maximum for applications that generate large packets, such as File Transfer Protocol (FTP) services. Routing protocols that route through a link with bandwidth are appropriate.
그럼에도 불구하고 기존에는 어플리케이션의 특성을 라우팅 프로토콜에 반영하지 않았으며, 따라서 어플리케이션별로 적합한 경로를 설정하는 것이 불가능했었다. Nevertheless, in the past, the characteristics of the application were not reflected in the routing protocol, and thus it was impossible to set an appropriate path for each application.
Baruch Awerbuch, David Holmder and Herbert Rubens 가 공동으로 제안한 "High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks" (2004)에서는 링크의 rate에 따른 가중치(weight)를 라우팅 프로토콜에 반영한다. 즉 이에 따르면 링크의 rate에 따른 가중치를 주어 이를 라우팅 메트릭으로 사용하나, 이 값을 구하기 위해서 패킷 크기를 1500byte로 가정한다. "High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks" (2004), jointly proposed by Baruch Awerbuch, David Holmder and Herbert Rubens, reflects the weight of the link in the routing protocol. That is, according to this, weights according to link rate are used as routing metric, but packet size is assumed to be 1500byte to obtain this value.
따라서 상기 연구에서는 어플리케이션에 따라서는 평균 패킷 크기가 가정한 1500byte보다 훨씬 작을 수 있다는 점을 간과한 오류가 있다. 예를 들어 텔넷과 같은 어플리케이션에 따라 생성되는 패킷의 크기는 훨씬 작다. Therefore, there is an error in the above study that the average packet size may be much smaller than the assumed 1500 bytes depending on the application. For example, the size of packets generated by applications such as telnet is much smaller.
따라서 본 발명의 목적은 네트워크에서 지원하는 어플리케이션들이 항상 최적의 성능을 가질 수 있도록 어플리케이션의 특성을 반영하여 적합한 경로를 설정하기 위하여, 어플리케이션 정보에 따라 라우팅 메트릭 계산 방식을 변경하고, 이에 따라 경로를 설정하는 라우팅 프로토콜을 제안하는데 있다. Accordingly, an object of the present invention is to set an appropriate path by reflecting the characteristics of an application so that applications supported by a network can always have optimal performance. Based on the information, change how routing metrics are calculated. Accordingly, the present invention proposes a routing protocol for establishing a route.
본 발명의 다른 목적은 어플리케이션에 적합한 경로를 생성하여 전송 지연 시간이나 처리율(throughput)을 향상시켜, 궁극적으로 각 연결(connection)의 서비 스 품질(Quality of Service: QoS)에 따라 적절한 라우팅 프로토콜을 사용할 수 있게 하고, 인터넷 전화(VoIP: Voice over Internet Protocol)와 같은 새로운 서비스를 추가할 때 이에 맞는 라우팅 프로토콜을 쉽게 추가할 수 있게 하는 방법을 제공하는데 있다.Another object of the present invention is to create a path suitable for the application to improve transmission latency or throughput, ultimately using an appropriate routing protocol depending on the quality of service (QoS) of each connection. It provides a way to make it easy to add routing protocols when adding new services such as Voice over Internet Protocol (VoIP).
상기한 목적을 달성하기 위한 본 발명의 일 측면에 따른 어플리케이션에 따른 패킷 라우팅 방법에 따르면, 노드가 수신되는 패킷의 헤더를 검사하여, 상기 패킷을 이용하는 어플리케이션의 정보를 파악하고, 이에 따라 디폴트 패킷 크기를 선택하는 단계와 노드가 상기 디폴트 패킷 크기를 반영하여 라우팅 메트릭을 계산하고, 이를 참조하여 패킷의 경로를 설정하는 단계를 포함한다. According to a packet routing method according to an application according to an aspect of the present invention for achieving the above object, the node examines the header of the received packet to determine the information of the application using the packet, accordingly the default packet size And calculating a routing metric by reflecting the default packet size and setting a path of the packet with reference to the node.
상기한 어플리케이션에 따른 패킷 라우팅 방법에 있어서, 상기 어플리케이션 정보는, 노드가 수신한 경로 요청 메시지의 헤더 필드 중 목적지 포트 넘버 필드로부터 파악하는 것을 특징으로 한다.In the packet routing method according to the application, the application information is characterized in that the destination port number field of the header field of the path request message received by the node.
상기한 어플리케이션에 따른 패킷 라우팅 방법에 있어서, 상기 디폴트 패킷 크기를 선택하는 단계는, 어플리케이션별로 대응하는 패킷 크기를 나열한 패킷 선택 테이블을 참조하여 선택하는 것을 특징으로 한다. In the packet routing method according to the application, the step of selecting the default packet size may be selected by referring to a packet selection table that lists corresponding packet sizes for each application.
상기한 어플리케이션에 따른 패킷 라우팅 방법에 있어서, 상기 라우팅 메트릭은, 하나의 경로를 구성하는 링크들이 다수 개 존재할 때, 디폴트 패킷 크기를 링크의 대역폭으로 나누어 하나의 링크에서 패킷을 전송하는데 소요되는 시간을 구 한 후, 각 링크에서 소요되는 시간들을 합하여 계산하는 것을 특징으로 한다. In the packet routing method according to the application, the routing metric, when there are a plurality of links constituting one path, divides the default packet size by the link bandwidth to determine the time required to transmit a packet on one link. After the calculation, the sum of the time required for each link is calculated.
상기한 어플리케이션에 따른 패킷 라우팅 방법은, 현재 트래픽을 측정하여 얻은 평균 패킷 크기와 상기 선택된 디폴트 패킷 크기와의 차이가 기준값을 초과하는 경우, 상기 측정한 평균 패킷 크기를 반영하여 라우팅 메트릭을 다시 계산하고, 이를 참조하여 경로를 재설정하는 단계를 더 포함한다. In the packet routing method according to the application, if a difference between the average packet size obtained by measuring current traffic and the selected default packet size exceeds a reference value, the routing metric is recalculated to reflect the measured average packet size. And resetting the path with reference to the same.
상기한 어플리케이션에 따른 패킷 라우팅 방법에 있어서, 노드가 클라이언트로부터 패킷들에 대한 전송 요청을 받았을 때, 디폴트 패킷 크기를 선택하는 것을 특징으로 한다. In the packet routing method according to the above application, when a node receives a request for transmission of packets from a client, a default packet size is selected.
한편, 상기한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 어플리케이션에 따라 패킷을 라우팅하는 노드는, 패킷의 헤더를 검사하여 어플리케이션 정보를 추출하고, 이를 라우팅 프로세서로 전송하는 어플리케이션 정보 추출부와 어플리케이션별로 대응하는 패킷 크기를 나열한 패킷 선택 테이블 및 상기 패킷 선택 테이블을 검색하여 어플리케이션 정보에 대응하는 패킷 크기를 선택하고, 탑재된 라우팅 프로토콜을 구동시켜 패킷을 전송할 경로를 설정하는 라우팅 프로세서를 포함한다. On the other hand, a node for routing a packet according to an application according to another aspect of the present invention for achieving the above object, the application information extraction unit and the application for extracting the application information by examining the header of the packet, and transmits it to the routing processor And a routing processor configured to search for the packet selection table listing the corresponding packet sizes for each packet, select a packet size corresponding to the application information, and set a path for transmitting a packet by driving a loaded routing protocol.
상기한 어플리케이션에 따라 패킷을 라우팅하는 노드는, 경로 요청 메시지가 수신되는 경우, 수신한 패킷을 어플리케이션 정보 추출부에 전송하는 중앙 처리부를 더 포함한다. The node for routing the packet according to the application further includes a central processing unit for transmitting the received packet to the application information extracting unit when the path request message is received.
상기한 어플리케이션에 따라 패킷을 라우팅하는 노드는, 라우팅 프로세서가 수집한 패킷의 경로에 대한 정보를 구축하여, 라우팅시 이에 대한 정보를 제공하는 라우팅 테이블을 더 포함한다. The node for routing a packet according to the above application further includes a routing table for constructing information on the path of the packet collected by the routing processor and providing the information on the routing.
상기한 어플리케이션에 따라 패킷을 라우팅하는 노드에 있어서, 상기 라우팅 프로세서는, 하나의 경로를 구성하는 링크들이 다수 개 존재하는 경우, 패킷 크기를 링크의 대역폭으로 나누어 하나의 링크에서 패킷을 전송하는데 소요되는 시간을 계산하고, 각 링크에서 소요되는 시간들을 합하여 라우팅 메트릭을 계산한 후 이를 참조하여 라우팅하는 것을 특징으로 한다. In a node for routing a packet according to the above application, the routing processor is required to transmit a packet on one link by dividing the packet size by the link bandwidth when there are a plurality of links constituting one path. It calculates a time, calculates a routing metric by summing the time spent on each link, and then routes with reference to it.
한편, 상기한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 네트워크에 따르면, 경로 요청 메시지를 노드로 전송하는 클라이언트와 클라이언트로부터 수신한 경로 요청 메시지로부터 어플리케이션 정보를 파악하여 이에 대응하는 패킷 크기를 선택하고, 선택한 패킷 크기를 반영하여 라우팅 메트릭을 계산한 후 상기 라우팅 메트릭을 참조하여 패킷을 전송할 경로를 설정하는 다수개의 노드를 포함한다. On the other hand, according to the network according to another aspect of the present invention for achieving the above object, by identifying the application information from the client for transmitting the route request message to the node and the route request message received from the client to determine the corresponding packet size And a plurality of nodes configured to calculate a routing metric reflecting the selected packet size and to set a path for transmitting a packet with reference to the routing metric.
이하 본 발명에 따른 적응형 패킷 크기 기반 라우팅 방법 및 라우팅 장치를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, an adaptive packet size based routing method and a routing device according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 무선 메쉬 네트워크의 구성을 도시한 도면이다. 1 is a diagram illustrating a configuration of a wireless mesh network.
무선 메쉬 네트워크는 메쉬 노드(Mesh Node)와 메쉬 클라이언트(Mesh Client)를 포함한다. 상기 무선 메쉬 네트워크에 있어서 메쉬 노드들간에는 무선으 로 연결되며, 메쉬 클라이언트는 하나의 메쉬 노드에 연결된다. 또한 메쉬 클라이언트 x(100)는 메쉬 노드(a)를 통하여 인터넷에 접속할 수 있다. The wireless mesh network includes a mesh node and a mesh client. In the wireless mesh network, mesh nodes are wirelessly connected, and a mesh client is connected to one mesh node. In addition, the
메쉬 클라이언트로부터 처음으로 경로 설정을 요청 받은 메쉬 노드를 originator 노드라 명명한다. 상기 도 1에서는 메쉬 클라이언트 x(100)와 메쉬 클라이언트 y(200)로부터 각각 처음으로 경로 설정을 요청 받은 메쉬 노드 (f)와 메쉬 노드 (h)가 originator 노드가 된다. The mesh node that is requested to set the path from the mesh client for the first time is called the originator node. In FIG. 1, a mesh node (f) and a mesh node (h), which are first requested to set paths from the mesh client x (100) and the mesh client y (200), respectively, become originator nodes.
상기 도 1을 참조할 때, 메쉬 클라이언트 x(100)에서 메쉬 클라이언트 y(200)로 연결을 시도하는 경우, 설정할 수 있는 패킷의 경로가 다양하다는 것을 알 수 있다. 예를 들어, 메쉬 클라이언트 x(100)로부터 노드 (f)-(g)-(h)로 구성된 경로를 거쳐 메쉬 클라이언트 y(200)로 연결하거나 또는 메쉬 클라이언트 x(100)로부터 노드 (f)-(d)-(g)-(e)-(h)로 구성된 경로를 거쳐 메쉬 클라이언트 y(200)로 연결할 수 있다. 이러한 경로 설정에 참여하는 노드들은 라우팅 메트릭을 어떻게 계산하느냐에 따라 달라질 수 있다. Referring to FIG. 1, when the mesh client x 100 attempts to connect to the
어플리케이션별로 적합한 라우팅을 수행하기 위하여, 본 발명에서는 다음과 같은 라우팅 프로토콜을 제시한다. 그러나 이하 제시하는 라우팅 프로토콜은 본 발명에서 고안한 라우팅 메트릭 계산 방식을 적용하기 위하여 고안한 것이며, 본 발명에 의한 라우팅 방법이 이하 제시하는 라우팅 프로토콜에 한정하는 것은 아니다. 다음 표는 기존의 라우팅 프로토콜과 본 발명에서 제시하는 라우팅 프로토콜을 비교한 것이다.In order to perform appropriate routing for each application, the present invention proposes the following routing protocol. However, the following routing protocol is designed to apply the routing metric calculation scheme devised in the present invention, and the routing method according to the present invention is not limited to the routing protocol presented below. The following table compares the existing routing protocols with those of the present invention.
[표 1] TABLE 1
본 발명에서 제시하는 라우팅 프로토콜은 IEEE 802.11s의 radio-metric AODV(Ad hoc On demand Distance Vector)에 근거한다. The routing protocol proposed by the present invention is based on the radio-metric AODV (Ad hoc On demand Distance Vector) of IEEE 802.11s.
AODV는 홉 수를 기초로 라우팅 메트릭을 계산한다. 따라서 AODV에 근거하는 라우팅 메트릭을 참조하는 라우팅 프로토콜은 작은 홉수를 가지도록 패킷의 경로를 설정한다. 따라서 도 1에서 메쉬 클라이언트 x(100)로부터 메쉬 클라이언트 y(200)로 연결을 시도하는 경우, 메쉬 노드 (f)-(g)-(h)를 거치는 경로가 설정된다. AODV calculates the routing metric based on the hop count. Thus, routing protocols that reference routing metrics based on AODV route packets to have a small number of hops. Therefore, when attempting to connect to the mesh client y (200) from the mesh client x (100) in Figure 1, a path through the mesh nodes (f)-(g)-(h) is set.
반면 Radio-metric AODV는 더 나은 링크(link) 성능을 가지도록 경로를 설정한다. 따라서 홉 수에 상관없이 더 나은 대역폭 성능을 가지는 경로를 선택하며, 이 경우 AODV와는 라우팅 메트릭이 바뀌게 된다. Radio-metric AODV, on the other hand, sets the path for better link performance. Therefore, a route with better bandwidth performance is chosen regardless of hop count, in which case the routing metric changes with AODV.
예를 들어, 도 1에서 노드(f)와 노드(g)간 링크 또는 노드(g)와 노드(h)로 구성되는 링크 각각의 대역폭은 2Mbps이고, 노드(f)와 노드(d)간 링크, 노드(d)와 노드(g)간 링크, 노드(g)와 노드(e)간 링크, 노드(e)와 노드(h)로 구성되는 링크 각각의 대역폭은 11Mbps 이다. 이때, Radio-metric AODV는 노드 (f)-(d)-(g)-(e)- (h)로 된 경로를 선택한다. 이 경우 메쉬 노드 (f)-(g)-(h)로 구성된 경로를 거치는 경우에 비하여 홉 수는 증가되지만, 메쉬 노드 (f)-(d)-(g)-(e)-(h)로 구성된 경로의 대역폭이 더 커서 더 나은 대역폭 성능을 가지기 때문이다. For example, in FIG. 1, the bandwidth of each link between node f and node g or a link composed of node g and node h is 2 Mbps, and the link between node f and node d is The bandwidth of each link consisting of the node d and the node g, the node g and the node e, and the node e and the node h is 11 Mbps. At this time, the radio-metric AODV selects a path consisting of nodes (f)-(d)-(g)-(e)-(h). In this case, the number of hops is increased compared to the case of the path consisting of mesh nodes (f)-(g)-(h), but the mesh nodes (f)-(d)-(g)-(e)-(h) This is because the bandwidth of the path consisting of the larger path has a larger bandwidth performance.
또한 radio-metric AODV와 AODV는 중복되는 라우트 요청 메시지(Route REQuest: RREQ)를 처리하는 방법이 다르다. 라우팅 컨트롤 메시지의 일종인 RREQ 메시지는 노드(혹은 라우터)에 패킷의 경로 설정을 요청하는 메시지이다.In addition, radio-metric AODV and AODV have different ways of handling duplicate route request messages (RREQ). RREQ message, a kind of routing control message, is a message for requesting routing of a packet to a node (or router).
AODV는 같은 originator노드에서 출발한 RREQ 메시지가 중복하여 브로드캐스트되는 경우, 중복되는 RREQ 메시지(즉, 나중에 수신한 RREQ 메시지)는 항상 폐기한다. 그러나 radio-metric AODV는 중복되는 RREQ 메시지를 폐기하지 않는다. RREQ 메시지를 브로드캐스트한 각각의 메쉬 노드들로 구성되는 경로를 비교하여 더 나은 패킷의 경로를 선택하기 위해서이다. AODV always discards duplicate RREQ messages (i.e., RREQ messages received later) if duplicate RREQ messages originating from the same originator node are broadcast. However, radio-metric AODV does not discard duplicate RREQ messages. This is to select a better packet path by comparing the path composed of the individual mesh nodes that broadcast the RREQ message.
후술하겠지만, 본원 발명에서 제시하는 라우팅 프로토콜은 어플리케이션 또는 패킷 사이즈에 따라 패킷의 경로를 설정하므로, RREQ 메시지를 브로드캐스트한 각각의 메쉬 노드들로 구성되는 경로를 비교한다. 이를 위해서는 중복되는 RREQ 메시지를 폐기하지 않아야 하며, 따라서 기본적으로 AODV가 아닌 radio-metric AODV 에 근거하게 된다. 그러나 radio-metric AODV 와는 근본적으로 패킷의 경로 설정 방법이 다르다. 본원 발명에서 제시하는 라우팅 프로토콜은 다음에 제시하는 식에 의하여 계산된 라우팅 메트릭을 참조한다. As will be described later, since the routing protocol proposed in the present invention sets the path of a packet according to an application or a packet size, a path composed of respective mesh nodes that broadcast an RREQ message is compared. To do this, duplicate RREQ messages should not be discarded, so they are basically based on radio-metric AODV and not AODV. However, the method of routing packets is fundamentally different from that of radio-metric AODV. The routing protocol proposed in the present invention refers to the routing metric calculated by the following equation.
다음에 제시하는 수식 (1)은 가장 기본적인 형태의 라우팅 메트릭 계산식이 다. Equation (1) shown below is the most basic form of routing metric calculation.
……(1) … … (One)
수식 (1)에서 P는 전송할 패킷 사이즈, B는 링크의 대역폭, O는 MAC overhead(오버헤드)를 포함하여 전송에 포함되는 오버헤드 시간을 나타낸다. In Equation (1), P denotes a packet size to be transmitted, B denotes a bandwidth of a link, and O denotes an overhead time included in the transmission, including MAC overhead.
Li는 하나의 링크의 라우팅 메트릭이다. 상기 Li는 하나의 링크에서 패킷을 전송하는데 소요되는 시간을 의미한다. 따라서 라우팅 메트릭(M)값은 하나의 경로를 구성하는 링크들의 집합을 R이라 하였을 경우, Li의 합으로 표현된다. L i is the routing metric of one link. L i means a time required to transmit a packet on one link. Therefore, the routing metric (M) value is expressed as the sum of L i when a set of links constituting one path is R.
만일 하나의 목적지 노드에 대해서 여러 경로가 설정될 수 있다면, 라우팅 프로세서는 수식 (1)에 의하여 계산한 M값이 가장 작은 경로를 선택한다. If several paths can be set for one destination node, the routing processor selects the path with the smallest M value calculated by Equation (1).
다만, 라우팅 프로세서에서 정한 임계치(이를 라우팅 메트릭 threshold 값(MT)이라 한다.)이상의 차이가 있는 경우에만 설정되는 패킷의 경로에 따른 실질적인 차이가 있는 것으로 간주한다. 왜냐하면 라우팅 메트릭 threshold 값(MT) 미만의 차이를 보이는 경우에는, 어떤 경로에 의하더라도 패킷의 전송에 걸리는 시간 차이가 미미하기 때문이다. 따라서 본원 발명에서는 라우팅 메트릭 threshold 값(MT)을 설정하여, 아주 작은 이점을 위해 이미 선정된 경로 대신 새로운 경로를 선택하는 경우를 배제시킨다. 상기한 라우팅 메트릭 threshold 값(MT)은 실험에 의 하여 얻은 것이며, 그 값은 0.001이다.However, it is considered that there is a substantial difference depending on the path of the packet that is set only when there is a difference that is greater than a threshold determined by the routing processor (this is called a routing metric threshold value (M T )). This is because, if the difference is less than the routing metric threshold value (M T ), the time difference for packet transmission is small by any path. Therefore, in the present invention, the routing metric threshold value (M T ) is set to exclude the case of selecting a new route instead of a predetermined route for a very small advantage. The routing metric threshold value (M T ) is obtained by experiment, and the value is 0.001.
상기 제시한 기본적인 형태의 라우팅 매트릭 계산식 수식 (1)을 기초로 다른 형태의 라우팅 매트릭 계산식을 생성할 수 있다. 이 경우 생성되는 라우팅 메트릭 계산식은 고려하는 인자를 추가하는 형태로 구성된다. 예를 들어 데이터 손실을 방지할 수 있는 경로로 라우팅하기 위하여 지터(Jitter)라는 인자를 고려하는 경우, 상기 식에서 하나의 링크의 라우팅 메트릭(Li)은 다음에 기재하는 수식 (2)와 같이 변형된다.(단, 이 경우에도 라우팅 메트릭(M) 계산식은 변화하지 않는다.)Another type of routing metric calculation can be generated based on the above-mentioned routing metric calculation formula (1). In this case, the generated routing metric formula is composed of adding factors to consider. For example, when considering a factor called jitter to route on a path that can prevent data loss, the routing metric L i of one link in the above equation is modified as shown in Equation (2) below. (In this case, however, the routing metric (M) calculation does not change.)
……(2) … … (2)
만일 지터라는 인자 대신 패킷 간격을 고려하여 라우팅을 하는 경우라면 Li 는 다음과 같이 주어지게 된다. If routing is performed considering the packet interval instead of the jitter factor, L i is given by
……(3) … … (3)
이제 상기 수식 (1)을 이용하여 패킷 크기에 따라 경로를 선택하는 과정에 대하여 자세히 살펴보도록 하겠다. Now, the process of selecting a path according to packet size using Equation (1) will be described in detail.
도 1에서 메쉬 클라이언트 x(100)로부터 메쉬 클라이언트 y(200)로 패킷을 전송하는 경우, 메쉬 노드(f)-(g)로 구성되는 경로를 거치는 경우와 메쉬 노드 (f)-(d)-(g)로 구성되는 경로를 거치는 경우가 있을 수 있다. 이 경우 링크(f)-(g)의 대역폭은 2Mbps이고, 링크(f)-(d), (d)-(g)의 대역폭은 11Mbps이다. In FIG. 1, when the packet is transmitted from the mesh client x (100) to the mesh client y (200), the packet node passes through a path composed of mesh nodes f)-(g) and mesh nodes f (f)-(d)-. There may be a case where a route consisting of (g) is used. In this case, the bandwidths of the links (f)-(g) are 2 Mbps, and the bandwidths of the links (f)-(d) and (d)-(g) are 11 Mbps.
계산의 간편함을 위하여 수식 (1)에서 0(overhead)는 없는 것으로 가정한다. 이 때 노드 (f)가 RREQ 메시지를 브로드캐스트 하여 이를 노드 (d)와 (g)가 수신하고 난 후, 노드 (d)가 다시 RREQ 메시지를 다시 브로드캐스트 하여 이를 노드 (g)가 수신한 경우라고 가정해보자. For simplicity, it is assumed that there is no overhead in Equation (1). In this case, after node (f) broadcasts an RREQ message and it is received by nodes (d) and (g), node (d) again broadcasts an RREQ message and node (g) receives it. Let's say
노드 (g)의 라우팅 프로세서는 먼저 도착한 RREQ 메시지를 통해 생성한 경로와 나중에 도착한 RREQ 메시지를 통해 생성한 경로 중 하나를 선택해야 한다. The routing processor at node (g) must choose between the route generated via the RREQ message that arrived first and the route generated by the RREQ message that arrived later.
패킷 사이즈가 60 bytes인 경우, 링크(f)-(g)의 라우팅 메트릭(M)을 계산하면, 480bitsㆇ 2Mbps = 0.000240(s)가 된다. 링크(f)-(d)-(g)의 라우팅 메트릭(M)은 480bitsㆇ 11Mbps + 480bitsㆇ 11Mbps = 0.000087(s)가 된다. 상기 값들의 차이는 0.000153(s)이다. 이는 본원 발명에서 설정한 라우팅 메트릭 threshold 값(MT) 0.001 보다 적으므로, 이 경우 패킷의 경로는 변경되지 않는다. 노드(g)는 먼저 도착한 RREQ 메시지를 전송한 노드(f)로 RREQ 메시지에 대한 응답 메시지를 보내고, 이에 따라 패킷은 기존의 경로대로 노드(f)-(g)로 구성되는 경로를 거쳐 전송된다. When the packet size is 60 bytes, when the routing metric M of the links f-g is calculated, 480bits ㆇ 2Mbps = 0.000240 (s). The routing metric (M) of links (f)-(d)-(g) is 480bits 11Mbps + 480bits 11Mbps = 0.000087 (s). The difference between these values is 0.000153 (s). Since this is less than the routing metric threshold value (M T ) 0.001 set in the present invention, the path of the packet is not changed in this case. Node (g) sends a response message for RREQ message to node (f) which sent the first RREQ message, so that the packet is transmitted through the path consisting of nodes (f)-(g) along the existing path. .
만일 패킷 사이즈가 1400 bytes 인 경우라면, 링크(f)-(g)의 라우팅 메트릭(M)값이 11200bitsㆇ 2Mbps = 0.005600 (s)가 되고, 링크(f)-(d)-(g)의 라우팅 메트릭(M)값이 11200bitsㆇ 11Mbps + 11200 bitsㆇ 11Mbps= 0.002036(s)가 된다. 상기 값들의 차이는 0.003564(s)이다. 따라서 이 경우 라우팅 메트릭 threshold 값(MT) 0.001 보다 크므로, 라우팅 프로세서는 패킷의 경로를 변경한다. 노드(g)는 나중에 도착한 RREQ 메시지를 전송한 노드(d)로 RREQ 메시지에 대한 응답 메시지를 보내고, 이에 따라 패킷의 경로는 노드 (f)-(d)-(g)를 거치는 것으로 변경된다. If the packet size is 1400 bytes, the routing metric (M) of the link (f)-(g) becomes 11200bits ㆇ 2Mbps = 0.005600 (s), and the link (f)-(d)-(g) The routing metric (M) is 11200 bits s 11 Mbps + 11200 bits s 11 Mbps = 0.002036 (s). The difference between these values is 0.003564 (s). Therefore, in this case, the routing metric threshold value (M T ) is greater than 0.001, so the routing processor changes the path of the packet. Node g sends a response message to the RREQ message to node d, which sent the later RREQ message, so that the path of the packet is changed to pass through nodes (f)-(d)-(g).
결국, 패킷 크기가 60 byte인 경우에는 먼저 설정한 경로에 비하여 새로운 경로의 이점이 미미하므로 먼저 설정한 경로인 노드 (f)-(g)-(h)로 구성된 경로를 그대로 사용한다. 패킷 크기가 1400 byte인 경우는 새로운 경로의 이점이 더 클 것이므로 새로운 경로인 노드 (f)-(d)-(g)-(e)-(h)로 구성된 경로를 선택한다. As a result, when the packet size is 60 bytes, the advantage of the new path is insignificant compared to the previously set path. Therefore, the path composed of nodes (f)-(g)-(h), which is the previously set path, is used as it is. If the packet size is 1400 bytes, the advantage of the new path will be greater, so choose a path consisting of nodes (f)-(d)-(g)-(e)-(h).
상기와 같이 패킷 크기에 따른 라우팅을 수행하는 경우, 패킷 크기가 작은 트래픽 특성을 가지는 어플리케이션의 경우에는 다소 전송 속도가 늦은 링크를 사용한다 할지라도 최소 홉을 가지는 경로를 선택하게 되며, 패킷 크기가 큰 트래픽 특성을 가지는 어플리케이션의 경우에는 홉수는 더 많지만 가장 빠른 전송률(transmission rate)을 가지는 링크들, 즉 대역폭이 최대인 링크들로 구성된 경로를 선택하게 된다. 따라서 본원 발명에서 제시하는 라우팅 프로토콜을 사용하는 경우, 패킷 크기(P)가 작을 때는 AODV와 유사하게 동작하게 되고, 패킷 크기가 클 때에는 이와는 다르게 대역폭만을 고려하는 라우팅 프로토콜과 유사하게 동작하게 된다.When routing according to the packet size is performed as described above, in the case of an application having a traffic characteristic having a small packet size, a path having the least hop is selected even though a link having a slightly slower transmission rate is used. In the case of an application having a traffic characteristic, a path having a higher number of hops but having the fastest transmission rate, that is, a link having the maximum bandwidth is selected. Therefore, when using the routing protocol proposed in the present invention, when the packet size (P) is small and operates similar to AODV, when the packet size is large, it operates similarly to the routing protocol that considers only the bandwidth differently.
도 2는 본 발명에 따른 라우팅 프로토콜을 탑재한 노드의 구성을 도시한 도면이다. 2 is a diagram illustrating a configuration of a node equipped with a routing protocol according to the present invention.
상기 노드는 중앙 처리부(210), 라우팅 프로세서(220), 어플리케이션 정보 추출부(230), 패킷 선택 테이블(240) 및 라우팅 테이블(250)을 포함하여 구성된다.The node includes a
중앙 처리부(210)는 라우트 요청 메시지가 수신되는 경우, 수신한 패킷을 어플리케이션 정보 추출부(230)에 전송한다.When the route request message is received, the
어플리케이션 정보 추출부(230)는 상기 패킷의 내부를 검사하여 어플리케이션 정보를 추출한다. 즉 수신된 라우트 요청 메시지인 TCP/IP 패킷 헤더로부터 어플리케이션 종류 정보를 추출한다. 이 경우 어플리케이션 정보 추출부(230)는 추출한 어플리케이션 정보를 라우팅 프로세서(220)로 전송한다. The application
라우팅 프로세서(220)는 라우팅 프로토콜을 탑재하고 있으며, 탑재된 라우팅 프로토콜을 구동시켜 패킷을 전송할 경로를 선택한다. 이 경우 라우팅 프로세서(220)에 탑재되는 라우팅 프로토콜은 앞서 제시한 라우팅 프로토콜과 같은 형태로 주어진다. The
또한 라우팅 프로세서(220)는 패킷 선택 테이블(240)을 검색하여 수신한 어플리케이션 정보에 대응하는 패킷 크기를 선택하고, 이를 라우팅 프로토콜에 반영하여 패킷의 경로를 설정한다. 이 경우 해당 경로 정보에 대한 라우팅 엔트리를 생성하여 라우팅 테이블(250)을 업데이트한다. 라우팅 테이블(250)을 업데이트 한 라우팅 프로세서(220)는 이웃 노드들에게 라우트 요청 메시지를 브로드캐스트한다. In addition, the
패킷 선택 테이블(240)은 목적지 포트 넘버(Destination port number)에 따른 평균 패킷 크기를 열거한다. The packet selection table 240 lists the average packet size according to the destination port number.
라우팅 테이블(250)은 패킷의 경로에 대한 정보를 담고 있다. 라우팅 테이블(250)을 구성하는 인자들은 목적지, 평균 패킷 사이즈, 시퀀스 넘버, 라우팅 매트릭 등이 될 수 있다. 라우팅 테이블(250)은 라우팅 프로세서(220)가 수집한 상기 와 같은 인자들로 이루어진 엔트리와 이에 해당하는 어플리케이션 정보를 명시하여 구축될 수 있다. The routing table 250 contains information about the path of the packet. Factors constituting the routing table 250 may be a destination, an average packet size, a sequence number, a routing metric, and the like. The routing table 250 may be constructed by specifying an entry consisting of the above factors collected by the
도 3은 본 발명에 따른 패킷 경로 라우팅 과정을 개략적으로 도시한 도면이다. 3 is a diagram schematically illustrating a packet path routing process according to the present invention.
라우팅에 앞서 라우팅 프로세서(220)는 라우팅 프로토콜이 참조하는 라우팅 메트릭의 디폴트 파라미터를 설정한다(S301). 이 경우 어플리케이션에 따라 적용되는 디폴트 파라미터가 다르게 설정된다. 상기 어플리케이션이란 Telnet이나 FTP등 서비스의 종류를 나타내며, 상기 디폴트 파라미터는 라우팅시 고려하고자 하는 인자로서, 패킷의 크기, 대역폭 등이 될 수 있다. Prior to routing, the
패킷이 도착하는 경우, 어플리케이션 정보 추출부(230)는 패킷을 검사하여 패킷의 어플리케이션 정보를 획득한다(S302). 획득한 어플리케이션 정보는 라우팅 프로세서(220)로 전송한다. When the packet arrives, the application
라우팅 프로세서(220)는 어플리케이션 정보를 적용하여 라우팅 메트릭을 계산하고(S303), 상기 라우팅 메트릭을 참조하여 패킷의 경로를 설정한다(S304). The
패킷이 전송되는 도중 트래픽의 특성(traffic characteristic)에 따라 패킷 크기가 바뀔 수 있다. 따라서 라우팅 프로세서(220)는 설정된 경로에 따라 패킷을 전송하는 도중, 주기적으로 패킷 크기에 대한 평균값을 측정한다(S305). While the packet is being transmitted, the packet size may be changed according to the traffic characteristic. Therefore, the
이 경우 라우팅 프로세서(220)는 상기 측정된 평균 패킷 크기값과 디폴트 값과의 차이가 기준값 이상인지 판단한다(S306). 만일 기준값 이하의 차이를 보이는 경우라면 패킷의 경로를 재설정하는 절차를 거치지 않고 과정을 종료한다. In this case, the
그러나 기준값 이상 차이가 나는 경우라고 판단되면, 라우팅 프로세서(220)는 새롭게 측정한 값을 기준으로 라우팅 메트릭을 다시 계산한다(S307). 이후 라우팅 프로세서(220)는 다시 계산된 라우팅 메트릭을 참조하여 패킷의 경로를 재설정한다(S308). 이로써 본 발명에 의한 라우팅 과정이 종료된다. However, if it is determined that the difference is more than the reference value, the
도 4는 TCP/IP 패킷의 구성을 도시한 도면이다.4 is a diagram illustrating a configuration of a TCP / IP packet.
노드(200)의 어플리케이션 정보 추출부(230)는 IP 헤더에 위치하는 프로토콜 필드와 TCP(또는 UDP) 헤더에 위치하는 목적지 포트 넘버(Destination port number)필드로부터 가입자가 사용하고자 하는 서비스, 즉 어플리케이션 정보가 무엇인지 알 수 있다. The application
일반적으로 IP 헤더의 프로토콜 정보 필드는 TCP 또는 UDP중 어떠한 프로토콜을 사용하는지에 대한 정보를 담고 있으며, 이에 따라 패킷은 TCP 헤더 또는 UDP 헤더를 포함하게 된다. In general, the protocol information field of the IP header contains information on which protocol is used, either TCP or UDP. Accordingly, the packet includes a TCP header or a UDP header.
즉, 메쉬 클라이언트가 TCP 또는 UDP를 통해 메쉬 노드에 접속하여 경로 설정을 요구하는 경우, 어플리케이션 정보 추출부(230)는 IP 헤더의 프로토콜 정보 필드로부터 TCP 또는 UDP 프로토콜을 사용하는 패킷이라는 것을 알 수 있으며, 패킷에 포함되는 TCP 헤더나 UDP 헤더의 목적지 포트 넘버를 검사하여 어플리케이션 정보를 추출할 수 있다. That is, when the mesh client accesses the mesh node through TCP or UDP and requests the path setting, the application
도 5는 무선 랜에서 어플리케이션별로 평균 패킷 크기를 측정한 결과를 도시 한 도면이다. FIG. 5 is a diagram illustrating a result of measuring an average packet size for each application in a WLAN.
상기 도면은 무선 랜 환경에서 어플리케이션별로 평균적으로 가지게 되는 패킷 크기를 측정하여 그 측정값들을 나열한 것이다. 예를 들어 도 5로부터 FTP의 경우 입력되는(Incoming) 패킷의 크기는 대게 1500bytes이고, 출력되는(Outgoing) 패킷의 크기는 대게 580bytes이며, 평균적인 패킷 크기는 580bytes 정도라는 것을 알 수 있다. The figure lists the measured values by measuring the packet size that has an average for each application in a wireless LAN environment. For example, it can be seen from FIG. 5 that the size of an incoming packet is about 1500 bytes, the size of an outgoing packet is about 580 bytes, and the average packet size is about 580 bytes.
상기 측정값들은 무선 랜 환경에서 얻어진 것이므로, 다른 환경에서는 다른 특성의 결과가 나올 수 있다. 따라서 만일 무선 메쉬 네트워크 환경에서 패킷 크기 기반 라우팅을 하는 경우라면, 무선 메쉬 네트워크 환경에서 측정한 평균 패킷 크기를 사용하는 것이 가장 합리적이라 판단된다. Since the measured values are obtained in a wireless LAN environment, different characteristics may result in different environments. Therefore, if packet size based routing is performed in the wireless mesh network environment, it is most reasonable to use the average packet size measured in the wireless mesh network environment.
그러나 일반적으로 평균 패킷 크기를 예측할 수 있는 어플리케이션들이 다수 존재한다. 예를 들어 FTP와 같은 어플리케이션은 대체로 큰 크기의 패킷을 전송하게 되며, 채팅(chatting)과 같은 어플리케이션은 작은 크기의 패킷을 전송한다. In general, however, there are many applications that can predict the average packet size. For example, applications such as FTP generally send large packets, and applications such as chat send small packets.
도 6은 어플리케이션별 패킷 크기 선택 테이블을 도시한 도면이다. 6 is a diagram illustrating a packet size selection table for each application.
상기 패킷 크기 선택 테이블은 도 5에 따른 어플리케이션별 평균 패킷 크기 측정 결과를 반영하여 설정하는 것이 타당하다. 도 6에 도시된 패킷 크기 선택 테이블에는 어플리케이션 종류와 목적지 포트 넘버(Destination port number)에 따라 평균 패킷 크기가 열거되어 있다. The packet size selection table is appropriately set by reflecting the average packet size measurement result for each application according to FIG. 5. The packet size selection table shown in FIG. 6 lists average packet sizes according to application types and destination port numbers.
본원 발명에서는 패킷들에 대한 전송 요구가 있을 때, 즉 전송 초기 시에 패 킷의 크기를 지정한다. 따라서 어플리케이션에 따라 일반적으로 타당하게 받아들여지는 패킷 크기를 디폴트 패킷 크기로 지정하여 사용한다. In the present invention, the size of the packet is specified when there is a transmission request for packets, that is, at the beginning of transmission. Therefore, the default packet size is used as the packet size generally accepted according to the application.
예를 들어 텔넷(Telnet)과 같은 경우에는 대게 디폴트 패킷 크기를 50 byte로, FTP와 같은 경우에는 디폴트 패킷 크기를 1400 byte로 지정한다. For example, in case of Telnet, the default packet size is usually 50 bytes, and in case of FTP, the default packet size is 1400 bytes.
라우팅 프로세서(220)는 어플리케이션 정보와 목적지 포트 넘버를 사용하여 패킷 크기 선택 테이블(240)에서 디폴트 패킷 크기(Pr)를 선택한다. 예를 들어 도 6을 참조하면 텔넷이라는 어플리케이션으로서 목적지 포트 넘버가 23인 경우라면, 디폴트 패킷 크기(Pr)를 60으로 설정한다.The
본원 발명에서는 상기와 같이 패킷 사이즈를 알아내기 위하여 어플리케이션정보와 목적지 포트 넘버를 제시하고 있지만 이는 하나의 예에 불과하다. 따라서 시스템에 따라 다른 형태의 정보로부터 패킷 사이즈에 대한 정보를 얻을 수 있다. 예를 들어 패킷의 헤더가 아닌 패킷의 내용으로부터 패킷 사이즈에 대한 정보를 알아낼 수도 있다. In the present invention, the application information and the destination port number are presented to find the packet size as described above, but this is only one example. Therefore, the information on the packet size can be obtained from other types of information depending on the system. For example, information about the packet size may be obtained from the contents of the packet rather than the header of the packet.
도 7은 본 발명에 따라 설정되는 패킷의 경로에 대한 라우팅 테이블의 구성을 도시한 도면이다. 7 is a diagram illustrating a configuration of a routing table for a path of a packet set according to the present invention.
상기 라우팅 테이블(250)은 패킷의 경로에 대한 정보를 담고 있다. 라우팅 프로세서(220)는 목적지(Destination: Dest), 평균 패킷 사이즈(Average Packet Size: PktSize), 시퀀스 넘버(Sequence number: Seq), 라우팅 매트릭(Routing metric: Metric)등과 같은 정보로 이루어진 엔트리를 수집하고, 해당하는 어플리케이션 정보를 명시하여 라우팅 테이블을 구축한다. The routing table 250 contains information about the path of a packet. The
기존의 라우팅 테이블은 목적지 노드와 다음 홉을 포함하여 구성된 라우팅 테이블 엔트리만을 가지고 있다. 예를 들어 기존의 라우팅 테이블은 Node 9로부터 패킷이 전송될 Next 홉에 대한 정보만을 가지고 있다.Existing routing tables have only routing table entries configured, including destination nodes and next hops. For example, the existing routing table only contains information about the next hop to which packets from Node 9.
그러나 본원 발명에서는 목적지가 동일하더라도 패킷의 크기에 따라 서로 다른 경로를 설정할 수 있으므로, 목적지 노드와 패킷 사이즈 그리고 다음 홉에 대한 정보로 이루어지는 라우팅 테이블 엔트리를 가진다. 이는 패킷 크기가 다양해질수록 그에 따른 라우팅 테이블 엔트리가 늘어난다는 것을 의미하며, 이 경우 라우팅 프로세서는 라우팅시 모든 라우팅 테이블 엔트리를 검색해야 하므로 경로 설정에 많은 시간이 걸릴 수 있다. However, in the present invention, even if the destination is the same, different paths can be set according to the size of the packet, and thus have a routing table entry composed of information on the destination node, the packet size, and the next hop. This means that as the packet size varies, the routing table entries increase accordingly. In this case, the routing processor needs to search all routing table entries during routing, which can take a long time to establish the route.
결국 과도하게 패킷 크기를 다양화시켜 라우팅 테이블을 구성하는 것은 비효율적이므로, 패킷 크기를 적절한 수로 조절하여 라우팅 테이블을 구성하여야 한다.After all, it is inefficient to configure the routing table by excessively varying the packet size. Therefore, the routing table should be configured by adjusting the packet size to an appropriate number.
도 8은 본 발명에 따른 라우팅 프로토콜을 구동시키는 과정을 도시한 도면이다. 8 is a diagram illustrating a process of driving a routing protocol according to the present invention.
어플리케이션 정보 추출부(230)는 패킷의 헤더를 검사하여 어플리케이션 정보와 목적지 포트 넘버(Destination Port Number)를 추출한다(S801). The application
라우팅 프로세서(220)는 패킷 크기 선택 테이블(240)을 참조하여 상기 추출 한 정보에 대응되는 패킷 크기(Pr)를 선택한다(S802). 상기 선택된 패킷 크기(Pr)는 라우팅 메트릭의 디폴트 패킷 크기로 지정된다. The
라우팅 프로세서(220)는 라우팅 테이블(250)에 <어플리케이션 정보, 목적지 포트 넘버, Pr>을 가진 엔트리(entry)가 존재하는지 검색한다(S803). 엔트리가 존재하는 경우에는, 라우팅 테이블(250)의 해당 엔트리에 따른 경로 정보를 사용하여 패킷의 경로를 설정한다(S804). The
그러나 기존의 라우팅 테이블에 해당 <어플리케이션 정보, 목적지 포트 넘버, Pr>의 라우팅 테이블 엔트리가 존재하지 않는 경우, 라우팅 프로세서(220)는 새로운 경로를 설정해야 한다. 라우팅 프로세서(220)는 앞서 주어진 수식 (1)의 파라미터 P에 상기 패킷 크기(Pr)를 대입하여 라우팅 메트릭을 계산한다(S814). However, if there is no routing table entry of the corresponding <application information, destination port number, P r > in the existing routing table, the
라우팅 프로세서(220)는 상기 라우팅 메트릭을 참조하여 패킷의 경로를 설정한다(S815). 이후 라우팅 프로세서(220)는 <어플리케이션 정보, 목적지 포트 넘버, Pr>을 인덱스로 하는 라우팅 테이블 엔트리를 생성하여, 라우팅 테이블(250)을 업데이트한다(S816).The
이후 라우팅 프로세서(220)는 경로를 재설정할 필요가 있는지 판단하기 위하여, RREQ 메시지가 중복하여 수신되었는지 판단한다(S805). RREQ 메시지가 중복하여 수신되지 않았다면 라우팅 프로세서(220)는 라우팅 프로토콜에 의한 패킷 경로 설정 과정을 종료한다. Thereafter, the
그러나 만일 RREQ 메시지가 중복하여 수신된 경우라면, RREQ 메시지를 전송한 노드로 구성되는 각각의 경로의 라우팅 메트릭값을 계산한다(S806). 라우팅 프로세서(220)는 상기 계산된 라우팅 메트릭값들을 비교하여 그 차이가 라우팅 메트릭 Threshold 값보다 큰 지 판단한다(S807). 만일 라우팅 메트릭 Threshold 값인 0.001보다 큰 경우에는, 패킷의 경로를 나중에 RREQ 메시지를 전송한 노드를 포함하는 경로로 재설정한다(S808). 그러나 상기 값의 차이가 0.001보다 작은 경우에는 패킷의 경로를 재설정하지 않고 라우팅 과정을 종료한다. However, if the RREQ message is received in duplicate, the routing metric value of each path consisting of the node transmitting the RREQ message is calculated (S806). The
도 9는 변경되는 트래픽의 특성을 반영하여 기존의 경로를 재설정하는 과정을 도시한 도면이다. 9 is a diagram illustrating a process of reconfiguring an existing path by reflecting a characteristic of changed traffic.
본 발명에서는 originator 노드가 메쉬 클라이언트 노드로부터 경로 설정 요구를 받았을 때, 그 경로를 사용하려는 어플리케이션의 정보에 따라 디폴트 패킷 크기를 선택하고, 디폴트 패킷 크기에 따라 경로를 설정한다. 그러나 전송되는 패킷의 크기는 유동적일 수 있기 때문에, 실제 트래픽이 미리 지정한 패킷 크기와 다른 경우가 있을 수 있다. 따라서 패킷을 전송하는 동안 패킷 크기에 대한 평균값을 측정하여, 이 평균값이 디폴트 값과 크게 차이가 나는 경우 측정한 평균 패킷 크기를 반영하여 라우팅 메트릭을 다시 계산하고, 기존의 경로를 재설정한다. 이러한 프로세서는 다음과 같이 이루어진다. In the present invention, when the originator node receives a route setting request from the mesh client node, the originator node selects a default packet size according to information of an application to use the route, and sets a route according to the default packet size. However, since the size of a transmitted packet may be flexible, there may be a case where actual traffic is different from a predetermined packet size. Thus sending packets By measuring the average value over the packet size, If the average value is significantly different from the default value, the routing metric is recalculated to reflect the measured average packet size, and the existing path is reset. Such a processor consists of:
라우팅 프로세서(220)는 트래픽의 특성이 변화하였다고 판단하는 기준이 되 는 패킷 크기 차이의 임계치값(PT)을 설정한다(S901). The
이후 라우팅 프로세서(220)는 메쉬 클라이언트가 전송하는 패킷들의 패킷 크기 분포를 조사하여 평균 패킷 크기(Pm)를 측정한다(S902). 또한 라우팅 테이블(250)을 검색하여 현재 디폴트 패킷 크기로 사용하고 있는 패킷 크기(Pr)를 조사한다(S903).Thereafter, the
라우팅 프로세서(220)는 평균 패킷 크기(Pm)와 현재 사용하고 있는 패킷 크기(Pr)와의 차이가 패킷 크기 차이의 임계치값(PT) 이상인지 여부를 판단한다(S904). 만일 상기 차이가 패킷 크기 차이의 임계치값(PT) 미만인 경우라면, 경로의 재설정 과정을 종료한다. The
그러나 패킷 크기 차이의 임계치값 이상의 차이가 나는 경우라면, 상기 측정된 평균 패킷 크기(Pm)를 파라미터로 하여 라우팅 메트릭을 계산하고 패킷의 경로를 재설정한다(S905). 즉, 현재 디폴트 패킷 크기로 사용하고 있는 패킷 크기(Pr)값을 새로 측정한 평균 패킷 크기(Pm)값으로 변경하여 라우팅 메트릭을 계산한다. However, if the difference is greater than the threshold value of the packet size difference, the routing metric is calculated using the measured average packet size P m as a parameter and the packet is rerouted (S905). That is, the routing metric is calculated by changing the packet size P r currently used as the default packet size to the newly measured average packet size P m .
패킷의 경로를 재설정한 라우팅 프로세서(220)는 <어플리케이션 정보, 목적지 포트 넘버, Pm>을 인덱스로 하는 라우팅 테이블 엔트리가 기존의 라우팅 테이블(250)에 존재하는지 판단한다(S906). 상기 라우팅 테이블 엔트리가 존재하는 경우에는, 라우팅 테이블(250)을 업데이트할 필요가 없으므로 패킷의 경로 재설정 과 정을 종료한다. After rerouting the packet, the
그러나 <어플리케이션 정보, 목적지 포트 넘버, Pm>을 인덱스로 하는 라우팅 테이블 엔트리가 존재하지 않는 경우에는, 상기 라우팅 테이블 엔트리를 생성하여 라우팅 테이블(250)을 업데이트 한다(S907). 이 경우 패킷의 경로 재설정 과정이 모두 종료한다. However, if there is no routing table entry whose index is <application information, destination port number, P m >, the routing table entry is generated to update the routing table 250 (S907). In this case, all rerouting of the packet ends.
이상과 같은 설명은 패킷 크기에 따라 경로 설정을 하는 예에 대한 것이다. 즉 본 발명은 어플리케이션 정보를 패킷 크기에 매핑(mapping)하고, 이에 따라 경로를 다르게 설정할 수 있는 근원적인 방법을 제안한 것이다. 또한 본원 발명에서는 디폴트 패킷 크기에 국한되지 않고, 패킷 크기에 적응하는(adaptive) 경로를 재설정할 수 있는 방법도 제시하고 있다. 따라서 당업자라면 상기 기재로부터 패킷 크기 뿐 아니라 그 밖의 여러 다른 인자에 따라 경로를 설정할 수 있고 나아가 상기 인자가 변화하는 것에 적응하여 경로를 재설정 할 수 있다는 것이 자명할 것이다. The above description is for an example of setting the path according to the packet size. That is, the present invention proposes a fundamental method of mapping application information to a packet size and thus setting a path differently. In addition, the present invention also provides a method for resetting a path that is adaptive to the packet size, not limited to the default packet size. Therefore, it will be apparent to those skilled in the art from the above description that the path can be set according to packet size as well as various other factors, and further, the path can be reconfigured by adapting to the change of the factor.
또한 본원 발명에서는 무선 메쉬 네트워크를 사용하여 패킷 크기에 따라 라우팅 프로토콜을 적용하는 방법에 대하여 설명하였으나, 본원 발명에서 제안한 라우팅 방법은 여러 무선 네트워크 뿐 아니라 유선 네트워크에도 적용될 수 있다.In addition, the present invention has been described a method of applying a routing protocol according to the packet size using a wireless mesh network, the routing method proposed in the present invention can be applied to wired networks as well as various wireless networks.
본 발명에 따른 적응형 패킷 크기 기반 라우팅 방법 및 라우팅 장치에 의하 면 어플리케이션이나 패킷 크기에 따라 적절한 라우팅 프로토콜을 사용하여 더 적합하고 효율적인 경로를 설정하여 전송 지연 시간이나 처리율(throughput)을 향상시켜 궁극적으로 각 연결(connection)의 서비스 품질(Quality of Service: QoS)을 향상시킬 수 있으며, 나아가 새로운 서비스를 추가할 때 이에 맞는 트래픽 특성(평균 패킷 크기)을 알아내어 그 서비스에 맞는 라우팅 프로토콜을 추가함으로써 경로 설정을 쉽게 할 수 있는 효과가 있다.According to the adaptive packet size-based routing method and routing apparatus according to the present invention, a more suitable and efficient route can be established by using an appropriate routing protocol according to an application or packet size, thereby improving transmission delay time or throughput. You can improve the quality of service (QoS) of each connection. Furthermore, by adding a new service, you can find the traffic characteristics (average packet size) and add a routing protocol for that service. There is an effect that can easily set the path.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060135496A KR20080060882A (en) | 2006-12-27 | 2006-12-27 | Method of adaptive routing based packet size and routing apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060135496A KR20080060882A (en) | 2006-12-27 | 2006-12-27 | Method of adaptive routing based packet size and routing apparatus thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080060882A true KR20080060882A (en) | 2008-07-02 |
Family
ID=39813359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060135496A KR20080060882A (en) | 2006-12-27 | 2006-12-27 | Method of adaptive routing based packet size and routing apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080060882A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101420306B1 (en) * | 2012-10-09 | 2014-07-23 | 주식회사 시큐아이 | Method for processing pachet and device thereof |
-
2006
- 2006-12-27 KR KR1020060135496A patent/KR20080060882A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101420306B1 (en) * | 2012-10-09 | 2014-07-23 | 주식회사 시큐아이 | Method for processing pachet and device thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8072901B1 (en) | Technique for efficient probing to verify policy conformance | |
JP4489925B2 (en) | Network shared bandwidth allocation method and network system using the same | |
US7619982B2 (en) | Active probe path management | |
CN107431968B (en) | Method for establishing routing table, electronic equipment and network | |
US11522784B2 (en) | Routing and forwarding method for multi-homed network based on programmable network technology | |
US9118592B2 (en) | Switch and/or router node advertising | |
WO2011118574A1 (en) | Communications system, control device, delay measuring method, and program | |
Kumar et al. | An efficient gateway discovery in ad hoc networks for internet connectivity | |
US20150063118A1 (en) | Device for multipath routing of packets in computer networking and the method for its use | |
KR20080060882A (en) | Method of adaptive routing based packet size and routing apparatus thereof | |
Kumar et al. | An energy and traffic aware routing approach as an extension of aodv | |
Kaur et al. | Comparative study of OSPFv3, IS-IS and OSPFv3 IS-IS protocols using OPNET | |
Hu et al. | Path selection with joint latency and packet loss for edge computing in SDN | |
Arins | Latency factor in worldwide IP routed networks | |
KR20150016916A (en) | A device for multipath routing of packets in computer networking and the method for its use | |
EP3785405A1 (en) | Resource reservation and maintenance for preferred path routes in a network | |
KR20030026679A (en) | Explicit Routing Algorithms for MPLS Routers in IP Network | |
XiangBo et al. | Load-aware metric for efficient balancing on multipath DSR protocol in Mobile Ad hoc Networks | |
Nakayama | Rate-based path selection for shortest path bridging in access networks | |
KR100552518B1 (en) | The apparatus for implementation of ECMP in Network Processor | |
JP5071245B2 (en) | Packet switching apparatus and program | |
Hussain et al. | A QoS-aware multipath routing protocol for WiFi-based long distance mesh networks | |
GB2404826A (en) | Packet router which re-routes packet to an alternative output port when the primary output port buffer is overloaded | |
CN114390594A (en) | Improved AODV routing protocol based on load balancing | |
WO2010150585A1 (en) | Network-topology-altering node, system, and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |