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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 title claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 144
- 238000003672 processing method Methods 0.000 claims abstract description 9
- 239000004744 fabric Substances 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation 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
도 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
상기 응용 프로세서(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
상술한 구조의 라우터에 있어서, 입출력포트(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 /
상술한 바와 같은 라우터가 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
더 구체적으로 설명하면, 상기 종래의 응용 프로세서(100)는 스위치패브릭(114)을 통해 네트워크 프로세서(101)로 외부 트래픽 패킷이 입력되면, 이를 외부네트워크 인터페이스(206)로 전달하고, 이더넷 스위치(103)를 통해 이더넷 콘트롤러(102)로 전달된 내부 트래픽 패킷은 내부네트워크인터페이스(207)로 전달한다. More specifically, the
상기 외부네트워크 프로세서(206) 및 내부네트워크 프로세서(207)는 각각의 외부 트래픽 패킷 및 내부 트래픽 패킷을 동일한 IPv4 프로토콜 스택(205)에 저장하고, 상기 IPv4 프로토콜 스택(205)에 저장된 외부/내부 트래픽 패킷을 상기 라우팅 데몬(201) 및 시스템 제어 프로세서(202)에서 소켓 계층(203) 및 UDP/TCP 계층(204)을 통해 IPv4 프로토콜 스택(205)에서 읽어와 처리한다.The
반대로, 상기 라우팅 데몬(201)에서 외부 노드로 전송될 패킷은 소켓 계층(203) 및 TCP/UDP 계층(204)을 통해 IPv4 프로토콜 스택(205)으로 전달되고, 이는 다시 외부네트워크인터페이스(206)를 통해 네트워크 프로세서(208)로 전달되어, 스위치 패브릭(114)을 통해 외부로 출력된다.Conversely, the packet to be transmitted to the external node in the
그리고 시스템제어프로세스(202)가 다른 프로세서(105,106,111,116,121)로 전달하고자 하는 경우에는, 해당 내부 트래픽 패킷이 소켓계층(203) 및 TCP, UDP 계층(204)을 통하여 IPv4 프로토콜 스택(205)으로 전달되고, 다시 응용프로세서의 내부네트워크인터페이스(207)를 거쳐서 이더넷컨트롤러(209)에 전달된다.In addition, when the
이와 같이, 기존의 라우터 시스템에서는 IPv4 주소를 관리하는 곳이 IPv4 프로토콜 스택(205) 한 곳이었으며, 외부 트래픽 패킷 및 내부 트래픽 패킷이 IPv4 프로토콜 스택(205)을 필요로 하는 경우, 상기 외부네트워크인터페이스(206)와 내부네트워크인터페이스(207)에서 각각 IPv4 주소가 설정된다.As described above, in the conventional router system, the IPv4 address is managed by one
상기 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,
상기 본 발명이 적용되는 라우터는 내부 통신 및 외부 통신에 모두 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
상기 응용 프로세서(300)는 상술한 두 IPv4 프로토콜 스택(305,306)을 통해서, 외부 트래픽용 IPv4 주소와 내부 트래픽용 IPv4 주소를 각각 관리함으로써, 어느 한 순간에 동일한 IPv4 주소를 외부 통신과 내부 통신에서 동시에 설정하여 사용할 수 있다.The
더하여, 본 발명에 의한 응용 프로세서(300)는, 포워딩을 제어하는 라우팅 데몬(301)과 라우터 시스템을 제어하는 시스템 제어 프로세스(302)와 같은 응용 프로그램을 포함하며, 더하여, 상기 응용 프로그램들과 전송 계층 간을 인터페이스하여 상기 응용 프로그램이 데이터를 송수신할 수 있도록 하는 소켓 계층(303)과, 전송계층으로서 UDP/TCP 프로토콜을 통해 데이터 전송을 처리하는 UDP/TCP 계층(304)을 포함한다.In addition, the
상기 소켓 계층(303)은 각 응용 프로그램별로 생성되어 통신을 지원하는 복수의 소켓을 포함하는데, 이때, 각 응용 프로그램별 소켓을 생성하는 경우, 요구하는 통신이 내부 통신인지 외부 통신인지를 구분할 수 있도록 소켓 함수의 인자값(프로토콜 패밀리)을 설정한다.The
더 구체적으로, 소켓을 생성하기 위한 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
이에 의하여, 상기 라우팅 데몬(301)은 외부 노드로 패킷을 송신하고자 하는 경우, 소켓 계층(303)을 통해서 외부통신용 IPv4 프로토콜 스택(305)으로 송신할 외부 데이터 패킷을 전달하고, 상기 시스템 제어 프로세스(302)는 라우터 내부의 다른 프로세서로 제어 패킷을 송신하고자 하는 경우, 소켓 계층(303)을 통해 내부 통신용 IPv4 프로토콜 스택(306)으로 송신할 패킷을 전달한다.Accordingly, when the
더하여, 상기 응용 프로세서(300)는 상기 외부 통신용 IPv4 프로토콜 스택(305)에 저장된 송신할 외부 데이터 패킷을 네트워크 프로세서(101)로 전달하고, 네트워크 프로세서(101)에 의해 수신된 외부 데이터 패킷을 상기 외부 통신용 IPv4 프로토콜 스택(305)에 저장시키는 외부 네트워크 인터페이스(307)와, 상기 내부 통신용 IPv4 프로토콜 스택(306)에 저장된 송신할 내부 제어 패킷을 이더넷 콘트롤러(102)로 전달하고, 상기 이더넷 콘트롤러(102)를 통해 수신된 내부 제어 패킷을 내부 통신용 IPv4 프로토콜 스택(306)에 저장하는 내부 네트워크 인터페이스(308)를 포함한다.In addition, the
상술한 바와 같이 구성된 본 발명의 라우터 시스템에서의 외부 트래픽 패킷과, 내부 트래픽 패킷을 송수신하는 과정을 설명한다.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
이는 상기 응용프로세서(300)의 네트워크프로세서(101)로 수신되며, 상기 네트워크프로세서(101)는 수신된 데이터 패킷을 외부 네트워크 인터페이스(307)로 전달하며, 상기 외부 네트워크 인터페이스(307)는 상기 네트워크 프로세서(101)로부터 전달된 패킷을 외부 통신용 IPv4 프로토콜 스택(305)으로 전달한다. 상기 외부 통신용 IPv4 프로토콜 스택(305)에 전달된 패킷은 소켓계층(303)을 통해 라우팅 데몬(301)과 같은 외부 트래픽을 처리하는 응용프로그램으로 전달된다.This is received by the
반대로 라우터 시스템의 응용프로세서(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
다음으로, 상기 응용 프로세서(300)와 라우터 시스템 내의 다른 프로세서들 간의 내부 제어 패킷은 다음과 같이 처리된다.Next, an internal control packet between the
먼저, 상기 응용 프로세서(300)에서 라우터 시스템 내의 다른 프로세서로 전송할 내부 송신 프레임은 소켓 계층(303)과 TCP, UDP계층(304)을 거쳐서 내부 통신용 IPv4 프로토콜 스택(306)으로 전달되며, 상기 내부 통신용 IPv4 프로토콜 스택(306)에 기억된 내부 송신 프레임은 내부 네트워크 인터페이스(308)를 통해 이더넷 콘트롤러(102)로 전송되어, 내부 통신 경로를 제공하는 이더넷 스위치(103)로 전달된다.First, the internal transmission frame to be transmitted from the
반대로, 상기 이더넷스위치(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
상기와 같이, 본 발명에 의한 라우터 시스템에 있어서, 응용 프로세서(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
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며, 후술하는 특허 청구 범위뿐만 아니라 이 특허 청구 범위와 균등한 것들에 의해 정해져야 한다. 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)
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)
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 |
-
2006
- 2006-05-09 KR KR1020060041498A patent/KR100772182B1/en not_active IP Right Cessation
Patent Citations (4)
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 |