KR101068787B1 - Overlay network system and method of multicast using the same - Google Patents
Overlay network system and method of multicast using the same Download PDFInfo
- Publication number
- KR101068787B1 KR101068787B1 KR1020090106016A KR20090106016A KR101068787B1 KR 101068787 B1 KR101068787 B1 KR 101068787B1 KR 1020090106016 A KR1020090106016 A KR 1020090106016A KR 20090106016 A KR20090106016 A KR 20090106016A KR 101068787 B1 KR101068787 B1 KR 101068787B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- proxy node
- mac
- received
- multicast
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000001914 filtration Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 claims description 2
- NTOPKICPEQUPPH-UHFFFAOYSA-N IPMP Natural products COC1=NC=CN=C1C(C)C NTOPKICPEQUPPH-UHFFFAOYSA-N 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000003362 replicative effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 7
- 238000006424 Flood reaction Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005304 joining Methods 0.000 description 3
- UXFSPRAGHGMRSQ-UHFFFAOYSA-N 3-isobutyl-2-methoxypyrazine Chemical compound COC1=NC=CN=C1CC(C)C UXFSPRAGHGMRSQ-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009440 infrastructure construction Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001960 triggered effect 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- 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/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법이 개시된다. 본 발명은 복수의 종단 호스트, 데이터평면에서 복수의 종단 호스트와 각각 연결되고, 복수의 종단 호스트의 멀티캐스트 참가 및 탈퇴를 모니터링하고, 관리서버로부터 수신한 플로우테이블에 대응하여 아이피 인 아이(IP-in-IP)에 의해 패킷을 이동하는 복수의 프록시 노드 및 제어평면에서 복수의 프록시 노드로부터 수신한 정보를 바탕으로 멀티캐스트 스패닝트리를 구성하고, 패킷 플로우에 대한 플로우테이블을 설정하여 복수의 프록시 노드로 전송하는 상기 관리서버를 포함하여 구성되어, SeeOver(Service-enabling Overlay) 인프라를 구축, 서비스할 수 있다.An overlay network system and a multicast method using the same are disclosed. The present invention is connected to a plurality of end hosts, a plurality of end hosts in the data plane, and monitors the participation and withdrawal of the multicast of the plurality of end hosts, and in response to the flow table received from the management server IP in eye (IP- a multicast spanning tree based on information received from a plurality of proxy nodes moving packets by in-IP and a plurality of proxy nodes in a control plane, and a flow table for packet flows It is configured to include the management server to transmit to, to build and service SeeOver (Service-enabling Overlay) infrastructure.
종단 호스트, 데이터평면, 제어평면, 프록시 노드, 관리서버 End host, data plane, control plane, proxy node, management server
Description
본 발명은 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법에 관한 것으로, 보다 상세하게는 제어평면(control plane) 및 데이터평면(data plane)이 분리되어 있으며, 프록시 노드가 데이터평면에서 점대점(point-to-point) 또는 점대다(point-to-multipoint) 포워딩을 수행하고, 관리서버(Coordinator)는 제어평면에서 프록시 노드의 관리, 스패닝트리의 구성을 수행하여 SeeOver(Service-enabling Overlay) 인프라를 구축, 서비스할 수 있는 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법에 관한 것이다.The present invention relates to an overlay network system and a multicast method using the same. More specifically, a control plane and a data plane are separated, and a proxy node is point-to-point in the data plane. -point) or point-to-multipoint forwarding, and the management server (Coordinator) manages the proxy nodes and configures the spanning tree in the control plane to build a SeeOver (Service-enabling Overlay) infrastructure. An overlay network system that can serve and a multicast method using the same.
종래의 아이피 멀티캐스트(IP Multicast)는 수익 모델의 부재, AS간 정책적 이견 및 유지 관리의 어려움 등으로 기술적 장점에도 불구하고 구축 서비스가 제한적으로 진행되어 왔다. 근래의 아이피(IP) TV 등 상용 서비스 모델이 등장하고 e-Science와 같은 과학기술 협업 환경에의 요구 등 기술의 확대 적용에 대한 기대가 증가되고 있다. 이러한 시점에서 아이피 멀티캐스트 서비스의 부재 및 도메인 간 상호 라우팅 문제 등으로 인해 발생하는 서비스의 단절 및 응용 서비스의 저품질화 를 포함하는 다양한 문제들을 극복하고 다자간 망기반 협업이 가능하도록 안정적인 아이피(IP) 멀티캐스팅 인프라를 제공할 수 있는 기술적 접근이 요구된다.Conventional IP Multicast (IP Multicast) has a limited implementation service despite the technical advantages due to the absence of a revenue model, policy differences between AS and difficult maintenance. Recently, commercial service models such as IP (IP) TVs have emerged, and there is a growing expectation for the widespread application of technology, such as the demand for scientific and technological collaboration environments such as e-Science. At this point, stable IP multiplexing is possible to overcome various problems including disconnection of service and low quality of application service caused by absence of IP multicast service and mutual routing problem between domains. A technical approach is needed to provide a casting infrastructure.
아이피(IP) 멀티캐스트의 비신뢰적 전송 등 품질 문제와 인프라 구축 지연 등으로 인한 서비스 부재의 문제를 해결하기 위해 Overcast, RON, ScatterCast, Yoid, ECM, ALMI 등 다양한 오버레이 멀티캐스트 연구들이 진행되어 왔다. 이러한 오버레이 멀티캐스트 연구들은 오버레이 구조의 확장성, 연결성, 신뢰성 등의 향상에 초점을 두었고, 응용 계층에서 아이피 패킷을 처리하기 때문에 패킷 포워딩 성능이 낮거나, 패킷 중계를 담당하는 호스트들의 잦은 멀티캐스트 참가 및 탈퇴(join and leave)로 인해 트리(tree) 구성이 안정적이지 못한 단점이 있다. Overlay, RON, ScatterCast, Yoid, ECM, ALMI and other overlay multicast studies have been conducted to solve problems such as quality problems such as unreliable transmission of IP multicast and lack of service due to delays in infrastructure construction. . These overlay multicast studies focus on improving the scalability, connectivity, and reliability of the overlay structure, and because the IP layer is handled at the application layer, low packet forwarding performance or frequent multicast participation of hosts responsible for packet relaying And tree composition is not stable due to join and leave.
또한, 오버레이 인프라에 참가하는 호스트 간 메시지 교환을 위해 비표준 통신 규약이나 인프라 종속적인 패킷 헤더 등을 사용해야 하므로 종단 호스트의 응용 소프트웨어 또는 시스템 설정의 변경을 필요로 한다. In addition, the use of non-standard communication protocols or infrastructure-dependent packet headers for message exchange between hosts participating in the overlay infrastructure requires a change in the application software or system configuration of the end host.
일례로, 오버레이 프록시(수퍼노드)를 사용하는 ScatterCast는 평균 350Mbps의 패킷 처리율을 보이며 패킷당 처리지연이 200 내지 600㎲(최대 2 내지 3㎳)로써 다수의 프록시를 통해 라우팅될 때 높은 지연변이(Jitter)가 발생하는 등 서비스 품질의 저하를 예상할 수 있다.For example, ScatterCast using an overlay proxy (supernode) has a packet throughput of 350 Mbps on average and a high latency variation when routing through multiple proxies with 200 to 600 milliseconds of delay per packet (up to 2-3 milliseconds). Deterioration of service quality can be expected such as jitter.
즉, 종래의 아이피 멀티캐스트를 대체하는 오버레이 네트워킹 기술들은 종단 호스트의 설정수정 또는 비표준 통신 규약 등을 이용해야 하고, 종단 호스트들이 패킷 전달에 직접 참가하므로 참가 및 탈퇴가 자유롭기 때문에 안정적인 트리를 제공하지 못하였고, 악성 사용자로부터 해당 그룹을 보호할 수 없었다. In other words, overlay networking techniques replacing conventional IP multicast must use end host configuration modification or non-standard communication protocol, and do not provide stable tree because end hosts directly participate in packet forwarding and are free to join and leave. The group could not be protected from malicious users.
또한, 종래의 소프트웨어에 의한 점대다 포워딩은 고성능, 고가의 워크스테이션(workstation)을 활용하지만 패킷 처리율 등에서 낮은 성능을 보이는 문제점이 있었다.In addition, conventional point-to-multiple forwarding by software utilizes a high-performance, expensive workstation, but has a problem of low performance in packet throughput.
따라서, 상기 문제점을 해결하기 위한 본 발명의 목적은 아이피(IP) 멀티캐스트를 대행하는 것으로, 제어평면 및 데이터평면이 분리되어 있으며, 프록시 노드가 데이터평면에서 점대점 또는 점대다 포워딩을 수행하고, 관리서버는 제어평면에서 프록시 노드의 관리, 스패닝트리의 구성을 수행하여 SeeOver 인프라를 구축, 서비스할 수 있는 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법을 제공하는 것이다.Accordingly, an object of the present invention for solving the above problems is to substitute for IP (IP) multicast, the control plane and the data plane is separated, the proxy node performs point-to-point or point-to-many forwarding in the data plane, The management server provides an overlay network system capable of constructing and servicing a SeeOver infrastructure by managing proxy nodes and configuring a spanning tree in a control plane, and a multicast method using the same.
이러한 목적을 달성하기 위하여 본 발명은 복수의 종단 호스트, 데이터평면에서 상기 복수의 종단 호스트와 각각 연결되고, 상기 복수의 종단 호스트의 멀티캐스트 참가 및 탈퇴를 모니터링하고, 관리서버로부터 수신한 플로우테이블에 대응하여 아이피 인 아이(IP-in-IP)에 의해 패킷을 이동하는 복수의 프록시 노드 및 제어평면에서 상기 복수의 프록시 노드로부터 수신한 정보를 바탕으로 멀티캐스트 스패닝트리를 구성하고, 패킷 플로우에 대한 플로우테이블을 설정하여 상기 복수의 프록시 노드로 전송하는 상기 관리서버를 포함하며 상기 데이터평면과 상기 제어평면은 분리되고, 상기 복수의 종단 호스트와 상기 복수의 프록시 노드 사이에는 아이지엠피(IGMP) 규약이 적용되는 오버레이 네트워크 시스템을 제공한다.In order to achieve the above object, the present invention is connected to a plurality of end hosts and a plurality of end hosts in the data plane, respectively, and monitors multicast participation and withdrawal of the plurality of end hosts, and transmits them to a flow table received from a management server. Correspondingly, a multicast spanning tree is constructed based on the information received from the plurality of proxy nodes in the control plane and the control node moving the packet by IP-in-IP, and the packet flow And a management server configured to set a flow table and transmit the flow table to the plurality of proxy nodes, wherein the data plane and the control plane are separated, and an IGMP protocol is established between the plurality of end hosts and the plurality of proxy nodes. Provides an overlay network system applied.
상기 목적을 달성하기 위한 본 발명은 (a)프록시 노드는 맥 프레임을 수신하는 단계, (b)상기 프록시 노드는 상기 수신한 맥 프레임의 목적지 맥 주소를 판단 하는 단계, (c)상기 프록시 노드는 상기 맥 프레임의 목적지 맥 주소가 멀티캐스트 맥 주소이면 프로토콜 번호를 읽어 수신한 패킷의 종류를 판단하는 단계, (d)상기 프록시 노드는 상기 수신한 패킷이 멀티캐스트 아이피(IP)이면 플로우테이블의 필터링 룰(RULES)을 검색하고, 상기 수신한 프레임의 맥 주소와 프로토콜 번호가 아이지엠피 패킷이면 소프트웨어에서 처리하는 단계 및 (e)상기 프록시 노드는 상기 플로우테이블에 상기 수신한 맥 프레임이 갖는 정보를 포함하는 필터링 룰이 존재하지 않으면 관리서버에게 플로우테이블을 요청하고, 필터링 룰이 존재하는 경우 처리규칙(ACTION)을 수행하는 단계를 포함하는 오버레이 네트워크 시스템을 이용하는 멀티캐스트 방법을 제공한다.The present invention for achieving the above object is (a) the proxy node receiving the MAC frame, (b) the proxy node determining the destination MAC address of the received Mac frame, (c) the proxy node Determining a type of a received packet by reading a protocol number if the destination MAC address of the MAC frame is a multicast MAC address, and (d) filtering the flow table if the received packet is a multicast IP (IP) Searching for a rule and processing in software if the MAC address and protocol number of the received frame are IGMP packets; and (e) the proxy node includes information of the received MAC frame in the flow table. If the filtering rule does not exist, request the flow table from the management server, and if the filtering rule exists, the processing rule (ACTION) is executed. It provides a multicast method using an overlay network system comprising the step.
따라서, 본 발명의 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법에 의하면, 아이피 멀티캐스트를 대행하는 것으로, 제어평면 및 데이터평면이 분리되어 있으며, 프록시 노드가 데이터평면에서 점대점 또는 점대다 포워딩을 수행하고, 관리서버는 제어평면에서 프록시 노드의 관리, 스패닝트리의 구성을 수행하여 SeeOver 인프라를 구축, 서비스할 수 있는 효과가 있다.Therefore, according to the overlay network system of the present invention and a multicast method using the same, the control plane and the data plane are separated on behalf of IP multicast, and the proxy node performs point-to-point or point-to-many forwarding on the data plane. In addition, the management server has the effect of establishing and servicing the SeeOver infrastructure by performing proxy node management and spanning tree configuration in the control plane.
또한, 본 발명의 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법은 수퍼노드인 오버레이 프록시(proxy)를 이용하므로 안정적인 트리 제공이 가능하며, 아이지엠피(IGMP)(Internet group management protocol)등 기존 아이피 프로토콜 규약을 준수함으로써 시스템 설정의 변경없이 다자간 협업에 참가할 수 있는 효과가 있다.In addition, the overlay network system of the present invention and a multicast method using the same can provide a stable tree by using an overlay proxy, which is a super node, and can use existing IP protocol protocols such as Internet group management protocol (IGMP). Compliance allows you to participate in multilateral collaboration without changing system settings.
또한, 본 발명의 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법은 멀티캐스트 패킷을 플로우테이블(Flow table)에 기반하여 포워딩하게 함으로써 각 플로우에 대한 관리성을 높이고, 관리서버가 멀티캐스트 패킷에 대한 필터링 룰(RULES) 규칙 및 처리지침(ACTION) 등을 결정하게 함으로써 플로우 처리에 대한 다양한 설정의 조합이 가능한 효과가 있다.In addition, the overlay network system of the present invention and a multicast method using the same increase the manageability of each flow by forwarding the multicast packet based on a flow table, and the management server filters the rules for the multicast packet. (RULES) It is possible to combine various settings for flow processing by determining rules and action instructions.
그리고, 본 발명의 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법은 PCI(Peripheral component interconnect) 카드인 저가의 NetFPGA를 활용해 고속 패킷 포워딩 및 다지점 복제를 수행하고, 제어평면과 데이터평면을 분리함으로써 Gbps 급 패킷 처리 성능을 보장할 수 있고, 비용 효율적 프록시의 구축이 가능한 효과가 있다.In addition, the overlay network system of the present invention and a multicast method using the same perform a high-speed packet forwarding and multi-point replication using a low-cost NetFPGA, a Peripheral Component Interconnect (PCI) card, and separate the control plane from the data plane to provide Gbps. Packet processing performance can be guaranteed and a cost effective proxy can be constructed.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정 해석되지 아니하며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.The terms or words used in this specification and claims are not to be construed as limiting in their usual or dictionary meanings, and the inventors may properly define the concept of terms in order to best explain their invention in the best way possible. It should be interpreted as meaning and concept corresponding to the technical idea of the present invention.
이하, 본 발명의 바람직한 실시예를 첨부도면에 의거하여 설명한다.Best Mode for Carrying Out the Invention Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.
본 발명의 실시예에 의한 오버레이 네트워크 시스템은 도 1 및 도 2 를 참조하여 설명하면 다음과 같다. 도 1은 본 발명의 실시예에 의한 오버레이 네트워크 시스템의 개략도이고, 도 2는 도 1의 프록시 노드를 나타내는 개략도이다.An overlay network system according to an embodiment of the present invention will be described with reference to FIGS. 1 and 2 as follows. 1 is a schematic diagram of an overlay network system according to an embodiment of the present invention, and FIG. 2 is a schematic diagram illustrating the proxy node of FIG. 1.
도 1에 도시된 바와 같이, 본 발명의 실시예에 의한 오버레이 네트워크 시스 템(100)은 멀티캐스트를 위해 제어평면(control plane)과 데이터평면(data plane)으로 분리되어 있으며, 복수의 종단 호스트(hk, hk', hm)(140), 복수의 프록시 노드(Nl, Nm, Nk)(110), 관리서버(C, 150)를 포함하여 구성된다.As shown in FIG. 1, the overlay network system 100 according to an embodiment of the present invention is divided into a control plane and a data plane for multicast, and includes a plurality of end hosts ( h k , h k ' , h m ) 140, a plurality of proxy nodes N 1 , N m , N k ) 110, and a management server C, 150.
복수의 종단 호스트(140)와 복수의 프록시 노드(110) 사이에는 아이지엠피(IGMP) 규약을 이용하며, 프록시 노드(110)는 종단 호스트(140)의 멀티캐스트 참가 및 탈퇴를 모니터링하고, 관리 즉 아이지엠피 스누핑(snooping)한다. 멀티캐스트 패킷을 목적지로 전송하기 위해 프록시 노드(110) 사이에는 아이핀-인-아이피(IP-in-IP) 서비스를 제공한다.IGMP protocol is used between the plurality of
관리서버(C)는 프록시 노드(110)가 제공한 정보를 바탕으로 스패닝트리를 구성하고 패킷 플로우에 대한 처리 방법을 프록시 노드(110)에 전송한다. 이후, 프록시 노드(110)는 관리서버(150)가 제공한 플로우테이블에 기반하여 해당 패킷 플로우를 고속 포워딩한다.The management server C constructs a spanning tree based on the information provided by the
구체적으로, 도 2를 참조하여 프록시 노드(110)를 살펴보면, 프록시 노드(110)는 하드웨어 및 소프트웨어로 구분된다. 하드웨어는 아이피(IP) 패킷 및 맥(MAC) 프레임 포워딩 기능을 수행하고, 소프트웨어는 에이알피(ARP), 아이지엠피(IGMP), SSL 등의 통신규약 등을 수행한다. 이때, 데이터평면은 하드웨어가 관리하고, 제어평면은 소프트웨어가 관리한다.Specifically, referring to the
프록시 노드(110)는 2계층, 3계층 헤더 정보를 바탕으로 패킷을 구분하여 처리한다. 특히, 프록시 노드(110)는 공인 IP를 가지고 있으므로 ARP 패킷을 소프트 웨어에서 처리하고, IGMP를 이용하기 때문에 IBMP 패킷을 소프트웨어에서 처리한다.The
구체적으로, 아비터(Arbiter, 111)는 물리계층(PHY, 119)을 통해 입력되는 맥 프레임을 통해 프레임 및 패킷의 종류를 파악하고, 종류에 따른 처리 블럭을 선택한다. 또한, 맥 테이블(MAC Table)을 유지, 관리하고 아이피 Checksum 오류를 검사한다. 예컨대, 에이알피에 해당하는 맥(MAC) 프레임을 수신받았을 경우에, 맥 테이블의 관리를 위해 소프트웨어 부분의 오버레이 엔진(Overlay Engine, 121)으로 분기시킨다.Specifically, the
또한, 아비터(111)는 정보 베이스(Information Bases, 113)의 플로우테이블(Flow Table), 맥 테이블, 시스템 상태 등을 갱신하고, 정보 베이스(113)의 정보를 이용하여 패킷 및 프레임 입, 출력을 총괄한다.In addition, the
맥 브리지(MAC Bridge, 115)는 2계층 맥 프레임의 스위칭(switching) 기능을 수행한다. 정보 베이스(113)가 보유 중인 맥 테이블을 읽어 출력 포트 등을 결정하고 맥 프레임을 생성한다.The
아이피 브리지(IP Bridge, 117)는 정보 베이스(113)가 보유 중인 플로우테이블을 읽어 아이피 패킷을 캡슐화(encapsulation) 또는 역캡슐화(de-encapulation)한다. 여기서, 캡슐화는 아이피-인-아이피 방식이며 캡슐화된 아이피 패킷은 점대점으로 연결된 이웃(neighbor) 프록시 노드(110)에게 전달되며, 역캡슐화되는 아이피 패킷은 다운링크 포트에 연결된 종단 호스트(140)들에게 플러딩된다.The
본 발명의 실시예에 의한 오버레이 네트워크 시스템의 프록시 노드의 패킷 처리 방법을 도 1 내지 도 7을 참조하여 설명하면 다음과 같다. 도 3 및 도 4는 본 발명의 실시예에 의한 맥(MAC) 프레임 처리 방법에 대한 흐름도이고, 도 5는 본 발명의 실시예에 의한 에이알피(ARP) 처리 방법에 대한 흐름도이고, 도 6은 본 발명의 실시예에 의한 아이지엠피(IGMP) 처리 방법에 의한 흐름도이고, 도 7은 본 발명의 실시예에 의한 오버레이 네트워크 시스템의 관리서버와 프록시 노드 간의 신호 처리에 대한 도면이다.A packet processing method of a proxy node of an overlay network system according to an embodiment of the present invention will be described with reference to FIGS. 1 to 7. 3 and 4 are flowcharts illustrating a MAC frame processing method according to an embodiment of the present invention, FIG. 5 is a flowchart illustrating an ARP processing method according to an embodiment of the present invention, and FIG. FIG. 7 is a flowchart illustrating an IGMP processing method according to an embodiment of the present invention, and FIG. 7 is a diagram illustrating signal processing between a management server and a proxy node of an overlay network system according to an embodiment of the present invention.
프록시 노드(110)는 2계층에서 맥 프레임을 기준으로 패킷 또는 프레임을 구분하여 처리한다.The
도 3에 도시된 바와 같이, 프록시 노드(110)는 S201과정에서 맥 프레임을 수신하고, S203과정에서 프록시 노드(110)의 맥 프레임의 목적지 맥 주소를 판단한다.As shown in FIG. 3, the
다음으로 211과정에서 프록시 노드(110)는 맥 프레임의 목적지 맥 주소가 멀티캐스트 맥 주소이면 프로토콜 번호를 읽어 수신한 패킷의 종류를 판단한다. 판단 결과 수신한 패킷이 아이지엠피 패킷이면 S213과정에서 프록시 노드(110)는 소프트웨어에서 처리한다.Next, in step 211, if the destination MAC address of the MAC frame is a multicast MAC address, the
판단 결과 수신한 패킷이 멀티캐스트 IP이면 S231과정에서 프록시 노드(110)는 플로우테이블의 필터링 룰이 존재하는지 검색한다. 다음으로 프록시 노드(110)는 S233과정에서 플로우테이블에 수신한 맥 프레임이 갖는 정보를 포함하는 필터링 룰이 존재하지 않으면 관리서버(150)에 플로우테이블을 요청하고, S235과정에서 필터링 룰이 존재하면 처리규칙을 수행한다.As a result of the determination, if the received packet is a multicast IP, in step S231, the
이때, 프록시 노드(110)는 패킷의 캡슐화 여부와 관계없이 필터링 된 맥 프레임이 수신되면 플로우테이블을 검색한다. 그리고, 프록시 노드(110)는 플로우테이블에 수신된 패킷에 대응하는 필터링 룰이 검색되지 않으면 필터링 룰을 얻어오기 위해 소프트웨어에서 관리서버(150)와 통신하는 것이 바람직하다.At this time, the
한편, S203과정에서 맥 프레임의 목적지 맥 주소의 판단 결과, 목적지 맥 주소가 유니캐스트인 경우에 S221과정에서 프록시 노드(110)는 수신한 맥 주소와 수신한 프레임의 맥 주소가 일치하는지 판단한다. 이때, S223과정에서 프록시 노드(110)는 프록시 맥 주소와 수신한 프레임의 맥 주소가 일치하지 않으면 플러딩한다.On the other hand, as a result of determining the destination MAC address of the MAC frame in step S203, when the destination MAC address is unicast, the
다음으로 S225과정에서 프록시 노드(110)는 수신한 프레임이 아이피 인 아이피 패킷인지 판단하여 캡슐화의 여부를 판단한다.Next, in step S225, the
다음으로 S227과정에서 수신한 맥 프레임이 캡슐화되지 않으면, 포트가 TCP/UDP 포트인 경우에는 S229과정에서 소프트웨어에서 처리하고, 포트가 TCP/UDP 포트가 아닌 경우에는 도시되지는 않았으나 소프트웨어에서 예외 처리한다.Next, if the Mac frame received in step S227 is not encapsulated, if the port is a TCP / UDP port, the process is handled by the software in step S229. .
한편, S227과정에서 수신한 맥 프레임이 캡슐화된 경우에는 S231과정에서 플로우테이블에 필터링 룰이 존재하는지 판단한다.On the other hand, if the MAC frame received in step S227 is encapsulated in step S231 it is determined whether the filtering rule exists in the flow table.
다음으로 프록시 노드(110)는 S233과정에서 플로우테이블에 수신한 맥 프레임이 갖는 정보를 포함하는 필터링 룰이 존재하지 않으면 관리서버(150)에 플로우테이블을 요청하고, S235과정에서 필터링 룰이 존재하면 처리규칙을 수행한다. 이때, 처리규칙을 통해 맥 헤더 및 IP 헤더의 필드 내용을 변경할 수 있다.Next, the
도 4에 도시된 바와 같이, 먼저, S301과정에서 맥 프레임을 수신하면, S303과정에서 수신된 프레임의 목적지 맥 주소를 바탕으로 워크플로우가 분기된다.As shown in FIG. 4, first, when the MAC frame is received in step S301, the workflow branches based on the destination MAC address of the frame received in step S303.
수신된 프레임의 목적지 맥 주소가 브로드캐스트 주소를 가질 경우 S311과정에서 헤더의 Ethernet type 필드값을 읽어 에이알피 패킷 여부를 판단한다. 다음으로, 확인 결과 에이알피 패킷이라면 S313과정에서 에이알피 패킷은 소프트웨어 영역으로 옮겨진 후 뒤에서 설명할 도 5와 같은 방법으로 처리된다.If the destination MAC address of the received frame has a broadcast address, it is determined whether the ALP packet is read by reading the value of the Ethernet type field of the header in step S311. Next, if it is confirmed that the ALP packet, the ALP packet is moved to the software domain in step S313 and then processed in the same manner as described in FIG. 5.
또한, 프록시 노드(110)는 수신된 목적지 맥 주소가 에이알피 패킷이 아닌 일반 브로드캐스트 패킷인 경우 S315과정에서 플러딩한다.In addition, the
그리고, 수신된 목적지 맥 주소가 일반 유니캐스트 주소(Ethernet type은 아이피(IP))인 경우에는 S321과정에서 프록시 노드(110)는 해당 프록시 노드(110)의 맥 주소와 수신한 프레임의 맥 주소를 비교한다. 두 주소가 일치하는 경우에는 S323과정에서 프록시 노드(110)는 아이피 패킷의 프로토콜 번호를 읽어 아이피-인-아이피 캡슐화 여부를 판단한다. S325과정에서 프록시 노드(110)는 캡슐화되지 않은 패킷인 경우 소프트웨어에서 처리하고, S327과정에서 캡슐화된 패킷인 경우에 플로우테이블을 검색하여 해당되는 필터링 룰(RULES)을 찾는다. 이후, 플로우테이블에 해당 필터링 룰이 존재하는 경우 S329과정에서 프록시 노드(110)는 처리규칙을 수행한다.If the received destination MAC address is a general unicast address (Ethernet type is IP), in step S321, the
이때, 필터링 룰이 플로우테이블에 존재하지 않는 경우는 오류이므로 S328과정에서 프록시 노드(110)는 소프트웨어에서 예외처리(Error handling)한다. 여기서, 필터링 룰은 패킷 플로우를 필터링하는 규칙이며, 처리규칙은 해당 플로우를 처리하는 규정(예, discard, forward 등)이다.In this case, since the filtering rule does not exist in the flow table, an error is handled by the
한편, 목적지 맥 주소가 아이피 멀티캐스트인 경우에는 S331과정에서 프록시 노드(110)는 수신된 패킷의 입력 포트를 판단한다. 이때, S333과정에서 프록시 노드(110)는 업링크를 통해 입력되는 멀티캐스트 프레임은 처리하지 않고 버리고, S335과정에서 프록시 노드(110)는 다운링크 포트를 통해 입력되는 멀티캐스트 프레임은 플러딩한다.On the other hand, if the destination MAC address is IP multicast, the
다음으로 S337과정에서 프록시 노드(110)는 다운링크 포트를 통해 입력되는 멀티캐스트 프레임이 아이지엠피 패킷을 포함하고 있는지 판단하여, 아이지엠피 패킷을 포함하고 있으면 S339과정에서 아이지엠피 규약을 소프트웨어가 처리하고, 일반 Class D 주소를 가질 경우에는 S341과정에서 플로우테이블을 검색한다.Next, in step S337, the
검색 결과, 플로우테이블에 필터링 룰이 존재하면 S329과정에서 해당 처리규칙을 수행하고, 플로우테이블에 필터링 룰이 존재하지 않으면 S343과정에서 패킷에 대응하는 플로우테이블을 얻기 위해 소프트웨어가 관리서버(150)로부터 필터링 룰을 받고 플로우테이블을 갱신한다.As a result of the search, if the filtering rule exists in the flow table, the processing rule is performed in step S329. If the filtering rule does not exist in the flow table, the software sends the
도 5는 에이알피(ARP) 패킷을 소프트웨어에서 처리하는 절차를 보여주는 도면으로, 도 4의 S311과정에서 헤더의 Ethernet type 필드값이 에이알피 패킷인 경우에 소프트웨어 영역으로 이동하여 처리하는 방법을 나타낸다.FIG. 5 is a diagram illustrating a procedure of processing an ARP packet in software, and illustrates a method of moving to a software area when the Ethernet type field value of the header is an ALP packet in step S311 of FIG. 4.
에이알피 패킷의 Ethernet Type은 0x0806이다. 임의의 호스트는 자신의 맥 테이블의 목적지 아이피에 대한 맥 주소를 가지고 있지 않을 경우 에이알피요청(ARP request) 패킷을 발생시키며, 수신받은 에이알피요청 패킷의 아이피 주소가 자신의 주소와 동일한 호스트는 에이알피응답(ARP reply) 패킷을 피드백한다. 도 5는 해당 프록시 노드가 패킷 송신자로써 에이알피요청 패킷을 발생시키는 과정은 생략되어 있고 타 호스트가 발생시킨 에이알피요청의 처리 과정만 포함하고 있다.The Ethernet type of ARP packet is 0x0806. If a host does not have a MAC address for its destination IP in its MAC table, it generates an ARP request packet. A host whose IP address in the received ARP request packet is the same as its own address Feedback the ARP reply packet. FIG. 5 omits the process of generating an ARP request packet by the corresponding proxy node as a packet sender, and includes only the processing of an ARP request generated by another host.
먼저, S401과정에서 에이알피 패킷이 입력되면, S403과정에서 임의의 호스트(140)는 에이알피 패킷의 operation 필드를 통해 에이알피 타입을 구분한다. 다음으로 S411과정에서 임의의 프록시 노드(110)는 자신이 발생시킨 에이알피요청 패킷에 대한 에이알피응답 패킷을 수신했는지 판단하고, 자신이 발생시킨 에이알피요청 패킷에 대한 에이알피응답 패킷을 수신한 경우 S413과정에서 에이알피 테이블을 갱신한다. 그리고, S415과정에서 reply 패킷이 보고한 맥 주소를 이용해 큐에 임시 저장된 패킷을 전송한다.First, when an ALP packet is input in step S401, in step S403, an
한편, S403과정에서 프로시 노드(110)는 에이알피 타입을 구분한 결과, 에이알피요청 패킷을 수신한 경우에는 S421과정에서 에이알피 패킷에 의해 요청된 아이피의 맥 주소가 자신의 인터페이스 주소와 일치하는지 판단한다. 참고로, 에이알피 패킷의 이더넷(Ethernet) 에이알피 필드는 {송신자 맥(MAC) 주소, 송신자 아이피(IP) 주소, 수신자 맥(MAC) 주소, 수신자 아이피(IP) 주소}를 포함한다. 에이알피 패킷에 의해 요청된 아이피의 맥 주소가 자신의 인터페이스 주소와 일치하는 경우, S423과정에서 프록시 노드(110)는 에이알피응답 패킷을 발생시키고, S425과정에서 해당 에이알피요청 패킷이 수신된 포트로 송신한다.On the other hand, in step S403, when the
아울러, 입력된 패킷이 자신이 발생시킨 에이알피요청 패킷에 대한 에이알피응답 패킷이 아니거나, 에이알피 패킷에 의해 요청된 아이피의 맥 주소가 자신의 인터페이스 주소와 일치하지 않는 경우 S431과정에서 프록시 노드(110)는 에이알피 패킷을 플러딩한다.In addition, if the input packet is not an ARP response packet for an ARP request packet generated by the ARP packet, or if the MAC address of the IP requested by the ALP packet does not match its interface address, the proxy node in step S431. 110 floods the ALP packet.
멀티캐스트 맥 주소 테이블은 {Port, Sender 맥(MAC), Multicast 맥(MAC)}을 기본 tuples로 가지며, 확장 가능하다. 도 6은 프록시 노드(110)에서 아이지엠피 패킷을 처리하고 멀티캐스트 맥 주소 테이블을 유지하는 과정을 보여준다.The multicast MAC address table has {Port, Sender MAC (MAC), Multicast MAC (MAC)} as default tuples and is extensible. 6 shows a process of processing an IMP packet and maintaining a multicast MAC address table at the
S501과정에서 아이지엠피 패킷이 입력되면, S503과정에서 프록시 노드(110)는 지속적으로 아이지엠피 스누핑을 수행하여 검색된 아이지엠피 join/leave/report 메시지를 관리하고, 아이지엠피 타입을 판단한다.When the IGP packet is input in step S501, the
먼저, 프록시 노드(110)가 아이지엠피(IGMP) join 또는 report 메시지를 필터링 한 경우, S511과정에서 프록시 노드(110)는 멀티캐스트 맥 주소 테이블을 검색한다. 다음으로 S513과정에서 엔트리가 이미 존재하는지 판단하여, S515과정에서 이미 존재하는 엔트리에 대해서는 해당 엔트리를 유지하고, S517과정에서 존재하지 않는 엔트리인 경우에는 멀티캐스트 맥 주소 테이블에 아이지엠피 joiner를 추가한다.First, when the
다음으로, S519과정에서 프록시 노드(110)는 관리서버(150)에 플로우 엔트리의 등록을 요청하고, S521과정에서 관리서버(150)로부터 받은 플로우엔트리를 로컬 플로우 테이블에 추가한다. 이때, 멀티캐스트 맥 주소 테이블에 추가하는 S523 과정은 플로우테이블에 추가한 직후 또는 관리서버에게 플로우 등록을 요청하기 직전에 삽입 가능하다.Next, the
프록시 노드(110)가 아이지엠피(IGMP) leave 메시지를 필터링 한 경우, S531 과정에서 멀티캐스트 맥 주소 테이블을 검색하고, S533과정에서 멀티캐스트 맥 주소 테이블에서 아이지엠피(IGMP) joiner를 삭제한 후, S535과정에서 관리서버(150)에 보고하고, 관리서버가 보낸 필터링 룰에 기반하여 S537과정에서 플로우테이블의 플로우엔트리를 갱신한다. 다음으로 S539과정에서 아이지엠피 join과 마찬가지로 joiner를 맥 주소 테이블에서 삭제하는 과정은 플로우테이블을 갱신한 직후에 수행할 수 있다.When the
아울러, S541과정에서 프록시 노드(110)는 지속적으로 스누핑하여 입력된 아이지엠피 패킷의 아이지엠피 타입을 판단한다.In addition, in step S541, the
도 7을 참조하면, 본 발명의 관리서버(150)와 프록시 노드(110) 사이의 신호 처리는 다음과 같다.Referring to FIG. 7, signal processing between the
프록시 노드(110)는 2계층에서 플로우테이블에 등록되지 않은 멀티캐스트 패킷을 수신하면 관리서버(150)에게 플로우엔트리를 요청한다(hα request). 관리서버(150)는 자신의 토폴로지 지도에 기반하여 이웃한 노드를 선택하고 플로우의 처리지침(ACTION)을 결정하여 프록시 노드(110)에 전달한다(C response). 관리서버(150)로부터 플로우 처리지침을 전달받은 프록시 노드(110)는 해당 엔트리를 플로우테이블에 기록한다(hα register). 이후 수신되는 동일 플로우에 대해서는 플로우테이블을 참조하여 포워딩한다. 이때, 호스트(hα)의 join 또는 send 여부에 따라 관리서버(150)가 결정하는 명령이 구분된다.When the
본 발명의 실시예에 의한 오버레이 네트워크 시스템의 종단 호스트가 멀티캐 스트 그룹에 참가 및 탈퇴하는 방법을 도 8 내지 11을 참조하면 다음과 같다. 도 8은 내지 도 11은 각각 본 발명의 실시예에 의한 그룹에 참가, 상태 갱신, 탈퇴 및 최적화에 대한 프록시 노드와 종단 호스트 사이의 관계를 나타내는 도면이다.8 to 11 illustrate a method in which an end host of an overlay network system joins and leaves a multicast group according to an embodiment of the present invention. 8 to 11 are diagrams illustrating a relationship between proxy nodes and end hosts for joining, updating status, leaving, and optimizing groups according to an embodiment of the present invention, respectively.
먼저, 종단 호스트가 멀티 캐스트 그룹에 참가 및 탈퇴하는 방법을 설명하기 전에 사용되는 기호 및 의미를 정의하면 다음과 같다.First, before describing how an end host joins and leaves a multicast group, the symbols and meanings used are defined as follows.
s(hi, g)는 그룹에 참가하지 않은 상태에서 종단 호스트 hi에서 그룹 g로 멀티캐스트 패킷을 송신하는 것을 의미하고, j(hj, g)는 종단 호스트 hj에서 아이지엠피(IGMP) join 메시지를 통해 그룹 g로 참가하는 것을 뜻한다. 그리고 l(hk, g)는 호스트 hk가 그룹 g에서 아이지엠피(IGMP) leave 메시지를 통해 탈퇴하는 것을 의미한다.s (h i , g) means sending multicast packets from end host h i to group g without joining the group, and j (h j , g) means IGMP on end host h j ) Join to group g through a join message. And l (h k , g) means that the host h k withdraws from the group g through the IGMP leave message.
이때, 그룹 g에 대해 노드 Ni와 Nj는 양방향 또는 단방향으로 연결되어 있을 수도 있고, 연결설정을 갖지 못할 때도 있다. 연결관계는 그룹 g에 대해 이웃하는 두 프록시 노드(110)의 참가여부를 나타낸다. 또한, 노드 Nα를 통해 그룹 g에 참가하고 있는 종단 호스트(140)들의 수를 κα라 하고, 노드 Nα가 다른 프록시 노드(110)들과 가지고 있는 연결관계의 수를 μα로 정의한다. 관리서버(150)는 그룹 g에 대한 스패닝트리 정보를 가지고 있다.At this time, the nodes N i and N j may be connected in a bidirectional or unidirectional manner with respect to the group g, or may not have a connection configuration. The connection relationship indicates whether two neighboring
한편, 플로우테이블은 {필터링 룰(RULES), 처리규칙(ACTION), 통계(STATISTICS)}로 구분된다. 표 1을 참조하면, 플로우테이블의 필터링 룰 부분은 12개의 tuples을 가지며, [입력포트(INport), 아이피(IP), 맥 인 아이피(MACin-IP), 아이피 인 아이피(IPin-IP), TCP/UDP 포트(TCP)]로 정의된다. 여기에서, Saddr와 Daddr는 각각 송신 및 목적지 아이피 주소를 나타내고, Pnum은 아이피 헤더의 프로토콜 번호를 나타낸다. SMAC과 DMAC은 송신 및 목적지 맥 주소를 나타내고, Etype은 맥 프레임의 이더넷 타입을 나타낸다.On the other hand, the flow table is divided into {filtering rules (RULES), processing rules (ACTION), statistics (STATISTICS)}. Referring to Table 1, the filtering rule part of the flow table has 12 tuples, [IN port , IP, MAC in-IP , IP in-IP. ), TCP / UDP port (TCP)]. Where S addr and D addr Represent the transmission and destination IP addresses, respectively, and P num represents the protocol number of the IP header. S MAC and D MAC represent the source and destination MAC addresses, and E type represents the Ethernet type of the MAC frame.
마지막으로 Sport와 Dport는 TCP/UDP의 송신 및 목적지 포트번호이다. 이때, 맥 인 아이피와 아이피 인 아이피는 아이피 패킷이 각각 맥 인 아이피와 아이피 인 아이피 캡슐화되었을 때만 값을 갖는다. 예컨대, 2계층 프레임, {맥(MAC)', 아이피(IP)', TCP}이 맥 인 아이피 캡슐화될 때 해당 아이피(IP) 패킷은 2계층에서 {맥(MAC), 아이피(IP), {맥(MAC)', 아이피(IP)', TCP}}를 가지게 된다. 이때 필터링 룰의 맥 인 아이피는 앞 예의 맥(MAC)'에 해당되고 아이피 인 아이피는 아이피(IP)'이 된다. 동일한 방법으로 2계층 프레임이 아이피 인 아이피 캡슐화되면 2계층에서 {맥(MAC), 아이피(IP), {아이피(IP)', TCP}}로 나타나며 맥 인 아이피(MACin-IP)는 null에 해당하고 아이피 인 아이피(IPin-IP)는 아이피(IP)'이 된다.Finally, S port and D port are TCP / UDP send and destination port numbers. In this case, the MAC in IP and IP in IP have a value only when the IP packet is encapsulated in the IP in IP and IP in IP, respectively. For example, when a
IN port
맥 인 아이피(MACin-IP)
MAC in-IP
IP
표 2는 p-type 필터링 룰에 의한 패킷 플로우의 처리규칙을 나타낸다. Action(8bit) 필드 중 MSB(Most Significant Bit) 3비트는 활용하지 않으며 하위 5비트를 사용한다. 하위 5비트의 용도는 표 3에 정의되어 있다.Table 2 shows the processing rule of the packet flow by the p-type filtering rule. Among the Action (8bit) field, 3 bits of MSB (Most Significant Bit) are not utilized and the lower 5 bits are used. The use of the lower 5 bits is defined in Table 3.
예컨대, 1번 비트(modif.)는 플로우테이블의 mask 비트에 기초해 헤더 필드({아이피(IP), 맥 인 아이피(MAC-IN-IP), 아이피 인 아이피(IP in IP), TCP})의 변경을 결정한다. 0번 비트(popul.)는 m-type 처리규칙(ACTION) 추가 수행 여부를 결정하며 '1'로 설정되어 있을 경우 m-type 처리규칙 테이블을 읽어 패킷을 처리한다. m-type 테이블은 패킷의 다지점 복제를 위해 활용된다.For example, bit 1 (modif.) Is a header field based on a mask bit of a flow table ({IP, MAC-IN-IP, IP in IP, TCP}). Determine the change of. Bit 0 (popul.) Determines whether to add the m-type rule (ACTION). If set to '1', the packet is read by reading the m-type rule table. The m-type table is used for multipoint replication of packets.
비트는 각 (4,3,2), modif., popul.로 분류되며 실행순서는 좌에서 우로 진행된다. 즉, modif.는 popul. 전에 수행된다. Mask(16bit) 필드는 Action 필드의 '1'번 비트(modif.)가 1로 설정되었을 때 실행되고 각 비트가 지정하는 p-type ACTION의 필드값을 수정한다. MSB 6비트는 사용되지 않고 나머지 10비트만 사용되며, 9번 비트부터 내림차순으로 표 2의 {SMAC, DMAC, Saddr, Daddr, Pnum(in-IP), Pnum(IP), Saddr, Daddr, Sport, Dport}를 지시한다.Bits are classified as (4, 3, 2), modif., Popul., And execution order goes from left to right. That is, modif. Is popul. Is performed before. The Mask (16bit) field is executed when bit 1 (modif.) Of the Action field is set to 1 and modifies the field value of the p-type ACTION designated by each bit. MSB 6 bits are not used, only the remaining 10 bits are used, starting from bit 9 in descending order, {S MAC , D MAC , S addr , D addr , P num (in-IP), P num (IP), S addr , D addr , S port , and D port }.
한편, 표 1의 p-type 필터링 룰이 나타내는 대표필드 {입력포트(INport), 아이피(IP), 맥 인 아이피(MACin-IP), 아이피 인 아이피(IPin-IP), TCP}를 {p(i), p(g0), p(mi), p(gi), p(t)}로 표기된다. 예를 들어, p-type 필터링 룰의 아이피 필드에 해당하는 tuples는 (Saddr, Daddr, Pnum)이고, p(g0)와 동일한 의미로 사용된다. 프록시 노드 Nα에 플로우테이블의 추가, 삭제 등 갱신이 필요할 때에는 표 1과 같이 표기할 수 있다. 여기에서, p-type RULES가 p(g0) tuples와 관계되고, ACTION(->)은 m(fw;β)와 관련됨을 의미한다. m(fw;β)은 m-type 처리규칙 테이블을 I/O하며 '프록시 노드 Nβ로 포워딩'하는 명령이다. 추가적으로 m(fd)는 m-type 처리규칙 테이블을 I/O하며, '다운링크 플러딩'을 의미하며, p(fw;β)는 p-type 처리규칙 테이블을 I/O하며, '프록시 노드 Nβ로 포워딩'을 나타낸다.Meanwhile, the representative fields {in port , IP, MAC in-IP , IP in-IP , TCP} represented by the p-type filtering rule of Table 1 are shown. {p (i), p (g 0 ), p (m i ), p (g i ), p (t)}. For example, tuples corresponding to the IP field of the p-type filtering rule are (S addr , D addr , P num ) and are used in the same meaning as p (g 0 ). When an update, such as adding or deleting a flow table, is required at the proxy node N α , it may be indicated as shown in Table 1. Here, p-type RULES refers to p (g 0 ) tuples, and ACTION (->) means to m (f w ; β). m (f w ; β) is an I / O command of the m-type rule table and 'forwarding to the proxy node N β '. Additionally, m (f d ) I / Os the m-type rules table, which means 'downlink flooding', and p (f w ; β) I / Os the p-type rules table, and 'proxy' Forward to node N β '.
도 8에 도시된 바와 같이, 종단 호스트(140)가 아이지엠피 join 메시지를 발생시킬 때 해당 메시지를 수신한 프록시 노드(110)들이 보고한 내용을 중심으로 관리서버(150)가 멀티캐스트 스패닝트리를 구성한다.As shown in FIG. 8, when the
관리서버(150)는 도 8의 ①과 같이 초기 연결 설정 알고리즘을 수행한다. 관리서버(150)는 최초로 수신된 j(hj, g)와 s(hi, g)에 대해서 연결 설정하며, 알고리즘에 따라 플로우테이블을 구성한 후 Ni, Nj에 전달한다. Ni, Nj가 각각 s(hi, g), j(hj, g)에 의한 요청을 했으므로 초기 연결 설정 알고리즘에 의해 Ni는 수학식 1을 받고, Nj는 수학식 2를 받는다. 이때, Ni는 Nj로의 연결설정을 갖지 못한다.The
관리서버(150)는 도 8의 ②와 같이 새로운 호스트 hk는 연동된 프록시 노드 Nk를 통해 그룹 g에 참가하기 위해 프록시 노드 Nk에 전송한 j(hk, g) 메시지를 수신한다. 노드 Nk는 관리서버(150)에게 Nk의 그룹 g에 대한 참가요청을 알린다. 관리서버(150)는 그룹 g에 대한 네트워크 토폴로지 지도를 통해 Nk가 연동되어야 할 프록시 노드로 Nj를 선택한다. 노드의 선택은 지리적 위치, AS번호, 노드 degree 등의 정보를 이용하고, 그룹에 포함된 모든 프록시 노드(110)들 중에 최적의 노드를 선택한다. 이때, Nk와 Nj는 양방향 연결관계를 갖는다.The
또한, 관리서버(150)는 도 8의 ③과 같이 호스트 hm이 Nm에게 j(hm, g)를 보내면, Nm은 관리서버(150)에게 플로우테이블을 요청한다. 관리서버(150)는 그룹 내에 Nj, Nk가 속해있으므로 그 중에 Nk를 선택할 수 있다. 플로우테이블은 연결 설정 알고리즘에 의해 결정되어 각 프록시 노드에게 전달된다. 이때, Nk와 Nm은 양방향 연결관계를 갖는다.In addition, the
그리고, 관리서버(150)는 도 8의 ④와 같이 호스트 hn이 그룹 g에 참가하지 않은 상태에서 s(hn, g)한다면, 그룹 내에 속한 Nj, Nk, Nm 중 한 노드를 선택해 플로우테이블을 전달함으로써 프록시 노드 Nn과 연결관계를 맺는다. 만약 Nm이 선택되었다면 hn이 그룹 g에 참가하지 않았으므로 Nn과 Nm은 단방향 연결관계를 갖는다. 이때, Nn과 Nm은 단방향 연결관계를 갖는 이유는 프록시 노드 Nm에서 그룹 g에 참가하지 않고 있는 노드 Nn에 멀티캐스트 트래픽이 전송되는 것을 방지하기 위해서이다.And, if the
그리고, 본 발명의 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법은 PCI(Peripheral component interconnect) 카드인 저가의 NetFPGA를 활용하는 것으로, NetFPGA가 총 4포트의 기가비트 이더넷 인터페이스를 가지고 있으므로 업링크 1포트를 제외한 나머지 3포트를 통해 종단 호스트(140)가 연결될 수 있다.In addition, the overlay network system of the present invention and a multicast method using the same utilize a low-cost NetFPGA, which is a Peripheral Component Interconnect (PCI) card. Since NetFPGA has a total of 4 ports of Gigabit Ethernet interfaces, except for one uplink port, The
도 9를 참조하면, 종단 호스트가 그룹 g에 참가하고 있는 Nj와 Nk는 각 신규 호스트 hj'과 hk'의 s(hj', g)나 j(hk', g)에 대해서 테이블의 갱신을 필요로 하지 않고, 관리서버(150)에 의해 s(hj', g) 등의 요청이 거절되면 플로우테이블이 갱신된다. s(hj', g)나 j(hk', g)에 대한 요청이 관리서버(150)로 전달된다. 관리서버(150)에 정의되니 규정에 따라 그룹 g에 대해 참가하지 않고 그룹 g에 송신하는 hj'의 패킷 플로우를 차단할 수 있다. Referring to FIG. 9, N j and N k in which an end host participates in group g are assigned to s (h j ' , g) or j (h k' , g) of each new host h j ' and h k' . The flow table is updated when a request of s (h j ' , g) or the like is rejected by the
그룹 g에 참가하고 있는 종단 호스트가 없는 Ni에 신규 호스트 hi'이 j(hi', g) 메시지를 보낼 때(IGMP join), 노드 Ni와 인접한 노드 Nj는 연결관계를 단방향 연결관계에서 양방향 연결관계로 변경해야 한다.When a new host h i ' sends a j (h i' , g) message to N i with no end hosts participating in group g (IGMP join), node N i and adjacent node N j connect the connection in a one-way connection. You must change from a relationship to a two-way connection.
그룹의 탈퇴는 아이지엠피 leave 메시지 또는 타이머를 통해 이루어진다. 임의의 패킷 플로우에 대한 플로우테이블은 {필터링 룰(RULES), 처리규칙(ACTION), 통계(STATISTICS)}를 유지하며 통계에 타이머를 포함하고 있다. 즉 동일한 필터링 룰을 갖는 패킷 플로우가 특정시간 이상 프록시 노드(110)에서 처리되지 않을 경우에 타이머가 만료된다. 프록시 노드(110)는 만료된 RULES에 속한 패킷 플로우를 묵시적 그룹 탈퇴로 간주하고 해당 {필터링 룰(RULES), 처리규칙(ACTION), 통계(STATISTICS)}를 플로우테이블에서 삭제한다. 타이머에 의한 탈퇴 트리거링 시 관리서버(150)에 그룹 탈퇴가 보고된다. 프록시 노드(110)에서 발생하는 그룹 참가 및 탈퇴 등과 관련된 정보는 모두 관리서버(150)에 전달되므로 관리서버(150)는 그룹 g에 속한 모든 프록시 노드(110) 간의 연결관계를 알고 있다.The withdrawal of a group is done through an IGP leave message or a timer. The flow table for any packet flow maintains {filtering rules (RULES), processing rules (ACTION), statistics (STATISTICS)} and includes timers in the statistics. That is, the timer expires when the packet flow having the same filtering rule is not processed in the
마지막으로, 도 10은 도 9의 호스트 {hi', hj, hk', hm}이 그룹 g에서 탈퇴했을 때 최종적으로 만들어지는 토폴로지 지도이다. 먼저, 종단 호스트(140)의 잦은 그룹 이탈로 인한 테이블 갱신 요구를 막기 위해 그룹 탈퇴 요청은 관리서버(150)에서 인위적으로 지연 처리한다. 즉, 타이머나 아이지엠피 leave 메시지에 의한 그룹 탈퇴는 관리서버(150)에 요청된 후 일정시간이 경과된 후에 처리된다.Finally, FIG. 10 is a topology map finally made when the hosts {h i ' , h j , h k' , h m } of FIG. 9 leave the group g. First, in order to prevent a table update request due to frequent group departure of the
도 9의 노드 Ni와 Nj를 예를 들어 설명하면, 먼저 Ni는 종단 호스트 hi'의 l(hi', g) 요청 메시지를 관리서버(150)에 전달하고 관리서버(150)는 노드 Nj의 κj 및 μj가 각각 1개씩이므로 Nj의 m-type 처리규칙 중 다운링크 플러딩과 관련된 부분을 삭제하고, 프록시 노드 Nj에서 노드 Ni로 트래픽이 흐르는 것을 방지하기 위해 Ni의 m-type 플로우테이블 중 노드 Nj로의 패킷 포워딩 명령을 삭제한다. 최종적으로 관리서버는 스패닝트리를 구성하는 모든 프록시 노드(110)들이 그룹 g에 대해서 참가하고 있는 종단호스트를 가지고 있지 않는 경우 집합에 포함되는 모든 프록시 노드(110)들을 스패닝트리에서 제거하고 해당 노드들에게 그룹 g에 대한 플로우테이블을 명령한다.Referring to the nodes N i and N j of FIG. 9 by way of example, first, N i forwards the l (h i ' , g) request message of the end host h i' to the
한편, 그룹 g에 대한 토폴로지 지도가 최종적으로 그림 11의 굵은 선과 같이 최적화될 수 있지만, 본 발명에서는 복잡도와 전송 품질 등을 고려하여 그룹 g가 유지되는 동안 최적화를 수행하지 않는다.On the other hand, the topology map for the group g can be finally optimized as shown in the thick line of Figure 11, but in the present invention, the optimization is not performed while the group g is maintained in consideration of the complexity and transmission quality.
이와 같이 본 발명의 오버레이 네트워크 시스템 및 이를 이용하는 멀티캐스트 방법은 아이피(IP) 멀티캐스트를 대행하는 것으로, 제어평면 및 데이터평면이 분리되어 있으며, 프록시 노드가 데이터평면에서 점대점 또는 점대다 포워딩을 수행하고, 관리서버는 제어평면에서 프록시 노드의 관리, 스패닝트리의 구성을 수행하여 SeeOver 인프라를 구축, 서비스할 수 있고, 아이지엠피 등 기존 아이피 프로토콜 규약을 준수함으로써 시스템 설정의 변경없이 다자간 협업에 참가할 수 있는 효과가 있다.As described above, the overlay network system of the present invention and the multicast method using the same are for IP (IP) multicast, the control plane and the data plane are separated, and the proxy node performs point-to-point or point-to-many forwarding in the data plane. In addition, the management server manages the proxy node in the control plane and configures the spanning tree to build and service the SeeOver infrastructure, and to participate in multilateral collaboration without changing the system settings by complying with existing IP protocol rules such as IGMP. It has an effect.
상술한 바와 같이 본 발명에 따른 바람직한 실시 예를 설명하였지만, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허 청구 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든 다양한 변경 실시가 가능한 범위까지 본 발명의 방법적 정신이 있다고 할 것이다.As described above, preferred embodiments of the present invention have been described, but the present invention is not limited to the above-described embodiments, and the present invention is not limited to the scope of the present invention as claimed in the following claims. Anyone with knowledge of the present invention will have the methodology of the present invention to the extent that various modifications can be made.
도 1은 본 발명의 실시예에 의한 오버레이 네트워크 시스템의 개략도,1 is a schematic diagram of an overlay network system according to an embodiment of the present invention;
도 2는 도 1의 프록시노드를 나타내는 개략도,2 is a schematic diagram illustrating the proxy node of FIG. 1;
도 3 및 도 4는 본 발명의 실시예에 의한 맥(MAC) 프레임 처리 방법에 대한 흐름도,3 and 4 are flowcharts illustrating a method of processing a MAC frame according to an embodiment of the present invention;
도 5는 본 발명의 실시예에 의한 에이알피(ARP) 처리 방법에 대한 흐름도,5 is a flowchart illustrating an ARP processing method according to an embodiment of the present invention;
도 6은 본 발명의 실시예에 의한 아이지엠피(IGMP) 처리 방법에 의한 흐름도,6 is a flowchart illustrating an IGMP processing method according to an embodiment of the present invention;
도 7은 본 발명의 실시예에 의한 오버레이 네트워크 시스템의 관리서버와 프록시 노드 간의 신호 처리에 대한 도면,7 is a diagram for signal processing between a management server and a proxy node of an overlay network system according to an embodiment of the present invention;
그리고,And,
도 8은 내지 도 11은 각각 본 발명의 실시예에 의한 그룹에 참가, 상태 갱신, 탈퇴 및 최적화에 대한 프록시 노드와 종단 호스트 사이의 관계를 나타내는 도면이다.8 to 11 are diagrams illustrating a relationship between proxy nodes and end hosts for joining, updating status, leaving, and optimizing groups according to an embodiment of the present invention, respectively.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 오버레이 네트워크 시스템 110 : 프록시 노드100: overlay network system 110: proxy node
111 : 아비터 113 : 정보 베이스111: Arbiter 113: Information Base
119 : 물리계층 121 : 오버레이 엔진119
123 : 서비스데몬 115 : 맥(MAC) 브리지123: service daemon 115: MAC bridge
117 : 아이피(IP) 브리지 140 : 종단 호스트 117: IP bridge 140: end host
150 : 관리서버150: management server
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090106016A KR101068787B1 (en) | 2009-11-04 | 2009-11-04 | Overlay network system and method of multicast using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090106016A KR101068787B1 (en) | 2009-11-04 | 2009-11-04 | Overlay network system and method of multicast using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110049148A KR20110049148A (en) | 2011-05-12 |
KR101068787B1 true KR101068787B1 (en) | 2011-09-30 |
Family
ID=44360328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090106016A KR101068787B1 (en) | 2009-11-04 | 2009-11-04 | Overlay network system and method of multicast using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101068787B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2527968B1 (en) | 2011-05-24 | 2017-07-05 | LG Electronics Inc. | Mobile terminal |
CN113452737A (en) * | 2020-03-27 | 2021-09-28 | 华为技术有限公司 | Method and device for transmitting session request and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030015955A (en) * | 2001-08-18 | 2003-02-26 | 엘지전자 주식회사 | Method of Multi-casting in the MPLS Network |
KR20060042785A (en) * | 2004-11-10 | 2006-05-15 | 한국전자통신연구원 | Method for configurating pass between source edge system and rendezvous point for ip multicasting |
-
2009
- 2009-11-04 KR KR1020090106016A patent/KR101068787B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030015955A (en) * | 2001-08-18 | 2003-02-26 | 엘지전자 주식회사 | Method of Multi-casting in the MPLS Network |
KR20060042785A (en) * | 2004-11-10 | 2006-05-15 | 한국전자통신연구원 | Method for configurating pass between source edge system and rendezvous point for ip multicasting |
Non-Patent Citations (2)
Title |
---|
HIS 2003, Proceedings of the 2nd international conference on Human.society@internet, LNCS2713 - Framework of control protocol for relayed multicast (Seok Joo Koh, Juyoung Park, Jae Hong Min, Ki Shik P* |
제21회 한국정보처리학회 춘계학술발표대회 논문집 제11권 제1호- RMCP를 이용한 미디어 스트림 전송 구현을 위한 Architecture (탁광옥, 박시용, 정기동, 2004-05, P1597-1600) |
Also Published As
Publication number | Publication date |
---|---|
KR20110049148A (en) | 2011-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3070890B1 (en) | Multicast flow overlay using registration over a reliable transport | |
CN102377666B (en) | Flooding-based routing protocol having average-rate and burst-rate control | |
US8102848B1 (en) | Multicast high availability enhancements for faster convergence | |
EP1938530B1 (en) | Application-level multicasting architecture | |
US9660898B2 (en) | Enhanced protocol independent multicast source registration over a reliable transport | |
US20130003733A1 (en) | Multicast in a trill network | |
US8681668B2 (en) | Methods and apparatus for transmitting multicast traffic in a data network | |
US20130195107A1 (en) | Method for Managing Multicast Traffic in a Data Netwrok and Network Equipment Using Said Method | |
EP2989755B1 (en) | Efficient multicast delivery to dually connected (vpc) hosts in overlay networks | |
WO2010111956A1 (en) | Method and system for multicast-forwarding-path convergence | |
EP2773070A1 (en) | Multicast processing method and apparatus | |
TWI410062B (en) | Station side device and optical communication system | |
KR20110027683A (en) | Methods for obtaining terminal multicast status | |
US6515994B1 (en) | Method of communication in a communications network and apparatus therefor | |
EP2439876B1 (en) | Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process | |
WO2008138248A1 (en) | A method, an interface board and a router for transmitting the message | |
JP4141304B2 (en) | Communication method, receiving terminal, L2 switch and L3 switch in multicast communication network | |
KR101068787B1 (en) | Overlay network system and method of multicast using the same | |
JP3824906B2 (en) | INTERNET CONNECTION METHOD, ITS DEVICE, AND INTERNET CONNECTION SYSTEM USING THE DEVICE | |
WO2006093616A2 (en) | Network address filter including random access memory | |
WO2015014197A1 (en) | Method for selecting route in scenario of multicast load, and router | |
WO2015032261A1 (en) | Route updating method and routing device | |
Cisco | Internet Protocol (IP) Multicast | |
Cisco | Banyan VINES Commands | |
CN102263649B (en) | Controlled multicast system based on multicast conversion |
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: 20140718 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150904 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170703 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180809 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 9 |
|
R401 | Registration of restoration |