JP4775716B2 - Relay device, relay method, and relay program - Google Patents

Relay device, relay method, and relay program Download PDF

Info

Publication number
JP4775716B2
JP4775716B2 JP2007159980A JP2007159980A JP4775716B2 JP 4775716 B2 JP4775716 B2 JP 4775716B2 JP 2007159980 A JP2007159980 A JP 2007159980A JP 2007159980 A JP2007159980 A JP 2007159980A JP 4775716 B2 JP4775716 B2 JP 4775716B2
Authority
JP
Japan
Prior art keywords
packet
multicast group
received
multicast
client
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2007159980A
Other languages
Japanese (ja)
Other versions
JP2008312095A (en
Inventor
博之 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
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 NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2007159980A priority Critical patent/JP4775716B2/en
Publication of JP2008312095A publication Critical patent/JP2008312095A/en
Application granted granted Critical
Publication of JP4775716B2 publication Critical patent/JP4775716B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、中継装置、中継方法および中継プログラムに関し、特にマルチキャスト通信で用いられる中継装置、中継方法および中継プログラムに関する。   The present invention relates to a relay device, a relay method, and a relay program, and more particularly to a relay device, a relay method, and a relay program used in multicast communication.

マルチキャスト通信に適用されるプロトコルとして、IGMP(internet group management protocol)やMLD(multicast listener discovery)がある。IGMPは、IPv4でのマルチキャスト通信に適用されるプロトコルであり、MLDは、IPv6でのマルチキャスト通信に適用されるプロトコルである。IGMPとMLDは、いずれも同様の動作を規定している。マルチキャスト通信にIGMPとMLDとが両方とも適用されていてもIGMPとMLDとが互いの動作に影響を与えることはない。以下、IGMPまたはMLD、あるいはIGMPとMLDの両方が適用されていることをIGMP/MLDと記す。   Protocols applied to multicast communication include IGMP (internet group management protocol) and MLD (multicast listener discovery). IGMP is a protocol applied to multicast communication in IPv4, and MLD is a protocol applied to multicast communication in IPv6. Both IGMP and MLD specify the same operation. Even if both IGMP and MLD are applied to multicast communication, IGMP and MLD do not affect each other's operation. Hereinafter, IGMP / MLD, or that both IGMP and MLD are applied is referred to as IGMP / MLD.

マルチキャスト送信されるパケット(以下、マルチキャストパケットと記す。)は、グループという単位で区別される。このグループをマルチキャストグループと呼ぶ。各マルチキャストグループ毎にマルチキャストアドレスが定められる。クライアントが、あるマルチキャストグループのマルチキャストパケットの受信を開始することを、マルチキャストグループに加入すると表現する。また、クライアントが、あるマルチキャストグループのマルチキャストパケットの受信を停止することを、マルチキャストグループから離脱すると表現する。   Packets transmitted by multicast (hereinafter referred to as multicast packets) are distinguished in units called groups. This group is called a multicast group. A multicast address is determined for each multicast group. The start of reception of a multicast packet of a certain multicast group is expressed as joining a multicast group. In addition, it is expressed that the client stops receiving the multicast packet of a certain multicast group as leaving the multicast group.

また、クライアントが、あるマルチキャストグループのマルチキャストパケットを受信することを、マルチキャストグループの視聴と表現する場合もある。例えば、マルチキャストグループを視聴しているクライアントとは、そのマルチキャストグループのマルチキャストパケットを受信しているクライアントを意味する。   In some cases, the reception of a multicast packet of a certain multicast group by a client is expressed as viewing of the multicast group. For example, a client viewing a multicast group means a client receiving a multicast packet of the multicast group.

また、以下の説明では、あるマルチキャストグループのマルチキャストパケットを、単にマルチキャストグループのパケットと記す。   In the following description, a multicast packet of a certain multicast group is simply referred to as a multicast group packet.

IGMP/MLDによってマルチキャスト送信を行うシステムでは、マルチキャストパケットの送信元となる装置(以下、送信元サーバと記す。)が、マルチキャストグループのパケットを送信する。中継装置(例えば、マルチキャストルータ)は、マルチキャストグループのパケットを、そのマルチキャストグループに加入した各クライアントに送信する。IGMP/MLDによって通信を行うクライアントを、以下、IGMP/MLDクライアントと記す。ここでは、中継装置がマルチキャストルータである場合を例にして説明する。   In a system that performs multicast transmission using IGMP / MLD, a device that is a transmission source of a multicast packet (hereinafter referred to as a transmission source server) transmits a packet of the multicast group. A relay device (for example, a multicast router) transmits a packet of the multicast group to each client that has joined the multicast group. A client that performs communication using IGMP / MLD is hereinafter referred to as an IGMP / MLD client. Here, a case where the relay device is a multicast router will be described as an example.

マルチキャストルータは、General Queryパケット(以下、GQパケットと記す。)や、Group Specific Queryパケット(以下、GSQパケットと記す)をIGMP/MLDクライアントに送信し、応答の有無によって、IGMP/MLDクライアントの視聴状態を確認する。すなわち、各クライアントがどのマルチキャストグループのパケットを受信しているかや、特定のマルチキャストグループのパケットを受信しているクライアントがどのクライアントであるのかを確認する。GQパケットは、各クライアントが視聴しているマルチキャストグループを確認するために用いられる。GSQパケットは、特定のマルチキャストグループを視聴中のクライアントが存在するかを確認するために用いられる。   The multicast router transmits a general query packet (hereinafter referred to as a GQ packet) or a group specific query packet (hereinafter referred to as a GSQ packet) to the IGMP / MLD client. Check the status. That is, it is confirmed which multicast group each client is receiving, and which client is receiving a particular multicast group packet. The GQ packet is used to confirm the multicast group that each client is viewing. The GSQ packet is used to check whether there is a client who is viewing a specific multicast group.

IGMP/MLDクライアントは、新たにマルチキャストグループに加入する場合、そのIGMP/MLDクライアント自身にそのマルチキャストグループのパケットを送信することを要求するIGMP/MLD Membership Reportパケット(以下、MRパケットと記す。)をマルチキャストルータに送信する。また、マルチキャストグループを視聴中のIGMP/MLDクライアントは、GQパケットまたはGSQパケットを受信した場合に、そのGQパケットまたはGSQパケットによって指定された時間以内にMRパケットを送信して、視聴しているマルチキャストグループを通知する。ただし、IGMP/MLDクライアントは、GQパケットまたはGSQパケットに応答して視聴中のマルチキャストグループを通知するMRパケットを送信する前に、他のIGMP/MLDクライアントによってそのマルチキャストグループを通知するMRパケットが送信され、そのMRパケットを受信した場合には、MRパケットを送信しない。   When an IGMP / MLD client newly joins a multicast group, an IGMP / MLD Membership Report packet (hereinafter referred to as an MR packet) requesting the IGMP / MLD client itself to transmit a packet of the multicast group. Send to multicast router. When an IGMP / MLD client viewing a multicast group receives a GQ packet or a GSQ packet, the IGMP / MLD client transmits an MR packet within the time specified by the GQ packet or the GSQ packet to view the multicast Inform the group. However, before an IGMP / MLD client transmits an MR packet for notifying a multicast group being viewed in response to a GQ packet or a GSQ packet, an MR packet for notifying the multicast group is transmitted by another IGMP / MLD client. When the MR packet is received, the MR packet is not transmitted.

また、IGMP/MLDクライアントは、マルチキャストグループの視聴を停止する場合、そのマルチキャストグループのパケットの送信停止を要求するマルチキャストグループ離脱パケット(以下、グループ離脱パケットと記す。)を、マルチキャストルータに送信する。グループ離脱パケットを受信したマルチキャストルータは、送信停止を要求されたマルチキャストグループを視聴中の他のIGMP/MLDクライアントが存在するかどうかを確認するため、そのマルチキャストグループを視聴しているか否かを問い合わせるGSQパケットを送信する。マルチキャストルータは、そのGSQパケットに対する応答が所定時間(Max Response Time )以内にない場合(MRパケットを受信しない場合)、グループ離脱パケットを送信したIGMP/MLDクライアント以外に、送信停止を要求されたマルチキャストグループを視聴しているIGMP/MLDクライアントは存在しないと判定し、そのマルチキャストグループの配信を停止する。一方、GSQパケットを送信してから所定時間(Max Response Time )以内にMRパケットを受信した場合には、マルチキャストグループの配信を継続する。   When the IGMP / MLD client stops viewing the multicast group, the IGMP / MLD client transmits a multicast group leaving packet (hereinafter referred to as a group leaving packet) requesting to stop transmission of the packet of the multicast group to the multicast router. The multicast router that has received the group leaving packet inquires whether the multicast group is being viewed in order to check whether there is another IGMP / MLD client that is viewing the multicast group that is requested to stop transmission. GSQ packet is transmitted. If the response to the GSQ packet is not within the predetermined time (Max Response Time) (when no MR packet is received), the multicast router is requested to stop transmission other than the IGMP / MLD client that transmitted the group leaving packet. It is determined that there is no IGMP / MLD client viewing the group, and distribution of the multicast group is stopped. On the other hand, when the MR packet is received within a predetermined time (Max Response Time) after transmitting the GSQ packet, distribution of the multicast group is continued.

このようにIGMP/MLDでは、マルチキャストルータは、マルチキャストグループの視聴状態しか管理しないというポリシで設計されているため、それぞれのIGMP/MLDクライアントがマルチキャストグループから離脱するときに、マルチキャストルータは、そのマルチキャストグループを視聴している他のIGMP/MLDクライアントが存在するか否かをGSQパケットを送信することによって確認する必要がある。GSQパケットに対する応答を待つ所定時間(Max Response Time)の間は、マルチキャストパケットの配信を停止できないという問題があった。特に、ザッピングと呼ばれる高速にチャンネルを切り替える操作を行う場合に、マルチキャストグループへの加入と離脱を繰り返すため、一時的にたくさんのマルチキャストグループに加入しているという状態が発生する。その結果、データが大量に流れ、伝送媒体や中継機器の性能を越えてしまい、マルチキャスト送信されるデータが転送されなくなるという課題があった。   As described above, in IGMP / MLD, the multicast router is designed with a policy of managing only the viewing state of the multicast group. Therefore, when each IGMP / MLD client leaves the multicast group, the multicast router It is necessary to check by sending a GSQ packet whether there is another IGMP / MLD client viewing the group. There is a problem that multicast packet distribution cannot be stopped during a predetermined time (Max Response Time) for waiting for a response to the GSQ packet. In particular, when a channel switching operation called zapping is performed at a high speed, joining and leaving the multicast group are repeated, so that a state in which many multicast groups are temporarily joined occurs. As a result, there is a problem that a large amount of data flows, exceeds the performance of the transmission medium and the relay device, and data transmitted by multicast cannot be transferred.

RFC4545等で説明されている一般的なIGMP/MLDスヌーピング(snooping)装置では、この課題を解決するため、“Fast-Leave”と呼ばれる機能を搭載している。図7は、一般的なIGMP/MLDスヌーピング装置の例を示す説明図である。IGMP/MLDスヌーピング装置20のダウンストリームポート(downstream port )側でIGMP/MLDクライアント21〜24はマルチキャストパケットを受信する。また、図7に示す例では、IGMP/MLDクライアント23,24は、L2スイッチ25を介してIGMP/MLDスヌーピング装置20とパケットを送受信する。   A general IGMP / MLD snooping device described in RFC4545 and the like is equipped with a function called “Fast-Leave” in order to solve this problem. FIG. 7 is an explanatory diagram showing an example of a general IGMP / MLD snooping device. On the downstream port side of the IGMP / MLD snooping device 20, the IGMP / MLD clients 21-24 receive multicast packets. In the example illustrated in FIG. 7, the IGMP / MLD clients 23 and 24 transmit and receive packets to and from the IGMP / MLD snooping device 20 via the L2 switch 25.

IGMP/MLDスヌーピング装置20は、ダウンストリームポート側で視聴されているマルチキャストグループを管理する。そして、IGMP/MLDクライアント21〜24から送信されるIGMP/MLDパケットをダウンストリームポート側には転送せず、ダウンストリームポートに視聴しているIGMP/MLDクライアントが存在しない場合のみグループ離脱パケットをアップストリームポート(upstream port )に転送する。IGMP/MLDパケットとは、IGMPまたはMLDで規定された制御パケットである。上記のような処理により、一般的なIGMP/MLDスヌーピング装置20では、マルチキャストグループに加入したIGMP/MLDクライアントが、図7に例示するIGMP/MLDクライアント21,22のようにダウンストリームポートに直接接続されたIGMP/MLDクライアントのみであることが保証される場合、IGMP/MLDクライアントからのグループ離脱パケットを受信後、直ちにマルチキャストグループの配信を停止することができる。この機能がFast-Leave機能である。   The IGMP / MLD snooping device 20 manages a multicast group that is viewed on the downstream port side. The IGMP / MLD packets transmitted from the IGMP / MLD clients 21 to 24 are not transferred to the downstream port side, and the group leaving packet is uploaded only when there is no IGMP / MLD client watching on the downstream port. Forward to the upstream port. An IGMP / MLD packet is a control packet defined by IGMP or MLD. Through the processing as described above, in the general IGMP / MLD snooping device 20, the IGMP / MLD client joined to the multicast group is directly connected to the downstream port like the IGMP / MLD clients 21 and 22 illustrated in FIG. If it is guaranteed that only the IGMP / MLD client has been made, distribution of the multicast group can be stopped immediately after receiving the group leave packet from the IGMP / MLD client. This function is the Fast-Leave function.

また、データ配信システムの例が、特許文献1に記載されている。特許文献1に記載されたデータ配信システムは、クライアントから、あるネットワークを介して、受信開始要求を意味するReportパケットを受信した場合、そのネットワークに対応する加入状態テーブルに、そのクライアントのMACアドレスを登録し、マルチキャストデータの配信を開始する。その後、そのクライアントからLeave Groupパケットを受信した場合には、加入状態テーブルから、そのクライアントのMACアドレスを削除する。   An example of a data distribution system is described in Patent Document 1. When a data distribution system described in Patent Document 1 receives a Report packet indicating a reception start request from a client via a certain network, the MAC address of the client is stored in a subscription state table corresponding to the network. Register and start distributing multicast data. Thereafter, when a Leave Group packet is received from the client, the MAC address of the client is deleted from the subscription state table.

また、ルーティング装置の例が、特許文献2に記載されている。特許文献2には、ルーティング装置が、マルチキャストグループに参加しているクライアントの数を、マルチキャストグループ毎にカウントすることが記載されている。   An example of a routing device is described in Patent Document 2. Patent Document 2 describes that a routing device counts the number of clients participating in a multicast group for each multicast group.

特開2003−244230号公報(段落0048−0057、図2)Japanese Patent Laying-Open No. 2003-244230 (paragraphs 0048-0057, FIG. 2) 特開2004−56584号公報(段落0015)JP 2004-56584 A (paragraph 0015)

図7に例示した一般的なIGMP/MLDスヌーピング装置には、次のような問題がある。   The general IGMP / MLD snooping device illustrated in FIG. 7 has the following problems.

L2スイッチ25を介してIGMP/MLDスヌーピング装置20のダウンストリームポートに接続されているIGMP/MLDクライアント23,24(図7参照。)は、互いのMRパケットを検出してしまう。このIGMP/MLDクライアント23,24のように、1つのダウンストリームポートに複数のIMGP/MLDクライアントが存在する場合、そのIGMP/MLDクライアントは互いのMRパケットを検出するので、Fast-Leave機能を有効にしてしまうと、同じマルチキャストグループを2つのIGMP/MLDクライアントで同時に視聴できなくなってしまう。   The IGMP / MLD clients 23 and 24 (see FIG. 7) connected to the downstream port of the IGMP / MLD snooping device 20 via the L2 switch 25 detect each other's MR packet. If there are multiple IMGP / MLD clients in one downstream port, like this IGMP / MLD client 23, 24, the IGMP / MLD client detects each other's MR packet, so the Fast-Leave function is enabled. As a result, the same multicast group cannot be viewed simultaneously by two IGMP / MLD clients.

また、各ポートでFast-Leave機能をオン、オフのどちらかにしかできないため、1つのダウンストリームポートに複数台のIGMP/MLDクライアントが接続されることがあり得る環境では、Fast-Leave機能を使用することができない。   In addition, since the Fast-Leave function can only be turned on or off at each port, the Fast-Leave function can be used in an environment where multiple IGMP / MLD clients may be connected to one downstream port. Cannot be used.

このように、Fast-Leave機能では、ダウンストリームポートに接続されるIMGP/MLDクライアントの接続構成が明確なときは、Fast-Leave機能をオンまたはオフにすることで最適な設定にすることができる。しかし、実際にマルチキャストパケットを配信するサービスにおいては、ダウンストリームポートに接続されるIMGP/MLDクライアントの接続構成を保証することは困難である。そのため、Fast-Leave機能をオンとすることができる場合であっても、Fast-Leave機能を使用することができないことが多いという問題があった。   As described above, in the Fast-Leave function, when the connection configuration of the IMGP / MLD client connected to the downstream port is clear, the Fast-Leave function can be set to an optimum setting by turning the Fast-Leave function on or off. . However, in a service that actually distributes multicast packets, it is difficult to guarantee the connection configuration of the IMGP / MLD client connected to the downstream port. Therefore, even when the Fast-Leave function can be turned on, there is a problem that the Fast-Leave function cannot be used in many cases.

また、特許文献1に記載された発明を中継装置に適用したとしても、加入状態テーブルにクライアントの情報が登録されていないポートに関して、Fast-Leave機能を適用することができるか否かを判断することができない。   Further, even if the invention described in Patent Document 1 is applied to a relay device, it is determined whether or not the Fast-Leave function can be applied to a port in which client information is not registered in the joining state table. I can't.

そこで、本発明は、Fast-Leave可能なダウンストリームポートを学習することができる中継装置、中継方法および中継プログラムを提供することを目的とする。   Therefore, an object of the present invention is to provide a relay device, a relay method, and a relay program that can learn a downstream port capable of fast-leaving.

本発明の中継装置は、マルチキャストパケットを中継する中継装置であって、マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、制御部が、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段と、マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録手段と、マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ手段と、グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定手段と、グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理手段と、問い合わせ手段がマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習手段と、グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮手段とを有し、前記学習手段が、問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習することを特徴とする。 The relay device of the present invention is a relay device that relays multicast packets, and is provided with a plurality of ports to which clients that receive multicast packets are connected, and holds a MAC address learning table that associates MAC addresses with ports. And a control unit that transmits an inquiry packet for inquiring whether or not a multicast group that is a group of multicast packets has been received, and the control unit connects the client that has requested transmission of the multicast group to the client. Client management database storage means for storing a client management database associated with a port, a port to which a client that has requested transmission of a multicast group is connected, and the multicast group Multicast group management database storage means for storing a multicast group management database in which identification information is associated with a lifetime that is a time to wait for a response to an inquiry packet; and when a transmission request packet requesting transmission of a multicast group is received The port that received the transmission request packet, the identification information of the multicast group, and the lifetime determined for the multicast group are associated with each other and registered in the multicast group management database, and the multicast MAC address of the multicast group Registration means for associating the port that received the transmission request packet with the MAC address learning table of the switch unit, and stopping the transmission of the multicast group An inquiry means for sending an inquiry packet for inquiring whether or not the multicast group has been received when a group leaving packet to be requested is received; When the number of clients corresponding to the port that received the leave packet is one or more, and when the number of clients corresponding to the port that received the group leave packet is one, transmitted by the group leave packet The leaving processing means for deleting the entry corresponding to the multicast group requested to be stopped from the multicast group management database and the MAC address learning table of the switch unit, and the inquiry means are the multicast group. After transmitting the inquiry packet for inquiring whether or not the packet is received, when a transmission request packet for requesting transmission of the multicast group is received as a response to the inquiry packet, the port that received the transmission request packet is set to the client Learning means that learns as a port that cannot leave at high speed, and when there are multiple clients corresponding to the port that received the group leaving packet, the lifetime corresponding to the multicast group that was inquired by the inquiry packet is determined in advance. A lifetime shortening means that shortens the transmission request time when the learning means receives the transmission request packet after the inquiry packet has been transmitted and before the shortened lifetime has elapsed. Receive packet The port, the client is characterized in that it learned as a port that can not be fast withdrawal.

また、本発明の中継方法は、マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、制御部が、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを有するマルチキャストパケットの中継装置に適用される中継方法であって、マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録し、マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信し、グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定し、グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除し、グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮し、マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを、短縮されたライフタイムが経過する前に受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習することを特徴とする。 Also, the relay method of the present invention is provided with a plurality of ports to which clients that receive multicast packets are connected, a switch unit that holds a MAC address learning table that associates MAC addresses with ports, and a multicast that is a group of multicast packets. A client management database that includes a control unit that transmits an inquiry packet for inquiring whether or not a group is received, and in which the control unit associates a client that requests transmission of a multicast group with a port to which the client is connected Client management database storage means for storing the port, the port to which the client that requested transmission of the multicast group is connected, identification information of the multicast group, and a response to the inquiry packet A relay method applied to a multicast packet relay apparatus having a multicast group management database storage unit that stores a multicast group management database associated with a lifetime that is a waiting time, wherein the transmission requests multicast group transmission When the request packet is received, the port that received the transmission request packet, the identification information of the multicast group, and the lifetime determined for the multicast group are associated and registered in the multicast group management database, The multicast MAC address of the multicast group and the port that received the transmission request packet are associated with each other and registered in the MAC address learning table of the switch unit. When a group leaving packet requesting to stop transmission is received, an inquiry packet for inquiring whether or not the multicast group has been received is transmitted, and when a group leaving packet is received, the client management database is referred to Judgment is made on whether the number of clients corresponding to the port that received the leave packet is one or more, and when the number of clients corresponding to the port that received the group leave packet is one, transmission stop was requested by the group leave packet Queries when an entry corresponding to a multicast group is deleted from the multicast group management database and the MAC address learning table of the switch unit, and there are multiple clients corresponding to the port that received the group leaving packet. As a response to the inquiry packet after sending the inquiry packet to inquire whether the multicast group has been received or not , the lifetime corresponding to the multicast group that is the target of inquiry by the packet packet is shortened from a predetermined time. When the transmission request packet for requesting transmission of the multicast group is received before the shortened lifetime elapses, the port that has received the transmission request packet is learned as a port from which the client cannot leave at high speed. Features.

また、本発明の中継プログラムは、マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部のMACアドレスラーニングテーブルにアクセス可能であり、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを備えたコンピュータに搭載される中継プログラムであって、コンピュータに、マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録処理、マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ処理、グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定処理、グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理、グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮処理、およびマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを、短縮されたライフタイムが経過する前に受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習処理を実行させることを特徴とする。 The relay program of the present invention is provided with a plurality of ports to which clients that receive multicast packets are connected, and can access the MAC address learning table of the switch unit that holds the MAC address learning table that associates the MAC address with the port. Yes, a client management database storage unit that stores a client management database that associates a client that has requested transmission of a multicast group with a port to which the client is connected, and a port to which a client that has requested transmission of a multicast group is connected And a multicast group management database that associates the identification information of the multicast group with the lifetime that is the time to wait for a response to the inquiry packet A relay program installed in a computer comprising a multicast group management database storage means, and when the computer receives a transmission request packet requesting transmission of a multicast group, the port that has received the transmission request packet; The multicast group identification information and the lifetime determined for the multicast group are associated and registered in the multicast group management database, and the multicast MAC address of the multicast group and the port that received the transmission request packet are When a registration process for registering in the MAC address learning table of the switch unit in association with each other and a group leaving packet requesting to stop transmission of the multicast group are received, the multicast group is received. Inquiry processing for sending an inquiry packet for inquiring whether or not a group has been received. When a group leave packet is received, the client management database is referred to, and the number of clients corresponding to the port that received the group leave packet is 1 If the number of clients corresponding to the port that received the group leaving packet is 1, the entry corresponding to the multicast group requested to stop transmission by the group leaving packet is multicast. Deletion processing to be deleted from the group management database and the MAC address learning table of the switch unit , and inquiry by inquiry packet when there are multiple clients corresponding to the port that received the group leave packet Response to the inquiry packet after sending an inquiry packet for inquiring whether or not the multicast group is received , and a lifetime reduction process for shortening the lifetime corresponding to the target multicast group from a predetermined time. Learning that, when a transmission request packet for requesting transmission of the multicast group is received before the shortened lifetime elapses, the port that has received the transmission request packet is learned as a port that the client cannot leave at high speed Processing is executed.

本発明によれば、クライアントが高速離脱することができないポートを自動的に学習することができるので、その結果、クライアントが高速離脱することができないポートでないポートをFast-Leave可能なダウンストリームポートとして学習することができる。   According to the present invention, it is possible to automatically learn a port from which the client cannot leave at high speed. As a result, a port that is not a port from which the client can leave at high speed is defined as a fast-leaveable downstream port. Can learn.

以下、本発明の実施例を図面を参照して説明する。
なお、以下に示す各実施例の説明においても、グループとして区別されたマルチキャストパケットのグループをマルチキャストグループと呼ぶ。また、IGMP/MLDクライアントが、あるマルチキャストグループのマルチキャストパケットの受信を開始することを、マルチキャストグループに加入すると記す。また、IGMP/MLDクライアントが、あるマルチキャストグループのマルチキャストパケットの受信を停止することを、マルチキャストグループから離脱すると記す。また、マルチキャストグループを視聴するとは、そのマルチキャストグループのパケットを受信していることを意味する。また、IGMP/MLDパケットとは、IGMPまたはMLDで規定された制御パケットであり、IGMP/MLDパケットの例として、MRパケット、グループ離脱パケット、GQパケット、GSQパケットがある。
Embodiments of the present invention will be described below with reference to the drawings.
In the following description of each embodiment, a group of multicast packets distinguished as a group is called a multicast group. In addition, the fact that an IGMP / MLD client starts receiving a multicast packet of a certain multicast group is described as joining a multicast group. In addition, the fact that the IGMP / MLD client stops receiving a multicast packet of a certain multicast group is described as leaving the multicast group. In addition, viewing a multicast group means receiving a packet of the multicast group. The IGMP / MLD packet is a control packet defined by IGMP or MLD, and examples of the IGMP / MLD packet include an MR packet, a group leaving packet, a GQ packet, and a GSQ packet.

実施例1.
図1は、本発明の中継装置の例を示すブロック図である。第1の実施例では、中継装置が、IGMP/MLDスヌーピング(snooping)機能を有するIGMP/MLDスヌーピング装置であるものとして説明する。IGMP/MLDスヌーピングとは、あるマルチキャストグループのパケットを、そのマルチキャストグループを視聴しているIGMP/MLDクライアントが接続しているポートからのみ送信することをいう。IGMP/MLDスヌーピング装置1には、IGMP/MLDが適用される。
Example 1.
FIG. 1 is a block diagram showing an example of the relay device of the present invention. In the first embodiment, description will be made assuming that the relay device is an IGMP / MLD snooping device having an IGMP / MLD snooping function. IGMP / MLD snooping refers to transmitting a packet of a certain multicast group only from a port to which an IGMP / MLD client viewing the multicast group is connected. IGMP / MLD is applied to the IGMP / MLD snooping device 1.

図1に示すように、IGMP/MLDスヌーピング装置(中継装置)1は、IGMP/MLD処理部11と、IGMP/MLDスヌーピング機能つきL2スイッチ部(以下、L2スイッチ部と記す。)12とを備える。IGMP/MLD処理部11には、アップストリームポート(upstream port )が設けられ、L2スイッチ部12には、複数のダウンストリームポート(downstream port )が設けられている。IGMP/MLD処理部11は、アップストリームポートを介して送信元サーバ(図示せず。)からマルチキャストパケットを受信する。また、ダウンストリームポートには、IGMP/MLDクライアントが接続されている。なお、図1、図2および図6では、IGMP/MLDクライアントの図示を省略している。ダウンストリームポートとIGMP/MLDクライアントとの接続態様は、以下の何れであってもよい。すなわち、IGMP/MLDクライアントが直接ダウンストリームポートに接続されていてもよい。また、図7に示すIGMP/MLDクライアント23,24のように、IGMP/MLDスヌーピング装置1とは別に設けられたL2スイッチ等を介してIGMP/MLDクライアントがダウンストリームポートに接続されていてもよい。   As shown in FIG. 1, the IGMP / MLD snooping device (relay device) 1 includes an IGMP / MLD processing unit 11 and an L2 switch unit with an IGMP / MLD snooping function (hereinafter referred to as an L2 switch unit) 12. . The IGMP / MLD processing unit 11 is provided with an upstream port (upstream port), and the L2 switch unit 12 is provided with a plurality of downstream ports (downstream ports). The IGMP / MLD processing unit 11 receives a multicast packet from a transmission source server (not shown) via an upstream port. Further, an IGMP / MLD client is connected to the downstream port. In FIG. 1, FIG. 2, and FIG. 6, the illustration of the IGMP / MLD client is omitted. The connection mode between the downstream port and the IGMP / MLD client may be any of the following. That is, the IGMP / MLD client may be directly connected to the downstream port. Further, as in the IGMP / MLD clients 23 and 24 shown in FIG. 7, the IGMP / MLD client may be connected to the downstream port via an L2 switch or the like provided separately from the IGMP / MLD snooping device 1. .

L2スイッチ部12の構成は、当業者に知られているIGMP/MLDスヌーピング機能つきL2スイッチと同様であり、以下の説明では、本発明に関わる動作を除き、L2スイッチ部12の説明を省略する。   The configuration of the L2 switch unit 12 is the same as the L2 switch with IGMP / MLD snooping function known to those skilled in the art. In the following description, the description of the L2 switch unit 12 is omitted except for the operation related to the present invention. .

IGMP/MLD処理部11は、L2スイッチ部12がIGMP/MLDクライアントから受信したIGMP/MLDパケットをL2スイッチ部12から受信する。そして、IGMP/MLD処理部11は、各ダウンストリームポートで視聴されているマルチキャストグループと、マルチキャストグループを視聴しているIGMP/MLDクライアントを学習する。換言すると、IGMP/MLD処理部11は、L2スイッチ部12から受信したIGMP/MLDパケットに基づいて、IGMP/MLDクライアントで視聴されているマルチキャストグループと、マルチキャストグループを視聴しているIGMP/MLDクライアントとを管理する。IGMP/MLD処理部11は、受信したIGMP/MLDパケットを解析して、マルチキャストグループへの加入やマルチキャストグループからの離脱の要求に応じた処理を行い、受信したIGMP/MLDパケットをアップストリームポートから転送する。   The IGMP / MLD processing unit 11 receives the IGMP / MLD packet received from the IGMP / MLD client by the L2 switch unit 12 from the L2 switch unit 12. Then, the IGMP / MLD processing unit 11 learns the multicast group viewed at each downstream port and the IGMP / MLD client viewing the multicast group. In other words, the IGMP / MLD processing unit 11 determines, based on the IGMP / MLD packet received from the L2 switch unit 12, the multicast group viewed by the IGMP / MLD client and the IGMP / MLD client viewing the multicast group. And manage. The IGMP / MLD processing unit 11 analyzes the received IGMP / MLD packet, performs processing in response to a request for joining or leaving the multicast group, and receives the received IGMP / MLD packet from the upstream port. Forward.

また、IGMP/MLD処理部11は、各ダウンストリームポートに接続されたIGMP/MLDクライアントで視聴されているマルチキャストグループの情報をL2スイッチ部12に登録する。マルチキャストグループの情報として、具体的にはマルチキャストMACアドレスを登録する。   Further, the IGMP / MLD processing unit 11 registers information on the multicast group viewed by the IGMP / MLD client connected to each downstream port in the L2 switch unit 12. Specifically, a multicast MAC address is registered as multicast group information.

また、IGMP/MLD処理部11は、アップストリームポートから受信したパケットをL2スイッチ部12に転送する。   Further, the IGMP / MLD processing unit 11 transfers the packet received from the upstream port to the L2 switch unit 12.

IGMP/MLD処理部11の処理の具体的な内容については、後述する。   Specific contents of the processing of the IGMP / MLD processing unit 11 will be described later.

L2スイッチ部12は、IGMP/MLDクライアントが送信したIGMP/MLDパケットをダウンストリームポートから受信すると、そのIGMP/MLDパケットをIGMP/MLD処理部11のみへ転送する。L2スイッチ部12は、ダウンストリームポートから受信したIGMP/MLDパケットを他のダウンストリームポートから転送することは行わない。   When receiving the IGMP / MLD packet transmitted from the IGMP / MLD client from the downstream port, the L2 switch unit 12 transfers the IGMP / MLD packet only to the IGMP / MLD processing unit 11. The L2 switch unit 12 does not transfer the IGMP / MLD packet received from the downstream port from another downstream port.

また、L2スイッチ部12は、IGMP/MLD処理部11から転送されるマルチかキャストパケットを、IGMP/MLD処理部11によってMACアドレスラーニングテーブルに登録されたマルチキャストMACアドレスとダウンストリームポートの情報に基づいてIGMP/MLDクライアントに送信する。   In addition, the L2 switch unit 12 uses the multicast MAC address and the downstream port information registered in the MAC address learning table by the IGMP / MLD processing unit 11 to transfer the multi-cast packet transferred from the IGMP / MLD processing unit 11. To the IGMP / MLD client.

図2は、図1に示したIGMP/MLDスヌーピング装置(中継装置)をより詳細に示すブロック図である。図1で示した構成要素と同一の構成要素には、図1と同一の符号を付している。   FIG. 2 is a block diagram showing the IGMP / MLD snooping device (relay device) shown in FIG. 1 in more detail. The same components as those shown in FIG. 1 are denoted by the same reference numerals as those in FIG.

L2スイッチ部(IGMP/MLDスヌーピング機能つきL2スイッチ部)12は、MACアドレスラーニングテーブルを登録する記憶装置(図示せず。)を備える。L2スイッチ部は、IGMP/MLDクライアントが送信したIGMP/MLDパケットをダウンストリームポートから受信し、ブリッジ処理を行う。MACアドレスラーニングテーブルは、個々のダウンストリームポートとMACアドレスとを対応付けたテーブルである。L2スイッチ部12は、ダウンストリームポートからパケットを送信する場合、そのパケットの宛先となるMACアドレスに対応するダウンストリームポートからパケットを送信する。また、ブリッジ処理は、クライアントからパケットを受信したときに、そのクライアントのMACアドレス(受信したパケットの送信元MACアドレス)と、そのパケットを受信したダウンストリームポートとの対応関係をMACアドレスラーニングテーブルに登録する処理である。本発明では、MACアドレスラーニングテーブルには、クライアントのMACアドレスとダウンストリームポートとの対応関係だけでなく、マルチキャストMACアドレスとダウンストリームポートとの対応関係も登録される。マルチキャストMACアドレスとダウンストリームポートとの対応関係は、IGMP/MLD処理部11によって登録される。   The L2 switch unit (L2 switch unit with IGMP / MLD snooping function) 12 includes a storage device (not shown) for registering a MAC address learning table. The L2 switch unit receives the IGMP / MLD packet transmitted from the IGMP / MLD client from the downstream port, and performs a bridge process. The MAC address learning table is a table in which each downstream port is associated with a MAC address. When transmitting a packet from the downstream port, the L2 switch unit 12 transmits the packet from the downstream port corresponding to the MAC address that is the destination of the packet. In addition, when a packet is received from a client, the bridge process stores the correspondence between the MAC address of the client (source MAC address of the received packet) and the downstream port that received the packet in the MAC address learning table. It is a process to register. In the present invention, in the MAC address learning table, not only the correspondence between the client MAC address and the downstream port, but also the correspondence between the multicast MAC address and the downstream port is registered. The correspondence between the multicast MAC address and the downstream port is registered by the IGMP / MLD processing unit 11.

また、既に説明したように、L2スイッチ部12は、ダウンストリームポートからIGMP/MLDパケットを受信した場合、そのIGMP/MLDパケットをIGMP/MLD処理部11にのみ転送する。   Further, as described above, when receiving the IGMP / MLD packet from the downstream port, the L2 switch unit 12 transfers the IGMP / MLD packet only to the IGMP / MLD processing unit 11.

また、IGMP/MLD処理部11は、マルチキャストグループと、マルチキャストグループを視聴しているIGMP/MLDクライアントとを管理して、マルチキャストグループへの加入やマルチキャストグループからの離脱の要求に応じた処理を行う等の処理を行う。   The IGMP / MLD processing unit 11 manages the multicast group and the IGMP / MLD client viewing the multicast group, and performs processing in response to a request for joining the multicast group or leaving the multicast group. And so on.

IGMP/MLD処理部11の構成および具体的な処理の内容について説明する。図2に示すように、IGMP/MLD処理部11は、IGMP/MLDパケット解析/送受信部111と、IGMP/MLDクライアント管理データベース部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理データベース部114とを備える。以下、IGMP/MLDクライアント管理データベース部112をIGMP/MLDクライアント管理DB部112と記し、マルチキャストグループ管理データベース部114をマルチキャストグループ管理DB部114と記す。   The configuration of the IGMP / MLD processing unit 11 and the specific processing contents will be described. As shown in FIG. 2, the IGMP / MLD processing unit 11 includes an IGMP / MLD packet analysis / transmission / reception unit 111, an IGMP / MLD client management database unit 112, a multicast address management unit 113, a multicast group management database unit 114, Is provided. Hereinafter, the IGMP / MLD client management database unit 112 is referred to as an IGMP / MLD client management DB unit 112, and the multicast group management database unit 114 is referred to as a multicast group management DB unit 114.

マルチキャストグループ管理DB部114は、マルチキャスト管理DB(データベース)を記憶する記憶装置である。図3は、マルチキャストグループ管理DBの例を示す説明図である。図3に示すように、マルチキャスト管理DBは、ポート番号と、IGMP/MLDクライアントに視聴されるマルチキャストグループのマルチキャストアドレスと、そのマルチキャストグループの送信元サーバのIPアドレス(“Source Specific Address ”と呼ばれる。)と、ライフタイムとを対応づけたデータの集合である。   The multicast group management DB unit 114 is a storage device that stores a multicast management DB (database). FIG. 3 is an explanatory diagram showing an example of the multicast group management DB. As shown in FIG. 3, the multicast management DB is called a port number, a multicast address of a multicast group viewed by an IGMP / MLD client, and an IP address (“Source Specific Address”) of a transmission source server of the multicast group. ) And lifetime.

ポート番号は、個々のダウンストリームポートを識別するポート識別情報である。ここでは、ポート識別情報が番号である場合を例示しているが、ポート識別情報は番号に限定されない。   The port number is port identification information for identifying each downstream port. Here, a case where the port identification information is a number is illustrated, but the port identification information is not limited to a number.

マルチキャスト管理DBに含まれるマルチキャストアドレスは、送信元サーバがマルチキャストグループのパケットを送信する際に、そのマルチキャストパケットに送信先として付加するマルチキャストIPアドレスである。   The multicast address included in the multicast management DB is a multicast IP address added as a transmission destination to the multicast packet when the transmission source server transmits the packet of the multicast group.

送信元サーバのIPアドレス(Source Specific Address )は、マルチキャストグループのパケットを送信する送信元サーバのIPアドレスである。マルチキャストグループは、マルチキャストIPアドレスと送信元サーバのIPアドレスとによって管理することができる。なお、送信元サーバのIPアドレス(Source Specific Address )は、IGMPv3/MLDv2を適用する際にオプションで用いられる。IGMPv3/MLDv2以外のバージョンのIGMP/MLDが適用され、Source Specific Address を用いない場合には、マルチキャストIPアドレスによってマルチキャストグループを識別すればよい。   The IP address (Source Specific Address) of the transmission source server is the IP address of the transmission source server that transmits the packet of the multicast group. The multicast group can be managed by the multicast IP address and the IP address of the transmission source server. The IP address (Source Specific Address) of the transmission source server is optionally used when applying IGMPv3 / MLDv2. When IGMP / MLD of a version other than IGMPv3 / MLDv2 is applied and Source Specific Address is not used, the multicast group may be identified by the multicast IP address.

ライフタイムは、GQパケットまたはQSQパケットの送信後にIGMP/MLDクライアントからの応答を待つ時間である。GQパケットまたはGSQパケットの送信後、一定時間以内に、マルチキャストグループを視聴中である旨の応答がなければ、そのマルチキャストグループを視聴しているIGMP/MLDクライアントがないと判定される。ライフタイムは、この一定時間である。従って、GQパケットまたはGSQパケットの送信後に、マルチキャストグループに応じたライムタイムが経過するまでにそのマルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストパケットを視聴中のIGMP/MLDクライアントは存在しないと判定される。ライムタイムは、マルチキャストグループ毎に予め定められている。なお、GQパケットに対する応答を待つ時間(Max Response Time )と、GSQパケットに対する応答を待つ時間とが、異なる値として定められていてもよい。   The lifetime is a time for waiting for a response from the IGMP / MLD client after transmitting the GQ packet or the QSQ packet. If there is no response indicating that the multicast group is being viewed within a certain time after transmission of the GQ packet or GSQ packet, it is determined that there is no IGMP / MLD client viewing the multicast group. The lifetime is this fixed time. Therefore, after transmitting a GQ packet or a GSQ packet, there is no IGMP / MLD client viewing the multicast packet unless an MR packet designating the multicast group is received before the lime time corresponding to the multicast group elapses. It is determined not to. The lime time is predetermined for each multicast group. The time for waiting for a response to a GQ packet (Max Response Time) and the time for waiting for a response to a GSQ packet may be set as different values.

IGMP/MLDクライアント管理DB部112は、IGMP/MLDクライアント管理DB(データベース)を記憶するデータベースである。図4は、IGMP/MLDクライアント管理DBの例を示す説明図である。図4に示すように、IGMP/MLDクライアント管理DBは、ポート番号と、IGMP/MLDパケットの送信元のMACアドレス(すなわちIGMP/MLDパケットを送信したIGMP/MLDクライアントのMACアドレス)とを対応付けたデータの集合である。IGMP/MLDクライアント管理DBを参照することによって、各ダウンストリームポート毎に何台のIGMP/MLDクライアントが接続されているかを判定することができる。例えば、図4に示す例では、ポート番号1とMACアドレスとの組み合わせが2つ登録されているので、ポート番号1のダウンストリームポートに接続されたIGMP/MLDクライアントが2台存在すると判定される。   The IGMP / MLD client management DB unit 112 is a database that stores an IGMP / MLD client management DB (database). FIG. 4 is an explanatory diagram showing an example of the IGMP / MLD client management DB. As shown in FIG. 4, the IGMP / MLD client management DB associates the port number with the MAC address of the transmission source of the IGMP / MLD packet (that is, the MAC address of the IGMP / MLD client that transmitted the IGMP / MLD packet). A collection of data. By referring to the IGMP / MLD client management DB, it is possible to determine how many IGMP / MLD clients are connected to each downstream port. For example, in the example shown in FIG. 4, since two combinations of port number 1 and MAC address are registered, it is determined that there are two IGMP / MLD clients connected to the downstream port of port number 1. .

IGMP/MLDパケット解析/送受信部111は、アップストリームポートから受信したパケットをL2スイッチ部12に転送する。従って、IGMP/MLDパケット解析/送受信部111は、送信元サーバが送信したマルチキャストパケットをアップストリームポートから受信すると、そのマルチキャストパケットをL2スイッチ部12に転送する。   The IGMP / MLD packet analysis / transmission / reception unit 111 transfers the packet received from the upstream port to the L2 switch unit 12. Therefore, when receiving the multicast packet transmitted from the transmission source server from the upstream port, the IGMP / MLD packet analysis / transmission / reception unit 111 transfers the multicast packet to the L2 switch unit 12.

また、IGMP/MLDパケット解析/送受信部111は、L2スイッチ部12がIGMP/MLDクライアントから受信したパケットをL2スイッチ部12から受信する。IGMP/MLDパケット解析/送受信部111は、L2スイッチ部12から受信したパケットがIGMP/MDLパケットでなければ、そのパケットをアップストリームポートから送信する。一方、L2スイッチ部12から受信したパケットがIGMP/MDLパケットであれば、そのパケットを解析して、パケットの種類に応じて、マルチキャストグループ管理DBへのマルチキャストグループに関するデータの追加や削除、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)へのマルチキャストMACアドレスの追加登録等を行う。また、パケットの種類に応じて、IGMP/MLDクライアント管理DBへのMACアドレスとポート番号の追加登録も行う。   Further, the IGMP / MLD packet analysis / transmission / reception unit 111 receives from the L2 switch unit 12 a packet received by the L2 switch unit 12 from the IGMP / MLD client. If the packet received from the L2 switch unit 12 is not an IGMP / MDL packet, the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the packet from the upstream port. On the other hand, if the packet received from the L2 switch unit 12 is an IGMP / MDL packet, the packet is analyzed and the addition or deletion of data regarding the multicast group to the multicast group management DB is performed according to the type of the packet. Addition of a multicast MAC address to the MAC address learning table (not shown) of the unit 12 is performed. Further, the MAC address and port number are additionally registered in the IGMP / MLD client management DB according to the type of packet.

また、IGMP/MLDパケット解析/送受信部111は、定期的にGQパケットをL2スイッチ部12を介して送信する。このとき、IGMP/MLDパケット解析/送受信部111は、GQパケットをL2スイッチ部12に送信し、L2スイッチ部12は、各ダウンストリームポートからGQパケットを送信する。   Further, the IGMP / MLD packet analysis / transmission / reception unit 111 periodically transmits a GQ packet via the L2 switch unit 12. At this time, the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the GQ packet to the L2 switch unit 12, and the L2 switch unit 12 transmits the GQ packet from each downstream port.

マルチキャストアドレス管理部113は、マルチキャストグループ管理DB部114に記憶されたマルチキャストグループ管理DBを監視する。そして、GQパケットまたはGSQパケットの送信後に、IGMP/MLDクライアントからの応答を待ち、定められた時間(ライフタイム)が経過するまでに、マルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除する。マルチキャストアドレス管理部113は、さらにマルチキャストアドレス管理部113は、そのマルチキャストグループに該当するエントリをL2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)から削除する。具体的には、そのマルチキャストグループのマルチキャストMACアドレスに対応するエントリを削除する。   The multicast address management unit 113 monitors the multicast group management DB stored in the multicast group management DB unit 114. Then, after transmitting a GQ packet or a GSQ packet, it waits for a response from the IGMP / MLD client, and if it does not receive an MR packet designating a multicast group before a predetermined time (lifetime) elapses, the multicast The entry corresponding to the group is deleted from the multicast group management DB. The multicast address management unit 113 further deletes the entry corresponding to the multicast group from the MAC address learning table (not shown) of the L2 switch unit 12. Specifically, the entry corresponding to the multicast MAC address of the multicast group is deleted.

なお、GQパケットは、各IGMP/MLDクライアントが視聴しているマルチキャストグループを全て申告させるための問い合わせパケットであるので、GQパケットにはマルチキャストグループの識別情報(例えば、マルチキャストアドレス)は含まれない。一方、GSQパケットは、特定のマルチキャストグループを視聴中のクライアントが存在するかを問い合わせるためのパケットであるので、マルチキャストグループの識別情報(例えば、マルチキャストアドレス)が含まれる。   Since the GQ packet is an inquiry packet for reporting all multicast groups viewed by each IGMP / MLD client, the GQ packet does not include multicast group identification information (for example, multicast address). On the other hand, the GSQ packet is a packet for inquiring whether there is a client who is viewing a specific multicast group, and therefore includes identification information (for example, a multicast address) of the multicast group.

既に説明したように、IGMP/MLDクライアントは、GQパケットまたはGSQパケットを受信した場合、そのパケットで指定された時間以内に、視聴しているマルチキャストグループを通知する。すなわち、視聴しているマルチキャストグループの識別情報(例えば、マルチキャストアドレス)を含むMRパケットを送信する。ただし、指定された時間以内に他のIGMP/MLDクライアントによって、そのマルチキャストグループの識別情報(例えば、マルチキャストアドレス)を含むMRパケットが送信され、そのMRパケットを受信した場合には、MRパケットを送信しない。また、IGMP/MLDクライアントは、マルチキャストグループへの加入を要求するときにもMRパケットを送信する。   As already described, when receiving an GQ packet or a GSQ packet, the IGMP / MLD client notifies the multicast group being viewed within the time specified by the packet. That is, an MR packet including identification information (for example, a multicast address) of the multicast group being viewed is transmitted. However, when another IGMP / MLD client transmits an MR packet including identification information (for example, a multicast address) of the multicast group within the specified time, and receives the MR packet, the MR packet is transmitted. do not do. The IGMP / MLD client also transmits an MR packet when requesting to join a multicast group.

IGMP/MLDクライアントは、指定するマルチキャストグループの識別情報となるマルチキャストIPアドレスをMRパケットに含めて、MRパケットを送信する。また、IGMPv3/MLDv2が適用され、マルチキャストIPアドレスおよび送信元サーバのIPアドレス(Source Specific Address )の組み合わせでマルチキャストグループを識別する場合、Source Specific Address もMRパケットに含める。また、マルチキャストグループに対応するライフタイムの情報をMRパケットに含めてもよい。以下、IGMP/MLDクライアントが、指定するマルチキャストグループのマルチキャストIPアドレスとSource Specific Address とライフタイムとをMRパケットに含める場合を例にして説明する。IGMP/MLDクライアントが、マルチキャストIPアドレスとSource Specific Address とライフタイムの情報を取得する態様は、特に限定されない。例えば、それらの情報を放送するサーバや、Webサーバから、取得してもよい。   The IGMP / MLD client includes the multicast IP address serving as identification information of the designated multicast group in the MR packet and transmits the MR packet. When IGMPv3 / MLDv2 is applied and a multicast group is identified by a combination of a multicast IP address and an IP address (Source Specific Address) of a transmission source server, the Source Specific Address is also included in the MR packet. Further, lifetime information corresponding to the multicast group may be included in the MR packet. Hereinafter, a case where the IGMP / MLD client includes the multicast IP address, the source specific address, and the lifetime of the designated multicast group in the MR packet will be described as an example. The manner in which the IGMP / MLD client acquires the multicast IP address, source specific address, and lifetime information is not particularly limited. For example, the information may be acquired from a server that broadcasts the information or a Web server.

次に、本発明の動作について説明する。
L2スイッチ部12は、ダウンストリームポートから受信したパケットをIGMP/MLDパケット解析/送受信部111に送信する。特に、ダウンストリームポートから受信したパケットがIGMP/MLDパケットである場合、そのパケットをIGMP/MLDパケット解析/送受信部111のみに送信する。
Next, the operation of the present invention will be described.
The L2 switch unit 12 transmits the packet received from the downstream port to the IGMP / MLD packet analysis / transmission / reception unit 111. In particular, when the packet received from the downstream port is an IGMP / MLD packet, the packet is transmitted only to the IGMP / MLD packet analysis / transmission / reception unit 111.

図5は、IGMP/MLDパケット解析/送受信部111がL2スイッチ部12からパケットを受信したときのIGMP/MLDパケット解析/送受信部111の動作の例を示す流れ図である。IGMP/MLDパケット解析/送受信部111は、L2スイッチ部12からパケットを受信すると、そのパケットがIGMP/MLDパケットであるか否かを判定する(ステップS1)。   FIG. 5 is a flowchart showing an example of the operation of the IGMP / MLD packet analysis / transmission / reception unit 111 when the IGMP / MLD packet analysis / transmission / reception unit 111 receives a packet from the L2 switch unit 12. When receiving the packet from the L2 switch unit 12, the IGMP / MLD packet analysis / transmission / reception unit 111 determines whether or not the packet is an IGMP / MLD packet (step S1).

L2スイッチ部12から受信したパケットがIGMP/MLDパケットでない場合(ステップS1のNo)、IGMP/MLDパケット解析/送受信部111は、そのパケットをアップストリームポートから送信する(ステップS10)。L2スイッチ部12から受信したパケットがIGMP/MLDパケットである場合(ステップS1のYes)、IGMP/MLDパケット解析/送受信部111は、そのパケットがMRパケットであるか否かを判定する(ステップS2)。   When the packet received from the L2 switch unit 12 is not an IGMP / MLD packet (No in step S1), the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the packet from the upstream port (step S10). When the packet received from the L2 switch unit 12 is an IGMP / MLD packet (Yes in step S1), the IGMP / MLD packet analysis / transmission / reception unit 111 determines whether the packet is an MR packet (step S2). ).

L2スイッチ部12から受信したパケットがMRパケットである場合(ステップS2のYes)、IGMP/MLDパケット解析/送受信部111は、そのMRパケットを受信したダウンストリームポートのポート番号と、そのMRパケットの送信元MACアドレスとを対応付けて、IGMP/MLDクライアント管理DB(図4参照。)に登録する(ステップS3)。   When the packet received from the L2 switch unit 12 is an MR packet (Yes in step S2), the IGMP / MLD packet analysis / transmission / reception unit 111 receives the port number of the downstream port that received the MR packet, and the MR packet The source MAC address is associated and registered in the IGMP / MLD client management DB (see FIG. 4) (step S3).

ステップS3の後、IGMP/MLDパケット解析/送受信部111は、IGMP/MLDからMRパケットによって加入を要求されたマルチキャストグループをマルチキャストグループ管理DBに登録する。すなわち、IGMP/MLDパケット解析/送受信部111は、MRパケットに含まれているマルチキャストIPアドレス、送信元サーバのIPアドレス(Source Specific Address )およびライフタイムと、MRパケットを受信したダウンストリームポートのポート番号とを対応付けて、マルチキャストグループ管理DB(図3参照。)に登録する(ステップS4)。   After step S3, the IGMP / MLD packet analysis / transmission / reception unit 111 registers the multicast group requested to join by the MR packet from the IGMP / MLD in the multicast group management DB. That is, the IGMP / MLD packet analysis / transmission / reception unit 111 includes the multicast IP address, the IP address (Source Specific Address) and lifetime of the source server included in the MR packet, and the port of the downstream port that has received the MR packet. The numbers are associated with each other and registered in the multicast group management DB (see FIG. 3) (step S4).

さらに、ステップS4において、IGMP/MLDパケット解析/送受信部111は、指定されたマルチキャストグループのマルチキャストIPアドレスに対応するマルチキャストMACアドレスと、MRパケットを受信したダウンストリームポートのポート番号とを対応付けて、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)に登録する。マルチキャストMACアドレスは、マルチキャストIPアドレスの下位23ビットと、“01:00:5e:00:00:00 ”の下位23ビットに割り当てたものである。IGMP/MLDパケット解析/送受信部111は、MRパケットに含まれていたマルチキャストIPアドレスの下位23ビットを“01:00:5e:00:00:00 ”に割り当てることでマルチキャストMACアドレスを生成し、そのマルチキャストMACアドレスとMRパケットを受信したダウンストリームポートのポート番号とを対応付けて、L2スイッチ部12のMACアドレスラーニングテーブルに登録すればよい。   Further, in step S4, the IGMP / MLD packet analysis / transmission / reception unit 111 associates the multicast MAC address corresponding to the multicast IP address of the designated multicast group with the port number of the downstream port that has received the MR packet. , It is registered in the MAC address learning table (not shown) of the L2 switch unit 12. The multicast MAC address is assigned to the lower 23 bits of the multicast IP address and the lower 23 bits of “01: 00: 5e: 00: 00: 00”. The IGMP / MLD packet analysis / transmission / reception unit 111 generates a multicast MAC address by assigning the lower 23 bits of the multicast IP address included in the MR packet to “01: 00: 5e: 00: 00: 00”. The multicast MAC address and the port number of the downstream port that has received the MR packet may be associated with each other and registered in the MAC address learning table of the L2 switch unit 12.

また、L2スイッチ部12から受信したパケットがMRパケットない場合(ステップS2のNo)、IGMP/MLDパケット解析/送受信部111は、そのパケットがグループ離脱パケットであるか否かを判定する(ステップS5)。受信したパケットがグループ離脱パケットでない場合(ステップS5のNo)、IGMP/MLDパケット解析/送受信部111は、そのパケットをアップストリームポートから送信する(ステップS10)。   If there is no MR packet received from the L2 switch unit 12 (No in step S2), the IGMP / MLD packet analysis / transmission / reception unit 111 determines whether the packet is a group leaving packet (step S5). ). If the received packet is not a group leaving packet (No in step S5), the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the packet from the upstream port (step S10).

L2スイッチ部12から受信したパケットがグループ離脱パケットである場合(ステップS5のYes)、IGMP/MLDパケット解析/送受信部111は、GSQパケットをL2スイッチ部12を介して送信する(ステップS6)。ステップS6において、IGMP/MLDパケット解析/送受信部111は、GQパケットをL2スイッチ部12に送信し、L2スイッチ部12は、各ダウンストリームポートからGSQパケットを送信する。また、IGMP/MLDパケット解析/送受信部111は、ステップS6で送信するGSQパケットのMax Response Time を予め定めた時間よりも短く設定する。例えば、GQパケットのMax Response Time よりも短く設定する。   When the packet received from the L2 switch unit 12 is a group leaving packet (Yes in step S5), the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the GSQ packet via the L2 switch unit 12 (step S6). In step S6, the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the GQ packet to the L2 switch unit 12, and the L2 switch unit 12 transmits the GSQ packet from each downstream port. Also, the IGMP / MLD packet analysis / transmission / reception unit 111 sets the Max Response Time of the GSQ packet transmitted in step S6 to be shorter than a predetermined time. For example, it is set shorter than the Max Response Time of the GQ packet.

次に、IGMP/MLDパケット解析/送受信部111は、IGMP/MLDクライアント管理DBを参照して、グループ離脱パケットを受信したダウンストリームポートについて1つのIGMP/MLDクライアントが登録されているか、複数のIGMP/MLDクライアントが登録されているかを判定する(ステップS7)。すなわち、グループ離脱パケットを受信したダウンストリームポートのポート番号に対応して、1つのMACアドレスが登録されているか、複数のMACアドレスが登録されているかを判定する。   Next, the IGMP / MLD packet analysis / transmission / reception unit 111 refers to the IGMP / MLD client management DB to determine whether one IGMP / MLD client is registered for the downstream port that has received the group leaving packet or a plurality of IGMP / MLD clients. It is determined whether the / MLD client is registered (step S7). That is, it is determined whether one MAC address or a plurality of MAC addresses are registered corresponding to the port number of the downstream port that has received the group leaving packet.

グループ離脱パケットを受信したダウンストリームポートのポート番号に対応して、複数のMACアドレスが登録されている場合、IGMP/MLDパケット解析/送受信部111は、マルチキャストグループ管理DB(図3参照。)のエントリのうち、グループ離脱パケットを用いて離脱を要求されたマルチキャストグループに対応するエントリのライフタイムを、ステップS6で短く設定したGSQパケットのMax Response Time の値まで短縮する(ステップS9)。ステップS9の後、IGMP/MLDパケット解析/送受信部111は、受信したグループ離脱パケットをアップストリームポートから送信する(ステップS10)。   When a plurality of MAC addresses are registered corresponding to the port number of the downstream port that has received the group leaving packet, the IGMP / MLD packet analysis / transmission / reception unit 111 of the multicast group management DB (see FIG. 3). Among the entries, the lifetime of the entry corresponding to the multicast group requested to leave using the group leave packet is shortened to the Max Response Time value of the GSQ packet set short in Step S6 (Step S9). After step S9, the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the received group leaving packet from the upstream port (step S10).

また、グループ離脱パケットを受信したダウンストリームポートのポート番号に対応して、1つのMACアドレスが登録されている場合、IGMP/MLDパケット解析/送受信部111は、マルチキャストグループ管理DBから、グループ離脱パケットを受信したダウンストリームポートのポート番号と、グループ離脱パケットを用いて離脱を要求されたマルチキャストグループとを対応付けたエントリを削除する(ステップS8)。具体的には、ポート番号と、そのマルチキャストグループのマルチキャストアドレス、Source Specific Address 、およびライフタイムとを対応付けたエントリを削除する。さらに、ステップS8において、IGMP/MLDパケット解析/送受信部111は、グループ離脱パケットを受信したダウンストリームポートのポート番号と、そのマルチキャストグループのマルチキャストMACアドレスとを対応付けたエントリを、L2スイッチ部12のMACアドレスラーニングテーブルから削除する(ステップS8)。   When one MAC address is registered corresponding to the port number of the downstream port that has received the group leave packet, the IGMP / MLD packet analysis / transmission / reception unit 111 receives the group leave packet from the multicast group management DB. The entry that associates the port number of the downstream port that received the message with the multicast group requested to leave using the group leave packet is deleted (step S8). Specifically, the entry that associates the port number with the multicast address, source specific address, and lifetime of the multicast group is deleted. Further, in step S8, the IGMP / MLD packet analysis / transmission / reception unit 111 sets an entry in which the port number of the downstream port that received the group leaving packet and the multicast MAC address of the multicast group are associated with each other in the L2 switch unit 12 Are deleted from the MAC address learning table (step S8).

ステップS8の後、IGMP/MLDパケット解析/送受信部111は、受信したグループ離脱パケットをアップストリームポートから送信する(ステップS10)。   After step S8, the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the received group leaving packet from the upstream port (step S10).

また、既に説明したように、マルチキャストアドレス管理部113は、ライフタイムが経過するまでに、マルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除し、さらに、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)からも削除する。従って、マルチキャストアドレス管理部113は、マルチキャストグループ管理DB部114に記憶されたマルチキャストグループ管理DBを監視し、ステップS6でGSQパケットが送信された後、ライフタイムが経過するまでに、GSQパケットで定めたマルチキャストグループを指定するMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除する。このとき、ステップS9に移行している場合には、ライフタイムが短縮されているので、MRパケットの受信を待つ時間が短くなる。また、マルチキャストアドレス管理部113は、マルチキャストグループ管理DBからエントリを削除した場合、削除したエントリにおけるマルチキャストグループのマルチキャストMACアドレスを含むエントリを、L2スイッチ部12のMACアドレスラーニングテーブルから削除する。   As already described, if the multicast address management unit 113 does not receive an MR packet designating a multicast group before the lifetime elapses, the multicast address management unit 113 deletes the entry corresponding to the multicast group from the multicast group management DB. Further, it is also deleted from the MAC address learning table (not shown) of the L2 switch unit 12. Therefore, the multicast address management unit 113 monitors the multicast group management DB stored in the multicast group management DB unit 114 and determines the GSQ packet after the GSQ packet is transmitted in step S6 until the lifetime elapses. If the MR packet designating the multicast group is not received, the entry corresponding to the multicast group is deleted from the multicast group management DB. At this time, when the process proceeds to step S9, since the lifetime is shortened, the time for waiting for reception of the MR packet is shortened. Further, when the entry is deleted from the multicast group management DB, the multicast address management unit 113 deletes the entry including the multicast MAC address of the multicast group in the deleted entry from the MAC address learning table of the L2 switch unit 12.

また、IGMP/MLDパケット解析/送受信部111は、ステップS6で送信したGSQパケットに対する応答としてIGMP/MLDクライアントが送信したMRパケットを受信した場合、そのMRパケットを受信したダウンストリームポートを、IGMP/MLDクライアントが高速離脱することができないダウンストリームポートとして学習する。このダウンストリームポートの学習態様は、特に限定されない。例えば、ステップS6のGSQパケット送信後にMRパケットを受信したダウンストリームポートのポート番号を、高速離脱することができないダウンストリームポートのポート番号として、IGMP/MLD制御部114が備える記憶装置(高速離脱不能ポート記憶手段、図示せず。)に記憶させておいてもよい。このように、IGMP/MLDクライアントが高速離脱することができないダウンストリームポートを学習するので、高速離脱することができないダウンストリームポートを判定することができる。例えば、上記の例のように高速離脱不能ポート記憶手段に、ステップS6のGSQパケット送信後にMRパケットを受信したダウンストリームポートのポート番号を記憶させた場合、高速離脱不能ポート記憶手段に記憶されたポート番号のダウンストリームポートは、IGMP/MLDクライアントが高速離脱できないポートであり、他のダウンストリームポートはIGMP/MLDクライアントが高速離脱できるポートであると判定することができる。   When the IGMP / MLD packet analysis / transmission / reception unit 111 receives the MR packet transmitted by the IGMP / MLD client as a response to the GSQ packet transmitted in step S6, the IGMP / MLD packet analysis / transmission / reception unit 111 sets the downstream port that has received the MR packet as the IGMP / The MLD client learns as a downstream port that cannot leave at high speed. The learning mode of the downstream port is not particularly limited. For example, the port number of the downstream port that has received the MR packet after the transmission of the GSQ packet in step S6 is used as the port number of the downstream port that cannot be disconnected at high speed. It may be stored in a port storage means (not shown). In this way, since the IGMP / MLD client learns the downstream port that cannot leave at high speed, the downstream port that cannot leave at high speed can be determined. For example, when the port number of the downstream port that received the MR packet after the transmission of the GSQ packet in step S6 is stored in the high-speed leave port storage means as in the above example, the high-speed leave port storage means stores the port number. The downstream port of the port number is a port that the IGMP / MLD client cannot leave at high speed, and the other downstream ports can be determined as ports that the IGMP / MLD client can leave at high speed.

以上のように、本発明によれば、グループ離脱パケットを受信した後、GSQパケットを送信し、そのGSQパケットへの応答としてMRパケットを受信した場合、そのMRパケットを受信したダウンストリームポートを、IGMP/MLDクライアントが高速離脱することができないダウンストリームポートとして学習する。よって、IGMP/MLDクライアントが高速離脱できないダウンストリームポートを判定することができる。従って、Fast-Leave機能をオンとすることができるダウンストリームポート(IGMP/MLDクライアントが高速離脱できるポート)と、Fast-Leave機能をオンとすることができないダウンストリームポート(IGMP/MLDクライアントが高速離脱できないポート)がわかるので、高速離脱することができないダウンストリームポートを学習した後に、Fast-Leave機能を適切に設定して、適切にIGMP/MLDクライアントの高速離脱を実現することができる。   As described above, according to the present invention, after receiving a group leaving packet, when a GSQ packet is transmitted and an MR packet is received as a response to the GSQ packet, the downstream port that has received the MR packet is It learns as a downstream port where the IGMP / MLD client cannot leave at high speed. Therefore, it is possible to determine the downstream port where the IGMP / MLD client cannot leave at high speed. Therefore, a downstream port that can turn on the Fast-Leave function (a port that the IGMP / MLD client can leave at high speed) and a downstream port that cannot turn on the Fast-Leave function (the IGMP / MLD client that uses a high speed) Since a downstream port that cannot be removed at high speed is learned, the Fast-Leave function can be appropriately set, and the IGMP / MLD client can be appropriately removed at high speed.

また、本発明では、グループ離脱パケットを受信したダウンストリームポート対応するIGMP/MLDクライアントが1つである場合、すぐにマルチキャストグループ管理DBおよびL2スイッチ部12のMACアドレスラーニングテーブルから該当するエントリを削除するので(ステップS8)、IGMP/MLDクライアントの高速離脱を実現することができる。   Also, in the present invention, when there is one IGMP / MLD client corresponding to the downstream port that has received the group leaving packet, the corresponding entry is immediately deleted from the multicast group management DB and the MAC address learning table of the L2 switch unit 12. Therefore, the IGMP / MLD client can be disconnected at high speed (step S8).

また、IMGP/MLDクライアントを高速離脱させるダウンストリームポートが、高速離脱することができないダウンストリームポートとして学習されていない場合であっても、ステップS10においてグループ離脱パケットをアップストリームポートから送信する。すると、高速離脱することができないダウンストリームポートとして学習されていないポートでは、マルチキャストグループを視聴しているクライアントがいるにも関わらず、視聴が途切れることがある。しかし、本発明では、ステップS9で、グループ離脱パケットを用いて離脱を要求されたマルチキャストグループに対応するエントリのライフタイムを短縮する。従って、GSQパケットの応答(MRパケット)を早く受信することができるため、そのような視聴途切れの時間を短縮することができる。   Even if the downstream port that leaves the IMGP / MLD client at a high speed is not learned as a downstream port that cannot leave at high speed, a group leave packet is transmitted from the upstream port in step S10. Then, at a port that has not been learned as a downstream port that cannot leave at high speed, viewing may be interrupted even though there are clients viewing the multicast group. However, in the present invention, in step S9, the lifetime of the entry corresponding to the multicast group requested to leave is shortened using the group leave packet. Accordingly, since the response (MR packet) of the GSQ packet can be received quickly, such a viewing interruption time can be shortened.

なお、GSQパケットを送信した後、ライフタイム期間が経過するまでにMRパケットを受信しなかった場合には、再度GSQパケットを送信することを繰り返してもよい。そして、GSQパケット送信後、ライフタイム期間が経過するまでにMRパケットを受信しない状態が所定回数続いたときに、IGMP/MLDクライアントからの応答がないと判定してもよい。GQパケットについても同様である。   In addition, after transmitting a GSQ packet, when an MR packet is not received before the lifetime expires, you may repeat transmitting a GSQ packet again. Then, it may be determined that there is no response from the IGMP / MLD client when the MR packet is not received for a predetermined number of times after the lifetime period elapses after the GSQ packet is transmitted. The same applies to GQ packets.

実施例2.
図6は、本発明の第2の実施例の構成を示すブロック図である。第2の実施例では、本発明の中継装置を、IGMP/MLDプロキシに実装した場合を示す。第1の実施例で示した構成要素と同様の構成要素については、図1と同一の符号を付して示す。本実施例において、中継装置(以下、IGMP/MLDプロキシ装置と記す。)10は、IGMP/MLD処理部11aと、L2スイッチ部(IGMP/MLDスヌーピング機能つきL2スイッチ部)12と、ルータ部13とを備える。IGMP/MLD処理部11aは、IGMP/MLDプロキシ処理部115と、IGMP/MLDクライアント管理DB部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理DB部114とを備える。IGMP/MLDプロキシ処理部115は、IGMP/MLDパケット解析/送受信部111を含む。
Example 2
FIG. 6 is a block diagram showing the configuration of the second embodiment of the present invention. The second embodiment shows a case where the relay device of the present invention is mounted on an IGMP / MLD proxy. Constituent elements similar to those shown in the first embodiment are denoted by the same reference numerals as in FIG. In this embodiment, a relay device (hereinafter referred to as an IGMP / MLD proxy device) 10 includes an IGMP / MLD processing unit 11a, an L2 switch unit (L2 switch unit with an IGMP / MLD snooping function) 12, and a router unit 13. With. The IGMP / MLD processing unit 11a includes an IGMP / MLD proxy processing unit 115, an IGMP / MLD client management DB unit 112, a multicast address management unit 113, and a multicast group management DB unit 114. The IGMP / MLD proxy processing unit 115 includes an IGMP / MLD packet analysis / transmission / reception unit 111.

L2スイッチ部12は、ダウンストリームポートから受信したIGMP/MLDパケットをルータ部13に送信する。また、IGMP/MLD処理部11aからパケットを受信する場合、ルータ部13を介して受信する。その他の点については、第1の実施例で説明したL2スイッチ部12と同様である。   The L2 switch unit 12 transmits the IGMP / MLD packet received from the downstream port to the router unit 13. When receiving a packet from the IGMP / MLD processing unit 11a, the packet is received via the router unit 13. Other points are the same as those of the L2 switch unit 12 described in the first embodiment.

ルータ部13は、マルチキャストグループ管理DB部114に記憶されているマルチキャストグループ管理DBに基づいて、マルチキャストパケットのルーティングを行う。また、ルータ部13は、IGMP/MLD Querierあてのパケットを、IGMP/MLDプロキシ処理部115に送信する。IGMP/MLD Querierあてのパケットとは、IGMP/MLDプロキシ装置10あてのIMGP/MLDパケットである。また、ルータ13にはアップストリームポートが設けられ、ルータ部13は、IGMP/MLD処理部11aがアップストリームポート側に転送するIGMP/MLDパケットをアップストリームポートから送信する。そして、IGMP/MLD処理部11aがIGMP/MLDクライアントに送信するパケットを、L2スイッチ部12に送信する。   The router unit 13 performs routing of multicast packets based on the multicast group management DB stored in the multicast group management DB unit 114. In addition, the router unit 13 transmits a packet addressed to the IGMP / MLD Queryer to the IGMP / MLD proxy processing unit 115. The packet addressed to the IGMP / MLD Queryer is an IMGP / MLD packet addressed to the IGMP / MLD proxy device 10. The router 13 is provided with an upstream port, and the router unit 13 transmits an IGMP / MLD packet that the IGMP / MLD processing unit 11a transfers to the upstream port side from the upstream port. Then, the packet transmitted from the IGMP / MLD processing unit 11a to the IGMP / MLD client is transmitted to the L2 switch unit 12.

IGMP/MLDクライアント管理DB部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理DB部114は、それぞれ、第1の実施例で示したIGMP/MLDクライアント管理DB部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理DB部114と同様である。   The IGMP / MLD client management DB unit 112, the multicast address management unit 113, and the multicast group management DB unit 114 are respectively the IGMP / MLD client management DB unit 112 and the multicast address management unit 113 shown in the first embodiment. This is the same as the multicast group management DB unit 114.

すなわち、IGMP/MLDクライアント管理DB部112は、ポート番号と、IGMP/MLDパケットを送信したIGMP/MLDクライアントのMACアドレスとを対応付けたIGMP/MLDクライアント管理DBを記憶する。   In other words, the IGMP / MLD client management DB unit 112 stores an IGMP / MLD client management DB in which the port number is associated with the MAC address of the IGMP / MLD client that has transmitted the IGMP / MLD packet.

また、マルチキャストグループ管理DB部114は、ポート番号と、マルチキャストアドレスと、“Source Specific Address ”と、ライフタイムとを対応付けたマルチキャストグループ管理DBを記憶する。ただし、IGMPv3/MLDv2以外のバージョンのIGMP/MLDが適用される場合には、マルチキャストグループ管理DBに“Source Specific Address ”は含まれない。   The multicast group management DB unit 114 stores a multicast group management DB in which port numbers, multicast addresses, “Source Specific Address”, and lifetimes are associated with each other. However, when a version of IGMP / MLD other than IGMPv3 / MLDv2 is applied, “Source Specific Address” is not included in the multicast group management DB.

また、マルチキャストアドレス管理部113は、マルチキャストグループ管理DB部114に記憶されたマルチキャストグループ管理DBを監視して、GQパケットまたはGSQパケットの送信後に、IGMP/MLDクライアントからの応答を待ち、定められた時間(ライフタイム)が経過するまでに、マルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除する。さらに、そのマルチキャストグループに該当するエントリをL2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)から削除する。   In addition, the multicast address management unit 113 monitors the multicast group management DB stored in the multicast group management DB unit 114, waits for a response from the IGMP / MLD client after transmitting the GQ packet or the GSQ packet, and is determined. If an MR packet designating a multicast group is not received before the time (lifetime) elapses, the entry corresponding to the multicast group is deleted from the multicast group management DB. Further, the entry corresponding to the multicast group is deleted from the MAC address learning table (not shown) of the L2 switch unit 12.

IGMP/MLDプロキシ処理部115は、IGMP/MLDプロキシ処理を行う。IGMP/MLDプロキシ処理部115によるIGMP/MLDプロキシ処理は、当業者に知られているIGMP/MLDプロキシ処理と同様である。   The IGMP / MLD proxy processing unit 115 performs IGMP / MLD proxy processing. The IGMP / MLD proxy processing by the IGMP / MLD proxy processing unit 115 is the same as the IGMP / MLD proxy processing known to those skilled in the art.

IGMP/MLDプロキシ処理部115が備えるIGMP/MLDパケット解析/送受信部111は、L2スイッチ部12がIGMP/MLDクライアントから受信したIGMP/MLDパケットを、ルータ部13を介して受信する。そして、そのIGMP/MLDパケットをパケットの種類に応じて、マルチキャストグループ管理DBへのマルチキャストグループに関するデータの追加や削除、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)へのマルチキャストMACアドレスの追加登録等を行う。この動作は、図5に示す動作と同様である。ただし、ルータ部13が、IGMP/MLDプロキシ装置10あてのIMGP/MLDパケットをIGMP/MLDプロキシ処理部115に送信するので、IGMP/MLDパケット解析/送受信部111は、受信したパケットがIMGP/MLDパケットであるか否かの判定(ステップS1)を行わずに、ステップS2以降の処理を行えばよい。   The IGMP / MLD packet analysis / transmission / reception unit 111 provided in the IGMP / MLD proxy processing unit 115 receives the IGMP / MLD packet received from the IGMP / MLD client by the L2 switch unit 12 via the router unit 13. Then, depending on the type of the IGMP / MLD packet, addition or deletion of data regarding the multicast group to the multicast group management DB, multicast MAC address to the MAC address learning table (not shown) of the L2 switch unit 12 is performed. Perform additional registration. This operation is the same as the operation shown in FIG. However, since the router unit 13 transmits the IMGP / MLD packet addressed to the IGMP / MLD proxy device 10 to the IGMP / MLD proxy processing unit 115, the IGMP / MLD packet analysis / transmission / reception unit 111 determines that the received packet is an IMGP / MLD packet. What is necessary is just to perform the process after step S2 without determining whether it is a packet (step S1).

ただし、IGMP/MLDパケット解析/送受信部111は、受信したIGMP/MLDパケットを終端する。そして、IGMP/MLDパケット解析/送受信部111が代理でIGMP/MLDパケットを、ルータ部13を介して送信する。例えば、IGMP/MLDパケット解析/送受信部111は、受信したMRパケットやグループ離脱パケットを終端する。そして、IGMP/MLDパケット解析/送受信部111がMRパケットやグループ離脱パケットを、ルータ部13を介して送信する。   However, the IGMP / MLD packet analysis / transmission / reception unit 111 terminates the received IGMP / MLD packet. The IGMP / MLD packet analysis / transmission / reception unit 111 transmits the IGMP / MLD packet via the router unit 13 on behalf of the IGMP / MLD packet analysis / transmission / reception unit 111. For example, the IGMP / MLD packet analysis / transmission / reception unit 111 terminates the received MR packet or group leaving packet. Then, the IGMP / MLD packet analysis / transmission / reception unit 111 transmits the MR packet and the group leaving packet via the router unit 13.

本実施例によれば、元々の機能としてIGMP/MLD処理を行いマルチキャストグループ管理を行うIGMP/MLDプロキシ処理部とIGMP/MLDパケット解析/送受信部111とを一体化することができるので、IGMP/MLD処理部11aの実装を容易に行うことができる。   According to the present embodiment, the IGMP / MLD proxy processing unit that performs IGMP / MLD processing and performs multicast group management and the IGMP / MLD packet analysis / transmission / reception unit 111 can be integrated as an original function. The MLD processing unit 11a can be easily mounted.

なお、IGMP/MLDプロキシ処理部115は、マルチキャストルータ部であってもよい。   The IGMP / MLD proxy processing unit 115 may be a multicast router unit.

上記の第1の実施例および第2の実施例において、IGMP/MLD処理部11,11aは、L2スイッチ部12のMACアドレスラーニングテーブルにアクセス可能なコンピュータであって、IGMP/MLDクライアント管理DB部112とマルチキャストグループ管理DB部114を有するコンピュータによって実現されていてもよい。その場合、コンピュータが、予め記憶装置に記憶された中継プログラムを読み込み、その中継プログラムに従って、IGMP/MLDパケット解析/送受信部111およびマルチキャストアドレス管理部113としての動作を行ってもよい。   In the first and second embodiments, the IGMP / MLD processing units 11 and 11a are computers that can access the MAC address learning table of the L2 switch unit 12, and are IGMP / MLD client management DB units. 112 and a computer having the multicast group management DB unit 114 may be realized. In this case, the computer may read the relay program stored in the storage device in advance, and perform operations as the IGMP / MLD packet analysis / transmission / reception unit 111 and the multicast address management unit 113 according to the relay program.

なお、上記の実施例において、スイッチ部は、L2スイッチ部12によって実現され、制御部は、IGMP/MLD処理部11,11aによって実現される。クライアント管理データベース記憶手段は、IGMP/MLDクライアント管理DB部112によって実現され、マルチキャストグループ管理データベース記憶手段は、マルチキャストグループ管理DB部114によって実現される。登録手段は、ステップS4を実行するIGMP/MLDパケット解析/送受信部111によって実現される。問い合わせ手段は、ステップS6を実行するIGMP/MLDパケット解析/送受信部111によって実現される。離脱処理手段は、ステップS8を実行するIGMP/MLDパケット解析/送受信部111によって実現される。学習手段は、IGMP/MLDパケット解析/送受信部111によって実現される。   In the above embodiment, the switch unit is realized by the L2 switch unit 12, and the control unit is realized by the IGMP / MLD processing units 11 and 11a. The client management database storage unit is realized by the IGMP / MLD client management DB unit 112, and the multicast group management database storage unit is realized by the multicast group management DB unit 114. The registration means is realized by the IGMP / MLD packet analysis / transmission / reception unit 111 that executes Step S4. The inquiry means is realized by the IGMP / MLD packet analysis / transmission / reception unit 111 that executes step S6. The leaving processing means is realized by the IGMP / MLD packet analysis / transmission / reception unit 111 that executes Step S8. The learning means is realized by the IGMP / MLD packet analysis / transmission / reception unit 111.

また、上記の説明により、制御部は、グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮手段を有し、学習手段が、問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する構成が開示されている。   In addition, according to the above description, when there are a plurality of clients corresponding to the port that has received the group leaving packet, the control unit determines in advance the lifetime corresponding to the multicast group that is the target of the inquiry by the inquiry packet. Has a lifetime shortening means that shortens the requested time, and when the learning means receives the transmission request packet after transmitting the inquiry packet and before the shortened lifetime elapses, the learning means receives the transmission request packet. A configuration is disclosed in which the learned port is learned as a port that the client cannot leave at high speed.

また、制御部が、送信要求パケットを受信したときに、送信要求パケットを受信したポートと、送信要求パケットの送信元のクライアントとを対応付けてクライアント管理データベースに登録するクライアント登録手段を有する構成が開示されている。クライアント登録手段は、ステップS3を実行するIGMP/MLDパケット解析/送受信部111によって実現される。   In addition, when the control unit receives the transmission request packet, the control unit includes a client registration unit that associates the port that has received the transmission request packet with the client that is the transmission source of the transmission request packet and registers the client registration in the client management database. It is disclosed. The client registration means is realized by the IGMP / MLD packet analysis / transmission / reception unit 111 that executes Step S3.

また、問い合わせ手段が、問い合わせパケットをスイッチ部を介してクライアントに送信する構成が開示されている。   Further, a configuration is disclosed in which the inquiry means transmits an inquiry packet to a client via a switch unit.

また、IGMP/MLDプロキシ装置として用いられ、スイッチ部がクライアントから受信した送信要求パケットおよびグループ離脱パケットを制御部に送信するルータ部を備え、問い合わせ手段が、問い合わせパケットをルータ部およびスイッチ部を介してクライアントに送信する構成が開示されている。   Also, the router is used as an IGMP / MLD proxy device, and the switch unit includes a router unit that transmits a transmission request packet and a group leaving packet received from the client to the control unit, and the inquiry unit sends the inquiry packet via the router unit and the switch unit. A configuration for transmitting to a client is disclosed.

本発明は、マルチキャストルータ、IGMP/MLDプロキシ機能つきルータ、IGMP/MLDスヌーピング機能つきL2スイッチ等の、IGMP/MLD Querier機能を有する装置に好適に適用される。   The present invention is suitably applied to devices having an IGMP / MLD Query function, such as a multicast router, a router with an IGMP / MLD proxy function, and an L2 switch with an IGMP / MLD snooping function.

本発明の中継装置の例を示すブロック図である。It is a block diagram which shows the example of the relay apparatus of this invention. 図1に示した中継装置をより詳細に示すブロック図である。It is a block diagram which shows the relay apparatus shown in FIG. 1 in detail. マルチキャストグループ管理DBの例を示す説明図である。It is explanatory drawing which shows the example of multicast group management DB. IGMP/MLDクライアント管理DBの例を示す説明図である。It is explanatory drawing which shows the example of IGMP / MLD client management DB. IGMP/MLDパケット解析/送受信部111の動作の例を示す流れ図である。5 is a flowchart showing an example of operation of an IGMP / MLD packet analysis / transmission / reception unit 111. 本発明の第2の実施例の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Example of this invention. 一般的なIGMP/MLDスヌーピング装置の例を示す説明図である。It is explanatory drawing which shows the example of a general IGMP / MLD snooping apparatus.

符号の説明Explanation of symbols

1 IGMP/MLDスヌーピング装置(中継装置)
11 IGMP/MLD処理部
12 IGMP/MLDスヌーピング機能つきL2スイッチ部
111 IGMP/MLDパケット解析/送受信部
112 IGMP/MLDクライアント管理DB部
113 マルチキャストアドレス管理部
114 マルチキャストグループ管理DB部
1 IGMP / MLD snooping device (relay device)
11 IGMP / MLD processing unit 12 L2 switch unit with IGMP / MLD snooping function 111 IGMP / MLD packet analysis / transmission / reception unit 112 IGMP / MLD client management DB unit 113 multicast address management unit 114 multicast group management DB unit

Claims (6)

マルチキャストパケットを中継する中継装置であって、
マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、
マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、
制御部は、
マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、
マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段と、
マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録手段と、
マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ手段と、
グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定手段と、
グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理手段と、
問い合わせ手段がマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習手段と
グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮手段とを有し、
前記学習手段は、問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する
ことを特徴とする中継装置。
A relay device that relays multicast packets,
A plurality of ports to which clients that receive multicast packets are connected; a switch unit that holds a MAC address learning table that associates MAC addresses with ports; and
A control unit that transmits an inquiry packet for inquiring whether or not a multicast group that is a group of multicast packets has been received;
The control unit
Client management database storage means for storing a client management database in which a client that has requested transmission of a multicast group is associated with a port to which the client is connected;
Multicast group management database storing a multicast group management database in which a port to which a client that has requested transmission of a multicast group is connected, identification information of the multicast group, and a lifetime that is a time to wait for a response to an inquiry packet are associated with each other Storage means;
When a transmission request packet for requesting transmission of a multicast group is received, the port that has received the transmission request packet, identification information of the multicast group, and a lifetime determined for the multicast group are associated with each other in the multicast A registration unit that registers in the group management database and registers the multicast MAC address of the multicast group and the port that has received the transmission request packet in the MAC address learning table of the switch unit,
Inquiry means for sending an inquiry packet for inquiring whether or not the multicast group is received when a group leaving packet for requesting transmission stop of the multicast group is received;
Client number determination means for determining whether the number of clients corresponding to the port that has received the group leave packet is one or more when referring to the client management database when the group leave packet is received;
When the number of clients corresponding to the port that has received the group leave packet is one, an entry corresponding to the multicast group requested to stop transmission by the group leave packet is sent to the multicast group management database and the MAC address learning of the switch unit. Detachment processing means to be deleted from the table,
After sending an inquiry packet inquiring whether or not the inquiry means has received the multicast group, when the transmission request packet requesting transmission of the multicast group is received as a response to the inquiry packet, the transmission request packet is received. Learning means to learn the port as a port that the client cannot leave at high speed ,
A lifetime shortening means for shortening the lifetime corresponding to the multicast group to be inquired by the inquiry packet from a predetermined time when the number of clients corresponding to the port receiving the group leaving packet is plural; Have
When the learning means receives a transmission request packet after the inquiry packet is transmitted and before the shortened lifetime elapses, the learning means learns the port that has received the transmission request packet as a port that the client cannot leave at high speed. A relay device characterized by that.
制御部は、
送信要求パケットを受信したときに、送信要求パケットを受信したポートと、送信要求パケットの送信元のクライアントとを対応付けてクライアント管理データベースに登録するクライアント登録手段を有する
請求項1に記載の中継装置。
The control unit
The relay apparatus according to claim 1, further comprising: a client registration unit that registers a port that has received the transmission request packet and a client that has transmitted the transmission request packet in the client management database when the transmission request packet is received. .
問い合わせ手段は、問い合わせパケットをスイッチ部を介してクライアントに送信する請求項1または請求項2に記載の中継装置。 Inquiry means, a relay device according to claim 1 or claim 2 transmits the inquiry packet to the client via the switch unit. IGMP/MLDプロキシ装置として用いられ、
スイッチ部がクライアントから受信した送信要求パケットおよびグループ離脱パケットを制御部に送信するルータ部を備え、
問い合わせ手段は、問い合わせパケットをルータ部およびスイッチ部を介してクライアントに送信する
請求項1または請求項2に記載の中継装置。
Used as an IGMP / MLD proxy device,
The switch unit includes a router unit that transmits the transmission request packet and group leaving packet received from the client to the control unit,
Inquiry means, a relay device according to claim 1 or claim 2 to the client via the router and switch unit an inquiry packet.
マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、制御部が、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを有するマルチキャストパケットの中継装置に適用される中継方法であって、
マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録し、
マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信し、
グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定し、
グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除し、
グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮し、
マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを、短縮されたライフタイムが経過する前に受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する
ことを特徴とする中継方法。
A plurality of ports to which clients that receive multicast packets are connected are provided, a switch unit that holds a MAC address learning table that associates MAC addresses with ports, and whether a multicast group that is a group of multicast packets is received. A client management database storage unit that stores a client management database that associates a client that has requested transmission of a multicast group with a port to which the client is connected, and a control unit that transmits an inquiry packet for inquiry. , The port to which the client that requested the transmission of the multicast group is connected, the identification information of the multicast group, and the life time that is the time to wait for the response to the inquiry packet A relay method to be applied to the relay device of a multicast packet having a multicast group management database storage means for storing the multicast group management database that associates bets,
When a transmission request packet for requesting transmission of a multicast group is received, the port that has received the transmission request packet, identification information of the multicast group, and a lifetime determined for the multicast group are associated with each other in the multicast Registering in the group management database, associating the multicast MAC address of the multicast group with the port that received the transmission request packet, and registering it in the MAC address learning table of the switch unit,
When a group leaving packet requesting to stop transmission of a multicast group is received, an inquiry packet for inquiring whether or not the multicast group is received is transmitted,
When receiving a group leave packet, refer to the client management database to determine whether the number of clients corresponding to the port that received the group leave packet is one or more,
When the number of clients corresponding to the port that has received the group leave packet is one, an entry corresponding to the multicast group requested to stop transmission by the group leave packet is sent to the multicast group management database and the MAC address learning of the switch unit. Delete from the table and
When the number of clients corresponding to the port that received the group leaving packet is plural, the lifetime corresponding to the multicast group that is the inquiry target by the inquiry packet is shortened from a predetermined time,
When a transmission request packet requesting transmission of the multicast group is received as a response to the inquiry packet after transmitting an inquiry packet asking whether or not the multicast group is received before the shortened lifetime elapses In addition, the relay method is characterized in that the port that received the transmission request packet is learned as a port that the client cannot leave at high speed.
マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部のMACアドレスラーニングテーブルにアクセス可能であり、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを備えたコンピュータに搭載される中継プログラムであって、
コンピュータに、
マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録処理、
マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ処理、
グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定処理、
グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理
グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮処理、および
マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを、短縮されたライフタイムが経過する前に受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習処理
を実行させるための中継プログラム。
Multiple ports to which clients that receive multicast packets are connected are provided, and it is possible to access the MAC address learning table of the switch unit that holds the MAC address learning table that associates the MAC address with the port, and requested transmission of the multicast group Client management database storage means for storing a client management database in which a client is associated with a port to which the client is connected; a port to which a client that has requested transmission of a multicast group is connected; identification information for the multicast group; Multicast group management data for storing a multicast group management database in association with a lifetime that is a time to wait for a response to an inquiry packet A relay program installed on a computer with an over scan memory means,
On the computer,
When a transmission request packet for requesting transmission of a multicast group is received, the port that has received the transmission request packet, identification information of the multicast group, and a lifetime determined for the multicast group are associated with each other in the multicast A registration process for registering in the group management database and associating the multicast MAC address of the multicast group with the port that received the transmission request packet in the MAC address learning table of the switch unit,
An inquiry process for transmitting an inquiry packet for inquiring whether or not the multicast group is received when a group leaving packet requesting to stop transmission of the multicast group is received;
A client number determination process for determining whether the number of clients corresponding to the port that has received the group leave packet is one or more when referring to the client management database when the group leave packet is received;
When the number of clients corresponding to the port that has received the group leave packet is one, an entry corresponding to the multicast group requested to stop transmission by the group leave packet is sent to the multicast group management database and the MAC address learning of the switch unit. Leave processing to be deleted from the table ,
Lifetime shortening processing for shortening the lifetime corresponding to the multicast group to be inquired by the inquiry packet from a predetermined time when the number of clients corresponding to the port receiving the group leaving packet is plural, and after transmitting an inquiry packet for inquiring whether it is receiving a multicast group, as a response to the inquiry packet, the transmission request packet requesting transmission of the multicast group and received before shortened lifetime has elapsed Sometimes, a relay program for executing learning processing that learns the port that received the transmission request packet as a port that the client cannot leave at high speed.
JP2007159980A 2007-06-18 2007-06-18 Relay device, relay method, and relay program Expired - Fee Related JP4775716B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007159980A JP4775716B2 (en) 2007-06-18 2007-06-18 Relay device, relay method, and relay program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007159980A JP4775716B2 (en) 2007-06-18 2007-06-18 Relay device, relay method, and relay program

Publications (2)

Publication Number Publication Date
JP2008312095A JP2008312095A (en) 2008-12-25
JP4775716B2 true JP4775716B2 (en) 2011-09-21

Family

ID=40239256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007159980A Expired - Fee Related JP4775716B2 (en) 2007-06-18 2007-06-18 Relay device, relay method, and relay program

Country Status (1)

Country Link
JP (1) JP4775716B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233083A (en) * 2009-03-27 2010-10-14 Toshiba Corp Network address management device, network address management method and network relay apparatus
CN102143033B (en) * 2010-02-02 2014-07-30 杭州华三通信技术有限公司 Method and equipment for controlling multicast flow
JP6993883B2 (en) * 2018-01-12 2022-01-14 アラクサラネットワークス株式会社 Multicast relay device, multicast relay system and multicast relay method
JP7359586B2 (en) 2019-07-25 2023-10-11 アズビル株式会社 Address management device and address management method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142764B (en) * 2005-03-14 2013-03-27 三菱电机株式会社 Layer-two mobility network

Also Published As

Publication number Publication date
JP2008312095A (en) 2008-12-25

Similar Documents

Publication Publication Date Title
US10084895B2 (en) Hitless pruning protocol upgrade on single supervisor network devices
EP1715628B1 (en) A method for realizing the multicast service
JP3644009B2 (en) Multicast session management device
US8539088B2 (en) Session monitoring method, apparatus, and system based on multicast technologies
JP3888209B2 (en) Multicast communication apparatus and system
US20060176804A1 (en) Data transfer apparatus and multicast system
US20040100983A1 (en) Packet forwarding equipment
US20010018714A1 (en) Multicast packet transferring apparatus, multicast packet transferring system and storage medium used in same
JP5653912B2 (en) Method and apparatus for multicast group management
JP2013543687A (en) Multicast branch, protocol independent multicast router, and pruning method for layer 2 switch
CA2287195A1 (en) System, device, and method for managing multicast group memberships in a multicast network
JP4775716B2 (en) Relay device, relay method, and relay program
JP4463277B2 (en) Service relay inter-subnet multicast-A cross-subnet multicast solution independent of the network infrastructure
JP4141304B2 (en) Communication method, receiving terminal, L2 switch and L3 switch in multicast communication network
US7920577B2 (en) Power saving in wireless packet based networks
KR101517380B1 (en) Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process
US20030039215A1 (en) Method and apparatus for dynamically discovering alias domains
JP2006324981A (en) Multicast packet transfer system
JP4527523B2 (en) Server selection method, server selection method, server, and client terminal
JP6467373B2 (en) Communication channel control device, communication channel control method, and communication channel control program
EP2164203A1 (en) Message transmission method, device and system for implementing multicast services
US7716363B1 (en) Method and apparatus of providing zero configuration single source multicasting reporting
US20080198771A1 (en) Method, Apparatus or Software for a Multicast Network for Providing Indications of Active Multicast Groups to one or more Multicast Receivers
US20230318969A1 (en) Optimizing network load in multicast communications
JP4361446B2 (en) Multicast control method, multicast area management device, multicast control device, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110616

R150 Certificate of patent or registration of utility model

Ref document number: 4775716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees