KR100475437B1 - method of multicast packet processing for tunneling and node therefor - Google Patents

method of multicast packet processing for tunneling and node therefor Download PDF

Info

Publication number
KR100475437B1
KR100475437B1 KR10-2003-0003806A KR20030003806A KR100475437B1 KR 100475437 B1 KR100475437 B1 KR 100475437B1 KR 20030003806 A KR20030003806 A KR 20030003806A KR 100475437 B1 KR100475437 B1 KR 100475437B1
Authority
KR
South Korea
Prior art keywords
multicast
multicast packet
packet
information
received
Prior art date
Application number
KR10-2003-0003806A
Other languages
Korean (ko)
Other versions
KR20040066673A (en
Inventor
최병구
오종상
오규봉
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-2003-0003806A priority Critical patent/KR100475437B1/en
Publication of KR20040066673A publication Critical patent/KR20040066673A/en
Application granted granted Critical
Publication of KR100475437B1 publication Critical patent/KR100475437B1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/06Foreign languages
    • G09B19/08Printed or written appliances, e.g. text books, bilingual letter assemblies, charts

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 복수 개의 노드를 구비하는 네트워크 망에서 멀티캐스트 패킷을 전송하는 방법에 관한 것으로, 종래에는 이들 노드 중 멀티캐스트를 지원하지 않는 노드가 포함되어 있는 경우, 멀티캐스트 패킷을 그 노드를 경유하지 않고, 다른 경로를 통하여 전송함으로써, 서비스를 제공받는 사용자에게 원활하지 않은 멀티캐스트 서비스를 제공하게 되었다.The present invention relates to a method for transmitting a multicast packet in a network having a plurality of nodes. In the past, when a node that does not support multicast is included among these nodes, the multicast packet does not pass through the node. By transmitting through a different path, a multicast service is provided to a user who receives the service.

이에 본 발명은, 멀티캐스트를 지원하지 않는 노드에 대하여, 멀티캐스트 패킷을 터널링되도록 하여, 멀티캐스트 서비스를 제공받는 사용자에게 보다 나은 멀티캐스트 서비스를 제공하는 것이다 Accordingly, the present invention provides a better multicast service to a user who receives a multicast service by tunneling a multicast packet to a node that does not support multicast.

Description

터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법 및 그 노드{method of multicast packet processing for tunneling and node therefor} Method of multicast packet processing for tunneling and node therefor}

본 발명은 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법 및 그 노드에 관한 것으로, 더욱 자세하게는 네트워크 망에서 터널링을 수행하는 프로세서에서 멀티캐스트를 지원하지 않는 중간 경유지를 통해 최종 목적지로 패킷을 전송할 수 있는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법 및 그 노드에 관한 것이다.The present invention relates to a multicast packet processing method and a node for supporting tunneling. More particularly, the present invention relates to a multicast packet processing method for a node, and more particularly, to a packet that transmits a packet to an end destination via an intermediate waypoint that does not support multicast in a processor performing tunneling in a network. A multicast packet processing method for supporting tunneling and a node thereof.

터널링(tunneling)이란, 한 네트워크에서 다른 네트워크의 접속을 거쳐 패킷을 전송될 수 있도록 하는 기술을 말한다. Tunneling refers to a technique that allows a packet to be transmitted from one network to another network.

먼저 일반적인 네트워크 망에서 패킷 전송 방식을 잠시 살펴보자.First, let's take a look at packet transmission method in general network.

전송에 참여하는 송신자와 수신자 관점으로, 유니캐스트 전송 장식, 브로드캐스트 전송 방식, 멀티캐스트 전송 방식으로 구분할 수 있다. From the perspective of the sender and receiver participating in the transmission, it can be divided into unicast transmission decoration, broadcast transmission method, and multicast transmission method.

1) 유니캐스트 전송 방식은, 하나의 송신자가 다른 하나의 수신자로 패킷을 전송하는 방식, 즉 일대일 대응 방식으로 일반적인 응용 프로그램은 유니캐스트 방식을 사용하고 있다. 1) The unicast transmission method is a method in which one sender transmits a packet to another receiver, that is, a one-to-one correspondence method, and a general application program uses a unicast method.

2) 브로드캐스트 전송 방식은, 하나의 송신자가 같은 서브(sub) 네트워크 상의 모든 수신자에게 패킷을 전송하는 방식이다. 2) The broadcast transmission method is a method in which one sender transmits a packet to all receivers on the same sub network.

3) 멀티캐스트 전송 방식은, 하나 이상의 송신자들이 특정한 하나 이상의 수신자들에게 패킷을 전송하는 방식으로 인터넷 화상 회의 등의 응용에서 사용한다. 3) Multicast transmission schemes are used in applications such as Internet video conferencing, in which one or more senders send packets to a particular one or more recipients.

멀티캐스트 전송 방식이 일반적인 유니캐스트 전송 방식과 다른 점은 우선 그 전송 패킷에 있으며. 일반적으로 TCP/IP 상의 인터넷 응용 프로그램은 패킷의 송신자가 이를 수신할 수신자의 네트워크 주소를 전송 패킷의 헤더에 표시해 패킷을 전송하는데 반해, 멀티캐스트 전송 방식을 사용하기 위해서는 헤더에 수신자의 주소 대신 수신자들이 참여하고 있는 그룹 주소를 표시하여 패킷을 전송한다. The difference between the multicast transmission method and the general unicast transmission method is in the transmission packet. In general, an Internet application on TCP / IP transmits a packet by sending the packet by indicating the network address of the receiver to receive the packet in the header of the transmission packet. Display the participating group address and send the packet.

멀티캐스트 전송을 위한 그룹 주소는 D-class IP 주소 (224.0.0.0∼239.255.255.255)로 네트워크 호스트를 나타내는 A, B, C-class IP 주소와는 달리 실제의 호스트를 나타내는 주소가 아니며, 그룹 주소를 갖는 멀티캐스트 패킷을 전송 받은 수신자는 자신이 패킷의 그룹에 속해있는가를 판단해 패킷의 수용여부를 결정하게 된다. The group address for the multicast transmission is a D-class IP address (224.0.0.0 to 239.255.255.255), unlike the A, B, and C-class IP addresses representing network hosts. The receiver receiving the multicast packet having the decision determines whether the packet belongs to the group of the packet and determines whether to accept the packet.

이와 같은, 멀티캐스트 전송 방식이 지원되면, 송신자는 여러 수신자에게 한 번에 패킷이 전송되도록 하여, 패킷의 중복 전송으로 인한 네트워크 자원의 낭비를 최소화할 수 있게 된다. If such a multicast transmission scheme is supported, the sender can transmit packets to multiple receivers at once, thereby minimizing waste of network resources due to redundant transmission of packets.

그러나, 이러한 멀티캐스트 전송 방식을 사용하기 위해서는 멀티캐스트 라우터 사이에 터널링(tunneling)이라는 개념을 사용하여 캡슐화(encapsulation)된 패킷을 전송하여야한다.However, in order to use such a multicast transmission scheme, an encapsulated packet must be transmitted between the multicast routers using the concept of tunneling.

도 1은 일반적인 복수 개의 노드를 구비하는 네트워크 망의 구성을 설명하는 블록도이다.1 is a block diagram illustrating a configuration of a network having a plurality of nodes in general.

도 1을 참조하면, 송신 호스트(10)와, 복수개의 노드(20)와, 수신 호스트 그룹(30)을 구비하고 있다.Referring to FIG. 1, a transmitting host 10, a plurality of nodes 20, and a receiving host group 30 are provided.

호스트(host)란, 일반적으로 네트워크 망을 통해 다른 단말기들과 쌍방향 통신이 가능한 단말기를 말하며, 호스트는 특정한 호스트번호를 갖는데, 이는 네트위크 번호와 합해져서, 고유의 아이피 주소(Internet Protocol address)를 이루게 되고, 인터넷 서비스 제공업체를 통한 점대점 프로토콜(Point-to-Point Protocol : PPP) 사용자의 경우에는, 접속되어있는 동안에만 고유한 아이피 주소를 갖게 되며, 그 시간 동안은 해당 사용자의 단말기도 하나의 호스트가 되는 것이므로, 이러한 맥락에서 보면, 호스트란 네트워크에서 하나의 노드라고 볼 수도 있다. A host is a terminal generally capable of two-way communication with other terminals through a network. The host has a specific host number, which is combined with the network number to form a unique Internet Protocol address. In the case of Point-to-Point Protocol (PPP) users through Internet service providers, they will have a unique IP address only while they are connected, and during that time, their terminal In this context, a host is a node in the network.

송신 호스트(10)는 전송하고자 하는 패킷을 전송하는 기능을 수행한다.The transmitting host 10 performs a function of transmitting a packet to be transmitted.

노드(20)는 송신 호스트(10)로부터 수신되는 패킷을 최종 목적지로 전송하는 중계 기능을 수행한다.The node 20 performs a relay function of transmitting the packet received from the transmitting host 10 to the final destination.

수신 호스트 그룹(30)은 노드(20)로부터 패킷을 수신하는 최종 목적지로써, 이러한 수신 호스트가 그룹화되는 것은 멀티캐스트 전송 방식을 지원하기 위한 것이다.Receiving host group 30 is the final destination for receiving packets from node 20, and such receiving hosts are grouped to support multicast transmission schemes.

일례를 들어 노드 #2가 멀티캐스트 서비스를 지원하지 않는 경우에 대하여 멀티캐스트 패킷 전송 방법을 살펴보자.As an example, consider a method of transmitting a multicast packet for the case where node # 2 does not support the multicast service.

송신 호스트(10)가 보낸 멀티캐스트 패킷을 멀티캐스트 서비스를 지원하는 노드-1(20 #1)이 수신하여, 멀티캐스트 라우팅(Routing)을 통하여 노드-2(20 #2)로 전송한다.The multicast packet sent by the transmitting host 10 is received by the node-1 (20 # 1) supporting the multicast service and transmitted to the node-2 (20 # 2) through multicast routing.

멀티캐스트 라우팅이란, 멀티캐스트 주소를 가진 데이터 패킷 헤더 상단에 멀티캐스트 라우터간에 설정된 터널의 양 끝단의 IP 주소를 덧붙여 라우팅을 수행하는 것으로, 멀티캐스트를 지원하지 않는 일반 라우터들을 거칠 때 기존의 유니캐스트 패킷과 같은 방법으로 라우팅되어 최종적인 종착지로 전송될 수 있게 하는 것이다.Multicast routing refers to routing by adding IP addresses of both ends of a tunnel set between multicast routers on top of a data packet header having a multicast address. It is routed in the same way as a packet so that it can be sent to its final destination.

노드-2(20 #2)는 멀티캐스트 서비스를 지원 않으므로, 수신되는 패킷을 멀티캐스트를 지원하는 인접 노드인 노드-3(20 #3)으로 전송한다.Since node-2 (20 # 2) does not support multicast service, node-2 (20 # 2) transmits the received packet to node-3 (20 # 3), which is an adjacent node supporting multicast.

노드-3(20 #3)은 수신된 패킷을 멀티캐스트 라우팅을 통해 인접 노드인 노드-4(20 #4)로 전송한다.Node-3 (20 # 3) transmits the received packet to Node-4 (20 # 4), which is an adjacent node, through multicast routing.

노드-4(20 #4)는 수신된 패킷의 분석하여 최종 목적지인 목적지 호스트 그룹(30)으로 수신된 패킷을 전송한다.The node-4 20 # 4 analyzes the received packet and transmits the received packet to the destination host group 30 as the final destination.

이와 같은 방법은, 멀티캐스트를 지원하지 않는 경유지로 인해 최단 경로가 아닌 경로로 멀티캐스트 패킷을 전송하게 됨으로써, 멀티캐스트 서비스를 제공받는 사용자는 시간 지연이 발생한 멀티캐스트 서비스를 받게 되는 문제점이 발생한다.In this method, a multicast packet is transmitted along a path that is not the shortest path due to a waypoint that does not support multicast, so that a user receiving a multicast service receives a multicast service having a time delay. .

일례를 들면, 노드-2(20 #2)가 멀티캐스트를 지원한다면, 멀티캐스트 패킷은 노드-2(20 #2)에서 멀티캐스트 라우팅을 통하여 노드-3(20 #3)이 아닌 멀티캐스트를 지원하는 노드-5(20 #5)로 전송되어, 목적지 호스트 그룹(30)에 도착함으로써, 최종 목적지인 목적지 호스트 그룹(30)에 최단 경로로 전송될 것이다. For example, if node-2 (20 # 2) supports multicast, the multicast packet may be multicast not node-3 (20 # 3) via multicast routing at node-2 (20 # 2). It is sent to the supporting node-5 (20 # 5), and arrives at the destination host group 30, so that it will be sent in the shortest path to the destination host group 30 as the final destination.

즉 이러한 방법으로는, 멀티캐스트 서비스를 제공받는 사용자가 멀티캐스트를 지원하지 않는 하나의 노드로 인하여, 원활한 멀티캐스트 서비스를 받지 못하는 문제점이 발생한다.That is, in this way, a user who receives a multicast service may not receive a smooth multicast service due to one node that does not support multicast.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 고안된 것으로, 멀티캐스트를 지원하지 않는 노드를 포함하고 있는 네트워크 망에서, 그 멀티캐스트 서비스를 지원하지 않는 노드를 멀티캐스트 패킷이 경유 할 수 있도록 하여, 최단 경로로 패킷을 전송할 수 있는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법 및 그 노드를 제공하는 것에 그 목적이 있다. Accordingly, the present invention is designed to solve the above problems, in a network network including a node that does not support multicast, so that the multicast packet can pass through a node that does not support the multicast service. It is an object of the present invention to provide a multicast packet processing method and a node for supporting tunneling capable of transmitting a packet in the shortest path.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법은, 임의의 네트워크 망으로부터 멀티캐스트 패킷을 수신하는 단계와, 수신된 멀티캐스트 패킷을 전송할 최적 경로를 찾기 위하여 멀티캐스트 라우팅을 수행하는 단계와, 라우팅 결과에 따른 최적 경로에 따라 패킷을 전송할 하위 노드가 멀티캐스트 서비스를 지원하는지 여부를 판단하는 단계와, 판단 결과, 하위 노드가 멀티캐스트 서비스를 지원하지 않는 경우, 수신된 패킷에 터널링을 위한 터널 IP 헤더를 추가하여, 상기 하위 노드로 출력하는 단계로 이루어진다.A multicast packet processing method for supporting tunneling according to an aspect of the present invention for achieving the above object, receiving a multicast packet from any network, and find an optimal path to transmit the received multicast packet Performing multicast routing, determining whether the lower node to transmit the packet supports the multicast service according to the optimal path according to the routing result, and, as a result, the lower node does not support the multicast service. In this case, a tunnel IP header for tunneling is added to the received packet and output to the lower node.

또한, 본 발명의 다른 측면을 따른 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드는, 임의의 네트워크 망으로부터 멀티캐스트 패킷을 수신하여, 멀티캐스트 패킷의 관련 정보를 생성하고, 그 관련 정보를 기반으로 키를 생성하는 수신 모듈과, 수신 모듈에서 생성된 키를 선택하고, 그 키를 기반으로 멀티캐스트 라우팅을 수행하여, 해당 멀티캐스트 패킷의 출력포트 표를 작성하는 포워딩 모듈과, 포워딩 모듈에서 멀티캐스트 라우팅 결과 값인 키 값을 저장하는 다수의 출력 큐 모듈과, 수신된 멀티캐스트 패킷의 터널링을 위한 터널 아이피 헤더 정보를 저장하는 터널 정보 버퍼와, 출력 큐 모듈에서 하나에서 키 값을 추출하고, 그 추출된 키 값과 출력포트 표를 기반으로 수신된 멀티캐스트 패킷을 터널링을 수행해야 하는지 여부를 판단하여, 그 판단 결과, 터널링을 수행해야 하는 경우, 터널 정보 버퍼에 저장되어 있는 터널 아이피 헤더를 상기 멀티캐스트 패킷에 추가하는 송신 모듈과, 송신 모듈에서 터널 아이피 헤더가 추가된 멀티캐스트 패킷을 하위 노드로 출력하는 송신 버퍼로 이루어진다.Further, a multicast packet processing node for supporting tunneling according to another aspect of the present invention receives a multicast packet from any network, generates related information of the multicast packet, and based on the related information, a key. A forwarding module which selects a receiving module, a key generated by the receiving module, performs multicast routing based on the key, and writes an output port table of the corresponding multicast packet; and a multicast routing in the forwarding module. A plurality of output queue modules for storing the resultant key values, a tunnel information buffer for storing tunnel IP header information for tunneling of the received multicast packet, and a key value from the output queue module, and extracting the key values Based on the key value and the output port table, it is determined whether or not to tunnel the received multicast packet. As a result of the determination, when tunneling is to be performed, a transmission module for adding a tunnel IP header stored in a tunnel information buffer to the multicast packet, and a multicast packet including the tunnel IP header added from the transmission module to a lower node. It consists of a transmit buffer.

이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 바람직한 일실시예에 따른 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드의 구성을 설명하는 블럭도이다.2 is a block diagram illustrating a configuration of a multicast packet processing node for supporting tunneling according to an embodiment of the present invention.

도 2를 참조하면, 노드(20)는 수신 버퍼(20a)와, 수신 모듈(20b)과, 입력 큐 모듈(20c)과, 포워딩 모듈(20d)과, 복수개의 출력 큐 모듈(20e)과, 송신 모듈(20f)과, 송신 버퍼(20f)와, 포트 정보 버퍼(20j)와, 패킷 정보 버퍼(20i)와, 패킷 버퍼(20h)와, 터널 정보 버퍼(20l)를 구비하고 있다. Referring to FIG. 2, the node 20 includes a receive buffer 20a, a receive module 20b, an input queue module 20c, a forwarding module 20d, a plurality of output queue modules 20e, The transmission module 20f, the transmission buffer 20f, the port information buffer 20j, the packet information buffer 20i, the packet buffer 20h, and the tunnel information buffer 20l are provided.

수신 버퍼(20a)는, 멀티캐스트 패킷을 수신하고, 이를 임시 저장하는 기능을 수행한다.The reception buffer 20a receives a multicast packet and temporarily stores the multicast packet.

수신 모듈(20b)(Module)은, 수신 버퍼(20a)로부터 멀티캐스트 패킷을 수신하여, 이를 패킷 버퍼(20h)에 저장하고, 수신된 멀티캐스트 패킷의 관련 정보 생성하여, 그 생성된 멀티캐스트 패킷 관련 정보를 패킷 정보 버퍼(20i)에 저장한다.The receiving module 20b receives a multicast packet from the receiving buffer 20a, stores it in the packet buffer 20h, generates relevant information of the received multicast packet, and generates the generated multicast packet. The relevant information is stored in the packet information buffer 20i.

이때, 멀티캐스트 패킷의 관련 정보는, IP 헤더 정보, 패킷의 타입 정보, 수신되는 입력포트의 정보 등이 해당된다. In this case, the related information of the multicast packet corresponds to IP header information, packet type information, and information on a received input port.

또한, 수신 모듈(20b)은 수신되는 멀티캐스트 패킷의 일반적인 처리를 수행하고, 멀티캐스트 패킷의 정보를 가진 키(Key)를 생성하는 기능을 수행한다.In addition, the reception module 20b performs a general processing of the received multicast packet and generates a key having information of the multicast packet.

키란, 패킷을 구분하는 데 사용되는 것을 말하며, 일례를 들어 설명하면, 데이터베이스(database)를 나이순으로 정렬하였다면, 이때 "나이"가 바로 키가 되는 것이다.The key is used to classify packets. For example, if the database is sorted by age, "age" is a key.

입력 큐(Queue) 모듈(20c)은, 수신 모듈(20a)에서 생성된 멀티캐스트 패킷의 정보를 가진 키를 임시 저장하는 기능을 수행한다.The input queue module 20c performs a function of temporarily storing a key having information of the multicast packet generated by the receiving module 20a.

큐란, 데이터가 들어간 순서대로 제거되는 자료구조를 말하며, 이러한 순서를 일반적으로 선입선출(FIFO ; first in, first out)이라고 한다. A queue is a data structure that is removed in the order in which the data was entered. This order is commonly referred to as first in, first out (FIFO).

포워딩(Forwarding) 모듈(20d)은, 입력 큐 모듈(20d)에 저장되어 있는 키를 추출하여, 이를 기반으로 수신된 멀티캐스트 패킷을 멀티캐스트 라우팅하여 복수 개의 해당 출력포트(Port)에 대한 출력포트 표를 생성한다.The forwarding module 20d extracts the key stored in the input queue module 20d, multicasts the received multicast packet based on the output port, and outputs ports for a plurality of corresponding output ports. Create a table.

그리고, 생성된 출력포트 표를 기반으로 하여, 일대일 대응하는 다수의 출력 큐 모듈(20e)에 키로 저장하는 기능을 수행한다.And, based on the generated output port table, and performs a function of storing as a key in a plurality of output queue module 20e corresponding to one-to-one.

출력 큐 모듈(20e)은, 포워딩 모듈(20d)의 생성한 출력포트 표의 개수만큼 구비되는 것으로, 멀티캐스트 라우팅된 멀티캐스트 패킷 정보의 키를 임시 저장한다.The output queue module 20e is provided with the number of output port tables generated by the forwarding module 20d, and temporarily stores the keys of the multicast routed multicast packet information.

송신 모듈(20f)은, 다수의 출력 큐 모듈(20e) 중 하나의 출력 큐 모듈(20e)로부터 키를 추출하고, 이를 기반으로 멀티캐스트 라우팅된 멀티캐스트 패킷에 터널링을 위한 터널 IP 헤더를 추가하여, 해당 송신 버퍼(20g)로 전송하는 기능을 수행한다.The transmitting module 20f extracts a key from one output queue module 20e of the plurality of output queue modules 20e, and adds a tunnel IP header for tunneling to the multicast routed multicast packet based on this. And transmits to the corresponding transmission buffer 20g.

그리고, 수신된 멀티캐스트 패킷에 터널 IP 헤더를 추가하여 전송하고, 포워딩 모듈(20l)에서 생성한 출력포트 표에서 초기화한다.Then, the tunnel IP header is added to the received multicast packet, transmitted, and initialized in the output port table generated by the forwarding module 20l.

이러한 송신 모듈(20f)에서 수신되는 멀티캐스트 패킷을 처리하는 방법은, 일례를 들어 설명하면, 라운드 로빈(Round-Robin) 방식이 있는데, 이는 자원을 사용할 수 있는 기회를 프로세스들에게 공정하게 부여하기 위한 한 방법으로서, 각 프로세스에 일정시간을 할당하고, 할당된 시간이 지나면 그 프로세스는 잠시 보류한 뒤, 다른 프로세스에게 기회를 주고, 또 그 다음 프로세스에게 하는 식으로, 돌아가며 기회를 부여하는 운영방식이 있는데, 이를 일반적으로 라운드 로빈 프로세스 스케줄링이라고 부른다. A method of processing a multicast packet received by the transmitting module 20f is, for example, described as a round-robin method, which gives processes a fair opportunity to use resources. One way to do this is to allocate a certain amount of time to each process, and when that time passes, the process is suspended for a while, then the opportunity is given to another process, and the next process is given a turn. This is commonly called round robin process scheduling.

송신 버퍼(20g)는 송신 모듈(20f)에서 생성된 IP 터널링 멀티캐스트 패킷을 해당 출력포트로 전송하기 위하여 임시 저장한다.The transmission buffer 20g temporarily stores the IP tunneling multicast packet generated by the transmission module 20f to transmit to the corresponding output port.

이때, IP 터널링 멀티캐스트 패킷이란, 수신된 멀티캐스트 패킷을 기반으로 송신 모듈(20f)에서 터널 IP 헤더를 추가한 것을 말한다.In this case, the IP tunneling multicast packet refers to a tunnel IP header added by the transmission module 20f based on the received multicast packet.

포트정보 버퍼(20j)는 노드(20)에 구비되어 있는 출력포트의 정보를 저장하는 기능을 수행한다.The port information buffer 20j stores a function of output port information provided in the node 20.

터널 정보 버퍼(20l)는 송신 모듈(20f)에서 추가되는 터널 IP 헤더의 정보를 저장한다.The tunnel information buffer 20l stores information of the tunnel IP header added by the transmission module 20f.

패킷정보 버퍼(20i)는 수신 모듈(20b)에서 생성된 멀티캐스트 패킷에 대한 관련 정보와 멀티캐스트 라우팅에 필요한 정보를 저장한다. The packet information buffer 20i stores related information about the multicast packet generated by the receiving module 20b and information necessary for multicast routing.

패킷 버퍼(20h)는 멀티캐스트 패킷과 멀티캐스트 라우팅 결과 값을 저장하는 기능을 수행한다.The packet buffer 20h stores a multicast packet and a multicast routing result value.

도 3은 본 발명의 바람직한 일실시예에 따른 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법의 흐름을 설명하는 흐름도이다.3 is a flowchart illustrating a flow of a multicast packet processing method for supporting tunneling according to an embodiment of the present invention.

도 3을 참조하면, 임의의 네트워크 망으로부터 패킷을 수신 버퍼(20a)가 수신하여 임시 저장하고(S 1), 수신된 패킷이 멀티캐스트 패킷인지 여부를 수신 모듈(20b)이 판단한다(S 2).Referring to FIG. 3, the receiving buffer 20a receives and temporarily stores a packet from an arbitrary network (S 1), and the receiving module 20b determines whether the received packet is a multicast packet (S 2). ).

이때, 수신된 패킷이 멀티캐스트 패킷인지 여부의 판단은, 일례를 들어 수신된 패킷의 헤더를 분석하여, 목적지 주소가 목적지 그룹 주소인지 여부를 판단한다.At this time, whether the received packet is a multicast packet or not, for example, analyzes the header of the received packet to determine whether the destination address is the destination group address.

판단 결과, 수신된 패킷이 멀티캐스트 패킷인 경우, 포워딩 모듈(20d)은 패킷을 전송하고자 하는 최적 경로를 멀티캐스트 라우팅을 통해 조회하여, 그 최적 경로를 통해 패킷을 전송할 하위 노드가 멀티캐스트 서비스를 지원하는지 여부를 판단한다(S 3).As a result of determination, if the received packet is a multicast packet, the forwarding module 20d inquires of the optimal path to transmit the packet through multicast routing, and the lower node that transmits the packet through the optimal path receives the multicast service. It is determined whether to support (S 3).

이때, 하위 노드가 멀티캐스트를 지원하는지 여부의 판단은, 멀티캐스트 프로토콜인 직접 벡터 멀티캐스트 라우팅 프로토콜(Direct Vector Multicast Routing Protocol : 이하 'DVMRP'라 칭한다.)에 따라 하위 노드로 전송한 DVMRP 접합 메시지(DVMRP Graft Message)에 대한 응답이 있는지 여부를 판단한다.At this time, whether the lower node supports multicast is determined by using the DVMRP concatenation message transmitted to the lower node according to the direct vector multicast routing protocol (hereinafter, referred to as 'DVMRP'). Determine whether there is a response to the (DVMRP Graft Message).

DVMRP는 IETF(Internet Engineering Task Force)의 'RFC (Request for Comments) 1075'에 개괄적으로 정의된 것으로, 네트워크 망에서 멀티캐스트 패킷을 전송할 수 있도록 설계된 거리 벡터(distance-vector) 라우팅 프로토콜이다.DVMRP is defined in the Request for Comments (RFC) 1075 of the Internet Engineering Task Force (IETF) and is a distance-vector routing protocol designed to transmit multicast packets over a network.

판단 결과, 하위 노드가 멀티캐스트 서비스를 지원하지 않는 경우, 수신된 멀티캐스트 패킷에 터널링을 위해 터널 정보 버퍼(20l)에 저장되어 있는 터널 IP 헤더를 추가한다(S 4).As a result, when the lower node does not support the multicast service, the tunnel IP header stored in the tunnel information buffer 20l is added to the received multicast packet for tunneling (S4).

수신된 패킷이 멀티캐스트 패킷이 아니거나, 하위 노드가 멀티캐스트 서비스를 지원하거나, 하위 노드가 멀티캐스트 서비스를 지원하지 않으면, 터널 IP 헤더를 추가하여, 수신된 멀티캐스트 패킷을 하위 노드로 전송한다(S 5).If the received packet is not a multicast packet, the lower node supports the multicast service, or the lower node does not support the multicast service, the tunnel IP header is added to transmit the received multicast packet to the lower node. (S 5).

도 4는 본 발명의 바람직한 일실시예에 따른 하위 노드의 멀티캐스트 서비스 지원 여부를 판단하는 방법의 흐름을 설명하는 흐름도이다.4 is a flowchart illustrating a flow of a method of determining whether a lower node supports a multicast service according to an embodiment of the present invention.

도 4를 참조하면, 임의의 네트워크 망으로부터 멀티캐스트 패킷을 수신되면, DVMRP(Direct Vector Multicast Routing Protocol)에 따라, DVMRP 접합 메시지를 생성하여, 하위 노드로 전송한다(S 3a).Referring to FIG. 4, when a multicast packet is received from an arbitrary network, a DVMRP concatenation message is generated according to the Direct Vector Multicast Routing Protocol (DVMRP) and transmitted to a lower node (S 3a).

DVMRP 접합 메시지를 전송하고, 하위 노드로부터 DVMRP 접합 응답 메시지(DVMRP Graft-Ack Message)가 수신되는지 여부를 판단한다(S 3b).The DVMRP joint message is transmitted, and it is determined whether a DVMRP Graft-Ack Message is received from the lower node (S 3b).

판단 결과, DVMRP 접합 응답 메시지가 수신되지 않는 경우, 하위 노드가 멀티캐스트 서비스를 지원하지 않는다고 판단한다(S 3c).As a result, when the DVMRP junction response message is not received, it is determined that the lower node does not support the multicast service (S 3c).

이는, 하위 노드가 멀티캐스트 서비스를 지원하지 않는 경우, 수신되는 DVMRP 접합 메시지의 그룹 주소(Group Address)에 대하여 라우팅을 수행하지 못하므로, DVMRP 접합 응답 메시지를 생성하지 못 하기 때문이다.This is because, when the lower node does not support the multicast service, routing cannot be performed on the group address of the received DVMRP junction message, and thus, a DVMRP junction response message cannot be generated.

한편, 판단 결과, DVMRP 접합 응답 메시지가 수신되는 경우, 하위 노드가 멀티캐스트 서비스를 지원한다고 판단한다(S 3d).On the other hand, when it is determined that the DVMRP join response message is received, it is determined that the lower node supports the multicast service (S 3d).

이는, 하위 노드가 멀티캐스트 서비스를 지원하는 경우, 수신되는 DVMRP 접합 메시지의 그룹 주소에 대하여 라우팅을 수행할 수 있으므로, DVMRP 접합 응답 메시지를 생성하여 상위 노드로 전송하기 때문이다.This is because, when the lower node supports the multicast service, routing may be performed on the group address of the received DVMRP junction message, and thus a DVMRP junction response message is generated and transmitted to the upper node.

도 5는 본 발명의 바람직한 일실시예에 따른 수신된 멀티캐스트 패킷에 터널 아이피 헤더를 추가하는 방법의 흐름을 설명하는 흐름도이다.5 is a flowchart illustrating a flow of a method for adding a tunnel IP header to a received multicast packet according to an embodiment of the present invention.

임의의 네트워크 망으로부터 수신되는 멀티캐스트 패킷은 입력포트를 통해 수신 버퍼(20a)가 수신하여, 이를 임시 저장한다(S 4a).The multicast packet received from any network is received by the reception buffer 20a through the input port and temporarily stored therein (S 4a).

수신 모듈(20b)은 수신 버퍼(20a)에 임시 저장된 멀티캐스트 패킷에 관한 정보를 생성하여, 멀티캐스트 패킷과 함께 패킷 버퍼(20h)에 저장한다(S 4b).The reception module 20b generates information about the multicast packet temporarily stored in the reception buffer 20a, and stores the information about the multicast packet in the packet buffer 20h together with the multicast packet (S 4b).

이때, 패킷 버퍼(20h)에 저장하는 멀티캐스트 패킷의 정보는, 일례를 들어 멀티캐스트 라우팅을 수행하기 위한 IP 헤더와, 패킷의 유형, 입력포트 정보 등이 해당된다.At this time, the multicast packet information stored in the packet buffer 20h corresponds to, for example, an IP header for performing multicast routing, a packet type, input port information, and the like.

그리고, 수신 모듈(20b)은 멀티캐스트 패킷의 일반적인 처리, 즉 수신된 패킷이 멀티캐스트 패킷인지 브로드캐스트(Broadcast) 패킷인지 여부를 판단하고, 이더넷 패킷 타입이 아이피 타입인지 여부를 판단하고, IP 헤더내의 각 필드(Field)의 값들이 올바른지 여부를 판단하여, 판단 결과, 올바르지 않은 경우, 멀티캐스트 패킷은 버리는 등의 작업을 수행한다(S 4c).The receiving module 20b then determines whether the multicast packet is a general process, that is, whether the received packet is a multicast packet or a broadcast packet, whether the Ethernet packet type is an IP type, and determines an IP header. It is determined whether the values of the respective fields in the field are correct. If the result of the determination is not correct, the multicast packet is discarded (S 4c).

또한, 저장된 멀티캐스트 패킷에 대한 관련 정보, 예를 들면 패킷 버퍼(20h)내에 저장되어 있는 멀티캐스트 패킷 위치 정보와, 패킷 정보 버퍼(20i)내의 멀티캐스트 패킷에 관한 패킷 정보의 위치에 대하여 연산을 통해 지정하는 피연산자 정보와, 멀티캐스트 패킷의 전체 길이 정보 등을 하나의 키로 만들어 입력 큐 모듈(20c)에 저장한다(S 4d).Further, arithmetic operations are performed on the associated information on the stored multicast packet, for example, the multicast packet position information stored in the packet buffer 20h and the packet information on the multicast packet in the packet information buffer 20i. Operand information and the total length information of the multicast packet, etc., which are designated through the same, are made into one key and stored in the input queue module 20c (S 4d).

포워딩 모듈(20d)은 입력 큐 모듈(20c)에 저장되어 있는 키를 추출하고, 그 추출된 키를 기반으로 하여, 수신된 멀티캐스트 패킷의 IP 헤더에서 소스 IP 주소와 목적지 그룹 주소를 읽어 들여, 이를 이용하여 멀티캐스트 라우팅을 수행한다(S 4e). The forwarding module 20d extracts a key stored in the input queue module 20c, reads the source IP address and the destination group address from the IP header of the received multicast packet based on the extracted key, Multicast routing is performed using this (S 4e).

다시 말해서, 최종적으로 가리켜지는 결과 값들, 즉 새로 수정될 소스 IP 주소와 목적지 그룹 주소, 입력포트 그리고 출력포트 목록과 티티엘(Time-To-Live : TTL)값 등을 도출하고, 그 도출된 결과 값을 기반으로 입력포트 확인 및 패킷 정보 버퍼(20i)내의 IP 헤더의 일부 필드인 TTL 값과 체크섬(Checksum)값을 다시금 설정한다.In other words, deriving the final point values, namely, the source IP address and destination group address to be newly modified, the input port and output port list, and the time-to-live (TTL) value, are derived. Based on the above, the TTL value and the checksum value, which are some fields of the IP header in the input port check and the packet information buffer 20i, are set again.

복수 개의 출력포트로의 수신된 멀티캐스트 패킷을 출력하기 위하여 출력포트 표를 생성한다(S 4f). An output port table is generated to output the received multicast packets to the plurality of output ports (S 4f).

이는, 일대일 대응하는 다수의 출력 큐 모듈에 수신된 멀티캐스트 패킷의 정보 즉, 멀티캐스트 패킷의 패킷 버퍼(20h)내의 위치 정보와, 패킷 정보 버퍼(20i)내의 위치를 연산을 통하여 지정하는 피연산자와, 멀티캐스트 패킷의 전체 길이 정보 등을 이용하여 키를 생성하고, 그 생성된 키를 대응하는 출력포트 개수만큼 해당하는 다수의 출력 큐 모듈(20e)에 저장하는 것이다.This includes the operands that designate the information of the multicast packets received by the plurality of output queue modules corresponding to one-to-one, that is, the position information in the packet buffer 20h of the multicast packet and the position in the packet information buffer 20i through calculation. , A key is generated using the total length information of the multicast packet, and the generated keys are stored in the plurality of output queue modules 20e corresponding to the number of corresponding output ports.

송신 모듈(20f)은 라운드 로빈(Round-Robin) 방식으로 출력 큐 모듈(20e)에 저장되어 있는 키 중 하나를 추출하고, 포트 정보 버퍼(20i)에서 해당 출력포트가 IP 터널링을 하는 포트인지 여부를 판단하여, 그 판단 결과, IP 터널링을 하는 출력포트인 경우, 추출한 키를 바탕으로 멀티캐스트 패킷의 기존의 목적지 물리적 주소와, 해당 출력포트의 포트 정보 버퍼(20i)내에 저장되어 있는 포트정보로부터 소스 물리적 주소를 읽는다.The transmitting module 20f extracts one of the keys stored in the output queue module 20e in a round-robin manner, and whether the corresponding output port is an IP tunneling port in the port information buffer 20i. In the case of an output port for IP tunneling, based on the extracted key, the existing destination physical address of the multicast packet and the port information stored in the port information buffer 20i of the corresponding output port are determined. Read the source physical address.

그리고, 터널 정보 버퍼(20l)에 저장되어 있는 터널 IP 헤더와, 패킷 정보 버퍼(20i)내에 저장되어 있는 멀티캐스트 패킷에 관한 정보로부터 TTL 값만 수정된 IP 헤더와, 패킷 버퍼(20h)내 멀티캐스트 패킷에 터널 IP 헤더가 추가된 IP 터널링 멀티캐스트 패킷을 해당 송신 버퍼에 임시 저장한다(S 4g).Then, the IP header in which only the TTL value is modified from the tunnel IP header stored in the tunnel information buffer 20l, the information on the multicast packet stored in the packet information buffer 20i, and the multicast in the packet buffer 20h. The IP tunneling multicast packet in which the tunnel IP header is added to the packet is temporarily stored in the corresponding transmission buffer (S 4g).

다시 말해서, 멀티캐스트 패킷에 터널 IP 헤더를 추가하여, 멀티캐스트를 지원하지 않는 하위 노드로 전송하기 위하여 송신 버퍼에 임시 저장한다.In other words, a tunnel IP header is added to a multicast packet and temporarily stored in a transmission buffer for transmission to a lower node that does not support multicast.

도 6은 터널 IP 헤더가 추가된 IP 터널링 멀티캐스트 패킷의 구조를 설명하는 것으로, 도 6을 참조하면, IP 터널링 멀티캐스트 패킷(40)은 물리적 목적지 주소 필드(Physical Destination Address Field)(41)와, 물리적 소스 주소(Physical Source Address Field)(42)와, 터널 IP 헤더 필드(Tunnel IP Header Field)(43)와, IP 헤더 필드(IP Header Field)(44)와, 페이로드(Payload) 필드(45)를 구비하고 있다.FIG. 6 illustrates a structure of an IP tunneling multicast packet in which a tunnel IP header is added. Referring to FIG. 6, the IP tunneling multicast packet 40 may include a physical destination address field 41. Physical Source Address Field 42, Tunnel IP Header Field 43, IP Header Field 44, Payload Field 45).

이하 각 필드가 가지고 있는 정보를 잠시 살펴보면, 물리적 목적지 주소 필드(41)는 IP 터널링 멀티캐스트 패킷(40)의 멀티캐스트를 수행하기 위한 목적지 주소 정보, 즉 최종 목적지인 수신 호스트 그룹(30)의 주소 정보를 가지고 있고, 물리적 소스 주소 필드(42)는 IP 터널링 멀티캐스트 패킷(40)의 멀티캐스트를 위한, 소스 주소 정보, 즉 송신 호스트(10)의 주소 정보를 가지고 있다.In the following description of the information of each field, the physical destination address field 41 is destination address information for performing the multicast of the IP tunneling multicast packet 40, that is, the address of the receiving host group 30 as the final destination. Information, and the physical source address field 42 contains source address information, i.e., address information of the transmitting host 10, for multicasting the IP tunneling multicast packet 40.

터널 IP 헤더 필드(43)는 터널 정보 버퍼(20l)에 저장되어 있으면서, 송신 모듈(20f)에서 추가되는 필드로써, 인접한 노드(20)가 멀티캐스트 서비스를 지원하지 않는 경우, 멀티캐스트 패킷의 터널링을 시작하는 소스 주소 정보와 터널링을 마치는 목적지 주소 정보를 가지고 있다.The tunnel IP header field 43 is a field stored in the tunnel information buffer 20l and added by the transmission module 20f. Tunneling of the multicast packet when the adjacent node 20 does not support the multicast service. It has source address information starting with and destination address information ending with tunneling.

IP 헤더 필드(44)는 멀티캐스트 패킷의 패킷 정보를 가지고 있고, 페이로드 필드(45)는 멀티캐스트 패킷이 가지고 있는 정보의 종류에 관한 정보를 가지고 있다. The IP header field 44 has packet information of the multicast packet, and the payload field 45 has information on the kind of information that the multicast packet has.

그리고, 터널 IP 헤더(43)를 추가하여 생성된 IP 터널링 멀티캐스트 패킷을 출력할 해당 출력포트의 출력포트 표를 초기화하고, 송신 버퍼(20f)에 임시 저장된 터널링 멀티캐스트 패킷(40)을 해당 출력포트를 통해 하위 노드로 출력한다(S 4h).Then, the output port table of the corresponding output port to output the IP tunneling multicast packet generated by adding the tunnel IP header 43 is initialized, and the tunneling multicast packet 40 temporarily stored in the transmission buffer 20f is outputted. Output to the lower node through the port (S 4h).

이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.Although the present invention has been described in detail only with respect to the described embodiments, it will be apparent to those skilled in the art that various modifications and changes are possible within the technical spirit of the present invention, and such modifications and modifications belong to the appended claims.

상기한 바와 같이 본 발명에 따르면, 멀티캐스트 서비스를 지원하지 않는 노드를 포함하고 있는 네트워크 망에서, 멀티캐스트 서비스를 지원하지 않는 노드로 멀티캐스트 패킷을 전송해야 하는 경우, 해당 노드를 멀티캐스트 패킷이 터널링할 수 있도록 함으로써, 멀티캐스트 서비스를 지원하지 않는 노드로 인하여 발생하는 멀티캐스트 패킷의 손실을 제거하고, 멀티캐스트 서비스를 제공받는 사용자에게 시간 지연이 없는 최단 경로를 통해 멀티캐스트 서비스를 제공 할 수 있는 효과가 있다.As described above, according to the present invention, when a multicast packet needs to be transmitted to a node that does not support the multicast service in a network including a node that does not support the multicast service, the node may transmit the multicast packet. By enabling tunneling, it is possible to eliminate the loss of multicast packets caused by nodes that do not support multicast services, and to provide multicast services through the shortest path with no time delay for users who receive the multicast services. It has an effect.

도 1은 일반적인 복수 개의 노드를 구비하는 네트워크 망의 구성을 설명하는 블록도.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram illustrating a configuration of a network network having a plurality of general nodes.

도 2는 본 발명의 바람직한 일실시예에 따른 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드의 구성을 설명하는 블록도.2 is a block diagram illustrating a configuration of a multicast packet processing node for supporting tunneling according to an embodiment of the present invention.

도 3은 본 발명의 바람직한 일실시예에 따른 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법의 흐름을 설명하는 흐름도.3 is a flowchart illustrating a flow of a multicast packet processing method for supporting tunneling according to an embodiment of the present invention.

도 4는 본 발명의 바람직한 일실시예에 따른 하위 노드의 멀티캐스트 지원 여부를 판단하는 방법의 흐름을 설명하는 흐름도.4 is a flowchart illustrating a flow of a method for determining whether a lower node supports multicast according to an embodiment of the present invention.

도 5는 본 발명의 바람직한 일실시예에 따른 수신된 멀티캐스트 패킷에 터널 아이피 헤더를 추가하는 방법의 흐름을 설명하는 흐름도.5 is a flow chart illustrating the flow of a method for adding a tunnel IP header to a received multicast packet, in accordance with a preferred embodiment of the present invention.

도 6은 본 발명의 바람직한 일실시예에 따른 IP 헤더가 추가된 IP 터널링 멀티캐스트 패킷의 구조를 설명하는 구조도.6 is a structural diagram illustrating a structure of an IP tunneling multicast packet with an IP header added according to an embodiment of the present invention.

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

10 : 송신 호스트 20 : 노드10: sending host 20: node

20a : 수신 버퍼 20b : 수신 모듈20a: Receive buffer 20b: Receive module

20c : 입력 큐 모듈 20d : 포워딩 모듈20c: input cue module 20d: forwarding module

20e : 출력 큐 모듈 20f : 송신 모듈20e: output queue module 20f: sending module

20g : 송신 버퍼 20h : 패킷 버퍼20g: Transmission buffer 20h: Packet buffer

20i : 패킷 정보 버퍼 20j : 포트 정보 버퍼20i: packet information buffer 20j: port information buffer

20l : 터널 정보 버퍼 30 : 수신 호스트 그룹20l: tunnel information buffer 30: receiving host group

40 : IP 터널링 멀티캐스트 패킷40: IP tunneling multicast packet

41 : 물리적 목적지 주소 필드41: physical destination address field

42 : 물리적 소스 주소 43 : 터널 IP 헤더 필드 42: physical source address 43: tunnel IP header field

44 : IP 헤더 필드 45 : 페이로드44: IP header field 45: Payload

Claims (8)

적어도 하나 이상의 노드를 포함하는 네트워크 망에서, 임의의 멀티캐스트 패킷을 처리하는 방법에 있어서,In a network including at least one node, a method for processing any multicast packet, 임의의 네트워크 망으로부터 멀티캐스트 패킷을 수신하는 단계와,Receiving a multicast packet from any network; 상기 수신된 멀티캐스트 패킷을 전송할 최적 경로를 찾기 위하여 멀티캐스트 라우팅을 수행하는 단계와,Performing multicast routing to find an optimal path for transmitting the received multicast packet; 상기 라우팅 결과에 따른 최적 경로에 따라 상기 패킷을 전송할 하위 노드가 멀티캐스트 서비스를 지원하는지 여부를 판단하는 단계와,Determining whether a lower node to transmit the packet supports a multicast service according to an optimal path according to the routing result; 상기 판단 결과, 상기 하위 노드가 멀티캐스트 서비스를 지원하지 않는 경우, 상기 수신된 패킷에 터널링을 위한 터널 아이피 헤더를 추가하는 단계와,If the lower node does not support the multicast service, adding a tunnel IP header for tunneling to the received packet; 상기 터널 아이피 헤더가 추가된 멀티캐스트 패킷을 하위 노드로 출력하는 단계를 포함하는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법.And outputting the multicast packet including the tunnel IP header to a lower node. 제 1항에 있어서, 상기 하위 노드가 멀티캐스트 서비스를 지원하는지 여부를 판단하는 단계는,The method of claim 1, wherein the determining of whether the lower node supports a multicast service comprises: 상기 멀티캐스트 패킷이 수신되는 경우, 직접 벡터 멀티캐스트 라우팅 프로토콜(Direct Vector Multicast Routing Protocol)에 따른 접합 메시지를 생성하여, 상기 하위 노드에 전송하고, 이후 접합 응답 메시지가 수신되는지 여부를 판단하는 단계와,When the multicast packet is received, generating a joint message according to a direct vector multicast routing protocol, transmitting the joint message to the lower node, and then determining whether a joint response message is received; , 상기 판단 결과, 상기 하위 노드로부터 접합 응답 메시지가 수신되는 경우, 상기 하위 노드가 멀티캐스트 서비스를 지원한다고 판단하는 단계와,Determining that the lower node supports the multicast service when the joint response message is received from the lower node as a result of the determination; 상기 판단 결과, 상기 하위 노드로부터 접합 응답 메시지가 수신되지 않는 경우, 상기 하위 노드가 멀티캐스트 서비스를 지원하지 않는다고 판단하는 단계를 포함하여 이루어지는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법.And determining that the lower node does not support a multicast service when the joint response message is not received from the lower node as a result of the determination. 제 1항에 있어서, 터널 아이피 헤더는,The method of claim 1, wherein the tunnel IP header, 상기 수신된 멀티캐스트 패킷의 이더넷 헤더와, 아이피 헤더 사이에 추가되고, 터널링의 시작점인 소스 주소 정보와 최종점인 목적지 주소 정보를 가지는 것을 특징으로 하는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법.And a source address information, which is added between the Ethernet header and the IP header of the received multicast packet, having source address information, which is a start point of tunneling, and destination address information, which is an end point, of tunneling. 제 1항에 있어서,The method of claim 1, 상기 수신된 멀티캐스트 패킷에 대한 멀티캐스트 라우팅을 수행하기 위한 정보를 생성하는 단계와,Generating information for performing multicast routing on the received multicast packet; 상기 수신된 멀티캐스트 패킷의 유형과, 이더넷 헤더의 유형과, 각 헤더의 필드 값이 올바른지 여부를 판단하여, 상기 수신된 멀티캐스트 패킷을 처리하는 단계와,Processing the received multicast packet by determining the type of the received multicast packet, the type of the Ethernet header, and whether the field value of each header is correct; 상기 생성된 정보와 다수개의 출력포트 정보를 기반으로 출력포트 표를 작성하는 단계를 더 포함하는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 방법.Multicast packet processing method for supporting tunneling further comprising the step of creating an output port table based on the generated information and a plurality of output port information. 적어도 하나 이상의 노드를 포함하는 네트워크 망에서, 멀티캐스트 패킷을 수신하여 하위 노드로 출력하는 노드에 있어서,In a network including at least one node, a node receiving a multicast packet and outputs to a lower node, 임의의 네트워크 망으로부터 멀티캐스트 패킷을 수신하여, 상기 멀티캐스트 패킷의 관련 정보를 생성하고, 그 관련 정보를 기반으로 키를 생성하는 수신 모듈과,A receiving module for receiving a multicast packet from an arbitrary network, generating related information of the multicast packet, and generating a key based on the related information; 상기 수신 모듈에서 생성된 키를 선택하고, 그 키를 기반으로 멀티캐스트 라우팅을 수행하여, 해당 멀티캐스트 패킷의 출력포트 표를 작성하는 포워딩 모듈과,A forwarding module for selecting a key generated by the receiving module and performing multicast routing based on the key to create an output port table of the multicast packet; 상기 포워딩 모듈에서 멀티캐스트 라우팅 결과 값인 키 값을 저장하는 다수의 출력 큐 모듈과, A plurality of output queue modules for storing key values that are multicast routing result values in the forwarding module; 상기 수신된 멀티캐스트 패킷의 터널링을 위한 터널 아이피 헤더 정보를 저장하는 터널 정보 버퍼와, A tunnel information buffer for storing tunnel IP header information for tunneling the received multicast packet; 상기 출력 큐 모듈에서 하나에서 키 값을 추출하고, 그 추출된 키 값과 상기 출력포트 표를 기반으로 수신된 멀티캐스트 패킷을 터널링을 수행해야 하는지 여부를 판단하여, 그 판단 결과, 터널링을 수행해야 하는 경우, 상기 터널 정보 버퍼에 저장되어 있는 터널 아이피 헤더를 상기 멀티캐스트 패킷에 추가하는 송신 모듈과,The key value is extracted from one of the output queue modules, and it is determined whether to tunnel the received multicast packet based on the extracted key value and the output port table. A transmission module for adding a tunnel IP header stored in the tunnel information buffer to the multicast packet, 상기 송신 모듈에서 터널 아이피 헤더가 추가된 멀티캐스트 패킷을 하위 노드로 출력하는 송신 버퍼를 포함하여 이루어지는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드.And a transmission buffer for outputting a multicast packet to which a tunnel IP header is added to a lower node in the transmission module. 제 5항에 있어서, The method of claim 5, 상기 수신되는 멀티캐스트 패킷을 임시 저장하는 수신 버퍼와,A reception buffer for temporarily storing the received multicast packet; 상기 멀티캐스트 패킷이 출력되는 출력포트의 정보를 저장하는 포트정보 버퍼와,A port information buffer for storing information of an output port from which the multicast packet is output; 상기 수신 모듈에서 생성된 상기 키를 저장하는 입력 큐 모듈과,An input queue module for storing the key generated by the receiving module; 상기 멀티캐스트 패킷에 대한 관련 정보와 멀티캐스트 라우팅에 필요한 정보를 저장하는 패킷 정보 버퍼와,A packet information buffer for storing related information about the multicast packet and information necessary for multicast routing; 상기 멀티캐스트 패킷과 멀티캐스트 라우팅 결과에 대한 결과 값을 저장하는 패킷 버퍼를 더 포함하는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드.And a packet buffer for storing the multicast packet and the result value for the multicast routing result. 제 5항에 있어서, 상기 출력포트 표는,The method of claim 5, wherein the output port table, 상기 멀티캐스트 패킷이 저장되어 있는 위치 정보를 나타내는 항목과, 상기 멀티캐스트 패킷에 관련된 정보의 위치를 가리키는 피연산자 항목과, 상기 멀티캐스트 패킷의 유형 정보를 나타내는 항목과, 상기 멀티캐스트 패킷의 길이 정보를 나타내는 항목으로 이루어지는 것을 특징으로 하는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드.An item indicating position information in which the multicast packet is stored, an operand item indicating a position of information related to the multicast packet, an item indicating type information of the multicast packet, and length information of the multicast packet. A multicast packet processing node for supporting tunneling, comprising: an item indicating. 제 5항에 있어서, 상기 수신 모듈은, The method of claim 5, wherein the receiving module, 임의의 네트워크 망으로부터 수신된 멀티캐스트 패킷의 유형과, 이더넷 헤더의 유형과, 상기 이더넷 헤더의 각 필드 값이 올바른지 여부를 판단하는 터널링을 지원하기 위한 멀티캐스트 패킷 처리 노드.A multicast packet processing node for supporting tunneling to determine the type of multicast packet received from any network, the type of Ethernet header, and whether each field value of the Ethernet header is correct.
KR10-2003-0003806A 2003-01-20 2003-01-20 method of multicast packet processing for tunneling and node therefor KR100475437B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0003806A KR100475437B1 (en) 2003-01-20 2003-01-20 method of multicast packet processing for tunneling and node therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0003806A KR100475437B1 (en) 2003-01-20 2003-01-20 method of multicast packet processing for tunneling and node therefor

Publications (2)

Publication Number Publication Date
KR20040066673A KR20040066673A (en) 2004-07-27
KR100475437B1 true KR100475437B1 (en) 2005-03-10

Family

ID=37356471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0003806A KR100475437B1 (en) 2003-01-20 2003-01-20 method of multicast packet processing for tunneling and node therefor

Country Status (1)

Country Link
KR (1) KR100475437B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100744786B1 (en) * 2005-11-03 2007-08-02 엘지전자 주식회사 System and method for transmitting media stream
CN114844819A (en) * 2022-04-27 2022-08-02 中国电信股份有限公司 Message sending method, message sending device, product, medium and equipment

Also Published As

Publication number Publication date
KR20040066673A (en) 2004-07-27

Similar Documents

Publication Publication Date Title
US7333488B2 (en) Multicast delivery control apparatus and method
US7065079B1 (en) VC sharing for multicast in a computer network
US7088721B1 (en) Method and apparatus for multipoint-to-point transmission in an ATM network
US7860094B2 (en) Multicast routing method and apparatus for routing multicast packet
US6735190B1 (en) Packet transport method device utilizing header removal fields
JP3931175B2 (en) Explicit multicast tunneling service method and apparatus
US6711172B1 (en) Network packet routing
US8798072B2 (en) Multicast load balancing
US20150236943A1 (en) Method of routing multicast traffic
US5892761A (en) Method and apparatus for routing data in collaborative computing system
EP1677464A1 (en) Packet distribution control method
US7707300B1 (en) Methods and apparatus for transmitting information in a network
US20130195107A1 (en) Method for Managing Multicast Traffic in a Data Netwrok and Network Equipment Using Said Method
JP2008079175A (en) Frame transfer system
JP2001156835A (en) Method and device for compressing destination address of multicast message
US7764926B2 (en) Communication relaying apparatus, communication relay, and controlling method
KR100475437B1 (en) method of multicast packet processing for tunneling and node therefor
US7685308B2 (en) Method for transmitting data by using X-cast mode
CN101197752A (en) Multicast implementing method based on independent multicast-special source protocol in flexible wire type tunnel
US20050141502A1 (en) Method and apparatus to provide multicast support on a network device
EP1114540B1 (en) Hierarchical multicasting
KR20050078430A (en) Method and node for processing ip tunneled multicast packet
KR100552518B1 (en) The apparatus for implementation of ECMP in Network Processor
JP7505543B2 (en) COMMUNICATION DEVICE, RECEIVING COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2023105579A1 (en) Packet relay system and packet relay method

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

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee