KR100542407B1 - IP address information processing method using hash key and router thereby - Google Patents

IP address information processing method using hash key and router thereby Download PDF

Info

Publication number
KR100542407B1
KR100542407B1 KR1020030085038A KR20030085038A KR100542407B1 KR 100542407 B1 KR100542407 B1 KR 100542407B1 KR 1020030085038 A KR1020030085038 A KR 1020030085038A KR 20030085038 A KR20030085038 A KR 20030085038A KR 100542407 B1 KR100542407 B1 KR 100542407B1
Authority
KR
South Korea
Prior art keywords
information
router
hash
next hop
address information
Prior art date
Application number
KR1020030085038A
Other languages
Korean (ko)
Other versions
KR20050051277A (en
Inventor
장종현
홍성백
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020030085038A priority Critical patent/KR100542407B1/en
Publication of KR20050051277A publication Critical patent/KR20050051277A/en
Application granted granted Critical
Publication of KR100542407B1 publication Critical patent/KR100542407B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 IPv6를 고려하지 않고 설계된 라우터 장치에 있어서 하드웨어적인 구성의 변경이나 추가 없이 128비트로 이루어진 IPv6 다음 홉 주소 정보를 관리할 수 있는 해쉬 키를 이용한 주소 정보 처리 방법 및 이를 이용한 라우터 장치에 관한 것으로서, 본 발명은 루트 정보의 변경을 모니터링하여, 이웃노드 및 다음홉 주소 정보 가 있으며, 해당 주소값을 해쉬 알고리즘에 의하여 32비트의 해쉬 키를 생성하고, 이로부터 라우팅에 대한 정보를 생성하여 해당 네트워크 프로세서로 전송토록 하는 것을 기술적 요지로 한다.The present invention relates to a method for processing address information using a hash key capable of managing 128-bit IPv6 next hop address information without changing or adding hardware configuration in a router device designed without considering IPv6, and a router device using the same. In addition, the present invention monitors the change of the route information, and includes neighboring node and next hop address information, and generates a 32-bit hash key from the corresponding address value by a hash algorithm, and generates information on routing from the corresponding network. It is the technical gist of the data to be transferred to the processor.

라우터, 해쉬(hash)알고리즘, IPv4, IPv6, 다음홉(nexthop), 게이트웨이 Router, hash algorithm, IPv4, IPv6, nextop, gateway

Description

해쉬 키를 이용한 주소 정보 처리 방법 및 이를 이용한 라우터 장치{IP address information processing method using hash key and router thereby} IP address information processing method using hash key and router hence}             

도 1은 일반적인 라우터 장치의 기본적인 하드웨어 구조를 도시한 블럭구성도이다.1 is a block diagram showing the basic hardware structure of a general router device.

도 2는 본 발명에 의한 주소 정보 처리 장치가 적용된 라우터 장치의 논리적 구성을 보인 블럭구성도이다.2 is a block diagram showing a logical configuration of a router apparatus to which the address information processing apparatus according to the present invention is applied.

도 3은 본 발명에 의한 다음 홉 주소 정보 처리 방법을 순차적으로 나타낸 플로우챠트이다.3 is a flowchart sequentially illustrating a method of processing next hop address information according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

200 : 주 프로세서 210 : 라우터 프로토콜 엔진200: main processor 210: router protocol engine

220 : 라우터 프로토콜처리부 230 : 리눅스커널220: router protocol processor 230: Linux kernel

240 : 포워딩 테이블 처리기 300 : 라인카드240: forwarding table processor 300: line card

310 : 네트워크 프로세서 320 : 다음 홉 테이블310: network processor 320: next hop table

본 발명은 라우터 장치에 관한 것으로서, 보다 상세하게는 해쉬 키를 이용하여 128비트로 이루어진 IPv6의 다음 홉 주소 정보를 처리함으로서, IPv6가 고려되지 않은 네트워크 프로세서에서 하드웨어적인 장치의 변경이나 추가없이 128비트의 IPv6 주소정보를 처리할 수 있는 해쉬 키를 이용한 주소 정보 처리 방법 및 이를 이용한 라우터 장치에 관한 것이다.The present invention relates to a router device, and more particularly, by processing the next hop address information of the 128-bit IPv6 using a hash key, 128-bit without changing or adding a hardware device in a network processor that does not consider IPv6 An address information processing method using a hash key capable of processing IPv6 address information, and a router device using the same.

도 1은 일반적인 라우터 장치의 기본 구조를 나타낸 것으로서, 라우터 장치(100)은 라우터 프로토콜에 따라 전반적인 라우터기능을 제어하는 주프로세서(101)와, 각각 다른 라우터(104), 워크스테이션 서버(105)나, 호스트(106)와 연결되어 외부 인터페이스를 담당하는 다수의 라인카드(102)와, 상기 주프로세서(101)와 다수 라인카드(102)간의 통신을 가능케하며, 상기 주프로세서(101)의 제어에 따라서 다수 라인카드(102)간의 물리적인 연결을 수행하는 스위치패브릭(103)을 포함하여 이루어진다.1 illustrates a basic structure of a general router device. The router device 100 includes a main processor 101 for controlling overall router functions according to a router protocol, a different router 104, and a workstation server 105. And a plurality of line cards 102 connected to a host 106 and responsible for an external interface, enable communication between the main processor 101 and the plurality of line cards 102, and control the main processor 101. Therefore, the switch fabric 103 is configured to perform a physical connection between the plurality of line cards (102).

상기와 같이 구성되는 라우터에서 라인카드(102)는 네트워크 프로세서(NP)를 포함하는데, 상기 네트워크 프로세서(NP)는 패킷을 포워딩 하기 위하여 상위의 주 프로세서(101)로부터 루트 정보와 인접 라우터에 대한 정보를 획득하여, 수신된 정보를 기반으로 루트 테이블과 다음 홉(Nexthop) 노드에 대한 주소 정보를 관리하는 다음 홉 테이블을 구성한다.In the router configured as described above, the line card 102 includes a network processor NP. The network processor NP may route information from the upper main processor 101 and information about an adjacent router to forward packets. Acquire a, to configure a next hop table for managing the address information for the root table and the next hop (Nexthop) node based on the received information.

그리고, 상기 라인카드(102)에서는, 입력단(ingress)으로 패킷이 들어오면, 해당 패킷에 대한 다음 홉(Nexthop) 주소 정보를 상기 구성된 다음 홉 테이블에서 룩업(Lookup)하여, 해당 출력단(egress)으로 패킷을 전달하고, 해당 출력단에서 룩업된 다음 홉 주소에 대한 MAC(Medium Access Control) 주소로 매핑한 후, 수신된 패킷을 목적지로 포워딩한다.In the line card 102, when a packet enters an ingress, the next hop address information for the packet is looked up in the configured next hop table, and the output is sent to the corresponding egress. It forwards the packet, maps it to the Medium Access Control (MAC) address for the next hop address that is looked up at the output, and forwards the received packet to the destination.

따라서, 정상적인 라우팅 및 포워딩처리를 위해서는 인접 노드, 즉 인접 게이트웨이의 주소 정보 및, 소정 패킷에 대한 다음 홉 노드의 주소정보에 대한 관리가 요구된다.Therefore, for normal routing and forwarding processing, management of address information of an adjacent node, that is, an adjacent gateway, and address information of a next hop node for a predetermined packet is required.

그런데, 최근 들어서 32bit의 IPv4(Internet protocol version 4)를 4배 확장한 차세대 버전으로서 IPv6(Internet protocol version 6)가 채택되어 사용되고 있는데, 상기 IPv6는 IP 주소 공간을 128bit로 확장하여 주소의 개수를 큰 폭으로 증가시켜, 보안성 및 망 확장성 등을 향상시킨 것으로서, IPv4와 대비하여 4배의 주소 공간이 요구된다.However, recently, IPv6 (Internet protocol version 6) has been adopted as a next generation version that quadruples 32-bit Internet Protocol version 4 (IPv4), and IPv6 extends the IP address space to 128 bits to increase the number of addresses. By increasing the width, security and network scalability are improved, requiring four times the address space compared to IPv4.

그런데, IPv6 주소를 처리할 수 있도록 고려되지 않은 기존의 네트워크 프로세서는 프레임 헤더를 10바이트로 고정하고 있으며, 더하여, 그중 사용자가 이용할 수 있는 영역은 4바이트로 제한되어 있기 때문에, 상기와 같은 16바이트로 이루어 진 IPv6의 주소 정보에 대한 관리 및 전달이 어려우며, 따라서, 해당 IPv6 주소로의 라우팅 및 포워딩 처리가 불가능하게 된다.However, the existing network processor which is not considered to handle IPv6 address has fixed the frame header to 10 bytes. In addition, since the area available to the user is limited to 4 bytes, the above 16 bytes It is difficult to manage and transmit the IPv6 address information, and thus routing and forwarding to the corresponding IPv6 address becomes impossible.

따라서, 본 발명은 상술한 종래의 문제점을 해결하기 위하여 제안된 것으로서, 그 목적은 IPv6를 고려하지 않고 설계된 라우터 장치에 있어서 하드웨어적인 구성의 변경이나 추가 없이 128비트로 이루어진 IPv6 다음 홉 주소 정보를 관리할 수 있는 해쉬 키를 이용한 주소 정보 처리 방법 및 이를 이용한 라우터 장치를 제공하는데 있다.
Accordingly, the present invention has been proposed to solve the above-mentioned conventional problems, and an object thereof is to manage IPv6 next hop address information composed of 128 bits without changing or adding hardware configuration in a router device designed without considering IPv6. An address information processing method using a hash key and a router apparatus using the same are provided.

상기한 목적을 달성하기 위한 구성수단으로서, 본 발명은 루트 정보의 변경을 모니터링하는 단계; 상기 단계에서 모니터링된 루트정보에서, 이웃노드 및 다음홉 주소 정보를 확인하는 단계; 상기 확인된 주소정보로부터 해쉬 알고리즘에 의하여 32비트의 해쉬 키를 생성하는 단계; 상기 생성된 해쉬키로 이웃노드 및 라우트 정보를 생성하여 네트워크 프로세서로 전송하는 단계: 및 네트워크 프로세서에서 상기 수신된 정보를 바탕으로 다음 홉 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 해쉬 키를 이용한 주소 정보 처리 방법을 제공한다. As a construction means for achieving the above object, the present invention comprises the steps of monitoring the change of the route information; Identifying neighbor and next hop address information from the route information monitored in the above step; Generating a 32-bit hash key from the verified address information by a hash algorithm; Generating the neighbor node and the route information using the generated hash key and transmitting the generated neighbor node and the route information to a network processor; and generating a next hop table based on the received information at the network processor; Provides information processing method.

더하여, 본 발명에 의한 다음 홉 주소 정보 처리 방법에 있어서, 상기 주소 정보를 확인하는 단계는In addition, in the next hop address information processing method according to the present invention, the step of identifying the address information is

상기 모니터링 결과로부터 루트 정보 변경이 새로운 루트의 생성, 기존 루트의 삭제, 이웃노드의 정보 변경중 어느 것인지 분석하는 단계;Analyzing whether the change of route information is the generation of a new route, deletion of an existing route, or change of information of a neighbor node from the monitoring result;

해당 정보를 디코딩하여 IPv4타입인지 IPv6타입인지를 판단하는 단계;Decoding the corresponding information to determine whether it is an IPv4 type or an IPv6 type;

상기 판단결과 IPv6 타입이고, 정보 타입이 새로운 루트의 생성 또는 기존 루트의 삭제인 경우, 해당 정보에서 게이트웨이 정보를 추출하는 단계;Extracting gateway information from corresponding information when the determination result is an IPv6 type and the information type is creation of a new route or deletion of an existing route;

상기 판단결과 IPv6 타입이고 정보 타입이 이웃 노드의 정보 변경인 경우, 해당 정보에서 다음홉 주소 정보를 추출하는 단계; 및Extracting next hop address information from corresponding information when the determination result is an IPv6 type and the information type is information change of a neighbor node; And

상기에서 해당 정보에 게이트웨이 정보가 존재하지 않는 경우, 게이트웨이값으로 디폴트값을 설정하는 단계If the gateway information does not exist in the information above, setting a default value to the gateway value

를 포함하여 이루어지는 것을 특징으로 한다.Characterized in that comprises a.

더하여, 본 발명에 의한 다음 홉 주소 정보 처리 방법에 있어서, 상기 해쉬 키를 생성하는 단계는 해쉬 레벨값을 설정하는 단계; 상기 추출된 게이트웨이 및 다음 홉 주소 정보에 대한 32비트의 해쉬 키 값을 생성하는 단계; 상기 생성된 해쉬 키가 해쉬 테이블내에 존재하는지 체크하는 단계; 상기 체크 결과 해쉬 테이블내에 생성된 해쉬 키가 존재하면, 해쉬 레벨을 1/2로 줄여 상기 해쉬 키 생성부터 반복시키는 단계; 및 상기 체크 결과 해쉬 테이블내에 생성된 해쉬 키가 존재하지 않으면 해쉬 테이블에 삽입하는 단계로 이루어지는 것을 특징으로 한다.In addition, in the next hop address information processing method according to the present invention, generating the hash key comprises: setting a hash level value; Generating a 32-bit hash key value for the extracted gateway and next hop address information; Checking whether the generated hash key exists in a hash table; If there is a hash key generated in the hash table as a result of the check, reducing the hash level to 1/2 and repeating the hash key generation; And inserting into the hash table if the hash key generated in the hash table does not exist as a result of the check.

또한, 본 발명은 상술한 목적을 이루어기 위한 다른 구성수단으로서, 소정의 라우터 프로토콜에 따라서, 이웃 노드간의 라우터 처리를 수행하는 라우터 장치의 다음 홉 주소 정보 처리 장치에 있어서, 라우터 프로토콜과 연동하여 패킷을 라우터할 수 있는 정보인 루트 정보를 교환하고 이들 루트 정보를 이용하여 임의 패킷을 목적지 라우터로 포워딩시키는 라우터 프로토콜 엔진; 라우터 프로토콜에 의한 루트 정보의 생성, 삭제, 변경을 모니터링하여, 네트링크(netlink) 메시지로 라우터정보를 제공하는 리눅스커널; 및 상기 리눅스커널로부터 제공된 정보에서 128비트의 다음 홉 주소 또는 게이트웨이 주소 정보를 추출하여, 해쉬 알고리즘을 통하여 32비트의 해쉬 키 값을 생성하여 생성된 키 값으로 라우터정보를 생성하는 포워딩 테이블 처리기를 포함하는 것을 특징으로 한다.In addition, the present invention is another configuration means for achieving the above object, in the next hop address information processing apparatus of the router apparatus performing router processing between neighboring nodes according to a predetermined router protocol, the packet in cooperation with the router protocol A router protocol engine for exchanging route information that is routerable information and forwarding arbitrary packets to the destination router using these route information; A Linux kernel that monitors generation, deletion and modification of route information by a router protocol and provides router information in a netlink message; And a forwarding table processor extracting the next hop address or gateway address information of 128 bits from the information provided from the Linux kernel, generating a 32-bit hash key value through a hash algorithm, and generating router information using the generated key value. Characterized in that.

이하, 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하면서 자세히 설명하도록 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 의한 라우터 장치를 도시한 블록구성도로서, 본 발명의 라우터 장치에 있어서, 주 프로세서(200)는 라우터 프로토콜 엔진(210)과, 라우터 프로토콜처리부(220)와, 리눅스커널(230)과, 포워딩 테이블 처리기(240)를 포함한다.2 is a block diagram showing a router device according to the present invention. In the router device of the present invention, the main processor 200 includes a router protocol engine 210, a router protocol processor 220, and a Linux kernel ( 230, and a forwarding table processor 240.

그리고, 라인카드(300)는 상기 포워딩 테이블 처리기(240)로부터 전송된 다 음 홉 주소정보를 처리하여, 다음 홉 테이블(320)을 생성하는 네트워크프로세서(310)를 포함한다.In addition, the line card 300 includes a network processor 310 for processing the next hop address information transmitted from the forwarding table processor 240 to generate the next hop table 320.

상기 도 2를 참조하면, 라우터 프로토콜엔진(210)은 라우터 프로토콜부(220)과 연동하여 패킷을 라우터할 수 있는 정보인 루트 정보를 교환하고, 이들 루트 정보를 이용하여 임의 패킷을 목적지 라우터로 포워딩 하는 기능을 처리한다. 이때 상기 라우터 프로토콜부(220)에 의해 생성된 루트 정보는 라우터 프로토콜 엔진(210)을 통하여 리눅스 커널(230) 내부에 위치한 라우터 정보 데이터 베이스(RIB)(230a)에 기록하고, 또한 엔진(210) 내부의 로컬 포워딩 정보 데이터베이스(FIB)(210a)에 저장한다.Referring to FIG. 2, the router protocol engine 210 exchanges route information, which is information for routing packets, in cooperation with the router protocol unit 220, and forwards arbitrary packets to the destination router using these route information. To handle the function. At this time, the route information generated by the router protocol unit 220 is recorded in the router information database (RIB) 230a located in the Linux kernel 230 through the router protocol engine 210, and also the engine 210. It is stored in an internal local forwarding information database (FIB) 210a.

또한, 포워딩 엔진은 라우터 프로토콜로 리눅스 커널의 초기 인터페이스, 이웃 라우터 정보(neighbor) 및 라우터 정보를 분배하게 되며, 새로운 라우터 프로토콜이 실행되면 커널 정보를 읽음으로 장치 전체의 성능을 저하시키는 원인을 해소할 수 있도록 로컬에 있는 포워딩 정보를 전달하게 된다.In addition, the forwarding engine distributes the Linux kernel's initial interface, neighbor router information, and router information as a router protocol. When a new router protocol is executed, the forwarding engine reads the kernel information and solves the cause of degrading the performance of the entire device. It will pass forwarding information locally.

라우팅 프로토콜(220)이 라우터 정보를 생성하면, 프로토콜엔진(210)이 커널(230)에 루트정보를 기록하게 되고, 상기 리눅스커널(230)에서는 네트링크(Netlink) 장치 호출을 이용하여 포워딩 테이블 처리기(240)로 변경 정보를 전송한다. When the routing protocol 220 generates the router information, the protocol engine 210 writes the route information to the kernel 230, and the Linux kernel 230 uses a forwarding table processor using a netlink device call. The change information is transmitted to 240.

이에, 루트 정보의 변경을 감지한 포워딩 테이블 처리기(240)는 루트 정보 또는 이웃 노드(Neighbor)의 정보에서 128비트의 다음 홉 주소 또는 게이트웨이 주소 정보를 추출하여, 해쉬 알고리즘을 통하여 32비트의 해쉬 키 값을 생성하고 해당 키 값을 해당 IPv6의 다음 홉 주소 정보로서, 라인카드(300)의 네트워크 프로세서(310)로 전송한다.Accordingly, the forwarding table processor 240 that detects the change of the route information extracts the 128-bit next hop address or gateway address information from the route information or the neighbor node information, and uses a hash algorithm to generate a 32-bit hash key. A value is generated and the key value is transmitted to the network processor 310 of the line card 300 as the next hop address information of the IPv6.

상기 라인카드(300)의 네트워크 프로세서(310)는 수신된 주소정보로 다음 홉 테이블을 구성하여, 입력된 패킷에 대한 포워딩을 수행한다.The network processor 310 of the line card 300 configures a next hop table with the received address information and performs forwarding on the input packet.

도 3은 본 발명에 의한 다음 홉 주소 정보 처리 방법을 나타낸 플로우챠트이다.3 is a flowchart illustrating a method of processing next hop address information according to the present invention.

상기 도 3을 참조하여, 다음 홉 주소 정보 처리 절차를 설명하면 다음과 같이 이루어진다.Referring to FIG. 3, the next hop address information processing procedure will be described as follows.

1) 루트 정보 및 인접 노드 정보 변경 모니터링1) Monitoring change of root information and neighbor node information

상기 라우터 프로토콜(220)이 생성한 루트 정보를 라우터 프로토콜 엔진(210)으로 보내면, 라우터 프로토콜 엔진(210)은 해당 루트 정보를 자신의 포워딩 정보 데이타베이스(210a)에 저장하고, 또한 리눅스 커널(230)로 전달된 패킷을 포워딩하기 위하여 리눅스 커널(230)의 라우터 정보 데이터베이스(230a)에도 기 록하게 된다.When the route information generated by the router protocol 220 is sent to the router protocol engine 210, the router protocol engine 210 stores the route information in its forwarding information database 210a, and also the Linux kernel 230. In order to forward the packet forwarded to the) it is also recorded in the router information database (230a) of the Linux kernel (230).

그리고, 상기 리눅스 커널(230)은 루트 정보를 주기적으로 또는 정보 변경시 네트링크 메시지로 포워딩 테이블 처리기(240)로 통보하고, 상기 IPv6 포워딩 테이블 처리기(240)에서 상기 정보를 전달받아 루트 정보의 변경을 감지하게 된다(s301).In addition, the Linux kernel 230 notifies the forwarding table processor 240 of the route information periodically or as a netlink message when the information is changed, and receives the information from the IPv6 forwarding table processor 240 to change the route information. It will be detected (s301).

2) 네트링크(Netlink) 메시지 타입에 따른 기능 분류2) Function Classification by Netlink Message Type

따라서, 리눅스커널(230)로부터 네트링크메시지를 수신한 포워딩 테이블 처리기(240)는 상기 리눅스커널(230)로부터 전달된 메시지를 분석하여(s302), 해당 메시지가 새로운 루트 정보의 추가(RTM_NEWROUTE), 기존 루트 정보의 삭제(RTM_DELETE) 및, 인접 노드 주소 정보의 변경(RTM_NEWNEIGH)의 세 종류중 어느 곳에 해당되는지를 체크한다(s303~s305).Therefore, the forwarding table processor 240 receiving the netlink message from the Linux kernel 230 analyzes the message transmitted from the Linux kernel 230 (s302), and adds the new route information (RTM_NEWROUTE), It is checked whether one of the three kinds of deletion of the existing route information (RTM_DELETE) and change of neighbor node address information (RTM_NEWNEIGH) is applied (s303 to s305).

3) 새로운 루트 정보 추가 처리3) Adding new route information

상기의 분석 결과, 새로운 루트 정보가 추가되는 것이면, 상기 포워딩 테이블 처리기(240)는 해당하는 리눅스커널(230)의 메시지로부터 프로토콜 타입을 디코딩한 후(s306), IPv4 타입이면 IPv4 루트 정보 처리기를 호출하여, IPv4 타입의 루트정보를 처리한다(s308). 여기서, IPv4 타입의 주소정보에 대한 처리는 기존에 처리와 동일하게 이루어진다.As a result of the above analysis, if new route information is added, the forwarding table processor 240 decodes the protocol type from the message of the corresponding Linux kernel 230 (s306), and if it is an IPv4 type, calls the IPv4 route information processor. Then, the route information of the IPv4 type is processed (s308). Here, the processing for the IPv4 type address information is performed in the same manner as the conventional processing.

반대로, 상기 추가된 루트정보가 IPv6 타입이면, 해당 루트 정보에서 게이트웨이 주소 정보가 존재하는지를 확인하여(s310), 게이트웨이 주소 정보가 없으면 디폴트 게이트웨이 정보를 설정하여 해당 정보를 네트워크 프로세서로 전달하게 된다(s313).On the contrary, if the added route information is IPv6 type, it is checked whether the gateway address information exists in the corresponding route information (s310). If there is no gateway address information, the default gateway information is set and the corresponding information is transmitted to the network processor (s313). ).

그리고, 상기에서, 게이트웨이 주소 정보가 포함되어 있으면(s311), 해당 128비트의 주소 정보를 32비트의 키 값으로 변환하기 위하여 해쉬 수준 값을 디폴트로 설정하고(s314), 그 다음 해쉬 알고리즘을 이용하여 상기 게이트웨이 주소 정보에 대한 해쉬 키 값을 생성한다(s315).In the above, if the gateway address information is included (s311), a hash level value is set as a default (s314) to convert the 128-bit address information into a 32-bit key value (s314), and then a hash algorithm is used. To generate a hash key value for the gateway address information (S315).

그리고, 상기에서 생성된 해쉬 키 값이 해쉬 테이블 내에 존재하는지 확인하는데(s316), 앞서 메시지 타입이 새로운 루트 정보 추가 상태이므로(s318), 해당 키 값이 존재하지 않으면 해당 키 값을 해쉬 테이블에 삽입한다(s319). 반대로, 만약 해쉬 테이블 내에 존재하면, 해쉬 알고리즘의 시드(SEED)값인 해쉬 수준 값을 반으로 나눈 후(s317), 다시 새로운 해쉬 키 값을 생성하고(s315), 생성된 키가 해쉬테이블내에 존재하는지 여부를 검사하는 과정(s316)을 반복한다.Then, it is checked whether the generated hash key value exists in the hash table (s316). Since the message type is a new route information addition state (s318), if the corresponding key value does not exist, the corresponding key value is inserted into the hash table. (S319). On the contrary, if it exists in the hash table, the hash level value, which is the seed value of the hash algorithm, is divided in half (s317), and then a new hash key value is generated (s315), and the generated key exists in the hash table. The process of checking whether or not is repeated (s316).

이와 같이, 최종 생성된 해쉬 키 값을 루트 정보로 하여 루트 정보 추가 메시지를 생성하고(s321), 생성된 메시지를 라인카드(300)의 네트워크 프로세서(310) 로 전달한다(s322).In this way, a route information addition message is generated using the last generated hash key value as route information (S321), and the generated message is transmitted to the network processor 310 of the line card 300 (S322).

4) 이웃 노드(Neighbor) 정보 추가/삭제 처리4) Add / delete neighbor information

상기 메시지 분석(s302) 결과, 상기 라우터 장치에 새로운 단말이 접속되거나 이탈되었을 때, 해당 인접 노드에 대한 추가 또는 삭제메시지인 경우(s305), 포워딩 테이블 처리기(240)는 해당 메시지를 디코딩하여 프로토콜 타입이 IPv4인지의 여부를 판단하고(s307), As a result of the message analysis (s302), when a new terminal is connected to or detached from the router device, if it is an addition or deletion message for the neighbor node (s305), the forwarding table processor 240 decodes the corresponding message to provide a protocol type. Whether it is IPv4 (s307),

상기 판단에서 IPv4 타입이라면 IPv4 ARP(Address Resolution Protocol) 처리기를 호출하여 수행한다(s309). 그리고, IPv6 타입의 메시지이면, 수신된 메시지에서 다음 홉(NextHop) 정보를 추출한 후(s312), 상술한 루트 정보 추가시와 동일하게 상기 128비트의 다음 홉 주소 정보를 32비트의 키 값으로 변환하기 위하여 해쉬 수준 값을 디폴트로 설정하고(s314), 해쉬 알고리즘을 이용하여 다음 홉 주소에 대한 해쉬 키 값을 생성하고(s315), 생성된 해쉬 키 값이 해쉬 테이블 내에 존재하는지 확인한다(s316).If it is determined that the IPv4 type is performed, an IPv4 address resolution protocol (ARP) processor is called and performed (s309). If the message is an IPv6 type message, the next hop information is extracted from the received message (s312), and the 128-bit next hop address information is converted into a 32-bit key value in the same manner as the above-described route information addition. In order to set the hash level as a default value (s314), a hash key value is generated for the next hop address using a hash algorithm (s315), and it is checked whether the generated hash key value exists in the hash table (s316). .

단말기의 탈/부착과 상관없이 포워딩 테이블 처리기(240)에서 모니터링되는 네트링크 메시지는 항상 RTM_NEWNEIGH 메시지 형태를 가지게 되는데, 이때, RTM_NEWNEIGH 메시지들을 그 상태정보별로 다음의 표 1과 같이 유효상태(valid state)와 무효상태(invalid state)로 구분한다.Regardless of the attachment / detachment of the terminal, the netlink message monitored by the forwarding table processor 240 always has a RTM_NEWNEIGH message type. At this time, the RTM_NEWNEIGH messages are valid according to their state information as shown in Table 1 below. And invalid state.

구분division NEIGHBOR 상태정보NEIGHBOR Status Information VALID STATEVALID STATE NUD_PERMANENTNUD_PERMANENT NUD_REACHABLENUD_REACHABLE NUD_STALENUD_STALE NUD_DELAYNUD_DELAY NUD_PROBENUD_PROBE INVALIDINVALID NUD_NOARPNUD_NOARP NUD_INCOMPLETENUD_INCOMPLETE NUD_NONENUD_NONE NUD_FAILEDNUD_FAILED

상기 표 1을 보면, 유효상태의 메시지로는 이웃 노드의 존재와 관련된 상태가 해당되고, 무효상태는 이웃 노드가 존재하지 않는 상태가 해당된다.Referring to Table 1, the valid state message corresponds to a state related to the existence of a neighbor node, and the invalid state corresponds to a state in which a neighbor node does not exist.

상기 표 1을 참조하여, 상기 수신된 메시지가 유효상태인지 무효상태인지를 판별하여(s318), 유효상태의 메시지라면, 상기 생성된 해쉬 키를 해쉬 테이블에 삽입하고(s319), 무효상태의 메시지이면, 해쉬 테이블에서 해당 키 값을 삭제한다(s320).Referring to Table 1, it is determined whether the received message is valid or invalid (s318). If the message is in a valid state, the generated hash key is inserted into a hash table (s319). In this case, the corresponding key value is deleted from the hash table (s320).

이에 최종 생성된 해쉬 키 값을 이용하여 다음 홉 정보에 대한 이웃노드(Neighbor) 정보 추가 또는 삭제 메시지를 생성하여(s321), 라인카드(300)의 네트워크 프로세서(310)으로 전달한다(s322).In response to the generated hash key value, a neighbor node (Neighbor) information addition or deletion message for the next hop information is generated (S321) and transmitted to the network processor 310 of the line card 300 (S322).

5) 기존 루트 정보 삭제 메시지 처리5) Deleting existing route information deletion message

상기 분석결과(s302), 리눅스 커널(230)로부터 전달된 메시지가 새로운 루트 정보의 삭제 메시지(RTM_DELROUTE)이면(s304), 앞서 루트 정보의 추가시와 마찬가지로 포워딩 테이블 처리기(240)는 해당 메시지로부터 프로토콜 타입을 디코딩하여 IPv4 타입인지의 여부를 판단하고(s306), 상기 판단결과 IPv4 타입이면, IPv4 루트 정보 처리기를 호출한다(s308). 상기 판단결과 IPv6 타입이면, 루트 정보에서 게이트웨이 주소 정보가 존재하는지 확인하여(s310), 게이트웨이 주소 정보가 없으면 디폴트 게이트웨이 정보를 설정하여 해당 정보를 네트워크 프로세서(310)로 전달한다(s322). 그리고, 게이트웨이 주소정보가 포함되어 있으면, 이 128비트의 주소 정보를 32비트의 키 값으로 변환하기 위하여 해쉬 수준 값을 디폴트로 설정하고(s314), 해쉬 알고리즘을 이용하여 게이트웨이 주소 정보에 대한 해쉬 키 값을 생성한다(s315).As a result of the analysis (s302), if the message transmitted from the Linux kernel 230 is a new route information deletion message (RTM_DELROUTE) (s304), as in the case of adding the route information, the forwarding table processor 240 is a protocol from the message. Decoding the type determines whether it is an IPv4 type (s306). If the determination result is an IPv4 type, the IPv4 route information processor is called (s308). If the determination result is the IPv6 type, it is checked whether the gateway address information exists in the route information (s310). If there is no gateway address information, the default gateway information is set and the corresponding information is transmitted to the network processor 310 (s322). If the gateway address information is included, a hash level value is set as a default to convert the 128-bit address information into a 32-bit key value (s314), and a hash key for the gateway address information using a hash algorithm. Generate a value (s315).

그리고, 생성된 해쉬 키 값이 해쉬 테이블 내에 존재하는지 확인하여(s316), 존재할 경우, 메시지 타입이 새로운 루트 정보 삭제 상태이므로(s318), 해당 키 값을 해쉬 테이블에서 삭제한다(s320). 그리고, 루트 정보 삭제 메시지를 생성하여(s321), 라인카드(300)의 네트워크 프로세서(310)로 전송한다. 그러나, 만약 해쉬 테이블 내에 존재하지 않으면 해쉬 알고리즘의 시드(SEED)값인 해쉬 수준 값을 반으로 나눈 후(s317), 새로운 해쉬 키 값을 생성하여, 상기 처리를 반복한다.Then, it is checked whether the generated hash key value exists in the hash table (s316), and if present, since the message type is a new route information deletion state (s318), the corresponding key value is deleted from the hash table (s320). In operation 321, the route information deletion message is transmitted to the network processor 310 of the line card 300. However, if it does not exist in the hash table, the hash level value, which is the seed value of the hash algorithm, is divided in half (s317), and then a new hash key value is generated, and the above process is repeated.

상술한 바와 같이, 본 발명은 IPv6 라우터를 개발하는 과정에서 IBM사의 네 트워크 프로세서와 같이 설계 단계에서 128비트 주소를 사용하는 IPv6 라우터를 고려하지 않은 라우터 장치에서, 하드웨어 장치의 추가나 변경 없이, 단지 주 프로세스에서 네트워크 프로세스로 전달하는 루트 정보 및 인접 라우터에 대한 다음 홉 및 게이트웨이 주소 정보를 32비트 해쉬 알고리즘을 이용하여 32비트로 인코딩하여 로딩함으로서, 네트워크 프로세서에 위치한 루트 정보를 처리 블록에서 32비트의 키 값을 기반으로 패킷에 대한 목적지 주소를 룩업(lookup)하고 MAC주소로 매핑함으로써 IPv6 패킷을 라우터하도록 함으로서, 기존 IPv4 라우터에서 IPv6 라우터 기능을 제공할 수 있는 우수한 효과가 있다.As described above, the present invention provides a router apparatus which does not consider an IPv6 router that uses a 128-bit address in the design stage, such as an IBM network processor in developing an IPv6 router, without adding or changing hardware devices. 32-bit key value is encoded in the processing block by loading 32-bit encoded route information, which is passed from process to network process, and next hop and gateway address information for neighboring routers by using 32-bit hash algorithm. By routing the IPv6 packet by looking up the destination address for the packet and mapping it to the MAC address, it is possible to provide the IPv6 router function in the existing IPv4 router.

Claims (4)

루트 정보의 변경을 모니터링하는 단계;Monitoring a change in route information; 상기 단계에서 모니터링된 루트정보에서, 이웃노드 및 다음홉 주소 정보를 확인하는 단계;Identifying neighbor and next hop address information from the route information monitored in the above step; 상기 확인된 주소정보로부터 해쉬 알고리즘에 의하여 32비트의 해쉬 키를 생성하는 단계;Generating a 32-bit hash key from the verified address information by a hash algorithm; 상기 생성된 해쉬키로 이웃노드 및 라우트 정보를 생성하여 네트워크 프로세서로 전송하는 단계: 및Generating neighbor nodes and route information using the generated hash key and transmitting the neighbor node and the route information to a network processor; and 네트워크 프로세서에서 상기 수신된 정보를 바탕으로 다음 홉 테이블을 생성하는 단계Generating a next hop table based on the received information at a network processor 를 포함하는 것을 특징으로 하는 해쉬 키를 이용한 128비트 다음 홉 주소 정보 처리 방법128-bit next hop address information processing method using a hash key comprising a 제 1 항에 있어서, 상기 이웃노드 및 다음홉 주소 정보를 확인하는 단계는The method of claim 1, wherein the checking of the neighbor node and the next hop address information comprises: 상기 모니터링 결과로부터 루트 정보 변경이 새로운 루트의 생성, 기존 루트의 삭제, 이웃노드의 정보 변경중 어느 것인지 분석하는 단계;Analyzing whether the change of route information is the generation of a new route, deletion of an existing route, or change of information of a neighbor node from the monitoring result; 해당 정보를 디코딩하여 IPv4타입인지 IPv6타입인지를 판단하는 단계;Decoding the corresponding information to determine whether it is an IPv4 type or an IPv6 type; 상기 판단결과 IPv6 타입이고, 정보 타입이 새로운 루트의 생성 또는 기존 루트의 삭제인 경우, 해당 정보에서 게이트웨이 정보를 추출하는 단계;Extracting gateway information from corresponding information when the determination result is an IPv6 type and the information type is creation of a new route or deletion of an existing route; 상기 판단결과 IPv6 타입이고 정보 타입이 이웃 노드의 정보 변경인 경우, 해당 정보에서 다음홉 주소 정보를 추출하는 단계; 및Extracting next hop address information from corresponding information when the determination result is an IPv6 type and the information type is information change of a neighbor node; And 상기에서 해당 정보에 게이트웨이 정보가 존재하지 않는 경우, 게이트웨이값으로 디폴트값을 설정하는 단계If the gateway information does not exist in the information above, setting a default value to the gateway value 를 포함하여 이루어지는 것을 특징으로 하는 해쉬 키를 이용한 128비트 다음 홉 주소 정보 처리 방법.128-bit next hop address information processing method using a hash key, characterized in that comprises a. 제 1 항에 있어서, 상기 해쉬 키를 생성하는 단계는The method of claim 1, wherein generating the hash key 해쉬 레벨값을 설정하는 단계;Setting a hash level value; 상기 추출된 게이트웨이 및 다음 홉 주소 정보에 대한 32비트의 해쉬 키 값을 생성하는 단계;Generating a 32-bit hash key value for the extracted gateway and next hop address information; 상기 생성된 해쉬 키가 해쉬 테이블내에 존재하는지 체크하는 단계;Checking whether the generated hash key exists in a hash table; 상기 체크 결과 해쉬 테이블내에 생성된 해쉬 키가 존재하면, 해쉬 레벨을 1/2로 줄여 상기 해쉬 키 생성부터 반복시키는 단계; 및If there is a hash key generated in the hash table as a result of the check, reducing the hash level to 1/2 and repeating the hash key generation; And 상기 체크 결과 해쉬 테이블내에 생성된 해쉬 키가 존재하지 않으면 해쉬 테이블에 삽입하는 단계Inserting into the hash table if the hash key generated in the hash table does not exist as a result of the check 로 이루어지는 것을 특징으로 하는 해쉬 키를 이용한 128비트 다음 홉 주소 정보 처리 방법.128-bit next hop address information processing method using a hash key, characterized in that consisting of. 소정의 라우터 프로토콜에 따라서, 이웃 노드간의 라우터 처리를 수행하는 라우터 장치의 다음 홉 주소 정보 처리 장치에 있어서,In the next hop address information processing apparatus of a router apparatus that performs router processing between neighboring nodes according to a predetermined router protocol, 라우터 프로토콜과 연동하여 패킷을 라우터할 수 있는 정보인 루트 정보를 교환하고 이들 루트 정보를 이용하여 임의 패킷을 목적지 라우터로 포워딩시키는 라우터 프로토콜 엔진;A router protocol engine for exchanging route information, which is information for routing packets, in conjunction with a router protocol, and forwarding an arbitrary packet to a destination router using these route information; 라우터 프로토콜에 의한 루트 정보의 생성, 삭제, 변경을 모니터링하여, 네트링트(netlink) 메시지로 라우터정보를 제공하는 리눅스커널; 및A Linux kernel that monitors generation, deletion, and change of route information by a router protocol and provides router information in a netlink message; And 상기 리눅스커널로부터 제공된 정보에서 128비트의 다음 홉 주소 또는 게이트웨이 주소 정보를 추출하여, 해쉬 알고리즘을 통하여 32비트의 해쉬 키 값을 생성하여 생성된 키 값으로 라우터정보를 생성하는 포워딩 테이블 처리기를 포함하는 것을 특징으로 하는 라우터 장치.A forwarding table processor extracting the next hop address or gateway address information of 128 bits from the information provided from the Linux kernel, generating a 32-bit hash key value through a hash algorithm, and generating router information using the generated key value; Router device, characterized in that.
KR1020030085038A 2003-11-27 2003-11-27 IP address information processing method using hash key and router thereby KR100542407B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030085038A KR100542407B1 (en) 2003-11-27 2003-11-27 IP address information processing method using hash key and router thereby

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030085038A KR100542407B1 (en) 2003-11-27 2003-11-27 IP address information processing method using hash key and router thereby

Publications (2)

Publication Number Publication Date
KR20050051277A KR20050051277A (en) 2005-06-01
KR100542407B1 true KR100542407B1 (en) 2006-01-11

Family

ID=38666524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030085038A KR100542407B1 (en) 2003-11-27 2003-11-27 IP address information processing method using hash key and router thereby

Country Status (1)

Country Link
KR (1) KR100542407B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736035B1 (en) * 2005-07-13 2007-07-06 삼성전자주식회사 Apparatus and method for communicating using hash address
CN109324908B (en) * 2017-07-31 2021-09-07 华为技术有限公司 Container isolation method and device for Netlik resources

Also Published As

Publication number Publication date
KR20050051277A (en) 2005-06-01

Similar Documents

Publication Publication Date Title
US6853639B1 (en) Information relay device and method with multicast protocol conversion function and information network system using the same
US6167444A (en) Method and system for exchanging routing information
US7218632B1 (en) Packet processing engine architecture
US6757742B1 (en) Computer-based system for validating hash-based table lookup schemes in a network switch
US6243759B1 (en) Method and system for configuring dynamic interfaces
US20070115967A1 (en) Dynamic discovery of ISO layer-2 topology
US20060023744A1 (en) Network address-port translation apparatus and method for IP fragment packets
US11855888B2 (en) Packet verification method, device, and system
US9015488B2 (en) Secure indirect addressing
KR102579060B1 (en) Routing information sending method, packet sending method, and related apparatus
KR100751991B1 (en) Data network node having enhanced security features
CN101552677B (en) Processing method and exchange equipment for address detected message
KR100542407B1 (en) IP address information processing method using hash key and router thereby
CN108768845B (en) Multi-homing host routing synchronization method and device
KR100636274B1 (en) Apparatus and method for forwarding packet in network processor
KR20200002599A (en) Server apparatus, client apparatus and method for communicating based on network address mutation
US20210320929A1 (en) Packet Detection Method and First Network Device
JP2006013732A (en) Routing device and authentication method of information processor
Cisco Configuring Source-Route Bridging
Cisco Configuring IP
Cisco Configuring Source-Route Bridging
Cisco Configuring Source-Route Bridging
Cisco Configuring IP
Moy OSPF standardization report
JP3376941B2 (en) Router device

Legal Events

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

Payment date: 20091231

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee