KR100772182B1 - ROUTER AND METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF - Google Patents

ROUTER AND METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF Download PDF

Info

Publication number
KR100772182B1
KR100772182B1 KR1020060041498A KR20060041498A KR100772182B1 KR 100772182 B1 KR100772182 B1 KR 100772182B1 KR 1020060041498 A KR1020060041498 A KR 1020060041498A KR 20060041498 A KR20060041498 A KR 20060041498A KR 100772182 B1 KR100772182 B1 KR 100772182B1
Authority
KR
South Korea
Prior art keywords
protocol stack
external
internal
communication
ipv4
Prior art date
Application number
KR1020060041498A
Other languages
Korean (ko)
Other versions
KR20070061068A (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 한국전자통신연구원
Publication of KR20070061068A publication Critical patent/KR20070061068A/en
Application granted granted Critical
Publication of KR100772182B1 publication Critical patent/KR100772182B1/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/60Router architectures
    • 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/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Abstract

본 발명은 버전 4의 인터넷 프로토콜(IPv4) 패킷 처리를 지원하는 라우터에 있어서, 외부 트래픽과 내부 트래픽을 분리함으로써 IPv4 주소를 보다 효율적으로 사용할 수 있게 하는 라우터 및 그의 외부 트래픽과 내부 트래픽을 분리한 IPv4 패킷 처리 방법에 관한 것으로서, 외부 데이터 패킷과 내부 제어 패킷을 모두 처리하는 응용 프로세서의 커널에 내부 통신용과 외부 통신용 IPv4 프로토콜 스택을 각각 탑재하고, 내부 제어 패킷 및 그 IPv4 주소는 상기 내부 통신용 IPv4 프로토콜 스택을 통해서만 관리하고, 외부 데이터 패킷 및 그 IPv4 주소는 상기 외부 통신용 IPv4 프로토콜 스택을 통해서만 관리되도록 함으로써, 내부 통신용으로 사용되고 있는 IPv4 주소도 외부 통신용으로 사용할 수 있도록 한 것이다.The present invention provides a router that supports version 4 of the Internet Protocol (IPv4) packet processing, wherein the router and the external traffic and the internal traffic is separated from the IPv4 address by separating the external and internal traffic. A packet processing method comprising: an IPv4 protocol stack for an internal communication and an external communication, respectively, mounted in a kernel of an application processor that processes both an external data packet and an internal control packet, and an internal control packet and its IPv4 address are the IPv4 protocol stack for the internal communication It manages only through an external data packet, and the external data packet and its IPv4 address are managed only through the IPv4 protocol stack for external communication, so that an IPv4 address used for internal communication can also be used for external communication.

라우터, 버전 4 인터넷 프로토콜(IPv4), 내부 프로세서간 통신(IPC), 패킷, 스택 Router, Version 4 Internet Protocol (IPv4), Internal Interprocessor Communication (IPC), Packets, Stacks

Description

라우터 및 그의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법{ROUTER AND METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF}Router and METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF}

도 1은 라우터의 물리적인 구조를 나타낸 기능블럭도이다.1 is a functional block diagram showing the physical structure of a router.

도 2는 종래 라우터에서의 IPv4 패킷 처리 구조를 보인 블럭도이다.2 is a block diagram showing an IPv4 packet processing structure in a conventional router.

도 3은 본 발명에 의한 라우터에서의 IPv4 패킷 처리 구조를 보인 블록도이다.3 is a block diagram showing an IPv4 packet processing structure in a router according to the present invention.

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

300: 응용 프로세서 301: 라우팅 데몬300: application processor 301: routing daemon

302: 시스템제어 프로세스 303: 소켓 계층302: system control process 303: socket layer

304: UDP/TCP 계층 304: UDP / TCP layer

305: 외부 통신용 IPv4 프로토콜 스택305: IPv4 protocol stack for external communication

306: 내부 통신용 IPv4 프로토콜 스택306: IPv4 protocol stack for internal communication

307: 외부 네트워크 인터페이스 308: 내부 네트워크 인터페이스307: external network interface 308: internal network interface

309: 네트워크 프로세서 310: 이더넷 콘트롤러309: network processor 310: Ethernet controller

본 발명은 네트워크에 있어서 트래픽 흐름의 경로를 결정하는 라우터에 관한 것으로서, 더욱 상세하게는 할당 가능한 고유 값이 제한되어 있는 IPv4 주소를 최대한 사용할 수 있도록 한 라우터 및 그의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법에 관한 것이다.The present invention relates to a router for determining the route of traffic flow in a network. More particularly, the present invention relates to a router capable of maximizing the use of an IPv4 address with a unique value that can be assigned, and to IPv4 that distinguishes external traffic from internal traffic. It relates to a packet processing method.

일반적으로, 라우터(Router)는 어떤 통신망 내에서 트래픽 흐름의 경로를 결정하여 메시지 전달을 신속히 처리하기 위한 중계 장치로서, 근원지에서 송신된 패킷을 수신하여 이것을 가장 짧은 경로나 최적의 경로를 선택하여 목적지로 전송하는 것이다.In general, a router is a relay device for quickly processing message delivery by determining a traffic flow path in a communication network. A router receives a packet transmitted from a source and selects a shortest path or an optimal path. Will be sent to.

도 1은 라우터의 일반적인 구성을 나타낸 것으로서, 하드웨어적으로는 크게 라우팅 프로토콜을 처리하여 패킷의 포워딩을 제어하는 응용 프로세서(100)와, 외부 노드에 연결되는 입/출력 포트(107,110,117,122)를 통해서 패킷을 송수신하는 다수의 라인 카드 프로세서(106,111,116,121)와, 상기 응용 프로세서(100)와 상기 다수의 라인 카드(106,111,116,121) 간에 내부 통신 채널을 제공하여 제어 패킷을 교환할 수 있도록 하는 이더넷 스위치(103)와, 상기 다수의 라인 카드(106,111,116,121) 간에 데이터 패킷을 스위칭하여 데이터 패킷의 포워딩 경로를 조정하는 스위치 패브릭(114)을 포함한다. 부수적으로, 상기 라우터 시스템의 관리를 위한 시스템 관리자 카드(105)를 더 포함한다.FIG. 1 illustrates a general configuration of a router. In terms of hardware, a packet is processed through an application processor 100 which processes a routing protocol to control packet forwarding, and input / output ports 107, 110, 117, and 122 connected to external nodes. A plurality of line card processors (106, 111, 116, 121) for transmitting and receiving; an Ethernet switch (103) for providing an internal communication channel between the application processor (100) and the plurality of line cards (106, 111, 116, 121) to exchange control packets; And a switch fabric 114 for switching the data packets between the plurality of line cards 106, 111, 116, 121 to adjust the forwarding path of the data packets. Incidentally, it further includes a system manager card 105 for management of the router system.

상기 응용 프로세서(100)와, 시스템 관리자 카드(105)와, 다수의 라인카드 프로세서(106,111,116,121)들은 각각 이더넷 콘트롤러(102,104,109,113,115,119)를 구비하여, 이더넷 스위치(103)를 통해 상호 제어 패킷을 교환하며, 또한, 상기 응용 프로세서(100)와 다수의 라인카드 프로세서(106,111,116,121)들은 외부 입출력 포트(107,110,117,122)를 통해 입출력되는 패킷을 처리하기 위한 네트워크 프로세서(101,108,112,118,120)를 구비하여, 스위치 패브릭(114)을 통하여 외부 노드들과 데이터 패킷을 교환한다.The application processor 100, the system manager card 105, and the plurality of line card processors 106, 111, 116, and 121 each have Ethernet controllers 102, 104, 109, 113, 115, and 119, respectively, to exchange mutual control packets via the Ethernet switch 103. The application processor 100 and the plurality of line card processors 106, 111, 116, and 121 have network processors 101, 108, 112, 118, and 120 for processing packets input and output through external input / output ports 107, 110, 117, and 122. Exchange data packets with them.

상술한 구조의 라우터에 있어서, 입출력포트(107, 110, 117, 122)를 통해 입력된 외부 데이터 패킷 중에서 목적지가 라우터 자신인 패킷은, 스위치 패브릭(114)을 통해서 상기 응용 프로세서(100)의 네트워크 프로세서(101)로 전달되며, 라우터에서 외부 노드로 송신되는 외부 데이터 패킷은 상기 응용 프로세서(100)의 네트워크 프로세서(100)로부터 스위치 패브릭(114)을 통해 해당하는 입출력포트(107,110,117,122)로 전달되어, 목적하는 외부 노드로 전송된다.In the router of the above-described structure, a packet whose destination is the router itself among the external data packets inputted through the input / output ports 107, 110, 117, and 122 is connected to the network of the application processor 100 through the switch fabric 114. The external data packet transmitted to the processor 101 and transmitted from the router to the external node is transmitted from the network processor 100 of the application processor 100 to the corresponding input / output ports 107, 110, 117, and 122 through the switch fabric 114. Is sent to the desired external node.

상술한 바와 같은 라우터가 IPv4를 지원하는 경우, 라우터 내부의 각 프로세서 간의 내부 통신 및 외부 통신에 모두 버전 4의 인터넷 프로토콜(IPv4)를 사용하는 경우가 있는데, 이 경우, 기존의 응용 프로세서(100)는 도 2에 도시된 바와 같이, 단일의 IPv4 프로토콜 스택(205)을 사용한다.When the router as described above supports IPv4, there is a case in which version 4 of the Internet Protocol (IPv4) is used for both internal communication and external communication between the processors inside the router. In this case, the existing application processor 100 Uses a single IPv4 protocol stack 205, as shown in FIG.

더 구체적으로 설명하면, 상기 종래의 응용 프로세서(100)는 스위치패브릭(114)을 통해 네트워크 프로세서(101)로 외부 트래픽 패킷이 입력되면, 이를 외부네트워크 인터페이스(206)로 전달하고, 이더넷 스위치(103)를 통해 이더넷 콘트롤러(102)로 전달된 내부 트래픽 패킷은 내부네트워크인터페이스(207)로 전달한다. More specifically, the conventional application processor 100, when the external traffic packet is input to the network processor 101 through the switch fabric 114, and transmits it to the external network interface 206, Ethernet switch 103 The internal traffic packet transmitted to the Ethernet controller 102 through) is delivered to the internal network interface 207.

상기 외부네트워크 프로세서(206) 및 내부네트워크 프로세서(207)는 각각의 외부 트래픽 패킷 및 내부 트래픽 패킷을 동일한 IPv4 프로토콜 스택(205)에 저장하고, 상기 IPv4 프로토콜 스택(205)에 저장된 외부/내부 트래픽 패킷을 상기 라우팅 데몬(201) 및 시스템 제어 프로세서(202)에서 소켓 계층(203) 및 UDP/TCP 계층(204)을 통해 IPv4 프로토콜 스택(205)에서 읽어와 처리한다.The external network processor 206 and the internal network processor 207 store each external traffic packet and internal traffic packet in the same IPv4 protocol stack 205, and external / internal traffic packets stored in the IPv4 protocol stack 205. The routing daemon 201 and the system control processor 202 read and process the IPv4 protocol stack 205 through the socket layer 203 and the UDP / TCP layer 204.

반대로, 상기 라우팅 데몬(201)에서 외부 노드로 전송될 패킷은 소켓 계층(203) 및 TCP/UDP 계층(204)을 통해 IPv4 프로토콜 스택(205)으로 전달되고, 이는 다시 외부네트워크인터페이스(206)를 통해 네트워크 프로세서(208)로 전달되어, 스위치 패브릭(114)을 통해 외부로 출력된다.Conversely, the packet to be transmitted to the external node in the routing daemon 201 is delivered to the IPv4 protocol stack 205 via the socket layer 203 and the TCP / UDP layer 204, which in turn passes the external network interface 206. It is communicated to the network processor 208 through the switch fabric 114 to the outside.

그리고 시스템제어프로세스(202)가 다른 프로세서(105,106,111,116,121)로 전달하고자 하는 경우에는, 해당 내부 트래픽 패킷이 소켓계층(203) 및 TCP, UDP 계층(204)을 통하여 IPv4 프로토콜 스택(205)으로 전달되고, 다시 응용프로세서의 내부네트워크인터페이스(207)를 거쳐서 이더넷컨트롤러(209)에 전달된다.In addition, when the system control process 202 wants to deliver to another processor 105, 106, 111, 116, 121, the corresponding internal traffic packet is delivered to the IPv4 protocol stack 205 through the socket layer 203 and the TCP, UDP layer 204, The data is transmitted to the Ethernet controller 209 via the internal network interface 207 of the application processor.

이와 같이, 기존의 라우터 시스템에서는 IPv4 주소를 관리하는 곳이 IPv4 프로토콜 스택(205) 한 곳이었으며, 외부 트래픽 패킷 및 내부 트래픽 패킷이 IPv4 프로토콜 스택(205)을 필요로 하는 경우, 상기 외부네트워크인터페이스(206)와 내부네트워크인터페이스(207)에서 각각 IPv4 주소가 설정된다.As described above, in the conventional router system, the IPv4 address is managed by one IPv4 protocol stack 205, and when the external traffic packet and the internal traffic packet require the IPv4 protocol stack 205, the external network interface ( IPv4 addresses are set at 206 and at internal network interface 207, respectively.

상기 IPv4는 IETF RFC 791에서 제안된 버전 4의 인터넷 프로토콜로서, 211.253.131.255와 같은 점(.)과 숫자(0~9)로 표기되는 32비트의 주소체계를 사용하는데, 사용가능한 고유 번호가 4,294,967,296으로 제한된다는 단점을 가지고 있 다. 이러한 IPv4 주소는 네트워크상에서 특정 노드를 식별하는 유일한 값이기 때문에, 한 순간에 단 하나의 IPv4 주소만을 사용할 수 있으며, 한 순간에 동일한 IPv4 주소가 여러 곳에서 설정될 수 없다.IPv4 is a version 4 Internet protocol proposed in IETF RFC 791. It uses a 32-bit addressing system with dots (.) And numbers (0 to 9), such as 211.253.131.255. It has the disadvantage of being limited to. Because these IPv4 addresses are the only values that identify a particular node on the network, only one IPv4 address can be used at a time, and the same IPv4 address cannot be set in multiple places at a time.

그렇기 때문에, 종래의 라우터 시스템을 사용할 경우, 내부 통신용으로 설정된 IPv4 주소를 외부 통신용으로 사용할 수가 없기 때문에, 사용 가능한 IPv4 주소를 더욱 제한시킨다.Therefore, when using a conventional router system, since the IPv4 address set for internal communication cannot be used for external communication, the available IPv4 address is further restricted.

따라서, 고유 번호가 제한되어 있는 IPv4 주소 체계를 이용하여 더욱 많은 노드를 수용하기 위해서는, 라우터 내에서만 사용되는 IPv4 주소까지 외부 통신용으로 사용할 수 있도록 할 필요가 있다.Therefore, in order to accommodate more nodes by using an IPv4 address system having a unique number limit, it is necessary to make the IPv4 address used only within the router available for external communication.

본 발명은 상술한 종래의 문제점을 해결하기 위하여 제안된 것으로서, 그 목적은 외부 데이터 패킷과 내부 제어 패킷을 모두 송수신하는 응용 프로세서에서 외부 데이터 패킷과 내부 제어 패킷의 처리 경로를 완전히 분리시킴으로써, 내부 통신용으로 설정된 IPv4 주소를 외부 통신용으로 중복 설정할 수 있도록 한 라우터 및 그의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법을 제공하는 것이다.The present invention has been proposed to solve the above-mentioned conventional problems, and an object thereof is to completely separate a processing path of an external data packet and an internal control packet from an application processor that transmits and receives both an external data packet and an internal control packet, thereby providing internal communication. The present invention provides a router and a method of processing IPv4 packets that distinguish internal traffic from its external traffic so that an IPv4 address set to be duplicated for external communication.

본 발명은, 상술한 목적을 구현하기 위한 구성수단으로서, 본 발명에 의한 라우터는, 외부 통신용 IPv4 프로토콜 스택과, 내부 통신용 IPv4 프로토콜 스택을 별도로 구비하여, 라우터 내부에서 각 프로세스 간에 전달되는 내부 제어 패킷을 상기 내부 통신용 IPv4 프로토콜 스택을 통해 관리하여 시스템 제어를 처리하고, 외부 노드와 송수신되는 데이터 패킷은 상기 외부 통신용 IPv4 프로토콜 스택을 통해 관리하여 라우팅을 수행하는 응용 프로세서; 외부 노드로부터 데이터 패킷을 수신하거나 외부 노드로 데이터 패킷을 수신하는 다수의 라인카드 프로세서; 상기 응용 프로세서의 제어에 따라서 다수의 라인카드 프로세서 간 및 라인카드 프로세서와 응용 프로세서 간에 데이터 패킷을 스위칭하는 스위치 패브릭; 및 상기 응용 프로세서와 다수의 라인카드 프로세서 간에 제어 패킷을 스위칭하는 이더넷 스위치를 포함하는 것을 특징으로 한다.The present invention is a configuration means for implementing the above object, the router according to the present invention is provided with an IPv4 protocol stack for the external communication and the IPv4 protocol stack for the internal communication separately, the internal control packet to be transmitted between each process in the router An application processor managing system control by managing the internal communication through the IPv4 protocol stack for internal communication, and managing data packets transmitted and received with an external node through the external communication IPv4 protocol stack to perform routing; A plurality of line card processors that receive data packets from external nodes or receive data packets to external nodes; A switch fabric for switching data packets between a plurality of line card processors and between a line card processor and an application processor under the control of the application processor; And an Ethernet switch for switching a control packet between the application processor and the plurality of line card processors.

더하여, 본 발명에 의한 라우터의 응용 프로세서는, 스위치 패브릭으로부터 입력되는 데이터 패킷은 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 이더넷 스위치로부터 입력된 제어 패킷은 상기 내부 토신용 IPv4 프로토콜 스택으로 전달하도록 구현되며, 소켓 계층을 통해 외부 노드로 송신할 데이터 패킷은 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 라우터 내부에 전달될 제어 패킷은 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하는 것을 특징으로 한다.In addition, the application processor of the router according to the present invention implements data packets input from the switch fabric to the IPv4 protocol stack for the external communication, and control packets input from the Ethernet switch to the IPv4 protocol stack for the internal communications. The data packet to be transmitted to the external node through the socket layer is transmitted to the IPv4 protocol stack for external communication, and the control packet to be transmitted inside the router is transmitted to the IPv4 protocol stack for internal communication.

더하여, 본 발명에 의한 응용 프로세서는, 응용 프로그램별로 소켓의 생성시 사용할 프로토콜을 나타내는 프로토콜 패밀리 인자 값을, 외부 통신용 IPv4 프로토콜과 내부 통신용 IPv4 프로토콜을 구분하여 서로 다르게 지정하는 것을 특징으로 한다.In addition, the application processor according to the present invention is characterized in that a protocol family factor value indicating a protocol to be used for generating a socket for each application is differently specified by distinguishing between an IPv4 protocol for external communication and an IPv4 protocol for internal communication.

더하여, 본 발명에 의한 라우터의 상기 응용 프로세서는, 상기 스위치 패브릭을 통해 데이터 패킷을 송수신하는 네트워크 프로세서; 상기 이더넷 스위치를 통해 제어 패킷을 송수신하는 이더넷 콘트롤러; 상기 네트워크 프로세서에서 수신한 데이터 패킷을 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 외부 통신용 IPv4 프로토콜 스택에서 출력되는 송신할 데이터 패킷을 네트워크 프로세서로 전달하는 외부 네트워크 인터페이스; 상기 이더넷 콘트롤러에서 수신한 제어 패킷을 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 내부 통신용 IPv4 프로토콜 스택에서 출력되는 송신할 제어 패킷을 이더넷 콘트롤러로 전달하는 내부 네트워크 인터페이스; 외부 통신 또는 내부 통신을 수행할 응용 프로그램에 의해 생성되어, 외부 통신용 데이터 패킷을 응용프로그램과 상기 외부통신용 IPv4 프로토콜 스택 간에 전달하거나, 내부 통신용 제어 패킷을 응용 프로그램에서 상기 내부 통신용 IPv4 프로토콜 스택 간에 전달하는 하나 이상의 소켓; 및, 상기 하나 이상의 소켓들과 상기 외부 통신용 IPv4 프로토콜 스택 및 내부 통신용 IPv4 프로토콜 스택 간에 전달되는 데이터 패킷 및 제어 패킷에 대해 UDP 또는 TCP를 수행하는 UDP/TCP 처리부를 포함하는 것을 특징으로 한다.In addition, the application processor of the router according to the present invention, the network processor for transmitting and receiving data packets through the switch fabric; An Ethernet controller for transmitting and receiving a control packet through the Ethernet switch; An external network interface for transmitting a data packet received by the network processor to the IPv4 protocol stack for external communication and a data packet to be transmitted output from the IPv4 protocol stack for external communication to a network processor; An internal network interface for transmitting a control packet received from the Ethernet controller to the IPv4 protocol stack for internal communication and a control packet to be transmitted output from the IPv4 protocol stack for internal communication to an Ethernet controller; Generated by an application to perform external communication or internal communication, and transmits a data packet for external communication between an application program and the IPv4 protocol stack for external communication, or transmits an internal communication control packet between the IPv4 protocol stack for internal communication in an application program. One or more sockets; And a UDP / TCP processor configured to perform UDP or TCP on data packets and control packets transmitted between the one or more sockets, the IPv4 protocol stack for external communication and the IPv4 protocol stack for internal communication.

또한, 본 발명은 상술한 목적을 달성하기 위한 구성 수단으로서, 외부 노드와의 사이에 송수신되는 외부 데이터 패킷과, 내부 프로세스 간에 송수신되는 내부 제어 패킷이 모두 IPv4 프로토콜을 사용하는 라우터의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법에 있어서, 외부 통신용 IPv4 프로토콜 스택과 내부 통신용 IPv4 프로토콜 스택을 별도로 설정하는 제1 단계; 및 외부 노드와의 사 이에 송수신되는 외부 데이터 패킷은 상기 외부 통신용 IPv4 프로토콜 스택으로 전달되고, 내부 제어 프로세서 간에 송수신되는 내부 제어 패킷은 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하는 제2 단계를 포함하는 것을 특징으로 한다.In addition, the present invention is a configuration means for achieving the above object, the external data packet transmitted and received between the external node and the internal control packet transmitted and received between the internal process, both the external traffic and the internal of the router using the IPv4 protocol An IPv4 packet processing method for classifying traffic, comprising: a first step of separately setting an IPv4 protocol stack for an external communication and an IPv4 protocol stack for an internal communication; And a second step of transmitting an external data packet transmitted / received between an external node and the external communication IPv4 protocol stack, and transmitting an internal control packet transmitted and received between internal control processors to the internal communication IPv4 protocol stack. It is done.

상기 본 발명에 의한 IPv4 패킷 처리 방법에 있어서, 상기 제2단계는, 내부 통신과 외부 통신 별로 소켓 함수에 이용되는 프로토콜 패밀리군의 인자 값을 서로 구분 가능하도록 설정하는 과정과, 응용 프로그램별로 외부 통신인지 내부 통신인지에 따라서 해당하는 프로토콜 패밀리군의 인자 값을 지정하여 소켓을 생성하는 과정과, 상기 생성된 소켓을 통해 통신 시에, 상기 프로토콜 패밀리군을 나타낸 인자값에 따라서 내부 통신용 IPv4 프로토콜 스택과 외부 통신용 IPv4 프로토콜 스택중 하나를 사용하는 과정을 포함하여, 응용 프로그램에 송신되는 외부 데이터 패킷은 외부 통신용 IPv4 프로토콜 스택으로 전달되고, 응용 프로그램에서 송신되는 내부 제어 패킷은 내부 통신용 IPv4 프로토콜 스택으로만 전달되도록 한다.In the IPv4 packet processing method according to the present invention, the second step includes a step of setting the parameter values of the protocol family group used in the socket function for each internal communication and external communication to be distinguishable from each other, and for external communication for each application program. Creating a socket by designating a parameter value of a corresponding protocol family group according to whether it is internal communication or internal communication; and when communicating through the generated socket, an IPv4 protocol stack for internal communication according to a parameter value representing the protocol family group; External data packets sent to an application are forwarded to the IPv4 protocol stack for external communications, and internal control packets sent to the application only to the IPv4 protocol stack for internal communications, including the use of one of the IPv4 protocol stacks for external communications. Be sure to

더하여, 본 발명에 의한 IPv4 패킷 처리 방법에 있어서, 상기 제2 단계는, 외부 데이터 패킷의 송수신을 처리하는 외부 네트워크 인터페이스가 외부 통신용 IPv4 프로토콜 스택과만 연동하도록 하고, 내부 제어 패킷의 송수신을 처리하는 내부 네트워크 인터페이스가 내부 통신용 IPv4 프로토콜 스택과만 연동하도록 설정하는 것을 특징으로 한다.In addition, in the IPv4 packet processing method according to the present invention, the second step is such that an external network interface that processes the transmission and reception of external data packets only interworks with the IPv4 protocol stack for external communication, and processes the transmission and reception of internal control packets. The internal network interface may be configured to work only with the IPv4 protocol stack for internal communication.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다. 첨부된 도면에 있어서 동일한 참조부호를 갖는 구성 요소는 동일한 구성 및 작용을 갖는 것으로 이해될 수 있다. 더불어, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐리게 할 수 있는 경우 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the accompanying drawings, the components having the same reference numerals may be understood to have the same configuration and operation. In addition, in the following description of the present invention, detailed descriptions of related known functions or configurations may be omitted if they may unnecessarily obscure the subject matter of the present invention.

본 발명은 라우터의 응용 프로세서에서 내부 통신용 IPv4 프로토콜 스택과 외부 통신용 IPv4 프로토콜 스택을 각각 설정하고, 상기 두 IPv4 프로토콜 스택을 완전히 분리시킴으로써, 내부 트래픽을 위해 설정된 IPv4 주소를 외부 트래픽을 위해서 동시에 사용할 수 있도록 한 것이다.The present invention sets up the IPv4 protocol stack for the internal communication and the IPv4 protocol stack for the external communication in the application processor of the router, and completely separates the two IPv4 protocol stacks so that the IPv4 address set for the internal traffic can be simultaneously used for the external traffic. It is.

도 3은 본 발명에 의한 라우터에 있어서의 응용 프로세서의 상세 구성을 나타낸 기능 블록도이다.3 is a functional block diagram showing a detailed configuration of an application processor in a router according to the present invention.

도 3에 있어서, 부호 300은 라우터 시스템 내의 각 보드를 제어하면서 포워딩을 제어하는 응용 프로세서이고, 311은 상기 응용 프로세서(300)의 제어에 따라서 상기 다수의 라인 카드 간에 데이터 패킷을 스위칭하여 데이터 패킷의 포워딩 경로를 조정하는 스위치 패브릭이며, 312는 상기 응용 프로세서(100)와 상기 다수의 라인 카드 간에 내부 통신 채널을 제공하여 제어 패킷을 교환할 수 있도록 하는 이더넷 스위치이다. 더하여, 상기 본 발명의 라우터는 도시되어 있지는 않지만, 도 1에서와 같이, 외부 노드로 패킷을 포워딩하거나 외부 노드로부터 패킷을 수신하는 다수의 라인 카드 프로세서를 포함한다.In FIG. 3, reference numeral 300 denotes an application processor controlling forwarding while controlling each board in the router system, and 311 denotes a data packet by switching data packets between the plurality of line cards under the control of the application processor 300. 312 is an Ethernet switch that provides an internal communication channel between the application processor 100 and the plurality of line cards to exchange control packets. In addition, although the router of the present invention is not shown, as shown in FIG. 1, the router includes a plurality of line card processors that forward packets to or receive packets from external nodes.

상기 본 발명이 적용되는 라우터는 내부 통신 및 외부 통신에 모두 IPv4 프로토콜을 지원하는 것으로서, 상기 응용 프로세서(300)는 스위치 패브릭(114)을 통해 외부 노드와 외부 트래픽 패킷을 송수신하는 네트워크 프로세서(101)와, 이더넷 스위치(103)를 통해 라우터 내부의 프로세서들 간에 제어 패킷을 전달하는 이더넷 콘트롤러(103)를 포함하고 있으며, 더하여, 외부 통신을 위한 IPv4 주소를 관리하는 외부 통신용 IPv4 프로토콜 스택(305)과, 내부 통신을 위한 IPv4 주소를 관리하는 내부 통신용 IPv4 프로토콜 스택(306)을 각각 구비하여, 외부 트래픽 패킷은 상기 외부 통신용 IPv4 프로토콜 스택(305)에 저장하고, 내부 트래픽 패킷은 내부 통신용 IPv4 프로토콜 스택(306)에 저장한다.The router to which the present invention is applied supports an IPv4 protocol for both internal communication and external communication, and the application processor 300 transmits and receives external traffic packets with an external node through the switch fabric 114. And an Ethernet controller 103 for transferring control packets between processors inside the router via the Ethernet switch 103, and further, an IPv4 protocol stack 305 for external communication for managing an IPv4 address for external communication. And an IPv4 protocol stack 306 for internal communication, which manages IPv4 addresses for internal communication, respectively, so that external traffic packets are stored in the IPv4 protocol stack 305 for external communication, and internal traffic packets are stored in an IPv4 protocol stack for internal communication ( 306).

상기 응용 프로세서(300)는 상술한 두 IPv4 프로토콜 스택(305,306)을 통해서, 외부 트래픽용 IPv4 주소와 내부 트래픽용 IPv4 주소를 각각 관리함으로써, 어느 한 순간에 동일한 IPv4 주소를 외부 통신과 내부 통신에서 동시에 설정하여 사용할 수 있다.The application processor 300 manages the IPv4 address for the external traffic and the IPv4 address for the internal traffic, respectively, through the two IPv4 protocol stacks 305 and 306 described above, so that the same IPv4 address is simultaneously used in external and internal communication at any one time. Can be set and used.

더하여, 본 발명에 의한 응용 프로세서(300)는, 포워딩을 제어하는 라우팅 데몬(301)과 라우터 시스템을 제어하는 시스템 제어 프로세스(302)와 같은 응용 프로그램을 포함하며, 더하여, 상기 응용 프로그램들과 전송 계층 간을 인터페이스하여 상기 응용 프로그램이 데이터를 송수신할 수 있도록 하는 소켓 계층(303)과, 전송계층으로서 UDP/TCP 프로토콜을 통해 데이터 전송을 처리하는 UDP/TCP 계층(304)을 포함한다.In addition, the application processor 300 according to the present invention includes an application program such as a routing daemon 301 for controlling forwarding and a system control process 302 for controlling a router system, and in addition, transmission with the application programs. A socket layer 303 for interfacing between layers to allow the application program to transmit and receive data, and a UDP / TCP layer 304 for processing data transmission through the UDP / TCP protocol as a transport layer.

상기 소켓 계층(303)은 각 응용 프로그램별로 생성되어 통신을 지원하는 복수의 소켓을 포함하는데, 이때, 각 응용 프로그램별 소켓을 생성하는 경우, 요구하는 통신이 내부 통신인지 외부 통신인지를 구분할 수 있도록 소켓 함수의 인자값(프로토콜 패밀리)을 설정한다.The socket layer 303 includes a plurality of sockets that are generated for each application program to support communication. In this case, when a socket for each application program is generated, it is possible to distinguish whether the required communication is an internal communication or an external communication. Set argument values (protocol family) of socket functions.

더 구체적으로, 소켓을 생성하기 위한 socket 함수는 "int socket(int domain, int type, int protocol)"로서, 다수의 인자를 포함하고 있는데, 이 중에서 int domain은 소켓에서 사용할 프로토콜 패밀리를 지정하는 인자이고, int type은 소켓에서 사용할 통신타입을 지정하는 인자이다. 일반적으로 사용되는 프로토콜 패밀리를 예를 들면, UNIX(유닉스), INET(ICP/IP 프로토콜), IPX, X.25 등이 있다.More specifically, the socket function for creating a socket is "int socket (int domain, int type, int protocol)", which includes a number of arguments, in which int domain specifies the protocol family to use for the socket. And int type is an argument that specifies the type of communication to use for the socket. Examples of commonly used protocol families include UNIX, INET (ICP / IP protocol), IPX, and X.25.

본 발명에 의한 라우터 시스템에서는, 내부 통신과 외부 통신에서 모두 TCP/IP 프로토콜을 사용하므로, 예를 들어, 외부 통신용 소켓의 프로토콜 패밀리는 external_INT로, 내부 통신용 소켓의 프로토콜 패밀리는 internal_INT로 설정하여, 상기 프로토콜 패밀리를 나타내는 인자 값을 통해서 내부 통신용인지 외부 통신용인지를 구분할 수 있도록 한다.In the router system according to the present invention, since both the internal communication and the external communication use the TCP / IP protocol, for example, the protocol family of the external communication socket is set to external_INT, and the protocol family of the internal communication socket is set to internal_INT. Argument value indicating protocol family can be used to distinguish between internal communication and external communication.

더하여, 상기 응용 프로세서(300)에서 수신된 패킷이 외부 통신용 IPv4 프로토콜 스택(305)과 내부 통신용 IPv4 프로토콜 스택(306) 중에서 어디로 전달할 것 인지가 지정되어야 하는데, 이는 상기 외부 통신용 데이터는 항상 스위치 패브릭(114)을 통해 네트워크 프로세서(101)로 입력된 후, 외부 네트워크 인터페이스(307)로 전달되고, 반대로 내부 통신용 데이터는 이더넷 스위치(103)에서 이더넷 콘트롤러(102)로 입력된 후 내부 네트워크 인터페이스(308)로만 전달되므로, 상기 외부 네트워크 인터페이스(307)의 드라이버는 항상 IPv4 패킷을 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 내부 네트워크 인터페이스(308)의 드라이버는 수신된 IPv4 패킷을 항상 내부 통신용 IPv4 프로토콜 스택으로 전달하도록 설정함으로써 구현할 수 있다.In addition, it is necessary to specify whether the packet received by the application processor 300 is to be forwarded between the IPv4 protocol stack 305 for the external communication and the IPv4 protocol stack 306 for the internal communication. After input to the network processor 101 through the 114, and is transmitted to the external network interface 307, on the contrary, data for internal communication is input to the Ethernet controller 102 from the Ethernet switch 103, and then internal network interface 308 Only the driver of the external network interface 307 forwards the IPv4 packet to the IPv4 protocol stack for external communication, and the driver of the internal network interface 308 always forwards the received IPv4 packet to the IPv4 protocol stack for internal communication. It can be implemented by setting it.

이에 의하여, 상기 라우팅 데몬(301)은 외부 노드로 패킷을 송신하고자 하는 경우, 소켓 계층(303)을 통해서 외부통신용 IPv4 프로토콜 스택(305)으로 송신할 외부 데이터 패킷을 전달하고, 상기 시스템 제어 프로세스(302)는 라우터 내부의 다른 프로세서로 제어 패킷을 송신하고자 하는 경우, 소켓 계층(303)을 통해 내부 통신용 IPv4 프로토콜 스택(306)으로 송신할 패킷을 전달한다.Accordingly, when the routing daemon 301 intends to transmit a packet to an external node, the routing daemon 301 transmits an external data packet to be transmitted to the IPv4 protocol stack 305 for external communication through the socket layer 303, and transmits the system control process ( 302 forwards the packet to send to the IPv4 protocol stack 306 for internal communication via socket layer 303 when it wants to send a control packet to another processor inside the router.

더하여, 상기 응용 프로세서(300)는 상기 외부 통신용 IPv4 프로토콜 스택(305)에 저장된 송신할 외부 데이터 패킷을 네트워크 프로세서(101)로 전달하고, 네트워크 프로세서(101)에 의해 수신된 외부 데이터 패킷을 상기 외부 통신용 IPv4 프로토콜 스택(305)에 저장시키는 외부 네트워크 인터페이스(307)와, 상기 내부 통신용 IPv4 프로토콜 스택(306)에 저장된 송신할 내부 제어 패킷을 이더넷 콘트롤러(102)로 전달하고, 상기 이더넷 콘트롤러(102)를 통해 수신된 내부 제어 패킷을 내부 통신용 IPv4 프로토콜 스택(306)에 저장하는 내부 네트워크 인터페이스(308)를 포함한다.In addition, the application processor 300 transmits an external data packet to be transmitted stored in the IPv4 protocol stack 305 for external communication to the network processor 101, and transmits the external data packet received by the network processor 101 to the external device. The external network interface 307 stored in the communication IPv4 protocol stack 305 and the internal control packet to be transmitted stored in the internal communication IPv4 protocol stack 306 are transmitted to the Ethernet controller 102, and the Ethernet controller 102 is transmitted. And an internal network interface 308 that stores the internal control packets received via the IPv4 protocol stack 306 for internal communication.

상술한 바와 같이 구성된 본 발명의 라우터 시스템에서의 외부 트래픽 패킷과, 내부 트래픽 패킷을 송수신하는 과정을 설명한다.A process of transmitting and receiving an external traffic packet and an internal traffic packet in the router system of the present invention configured as described above will be described.

외부 노드에 연결되는 라인카드 프로세서(도시생략)는 외부 노드로부터 송신된 패킷을 수신하면, 상기 패킷의 목적지를 확인하는데, 이때, 상기 수신된 패킷의 목적지가 라우터 자신인 경우, 상기 스위치 패브릭(114)을 통해서 응용 프로세서(300)로 전달한다.When a line card processor (not shown) connected to an external node receives a packet transmitted from an external node, the line card processor checks a destination of the packet. In this case, when the destination of the received packet is a router itself, the switch fabric 114 ) To the application processor 300.

이는 상기 응용프로세서(300)의 네트워크프로세서(101)로 수신되며, 상기 네트워크프로세서(101)는 수신된 데이터 패킷을 외부 네트워크 인터페이스(307)로 전달하며, 상기 외부 네트워크 인터페이스(307)는 상기 네트워크 프로세서(101)로부터 전달된 패킷을 외부 통신용 IPv4 프로토콜 스택(305)으로 전달한다. 상기 외부 통신용 IPv4 프로토콜 스택(305)에 전달된 패킷은 소켓계층(303)을 통해 라우팅 데몬(301)과 같은 외부 트래픽을 처리하는 응용프로그램으로 전달된다.This is received by the network processor 101 of the application processor 300, the network processor 101 transfers the received data packet to the external network interface 307, the external network interface 307 is the network processor The packet forwarded from 101 is forwarded to the IPv4 protocol stack 305 for external communication. The packet delivered to the IPv4 protocol stack 305 for external communication is delivered to an application program that processes external traffic such as the routing daemon 301 through the socket layer 303.

반대로 라우터 시스템의 응용프로세서(300)에서 외부 노드로 송신할 패킷은 소켓 계층(303)과 TCP/UDP계층(304)을 통해서 외부 통신용 IPv4 프로토콜 스택(305)으로 전달되며, 외부 네트워크 인터페이스(307)는 상기 외부 통신용 IPv4 프로토콜 스택(35)에 전달된 송신 패킷을 차례로 네트워크 프로세서(114)로 전달하며, 상기 네트워크 프로세서(114)는 입력된 송신 패킷을 스위치 패브릭(114)을 통해 목적지의 외부 노드에 연결된 라인카드 인터페이스로 전달하여, 목적지로 포워딩시킨다.On the contrary, the packet to be transmitted to the external node from the application processor 300 of the router system is transferred to the IPv4 protocol stack 305 for external communication through the socket layer 303 and the TCP / UDP layer 304, and the external network interface 307. Transmits the transmitted packet forwarded to the IPv4 protocol stack 35 for external communication to the network processor 114 in turn, and the network processor 114 transmits the inputted transmission packet to the external node of the destination through the switch fabric 114. Forward to connected line card interface to forward to destination.

다음으로, 상기 응용 프로세서(300)와 라우터 시스템 내의 다른 프로세서들 간의 내부 제어 패킷은 다음과 같이 처리된다.Next, an internal control packet between the application processor 300 and other processors in the router system is processed as follows.

먼저, 상기 응용 프로세서(300)에서 라우터 시스템 내의 다른 프로세서로 전송할 내부 송신 프레임은 소켓 계층(303)과 TCP, UDP계층(304)을 거쳐서 내부 통신용 IPv4 프로토콜 스택(306)으로 전달되며, 상기 내부 통신용 IPv4 프로토콜 스택(306)에 기억된 내부 송신 프레임은 내부 네트워크 인터페이스(308)를 통해 이더넷 콘트롤러(102)로 전송되어, 내부 통신 경로를 제공하는 이더넷 스위치(103)로 전달된다.First, the internal transmission frame to be transmitted from the application processor 300 to another processor in the router system is transmitted to the IPv4 protocol stack 306 for internal communication via the socket layer 303, the TCP, and the UDP layer 304, and for the internal communication. The internal transmission frame stored in the IPv4 protocol stack 306 is transmitted to the Ethernet controller 102 via the internal network interface 308 and forwarded to the Ethernet switch 103 providing an internal communication path.

반대로, 상기 이더넷스위치(103)를 통해서 응용 프로세서(300)로 전달되는 응용 프로세서(300)의 내부 수신 프레임은 이더넷 스위치(103)를 통해 이더넷 콘트롤러(102)로 전달되고, 상기 이더넷 콘트롤러(102)는 상기 내부 수신 프레임을 내부 네트워크 인터페이스(308)를 통하여 내부 통신용 IPv4 프로토콜 스택(306)으로 전달한다. 상기 내부 통신용 IPv4 프로토콜 스택(306)에 기록된 내부 수신 프레임은 상기 TCP/UDP 계층(304)과 소켓 계층(303)을 통해서 시스템 제어 프로세스(302)로 전달된다.On the contrary, the internal reception frame of the application processor 300 transmitted to the application processor 300 through the Ethernet switch 103 is transmitted to the Ethernet controller 102 through the Ethernet switch 103, the Ethernet controller 102 Forwards the internal received frame to an internal communication IPv4 protocol stack 306 via an internal network interface 308. Internal received frames recorded in the internal communication IPv4 protocol stack 306 are communicated to the system control process 302 via the TCP / UDP layer 304 and the socket layer 303.

상기와 같이, 본 발명에 의한 라우터 시스템에 있어서, 응용 프로세서(300)의 외부 송/수신 패킷은 외부 통신용 IPv4 프로토콜 스택(305)에서만 관리되고, 내부 송/수신 프레임은 내부 통신용 IPv4 프로토콜 스택(306)에서만 관리되어, 외부 송/수신 패킷과, 내부 송/수신 프레임의 경로가 완전히 분리될 수 있으며, 외부 통신용 IPv4 주소는 상기 외부 통신용 IPv4 프로토콜 스택(305)에서 관리되고, 내부 통신용 IPv4 주소는 상기 내부 통신용 IPv4 프로토콜 스택(306)에서만 관리되기 때문에, 외부 통신과 내부 통신에서 서로 동일한 IPv4 주소를 동일 시점에서 사용하더라도 아무런 문제가 발생하지 않게 된다.As described above, in the router system according to the present invention, the external transmit / receive packet of the application processor 300 is managed only by the IPv4 protocol stack 305 for external communication, and the internal transmit / receive frame is the IPv4 protocol stack 306 for internal communication. ), The external transmit / receive packet and the path of the internal transmit / receive frame can be completely separated, and the IPv4 address for external communication is managed by the IPv4 protocol stack 305 for external communication, and the IPv4 address for internal communication is Since it is managed only by the IPv4 protocol stack 306 for internal communication, even if the same IPv4 address is used at the same time in external communication and internal communication, no problem occurs.

한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며, 후술하는 특허 청구 범위뿐만 아니라 이 특허 청구 범위와 균등한 것들에 의해 정해져야 한다. Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the claims below but also by the equivalents of the claims.

상술한 바와 같이, 본 발명은 라우터에서 내부의 제어 프로세스들이 정보교환을 위해서 사용하는 통신 경로와 라우터 외부와의 패킷 교환을 위해서 사용되는 통신 경로에 대하여 각 분리된 IPv4 프로토콜 스택을 사용하도록 함으로써, 내부 통신용 IPv4 주소 관리와 외부 통신용 IPv4 주소 관리가 각각 독립적으로 이루어지도록 하여, 내부 통신에서 어떤 IPv4 주소가 설정되는 가에 관계없이, 외부 통신에서 모든 IPv4 주소를 설정할 수 있도록 하는 우수한 효과가 있다.As described above, the present invention allows the internal control processes in the router to use separate IPv4 protocol stacks for the communication path used for information exchange and the communication path used for packet exchange with the outside of the router. The IPv4 address management for communication and the IPv4 address management for external communication are independently performed, so that all IPv4 addresses can be set in external communication regardless of which IPv4 address is set in internal communication.

Claims (8)

외부 통신용 IPv4 프로토콜 스택과, 내부 통신용 IPv4 프로토콜 스택을 별도로 구비하여, 제어 패킷은 상기 내부 통신용 IPv4 프로토콜 스택을 통해 관리하여 시스템 제어를 처리하고, 데이터 패킷은 상기 외부 통신용 IPv4 프로토콜 스택을 통해 관리하여 라우팅을 수행하는 응용 프로세서;It is provided with an IPv4 protocol stack for external communication and an IPv4 protocol stack for internal communication, and control packets are managed through the IPv4 protocol stack for internal communication to process system control, and data packets are managed and routed through the IPv4 protocol stack for external communication. An application processor to perform; 상기 데이터 패킷을 외부 노드와의 사이에서 송신하거나 수신하는 다수의 라인카드 프로세서;A plurality of line card processors for transmitting or receiving the data packet with an external node; 상기 응용 프로세서의 제어에 따라서 상기 다수의 라인카드 프로세서 간 및 상기 다수의 라인카드 프로세서와 상기 응용 프로세서 간에 상기 데이터 패킷을 스위칭하는 스위치 패브릭; 및A switch fabric for switching the data packet between the plurality of line card processors and between the plurality of line card processors and the application processor under control of the application processor; And 상기 응용 프로세서와 상기 다수의 라인카드 프로세서 사이에서 상기 제어 패킷을 스위칭하는 이더넷 스위치를 포함하는 라우터.And an Ethernet switch to switch the control packet between the application processor and the plurality of line card processors. 제1항에 있어서, The method of claim 1, 상기 응용 프로세서는The application processor 상기 스위치 패브릭으로부터 입력되는 데이터 패킷을 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 이더넷 스위치로부터 입력된 제어 패킷을 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하는 것을 특징으로 하는 라우터.And forwarding a data packet input from the switch fabric to the IPv4 protocol stack for the external communication, and forwarding a control packet input from the Ethernet switch to the IPv4 protocol stack for the internal communication. 제1항에 있어서, The method of claim 1, 상기 응용 프로세서는The application processor 소켓 계층을 통해, 상기 데이터 패킷을 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하거나 상기 제어 패킷을 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하는 것을 특징으로 하는 라우터.And via the socket layer, forwarding the data packet to the IPv4 protocol stack for external communication or the control packet to the IPv4 protocol stack for internal communication. 제3항에 있어서, The method of claim 3, 상기 응용 프로세서는 The application processor 소켓의 생성시 사용할 프로토콜 패밀리를 지정하는 인자 값을 상기 외부 통신용 IPv4 프로토콜 스택을 사용하는 경우와, 상기 내부 통신용 IPv4 프로토콜 스택을 사용하는 경우 간에 서로 다르게 지정하는 것을 특징으로 하는 라우터.And a parameter value for specifying a protocol family to be used when a socket is created, differently between using the IPv4 protocol stack for external communication and using the IPv4 protocol stack for internal communication. 제1항에 있어서, 상기 응용 프로세서는The method of claim 1, wherein the application processor 상기 스위치 패브릭을 통해 상기 데이터 패킷을 송수신하는 네트워크 프로세서;A network processor for transmitting and receiving the data packet through the switch fabric; 상기 이더넷 스위치를 통해 상기 제어 패킷을 송수신하는 이더넷 콘트롤러;An Ethernet controller for transmitting and receiving the control packet through the Ethernet switch; 상기 네트워크 프로세서에서 수신한 데이터 패킷을 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 외부 통신용 IPv4 프로토콜 스택에서 출력되는 송신할 데이터 패킷을 상기 네트워크 프로세서로 전달하는 외부 네트워크 인터페이스;An external network interface for transmitting the data packet received by the network processor to the IPv4 protocol stack for external communication, and for transmitting the data packet to be transmitted output from the IPv4 protocol stack for external communication to the network processor; 상기 이더넷 콘트롤러에서 수신한 제어 패킷을 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 내부 통신용 IPv4 프로토콜 스택에서 출력되는 송신할 제어 패킷을 이더넷 콘트롤러로 전달하는 내부 네트워크 인터페이스;An internal network interface for transmitting a control packet received from the Ethernet controller to the IPv4 protocol stack for internal communication and a control packet to be transmitted output from the IPv4 protocol stack for internal communication to an Ethernet controller; 외부 통신 또는 내부 통신을 수행할 응용 프로그램에 의해 생성되어, 상기 데이터 패킷을 상기 응용프로그램과 상기 외부통신용 IPv4 프로토콜 스택 간에 전달하거나, 상기 제어 패킷을 상기 응용 프로그램과 상기 내부 통신용 IPv4 프로토콜 스택 간에 전달하는 하나 이상의 소켓; 및,Generated by an application to perform external or internal communication to pass the data packet between the application and the IPv4 protocol stack for external communication, or to pass the control packet between the application and the IPv4 protocol stack for internal communication. One or more sockets; And, 상기 하나 이상의 소켓들과 상기 외부 통신용 IPv4 프로토콜 스택 및 내부 통신용 IPv4 프로토콜 스택 간에 전달되는 상기 데이터 패킷 및 제어 패킷에 대해 UDP 또는 TCP를 수행하는 UDP/TCP 처리부를 포함하는 것을 특징으로 하는 라우터.And a UDP / TCP processor configured to perform UDP or TCP on the data packet and the control packet transmitted between the one or more sockets, the IPv4 protocol stack for external communication and the IPv4 protocol stack for internal communication. 외부 노드와의 사이에 송수신되는 데이터 패킷과, 내부 프로세스 간에 송수신되는 제어 패킷에 모두 IPv4 프로토콜을 사용하는 라우터의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법에 있어서,In the IPv4 packet processing method which distinguishes the internal traffic and the external traffic of a router using the IPv4 protocol for both data packets transmitted and received between the external node and control packets transmitted and received between internal processes, 외부 통신용 IPv4 프로토콜 스택과 내부 통신용 IPv4 프로토콜 스택을 별도로 설정하는 제1 단계; 및A first step of separately setting an IPv4 protocol stack for external communication and an IPv4 protocol stack for internal communication; And 상기 외부 노드와의 사이에 송수신되는 데이터 패킷은 상기 외부 통신용 IPv4 프로토콜 스택으로 전달하고, 상기 내부 프로세서 간에 송수신되는 제어 패킷은 상기 내부 통신용 IPv4 프로토콜 스택으로 전달하는 제2 단계를 포함하는 것을 특징으로 하는 라우터의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법.And transmitting a data packet transmitted and received between the external node and the IPv4 protocol stack for the external communication, and transmitting a control packet transmitted and received between the internal processor and the IPv4 protocol stack for the internal communication. IPv4 packet processing method that distinguishes router's external traffic from internal traffic. 제6항에 있어서,The method of claim 6, 상기 제2단계는The second step is 내부 통신과 외부 통신 별로 소켓 함수에 이용되는 프로토콜 패밀리군의 인자 값을 서로 구분 가능하도록 설정하는 과정과,Setting the parameter values of the protocol family group used in the socket function for each internal communication and external communication to be distinguishable from each other, 응용 프로그램별로 외부 통신인지 내부 통신인지에 따라서 상기 설정된 프로토콜 패밀리군의 인자 값을 지정하여 소켓을 생성하는 과정과,Creating a socket by specifying an argument value of the set protocol family group according to whether an external communication or an internal communication is performed for each application; 상기 소켓을 통해 통신 시에, 상기 소켓에 지정된 프로토콜 패밀리군의 인자값에 따라서 상기 내부 통신용 IPv4 프로토콜 스택과 상기 외부 통신용 IPv4 프로토콜 스택중 하나를 사용하는 과정을 포함하는 것을 특징으로 하는 라우터의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법.When communicating through the socket, using the one of the IPv4 protocol stack for the internal communication and the IPv4 protocol stack for the external communication according to a factor value of the protocol family group assigned to the socket. IPv4 packet processing method that distinguishes internal traffic from traffic. 제6항에 있어서,The method of claim 6, 상기 제2 단계는The second step is 상기 데이터 패킷의 송수신을 처리하는 외부 네트워크 인터페이스가 상기의 외부 통신용 IPv4 프로토콜 스택과만 연동하도록 하고, 상기 제어 패킷의 송수신을 처리하는 내부 네트워크 인터페이스가 상기 내부 통신용 IPv4 프로토콜 스택과만 연동하도록 설정하는 과정을 포함하는 것을 특징으로 하는 라우터의 외부 트래픽과 내부 트래픽을 구분한 IPv4 패킷 처리 방법.Configuring the external network interface for processing the transmission and reception of the data packet only with the IPv4 protocol stack for the external communication, and setting the internal network interface for processing the transmission and reception of the control packet only with the IPv4 protocol stack for the internal communication IPv4 packet processing method that distinguishes the external traffic and the internal traffic of the router, characterized in that it comprises a.
KR1020060041498A 2005-12-08 2006-05-09 ROUTER AND METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF KR100772182B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050120238 2005-12-08
KR20050120238 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061068A KR20070061068A (en) 2007-06-13
KR100772182B1 true KR100772182B1 (en) 2007-11-01

Family

ID=38357002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060041498A KR100772182B1 (en) 2005-12-08 2006-05-09 ROUTER AND METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF

Country Status (1)

Country Link
KR (1) KR100772182B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010065103A (en) * 1999-12-29 2001-07-11 이계철 Method for dynamic assignment of public IP address and private IP address on intra-domain network
KR20030055621A (en) * 2001-12-27 2003-07-04 한국전자통신연구원 mobile IP service method through private IP address use in wireless communication network
JP2004254203A (en) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd Gateway device
KR20050102892A (en) * 2004-04-23 2005-10-27 (주)아이엠넷피아 Communication system capable of using multiple internet protocol address and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010065103A (en) * 1999-12-29 2001-07-11 이계철 Method for dynamic assignment of public IP address and private IP address on intra-domain network
KR20030055621A (en) * 2001-12-27 2003-07-04 한국전자통신연구원 mobile IP service method through private IP address use in wireless communication network
JP2004254203A (en) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd Gateway device
KR20050102892A (en) * 2004-04-23 2005-10-27 (주)아이엠넷피아 Communication system capable of using multiple internet protocol address and method thereof

Also Published As

Publication number Publication date
KR20070061068A (en) 2007-06-13

Similar Documents

Publication Publication Date Title
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
EP3468117B1 (en) Service function chaining (sfc)-based packet forwarding method, device and system
US7853714B1 (en) Providing services for multiple virtual private networks
CN106936777B (en) Cloud computing distributed network implementation method and system based on OpenFlow
EP2974133B1 (en) Method and system for controlling an underlying physical network by a software defined network
US8654680B2 (en) Packet forwarding using multiple stacked chassis
JP6004405B2 (en) System and method for managing network packet forwarding in a controller
US8995444B2 (en) Method and system for extending routing domain to non-routing end stations
US8085776B2 (en) Methods and systems for a distributed provider edge
JP4780477B2 (en) Tunneling device, tunnel frame distribution method used therefor, and program therefor
EP2548346B1 (en) Packet node for applying service path routing at the mac layer
US7009974B1 (en) Method and apparatus for updating addresses in network processing device
KR100772182B1 (en) ROUTER AND METHOD FOR PROCESSING IPv4 PACKET EGREGATING BETWEEN OUTER TRAFFIC AND INNER TRAFFIC THEREOF
KR100431207B1 (en) Exteranet ip-vpn service provinding methode in mpls based network
JP4255863B2 (en) Wide area network system and communication method
US10812446B1 (en) Dynamic host configuration across multiple sites in software defined access networks
US20230239274A1 (en) Managing exchanges between edge gateways in a cloud environment to support a private network connection
JP2017183960A (en) Switch control device, method and program
JP2005348145A (en) Inter-lan connection device and inter-lan connection method
JP2003134153A (en) Intra-ip-vpn access control system and method

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: 20101001

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee