KR20150095151A - Method for packet forwarding and apparatus thereof - Google Patents

Method for packet forwarding and apparatus thereof Download PDF

Info

Publication number
KR20150095151A
KR20150095151A KR1020140016297A KR20140016297A KR20150095151A KR 20150095151 A KR20150095151 A KR 20150095151A KR 1020140016297 A KR1020140016297 A KR 1020140016297A KR 20140016297 A KR20140016297 A KR 20140016297A KR 20150095151 A KR20150095151 A KR 20150095151A
Authority
KR
South Korea
Prior art keywords
packet
address
destination
network
identifier
Prior art date
Application number
KR1020140016297A
Other languages
Korean (ko)
Inventor
김학서
이경호
전기철
안병준
박혜숙
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020140016297A priority Critical patent/KR20150095151A/en
Publication of KR20150095151A publication Critical patent/KR20150095151A/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/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Abstract

Disclosed is a method for forwarding a packet with respect to a terminal having a duplicate address. According to the method, a network device: receives the packet; extracts an IP address and an identifier of a destination from the received packet; searches the extracted IP address and identifier in a forwarding table of the network device and determines a port to which the packet is transmitted; and can transmit the packet to the determined port. Therefore, the network device can perform communications by distinguishing a terminal in the outside of a private network even when an IP address of a terminal is redundant due to use of the private network.

Description

패킷 포워딩 방법 및 장치{METHOD FOR PACKET FORWARDING AND APPARATUS THEREOF}≪ Desc / Clms Page number 1 > METHOD FOR PACKET FORWARDING AND APPARATUS THEREOF &

본 발명은 패킷 포워딩 방법 및 장치에 관한 것으로, 더욱 상세하게는 라우터가 네트워크를 구분하여 패킷을 포워딩하는 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a packet forwarding method and apparatus, and more particularly, to a method and apparatus for a router to forward a packet by dividing a network.

IT기술이 발달하면서 기업에서 대부분의 업무처리는 전산화된 시스템을 통해 이루어지며, 기업의 전산 시스템은 네트워크상에 연결됨으로써 업무 처리의 효율을 더욱 높일 수 있다. 관리의 편의나 보안성을 확보하기 위해 기업은 독자적인 네트워크를 구축해서 사용하여 왔는데 이것을 사설망이라 한다. 일반적으로 사설망은 IP(Internet Protocol) 주소의 부족으로 인하여 사설 IP 주소를 사용하여 구축된다. 기업은 전용회선(Lease Line)을 임대하여 사설망을 구축하는 방법을 사용한다. 이때, 전용회선을 구축하기 위해서 많은 비용을 투자하여야 한다. 특히 하나의 기업이 물리적으로 여러 곳 또는 원거리에 분산되어 위치한 경우, 독자적인 네트워크를 구축하는 데는 더욱 많은 비용이 필요하다. 따라서, 기업은 보다 저렴하게 사설망을 구축하기 위한 방법으로 공중망(Public Network)을 사용하여 사설망을 구축하는 노력이 많이 시도되어 왔다. As IT technology develops, most of the business process is done through the computerized system, and the company 's computer system is connected to the network, which can improve the efficiency of business processing. To ensure the convenience of management and security, companies have built their own networks and used them as private networks. In general, private networks are built using private IP addresses due to the lack of IP (Internet Protocol) addresses. Companies lease leased lines to build private networks. At this time, it is necessary to invest a large amount of money in order to construct a leased line. In particular, if a company is physically distributed in multiple locations or in a remote location, building a proprietary network will cost more. Therefore, companies have been trying to construct a private network using a public network as a method for constructing a private network at a lower cost.

이와 같이 공중망을 이용하여 사설망의 기능을 제공하는 것을 가상사설망(Virtual Private Network)이라 한다. 인터넷의 발달로 인해 많은 망사업자들은 FR(Frame Relay)/ATM(Asynchronous Transfer Mode) 망을 IP(Internet Protocol) 망으로 교체하였고, 그에 따라 IP 망을 활용하여 가상 사설망을 제공하기 위한 기술들이 많이 개발되었다.The provision of the private network function using the public network is called a virtual private network. Due to the development of the Internet, many network operators have replaced FR (Frame Relay) / ATM (Asynchronous Transfer Mode) network with IP (Internet Protocol) network and have developed many technologies to provide virtual private network .

이러한 가상 사설망은 기업의 내부 사설 통신망과 공중 인터넷과 연결만 하면 되기 때문에 별도로 값비싼 장비나 소프트웨어를 구입하고 관리할 필요가 없다. 따라서, 기존의 사설망 연결 방식보다 비용이 대폭 절감되는 효과를 기대할 수 있으며 재택 근무자, 출장이 잦은 직원, 현재 근무자들이 인터넷 서비스 제공자와 인터넷을 통하여 기업 사설망에 연결할 수 있다는 장점도 가지고 있다.These virtual private networks only need to connect with the internal private network and the public Internet, so there is no need to purchase and manage expensive equipment or software separately. Therefore, it can be expected to have a significant cost reduction effect compared to the existing private network connection method, and it also has an advantage that the telecommuter, the frequent employee, and the current worker can connect to the enterprise private network through the Internet service provider and the Internet.

즉, 가상사설망의 경우 공중 인터넷을 이용하기 때문에 보다 유연하고 값싸게 본사와 지사, 지사와 지사, 외부 직원의 자료 공유가 용이해진다. 가상 사설망을 구축하는 방법으로 패킷 기반의 비연결형 네트워크인 인터넷상에서 MPLS, L2VPN, L3VPN, L2TP, PPTP과 같은 특정 프로토콜을 사용하여 연결성을 제공하거나 IPSec, SSL과 같은 보안 기능을 추가하여 가상 사설망을 구축하는 경우가 있다.In other words, virtual private networks use the public Internet, which makes it easier to share data between headquarters, branch offices, branch offices, and outside employees more flexibly and inexpensively. Virtual Private Network (VPN) is a method of establishing a virtual private network by providing connectivity using a specific protocol such as MPLS, L2VPN, L3VPN, L2TP, or PPTP on a packet-based connectionless network or by adding security functions such as IPSec and SSL .

하지만, 기존의 MPLS L2VPN, L3VPN, L2TP, PPTP 방식은, 단말 간에 IP 주소가 중복될 경우, 인터넷 서비스 제공자(또는 서버)가 IP 주소가 중복된 가입자 단말들을 서로 구분하지 못하고, 따라서, 가입자 단말기에게 회신 데이터를 전달하지 못한다는 문제점이 있다.However, in the conventional MPLS L2VPN, L3VPN, L2TP and PPTP methods, when an IP address is duplicated between terminals, the Internet service provider (or server) can not distinguish between the subscriber terminals having duplicated IP addresses, There is a problem that the reply data can not be transmitted.

상기한 바와 같은 문제점을 극복하기 위한 본 발명의 목적은 동일 IP 주소를 갖는 단말기를 사설망 내부뿐만 아니라 외부에서도 구별할 수 있게 하는 패킷 포워딩 장치를 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a packet forwarding apparatus capable of distinguishing terminals having the same IP address from inside and outside of a private network.

또한, 본 발명의 다른 목적은 상기 패킷 포워딩 장치에서 수행되는 패킷 포워딩 방법을 제공하는 것이다.It is another object of the present invention to provide a packet forwarding method performed in the packet forwarding apparatus.

상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 패킷 포워딩 방법은 패킷을 수신하는 단계, 상기 수신된 패킷으로부터 목적지 주소를 추출하는 단계, 상기 수신된 패킷으로부터 목적지 식별자를 추출하는 단계; 상기 추출된 주소 및 식별자를 기초로하여 상기 패킷을 송신할 포트를 결정하는 단계 및 상기 결정된 포트로 상기 패킷을 송신하는 단계를 포함한다.According to an aspect of the present invention, there is provided a packet forwarding method including receiving a packet, extracting a destination address from the received packet, extracting a destination identifier from the received packet, ; Determining a port to transmit the packet based on the extracted address and identifier, and transmitting the packet to the determined port.

여기서, 상기 포트를 결정하는 단계는 상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 한다.The determining of the port may include generating a factor including the extracted destination address and the identifier as a pair, searching the generated factor in the forwarding table including the factor and the corresponding port information, .

여기서, 상기 포트를 결정하는 단계는 상기 생성된 인자가 상기 포워딩 테이블에서 검색되지 않으면, 미리 설정된 디폴트 포트를 상기 패킷을 송신할 포트로 결정하는 것을 특징으로 한다. The determining of the port may include determining a predetermined default port as a port for transmitting the packet if the generated parameter is not found in the forwarding table.

여기서, 상기 목적지의 주소는 목적지의 IP 프리픽스인 것을 특징으로 한다.Here, the address of the destination is an IP prefix of the destination.

여기서, 상기 식별자는 상기 목적지의 네트워크의 ID인 것을 특징으로 한다.Here, the identifier is an ID of the destination network.

여기서, 상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC 주소인 것을 특징으로 한다.Here, the identifier is a MAC address of a network device included in the destination network.

여기서, 상기 패킷 포워딩 방법은 패킷을 수신하기 전에 단말 식별자 기반의 네트워크 구조 정보를 포함하는 라우팅 테이블을 참조하여 포워딩 테이블을 생성하는 단계를 더 포함한다.Here, the packet forwarding method may further include generating a forwarding table by referring to a routing table including network structure information based on a terminal identifier before receiving a packet.

여기서, 상기 라우팅 테이블은 이웃한 네트워크 장치로부터 수신한 네트워크 구조 정보를 참조하여 생성된 것을 특징으로 한다.Here, the routing table is generated by referring to network structure information received from a neighboring network device.

또한, 상술한 본 발명의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 패킷 포워딩 방법은 패킷을 수신하는 단계, 상기 수신된 패킷으로부터 출발지 및 목적지 주소를 추출하는 단계, 상기 수신된 패킷으로부터 출발지 및 목적지 식별자를 추출하는 단계 및 상기 추출된 주소 및 식별자를 반영하도록 상기 수신된 패킷의 헤더를 수정하는 단계를 포함한다.According to another aspect of the present invention, there is provided a packet forwarding method including receiving a packet, extracting a source address and a destination address from the received packet, Extracting a destination identifier, and modifying a header of the received packet to reflect the extracted address and the identifier.

여기서, 상기 목적지의 주소는 목적지의 IP 프리픽스인 것을 특징으로 한다.Here, the address of the destination is an IP prefix of the destination.

여기서, 상기 식별자는 상기 목적지의 네트워크의 ID인 것을 특징으로 한다. Here, the identifier is an ID of the destination network.

여기서, 상기 식별자는 상기 목적지 네트워크에 포함된 네트워크 장치의 MAC 주소인 것을 특징으로 한다.Here, the identifier is a MAC address of a network device included in the destination network.

또한, 상술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 패킷 포워딩 장치는 수신된 패킷을 저장하는 저장부, 상기 저장된 패킷에서 목적지 주소 및 식별자를 추출하고, 추출된 주소 및 식별자를 기초로하여 상기 패킷을 송신할 포트를 결정하는 제어부 및 단말 또는 타 네트워크 장치에 대해, 패킷을 수신하고, 상기 결정된 포트를 통해 패킷을 송신하는 통신부를 포함한다.According to another aspect of the present invention, there is provided a packet forwarding apparatus including a storage unit for storing a received packet, a destination address extracting unit for extracting a destination address and an identifier from the stored packet, A control unit for determining a port to transmit the packet based on the received packet, and a communication unit for receiving the packet to the terminal or another network device and transmitting the packet through the determined port.

여기서 상기 제어부는 상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 한다.Here, the controller generates a factor including the extracted destination address and the identifier as a pair, and determines the port by searching the forwarding table including the factor and the corresponding port information in the generated factor .

여기서, 상기 제어부는 상기 추출된 주소 및 식별자를 반영하도록 상기 저장된 패킷의 헤더를 수정하는 것을 특징으로 한다.Here, the controller may modify the header of the stored packet to reflect the extracted address and the identifier.

여기서, 상기 목적지의 주소는 목적지의 IP 프리픽스인 것을 특징으로 한다.Here, the address of the destination is an IP prefix of the destination.

여기서, 상기 식별자는 상기 목적지의 네트워크의 ID인 것을 특징으로 한다. Here, the identifier is an ID of the destination network.

여기서, 상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC 주소인 것을 특징으로 한다.Here, the identifier is a MAC address of a network device included in the destination network.

상술한 바와 같은 패킷 포워딩 장치 및 방법에 따르면, 사설망의 사용으로 인해 단말기의 IP 주소가 중복되는 경우에도 사설망 외부에서 상기 단말기를 구별하여 통신할 수 있다. According to the above-described packet forwarding apparatus and method, even when the IP address of the terminal is duplicated due to the use of the private network, the terminal can be distinguished from outside the private network and can communicate with the terminal.

또한, 하나의 네트워크 장치로 IP 주소 중복 문제를 해결할 수 있으므로 경제성 있는 사설망을 구축할 수 있다.In addition, one network device can solve the problem of IP address duplication, so it is possible to construct an economical private network.

도 1은 네트워크 상에서 라우터의 동작을 나타내는 개념도이다.
도 2는 네트워크의 구조의 일 실시예를 나타내는 개념도이다.
도 3은 네트워크의 구조의 다른 실시예를 나타내는 개념도이다.
도 4는 라우터의 포워딩 테이블을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 라우터의 포워딩 테이블을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 패킷 전달 과정을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 포워딩 테이블 관리 과정을 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 장치의 구성을 나타내는 블록도이다.
1 is a conceptual diagram showing the operation of a router on a network.
2 is a conceptual diagram showing an embodiment of the structure of a network.
3 is a conceptual diagram showing another embodiment of the structure of a network.
4 shows a forwarding table of the router.
5 shows a forwarding table of a router according to an embodiment of the present invention.
6 is a flowchart illustrating a packet delivery process according to an embodiment of the present invention.
7 is a flowchart illustrating a forwarding table management process according to an embodiment of the present invention.
8 is a block diagram illustrating a configuration of a network device according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 본 출원에서, "연결하다"의 용어는 명세서상에 기재된 요소의 물리적인 연결만을 의미하는 것이 아니라, 적기적인 연결, 네트워크적인 연결 등을 포함하는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof. In the present application, the term "connect" should be understood to include not only physical connections of the elements described in the specification but also timely connections, network connections, and the like.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 네트워크 상에서 라우터의 동작을 나타내는 개념도이다.1 is a conceptual diagram showing the operation of a router on a network.

도 1을 참조하면, 네트워크 상에서 패킷이 제1 단말(100)로부터 제2 단말(110)까지 전달되는 경로는 2개이다. 제 1경로는 세 개의 라우터를 경유하고, 제 2 경로는 네 개의 라우터를 경유한다. 라우터는 일반적으로 네트워크 상에서 출발지부터 목적지까지의 복수의 경로 중 비용이 가장 적게 드는(또는 빨리 전송할 수 있는)경로를 정하여 패킷을 전송한다. 따라서, 라우터 A(120)는 세 개의 라우터만을 경유하여 패킷을 전달 할 수 있는 제1 경로를 선택하고, 패킷을 라우터 C(130)에게 전송한다. Referring to FIG. 1, there are two routes through which packets are transmitted from the first terminal 100 to the second terminal 110 on the network. The first path is via three routers, and the second path is via four routers. Routers generally transmit packets by setting a route with the least cost (or fastest transmission) among a plurality of routes from a source to a destination on a network. Accordingly, the router A 120 selects the first path through which the packet can be transmitted via only three routers, and transmits the packet to the router C 130.

이때, 라우터가 출발지부터 목적지까지의 비용이 가장 적게 드는 경로(이하, '최소경로'라 지칭함)를 판단하기 위해서는 전체 네트워크 구조에 대한 정보가 필요하다. 라우터는 자신에게 직접 연결된 주변 라우터 또는 사용자 단말 등을 인식할 수 있기 때문에 자신을 중심으로 주변 네트워크 구조만을 파악할 수 있다. 따라서, 라우터는 자신이 파악한 네트워크 구조에 관한 정보(이하, '라우팅 테이블'이라 지칭함)를 다른 라우터와 교환하여, 전체 네트워크 구조를 파악할 수 있다. 단말이나 라우터 등은 네트워크 상에 새롭게 추가되거나 존재하던 것이 제거될 수 있다. 따라서 라우터는 미리 설정된 일정 주기로 다른 라우터와 라우팅 테이블을 교환하여 변경된 네트워크 구조를 기준으로 최소경로를 판단하고 패킷을 전달할 수 있다. At this time, information on the entire network structure is needed in order to determine a route (hereinafter, referred to as 'minimum path') in which the router has the least cost from the source to the destination. Since the router can recognize a peripheral router or a user terminal directly connected to the router, it can grasp only the surrounding network structure based on itself. Accordingly, the router exchanges information about the network structure that the router has grasped (hereinafter, referred to as a 'routing table') with another router to grasp the entire network structure. A terminal, a router, or the like may be newly added or existing on the network. Accordingly, the router exchanges routing tables with other routers at a preset periodic interval, determines a minimum path based on the changed network structure, and can forward the packet.

도 1에서는 실제 네트워크를 단순화한 두 개의 경로만을 가진 네트워크를 예를 들었지만, 실제 네트워크는 패킷의 출발지부터 목적지까지의 경로가 훨씬 복잡하다. 패킷 전달 경로상의 라우터간에 물리적인 거리가 다르고, 전송속도도 다르기 때문에 패킷 전달 경로상의 라우터의 개수만으로 최소경로를 결정할 수 없다. 따라서, 라우터는 단순히 경로상의 라우터의 개수가 아니라, 대역폭, 전송지연, 회선 신뢰도, 부하 등 다양한 정보를 고려하여 최소경로를 판단할 수 있다.
In FIG. 1, an example of a network having only two paths that simplify an actual network is taken as an example, but a route from a source to a destination of a packet is much more complicated. Since the physical distance between the routers on the packet transmission path is different and the transmission speed is different, the minimum path can not be determined based on the number of routers on the packet transmission path. Therefore, the router can determine the minimum path considering not only the number of routers on the route but also various information such as bandwidth, transmission delay, circuit reliability, load, and the like.

이하에서는 설명의 편의를 위해 전체 네트워크를 종단 라우터(또는 사용자 단말과 직접 연결된 라우터)를 기준으로 ISP망(또는 인터넷)을 의미하는 외부 네트워크와 기업망, 자가망, 사설망, VLAN(Virtual Local Architecture Network) 및 VPN 등을 의미하는 내부 네트워크로 구분하여 설명한다.
Hereinafter, for the sake of convenience of description, the entire network may be referred to as an external network, an ISP network (or Internet), a corporate network, a home network, a private network, a VLAN (Virtual Local Architecture Network ) And an internal network which means a VPN or the like.

도 2와 도 3은 기존 네트워크의 구조를 나타내는 구조도로서, 도 2는 여러 기업이 각각의 라우터를 사용하여 구축한 네트워크의 구조를 나타내고, 도 3은 여러 기업이 동일한 라우터를 사용하여 구축한 네트워크의 구조를 나타낸다.2 and 3 show a structure of an existing network. FIG. 2 shows a structure of a network constructed by a plurality of companies using respective routers, and FIG. 3 shows a structure of a network constructed by several companies using the same router. Structure.

도 2를 참조하면, 내부 네트워크 A(200), 내부 네트워크 B(210)는 라우터 A(220), 라우터 B(230)를 각각 사용하여 외부 네트워크와 연결되며, 단말 A(240), 단말 B(250)를 각각 포함한다. 2, the internal network A 200 and the internal network B 210 are connected to the external network using the router A 220 and the router B 230, respectively, and are connected to the terminal A 240, the terminal B 250, respectively.

도 2는 IP 주소 체계에서 라우터 A(220)의 주소가 168.0.0.1/16이고, 단말 A(240)의 주소가 10.0.0.0/16이고, 라우터 B(230)의 주소가 168.0.0.2/16이고, 단말 B(250)의 주소가 10.0.0.0/16인 경우를 가정한다. 패킷을 전송하는 라우터들은 단말이 아니라 단말을 포함하는 라우터를 기준으로 패킷을 전달한다. 따라서, 외부 네트워크에서 인식하는 단말 A(240)의 주소는 168.0.0.1/16이고, 단말 B(250)의 주소는 168.0.0.2/16이고, 단말 A(240)와 단말 B(250)는 주소로 구별될 수 있다. 또한, 내부 네트워크에서도 라우터 A(220), 라우터 B(230)는 각각 10.00.0/16의 주소를 갖는 단말을 한대만 인식하기 때문에 단말 A(240) 와 B의 주소가 충돌하는 문제는 발생하지 않는다.FIG. 2 is a diagram illustrating an example in which the address of the router A 220 is 168.0.0.1/16, the address of the terminal A 240 is 10.0.0.0/16 and the address of the router B 230 is 168.0.0.2/16 And the address of the terminal B 250 is 10.0.0.0/16. Routers transmitting packets transmit packets based on a router including a terminal rather than a terminal. Accordingly, the address of the terminal A 240 that is recognized by the external network is 168.0.0.1/16, the address of the terminal B 250 is 168.0.0.2/16, the terminal A 240 and the terminal B 250 receive the address ≪ / RTI > Also, in the internal network, since the router A 220 and the router B 230 recognize only one terminal having the address of 10.00.0/16, the problem of the address conflict between the terminal A 240 and the terminal A 240 does not occur .

도 3을 참조하면, 내부 네트워크 A(300), 내부 네트워크 B(310)는 동일한 라우터 A(320)를 사용하여 외부 네트워크와 연결되며, 단말 A(330), 단말 B(340)를 각각 포함한다. 3, an internal network A 300 and an internal network B 310 are connected to an external network using the same router A 320 and include a terminal A 330 and a terminal B 340, respectively .

도 3은 IP 주소 체계에서 라우터 A(320)의 주소가 168.0.0.1/16이고, 내부 네크워크에서 단말 A(330)의 주소가 10.0.0.0/16이고, 단말 B(340)의 주소가 10.0.0.0/16인 경우를 가정한다. 도 2에서 설명한 바와 같이 외부 네트워크는 두 단말(330, 340)을 포함하는 라우터 A(320)의 주소를 인식한다. 따라서, 외부 네트워크에서 인식하는 단말 A(330), 단말 B(340)의 주소는 각각 168.0.0.1/16로 동일하다. 또한, 내부 네트워크에서 인식하는 단말 A(330), 단말 B(340)의 주소도 모두 10.0.0.0/16으로, 라우터 A(320)는 단말 A(330)와 단말 B(340)를 구별할 수 없다.FIG. 3 is a diagram illustrating an example in which the address of router A 320 is 168.0.0.1/16 in the IP address scheme, the address of terminal A 330 is 10.0.0.0/16 and the address of terminal B 340 is 10.0.0.0/16 in the internal network. 0.0 / 16. As described in FIG. 2, the external network recognizes the address of the router A 320 including the two terminals 330 and 340. Therefore, the addresses of the terminal A 330 and the terminal B 340 recognized by the external network are the same at 168.0.0.1/16. The addresses of the terminal A 330 and the terminal B 340 that are recognized by the internal network are all 10.0.0.0/16 and the router A 320 can distinguish between the terminal A 330 and the terminal B 340 none.

이와 같은 경우, 기존의 라우터는 패킷의 헤더에 기록된 목적지 IP 주소를 기반으로 패킷을 전달하기 때문에, IP 주소의 충돌로 인해 패킷을 전달하지 못할 수 있다.
In this case, since the existing router transmits the packet based on the destination IP address recorded in the header of the packet, the packet may not be delivered due to the collision of the IP address.

도 4는 라우터의 포워딩 테이블을 나타낸다.4 shows a forwarding table of the router.

도 4를 참조하면, 포워딩 테이블은 IP 프리픽스(400)와 그에 대응되는 출력포트(410)를 항목으로 포함할 수 있다. Referring to FIG. 4, the forwarding table may include an IP prefix 400 and a corresponding output port 410 as an item.

포워딩 테이블이란 패킷의 목적지 주소와 그에 대응되는 라우터 출력포트의 리스트이다. 라우터는 다른 라우터 또는 사용자 단말이 연결되어 패킷을 입출력 할 수 있는 복수의 포트를 포함할 수 있다. 따라서, 라우터는 패킷을 수신하면, 수신된 패킷에서 목적지 주소를 추출하고, 추출된 목적지 주소를 포워딩 테이블에서 검색하여 패킷을 출력할 포트를 결정할 수 있다.A forwarding table is a list of packet destination addresses and corresponding router output ports. The router may include a plurality of ports through which other routers or user terminals can connect and receive packets. Accordingly, when the router receives the packet, it can extract the destination address from the received packet, and can search the forwarding table for the extracted destination address to determine the port to output the packet.

포워딩 테이블은 라우팅 테이블을 참조하여 생성될 수 있다. 라우팅 테이블은 네트워크의 구조를 표로 나타낸 것으로, 네트워크 구조를 표현할 수 있는 다양한 항목의 정보를 포함할 수 있다. 예를 들면, 마스크(mask), 목적지 주소, 다음 홉(hop) 주소, 플래그(flags), 참조 횟수, 사용, 인터페이스 등의 다양한 항목을 포함할 수 있다. 인터넷은 너무 광범위해서 라우터가 네트워크 구조에 관한 정보를 저장는데는 한계가 있다. 따라서, 라우터는 몇 가지 방법을 통해 라우팅 테이블을 효율적으로 사용한다. The forwarding table can be created by referring to the routing table. The routing table is a table showing the structure of the network, and may include various items of information that can express the network structure. For example, various items such as a mask, a destination address, a next hop address, flags, a reference count, usage, an interface, and the like. The Internet is so wide that there is a limit to routers storing information about network structures. Therefore, routers use routing tables efficiently in several ways.

라우팅 방법은 크게 다음 홉 라우팅(Next-Hop Routing), 호스트 지정 라우팅 (Host-Specific Routing), 네트워크 지정 라우팅(Network-Specific Routing), 리폴트 라우팅(Default Routing)으로 구분될 수 있다. 각 라우팅 방법의 특징은 다음과 같다.The routing method can be roughly divided into next hop routing, host-specific routing, network-specific routing, and default routing. The characteristics of each routing method are as follows.

1. 다음 홉 라우팅1. Next hop routing

- 목적지에 대한 전체 경로 대신 다음 홉(또는 라우터)에 대한 주소만을 저장.- Store only the address for the next hop (or router) instead of the full path to the destination.

2. 호스트 지정 라우팅2. Host-specific routing

- 목적지 호스트에 주소를 저장.- Store the address on the destination host.

- 라우팅 테이블이 너무 커져 비효율적.- The routing table is too large to be inefficient.

- 경로를 점검하거나 보안을 위해 특정 경로를 이용해야 하는 경우 사용.- Use when you need to check the path or use a specific path for security.

3. 네트워크 지정 라우팅3. Network-specific routing

- 목적지에 대한 사용자 단말(또는 호스트) 주소 대신, 사용자 단말을 포함하는 네트워크의 주소를 저장.- Store the address of the network containing the user terminal, instead of the user terminal (or host) address for the destination.

4. 디폴트 라우팅4. Default Routing

- 라우팅 테이블에 명시되어 있지 않은 주소를 목적지로 하는 패킷의 전달에 사용.- Used to forward packets destined for addresses not specified in the routing table.

- 다른 라우팅 방법을 보조함.- Supports other routing methods.

상기 네 개의 라우팅 방법 중 호스트 지정 라우팅 방법을 제외한 나머지 라우팅 방법들은 네트워크 주소를 기준으로 패킷을 전달할 수 있다. 본 발명은 상기 네 개의 방법 모두에서 적용될 수 있지만, 이하에서는 설명의 편의를 위해 일반적으로 많이 사용되고 있는 네트워크 주소를 기준으로 한 라우팅 방법에 적용될 수 있는 포워딩 방법을 설명한다.Among the four routing methods, the remaining routing methods except for the host-specified routing method can forward packets based on the network address. Although the present invention can be applied to all four methods, a forwarding method applicable to a routing method based on a network address, which is generally used for convenience of explanation, will be described below.

네트워크 주소를 기준으로 한 라우팅 방법에서 라우터는 사용자 단말의 주소 대신 네트워크의 주소를 사용하기 때문에 포워딩 테이블은 네트워크 주소와 그에 대응되는 출력포트로 구성될 수 있다. 패킷에 포함된 IP 주소는 네트워크 주소와 호스트(host) 주소를 포함할 수 있다. 따라서, 라우터는 패킷의 목적지 IP 주소에서 네트워크 주소를 추출할 필요가 있다. IP 주소 체계는 0.0.0.0 ~ 255.255.255.255의 영역에서 설정된다. 0 ~ 255를 비트로 바꾸면 00000000b ~ 11111111b의 8비트로 표시될 수 있으며, IP 주소 체계는 8비트의 수 네 개로 표시되므로 총 32비트로 표시된다. 여기서, 32개의 비트 중에 상위 비트가 네트워크 주소를 나타내며 'IP 프리픽스'라 지칭된다. 일반적으로 '/'뒤에 상위 몇 비트가 IP 프리픽스인지 표시된다. 예를 들면, IP 프리픽스 10.20.100.200/16에서 네트워크 주소는 상위 16비트인 10.20 이고, 호스트 주소는 하위 16비트인 100.200일 수 있다.In the routing method based on the network address, since the router uses the address of the network instead of the address of the user terminal, the forwarding table can be composed of the network address and the corresponding output port. The IP address included in the packet may include a network address and a host address. Therefore, the router needs to extract the network address from the destination IP address of the packet. The IP address scheme is set in the range 0.0.0.0 ~ 255.255.255.255. If 0 to 255 are changed to bits, it can be displayed as 8 bits from 00000000b to 11111111b. The IP address system is represented by four 8 bits, so that it is displayed as 32 bits in total. Here, an upper bit among the 32 bits represents a network address and is referred to as an " IP prefix ". Typically, the upper bits after the '/' indicate the IP prefix. For example, in the IP prefix 10.20.100.200/16, the network address is 10.20, which is the upper 16 bits, and the host address may be 100,200, which is the lower 16 bits.

도 4와 같은 포워딩 테이블을 사용하는 라우터는 동일한 IP 프리픽스를 갖는 사용자 단말이 복수 개 존재하여, 포워딩 테이블에 하나의 IP 프리픽스에 대응되는 출력포트가 복수인 경우, 각 사용자 단말에게 패킷을 전달할 수 없다. 예를 들면, 동일한 내부 네트워크 IP 주소를 갖는 두 개의 단말 중 하나의 단말을 목적지로 하는 패킷이 라우터에게 전달되면, 라우터는 전달된 패킷에서 IP 프리픽스를 추출한다. 라우터는 추출된 IP 프리픽스를 포워딩 테이블에서 룩업(look up)한다. 이때, 하나의 IP 프리픽스에 대응하는 출력포트가 두 개 존재하므로, 라우터는 두 개의 출력포트 중 어느 포트로 패킷을 전달할지 결정할 수 없고, 따라서, 패킷을 전달할 수 없게 된다.
The router using the forwarding table as shown in FIG. 4 can not transmit a packet to each user terminal when there are a plurality of user terminals having the same IP prefix and a plurality of output ports corresponding to one IP prefix in the forwarding table . For example, if a packet destined for one of two terminals having the same internal network IP address is transmitted to the router, the router extracts the IP prefix from the transmitted packet. The router looks up the extracted IP prefix in the forwarding table. At this time, since there are two output ports corresponding to one IP prefix, the router can not determine to which one of the two output ports the packet is to be forwarded, and thus can not forward the packet.

도 5는 본 발명의 일 실시예에 따른 라우터의 포워딩 테이블으로서, IP 프리픽스와 그에 대응하는 출력포트의 리스트로 구성되어 있다.FIG. 5 is a forwarding table of a router according to an embodiment of the present invention, and is composed of a list of IP prefixes and corresponding output ports.

도 5를 참조하면, 포워딩 테이블은 IP 프리픽스(500) 및 식별자(510)의 조합과 그에 대응되는 출력포트(520)를 항목으로 포함할 수 있다.Referring to FIG. 5, the forwarding table may include a combination of the IP prefix 500 and the identifier 510 and the corresponding output port 520 as an item.

라우터는 다른 라우터와 라우팅 프로토콜을 이용하여 라우팅 테이블을 교환할 수 있으므로, 하나의 라우터는 네트워크 상의 다른 라우터들에게 식별자 정보가 추가된 라우팅 테이블을 전파할 수 있다. Routers can exchange routing tables using routing protocols with other routers, so one router can propagate the routing table with the identifier information added to other routers on the network.

여기서, 식별자(510)는 목적지 네트워크를 다른 네트워크와 구분할 수 있는 정보일 수 있다. 예를 들면, 식별자(510)는 네트워크 ID, 네트워크를 관리하는 네트워크 장치의 MAC(Medium Access Control) 주소 및 사용자 단말의 MAC 주소 등의 다양한 정보일 수 있다.Here, the identifier 510 may be information capable of distinguishing the destination network from other networks. For example, the identifier 510 may be various information such as a network ID, a medium access control (MAC) address of the network device managing the network, and a MAC address of the user terminal.

따라서, 네트워크 상의 각 라우터는 수신된 라우팅 테이블을 참조하여 식별자(510) 정보가 추가된 포워딩 테이블을 생성하거나 갱신할 수 있다. 이와 같이 식별자(510) 정보를 추가된 포워딩 테이블을 사용함으로써, 사설 IP 주소뿐만 아니라 공인 IP 주소를 사용하는 네트워크 영역에서도 라우터는 동일한 IP 프리픽스를 갖는 단말기나 네트워크 장치를 구별하여 패킷을 송수신할 수 있다.
Accordingly, each router on the network can create or update the forwarding table to which the identifier 510 information is added by referring to the received routing table. By using the forwarding table to which the identifier 510 information is added, the router can transmit and receive a packet separately from a terminal or a network device having the same IP prefix, even in a network area using a public IP address as well as a private IP address .

도 6은 본 발명의 일 실시예에 따른 패킷 전달 과정을 나타내는 흐름도로써, 라우터가 패킷에서 식별자 정보 및 IP 주소 정보를 추출하여 패킷을 전달하는 과정을 나타낸다.FIG. 6 is a flowchart illustrating a process of transmitting a packet according to an embodiment of the present invention. FIG. 6 illustrates a process in which a router extracts identifier information and IP address information from a packet and delivers the packet.

도 6을 참조하면, 라우터는 패킷을 수신하면(S600), 먼저 패킷에서 패킷 목적지의 식별자 및 IP 프리픽스를 추출할 수 있다(S610). 패킷이 출발지부터 목적지까지 전달되는 과정에는 여러 개의 라우터가 존재할 수 있기 때문에, 라우터는 출발지로부터 패킷을 직접 수신할 수도 있고, 다른 라우터로부터 패킷을 수신할 수도 있다. Referring to FIG. 6, when a router receives a packet (S600), it may first extract an identifier of a packet destination and an IP prefix in a packet (S610). Because there may be multiple routers in the process of forwarding a packet from its origin to its destination, the router may either receive the packet directly from the source, or it may receive the packet from another router.

이때, 라우터는 추출된 IP 프리픽스 및 식별자를 반영하도록 패킷의 헤더를 수정할 수 있다. 따라서, 이후, 목적지까지의 패킷 전달 과정에서 타 라우터는 추출과정을 반복하지 않을 수 있다. 패킷의 헤더에는 이미 IP 프리픽스가 포함되어 있기 때문에 라우터는 패킷의 헤더에 식별자 정보를 추가로 포함시킬 수 있다.At this time, the router can modify the header of the packet to reflect the extracted IP prefix and the identifier. Therefore, the other routers may not repeat the extraction process in the process of transmitting the packets to the destination. Since the IP prefix is already included in the header of the packet, the router can further include the identifier information in the header of the packet.

다음으로, 라우터는 추출된 IP 프리픽스와 식별자를 하나의 인자로 하여 미리 생성된 포워딩 테이블을 검색할 수 있다(S620). 포워딩 테이블은 식별자 및 IP 프리픽스의 조합에 대응되는 출력포트의 리스트로 구성될 수 있다. 따라서, 라우터는 동일한 IP 프리픽스에 대응되는 출력포트가 복수 개 존재하더라도 식별자를 이용하여 패킷을 전송할 출력포트를 검색할 수 있다.Next, the router can retrieve the forwarding table generated in advance, using the extracted IP prefix and the identifier as a single factor (S620). The forwarding table may comprise a list of output ports corresponding to a combination of the identifier and the IP prefix. Therefore, even though a plurality of output ports corresponding to the same IP prefix exist, the router can search for an output port through which to transmit a packet by using the identifier.

다음으로, 라우터는 검색된 출력포트로 패킷을 전송할 수 있다(S630). 앞에서 설명한 것과 마찬가지로, 패킷이 출발지부터 목적지까지 전달되는 과정에는 여러 개의 라우터가 존재할 수 있기 때문에, 라우터는 목적지에 패킷을 직접 전송할 수도 있고, 다른 라우터에 패킷을 전송할 수도 있다. Next, the router can transmit the packet to the searched output port (S630). As described earlier, there may be multiple routers in the process of forwarding a packet from its origin to its destination, so the router can either forward the packet directly to its destination or send it to another router.

도 7은 본 발명의 일 실시예에 따른 포워딩 테이블 관리 과정을 나타내는 흐름도로써, 라우터가 연결된 사용자 단말 또는 주변 라우터로부터 라우팅 테이블을 교환하여 포워딩 테이블을 생성하고 갱신하는 과정을 나타낸다.FIG. 7 is a flowchart illustrating a process of managing a forwarding table according to an embodiment of the present invention. Referring to FIG. 7, a forwarding table is created and updated by exchanging a routing table from a user terminal or a neighboring router connected to the router.

도 7을 참조하면, 라우터는 직접 연결된 라우터와 라우팅 테이블을 교환할 수 있다(S700). 여기서, 라우팅 테이블을 교환한다는 의미는 라우터가 타 라우터에게 자신의 라우팅 테이블을 송신하고, 타 라우터의 라우팅 테이블을 수신한다는 의미이지, 자신의 라우팅 테이블을 타 라우터의 라우팅 테이블로 교체한다는 의미는 아니다.Referring to FIG. 7, a router may exchange a routing table with a directly connected router (S700). Here, exchanging the routing table means that the router transmits its routing table to another router and receives the routing table of another router, which does not mean that the routing table of its own router is replaced with the routing table of another router.

라우터는 직접 연결된 라우터 만을 인식할 수 있기 때문에, 네트워크 상의 각 라우터는 서로 라우팅 테이블을 교환하여 전체 네트워크 구조를 파악할 수 있고, 직접 연결된 라우터의 정상작동 여부도 확인할 수 있다.Because routers can only recognize directly connected routers, each router on the network can exchange routing tables with each other to determine the overall network structure and verify the normal operation of the directly connected routers.

외부 네트워크의 구조는 네트워크에 새로운 라우터가 추가되거나 존재하던 라우터가 제거되는 등 변동될 수 있으므로, 라우터는 미리 설정된 일정 주기로 라우팅 테이블의 교환을 반복하여 변동된 네트워크 구조를 파악할 수 있다. 네트워크 관리자가 라우팅 테이블의 항목을 수동으로 입력하여 라우터가 네트워크 구조를 파악하는 방법도 가능하나 현재의 인터넷과 같이 광범위한 네트워크 구조에서는 사용하지 않으며, 실험적인 네트워크에서 제한적으로 사용되는 방법이다.Since the structure of the external network may be changed by adding a new router to the network or removing the existing router, the router can repeat the exchange of the routing table at predetermined predetermined intervals to grasp the changed network structure. It is possible for the network administrator to identify the network structure by manually entering the items in the routing table, but it is not used in a wide range of network structures such as the current Internet, and is a limited method in an experimental network.

다음으로, 라우터는 자신에게 연결된 사용자 단말의 IP 주소와 사용자 단말을 포함하는 네트워크의 식별자를 이용하여 인접 사용자 단말을 파악할 수 있다(S710). 내부 네트워크의 구조는 사용자 단말이 네트워크 상에 추가되거나 제거되는 경우 또는 사용자 단말을 관리하는 허브나 스위치 같은 네트워크 장치가 추가되거나 제거되는 등에 따라 변동될 수 있다. 따라서, 라우터는 미리 설정된 일정 주기로 내부 네트워크 구조를 파악하여 변동된 구조를 파악할 수 있다.Next, the router can identify the neighboring user terminal using the IP address of the user terminal connected to the router and the identifier of the network including the user terminal (S710). The structure of the internal network may vary depending on whether the user terminal is added or removed from the network or the network device such as a hub or switch that manages the user terminal is added or removed. Accordingly, the router can grasp the changed structure by grasping the internal network structure at a preset periodicity.

내부 네트워크를 포함하는 라우터에서 단계 S700 및 S710이 수행되는 경우, 단계 S700은 외부 네트워크 구조를 파악하는 과정이고, 단계 S710은 내부 네트워크 구조를 파악하는 과정이다. 외부 네트워크와 내부 네트워크는 독립적이기 때문에 단계 S700 및 S710은 서로 순서에 관계없이 수행될 수 있다. 예를 들면, 단계 S700이 먼저 수행되고 단계 S700이 수행될 수 있다. 또한, 내부 네트워크를 포함하지 않는 라우터(또는 사용자 단말과 연결되지 않고 타 라우터와 연결된 라우터)는 단계 S710을 수행하지 않을 수 있다.When steps S700 and S710 are performed in a router including an internal network, step S700 is a step of grasping an external network structure, and step S710 is a step of grasping an internal network structure. Since the external network and the internal network are independent, steps S700 and S710 can be performed independently of each other. For example, step S700 may be performed first and step S700 may be performed. In addition, a router not including an internal network (or a router connected to another router without being connected to a user terminal) may not perform step S710.

다음으로, 라우터는 포워딩 테이블을 생성 및 갱신할 수 있다(S720). 내부 네트워크를 포함하는 라우터의 경우에는 교환된 라우팅 테이블과 생성된 네트워크 정보를 모두 이용하여 포워딩 테이블을 생성 및 갱신할 수 있고, 내부 네트워크를 포함하지 않는 라우터의 경우에는 교환된 라우팅 테이블 만을 이용하여 포워딩 테이블을 생성 및 갱신할 수 있다.Next, the router can create and update the forwarding table (S720). In the case of a router including an internal network, a forwarding table can be created and updated using both the exchanged routing table and the generated network information. In the case of a router not including an internal network, forwarding using only the exchanged routing table You can create and update tables.

단계 S700 내지 단계 S720을 통해 라우터는 효율적으로 패킷을 전달하기 위한 준비를 할 수 있다.
Through the steps S700 to S720, the router can prepare for efficiently delivering the packet.

도 8은 본 발명의 일 실시예에 따른 네트워크 장치의 구성을 나타내는 블록도로써, IP 주소 이외에 추가로 단말을 식별할 수 있는 식별자 정보를 이용하여 패킷을 포워딩하는 네트워크 장치의 구성을 나타낸다.FIG. 8 is a block diagram illustrating a configuration of a network device according to an exemplary embodiment of the present invention. Referring to FIG. 8, there is shown a configuration of a network device for forwarding a packet using identifier information capable of identifying a terminal in addition to an IP address.

도 8을 참조하면, 네트워크 장치는 제어부(800), 저장부(810) 및 통신부(820)를 포함할 수 있다. Referring to FIG. 8, the network device may include a control unit 800, a storage unit 810, and a communication unit 820.

제어부(800)는 적어도 하나의 처리장치(예를 들면, 중앙처리장치, 입출력 처리장치, 그래픽 처리장치 등)로 구성될 수 있고, 네트워크 장치의 각 구성 요소를 제어하고, 각 구성 요소로부터 제공받는 정보를 처리할 수 있다.The control unit 800 may be configured with at least one processing device (e.g., a central processing unit, an input / output processing device, a graphic processing device, etc.), and controls each component of the network device, Information can be processed.

구체적으로, 제어부(800)는 다음과 같은 동작할 수 있다.Specifically, the control unit 800 can operate as follows.

제어부(800)는 통신부(820) 및 저장부(810)를 제어할 수 있다.The control unit 800 can control the communication unit 820 and the storage unit 810.

제어부(800)는 저장된 패킷에서 출발지 및 목적지 각각의 주소 및 식별자를 추출할 수 있다. 이때, 제어부(800)는 저장된 패킷의 헤더를 수정하여 추출된 주소 및 식별자 정보를 헤더에 포함시킬 수 있다.The control unit 800 can extract the addresses and identifiers of the source and destination in the stored packets. At this time, the controller 800 may modify the header of the stored packet and include the extracted address and identifier information in the header.

제어부(800)는 추출된 주소 및 식별자를 기초로 하여 패킷을 송신할 포트를 결정할 수 있다. 여기서, 제어부는 추출된 주소 및 식별자를 쌍으로 하나의 인자를 생성하고, 생성된 인자를 저장된 포워딩 테이블에서 검색하여 패킷을 송신할 포트를 결정할 수 있다. 여기서, 포워딩 테이블은 인자와 그에 대응하는 포트의 정보를 포함할 수 있다.The control unit 800 can determine a port to transmit the packet based on the extracted address and the identifier. Here, the control unit may generate a single argument in pairs of the extracted address and the identifier, and may search the stored forwarding table for the generated argument to determine a port for transmitting the packet. Here, the forwarding table may include information about the argument and the corresponding port.

제어부는(800) 라우팅 테이블을 참조하여 포워딩 테이블을 생성할 수 있다.The control unit can generate the forwarding table by referring to the routing table of (800).

저장부(810)는 휘발성 또는 비휘발성 저장 수단으로 구성될 수 있고, 제어부(800)의 제어에 의해 동작할 수 있으며, 구체적으로, 다음과 같이 동작할 수 있다.The storage unit 810 may be constituted by volatile or non-volatile storage means, and may be operated under the control of the control unit 800, and specifically, may operate as follows.

저장부는(810) 포워딩 테이블 및 라우팅 테이블을 저장할 수 있다.The storage may store (810) the forwarding table and the routing table.

저장부는(810) 패킷을 저장할 수 있다. 여기서, 패킷은 통신부(820)에 의해 단말 또는 타 네트워크 장치로부터 수신된 패킷일 수 있고, 제어부(800)에 의해 헤더의 정보가 수정된 패킷일 수도 있다.The storage unit may store the (810) packet. Here, the packet may be a packet received from the terminal or another network device by the communication unit 820, or may be a packet whose header information is modified by the control unit 800. [

통신부(820)는 적어도 하나의 포트(825)를 포함할 수 있고, 네트워크 장치의 제어에 의해 동작할 수 있으며, 각 포트는 단말 또는 타 네트워크 장치와 유선 또는 무선으로 연결될 수 있다. 연결 후, 통신부(820)는 라우팅 테이블 및 패킷을 송수신할 수 있다.
The communication unit 820 may include at least one port 825, and may operate under the control of a network device, and each port may be connected to a terminal or another network device by wire or wirelessly. After the connection, the communication unit 820 can transmit and receive the routing table and the packet.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.

100 : 제1 단말 110 : 제2 단말
120 : 라우터 A 130 : 라우터 C
200, 300 : 내부 네트워크 A 210, 310 : 내부 네트워크 B
220, 320 : 라우터 A 230 : 라우터 B
240, 330 : 단말 A 250, 340 : 단말 B
400, 500 : IP 프리픽스 410, 520 : 출력포트
510 : 식별자 800 : 제어부
810 : 저장부 820 : 통신부
100: first terminal 110: second terminal
120: Router A 130: Router C
200, 300: internal network A 210, 310: internal network B
220, 320: Router A 230: Router B
240, 330: terminal A 250, 340: terminal B
400, 500: IP prefix 410, 520: Output port
510: identifier 800:
810: Storage unit 820: Communication unit

Claims (18)

네트워크(network) 장치에서 수행되는 방법으로,
패킷(packet)을 수신하는 단계;
상기 수신된 패킷으로부터 목적지 주소를 추출하는 단계;
상기 수신된 패킷으로부터 목적지 식별자를 추출하는 단계;
상기 추출된 주소 및 식별자를 기초로 하여 상기 패킷을 송신할 포트(port)를 결정하는 단계; 및
상기 결정된 포트로 상기 패킷을 송신하는 단계를 포함하는 패킷 포워딩(forwarding) 방법.
As a method performed in a network device,
Receiving a packet;
Extracting a destination address from the received packet;
Extracting a destination identifier from the received packet;
Determining a port for transmitting the packet based on the extracted address and the identifier; And
And sending the packet to the determined port.
청구항 1에 있어서,
상기 포트를 결정하는 단계는,
상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블(table)에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 하는 패킷 포워딩 방법.
The method according to claim 1,
Wherein determining the port comprises:
Generating a factor including the extracted destination address and the identifier as a pair, and determining a port by searching the generated parameter in a forwarding table including the factor and the port information corresponding thereto, Forwarding method.
청구항 2에 있어서,
상기 포트를 결정하는 단계는,
상기 생성된 인자가 상기 포워딩 테이블에서 검색되지 않으면, 미리 설정된 디폴트(default) 포트를 상기 패킷을 송신할 포트로 결정하는 것을 특징으로 하는 패킷 포워딩 방법.
The method of claim 2,
Wherein determining the port comprises:
And if the generated parameter is not found in the forwarding table, a predetermined default port is determined as a port for transmitting the packet.
청구항 1에 있어서,
상기 목적지의 주소는 목적지의 IP(Internet Protocol) 프리픽스(prefix)인 것을 특징으로 하는 패킷 포워딩 방법.
The method according to claim 1,
Wherein the address of the destination is an Internet Protocol (IP) prefix of the destination.
청구항 1에 있어서,
상기 식별자는 상기 목적지의 네트워크의 ID(identification)인 것을 특징으로 하는 패킷 포워딩 방법.
The method according to claim 1,
Wherein the identifier is an identification of the destination network.
청구항 1에 있어서,
상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC(Medium Access Control) 주소인 것을 특징으로 하는 패킷 포워딩 방법.
The method according to claim 1,
Wherein the identifier is a Medium Access Control (MAC) address of a network device included in the destination network.
청구항 1에 있어서,
상기 패킷 포워딩 방법은,
패킷을 수신하기 전에,
단말 식별자 기반의 네트워크 구조 정보를 포함하는 라우팅(routing) 테이블을 참조하여 포워딩 테이블을 생성하는 단계를 더 포함하는 패킷 포워딩 방법.
The method according to claim 1,
The packet forwarding method includes:
Before receiving the packet,
And generating a forwarding table by referring to a routing table including network structure information based on the terminal identifier.
청구항 7에 있어서,
상기 라우팅 테이블은 이웃한 네트워크 장치로부터 수신한 네트워크 구조 정보를 참조하여 생성된 것을 특징으로 하는 패킷 포워딩 방법.
The method of claim 7,
Wherein the routing table is generated by referring to network structure information received from a neighboring network device.
네트워크(network) 장치에서 수행되는 방법으로,
패킷(packet)을 수신하는 단계;
상기 수신된 패킷으로부터 출발지 및 목적지 주소를 추출하는 단계;
상기 수신된 패킷으로부터 출발지 및 목적지 식별자를 추출하는 단계; 및
상기 추출된 주소 및 식별자를 반영하도록 상기 수신된 패킷의 헤더(header)를 수정하는 단계를 포함하는 패킷 포워딩 방법.
As a method performed in a network device,
Receiving a packet;
Extracting a source address and a destination address from the received packet;
Extracting a source and a destination identifier from the received packet; And
And modifying a header of the received packet to reflect the extracted address and the identifier.
청구항 9에 있어서,
상기 목적지의 주소는 목적지의 IP(Internet Protocol) 프리픽스(prefix)인 것을 특징으로 하는 패킷 포워딩 방법.
The method of claim 9,
Wherein the address of the destination is an Internet Protocol (IP) prefix of the destination.
청구항 9에 있어서,
상기 식별자는 상기 목적지의 네트워크의 ID(identification)인 것을 특징으로 하는 패킷 포워딩 방법.
The method of claim 9,
Wherein the identifier is an identification of the destination network.
청구항 9에 있어서,
상기 식별자는 상기 목적지 네트워크에 포함된 네트워크 장치의 MAC(Medium Access Control) 주소인 것을 특징으로 하는 패킷 포워딩 방법.
The method of claim 9,
Wherein the identifier is a medium access control (MAC) address of a network device included in the destination network.
수신된 패킷(packet)을 저장하는 저장부;
상기 저장된 패킷에서 목적지 주소 및 식별자를 추출하고, 추출된 주소 및 식별자를 기초로 하여 상기 패킷을 송신할 포트(port)를 결정하는 제어부; 및
단말 또는 타 네트워크 장치에 대해, 패킷을 수신하고, 상기 결정된 포트를 통해 패킷을 송신하는 통신부를 포함하는 패킷 포워딩(forwarding) 장치.
A storage unit for storing received packets;
A controller for extracting a destination address and an identifier from the stored packet, and determining a port to transmit the packet based on the extracted address and the identifier; And
And a communication unit for receiving a packet for the terminal or another network device and transmitting the packet through the determined port.
청구항 13에 있어서,
상기 제어부는,
상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블(table)에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 하는 패킷 포워딩 장치.
14. The method of claim 13,
Wherein,
Generating a factor including the extracted destination address and the identifier as a pair, and determining a port by searching the generated parameter in a forwarding table including the factor and the port information corresponding thereto, Forwarding device.
청구항 13에 있어서,
상기 제어부는,
상기 추출된 주소 및 식별자를 반영하도록 상기 저장된 패킷의 헤더(header)를 수정하는 것을 특징으로 하는 패킷 포워딩 장치.
14. The method of claim 13,
Wherein,
And modify the header of the stored packet to reflect the extracted address and the identifier.
청구항 13에 있어서,
상기 목적지의 주소는 목적지의 IP(Internet Protocol) 프리픽스(prefix)인 것을 특징으로 하는 패킷 포워딩 장치.
14. The method of claim 13,
Wherein the address of the destination is an Internet Protocol (IP) prefix of the destination.
청구항 13에 있어서,
상기 식별자는 상기 목적지의 네트워크의 ID(identification)인 것을 특징으로 하는 패킷 포워딩 장치.
14. The method of claim 13,
Wherein the identifier is an identification (ID) of the destination network.
청구항 13에 있어서,
상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC(Medium Access Control) 주소인 것을 특징으로 하는 패킷 포워딩 장치.
14. The method of claim 13,
Wherein the identifier is a Medium Access Control (MAC) address of a network device included in the destination network.
KR1020140016297A 2014-02-12 2014-02-12 Method for packet forwarding and apparatus thereof KR20150095151A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140016297A KR20150095151A (en) 2014-02-12 2014-02-12 Method for packet forwarding and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140016297A KR20150095151A (en) 2014-02-12 2014-02-12 Method for packet forwarding and apparatus thereof

Publications (1)

Publication Number Publication Date
KR20150095151A true KR20150095151A (en) 2015-08-20

Family

ID=54058256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140016297A KR20150095151A (en) 2014-02-12 2014-02-12 Method for packet forwarding and apparatus thereof

Country Status (1)

Country Link
KR (1) KR20150095151A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386975B1 (en) * 2020-11-16 2022-04-14 에스케이브로드밴드주식회사 Management device and control method thereof for network traffic
WO2022203465A1 (en) * 2021-03-25 2022-09-29 삼성전자 주식회사 Device and method for constructing virtual enterprise network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386975B1 (en) * 2020-11-16 2022-04-14 에스케이브로드밴드주식회사 Management device and control method thereof for network traffic
WO2022203465A1 (en) * 2021-03-25 2022-09-29 삼성전자 주식회사 Device and method for constructing virtual enterprise network

Similar Documents

Publication Publication Date Title
CN107911258B (en) SDN network-based security resource pool implementation method and system
TWI449380B (en) Data center network system and packet forwarding method thereof
JP4057615B2 (en) User MAC frame transfer method, edge transfer device, and program
JP5846199B2 (en) Control device, communication system, communication method, and communication program
EP2392100B1 (en) Scaled ethernet oam for mesh and hub-and-spoke networks
EP3253006B1 (en) Mapping server, network system, packet forwarding method and program
US20070165603A1 (en) Access network system, subscriber station device, and network terminal device
US8964749B2 (en) Method, device and system for establishing a pseudo wire
CN107820262A (en) Method for parameter configuration, apparatus and system
US8559431B2 (en) Multiple label based processing of frames
CN107682261B (en) Flow forwarding method and device
US20120158992A1 (en) Group Member Detection Among Nodes of a Network
CN107360089A (en) A kind of method for routing foundation, business datum conversion method and device
JPWO2014129624A1 (en) Control device, communication system, route switching method, and program
KR100889753B1 (en) Method of protection switching for link aggregation group and Apparatus thereof
EP2773072B1 (en) Control apparatus, communication system, virtual network management method, and program
KR20150095151A (en) Method for packet forwarding and apparatus thereof
US7796614B1 (en) Systems and methods for message proxying
CN105100300B (en) Method and device for converting network address into NAT
EP3477897A1 (en) Methods and apparatuses for routing data packets in a network topology
JP6718739B2 (en) Communication device and communication method
CN114520762B (en) BIERv6 message sending method and first network equipment
JP3794496B2 (en) Network connection method, network connection system, layer 2 switch and management server constituting the same
CN112737951B (en) End-to-end SR control method, system and readable storage medium in public and private network mixed scene
JP2003244251A (en) Packet communication method for reconfiguring tunnel path

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid