KR101233598B1 - Apparatus and method for controling network - Google Patents
Apparatus and method for controling network Download PDFInfo
- Publication number
- KR101233598B1 KR101233598B1 KR1020090128476A KR20090128476A KR101233598B1 KR 101233598 B1 KR101233598 B1 KR 101233598B1 KR 1020090128476 A KR1020090128476 A KR 1020090128476A KR 20090128476 A KR20090128476 A KR 20090128476A KR 101233598 B1 KR101233598 B1 KR 101233598B1
- Authority
- KR
- South Korea
- Prior art keywords
- sliver
- network
- program
- virtual
- management unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40091—Bus bridging
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate), 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부 및 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부를 포함하는 네트워크 장치를 제공한다.Substrates for mounting a program according to the compiled user setting information, a sliver processing unit for processing a sliver, which is one or more virtual routers that operate dynamically according to the program to be mounted on the substrates and the one Provided is a network device including a sliver management unit for managing the above slivers.
네트워크, 슬리버, SEE, 라우터 Network, Sliber, SEE, Router
Description
본 발명의 실시예들은 네트워크 프로세서 블레이드 기반의 네트워크 가상화 지원 라우터에 관한 것이다.Embodiments of the present invention relate to a network processor blade-based network virtualization support router.
네트워크 가상화 기술은 하나의 물리적 네트워크 자원을 여러 개의 슬라이스로 나누어 동시에 여러 개의 가상 네트워크를 지원하는 기술이며 이를 위해서는 라우터의 가상화가 필요하다. 현재의 가상 라우터 기술은 크게 하드웨어 기반의 라우터 가상화 기술과 소프트웨어 기반의 라우터 가상화 기술로 나눌 수 있다.Network virtualization technology is a technology that supports multiple virtual networks at the same time by dividing a single physical network resource into multiple slices, which requires router virtualization. Current virtual router technology can be divided into hardware-based router virtualization technology and software-based router virtualization technology.
상기 하드웨어 기반의 가상 라우터로는 오픈 플로우 스위치(OpenFlow Switch)가 대표적인 예이다. An example of the hardware-based virtual router is an open flow switch.
도 1은 일반적인 오픈 플로우를 도시한 도면이다.1 is a diagram illustrating a general open flow.
도 1에 도시된 바와 같이 오픈 플로우는 플로우 테이블에 기반하여 패킷을 포워딩해주는 오픈 플로우 스위치와 플로우 테이블을 제어하는 콘트롤러로 구성될 수 있다.As shown in FIG. 1, the open flow may include an open flow switch for forwarding a packet based on a flow table and a controller for controlling the flow table.
이때, 오픈 플로우에서는 콘트롤러를 통해 플로우 테이블에 대한 조작을 통 해 패킷의 경로를 제어할 수 있고, 이를 통해 여러 가상 네트워크 상의 트래픽이 물리적으로 분리될 수 있으므로, 가상 네트워크의 지원이 가능해진다.At this time, in the open flow, the controller can control the path of the packet through an operation on the flow table, and through this, traffic on multiple virtual networks can be physically separated, thereby supporting the virtual network.
그러나, 하드웨어 기반의 가상 라우터는 패킷 처리 성능 측면에서는 포워딩 전용 하드웨어의 도움으로 트래픽을 빠르게 처리할 수 있는 장점이 있으나, 필요한 기능이 하드웨어 상에 구현되어 있어야 하기 때문에 유연성이 떨어져 가상 라우터의 기능적 측면에서 볼 때, 미래 인터넷에서 요구되는 새로운 네트워크 구조나 프로토콜의 지원, 새로운 패킷 헤더의 추가, 다양한 네트워크 정책의 적용, 사용자 요구에 대한 빠른 대처 등이 어렵다. However, hardware-based virtual routers have the advantage of speeding up traffic with the help of forwarding-only hardware in terms of packet processing performance, but they are inflexible because they need to be implemented on hardware. In view of this, it is difficult to support new network structures or protocols required in the future Internet, add new packet headers, apply various network policies, and respond quickly to user demands.
또한, 하드웨어 기반의 가상 라우터는 자원 이용의 측면에서도 물리적 네트워크 자원을 가상 네트워크에 동적을 할당하고 제어하기가 힘들다.In addition, hardware-based virtual routers have difficulty in allocating and controlling physical network resources to virtual networks in terms of resource utilization.
반면, 소프트웨어 기반의 가상 라우터는 하드웨어에 가상화 지원 소프트웨어를 올리고 그 위에 생성되는 여러 개의 가상 머신 (virtual machine) 상에 가상 라우터를 구현하는 구조로서, 하드웨어 기반의 가상 라우터에서 지원하기 힘들었던 여러 기능적 요구들을 프로그래밍을 통해 보다 손쉽게 지원할 수 있는 장점이 있으나, 가상화 소프트웨어 및 가상 머신의 오버헤드로 인해 패킷 처리 성능에는 한계가 있다.On the other hand, the software-based virtual router is a structure that puts virtualization support software on the hardware and implements the virtual router on a plurality of virtual machines created thereon, and meets the functional requirements that were difficult to support in the hardware-based virtual router. Programming has the advantage of easier support, but the overhead of virtualization software and virtual machines limits packet processing performance.
또한, 가상화 지원 소프트웨어는 물리적 자원에 대한 모니터링 기능 및 동적 제어 및 할당에 대한 지원이 미흡한 실정으로서 물리적 자원을 각 가상 네트워크에 동적으로 할당하고 제어하는데 한계가 있다.In addition, virtualization support software has a lack of support for monitoring functions and dynamic control and allocation of physical resources, and has limitations in dynamically allocating and controlling physical resources to each virtual network.
본 발명의 일실시예는 가상 라우터에서 사용자가 원하는 기능을 동적으로 정의할 수 있는 기능의 유연성을 제공하고, 동시에 HW의 고속 패킷 처리 기능의 활용이 가능한 네트워크 장치 및 제어 방법을 제공하는 데 목적이 있다.One embodiment of the present invention is to provide a network device and a control method that provides the flexibility of a function that can dynamically define a user desired function in a virtual router, and at the same time can utilize the high-speed packet processing function of HW have.
또한, 본 발명의 일실시예는 가상 라우터가 하이퍼바이저(hypervisor)나 가상 머신(virtual machine)에서 동작하는 것이 아니라 하드웨어 서브스트래이트(H/W substrate) 상에서 바로 동작함으로써 높은 성능을 낼 수 있음과 동시에 가상 라우터의 기능을 슬리버 프로그램에서 사용자가 직접 작성할 수 있도록 함으로써 가상 라우터의 유연성을 높일 수 있도록 함을 목적으로 한다.In addition, an embodiment of the present invention can achieve high performance by operating a virtual router directly on a hardware substrate (H / W substrate) rather than operating in a hypervisor or a virtual machine. At the same time, the purpose of the virtual router is to increase the flexibility of the virtual router by allowing the user to write the functions of the virtual router directly in the sliver program.
본 발명의 일실시예에 따른 네트워크 장치는 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate), 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부 및 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부를 포함한다.According to an embodiment of the present invention, a network device includes a substrate that implements a program according to compiled user configuration information, and a sliver which is one or more virtual routers that dynamically operate according to the program. A sliver processing unit for processing to be mounted on the image and a sliver management unit for managing the one or more slivers.
또한, 본 발명의 다른 실시예에 따른 네트워크 장치는 사용자 설정 정보에 따라 가상 네트워크를 설정하는 네트워크 설정부, 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하고, 상기 가상 네트워크의 토폴로지를 기록하는 프로그램 설정부, 상기 사용자 설정 정보에 대 한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부에 요청하는 네트워크 생성 요청부 및 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당하는 슬리버 관리부를 포함한다.In addition, the network device according to another embodiment of the present invention, the network setting unit for setting the virtual network according to the user setting information, to create a sliver program for performing a program according to the user setting information in the virtual network, the virtual network A program setting unit for recording a topology of the network, a network generation requesting unit requesting a network management unit to accept the virtual network for the user setting information, and a sliver execution environment according to whether the network management unit accepts the virtual network; And a sliver management unit for allocating a sliver which is one or more virtual routers.
또한, 본 발명의 일실시예에 따른 네트워크 제어 방법은 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)를 유지하는 단계, 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장하는 단계 및 슬리버 관리부를 이용하여 상기 하나 이상의 슬리버를 관리하는 단계를 포함한다.In addition, the network control method according to an embodiment of the present invention comprises the steps of maintaining a sub-substrate for mounting a program according to the compiled user configuration information, at least one virtual router that operates dynamically according to the program Mounting a sliver on the substrate and managing the one or more slivers using a sliver manager.
또한, 본 발명의 다른 실시예에 따른 네트워크 제어 방법은 사용자 설정 정보에 따라 가상 네트워크를 설정하는 방법, 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하는 단계, 상기 가상 네트워크의 토폴로지를 기록하는 단계, 상기 사용자 설정 정보에 대한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부에 요청하는 단계 및 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당하는 단계를 포함한다. In addition, the network control method according to another embodiment of the present invention, a method for setting a virtual network according to the user setting information, creating a sliver program for performing a program according to the user setting information in the virtual network, the virtual network Recording a topology of the network, requesting whether the network management unit accepts the virtual network for the user setting information, and generating a sliver execution environment according to whether the network management unit accepts the virtual network. Assigning the sliver.
본 발명의 일실시예에 따르면 가상 라우터에서 사용자가 원하는 기능을 동적으로 정의할 수 있는 기능의 유연성을 제공하고, 동시에 HW의 고속 패킷 처리 기능의 활용이 가능하다.According to an embodiment of the present invention, the virtual router provides flexibility of a function that can dynamically define a desired function, and at the same time, it is possible to utilize a high speed packet processing function of the HW.
또한, 본 발명의 일실시예는 가상 라우터가 하이퍼바이저(hypervisor)나 가상 머신(virtual machine)에서 동작하는 것이 아니라 하드웨어 서브스트래이트(H/W substrate) 상에서 바로 동작함으로써 높은 성능을 낼 수 있음과 동시에 가상 라우터의 기능을 슬리버 프로그램에서 사용자가 직접 작성할 수 있도록 함으로써 가상 라우터의 유연성을 높일 수 있다.In addition, an embodiment of the present invention can achieve high performance by operating a virtual router directly on a hardware substrate (H / W substrate) rather than operating in a hypervisor or a virtual machine. At the same time, the flexibility of the virtual router can be increased by allowing the user to write the functions of the virtual router directly in the sliver program.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and accompanying drawings, but the present invention is not limited to or limited by the embodiments.
한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.On the other hand, in describing the present invention, when it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The terminology used herein is a term used for appropriately expressing an embodiment of the present invention, which may vary depending on the user, the intent of the operator, or the practice of the field to which the present invention belongs. Therefore, the definitions of the terms should be made based on the contents throughout the specification.
도 2는 본 발명의 일실시예에 따른 네트워크 장치의 구성을 도시한 블록도이다.2 is a block diagram showing the configuration of a network device according to an embodiment of the present invention.
도 2에 도시된 바와 같이 본 발명의 일실시예에 따른 네트워크 장치는 크게 서브스트래이트(210), 슬리버 처리부(220) 및 슬리버 관리부(230)로 구성된다.As shown in FIG. 2, a network device according to an embodiment of the present invention is largely composed of a
즉, 본 발명의 일실시예에 따른 네트워크 장치는 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)(210), 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부(220) 및 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부(230)로 구성될 수 있다.That is, the network device according to an embodiment of the present invention may include a
도 3은 본 발명의 일실시예에 따른 네트워크 장치의 상세 구성을 도시한 블록도이다.3 is a block diagram showing a detailed configuration of a network device according to an embodiment of the present invention.
즉, 본 발명의 일실시예에 따른 네트워크 장치는 도 3에 도시된 바와 같이, 컴파일된 프로그램 이미지를 올릴 수 있는 서브스트래이트(310)와 그 위에서 여러 개의 슬리버가 실행될 수 있도록 슬리버 실행 환경(SEE: Sliver Execution Environment)을 관리하는 슬리버 관리부(SEE Manager) 및 다수의 가상 라우터인 슬리버(Sliver)로 구성될 수 있다.That is, as shown in FIG. 3, the network device according to the embodiment of the present invention may include a
이때, 본 발명의 일실시예에 따른 다수의 슬리버(320)는 다시 하나의 슬리버 실행 환경과 슬리버 실행 환경 APE(SEE API), 그리고 사용자에 의해 정의된 슬리버 프로그램(sliver program)으로 정의될 수 있다.In this case, the plurality of
또한, 본 발명의 일실시예에 따른 슬리버 실행 환경은 슬리버 관리부 에 의해 생성되는 슬리버 프로그램의 실행 환경으로서 슬리버의 설정 상황을 나타내는 일종의 테이블로 표현될 수 있다. In addition, the sliver execution environment according to an embodiment of the present invention may be represented as a kind of table representing a setting state of the sliver as the execution environment of the sliver program generated by the sliver management unit.
본 발명의 일실시예에 따른 슬리버는 해당 슬리버 실행 환경에 설정된 조건 내에서만 패킷 수신, 처리 및 포워딩을 수행할 수 있다.A sliver according to an embodiment of the present invention may perform packet reception, processing, and forwarding only within a condition set in a corresponding sliver execution environment.
또한, 본 발명의 일실시예에 따른 슬리버 실행 환경은 슬리버가 사용 가능한 인터페이스 및 다른 슬리버와의 링크 설정 등을 지원하며, 네트워크 프로세서의 코어 위에서 실행되는 슬리버 프로그램이 사용할 수 있는 메모리 및 CPU 등의 물리적 자원량을 제한할 수 있다.In addition, the sliver execution environment according to an embodiment of the present invention supports a sliver-enabled interface and a link setting with another sliver, and may use a physical memory such as a memory and a CPU that can be used by a sliver program executed on a core of a network processor. You can limit the amount of resources.
본 발명의 일실시예에 따른 슬리버 프로그램은 슬리버 실행 환경 API를 통해 패킷의 수신 및 포워딩 등을 서브스트래이트에 요청할 수 있고, 필요한 물리적 자원을 할당 받을 수 있다.The sliver program according to an embodiment of the present invention may request a substrate to receive and forward a packet through a sliver execution environment API, and may be allocated necessary physical resources.
한편, 본 발명의 일실시예에 따른 슬리버 실행 환경 관리부(220)는 서브스트래이트 상에서 새로운 가상 라우터에 어사인(assign) 되는 슬리버 실행 환경의 생성, 삭제, 관리할 수 있으며, 다수의 슬리버 실행 환경들이 물리적 자원을 공유할 수 있도록 각 슬리버 실행 환경에 대한 자원의 할당 및 스케쥴링 기능을 제공한다.Meanwhile, the sliver execution
도 4는 본 발명의 일실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.4 is a flowchart illustrating a network control method according to an embodiment of the present invention.
정리하면, 도 4에 도시된 바와 같이 본 발명의 일실시예에 따른 네트워크 장치는 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)를 유지한다(410).In summary, as shown in FIG. 4, the network apparatus according to an embodiment of the present invention maintains a substrate for mounting a program according to the compiled user configuration information (410).
한편, 본 발명의 일실시예에 따른 네트워크 장치는 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장한다(420).Meanwhile, the network device according to an embodiment of the present invention mounts the sliver which is one or more virtual routers operating dynamically according to the program on the substrate.
이때, 본 발명의 일실시예에 따른 네트워크 장치는 슬리버 관리부를 이용하 여 상기 하나 이상의 슬리버를 관리한다(430).In this case, the network device according to an embodiment of the present invention manages the one or more slivers using the sliver management unit (430).
도 5는 본 발명의 일실시예에 따른 네트워크 장치의 슬리부 처리부의 상세 구성을 도시한 블록도이다.5 is a block diagram illustrating a detailed configuration of a sleeve processing unit of a network device according to an embodiment of the present invention.
본 발명의 일실시예에 따른 슬리버 처리부(220)는 도 5에 도시된 바와 같이 상기 슬리버의 슬리버 실행 환경(SEE: Sliver Execution Environment)을 처리하는 환경 정보 처리부(510), 상기 사용자 설정 정보에 따라 정의되는 슬리버 프로그램를 구동하는 프로그램 구동부(520) 및 상기 서브스트래이트로부터 패킷에 대한 수신 및 포워딩을 요청하여 물리적 자원을 할당받는 슬리버 실행 환경 API (Application Programmer Interface)(530)로 구성될 수 있다.As illustrated in FIG. 5, the
이때, 본 발명의 일실시예에 따른 환경 정보 처리부(510)는, 전술한 바와 같이 상기 슬리버가 사용 가능한 인터페이스 및 다른 슬리버 간의 링크 설정을 지원하며, 네트워크 프로세서의 코어 상에서 실행되는 상기 슬리버 프로그램이 사용 가능한 메모리 및 CPU에 대한 상기 물리적 자원을 제한할 수 있다.At this time, the environment
한편 본 발명의 일실시예에 따른 슬리버 관리부는 도 6과 같은 구성으로 이루어질 수 있다.Meanwhile, the sliver manager according to the exemplary embodiment of the present invention may be configured as shown in FIG. 6.
도 6은 본 발명의 일실시예에 따른 네트워크 장치의 슬리버 관리부의 상세 구성을 도시한 블록도이고, 도 7은 본 발명의 일실시예에 따른 슬리버 관리 방법을 도시한 흐름도이다.6 is a block diagram illustrating a detailed configuration of a sliver management unit of a network device according to an embodiment of the present invention, and FIG. 7 is a flowchart illustrating a sliver management method according to an embodiment of the present invention.
먼저, 도 6 내지 도 7에 도시된 바와 같이 본 발명의 일실시예에 따른 슬리버 관리부(600)의 패킷 수신부는 네트워크 인터페이스로부터 패킷을 수신한 다(710).First, as illustrated in FIGS. 6 to 7, the packet receiver of the
다음으로, 본 발명의 일실시예에 따른 패킷 전송부(620)는 상기 슬리버에 의하여 송신 요청된 패킷을 링크 정보에 대응하는 인터페이스로 전송한다(720).Next, the
다음으로, 본 발명의 일실시예에 따른 패킷 전달부(630)는 상기 수신된 패킷을 상기 슬리버의 인터페이스로 전송하며(730), 본 발명의 일실시예에 따른 대역폭 제어부(640)는 상기 슬리버의 트래픽에 대한 대역폭을 제한할 수 있다(740).Next, the
이때, 본 발명의 일실시예에 따른 환경 설정부(650)는 상기 슬리버가 사용 가능한 상기 인터페이스 및 상기 링크를 설정 및 관리하며(750), 본 발명의 일실시예에 따른 코어 할당부(660)는 상기 프로그램 간의 코어 할당을 관리하도록 제어한다(760).In this case, the
이렇듯, 본 발명의 일실시예에 따른 네트워크 장치는 가상 라우터가 하드웨어 서브스트래이트 상에서 바로 동작함으로써, 높은 성능을 낼 수 있음과 동시에 가상 라우터의 기능을 슬리버 프로그램에서 사용자가 직접 작성할 수 있어, 가상 라우터의 유연성을 높일 수 있다.As such, the network device according to an embodiment of the present invention can perform high performance by directly operating a virtual router on a hardware substrate, and at the same time, a user can directly write a function of the virtual router in a sliver program, You can increase the flexibility of your router.
도 8은 본 발명의 다른 실시예에 따른 네트워크 장치의 구성을 도시한 블록도이며, 도 9는 본 발명의 다른 실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.8 is a block diagram showing a configuration of a network device according to another embodiment of the present invention, and FIG. 9 is a flowchart illustrating a network control method according to another embodiment of the present invention.
도 8 내지 도 9를 참조하여 본 발명의 다른 실시예에 따른 네트워크 장치(800)를 이용하여 네트워크를 제어하여 슬리버를 생성하는 방법을 설명하면 다음과 같다.8 to 9, a method of generating a sliver by controlling a network using the
본 발명의 다른 실시예에 따른 네트워크 설정부(810)는 사용자 설정 정보에 따라 가상 네트워크를 설정한다(910).The
다름으로, 본 발명의 다른 실시예에 따른 프로그램 설정부(820)는 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하고, 상기 가상 네트워크의 토폴로지를 기록한다(920).Alternatively, the
다음으로, 본 발명의 다른 실시예에 따른 네트워크 생성 요청부(830)는 상기 사용자 설정 정보에 대한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부(미도시)에 요청한다(930).Next, the network
이때, 본 발명의 다른 실시예에 따른 네트워크 관리부는 슬리버 실행 노드를 선택한다(940)In this case, the network manager according to another embodiment of the present invention selects a sliver execution node (940).
최종적으로, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당한다(950).Finally, the
한편, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 슬리버 프로그램을 다운로드 하고(960), 슬리버 프로그램을 실행한다(970). 본 발명의 다른 실시예에 따르면 슬리버 프로그램이 실행된 후, 사용자 단말기로부터 슬리버 제어 요청을 수신하여 해당 슬리버를 실행한다(980).Meanwhile, the
이때, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 상기 네트워크 관리부가 상기 가상 네트워크를 수용하는 경우, 상기 슬리버 프로그램을 실행하는 노드를 선택하고 상기 노드에 대응하는 슬리버를 생성한다. 반대로, 본 발명의 다 른 실시예에 따른 슬리버 관리부(840)는 상기 네트워크 관리부가 상기 가상 네트워크를 수용 불가하는 경우, 실패 메시지(fail message)를 사용자 단말기로 전송한다.In this case, the
또한, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 상기 사용자 설정 정보에 따라 상기 슬리버를 시작, 정지, 삭제 또는 재설정할 수 있다.In addition, the
도 10은 본 발명의 일실시예에 따른 네트워크 장치를 이용하여 슬리버를 생성한 예를 도시한 도면이다.10 is a diagram illustrating an example of generating a sliver using a network device according to an embodiment of the present invention.
도 10을 참조하면, 본 발명의 일실시예에 따른 네트워크 장치에 의한 슬리버는 8코어 네트워크 프로세서 블레이드 상에서 7개(S1~S7)의 슬리버가 생성될 수 있다.Referring to FIG. 10, seven slivers S1 to S7 may be generated on an eight-core network processor blade by a sliver by a network device according to an embodiment of the present invention.
참고로, 네트워크 프로세서는 다수의 코어를 지원하기 때문에 각 코어에 독립적으로 여러 개의 프로그램을 실행 시킬 수 있으며, CPU 스케쥴러의 지원이 있다면 복수의 프로그램이 하나의 코어를 공유하며 실행 될 수도 있다. For reference, since a network processor supports a plurality of cores, multiple programs can be executed independently of each core. If a CPU scheduler is supported, a plurality of programs may share and share a single core.
본 발명의 일실시예에 따른 네트워크 장치의 슬리버 관리부는 코어 C1~C3에서 실행될 수 있으며, 경우에 따라 보다 많은 CPU 자원이 필요할 경우 좀더 많은 코어가 할당될 수도 있다. The sliver management unit of the network device according to an embodiment of the present invention may be executed in the cores C1 to C3, and in some cases, more cores may be allocated when more CPU resources are required.
예를 들어, 본 발명의 일실시예에 따른 네트워크 장치의 코어 C5~C8에는 슬리버 프로그램이 실행될 수 있는데, 슬리버 실행 환경 설정에 따라 각 슬리버 프로그램이 코어 자원의 사용량이 슬리버 관리부에 의해 제한되게 되며, 슬리버 실행 환경에서 CPU 자원 설정이 바뀌면 코어 C4의 경우처럼 CPU 자원 할당이 달라질 수 있다.For example, the sliver program may be executed in the cores C5 to C8 of the network device according to an embodiment of the present invention, and the amount of core resources of each sliver program is limited by the sliver management unit according to the sliver execution environment setting. If the CPU resource setting is changed in the sliver execution environment, the CPU resource allocation may be different as in the case of Core C4.
또한, 본 발명의 일실시예에 따른 네트워크 장치는 쉐어 메모리(Shared Memory)영역에는 각 슬리버에 대한 슬리버 실행 환경이 생성되어 슬리버 프로그램에 의해 접근될 수 있다.In addition, in the network device according to an embodiment of the present invention, a sliver execution environment for each sliver may be generated in the shared memory area and accessed by the sliver program.
한편, 본 발명의 일실시예에 따른 슬리버 실행 환경은 각 슬리버에 할당된 대역폭(bandwidth), CPU, 메모리 자원 등에 관한 설정 및 인터페이스 및 링크 설정 내역이 저장될 수 있으며, 각 슬리버에서 사용할 입출력 큐가 설정 내역에 따라 생성되어 슬리버에 의해 사용될 수 있다.Meanwhile, in the sliver execution environment according to an embodiment of the present invention, settings related to bandwidth, CPU, memory resources, and the like allocated to each sliver may be stored, and interface and link setting details may be stored. It can be generated according to the configuration details and used by the sliver.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk, and a magnetic tape; optical media such as CD-ROM and DVD; magnetic recording media such as a floppy disk; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
도 1은 일반적인 오픈 플로우를 도시한 도면이다.1 is a diagram illustrating a general open flow.
도 2는 본 발명의 일실시예에 따른 네트워크 장치의 구성을 도시한 블록도이다.2 is a block diagram showing the configuration of a network device according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 네트워크 장치의 상세 구성을 도시한 블록도이다.3 is a block diagram showing a detailed configuration of a network device according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.4 is a flowchart illustrating a network control method according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 네트워크 장치의 슬리부 처리부의 상세 구성을 도시한 블록도이다.5 is a block diagram illustrating a detailed configuration of a sleeve processing unit of a network device according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 네트워크 장치의 슬리버 관리부의 상세 구성을 도시한 블록도이다.6 is a block diagram showing a detailed configuration of a sliver management unit of a network device according to an embodiment of the present invention.
도 7은 본 발명의 일실시예에 따른 슬리버 관리 방법을 도시한 흐름도이다.7 is a flowchart illustrating a sliver management method according to an embodiment of the present invention.
도 8은 본 발명의 다른 실시예에 따른 네트워크 장치의 구성을 도시한 블록도이다.8 is a block diagram showing the configuration of a network device according to another embodiment of the present invention.
도 9는 본 발명의 다른 실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.9 is a flowchart illustrating a network control method according to another embodiment of the present invention.
도 10은 본 발명의 일실시예에 따른 네트워크 장치를 이용하여 슬리버를 생성한 예를 도시한 도면이다.10 is a diagram illustrating an example of generating a sliver using a network device according to an embodiment of the present invention.
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090128476A KR101233598B1 (en) | 2009-12-21 | 2009-12-21 | Apparatus and method for controling network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090128476A KR101233598B1 (en) | 2009-12-21 | 2009-12-21 | Apparatus and method for controling network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110071816A KR20110071816A (en) | 2011-06-29 |
KR101233598B1 true KR101233598B1 (en) | 2013-02-14 |
Family
ID=44402823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090128476A KR101233598B1 (en) | 2009-12-21 | 2009-12-21 | Apparatus and method for controling network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101233598B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249335A1 (en) | 2007-12-20 | 2009-10-01 | Virtual Computer, Inc. | Delivery of Virtualized Workspaces as Virtual Machine Images with Virtualized Hardware, Operating System, Applications and User Data |
-
2009
- 2009-12-21 KR KR1020090128476A patent/KR101233598B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249335A1 (en) | 2007-12-20 | 2009-10-01 | Virtual Computer, Inc. | Delivery of Virtualized Workspaces as Virtual Machine Images with Virtualized Hardware, Operating System, Applications and User Data |
Also Published As
Publication number | Publication date |
---|---|
KR20110071816A (en) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7252356B2 (en) | MOBILE EDGE COMPUTING NODE SELECTION METHOD, APPARATUS AND SYSTEM AND COMPUTER PROGRAM | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
CN111542064B (en) | Container arrangement management system and arrangement method for wireless access network | |
US8863138B2 (en) | Application service performance in cloud computing | |
US9264369B2 (en) | Technique for managing traffic at a router | |
KR101880407B1 (en) | Resource management method, host, and endpoint | |
JP6783850B2 (en) | Methods and systems for limiting data traffic | |
CN108737271B (en) | Message routing method, device and system | |
KR20110083084A (en) | Apparatus and method for operating server by using virtualization technology | |
CN107809495B (en) | Address management method and device | |
US11868164B2 (en) | On-demand code execution with limited memory footprint | |
US10382344B2 (en) | Generating and/or receiving at least one packet to facilitate, at least in part, network path establishment | |
JP2014016700A (en) | Information processing system, method for controlling information processing system and control program | |
KR20220080271A (en) | Method and apparatus for returning execution result of function in name-based in-network distributed computing system | |
KR20160025926A (en) | Apparatus and method for balancing load to virtual application server | |
JP2010218151A (en) | Virtual computer management mechanism and cpu time allocation control method in virtual computer system | |
KR101233598B1 (en) | Apparatus and method for controling network | |
WO2016179803A1 (en) | Method, device and system for establishing connection between vnfm and vim | |
JP2023065176A (en) | Program, information processing method and information processing device | |
JP2014187430A (en) | Communication system, relay device, communication method, and program | |
US10963296B1 (en) | Load balancing of compute resources based on resource credits | |
KR102025425B1 (en) | Network apparatus for deploying virtual network function and method thereof | |
WO2024169161A1 (en) | Resource configuration method and apparatus, and system and device | |
WO2024130565A1 (en) | Task processing method and apparatus, and electronic device | |
CN110365720B (en) | Method, device and system for processing resource request |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160113 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181229 Year of fee payment: 7 |