WO2005004419A1 - 通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法 - Google Patents

通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法 Download PDF

Info

Publication number
WO2005004419A1
WO2005004419A1 PCT/JP2004/009663 JP2004009663W WO2005004419A1 WO 2005004419 A1 WO2005004419 A1 WO 2005004419A1 JP 2004009663 W JP2004009663 W JP 2004009663W WO 2005004419 A1 WO2005004419 A1 WO 2005004419A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
multicast
message
unit
transfer
Prior art date
Application number
PCT/JP2004/009663
Other languages
English (en)
French (fr)
Inventor
Ken Igarashi
So Ishida
Harunobu Fukazawa
Original Assignee
Ntt Docomo, Inc.
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
Priority claimed from JP2003193232A external-priority patent/JP4474124B2/ja
Priority claimed from JP2004024871A external-priority patent/JP4481666B2/ja
Application filed by Ntt Docomo, Inc. filed Critical Ntt Docomo, Inc.
Priority to US10/563,751 priority Critical patent/US7620045B2/en
Priority to CN2004800195413A priority patent/CN1820467B/zh
Priority to EP04747132A priority patent/EP1667381A4/en
Publication of WO2005004419A1 publication Critical patent/WO2005004419A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Definitions

  • the present invention relates to a communication system, a multicast-capable router, a transmitting terminal, a receiving terminal, and a communication method.
  • PIM-SM Multicast-Sparse Mode
  • MIP-BT Mobile IP Bi-Directional Tunneling
  • a transmitting terminal that transmits a multicast packet moves and its address changes.
  • the transmitting terminal that has moved to a foreign network (Foreign Network) transfers the transmitted multicast packets via a home agent (Home Agent) to maintain communication.
  • Home Agent Home Agent
  • multicast packets can be transferred unless all routers are multicast-compatible routers that support multicast protocol. Did not. That is, in the conventional communication system, when a multicast-capable router and a non-multicast-capable router that do not support the multicast protocol coexist, the multicast packet cannot be transferred.
  • an object of the present invention is to set an appropriate multicast tree and transfer multicast packets even if a non-multicast-capable router exists in the communication system.
  • the communication system of the present invention includes a multicast-capable router and a transmission terminal.
  • the multicast-capable router includes a transfer destination holding unit that holds a transfer destination address to which the multicast-capable router transfers the multicast packet, and a transfer destination address of another multicast-capable router as a transfer destination address in association with the transmission terminal address and the multicast group address.
  • a transfer destination registration unit for registering an address in the transfer destination holding unit, and a join request message requesting that the address of the multicast-capable router be added to the destination address to which the sending terminal transmits the multicast packet to the sending terminal address.
  • the transmitting terminal includes a destination holding unit that holds the destination address, and a destination registering unit that registers the address of the multicast-capable router in the destination holding unit as the destination address based on the participation request message. Including.
  • the transfer destination address is an address to which a multicast-capable router transfers a multicast packet.
  • the destination address is the address where the transmitting terminal transmits the multicast packet.
  • the transmitting terminal address is the address of the transmitting terminal.
  • the multicast group address is an address indicating a multicast group.
  • an address of another multicast-capable router is registered as a transfer destination address in a transfer destination holding unit that holds a transfer destination address in association with a transmission terminal address and a multicast group address;
  • a join request message requesting that the address of the multicast-capable router be added to the destination address is sent to the sending terminal address.
  • the transmitting terminal registers the address of the multicast-capable router as a destination address in a destination holding unit that holds the destination address.
  • a multicast-capable router is
  • the router address can be stored.
  • the sending terminal is The address of the multicast-capable router can be held as the destination address. Therefore, an appropriate multicast tree in which the multicast packet is transferred from the transmitting terminal to the receiving terminal via the multicast-capable router is set.
  • a non-multicast-capable router existing between a transmitting terminal and a multicast-capable router or between multicast-capable routers only needs to transfer multicast packets by unicast.
  • the communication system can set up an appropriate multicast tree and transfer multicast packets even if there is a non-multicast-capable router.
  • UMP Unicast Extension Multicast Protocol
  • FIG. 1 is a diagram showing a configuration of a communication system according to a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a UR according to the first embodiment of the present invention.
  • FIG. 3 is a diagram showing an entry holding unit of a UR according to the first embodiment of the present invention.
  • FIG. 4 is a block diagram showing a configuration of a transmitting terminal according to the first embodiment of the present invention.
  • FIG. 5 is a diagram showing an entry holding unit of the transmitting terminal according to the first embodiment of the present invention.
  • FIG. 6 is a flowchart showing an operation procedure when a UR receives a packet according to the first embodiment of the present invention.
  • FIG. 7 is a flowchart showing a procedure of processing a multicast packet performed by the UR according to the first embodiment of the present invention.
  • FIG. 8 is a flowchart showing a Join message processing procedure performed by a UR according to the first embodiment of the present invention.
  • FIG. 9 is a flowchart showing a procedure of processing a Prune message performed by the UR according to the first embodiment of the present invention.
  • FIG. 10 is a sequence diagram showing a procedure when a transmission of a multicast packet is requested by the receiving terminal according to the first embodiment of the present invention.
  • FIG. 11 is a diagram showing a communication system when a transmission of a multicast packet is requested by the receiving terminal according to the first embodiment of the present invention.
  • FIG. 12 is a sequence diagram showing a multicast packet transfer procedure according to the first embodiment of the present invention.
  • FIG. 13 is a diagram showing transfer of a multicast packet according to the first embodiment of the present invention.
  • FIG. 14 is a sequence diagram showing a procedure for a receiving terminal to participate in a multicast tree according to the first embodiment of the present invention.
  • FIG. 15 is a diagram showing participation of a receiving terminal in a multicast tree according to the first embodiment of the present invention.
  • FIG. 16 is a diagram showing transfer of a multicast packet according to a newly set multicast tree according to the first embodiment of the present invention.
  • FIG. 17 is a diagram showing transfer of a multicast packet in a state where a plurality of receiving terminals are participating in a multicast tree according to the first embodiment of the present invention.
  • FIG. 18 is a diagram showing a communication system when a multicast tree according to the first embodiment of the present invention has transitioned to a stable state.
  • FIG. 19 is a flowchart showing a procedure for leaving a multicast tree according to the first embodiment of the present invention.
  • FIG. 20 is a diagram showing a communication system at the time of leaving a multicast tree according to the first embodiment of the present invention.
  • FIG. 21 is a diagram showing transfer of a multicast packet after leaving according to the first embodiment of the present invention.
  • FIG. 22 is a diagram showing a configuration of a communication system according to a second exemplary embodiment of the present invention.
  • FIG. 23 is a sequence diagram showing a procedure for a receiving terminal to participate in a multicast tree according to the second embodiment of the present invention.
  • FIG. 24 shows how a receiving terminal according to the second embodiment of the present invention participates in a multicast tree.
  • FIG. 25 is a diagram showing transfer of a multicast packet according to a newly set multicast tree according to the second embodiment of the present invention.
  • FIG. 26 is a sequence diagram showing a procedure for a receiving terminal to participate in a multicast tree according to the third embodiment of the present invention.
  • FIG. 27 is a diagram showing participation of a receiving terminal in a multicast tree according to the third embodiment of the present invention.
  • FIG. 28 is a diagram showing transfer of a multicast packet according to a newly set multicast tree according to the third embodiment of the present invention.
  • FIG. 29 is a diagram showing an operation in the communication system when the transmitting terminal according to the fourth embodiment of the present invention moves.
  • FIG. 30 is a diagram showing a communication system according to a fifth embodiment of the present invention.
  • FIG. 31 is a diagram showing processing in an initial state of a multicast tree according to a fifth embodiment of the present invention.
  • FIG. 32 is a diagram showing participation of a receiving terminal in an initial state of a multicast tree according to the fifth embodiment of the present invention.
  • FIG. 33 is a diagram showing a process in a stable state of the multicast tree according to the fifth embodiment of the present invention.
  • FIG. 34 is a diagram showing participation of receiving terminals in a stable state of the multicast tree according to the fifth embodiment of the present invention.
  • FIG. 35 is a flowchart showing a processing procedure at the time of receiving a Join message according to the fifth embodiment of the present invention.
  • FIG. 36 is a flowchart showing a processing procedure at the time of receiving a Prune message according to the fifth embodiment of the present invention.
  • FIG. 37 is a sequence diagram showing a multicast packet transfer procedure according to a fifth embodiment of the present invention.
  • FIG. 38 is a diagram showing a state immediately after the transmission terminal of the communication system according to the sixth embodiment of the present invention has moved.
  • FIG. 39 is a block diagram showing a configuration of a receiving terminal according to a sixth embodiment of the present invention.
  • FIG. 40 is a diagram showing an entry holding unit of the receiving terminal according to the sixth embodiment of the present invention.
  • FIG. 41 is a diagram illustrating a state in which multicast trees coexist before and after a transmission terminal address change according to a sixth embodiment of the present invention.
  • FIG. 42 is a diagram showing a state where only the multicast library after the transmission terminal address is changed is maintained according to the sixth embodiment of the present invention.
  • FIG. 43 is a flowchart showing an UR operation procedure according to the sixth embodiment of the present invention.
  • FIG. 44 is a flowchart showing an operation procedure of the receiving terminal according to the sixth embodiment of the present invention.
  • the communication system 1 includes a transmitting terminal 10, a plurality of UMP routers (UMP Routers, hereinafter referred to as "UR") 20a to 20h, and a plurality of non-UMP routers (Non-UMP Routers, hereinafter). 30a to 30f, and a plurality of receiving terminals 40a to 40d.
  • the transmitting terminal 10, UR20a-20h, and NR30a-30f are hierarchically connected.
  • the transmitting terminal 10 is arranged at the most upstream, and the UR 20f 20h and the NR 30d 30f are arranged at the most downstream.
  • the transmitting terminal 10 is provided with a transmitting terminal address "S". Addresses “R1”, “R2”, “R3”, and “R4” are assigned to the receiving terminals 40a, 40b, 40c, and 40d, respectively. UR20a, 20b, 20c, 20d, 20e, 20f, 20g, 20h have addresses UR1, UR2, UR3, UR4, UR5, UR6, UR7, and UR8, respectively. Is given. Addresses “NR1,” “NR2,” “NR3,” “NR4,” and “NR5” are assigned to the NRs 30a, 3 Ob, 30c, 30d, 30e, 30f, and 30g, respectively. Note that the communication system 1 may use IPv4 which uses IPv6.
  • the transmitting terminal 10 transfers the multicast packet to the destination address.
  • the receiving terminals 40a and 40d receive the multicast packet.
  • the UR 20a-20h and the NR 30a-30f send the multicast to the transfer destination address according to the multicast packet transfer path set between the transmitting terminal 10 and the receiving terminals 40a-40d (hereinafter referred to as "multicast tree"). Forward the packet.
  • the UR 20a-20e can act as a branching nolator for forwarding multicast packets to multiple forwarding addresses.
  • the receiving terminals 40a-40d and UR20f, 20g, 20h, NR30d, 30e, 30f perform wireless communication.
  • the transmitting terminal 10, the URs 20a-20h, and the receiving terminals 40a 40d set a multicast tree.
  • the configuration of the UR will be described using the UR20a as an example.
  • the UR2 Oa includes an entry holding unit 21a, a receiving unit 22, a transfer unit 23, a transfer control unit 24, a message processing unit 25, and a message providing unit 26.
  • UR20b-20h has the same configuration as UR20a.
  • the receiving unit 22 receives the transmitting terminal 10, other URs and NRs, the receiving terminals 40a and 40d, and other multicast packets and control messages.
  • the multicast packet includes data from the transmitting terminal 10.
  • a multicast packet is encapsulated and transmitted between the transmitting terminal and the UR, and between the URs.
  • the control message is a message related to the control of the multicast tree, such as setting, maintaining, and changing the multicast tree.
  • a Join message In the control message, a Join message, a Membership Report, and a Stable option are set.
  • a Join message (hereinafter, referred to as a "Stable Join message”), and a Membership Report with the Stable option set (hereinafter, referred to as a "Stable Membership Report”).
  • Prune message 1 ⁇ Leave roup message, Redirect message 1 ⁇ , Bmamg Update message (hereinafter referred to as "BU message”), Location Update message (hereinafter referred to as "LU message”), etc.
  • BU message Bmamg Update message
  • LU message Location Update message
  • the Join message or Membership Report is a join request message requesting that the transmitting terminal 10 add an address to the destination address to which the multicast packet is transmitted or the UR 20a 20h to the destination address to which the multicast packet is transferred. is there. That is, the participation request message is a control message requesting the transmitting terminal 10 to transmit a multicast packet.
  • the multicast tree has an initial state and a stable state. The multicast tree transitions from an initial state to a stable state. When the number of newly joining receiving terminals decreases, the multicast tree is judged to have shifted to a stable state.
  • the Join message and Members Hip Report will be a maintenance request message for maintaining the multicast tree transmitted in the initial state of the multicast tree.
  • the Stable Join message and the Staple Membership Report are maintenance request messages for maintaining the multicast tree transmitted after the multicast tree has transitioned to the stable state.
  • the Prune message and the Leave Group message are leave request messages requesting to leave the multicast tree.
  • the UR20a 20h and the receiving terminals 40a-40d transmit the Join message and the Prune message.
  • the Membership Report and Leave Group messages are transmitted by the receiving terminals 40a to 40d.
  • the Redirect message is a join / withdrawal request message requesting that an address be added to a destination address or a transfer destination address, and that the address be deleted from the destination address or the transfer destination address.
  • the Redirect message includes a Join message and a Prune message.
  • the Ridirect message includes an address requesting addition to the transfer destination address or the transmission destination address, and an address requesting deletion from the transfer destination address or the transmission destination address.
  • the BU message is a change notification message for notifying the destination address of the change of the transmission terminal address when the transmission terminal address is changed.
  • the LU message is a location update message that notifies the receiving terminal of the changed transmitting terminal address when the transmitting terminal address is changed. For example, when the sending terminal address is changed due to movement of the sending terminal 10, the LU message notifies the receiving terminal by associating the sending terminal address before the change with the changed sending terminal address, and notifies the receiving terminal. Notification of the move.
  • the sending terminal adds the LU message to a multicast packet that can be sent by itself and transfers it.
  • Receiving section 22 determines whether the message is a control message or a multicast packet based on an option of the header.
  • the receiving unit 22 transmits the control message to the message processing unit 25. To enter.
  • the receiving unit 22 inputs the multicast packet to the transfer control unit 24. At this time, if the multicast packet is encapsulated, the receiving unit 22 converts the multicast packet into a deep cell and inputs the extracted multicast packet. Note that the receiving unit 22 inputs a packet not addressed to the UR 20a itself to the transfer unit 23 as it is.
  • the transfer unit 23 transfers the control message to the transmitting terminal 10, other URs and NRs, and the receiving terminals 40a and 40d.
  • the transfer unit 23 transfers the multicast packet to another UR, NR, or receiving terminal 40a 40d.
  • the transfer unit 23 obtains a multicast packet from the reception unit 22 or the transfer control unit 24.
  • the transfer unit 23 acquires a control message from the message processing unit 25 and the message providing unit 26.
  • the entry holding unit 21a is a transfer destination holding unit that holds a transfer destination address. As shown in FIG. 3, the entry holding unit 21a stores a transfer destination address, a KAT (Keep Alive Timer) in association with a table type, a transmission terminal address, a multicast address, a tunnel source address, and a previous tunnel source address. ), JT (Join Timer) is held.
  • KAT Keep Alive Timer
  • JT Join Timer
  • the table types include a multicast control table (Multicast Control Table, hereinafter referred to as "MCT”) and a multicast forwarding table (Multicast Forwarding Table, hereinafter referred to as "MFT").
  • MCT Multicast Control Table
  • MFT Multicast Forwarding Table
  • the transmitting terminal address may be changed due to the movement of the transmitting terminal 10 or the like. Therefore, the entry holding unit 21a can hold the MCT entry or MFT entry of the current transmitting terminal address at the current position of the transmitting terminal 10, and the MCT entry or MFT entry of the transmitting terminal address before the change.
  • a multicast tree or a multicast packet can specify which multicast group from which transmitting terminal 10 relates to which multicast group by the combination of the transmitting terminal address and the multicast group address.
  • a multicast group to which the transmitting terminal 10 forwards the multicast packet is assigned a multicast group address “G”.
  • the entry holding unit 21a associates the transmission terminal address with the multicast gnope address. Attach and hold.
  • the entry held by the entry holding unit 21a can be specified by a combination of the transmission terminal address and the multicast group address.
  • the entry holding unit 21a holds an entry regarding the multicast stream in which the UR 20a is participating. I do.
  • the tunnel source address is a source address used for encapsulating a multicast packet received by the UR. Therefore, for example, the tunnel source address registered in the entry holding unit 21a of the UR 20a is the transmission terminal address “S”.
  • the previous tunnel source address is the tunnel source address before the change when the tunnel source address is changed.
  • the transfer destination address is an address indicating a transfer destination to which the UR transfers the multicast packet.
  • KAT is a timer value for measuring a holding time of a transfer destination address or a transmission destination address.
  • the KAT is held in association with the transfer destination address.
  • the holding time is a time during which the transmitting terminal 10 or the UR 20a-20f holds the transfer destination address or the transmission destination address.
  • KAT (UR3) indicates the KAT of the transfer destination address “UR3”
  • KAT (UR2) indicates the KAT of the transfer destination address “UR2”.
  • the transfer destination address whose KAT has expired is deleted from the entry holding unit 21a.
  • JT is a timer value that measures the time until the start of transmitting the Join message.
  • a Join message is sent upon expiration of JT.
  • JT will be restarted upon expiration of JT.
  • JT is held in association with the transmitting terminal address and the multicast gnorape address. If the table type is MCT, it is not necessary to hold the tunnel source address, previous tunnel source address, and JT.
  • the transfer control unit 24 controls the transfer of the multicast packet based on the transfer destination address. Specifically, the transfer control unit 24 acquires a multicast packet from the receiving unit 22. The transfer control unit 24 searches the entry holding unit 21a and obtains a transfer destination address associated with the transmission terminal address and the multicast group address included in the obtained multicast packet.
  • the transfer control unit 24 sets the entry holding unit 21a to Refer to and duplicate the multicast packet so that the multicast packet has the number of forwarding addresses. It should be noted that the transfer control unit 24 does not need to perform duplication when there are several transfer destination addresses.
  • the transfer control unit 24 compares the destination address of the decapsulated multicast packet with the transfer destination address held by the entry holding unit 21a, and when the destination address and the transfer destination address are different, The multicast packet is encapsulated at the destination address. Specifically, the transfer control unit 24 sets the transfer destination address acquired from the entry holding unit 21a as the destination address, sets the address of the UR 20a itself as the source address, and encapsulates the multicast packet. . The transfer control unit 24 inputs the encapsulated multicast bucket to the transfer unit 23.
  • the transfer control unit 24 can perform encapsulation using, for example, an encapsulation technique indicated in “IP in IP Tunneling” (RFC1853) or “Generic Packet Tunneling in Ipv6 Specification J (RFC2473)”.
  • the transfer control unit 24 compares the destination address of the decapsulated multicast packet with the transfer destination address held by the entry holding unit 21a, and when the transfer destination address is the same as the destination address, Then, the multicast packet is directly input to the transfer unit 23.
  • the message processing unit 25 processes the control message.
  • the message processing unit 25 functions as a transfer destination registration unit that registers the address of another multicast-capable router (UR) in the transfer destination holding unit as a transfer destination address in association with the transmission terminal address and the multicast group address.
  • the message processing unit 25 acquires the control message received by the UR 20a from the receiving unit 22.
  • the message processing unit 25 registers the information in the entry holding unit 21a based on the type of the control message, the destination address and the source address of the control message, and the information held by the entry holding unit 21a. Update or delete the information that is retained.
  • the message processing unit 25 When registering a new transfer destination address, the message processing unit 25 generates an MFT entry or an MCT entry. Specifically, the message processing unit 25 sets MFT or MCT as the table type of the entry holding unit 21a, and generates an MFT entry or an MCT entry for each transmission terminal address and multicast group address. For example, the message processing unit 25 sends a message to the transmitting terminal that is newly received by the UR 20a and specified by the join message. Generate MFT entry or MCT entry for each address and multicast group address. The MFT entry or MCT entry generated in this way functions as an MFT or MCT.
  • the message processing unit 25 registers the generated MFT entry in association with the transmission terminal address, the multicast group address, the tunnel source address, the previous tunnel source address, the transfer destination address, KAT, and JT.
  • the message processing unit 25 registers the generated MCT entry in association with the transmission terminal address, the multicast group address, the transfer destination address, and ⁇ .
  • the message processing unit 25 inputs the received control message to the message providing unit 26.
  • the message providing unit 26 generates a control message and provides it to the transmitting terminal 10 and other URs.
  • the message providing unit 26 functions as a router message providing unit that provides a participation request message requesting that the address of the multicast-capable router be added to the transmission destination address to the transmission terminal address.
  • the message providing unit 26 acquires the control message received by the UR 20a from the message processing unit 25.
  • the message providing unit 26 generates a control message based on the acquired control message and the information held by the entry holding unit 2la.
  • the message providing unit 26 inputs the generated control message to the transfer unit 23, and provides the control message to the transmission terminal 10 and other URs via the transfer unit 23.
  • the transmitting terminal 10 includes an entry holding unit 11, a receiving unit 12, a transmitting unit 13, a message processing unit 14, and a packet generating unit 15.
  • the receiving unit 12 receives a control message from the UR 20a 20h.
  • the receiving unit 12 inputs the received control message to the message processing unit 14.
  • the entry holding unit 11 is a destination holding unit that holds a destination address. As shown in FIG. 5, the entry holding unit 11 holds a destination address and a KAT in association with a table type, a transmission terminal address, and a multicast group address. Since the transmitting terminal 10 does not use anything other than the MFT, “MFT” is set in the table type.
  • the destination address is This is the address to which the transmitting terminal 10 transmits the multicast packet.
  • the destination address held by the transmitting terminal 10 is the address of the multicast-capable router (UR address) or the address of the receiving terminal.
  • KAT indicates the KAT of the destination address “UR1”.
  • the transmitting terminal address may be changed due to the movement of the transmitting terminal 10 or the like. Therefore, the entry holding unit 11 can hold the MFT entry of the current transmitting terminal address at the current position of the transmitting terminal 10 and the MFT entry of the transmitting terminal address before the change.
  • the message processing unit 14 processes the control message.
  • the message processing unit 14 functions as a destination registration unit that registers the address of the multicast-capable router (UR) as a destination address in the destination holding unit based on the participation request message.
  • the message processing unit 14 acquires the control message received by the transmitting terminal 10 from the receiving unit 12.
  • the message processing unit 14 registers information in the entry holding unit 11 and updates information held in the entry holding unit 11 based on the type of the control message, the source address of the control message, and the information held by the entry holding unit 11. And delete.
  • Message processing unit 14 sets MFT as the table type of entry holding unit 11, and generates an MFT entry for each transmission terminal address and multicast group address. For example, the message processing unit 14 generates an MFT entry for each transmission terminal address and multicast group address newly received by the transmission terminal 10 specified by a Join message or a Redirect message. The message processing unit 14 registers the generated MFT entry in association with the transmission terminal address, the multicast group address, the transmission destination address, and the KAT.
  • the packet generation unit 15 generates a multicast packet including data.
  • the packet generator 15 generates a control message such as a BU message or an LU message, or a multicast packet to which an LU message is added, as necessary.
  • the packet generator 15 generates a multicast packet based on the destination address.
  • the packet generation unit 15 acquires the transmission destination address from the entry holding unit 11. Further, the packet generation unit 15 obtains data based on an input from the application unit or an external input.
  • the packet generation unit 15 adds a transmission terminal address as a transmission source address, Generate a multicast packet with the multicast group address added as the destination address.
  • the packet generation unit 15 refers to the entry holding unit 11 and copies the generated multicast packet so that the number of the multicast packet is equal to the number of destination addresses. Note that the packet generation unit 15 does not need to perform duplication when the number of destination addresses is one.
  • the packet generation unit 15 sets the transmission terminal address as the transmission source address, sets the transmission destination address as the destination address, and encapsulates the multicast packet.
  • the packet generator 15 inputs the encapsulated multicast packet to the transmitter 13.
  • Transmitting section 13 transmits a multicast packet or a control message to UR 20a 20h or NR 30a-30f, and to receiving terminals 40a-40d.
  • the transmitting unit 13 obtains the encapsulated multicast packet from the packet generating unit 15 and obtains a control message from the message processing unit 14.
  • Figure 6 shows the operation procedure when receiving a packet.
  • the receiving unit 22 of the UR 20a-20h receives a packet from an adjacent UR or NR (S101).
  • the receiving unit 22 determines whether a special option is set in the received packet (S102).
  • the Hop-by-Hop option specified in RFC2460 can be used.
  • the Router Alert option specified in RFC2113 can be used. This allows the URs 20a-20h to notify other URs and the transmitting terminal 10 that the packet is a special control message.
  • data indicating that the message should not be discarded even if the option cannot be interpreted For example, in the case of the Hop_by_Hop option, an option that starts with the option type starting with "00" is added. Can be added.
  • step (S102) if no special option is set, the receiving unit 22 determines whether the destination address of the packet is the UR itself (S103). On the other hand, in the case of a control message in which a special option is set in step (S102), the receiving unit 22 inputs the control message to the message processing unit 25 (S108).
  • step (SI03) if the destination address of the packet is not the UR itself, the receiving unit 22 inputs the packet to the transfer unit 23 (S104). On the other hand, if the destination address of the packet is the UR itself in step (S103), the receiving unit 22 determines whether the packet is encapsulated (S105). If the packet is encapsulated, the receiving unit 22 decapsulates and extracts the packet (S106).
  • the receiving unit 22 determines whether the received packet itself or a packet extracted by decapsulation is a multicast packet or a control message (S107). If the packet is a multicast packet in step (SI07), the receiving unit 22 inputs the multicast packet to the transfer control unit 24 (S108). On the other hand, if the packet is determined to be a control message in step (S107), the receiving unit 22 inputs the control message to the message processing unit 25 (S109).
  • UR20a-20h repeats the procedure shown in Fig. 6 every time it receives a packet.
  • FIG. 7 shows a processing procedure when the UR 20a receives a multicast packet.
  • the receiving unit 22 receives the multicast packet (S201).
  • the receiving unit 22 decapsulates the encapsulated multicast packet.
  • the receiving unit 22 inputs the extracted multicast packet and the source address set in the encapsulated multicast packet to the transfer control unit 24.
  • the transfer control unit 24 sets the source address of the encapsulated multicast packet as the tunnel source address of the entry holding unit 21a (S202).
  • step (S202) when the tunnel source address is different from the already set tunnel source address, the transfer control unit 24 stores the already set tunnel source address in the previous tunnel of the entry holding unit 21a. You may set it to the original address. According to this, when the receiving unit 22 subsequently receives a multicast packet from the previous tunnel source address, the message providing unit 26 explicitly transmits a Prune message to the previous tunnel source address. By doing so, duplicate reception of multicast packets can be prevented.
  • the transfer control unit 24 searches the entry holding unit 21a and determines whether or not there is an entry including the transmission terminal address “S” and the multicast group address “G” included in the multicast packet acquired from the reception unit 22 (S203).
  • the transfer control unit 24 determines whether or not the destination address of the multicast packet is included in the transfer destination address of the entry (S204). If the destination address is not included in the transfer destination address, the transfer control unit 24 stably checks the multicast tree specified by the transmission terminal address “S” and the multicast group address “G” included in the multicast packet. It is determined whether or not (S205).
  • the transfer control unit 24 determines whether or not there are a plurality of transfer destination addresses in the entry including the transmission terminal address “S” and the multicast group address “G” of the entry holding unit 21a. Is determined (S206). If there is no plurality of transfer destination addresses, the transfer control unit 24 instructs the message providing unit 26 to generate a Redirect message.
  • the message providing unit 26 generates a Redirect message for the tunnel source address of the multicast packet, and transmits the message to the transfer unit 23 (S207).
  • the Redirect message includes a Prune message requesting that the UR receiving the multicast packet leave itself, and a Join message requesting that the UR join the transfer destination address held in the entry holding unit 21a.
  • the transfer control unit 24 encapsulates the multicast packet with the transfer destination address. (S208). At this time, the transfer control unit 24 duplicates the multicast packet so as to have the number of transfer destination addresses, and encapsulates each multicast packet using the transfer destination address. The transfer control unit 24 inputs the encapsulated multicast packet to the transfer unit 23. Then, the transfer unit 23 transfers the multicast packet based on the destination address (S209).
  • step (S204) when the destination address is included in the transfer destination address, the transfer control unit 24 inputs the received multicast packet to the transfer unit 23 as it is. Then, the transfer unit 23 converts the received multicast packet based on the destination address. It is transferred as it is (S209). In this way, the transfer control unit 24 controls the transfer of the multicast packet based on the transfer destination address by performing encapsulation using the transfer destination address. On the other hand, if there is no entry in step (S203), the transfer control unit 24 discards the acquired multicast packet (S210).
  • FIG. 8 and FIG. 9 show a processing procedure when the UR 20a 20h receives a control message.
  • FIG. 8 shows the case of the control message 3 ⁇ 4oin message.
  • the receiving unit 22 receives the Join message and inputs it to the message processing unit 25 (S301).
  • the message processing unit 25 searches the entry holding unit 21a and determines whether or not there is an entry including the transmission terminal address “S” and the multicast group address “G” included in the obtained and obtained oin message (S302). If an entry exists, the message processing unit 25 determines whether there is a plurality of transfer destination addresses in the entry including the transmission terminal address “S” and the multicast group address “G” in the entry holding unit 21a. (S303).
  • the message processing unit 25 determines whether the transfer destination address includes the source address of the Join message (S304). When determining that the message is included, the message processing unit 25 determines whether or not the received oin message is a Stable Join message with the Stable option set (S305). When determining that the Stable option is set, the message processing unit 25 inputs the received ⁇ Join message to the transfer unit 23. The transfer unit 23 transfers the received ⁇ Join message as it is upstream (S306).
  • (S304) if the message processing unit 25 determines that the transfer destination address of the MFT entry does not include the source address of the Join message, the MFT held by the entry holding unit 21a The source address is added to the transfer destination address of the entry (S308). Then, the message processing unit 25 discards the Join message (S309). Further, the message processing unit 25 activates the KAT for the transfer destination address added to the entry holding unit 21a (S310).
  • step (S303) when the message processing unit 25 determines in step (S303) that there are a plurality of transfer destination addresses, it determines whether or not the transfer destination address includes the source address of the Join message (S307). . The message processing unit 25 determines that the transfer destination address is included. If the connection has been disconnected, the processing of steps (S309) and (S310) is performed. When determining that the transfer destination address is not included, the message processing unit 25 performs the processing of steps (S308) to (S310).
  • the message processing unit 25 determines whether the received message is a Stable Join message in which the join message power Stable option is set. (S311). If the message processing unit 25 determines that the S table option has not been set and determines that the S table option has not been set, the source address of the Join message is transferred to the transmission terminal address “S” and the multicast group address “G” included in the Join message. Generate a new MFT entry associated with the address. The message processing unit 25 registers the generated MFT entry in the entry holding unit 21a. Then, the message processing unit 25 activates the JT of the registered transfer destination address (S312). Further, the message processing unit 25 activates the KAT of the registered transfer destination address (S313).
  • the message processing unit 25 discards the Join message (S314). Further, the message processing unit 25 instructs the message providing unit 26 to generate a Join message.
  • the message provider 26 sets the UR's own address as the source address and sets the source terminal address as the destination address, and generates a Join message. Then, the message providing unit 26 inputs the generated oin message to the transfer unit 23, and the transfer unit 23 transmits a Join message (S315).
  • step (S 311) when the message processing unit 25 determines that the multicast tree is stable, the message processing unit 25 inputs the received oin message to the transfer unit 23 as it is.
  • the transfer unit 23 transfers the Join message directly to the upstream based on the transmission terminal address included in the Join message (S316).
  • the message processing unit 25 sets the transfer destination address in association with the transmission terminal address "S" and the multicast group address "G". Is registered in the entry holding unit 21a.
  • the message providing unit 26 provides a Join message (participation request message) requesting to add the UR address to the destination address of the transmitting terminal 10 to the transmitting terminal address.
  • the Join message is a message that the UR requests to transmit a multicast packet from, for example, the receiving terminal 40a 40d, that is, a Join message requesting to join the multicast tree. Generated in response to the message, and transmitted to the transmission terminal 10 located upstream. Also, the UR itself sets the address of the UR itself as the source address and transmits an oin message, and the other UR registers the transfer destination address in the entry holding unit 21a based on the Join message. Therefore, the message processing unit 25 can register the address of another UR as the transfer destination address in the entry holding unit 21a.
  • FIG. 9 shows the case of the control message power SPmne message.
  • the message processing unit 25 acquires a Prune message from the receiving unit 22 (S401).
  • the message processing unit 25 searches the entry holding unit 21a and determines whether or not there is an entry including the transmission terminal address “S”, the multicast group address “G”, and the transfer destination address included in the acquired Prune message. Is determined (S402).
  • the message processing unit 25 deletes the transfer destination address included in the Prune message from the entry (S403). On the other hand, when the entry does not exist, the message processing unit 25 discards the Prune message (S410). The message processing unit 25 determines whether or not the entry disappears as a result of deleting the transfer destination address in step (S403) (S404). The entry disappears when the transfer destination address becomes 0.
  • the message processing unit 25 instructs the message providing unit 26 to generate a Prune message.
  • the message providing unit 26 sets the UR's own address as the transmission source address, and generates a Prune message in which the transmission terminal address is set as the destination address (S405).
  • the message providing unit 26 inputs the generated Prune message to the transfer unit 23 (S409).
  • the Prune message is transmitted to the transmitting terminal 10 in order for the UR to explicitly leave the multicast tree.
  • the message processing unit 25 determines that the multicast tree specified by the transmission terminal address “S” and the multicast group address “G” included in the Prune message has stabilized. It is determined whether or not it is (S406). If the multicast tree is stable, the message processing unit 25 determines whether there is a plurality of transfer destination addresses in the entry including the transmission terminal address “S” and the multicast group address “G” (S407). ).
  • the message processing unit 25 determines that the UR itself is not a duplication point for duplicating the multicast packet received by the UR.
  • the message processing unit 25 instructs the message providing unit 26 to generate a Redirec message.
  • the message providing unit 26 generates a Redirect message (S408).
  • the message providing unit 26 sets the address of the UR itself as the source address of the Redirect message.
  • the message providing unit 26 deletes the UR itself from the transfer destination address or the transmission destination address, and generates a Redeirect message requesting that the transfer destination address remaining in the entry be added to the transfer destination address or the transmission destination address.
  • the Redirect message is transmitted from the UR itself when the UR receives a message requesting withdrawal of the multicast tree from the receiving terminals 40a and 40d and other URs when the multicast tree is in a stable state.
  • This can also be used as a change request message that instructs the upstream UR or transmission terminal 10 to change the information held by the entry holding units n and 21a.
  • the transfer unit 23 transfers the Prune message or the Redirect message based on the transmission terminal address included in the Prune message or the Redirect message. If the multicast tree is not stable in step (S406), or if there are a plurality of transfer destination addresses in step (S407), the message processing unit 25 ends the process.
  • FIGS. Fig. 10 shows the procedure
  • Fig. 11 shows the communication system 1.
  • the entry holding units 21a to 21h of the UR 20a 20h and the entry holding unit 11 of the transmission terminal 10 will be described as necessary. However, for the sake of simplicity, only the table type, the transmission terminal address, the multicast group address, the transfer destination address or the transmission destination address are shown in the information retained by the entry storage units 11, 21a and 21h. .
  • the transmission terminal address, the multicast group address, the transfer destination address or the transmission destination address are represented by (transmission terminal address, multicast group address): [transmission destination address or transmission destination address].
  • Notation. (Sending terminal address, multicast group address) can specify the multicast tree or multicast packet related to which multicast group from which sending terminal. Also, the transmission terminal 10 will be described as the most upstream.
  • the receiving terminal 40a transmits a participation request message to the UR 20f (S501). If the router to which the receiving terminal 40a is connected via a wireless link is a UR, the receiving terminal 40a uses IGMPv2 (Internet Management Protocol Version 2) or MLDv2 (Multicast Listener Discovery Version 2, "draft—vida—mid—v2 — See xx.txt ”) to request the transmission of multicast packets and request to join the multicast tree. Specifically, receiving terminal 40a transmits Membership Report2 to UR20f. Note that the receiving terminal 40a follows the MLDv2 when using IPv6, but transmits the Membership Report2 according to IGMPv3 when using IPv4.
  • the message processing unit 25 of the UR20f based on the transmission terminal multicast address "G" set in Membership Report 2, associates the transmission terminal address "S" with the M: and the transfer destination address "G” by associating the MFT. Generate an entry.
  • This MFT entry indicates that the receiving terminal 40a that desires to receive the multicast packet specified by the combination of the transmitting terminal address “S” and the multicast address “G” exists under the UR 20f itself. That is, when the transfer destination address is the multicast group address “G”, it indicates that the receiving terminal 40a that desires to receive the multicast packet specified by (S, G) is connected to the UR 20f.
  • the transfer unit 23 of the UR 20f transmits the multicast packet decapsulated by the transfer control unit 24 to the receiving terminal 40a connected to the UR 20f itself.
  • the message processing unit 25 registers the generated MFT entry in the entry holding unit 21f (S502).
  • the message providing unit 26 of the UR 20f generates a Join message 3 requesting that the address of the UR 20f be added to the destination address of the transmitting terminal 10, and transmits the joining message 3 via the transfer unit 23. It is provided to the address (S503). Specifically, the message providing unit 26 sets the transmission terminal address “S” as the destination address, the address “UR6” of the UR20f as the source address, specifies the multicast group address “G”, and generates the oin message 3 I do. The UR and the transmitting terminal 10 existing upstream from the UR 20f can detect that the received packet is a Join message by the special option set in the Join message 3. The transfer unit 23 transfers the Join message 3 based on the transmission terminal address “S” set in the destination address.
  • the UR 20d connected to the UR 20f and located upstream of the UR 20f receives the Join message 3.
  • the message processing unit 25 of the UR 20d transmits the multicast address “S”, the multicast address “G”, and the multicast address “G6” based on the source address “UR6” and the multicast Generate an MFT entry that associates the address “G” with the transfer destination address “UR6”.
  • the message processing unit 25 registers the generated MFT entry in the entry holding unit 21d (S504).
  • the message providing unit 26 of the UR 20d sets the transmission terminal address “S” as the destination address, the UR 20d address “UR4” as the transmission source address, specifies the multicast group address “Gj”, and sends the oin message 3 It is generated and provided to the transmission terminal address via the transfer unit 23 (S505).
  • the message providing unit 26 of the UR20b sets the transmission terminal address "S" as the destination address, the UR20b address "UR2" as the transmission source address, specifies the multicast group address "GJ", and sends the oin message 3 It is generated and provided to the transmission terminal address via the transfer unit 23 (S507).
  • the NR 30a existing between the UR 20b and the UR 20a located upstream of the UR 20b sends a Join message 3 based on the transmission terminal address "S" set as the transmission destination address, to the unit. Transfer by casting.
  • the UR 20a located upstream of the UR 20b receives the Join message 3.
  • the message processing unit 25 of the UR 20a generates an MFT entry in which the transmission terminal address “S”, the multicast address “G”, and the transfer destination address “UR2” are associated based on the Join message 3.
  • the message processing unit 25 registers the generated MFT entry in the entry holding unit 21a (S508).
  • the message providing unit 26 of the UR 20a sets the transmission terminal address "S" as the destination address, the UR 20a address "UR1" as the transmission source address, specifies the multicast group address "GJ", and sends the oin message 3 It is generated and provided to the transmission terminal address via the transfer unit 23 (S509).
  • the message processing unit 14 of the transmission terminal 10 transmits the transmission terminal address "S" based on the transmission terminal address "S" set in the Join message 3, the multicast address "G", and the source address "UR1". An MFT entry that associates “S” with the multicast address “G” and the destination address “UR1” is generated.
  • the message processing unit 14 registers the generated MFT entry in the entry holding unit 11 (S510). As described above, the message processing unit 14 registers the address “U R1” of the UR 20a located at the most upstream position in the entry holding unit 11 when the transmission terminal address “S” is set to the upstream of the multicast tree.
  • FIG. 12 shows the procedure
  • FIG. 13 shows the state of the communication system 1.
  • the packet generation unit 15 of the transmission terminal 10 refers to the entry holding unit 11 and sets the transmission terminal address "S" as the transmission source address and the multicast group address "G" as the destination address in the data. Generate a multicast packet. Then, the packet generation unit 15 sets the transmission terminal address “S” as the transmission source address and the destination address “UR1” held by the entry holding unit 11 as the destination address in the generated multicast packet, and The multicast packet is encapsulated. Then, the transmitting unit 13 of the transmitting terminal 10 transmits the encapsulated multicast packet 5a to the UR 20a based on the destination address “UR1” (S601).
  • the receiving unit 22 of the UR 20a decapsulates the encapsulated multicast packet 5a.
  • the receiving unit 22 inputs the extracted multicast packet and the source address “S” set in the encapsulated multicast packet 5a to the transfer control unit 24.
  • the transfer control unit 24 sets the source address “S” of the encapsulated multicast packet 5a as the tunnel source address of the entry holding unit 21a.
  • the transfer control unit 24 of the UR 20a refers to the entry holding unit 21a, and since the transfer destination address "UR2" is different from the destination address "G" of the decapsulated multicast packet, the address of the UR 20a itself is determined as the source address. Encapsulate by setting "UR1" and the transfer destination address "UR2" as the destination address. Then, the transfer unit 23 transfers the encapsulated multicast packet 5b to the UR 20b based on the destination address “UR2” (S602).
  • the NR 30a existing on the path between the UR 20a and the UR 20b can be transferred by a normal unicast process based on the destination address "UR2" without being aware that the multicast packet 5a is a multicast packet. .
  • the receiving unit 22 of the UR 20b decapsulates the encapsulated multicast packet 5b.
  • the transfer control unit 24 of the UR 20b sets the source address “UR1” of the multicast packet 5b that has been force-packaged to the tunnel source address of the entry holding unit 21b.
  • the transfer control unit 24 of the UR2 Ob refers to the entry holding unit 21b and, because the transfer destination address “UR4” and the destination address “G” of the decapsulated multicast packet are different, the transfer address of the UR20b itself is used as the source address.
  • the address "UR2" and the transfer destination address "UR4" as the destination address are set and encapsulated.
  • the transfer unit 23 transfers the encapsulated multicast packet 5c to the UR 20d based on the destination address “UR4” (S603).
  • the receiving unit 22 of the UR 20d decapsulates the encapsulated multicast packet 5c.
  • the transfer control unit 24 of the UR 20d sets the source address “UR2” of the multicast packet 5c that has been force-packaged to the tunnel source address of the entry holding unit 21d.
  • the transfer control unit 24 of the UR2 Od refers to the entry holding unit 21d, and sets the transfer destination address "UR6" and the directory. Since the destination address “G” of the encapsulated multicast packet is different, the UR20d's own address “UR4” is set as the source address, and the transfer destination address “UR6” is set as the destination address for encapsulation. Then, the transfer unit 23 transfers the encapsulated multicast packet 5d to the UR 20f based on the destination address “UR6” (S604).
  • the receiving unit 22 of the UR 20f decapsulates the encapsulated multicast packet 5d and extracts the multicast packet 5e.
  • the transfer control unit 24 of the UR 20f sets the source address “UR4” of the encapsulated multicast packet 5d as the tunnel source address of the entry holding unit 21f.
  • the transfer control unit 24 of the UR 20f refers to the entry holding unit 21f, and determines that the transfer destination address “G” is the same as the destination address “G” of the decapsulated multicast packet.
  • the transfer unit 23 transmits the multicast packet 5e to the receiving terminal 40a by multicast based on the destination address “G” (S605).
  • the multicast packet is transferred from transmitting terminal 10 to receiving terminal 40a according to the set multicast tree.
  • the multicast packets 5a-5d are encapsulated by the transmission destination address and the transmission destination address (UR1, UR2, UR4, UR6). Therefore, the NR 30a existing between the transmitting terminal 10 and the UR 20f can transfer the multicast packet by a normal unicast without being aware that the received packet is a multicast packet.
  • FIGS. 15 and 17 the states of the entry holding units 21a, 21b, and 21e before the update are stored in the entry holding units 21a, 21b, and 21e. Shown as parts 21 la, 211b, 211e.
  • receiving terminal 40b transmits Membership Report 2 to UR 20g, and requests participation in the multicast tree (S701).
  • the message processing unit 25 of the UR 20g based on the transmission terminal address "S" set in the Membership Report 2 and the multicast address "G", transmits the transmission terminal address "S"
  • the message processing unit 25 registers the generated MFT entry in the entry holding unit 21g (S702).
  • the message providing unit 26 of the UR20g sets the transmission terminal address "S" as the destination address, the UR20g address "UR7" as the transmission source address, specifies the multicast group address "G", and generates the oin message 3 I do.
  • the transfer unit 23 transfers the Join message 3 based on the transmission terminal address “S” set as the destination address (S703).
  • the NR30b existing between the UR20g and the UR20b located upstream of the UR20g transfers the Join message 3 by multicast based on the transmission terminal address "S" set in the transmission destination address. .
  • UR20b located upstream of UR20g receives Join message 3.
  • the message processing unit 25 of the UR 20b updates the entry holding unit 21b based on the received join message 3 and the entry held by the entry holding unit 21b.
  • the message processing unit 25 determines, based on the transfer destination address "UR4" held by the pre-update entry holding unit 21lb and "UR7" set as the source address of the ijoin message 3, A new MFT entry is created in which the transmission terminal address “S”, the multicast address “G”, and the transfer destination address “UR4, UR7” are associated with each other.
  • the message processing unit 25 registers the newly generated MFT entry in the entry holding unit 21b, thereby changing the state of the entry holding unit 21b from the state of the pre-update entry holding unit 211b to the state of the entry holding unit 21b shown in FIG. Update (S704).
  • the multicast packet is transferred to the receiving terminal 40a via the transmitting terminal 10, UR20a, UR20b, UR20d, and UR20f, and the transmitting terminal 10, UR20a,
  • the multicast tree to which the receiving terminal 40b (this multicast packet is transferred) is set via the UR20b, UR20d, and UR20g.
  • the packet generation unit 15 of the transmission terminal 10 refers to the entry holding unit 11 and sets the transmission terminal address “S” as the transmission source address and the multicast group address “G” as the destination address in the data. Generate a multicast packet. Then, the packet generator 15 The source terminal address “S” is set as the source address in the generated multicast packet, and the destination address “UR1” held by the entry holding unit 11 is set as the destination address, and the multicast packet is encapsulated. Then, the transmitting unit 13 of the transmitting terminal 10 transmits the encapsulated multicast packet 5a to the UR 20a based on the destination address “UR1”.
  • the receiving unit 22 of the UR 20a decapsulates the encapsulated multicast packet 5a.
  • the receiving unit 22 inputs the extracted multicast packet and the source address “S” set in the encapsulated multicast packet 5a to the transfer control unit 24.
  • the transfer control unit 24 sets the source address “S” of the encapsulated multicast packet 5a as the tunnel source address of the entry holding unit 21a.
  • the transfer control unit 24 of the UR 20a refers to the entry holding unit 21a, and since the transfer destination address "UR2" is different from the destination address "G" of the decapsulated multicast packet, the address of the UR 20a itself is determined as the source address. Encapsulate by setting "UR1" and the transfer destination address "UR2" as the destination address. Then, the transfer unit 23 transfers the encapsulated multicast packet 5b to the UR 20b based on the destination address “UR2”.
  • the receiving unit 22 of the UR 20b decapsulates the encapsulated multicast packet 5b.
  • the transfer control unit 24 of the UR 20b refers to the entry holding unit 21b and duplicates the decapsulated multicast packet so that there are two transfer destination addresses, so that the number of multicast packets becomes two.
  • the transfer control unit 24 compares the transfer destination address "UR4, UR7J" with the destination address "G" of the decapsulated multicast packet. Since each transfer destination address is different from the destination address, the transfer control unit 24 sets the address “UR2” of the UR20b itself as the source address, and sets the transfer destination address “UR4” as the destination address of one multicast packet. Then, the transfer destination address “UR7” is set as the destination address of the other multicast packet, and the packet is encapsulated.
  • the transfer unit 23 transfers the encapsulated multicast packet 5c to the UR 20d based on the destination address "UR4". Further, the transfer unit 23 transfers the encapsulated multicast packet 5f to the UR 20g based on the destination address “UR7”. [0119] The UR20d and UR20f transfer the multicast packets 5d and 5e in the same manner as in Figs. The receiving unit 22 of the UR 20g decapsulates the encapsulated multicast packet 5f to extract the multicast packet 5e.
  • the transfer control unit 24 of the UR 20g refers to the entry holding unit 21g, and since the transfer destination address “G” is the same as the destination address “G” of the decapsulated multicast packet, the transfer unit 24 Enter 23.
  • the transfer unit 23 transmits the multicast packet 5e to the receiving terminal 40b by multicast based on the destination address “G”. As described above, the multicast packet is transferred from the transmitting terminal 10 to the receiving terminals 40a and 40b according to the set multicast packet.
  • FIG. 17 shows a multicast tree newly set by receiving terminals 40c and 40d participating in the multicast tree shown in FIG. Since the receiving terminal 40c is connected to the NR 30e, the receiving terminal 40c detects that the router connected to the NR 30e via the wireless link is the NR. The receiving terminal 40c can detect the presence or absence of the Membership Query. For example, when the receiving terminal 40c cannot receive the Membership Query for a specified time or longer, it can determine that there is no UR transmitting the Membership Query, and can detect that it is connected to the NR.
  • the receiving terminal 40c can determine that there is no UR capable of processing the Membership Report even in a case where the multicast packet cannot be received even after the lapse of the specified time, and the receiving terminal 40c connects to the NR. Can be detected.
  • the receiving terminal 40c When connected to the NR, the receiving terminal 40c transmits a Join message 3 requesting participation in the multicast stream specified by (S, G). Since a special option is set for the Join message 3 transmitted by the receiving terminal 40c, the NR 30e does not discard the Join message 3 and the UR existing on the route from the receiving terminal 40c to the transmitting terminal 10 is a Join message. 3 can be received.
  • the receiving terminal 40c sets the transmission terminal address “S” as the destination address, sets the address “R3” of the receiving terminal 40c as the source address, specifies the multicast group address “G”, and transmits the fcjoin message 3 . In this case, in the UR, the UR 20e, which is the most downstream in the path from the receiving terminal 40c to the transmitting terminal 10, receives the Join message 3.
  • the UR20a becomes Also need to transfer multicast packets. Therefore, the message processing unit 25 of the UR 20a changes the entry held by the entry holding unit 21a from the entry (S, G): [UR2] in the pre-update entry holding unit 21 la to the entry (S, G): [ UR2, UR3]. Also, the UR 20c needs to transfer a multicast packet to the UR 20e. Therefore, the message processing unit 25 of the UR 20c registers the entry (S, G): [UR5] in the entry holding unit 21c.
  • the message processing unit 25 of the UR 20e registers the entry (S, G): [R3] as shown in the pre-update entry holding unit 21le in the entry holding unit 21e.
  • the UR 20e needs to transfer the multicast packet also to the UR 20h. Therefore, the message processing unit 25 of the UR 20e converts the entry held by the entry holding unit 21e from the entry (S, G): [R3] of the pre-update entry holding unit 211e to the entry (S, G): [R3, UR8 To]. Further, the message processing unit 25 of the UR 20h registers the entry (S, G): [G] in the entry holding unit 21h. Thereby, a multicast tree in which the multicast packet is transferred from the transmitting terminal 10 to the plurality of receiving terminals 40a to 40e is set.
  • Transfer of a multicast packet according to this multicast tree is performed as follows.
  • the packet generation unit 15 of the transmission terminal 10 refers to the entry holding unit 11 and sets the transmission terminal address “S” as the source address and the multicast group address “G” as the destination address in the data, and sets the multicast packet.
  • the packet generation unit 15 sets the transmission terminal address “S” as the source address and the destination address “UR1” held by the entry holding unit 11 as the destination address in the generated multicast packet, and encapsulates the multicast packet.
  • the transmitting unit 13 of the transmitting terminal 10 transmits the multicast packet 5a converted into a packet to the UR 20a based on the destination address “UR1”.
  • the receiving unit 22 of the UR 20a decapsulates the encapsulated multicast packet 5a.
  • the transfer control unit 24 of the UR 20a refers to the entry holding unit 21a and determines that the transfer destination address is Since there are two, duplicate the decapsulated multicast packet so that there are two multicast packets.
  • the transfer control unit 24 compares the transfer destination address “UR2, UR3” with the destination address “G” of the decapsulated multicast packet. Since the transfer destination address of V and the deviation is also different from the destination address, the transfer control unit 24 sets the address “UR1” of the UR 20a itself as the transmission source address, and sets the destination address “UR1” in the destination address of one of the multicast packets.
  • UR2 ” is set, and the destination address of the other multicast packet is set to the transfer destination address“ UR3 ”, and the packet is encapsulated.
  • the transfer unit 23 transfers the encapsulated multicast packet 5b to the UR 20b based on the destination address "UR2". Further, the transfer unit 23 transfers the encapsulated multicast packet 5g to the UR 20c based on the destination address “UR3”.
  • the receiving unit 22 of the UR 20b decapsulates the encapsulated multicast packet 5b.
  • the transfer control unit 24 of the UR 20b refers to the entry holding unit 21b and duplicates the decapsulated multicast packet so that there are two transfer destination addresses, so that the number of multicast packets becomes two.
  • the transfer control unit 24 compares the transfer destination address “UR4, UR7J” with the destination address “G” of the decapsulated multicast packet. Since each transfer destination address is different from the destination address, the transfer control unit 24 sets the address “UR2” of the UR20b itself as the source address, and sets the transfer destination address “UR4” as the destination address of one multicast packet. Then, the transfer destination address “UR7” is set as the destination address of the other multicast packet, and the packet is encapsulated.
  • the transfer unit 23 transfers the encapsulated multicast packet 5c to the UR 20d based on the destination address "UR4". Further, the transfer unit 23 transfers the encapsulated multicast packet 5f to the UR 20g based on the destination address “UR7”.
  • the UR20d and UR20f transfer the multicast packets 5d and 5e in the same manner as in Figs.
  • the receiving unit 22 of the UR 20g decapsulates the encapsulated multicast packet 5f to extract the multicast packet 5e.
  • the transfer control unit 24 of the UR 20g refers to the entry holding unit 21g, and since the transfer destination address “G” is the same as the destination address “G” of the decapsulated multicast packet, the transfer unit 24 Enter 23. transfer The unit 23 transmits the multicast packet 5e to the receiving terminal 40b by multicast based on the destination address “G”.
  • the receiving unit 22 of the UR 20c decapsulates the encapsulated multicast packet 5g and extracts the multicast packet.
  • the transfer control unit 24 of the UR 20c refers to the entry holding unit 21c, and since the transfer destination address ⁇ UR5 '' and the destination address ⁇ G '' of the decapsulated multicast bucket are different, the address UR20c itself as the source address is U R3 ”and the transfer destination address“ UR5 ”as the destination address are encapsulated. Then, the transfer unit 23 transfers the encapsulated multicast packet 5h to the UR 20e based on the destination address “UR5”.
  • the receiving unit 22 of the UR 20e decapsulates the encapsulated multicast packet 5h.
  • the transfer control unit 24 of the UR 20e refers to the entry holding unit 21e and, because there are two transfer destination addresses, duplicates the decapsulated multicast packet so that there are two multicast packets.
  • the transfer control unit 24 compares the transfer destination address “R3, UR8” with the destination address “G” of the decapsulated multicast packet. Since each of the destination addresses is different from the destination address, the transfer control unit 24 sets the address “UR5” of the U R20e itself as the source address, and sets the destination address “R3” as the destination address of one of the multicast packets. Is set, and the destination address of the other multicast packet is set to the transfer destination address “UR8” for encapsulation.
  • the transfer unit 23 transfers the encapsulated multicast packet 5j to the receiving terminal 40c based on the destination address "shaku3". Further, the transfer unit 23 transfers the encapsulated multicast packet 5i to the UR 20h based on the destination address “UR8”. In this way, the UR 20e forwards the multicast packet with “R3” set as the destination address to the receiving terminal 40c by unicast based on the entry (S, G): [R3, UR8]. The UR 20h decapsulates the multicast packet 5i, and transfers the extracted multicast packet 5e to the receiving terminal 40d by multicast.
  • the multicast tree transitions from an initial state to a stable state.
  • the multicast tree is in a stable state, for example, due to a decrease in newly joining receiving terminals. Transition. For example, after the start of the live broadcast, the number of newly participating receiving terminals decreases.
  • the transmitting terminal 10 can determine that the number of newly participating receiving terminals has decreased, it can determine that the state has shifted to the stable state.
  • the communication system 1 When the communication system 1 transitions to the stable state, the communication system 1 sets a multicast tree connecting the branch routers, which are the duplication points of the multicast packet. According to this, URs (such as UR20c) other than branch routers existing on the route of the multicast tree can treat multicast packets in the same way as unicast packets. As described above, since all the URs included in the communication system 1 do not need to process the multicast packet, the load on the entire communication system 1 is reduced.
  • URs such as UR20c
  • the bucket generating unit 15 of the transmitting terminal 10 when the multicast tree shifts to the stable state, the bucket generating unit 15 of the transmitting terminal 10 generates a multicast packet in which the Stable option indicating that the multicast tree has shifted to the stable state is generated. 13 sends. As a result, the transmitting terminal 10 notifies the participating receiving terminals 40a to 40d that the multicast tree has shifted to a stable state.
  • the receiving terminals 40a to 40d transmit a Stable Membership Report or a Stable Joion message.
  • the receiving terminal 40c transmits a Stable Join message with the destination address “S” and the source address “R3”.
  • the URs 20c and 20d which are not branch routers, use the Stable Join message 3a only for registering or updating entries, and transfer them to the upstream URs 20a and 20b as they are.
  • the stable join message 3a from the UR 20f passes through the UR 20d and is received by the UR 20b which is a branch router.
  • the message processing unit 25 of the UR 20b adds “UR6” to the transfer destination address of the UR 20b based on the Stable Join message 3a from the UR 20f.
  • the message processing unit 25 of the UR 20b converts the entry held by the entry holding unit 21b from the entry (S, G): [UR4, UR7] in the pre-update entry holding unit 212b to the entry in the migrating entry holding unit 312b.
  • the UR 20b transfers the multicast packet received from the UR 20a to the UR 20d, UR 20f, and UR 20g.
  • the message providing unit 26 of the UR 20d that has passed the Stable Join message 3a provides the Redirect message 4 to the UR 20b via the transfer unit 23.
  • the Redirect message 4 is a message requesting that the address “UR4” of the UR 20d be deleted from the transfer destination address and the address “UR6” of the UR 20f be added to the transfer destination address.
  • the destination address of the Redirect message 4 is set to the transmission terminal address “S”.
  • the entry held by the entry 21b is updated to the entry (S, G): [UR4, UR6, UR7] and the entry (S, G): [UR6, UR7] in the entry-in-transition holding unit 312b.
  • the UR20f has two routes: a route in which the UR20b transfers the multicast packet to the UR20d, a route in which the UR20d transfers the multicast packet to the UR20f, and a route in which the UR20b transfers the multicast packet directly to the UR20f. Therefore, it is possible to prevent the multicast packet from being received repeatedly.
  • the Redirect message is It can be used as a change request message that instructs the upstream UR or transmitting terminal 10 to change the information held by the entry holding unit.
  • the stable join message 3a from the UR 20e passes through the UR 20c and is received by the UR 20a that is a branch router.
  • the message processor 25 of UR20a is the entry the entry holding portion 21 a is held
  • E emissions tri the updated previous entry holding portion 212a (S, G): [ UR2, UR3] Power et al., Transition entry holding ⁇ ⁇ ⁇ ⁇ Entry (S, G) in B312a: Update to [UR2, UR3, UR5].
  • the message providing unit 26 of the UR20c that has passed the stable join message 3a deletes the address "UR3" of the UR20c from the transfer destination address and adds the address "UR5" of the UR20e to the transfer destination address.
  • the message processing unit 25 of the UR 20a which has received the Reidirect message 4, converts the entry held by the entry holding unit 21a from the entry (S, G): [UR 2, UR3, UR5] in the migrating entry holding unit 312a to the entry ( S, G): Update to [UR2, UR5].
  • FIG. 20 the state of the entry holding units 21a, 21b, and 21g before the update is stored in the entry holding units 21a, 21b, and 21g before the update. , 213b, 211g.
  • Fig. 19 shows one injection of the operating hand, and Fig. 20 shows the communication system 1.
  • the receiving terminal 40b transmits to the UR 20g a withdrawal request message requesting deletion from the transfer destination address or the transmission destination address. Specifically, the receiving terminal 40b transmits a Leave Group message 7 according to IGMPv2 or MLDv2. As a result, the receiving terminal 40b requests to leave the multicast tree, and requests to stop transmitting the multicast packet (S801).
  • the message processing unit 25 of the UR 20g deletes the entry specified by the transmission terminal address "S" and the multicast group address "G" set in the Leave Group message 7 from the entry holding unit 21g. (S802). As a result, the entry holding unit 21g holds The entry to be updated is updated from the state of the pre-update entry holding unit 211g holding the entry (S, G): [G] to a state not holding the entry specified by (S, G).
  • the message providing unit 26 of the U R20g transmits the Prune message 8 in order to leave the UR 20g itself from the multicast tree. It is generated and provided to the transmission terminal address via the transfer unit 23 (S803). Since a special option is set for Prune message 8, a UR located upstream from UR20g can detect that the received Prune message 8 is a special control message.
  • the NR 30b existing between the UR 20g and the UR 20b upstream of the UR 20g transfers the received prune message 8 by unicast based on the transmission terminal address "S".
  • the message processing unit 25 of the UR 20b stores the entry held by the entry holding unit 21b based on the received Prune message 8 in the entry (S, G) in the pre-update entry holding unit 213b: [UR6, UR7]. , Update to entry (S, G): [UR6]. That is, the transfer destination address UR7 is deleted (S804).
  • the message processing unit 25 of the UR 20b checks that the transfer destination address held by the entry holding unit 21b is
  • the message providing unit 26 Since it is one, it is determined that it is not a branch router. Therefore, the message providing unit 26 generates the Redirect message 4 and provides it to the transmission terminal address via the transfer unit 23 (S805).
  • the Redirect message 4 is a message requesting that the address “UR2” of the UR20b be deleted from the transfer destination address and the address “UR6” of the UR20f be added to the transfer destination address.
  • the transmission terminal address “S” is set as the destination address of the Redirect message 4.
  • the NR 30a existing between the UR 20b and the UR 20a upstream of the UR 20b transfers the received Redirect message 4 by unicast based on the transmission terminal address "S".
  • the message processing unit 25 of the UR 20a stores the entry held by the entry holding unit 21a in the entry (S, G) in the pre-update entry holding unit 213a: [UR2, UR5 ] To the entry (S, G): [UR6, UR5] (S806).
  • the transfer unit 23 of the UR2 Oa transfers the Redirect message 4 to the transmission terminal 10 based on the transmission terminal address “S”.
  • the message processing unit 14 of the transmitting terminal 10 searches the entry holding unit 11 based on the received Redirect message 4.
  • the message processing unit 14 transmits the destination address “UR1” of the entry specified by the transmission terminal address “S” and the multicast group address “G” included in the Redirect message 4 and “UR2” included in the Redirect message 4 Therefore, the Redirect message 4 is discarded without updating the entry holding unit 11 (S808). As a result, the multicast tree is updated to the state shown in FIG. By requesting the receiving terminal 40b to stop the transmission of the multicast packet in this way, it is possible to limit the branch router serving as the duplication point of the multicast packet. Therefore, the load of the communication system 1 is dispersed.
  • the transfer of the multicast packet according to the multicast tree shown in FIG. 20 is as shown in FIG.
  • the transmitting terminal 10 transmits the multicast packet 5a to the UR 20a.
  • the UR 20a forwards the multicast packet 5k with the source address set to "UR1" and the destination address set to "UR6" to the UR 20b.
  • the UR 20b transfers the multicast packet 51 in which the source address is “UR2” and the destination address is “UR6” to the UR 20f.
  • the UR 20f transfers the multicast packet 5e to the receiving terminal 40a.
  • the UR 20a transfers the multicast packet 5m in which the source address is set to "UR1" and the destination address is set to "UR5" to the UR 20e.
  • the UR 20e transfers the multicast packet 5j to the receiving terminal 40c, and transfers the multicast packet 5i to the UR 20h.
  • the UR 20h transfers the multicast packet 5e to the receiving terminal 40d.
  • the transmitting terminal 10 the URs 20a-20h, and the communication method
  • the URs 20a-20h can hold another UR address as a transfer destination address.
  • the transmitting terminal 10 can hold the UR address as the destination address. Therefore, an appropriate multicast is set to transfer the multicast packet from the transmitting terminal 10 to the receiving terminals 40a and 40d via the UR.
  • the NR30a-f existing between the transmitting terminal 10 and the UR or between the URs only needs to transfer multicast packets by unicast.
  • the communication system 1 can set an appropriate multicast tree and transfer the multicast packet. That is, even if UR20a 20h and NR30a-30f coexist in communication system 1, Multicast packets can be transferred. Therefore, by partially introducing the UR into the communication system 1, multicast packets can be easily transferred at low cost.
  • the message processing units 25 and 24 also receive the entry holding units 11 and 21a to 21h based on the participation request messages such as the Membership Report 2 and the Join Message 3 of the receiving terminals 40a to 40d and the UR 20a to 20h. You can register your address in. Therefore, the receiving terminals 40a 40d and the URs 20a-20h can participate in the set multicast tree. As a result, the communication system 1 can transfer the multicast packet to the participating receiving terminals 40a to 40d and the UR 20a 2 Oh.
  • the communication system 201 includes the transmitting terminal 10, the UR 20a 20i, the NRs 30a and 30f, and the receiving terminals 40a and 40d.
  • the following description focuses on the differences from the communication system 1 shown in FIG. UR20d and UR20i are connected to the same sub-network 50.
  • the subnetwork 50 includes, for example, Ethernet.
  • UR20d and UR20i are connected to UR20b located upstream via subnetwork 50.
  • FIG. 24 shows the procedure, and FIG. 24 shows an example of the communication system 201.
  • the receiving terminal 40b transmits Membership Report2 to the UR 20g according to IGMPv2 or MLDv2 (S901).
  • the message processing unit 25 of the UR 20g generates an entry in which the transmission terminal address "S", the multicast group address "G", and the transfer destination address "G" are associated based on the Membership Report2.
  • the message processing unit 25 registers the generated entry in the entry holding unit 21g (S902).
  • the message providing unit 26 of the UR 20g generates a Join message 3 for the UR 20g to join the multicast tree based on the received Membership Report 2, and provides the Join message 3 to the transmission terminal address via the transfer unit 23.
  • the message provider 26 sets the destination address to " Set “S” and “UR7” as the source address, specify the multicast gnope address “G”, and generate an oin message 3.
  • the transfer unit 23 transfers the Join message 3 based on the transmission terminal address “S” set as the destination address (S903).
  • the message processing unit 25 of the UR 20i stores an entry in which the transmission terminal address "S", the multicast group address "G", and the transfer destination address "UR7" are associated. It is generated and registered in the entry holding unit 21i (S904).
  • the message providing unit 26 of the UR 20i sets the destination address to "S”, sets the source address to "UR9”, specifies the multicast group address "G”, and generates the fcjoin message 3.
  • the transfer unit 23 transfers the Join message 3 based on the transmission terminal address “S” set as the destination address (S905).
  • the UR 20d connected to the same subnetwork 50 receives the multicast packet specified by the transmission terminal address "S" and the multicast group address "G", the UR 20i has a stable multicast tree. After that, Join message 3 is received like a branch router.
  • the message processing unit 25 of the UR 20b receives: the UR 20d and the UR 20i that connect to the same subnet 50 based on the Join message 3 and the entry indicated in the pre-update entry holding unit 214b held by the entry holding unit 21b. Detects that it is requesting to send the same multicast packet. Then, the message processing unit 25 generates an entry in which the transmission terminal address “S”, the multicast group address “G”, and the transfer destination address “G” are associated with each other.
  • the message processing unit 25 By registering the generated entry in the entry holding unit 21b, the message processing unit 25 stores the entry held by the entry holding unit 21b in the entry (S, G) in the pre-update entry holding unit 214b: [UR6] Is updated to entry (S, G): [G] (S906).
  • the entry holding unit 21b holds a multicast gnope address as a transfer destination address.
  • the message providing unit 26 of the UR 20b generates a Redirect message 4 to instruct update of the entry held by the transmitting terminal 10, and provides the Redirect message 4 to the transmitting terminal address via the transfer unit 23 (S907). .
  • the message providing unit 26 transfers the address “UR6” of the UR20f to the transfer destination address. And generates a Redirect message 4 requesting that the address “UR2” of UR20b be added to the transfer destination address.
  • the destination address of the Redirect message 4 is set to the transmission terminal address “S”.
  • the NR 30a existing between the UR 20b and the UR 20a upstream of the UR 20b transfers the received Redirect message 4 by unicast based on the transmission terminal address "S".
  • the message processing unit 25 of the UR 20a retrieves the entry held by the entry holding unit 21a from the entry (S, G) in the pre-update entry holding unit 214a: [UR6]. Entry (S, G): Update to [UR2] (S908).
  • the transfer unit 23 of the UR 20a transfers the Redirect message 4 to the transmitting terminal 10 based on the destination address (S909).
  • the message processing unit 14 of the transmitting terminal 10 stores the entry held by the entry holding unit n into the entry in the pre-update entry holding unit 111.
  • the packet generation unit 15 of the transmission terminal 10 refers to the entry holding unit 11 and generates a multicast packet by setting the transmission terminal address “S” as the source address and the multicast group address “G” as the destination address in the data. . Then, the packet generation unit 15 sets the transmission terminal address “S” as the source address and the destination address “UR2” held by the entry holding unit 11 as the destination address in the generated multicast packet, and sets the multicast packet. To encapsulate. Then, the transmission unit 13 of the transmission terminal 10 transmits the encapsulated multicast packet 5n based on the destination address “UR2”.
  • the receiving unit 22 of the UR 20b decapsulates the encapsulated multicast packet 5n.
  • the transfer control unit 24 of the UR 20b refers to the entry holding unit 21b, and inputs the transfer destination address “G” and the destination address “G” of the decapsulated multicast packet to the transfer unit 23 as they are because the destination address “G” is the same as the decapsulated multicast packet. .
  • the transfer unit 23 transfers the multicast packet 5e to the sub-network 50 by multicast based on the destination address “G”.
  • the receiving unit 22 of the UR 20d receives the multicast packet 5e via the sub-network 50.
  • the transfer control unit 24 of the UR 20d refers to the entry holding unit 21d, and since the transfer destination address “UR6” is different from the destination address “G” of the multicast packet 5e, the UR 20d own address ⁇ UR4 And set the transfer destination address "UR6" as the destination address and encapsulate it. Then, the transfer unit 23 transfers the encapsulated multicast packet 5d to the UR 20f based on the destination address “UR6”. The UR 20f decapsulates the multicast packet 5d and transfers the multicast packet 5e to the receiving terminal 4Oa by multicast.
  • the receiving unit 22 of the UR 20i receives the multicast packet 5e via the sub-network 50.
  • the transfer control unit 24 of the UR 20i refers to the entry holding unit 21i, and since the transfer destination address “UR7” is different from the destination address “G” of the multicast packet 5e, the UR20i's own address “UR9” is used as the source address. Then, the transfer destination address “UR7” is set as the destination address, and the packet is encapsulated. Then, the transfer unit 23 transfers the encapsulated multicast packet 5o to the UR 20g based on the destination address “UR7”. The UR 20g decapsulates the multicast packet 5o and transfers the multicast packet 5e to the receiving terminal 40b by multicast.
  • Figs. 26 and 27 show an example in which the receiving terminal 40b joins the multicast tree when the resources of the UR 20b are insufficient when the receiving terminal 40a has already joined the multicast tree. explain.
  • the states of the entry holding units 11 and 2 la before updating are distinguished from each other in order to distinguish the states before and after updating. Shown as 12, 215a.
  • Receiving terminal 40b transmits Membership Report 2 to UR 20g, and requests participation in the multicast library (S1001).
  • the message processing unit 25 of the UR 20g generates an entry in which the transmission terminal address “S”, the multicast group address “G”, and the transfer destination address “G” are associated based on the received Membership Report 2, and the entry It is registered in the holding unit 2lg (S1002).
  • the message providing unit 26 of the UR 20g generates the Join message 3 and provides it to the transmission terminal address via the transfer unit 23.
  • the message providing unit 26 sets the destination address to “S” and the source address to “UR7”, specifies the multicast group address “G”, and generates the fcjoin message 3.
  • the transfer unit 23 transfers the Join message 3 based on the transmission terminal address “S” set as the destination address (S1003).
  • the NR 30b existing between the UR 20g and the UR 20b upstream of the UR 20g transfers the received fcjoin message 3 by unicast based on the transmission terminal address "S". Further, the UR 20b transfers the Join message 3 as it is by the unicast based on the transmission terminal address “S” because the resource for performing the processing based on the received oin message 3 is insufficient. Further, the NR 30a existing between the UR 20b and the UR 20a upstream from the UR 20b transfers the received ⁇ Join message 3 by unicast based on the transmission terminal address "S".
  • the UR 20a receives the Join message 3. Based on the received oin message 3 and the entry held by the entry holding unit 21a in the state shown in the before-update entry holding unit 215a, the message processing unit 25 of the UR 20a sends the transmission terminal address “S” and the multicast group address “ G ”and the transfer destination address“ UR6, UR7 ”. The message processing unit 25 registers the generated entry in the entry holding unit 21b, and stores the entry held by the entry holding unit 21b in the entry (S, G) in the pre-update entry holding unit 215b: [UR6]. The entry (S, G) is updated to [UR6, UR7] (S1004).
  • the message providing unit 26 of the UR 20a generates a Redirect message 4 to instruct an update of the entry held by the transmitting terminal 10, and provides the Redirect message 4 to the transmitting terminal address via the transfer unit 23 (S1005). .
  • the message providing unit 26 requests that the address “UR6” of the UR20f be deleted from the transfer destination address and the address “UR1” of the UR20a be added to the transfer destination address.
  • Redirect message 4 is generated.
  • the destination address of the Redirect message 4 is set to the transmission terminal address “S”.
  • the message processing unit 14 of the transmitting terminal 10 retrieves the entry held by the entry holding unit n from the entry (S, G): [UR6] in the pre-update entry holding unit 112. , Entry (S, G): updated to [UR1] (S1006). As a result, a new multicast tree as shown in FIG. 27 is set.
  • the packet generation unit 15 of the transmission terminal 10 refers to the entry holding unit 11 and refers to the transmission terminal address “S” as the source address of the multicast packet and the destination address “UR1” held by the entry holding unit 11 as the destination address. Is set, and the multicast packet is encapsulated. Then, the transmitting unit 13 of the transmitting terminal 10 transmits the encapsulated multicast packet 5a based on the destination address “UR1”.
  • the receiving unit 22 of the UR 20a decapsulates the encapsulated multicast packet 5a and extracts the multicast packet.
  • the transfer control unit 24 of the UR 20a refers to the entry holding unit 21a and duplicates the extracted multicast packet to make two since there are two transfer destination addresses.
  • the transfer control unit 24 sets the address "UR1" of the UR20a itself as the source address. .
  • the transfer control unit 24 sets the transfer destination address “UR6” as the destination address in one of the multicast packets, and sets the destination address “UR7” in the other multicast packet to encapsulate.
  • the transfer unit 23 transfers the encapsulated multicast packets 5p and 5q to the destination TURs 20f and 20g based on the destination addresses “UR6” and “UR7”, respectively.
  • the URs 20f and 20g decapsulate the manocast cast packets 5p and 5q, respectively, and transfer the multicast packet 5e to the receiving terminals 40a and 40b by multicast.
  • the UR 20a-20h consigns processing of the control message to another UR by transferring the control message without processing the control message. it can.
  • some URs process communication
  • the load on the system 1 can be distributed, and the load on the entire communication system 1 can be reduced.
  • the entry holding units 11, 21a and 21h are not updated before updating).
  • the states of the entry holding units 113, 216a, 215b, 211c, 211d, 212e, 212g, 211f before update are respectively distinguished. , 211h.
  • the transmitting terminal 10 moves from the home network 60a to the external network 60b using Mobile IPv6 (No, Handover). Then, the transmitting terminal 10 acquires, for example, a CoA (Care of Address) as the ISA “S ′” in the destination external network 60b.
  • a CoA Care of Address
  • the packet generation unit 15 of the transmitting terminal 10 sets the ISA "S '" as the source address, and sets the oISA "S" used in the home network 60a to the HA ⁇ (Home Address option) multicast. Generate a packet. Further, when the transmission terminal address changes and the transmission destination address is held by the transmission terminal 10, the packet generator 15 sets a special option.
  • the packet generation unit 15 of the transmission terminal 10 refers to the entry holding unit 11 in the state of the pre-update entry holding unit 113, sets “UR1” as the destination address according to the entry before moving, and encapsulates the multicast packet. I do.
  • the transmitting unit 13 transfers the encapsulated multicast packet 5r based on the destination address. If the entry holding unit 11 holds a plurality of destination addresses, the packet generating unit 15 sets the plurality of destination addresses without setting a special option.
  • UR1 is generated.
  • the message processing unit 14 registers the generated entry in the entry holding unit 11, and stores the entry held by the entry holding unit n from the entry (S, G): [UR1] in the pre-update entry holding unit 113 from the entry ( S / S, G): Update to [UR1].
  • the transmitting terminal 10 receives the transmitted multicast packet 5r, for example, by the UR 20b. Since the special option is set, the receiving unit 22 of the UR 20b decapsulates the multicast packet 5r, sets the extracted multicast packet and the multicast packet 5r, and sets the multicast packet 5r.
  • the destination address "UR1" and the source address "S '" are input to the message processing unit 25.
  • the message processing unit 25 is based on the ISA "S '" set in the source address, the oISA "S” set in the HOA, and the entry holding unit 21b in the state of the pre-update entry holding unit 215b. There are, 13 and eight "3 '” and 0 13 eight "3", the multicast group address "G”, the transfer destination address before update E entry holding portion 215b holds "UR6, UR7" and an entry that associates Generate.
  • the message processing unit 25 registers the generated entry in the entry holding unit 21b, and stores the entry held by the entry holding unit 21b in the entry (S, G) in the pre-update entry holding unit 215b: [UR6, UR7 ] To entry (S / S ', G): [UR6, UR7].
  • the message processing unit 25 inputs the decapsulated multicast packet and the destination address “UR1” set in the multicast packet 5r to the transfer control unit 24.
  • the transfer control unit 24 sets the destination address "UR1" set in the multicast packet 5r as the destination address of the extracted multicast packet, and sets the address "UR2" of the UR 20b as the source address.
  • the transfer unit 23 transfers the encapsulated multicast packet 5s to the UR 20a based on the destination address.
  • the transfer control unit 24 controls the transmission of the multicast packet to the transmission destination address “UR1” of the transmission terminal 10 before the change. As a result, the transfer unit 23 transmits the multi-key that the UR20b has received so far. Transfer the multicast packet 5s to the UR20a that is the source of the multicast packet.
  • the transfer control unit 24 refers to the entry holding unit 21b and, because of the two transfer destination addresses, duplicates the multicast packet to make two. Since the transfer destination address “UR6, UR7” is different from the destination address “G” of the extracted multicast packet, the transfer control unit 24 sets the address “UR2” of the UR 20b itself as the source address. The transfer control unit 24 sets the transfer destination address “UR6” as the destination address for one of the multicast packets, and sets the destination address “UR7” for the other multicast packet to encapsulate. Then, the transfer unit 23 transfers the encapsulated multicast packets 5t and 5u to the URs 20f and 20g based on the destination addresses "UR6" and "UR7", respectively.
  • the message processing unit 25 of the UR20f, 20g also has the entry holding unit 21f,
  • 21g is updated from the entry (S, G): [G] in the pre-update entry holding unit 21 If, 212g to the entry (S, G): [G]. Further, the message processing unit 25 of the UR 20d existing between the UR 20b and the UR 20f also stores the entry holding unit 21d from the entry (S, G): [UR6] in the entry holding unit 21 Id before updating. / S ,, G): Update to [UR6].
  • the URs 20f and 20g decapsulate the multicast packets 5t and 5u, respectively, and receive the multicast packet 5y with the ISA "S '" set as the source address and the oISA "S" set with HAO as the receiving terminal 40a. , 40b ⁇ This Manorechicast ⁇ Transfer from here.
  • the receiving unit 22 of the UR 20a receives the multicast packet 5s transferred to "UR1".
  • the receiving unit 22 decapsulates the multicast packet 5s because a special option is set, and extracts the extracted multicast packet and the destination set in the multicast packet 5s (used for encapsulation).
  • the address “UR1” and the source address “UR2” are input to the message processing unit 25.
  • the message processing unit 25 of the UR 20a uses the source address "U R2" used for encapsulation and the entry holding unit 21a in the state of the pre-update entry holding unit 216a to send the U R20a to the multicast. Judge that it is not necessary to transfer the multicast packet to "UR2" which is the source of the packet. Therefore, the message processing unit 25 deletes “111 2” from the transfer destination address.
  • the message processing unit 25 sends the ISA "S '" set to the source address to the HOA. Based on the set oISA “S”, the source address “UR2” used for encapsulation, and the entry holding unit 21a in the state of the entry holding unit 216a before update, the ISA “S '” and o Generate an entry corresponding to the ISA "S", the multicast group address "G", and the transfer destination address "UR5".
  • the message processing unit 25 registers the generated entry in the entry holding unit 21a, and stores the entry held by the entry holding unit 21a in the entry (S, G) in the pre-update entry holding unit 215a: [UR2, UR5 ] To entry (SZS ', G): [UR5].
  • the message processing unit 25 inputs the decapsulated multicast packet to the transfer control unit 24.
  • the transfer control unit 24 of the UR 20a refers to the updated entry holding unit 21a and transfers the multicast packet 5v encapsulated by the transfer destination address "UR5" to the UR 20e.
  • the UR 20a transfers the multicast packet 5v to the UR 20e obtained by removing the UR 20b that is the transfer source of the multicast packet 5s from the transfer destination address held by the entry holding unit 21a.
  • the message processing unit 25 of the UR 20c existing between the UR 20a and the UR 20e also stores the entry holding unit 21c in the entry (S, G) in the pre-update entry holding unit 211c: the entry (S / S ') from [UR5]. , G): Update to [UR5].
  • the message processing unit 25 of the UR 20e also updates the entry holding unit 2 le from the entry (S, G): [R3, UR8] in the pre-update entry holding unit 212 e to the entry (S ′, G): [R3, UR8]. I do.
  • the transfer control unit 24 of the UR 20e transfers the encapsulated multicast packet 5w with the source address set to "UR5" and the destination address set to "R3" to the receiving terminal 40c according to the entry holding unit 21e. Further, the transfer control unit 24 sets the source address to “UR5” and sets the destination address to “UR8”, and transfers the encapsulated multicast packet 5x to the UR20h.
  • the UR 20h updates the entry held by the entry holding unit 21h from the entry (S, G): [G] held by the pre-update entry holding unit 21 lh to an entry (SZS ', G): [G]. Then, the multicast packet 5y is transferred to the receiving terminal 40d by multicast.
  • the receiving terminals 40a and 40d receive the multicast packet 5y in which ISA "S '" is set as the source address and oISA "S" is set in HAO.
  • the receiving terminal 40c extracts the multicast packet 5y by decapsulating the multicast packet 5w. You.
  • the receiving terminals 40a to 40d transmit the Membership Report 2 or the Join message 3 to the ISA “S ′”. This sets up a multicast tree with ISA "S '" upstream.
  • the communication system 1 can appropriately transfer the multicast packet to the receiving terminals 40a-40d. . Therefore, the receiving terminals 40a to 40d need not detect the movement of the transmitting terminal 10 by themselves, and can omit the control based on the detection. Thus, the load that does not require changing the functions of the receiving terminals 40a to 40d can be reduced.
  • the communication system 301 includes a transmitting terminal 10, URs 20a to 20c, NRs 30a 30c, and receiving terminals 40a to 40c.
  • the communication system 301 differs from the communication system 1 shown in FIG. 1 in the number of URs, NRs, and reception terminals, and the connection relationship between the transmission terminals 10, UR20a-20c, NR30a-30c, and reception terminals 40a 40c has changed Other than that, it is substantially the same.
  • UR20a 20c can be a branch router that forwards multicast packets to multiple forwarding addresses.
  • the multicast packet is encapsulated and transmitted between the transmitting terminal and the branch router and between the branch routers.
  • the receiving unit 22 of the UR 20a-20c determines whether or not the destination address of the encapsulated multicast packet matches the address of the UR 20a-20c itself.
  • the receiving unit 22 inputs the multicast packet to the transfer control unit 24 when they match, because the UR 20a is a branch router. If these conditions are not met, the receiving unit 22 inputs them to the transmitting unit 23.
  • the message processing unit 25 of the URs 20a to 20c functions as a determination unit that determines whether the UR is a branch router when the transmission terminal address is upstream of the multicast tree.
  • the message processing unit 25 makes a determination based on the control message and the transfer destination address held by the entry holding units 21a and 21c. Further, when determining that the message processing unit 25 is to be a branch router, the message processing unit 25 also functions as a transfer destination registration unit that registers a plurality of transfer destination addresses in the transfer destination holding unit in association with the transmission terminal address. Specifically, when the message processing unit 25 determines that the UR 20a 20c is a branch router, it generates an MFT entry in the entry holding unit 21a-2lc and registers the transfer destination address.
  • the message processing unit 25 stores the transfer destination address of the downstream branch router on the basis of the Redirect message 4 (participation / withdrawal request message) from the branch router downstream of the norators 20a-20c itself. 21a-21c, and the address of the downstream branch router is registered in the entry holding unit 21a-21c. As a result, an appropriate multicast tree in which the multicast packet is transferred from the transmitting terminal 10 to the receiving terminals 40a to 40c via the plurality of branch routers is set.
  • the message processing unit 25 generates the MFT entry not only when the UR 20a-20c is determined to be a branch router, but also when the UR 20a-20c is a terminal nolator connected to the receiving terminals 40a-40c. Then, the transfer destination address is registered corresponding to the transmission terminal address and the multicast group address. As a result, an appropriate multicast tree in which the multicast packet is transferred from the transmitting terminal 10 to the receiving terminals 40a and 40c via the branch router and the terminal router is set. The message processing unit 25 generates an MCT entry and registers a transfer destination address unless the UR 20a-20c is a branch router or a terminal router.
  • the message processing unit 25 determines whether the UR 20a 20c is a branch router or not. Then, it is determined whether a new control message should be generated and transmitted based on the received control message. If the message processing unit 25 does not become a branch router, it determines that the message is to be transmitted as it is, and inputs the received control message to the transfer unit 23. The message processing unit 25 determines that the message is to be newly generated when it becomes a branch router, and inputs the received control message to the message providing unit 26.
  • the message providing unit 26 generates a control message.
  • the message providing unit 26 generates a control message based on the control message received by the UR 20a-20c acquired from the message processing unit 25 and the information held by the entry holding units 21a 21c.
  • the message providing unit 26 inputs the generated control message to the transfer unit 23.
  • the entry holding unit 11 of the transmitting terminal 10 holds the address of any one of the branch router, the terminal router, and the receiving terminal as a destination address.
  • the message processing unit 14 deletes the forwarding address of the branch router from the transmission destination holding unit based on the Redirect message, which is the participation Z withdrawal message, and registers the branch router address in the transmission destination holding unit. Functions as a destination registration unit.
  • the multicast tree has an initial state and a stable state. For this reason, the processing in the initial state and the processing in the stable state will be described separately.
  • the entry holding units 11 and 21a to 21c do not hold the transmission destination address or the transfer destination address.
  • the receiving terminal 40a requests transmission of the multicast packet.
  • the receiving terminal 40a can request transmission according to MLDv2 when the router to which the receiving terminal 40a is connected via a wireless link is a U R. Specifically, receiving terminal 40a transmits Membership 1 ⁇ 0112 to 111200.
  • the receiving terminal 40a requests transmission of the multicast packet specified by the transmitting terminal address "S” and the multicast group address "G", that is, (S, G), using Membership Report2.
  • Membership Report2 is multicast to destination address
  • the address “R1” of the receiving terminal 40a is set as the group address “G” and the source address, and the designation of the multicast group address “G” is included.
  • the UR 20c existing at the lowermost position on the route from the receiving terminal 40a to the transmitting terminal 10 receives the Member ship Report2.
  • the message processing unit 25 of the UR 20c generates an MFT entry in the entry holding unit 21c because the UR 20c is a terminal router connected to the receiving terminal 40a.
  • the message processing unit 25 registers (S, G): [G] in the MFT entry.
  • the message processing unit 25 activates the KAT of the transfer destination address “G” and the JT related to (S, G).
  • the message processing unit 25 of the UR 20c inputs the received Membership Report 2 to the message providing unit 26.
  • the message providing unit 26 of the UR 20c generates a Join message 3 requesting the transmitting terminal 10 to transmit the multicast packet requested by the receiving terminal 40a using the Member ship Report2.
  • the message providing unit 26 sets the transmission terminal address “S” as the destination address, sets the UR20c address “UR3” as the transmission source address, specifies the multicast group address “G”, and specifies Generate message 3.
  • the message providing unit 26 of the UR 20c inputs the generated oin message 3 to the transfer unit 23, and the transfer unit 23 of the UR 20c transmits the Join message 3 to the transmission terminal 10. As a result, the UR 20c can transfer the Join message 3 to the URs 20b and 20a located further upstream.
  • the UR 20b existing on the route from the UR 20c to the transmitting terminal 10 receives the Join message 3.
  • the message processing unit 25 of the UR 20b refers to the entry holding unit 21b. Since the entry holding unit 21b does not hold the transfer destination address, the message processing unit 25 determines that the transfer destination address to which the UR 20b transfers the multicast packet is one received and determined by the oin message 3. I do. Therefore, the message processing unit 25 determines that the UR 20b does not become a branch router.
  • the message processing unit 25 of the UR 20b generates an MCT entry in the entry holding unit 21b.
  • the message processing unit 25 determines “UR3” set as the source address of the Join message 3 as the transfer destination address, and registers (S, G): [UR3] in the MCT entry.
  • the message processing unit 25 activates the KAT of the transfer destination address “UR3”.
  • URs that are not branch routers also retain the MCT.
  • the message processing unit 25 inputs the received oin message 3 to the transfer unit 23 as it is.
  • UR20b The transfer unit 23 transmits the Join message 3 to the transmitting terminal 10, and transfers the Join message to the UR 20a located further upstream.
  • the UR 20a located further upstream in the route from the UR 20c to the transmitting terminal 10 receives the Join message 3.
  • the message processing unit 25 of the UR 20a also generates an MCT entry in the entry holding unit 21a in the same manner as the UR 20b, registers (S, G): [UR3] in the MCT entry, and stores the transfer destination address “UR3” in the MCT entry. Start KAT. Since the NR 30a cannot interpret the special option, the NR 30a transfers the Join message 3 to the transmitting terminal 10 as a normal unicast packet.
  • transmitting terminal 10 receives Join message 3.
  • the message processing unit 14 generates an MFT entry in the entry holding unit 11.
  • the message processing unit 14 determines that “UR3” set as the source address of the Join message 3 is the destination address, and registers (S, G): [UR3] in the MFT entry.
  • the message processing unit 25 activates the KAT of the transmission destination address “UR3”.
  • a multicast tree in which a multicast packet is transferred from the most upstream transmitting terminal 10 to the receiving terminal 40a via the UR 20c, which is the terminal router, is set.
  • the receiving terminal 40a is participating in the multicast tree specified by (G) and (G)
  • the receiving terminal 40b wants to start receiving a multicast packet transmitted by the transmitting terminal 10
  • FIG. Join the multicast tree as shown.
  • FIG. 32 the states of the entry holding units 11, 21a, and 21b are illustrated as pre-update entry holding units 114, 217a, and 216b.
  • the receiving terminal 40b since the receiving terminal 40b is connected to the NR 30b, it detects that the router to which the receiving terminal 40b is connected via the wireless link is NR. Therefore, the receiving terminal 40b transmits a Join message 3 requesting participation in the multicast tree specified by (S, G). Since a special option is set for the Join message 3, the NR30bf and oin message 3 are not discarded, and the U existing in the route from the receiving terminal 40b to the transmitting terminal 10 R20b can receive Join message 3.
  • the receiving terminal 40b sets the sending terminal address “S” as the destination address, sets the receiving terminal 40b address “R2” as the source address, specifies the multicast group address “G”, and sends a ⁇ Join message 3 Send.
  • the UR 20b join message 3 existing at the lowermost position on the route from the receiving terminal 40b to the transmitting terminal 10 is received.
  • the message processing unit 25 of the UR 20b refers to the pre-update entry holding unit 216b of the UR 20b.
  • the message processing unit 25 determines that “UR3” already held as the transfer destination address corresponding to (S, G) by the pre-change entry holding unit 216b that holds the MCT entry and the received (S, G) Since the source address “R2” of the Join message 3 is different, the UR20b determines that there are multiple destination addresses “UR3” and “R2” for forwarding the multicast packet specified by (S, G). . Therefore, the message processing unit 25 determines that the UR 20b is a branch router. Thus, in the initial state, the MCT entry is used to determine the ability to become a branch router.
  • the message processing unit 25 of the UR 20b which has determined to be the branch router, deletes the MCT entry from the pre-update entry holding unit 216b, and newly generates an MFT entry.
  • the message processing unit 25 adds (S, G): [UR3, R2] to the MFT entry of the entry holding unit 21b based on the information held by the pre-update entry holding unit 216b and the received oin message 3.
  • the message processing unit 25 activates the KAT of the transfer destination address “R2” and the JT related to (S, G). Further, the message processing unit 25 inputs the received: Join message 3 to the message providing unit 26 of the UR 20b.
  • the message providing unit 26 of the UR 20b generates the Redirect message 4 based on the transfer destination address held by the entry holding unit 21b and the received fcjoin message 3. After generating the Redirect message 4, the message providing unit 26 receives and discards the join message 3.
  • the message providing unit 26 of the UR 20b sends a Join message requesting that the address ⁇ UR2 '' of the UR 20b to be a branch router be added to the destination address, and the transfer destination address ⁇ UR3 '' of the UR 20b that is a branch router from the destination address.
  • a Redirect message 4 including a Prune message requesting that “R2” be deleted is generated.
  • the message providing unit 26 sets the transmission terminal address "S" as the destination address and the transmission source address. Set the address “UR2” of UR20b to the address, and use it as Redirect message 4 specifying the multicast group address “G”. Then, the message providing unit 26 of the UR 20b inputs the generated Redirect message 4 to the transfer unit 23, and the transfer unit 23 of the UR 20b transmits the Redirect message 4 to the transmission terminal 10. As a result, the UR 20b can transfer the Redirect message 4 to the UR 20a, which is further upstream.
  • the transfer unit 23 provides the participation Z-leaving message to the transmission address requesting that the address of the branch router be added to the transmission destination address and the transfer destination address of the branch router be deleted from the transmission destination address. It functions as a router message providing unit to perform.
  • the UR 20a existing on the route from the UR 20b to the transmitting terminal 10 receives the Redirect message 4.
  • the message processing unit 25 of the UR 20a updates the entry holding unit 21a according to the Reidirect message 4. Specifically, the message processing unit 25 stores, as the transfer destination address, “UR3” of “UR3” and “R2” that have been instructed to delete from the MCT entry of the pre-update entry holding unit 217a. And delete the KAT, and register “UR2” for which the addition instruction has been received as the transfer destination address in the MCT entry.
  • the message processing unit 25 activates the KAT of the transfer destination address “UR2”.
  • the MCT entry in the entry holding unit 21a is updated to (S, G): [UR2].
  • the UR located upstream of the branch router also adds the branch router address included in the Redirect message 4 to the transfer destination address, and deletes the branch router transfer destination address from the transfer destination address.
  • the message processing unit 25 inputs the received Redirect message 4 to the transfer unit 23 as it is. Then, the transfer unit 23 of the UR 20a transmits the Redirect message 4 to the transmitting terminal 10, and transfers the NR 30a Redirect message 4 to the transmitting terminal 10 as a unicast packet.
  • transmitting terminal 10 receives Redirect message 4.
  • the message processing unit 14 updates the entry holding unit 11 according to the Reidirect message 4. Specifically, the message processing unit 14 holds, as the transmission destination address, of “UR3” and “R2” that have received the deletion instruction from the MFT entry of the pre-change entry holding unit 114. Delete “UR3” and its KAT, and register the address “UR2” of the branch router receiving the addition instruction as the destination address in the MFT entry. The message processing unit 14 sends the destination address "UR2" Start KAT. As a result, the MFT entry in the entry holding unit 11 is updated to (S, G): [UR2]. In this way, the message processing unit 14 deletes the forwarding address of the branch router from the destination holding unit based on the join / withdrawal message, and registers the destination address of the branch router in the destination holding unit. Functions as a registration unit.
  • the multicast packet is transferred from the most upstream transmitting terminal 10 to the receiving terminal 40a via the UR 20b which is a branch router and the UR 20c which is a terminal router, and the receiving terminal 40b is transmitted via the UR 20b.
  • new receiving terminals join the multicast tree one after another. Then, each time there is a new participation, the multicast tree is changed and set.
  • the receiving terminal 40b, the UR20c that has become the terminal router, and the UR20b that has become the branch router respectively transmit a Join message 3 to the UR20b that is a branch router and the transmitting terminal 10 at regular intervals. Also, the receiving terminal 40a periodically transmits Membership Report2 to the UR 20c which is the terminal router. The transmitting terminal 10 and the UR 20b receive the Join message 3 and the UR 20c receives the Membership Report 2 to maintain the destination address and the transfer destination address of the entry holding channels 11, 21a and 21c.
  • the message providing unit 26 of the UR20b that has become a branch router has an entry holding unit.
  • a Join message 3 with the destination address “S” and the source address “UR2” is generated. Then, the transfer unit 23 of the UR 20b transmits the generated oin message 3.
  • the message processing unit 14 of the transmitting terminal 10 refers to the entry holding unit 11 and, when the KAT of the destination address “UR2” expires, sends the entry address “UR2” corresponding to (S, G) from the entry holding unit 11. ". On the other hand, within the holding time when the KAT of the destination address “UR2” expires, the message processing unit 14 transmits the Join message 3 with the source address of “UR2” from the When receiving, restart the KAT of the destination address "UR2" to extend the holding time.
  • the message processing unit 25 of the UR 20b which has become a branch router, refers to the entry holding unit 21b and deletes the MFT entry of the entry holding unit 21b when the KAT of the transfer destination address "UR3" expires. To create an MCT entry and register the transfer destination address "R2".
  • the message processing unit 25 determines that the UR20b power branching router has become a non-branching router (hereinafter, referred to as a “non-branching router”) because the transfer destination address is “R2”. Then, the message processing unit 25 instructs the message providing unit 26 to generate the Redirect message 4.
  • the message providing unit 26 adds the transfer destination address “R2” of the UR20b that has become a non-branch router to the destination address, and deletes the address “UR2” of the UR20b that has become a non-branch router from the destination address. Generate a Redirect message 4 requesting Then, the transfer unit 23 transmits the Redirect message 4 to the transmission terminal address “S”.
  • the message processing unit 25 determines whether the UR changes from a branch router to a non-branch router. Then, if the message processing unit 25 determines that the non-branching router will be the non-branching router, the forwarding unit 23 adds the transfer destination address of the non-branching router to the destination address, and adds the address of the non-branching router from the destination address. A join / leave request message requesting deletion is sent to the sending terminal address. As a result, in the communication system 301, even if the UR that has once become a branch router changes to a non-branch router, it can be changed to an appropriate multicast tree.
  • the message processing unit 25 of the UR 20b deletes the MCT entry in which the transfer destination address "R2" is registered from the entry holding unit 21b.
  • the message processing unit 25 of the UR 20b sets the receiving unit 22 of the UR 20b to the terminal router UR 20c, the receiving terminal 40b power, and the source
  • the KAT with the forwarding addresses “UR3” and “R2” is restarted to extend the holding time.
  • the message processing unit 25 of the terminal router UR20c refers to the entry holding unit 21c, and when the KAT of the transfer destination address “G” expires, the message processing unit 25 of the entry holding unit 21c checks whether the MAT entry is in the MFT entry. Then, the transfer destination address “G” corresponding to (S, G) is deleted. Further, when the receiving unit 22 of the UR 20c receives the Membership Report 2 from the receiving terminal 40a, the message processing unit 25 of the UR 20c restarts the KAT of the transfer destination address “G”.
  • Membership Report 4 can also function as a maintenance request message for maintaining the multicast tree.
  • FIG. 33 taking the case of transition to the stable state in the state of the multicast tree shown in FIG. 32 as an example.
  • the state of the entry holding unit 21a in FIG. 32 is shown in FIG. It is illustrated in FIG.
  • the packet generating unit 15 of the transmitting terminal 10 When the multicast tree shifts to the stable state, the packet generating unit 15 of the transmitting terminal 10 generates a multicast packet in which the Stable option indicating the shift to the stable state is set, and the transmitting unit 13 transmits the multicast packet. As a result, the transmitting terminal 10 notifies the participating receiving terminals 40a and 40b that the multicast tree has shifted to a stable state.
  • the receiving terminals 40a and 40b After receiving the multicast packet with the Stable option set, the receiving terminals 40a and 40b transmit a Stable Membership Report for the receiving terminal 40a and a Stable Join message 3a for the receiving terminal 40b.
  • the receiving terminal 40b After receiving the multicast packet in which the Stable option is set, the receiving terminal 40b transmits a Stable Join message 3a having the destination address “S” and the source address “R2”.
  • the URs 20b, 20c After receiving the Stable Join message 3a from the receiving terminals 40a, 40b or the downstream UR, the URs 20b, 20c transmit the Stable Join message 3a.
  • the message provider 26 of the terminal router UR20c determines that when the JAT expires and there is at least one transfer destination address for which the KAT has not expired, the destination address is the transmission terminal address "S" and the transmission destination address is "S". Stable with source address "UR3" and multicast group address "G"
  • UR20c transfer unit 23 Sends the generated stable join message 3a.
  • the UR 20b existing on the route from the UR 20c to the transmitting terminal 10 receives the Stable Join message 3a from the UR 20c.
  • the message processing unit 25 of the UR 20b refers to the entry holding unit 21b and determines whether the entry is an MFT entry or an MCT entry that holds the source address of the received stable join message 3a as a transfer destination address. . If the message processing unit 25 holds the transmission source address of the MFT entry force Stable Join message 3a as the transfer destination address, it extends the holding time of the transfer destination address.
  • the message processing unit 25 does not extend the holding time when the source address of the MCT entry Stable Join message 3a is held as the transfer destination address. If the source address of the MFT entry force Stable Join message 3a is held as the transfer destination address, the UR20b will, of course, be in the stable state within the hold time immediately before the KAT of the transfer destination address expires. This means that Join message 3a has been received.
  • the message processing unit 25 of the UR 20b Since the message processing unit 25 of the UR 20b holds the source address "UR3" of the received Stable Join message 3a of the MFT entry force of the entry holding unit 21b as the transfer destination address, the message processing unit 25 of the transfer destination address "UR3" Restart KAT and extend the hold time.
  • the UR 20b existing on the path from the receiving terminal 40b to the transmitting terminal 10 receives the Stable Join message 3a from the receiving terminal 40b. Then, the message processing unit 25 of the UR 20b holds the source address “R2” of the received Stable Join message 3a of the MFT entry capability of the entry holding unit 21b as the transfer destination address, and thus stores the transfer destination address “R2”. Restart KAT and extend the hold time.
  • the message processing unit 25 of the UR 20b instructs the message providing unit 26 to set a sta- ble option in a join message to be generated in the future. Then, if there is at least one transfer destination address where the KAT has not expired when the JT expires, the message providing unit 26 of the UR 20b determines that the destination address is the transmission terminal address “S” and the transmission source address is “ Generate a stable join3a message specifying "UR2" and "G" as the multicast group address. Then, the transfer unit 23 of the UR 20b transmits the generated stable join message 3a. In this way, after receiving the Stable Join message 3a, the branch router itself transmits the Stable Join message 3a.
  • the UR20a existing on the route to the UR20b force transmitting terminal 10 receives the Stable Join message. Receives message 3a.
  • the message processing unit 25 of the UR 20a refers to the pre-change entry holding unit 21la.
  • the before-change entry holding unit 21 la does not hold the MCT entry and holds the transfer destination address registered in the MCT entry.
  • the source address of the received stable join message 3a is “UR2 ,
  • the KAT at the transfer destination address "UR2" must not be restarted and the hold time must be extended.
  • the Sta- ble Join message 3a is not used for restarting the KAT of the transfer destination address held in the MCT entry.
  • the message processing unit 25 of the UR 20a inputs the Stable Join message 3a to the transfer unit 23 as it is.
  • the transfer unit 23 of the UR 20a transmits the stable join message 3a to the transmission terminal 10, and transfers the NR30a stable join message 3a to the transmission terminal 10 as a unicast packet.
  • the KAT of the transfer destination address "UR3" held in the before-update entry holding unit 218a expires because it is not restarted.
  • the message processing unit 25 of the UR 20a deletes the transfer destination address “UR2” for which the KAT has expired from the pre-update entry holding unit 218a.
  • the entry holding unit 21a updates the state in which the MCT entry is discarded and the transfer destination address is not held.
  • transmitting terminal 10 receives stable join message 3a.
  • the source address ⁇ UR2 '' of the received stable join message 3a is held as the destination address, so the KAT of the destination address ⁇ UR2 '' is restarted and the holding time is extended. I do.
  • the KAT of the forwarding address “G” held by the entry holding unit 21c of the UR20c which is the terminal router, is similar to the case of maintaining the multicast tree in the initial state, when the UR20c receives the Membership Report, as in the case of maintaining the multicast tree in the initial state.
  • the message processing unit 25 restarts.
  • the communication system 301 after the transition to the stable state, by using the Staple Join message 3a used only for extending the holding time of the transfer destination address held by the MFT entry of the entry holding unit 21a 21c. Only the transfer destination address held by the MFT entry of the entry holding units 21a-21c is held, and the transfer destination address held by the MCT entry is deleted. As a result, the UR20a-20c becomes the MFT entry of the entry holding unit 21a-21c. Only when is a branch router or end router that holds the forwarding address, the forwarding address can be kept and the multicast tree in a stable state can be maintained.
  • the MCT is used for setting a multicast tree, and more specifically, for determining whether or not the UR is a branch router. Therefore, it is useful in the initial state of the multicast tree where the receiving terminal frequently participates. However, after the multicast tree transitions to the stable state, the number of receiving terminals newly joining the multicast tree decreases, so the opportunity to determine whether the UR becomes a branch router decreases, and the MCT entry becomes smaller. Opportunities are also reduced. Therefore, the transfer destination address held by the MCT entry is held only in the initial state, and is deleted after the multicast tree transitions to the stable state, thereby further reducing the load on the URs other than the branch router and the terminal nolator.
  • the receiving terminal 40c wants to start receiving the multicast packet transmitted by the transmitting terminal 10, it joins the stable multicast tree as shown in FIG.
  • the entry holding units 11 and 21a change from the state in FIG. 33 in which the receiving terminals 40a and 40b participate in the power S, the state in FIG. 34 in which the receiving terminal 40c participates, and the state in FIG. 33 from the state in FIG. 34, the states of the entry holding units 11 and 21a in FIG. 33 are shown as pre-update entry holding units 116 and 220a, and the entry holding units 11 and 21a in the transfer state are shown in FIG.
  • This state is illustrated as a transition entry holding unit 115, 219a.
  • the receiving terminal 40c since the receiving terminal 40c is connected to the NR 30c, similarly to the receiving terminal 40b, the receiving terminal 40c detects that the router to which the receiving terminal 40c is connected via a wireless link is NR, and Send message 3. At this time, the receiving terminal 40c participates in the multicast tree, and receives a multicast packet with the Stable option set. Therefore, the receiving terminal 40c transmits a normal Join message 3 in which the Stable option is not set. The receiving terminal 40c sets the transmission terminal address “S” as the destination address, sets the address “R3” of the receiving terminal 40c as the source address, specifies the multicast group address “G”, and transmits the oin message 3. .
  • the UR 20a which is present at the most downstream of the path from the receiving terminal 40c to the transmitting terminal 10 Force Join message 3 is received.
  • the message processing unit 25 of the UR 20a refers to the pre-update entry holding unit 220a of the UR 20a.
  • the message processing unit 25 receives the normal Join message 3 which is not the Stable Join message 3a used by the pre-update entry holding unit 220a to hold the transfer destination address and to maintain the stable multicast tree.
  • “R3” set as the source address of the received join message 3 is determined as the transfer destination address to which the UR 20a transfers the multicast packet.
  • the message processing unit 25 determines that the UR 20a does not become a branch router.
  • the message processing unit 25 of the UR 20a generates an MCT entry in the pre-update entry storage unit 220a, registers (S, G): [R3], and sets the state of the entry storage unit 219a during migration. You. Further, the message processing unit 25 inputs the received fcjoin message 3 as it is to the transfer unit 23 of the UR 20a, and the transfer unit 23 transmits the Join message 3 to the transmission terminal 10.
  • Transmitting terminal 10 receives Join message 3. Since the pre-update entry holding unit 116 does not hold “R3” set as the source address of the received oin message 3, the message processing unit 14 sets “R3” as the new transfer destination address. to decide. The message processing unit 14 generates an MFT entry, adds the transfer destination address “R3”, and changes the entry storage unit 116 before updating to the state (S, G) of the entry storage unit 115 during migration: [UR2, R3]. Update. Thereby, a multicast tree in which the multicast packet is directly transferred from the transmitting terminal 10 to the receiving terminal 40c is once constructed.
  • the UR 20b transmits a stable join message 3a in which the destination address is "S”, the source address is "UR2", and the multicast group address is "G”. Then, the UR 20a existing on the route from the UR 20b to the transmitting terminal 10 receives the stable join message 3a.
  • the message processing unit 25 of the UR 20a refers to the in-transition entry holding unit 219a.
  • the message processing unit 25 sends the “R3” already held as the transfer destination address corresponding to (S, G) by the entry storing unit 219a during migration, and the Stable Join message 3a related to the received (S, G).
  • Join address 3 is different from the source address “UR2”, so it is determined that stable join message 3a is not used to maintain a stable multicast tree.
  • message processing The unit 25 determines that the UR 20a is a branch router because the UR 20a forwards the multicast packet specified by (S, G) to a plurality of destination addresses “UR2” and “R3”.
  • the message processing unit 25 of the UR 20a deletes the MCT entry from the in-transition entry holding unit 219a and newly generates an MFT entry.
  • the message processing unit 25 registers (S, G): [UR2, R3] in the MFT entry of the entry holding unit 21a.
  • the message providing unit 26 of the UR 20a is a join message requesting to add the address "1113 ⁇ 41" of the UR 20a to be a new branch router to the destination address, and a branch router from the destination address.
  • a Redirect message 4 including a UR20a transfer destination address “UR2” and a Prune message requesting that the “R3” be deleted is generated.
  • the message providing unit 26 sets the transmission terminal address “S” as the destination address, the UR20a address “UR1” as the source address, and the Redirect message 4 specifying the multicast group address “G”. I do.
  • the transfer unit 23 of the UR 20a transmits the Redirect message 4 to the transmitting terminal 10.
  • Transmission terminal 10 receives Redirect message 4.
  • the message processing unit 14 updates the entry holding unit 11 according to the Redirect message 4. Specifically, the message processing unit 14 deletes “UR2” and “R3” that have been instructed to be deleted from the MFT entry of the entry-in-transition holding unit 115, and deletes the branching router that has been instructed to add. Register the address "UR1" as the destination address in the MFT entry. Thereby, the MFT entry of the entry holding unit 11 is updated to (S, G): [UR1].
  • a multicast packet is transferred to the receiving terminal 40a via the UR20c, a multicast packet is transferred to the receiving terminal 40b via the UR20a and the UR20b, and a multicast packet is transferred to the receiving terminal 40c via the UR20a.
  • a multicast tree is set up. In this way, a stable multicast tree is set.
  • step (S1102) when the c message processing unit 25 of the UR 20a 20 determines that the entry does not exist, the c message processing unit 25 determines whether the received oin message is a Stable Join message with the Stable option set. (SI 103). When the message processing unit 25 of the UR 20a 20c determines that the message is a stable join message, the transfer unit 23 of the UR 20a-20c transfers the stable join message to the upstream (SI 106).
  • step (S1103) when the message processing unit 25 of the UR 20a-20c determines that the message is a normal Join message rather than a Stable Join message, it generates an MCT entry in the entry holding units 21a-21c. (S1105). Further, the message processing unit 25 of the UR 20a-20c registers the source address of the received oin message in the generated MCT entry as a transfer destination address, and activates the KAT (S1107). Then, the transfer unit 23 of the UR 20a-20c transfers the Join message to the upstream (S1108).
  • step (S1102) when the message processing unit 25 of the UR 20a-20c determines that an entry exists, the message processing unit 25 determines whether the entry is an MCT entry or an MFT entry (S1104). If it is determined that the MFT entry is an MFT entry, the message processing unit 25 of the UR 20a-20c sets the transmission terminal address and the multicast group address indicated by the Join message, that is, the transfer destination address of the MFT entry corresponding to (S, G) to: It is determined whether the source address of the Join message is included (S1109).
  • the message processing unit 25 of the UR20a-20c determines that the source address of the Join message is not included in the transfer destination address of the MFT entry corresponding to (S, G) as the transfer destination address. It is registered in the MFT entry corresponding to (S, G) in the entry holding units 21a 21c (S1114). Then, the message processing unit 25 of the UR 20a 20c discards the received fcjoin message (SI 115). Furthermore, the message processing unit 25 of the UR20a-20c The KAT of the transfer destination address held by the MFT entry corresponding to the registered (S, G) is activated (S1118).
  • step (S1109) when the message processing unit 25 of the UR 20a-20c determines that the message is included in the transfer destination address of the MFT entry corresponding to (S, G), Proceed to S1115) and discard the received fcjoin message. Further, the message processing unit 25 of the UR 20a-20c proceeds to step (SI 118), and restarts the KAT of the transfer destination address registered in the MFT entry corresponding to (S, G).
  • step (S1104) if it is determined that the entry is an MCT entry, the message processing unit 25 of the UR 20a-20c sets the transmission terminal address indicated by the Join message and the multicast group address, that is, (S, G) It is determined whether the transfer destination address of the corresponding MCT entry includes the source address of the Join message (SI 110). If the message processing unit 25 of UR20a-20c determines that the message is not included in the MCT entry corresponding to (S, G), it generates an MFT entry corresponding to (S, G) (Sllll) ).
  • the message providing unit 26 of the UR 20a-20c generates a Redirect message corresponding to (S, G), and the transfer unit 23 of the UR 20a-20c transmits the Redirect message to the transmission terminal address (S1113). . Then, the UR 20a-20c proceeds to steps (S1114) and (S1115), registers the source address as the transfer destination address in the generated MFT entry corresponding to (S, G), and discards the Join message. Further, the UR 20a-20c proceeds to step (S1118), and activates the KAT of the transfer destination address held as the MFT entry corresponding to the registered (S, G). In this case, UR20a-20c also activates JT.
  • step (S1110) when the message processing unit 25 of the UR 20a-20c determines that the message is included in the transfer destination address of the MCT entry corresponding to (S, G), the message is received and joined. It is determined whether the message is a Stable Join message with the Stable option set (S1112). If the message processing unit 25 of the UR 20a 20c determines that the message is a stable join message, the transfer unit 23 of the UR 20a 20c transfers the stable join message to the upstream (S1116).
  • step (S1112) if it is determined that the message processing unit 25 of the UR 20a-1 20c is a normal Join message instead of a Stable Join message, the transfer unit 23 of the UR 20a-20c transmits the Join message. Upstream After the transfer (S1117), the process proceeds to step (S118), and the KAT of the transfer destination address included in the MCT entry corresponding to (S, G) is restarted. Thus, the communication system 301 sets the multicast tree.
  • the receiving unit 22 of the UR 20a-20c receives the Prune message (S1201).
  • the message processing unit 25 of the UR 20a 20c determines whether the entry holding units 21a-21c hold the source address of the Prune message as the transfer destination address (S1202). If the message processing unit 25 of the UR 20a-1c determines that it does not hold the source address of the Prune message, it forwards the received Prune message upstream (S1208).
  • step (S1202) if the message processing unit 25 of the UR 20a-20c determines that the source address of the Prune message is held, the MCT entry or MFT of the entry holding unit 21a-2lc is determined. It is determined whether the entry is retained as a deviation or not (S1203). When it is determined that the MCT entry is held as the MCT entry, the message processing unit 25 of the UR 20a-20c deletes the MCT entry from the entry holding unit 21a-21c (S1205). Then, the UR20a-20c proceeds to step (S1208).
  • step (S1203) when the message processing unit 25 of the UR 20a-20c determines that the MFT entry is held, the MFT of the source address of the Prune message is stored in the MFT of the entry holding unit 21a-21c. Delete from the entry (S1204).
  • step (S1204) the message processing unit 25 of the UR20a-20c determines whether the MFT entry changes to an MCT entry by deleting the source address of the Prune message from the MFT entry (S1206). .
  • step (S1206) if the message processing unit 25 of the UR 20a 20c determines that the MCT entry is changed, the message processing unit 25 instructs the message providing unit 26 to generate a Redirect message.
  • the message providing unit 26 of the UR 20a 20c generates the Redirect message 4, and the transmitting unit 23 transmits the Redirect message 4 to the transmitting terminal 10 (S1207).
  • the message processing unit 25 of the UR 20a-20c discards the Prune message (S1209).
  • step (S1206) the message processing unit 25 of the UR 20a-20c stores the MFT entry in the MCT entry even if the MFT entry holds a plurality of transfer destination addresses and the source address is deleted from the MFT entry. If it is determined that there is no change, the process proceeds to step (S1209).
  • FIG. 37 shows a transfer method using the multicast tree in the initial state shown in FIG.
  • transmitting terminal 10 sets a transmitting terminal address "S" as a source address and a multicast group address "G" as a destination address in data to generate a multicast packet. Then, the transmitting terminal 10 sets the transmitting terminal address “S” as the source address and the destination address “UR2” held by the entry holding unit 11 as the destination address in the generated multicast packet, and encapsulates the multicast packet. . Then, the transmitting terminal 10 transfers the encapsulated multicast packet 105a to the UR 20b, which is a branch router, by unicast (S1301).
  • the NRs 30a and UR20a existing on the path between the transmitting terminal 10 and the UR 20b, which is a branch router, can be transferred by ordinary unicast processing without being aware that the multicast packet 105a is a multicast packet.
  • the UR 20b sets the source address "S" of the encapsulated multicast packet 105a in the tunnel source address of the entry holding unit 21b, and decapsulates the encapsulated multicast packet 105a.
  • the UR 20b copies the multicast packet using the transfer control unit 24 in order to transmit the multicast packet to the transfer destination addresses “UR3” and “R2” held by the entry holding unit 21b.
  • the UR20b sets the address ⁇ UR2 '' of the UR20b itself as the source address, sets the transfer destination address ⁇ UR3 '' as the destination address, encapsulates it, and encapsulates the multicast packet 105b into a capsule.
  • the UR 20c decapsulates the encapsulated multicast packet 105b, extracts the multicast packet 105c, and transfers it to the receiving terminal 40a (S1303).
  • the UR20b sets the address "UR2" of the UR20b itself as the source address, sets another transfer destination address "R2" as the destination address, encapsulates the packet, and encapsulates the multicast packet 105d. Is transferred to the receiving terminal 40b (S1304). In this way, data can be multicast-distributed to a plurality of destinations, the receiving terminal 40a and the receiving terminal 40b.
  • UR20a-20 c holds a plurality of transfer destination addresses and becomes a duplication point only when it is determined that the branch router forwards the multicast packet transmitted by the transmitting terminal 10 to the plurality of transfer destination addresses. Further, when the UR20a-20c becomes a branch router, the UR20a-20c adds the address of the UR20a-20c to the destination address and deletes the transfer destination address of the branch router from the destination address, such as a Redirect message. By sending the join request message to the sending terminal address, the UR or sending terminal 10 upstream from itself can add the branch router address to the transfer destination address and destination address, and branch. You can request that the forwarding address of the router be deleted from the forwarding address or destination address.
  • the upstream UR or the transmitting terminal 10 holds the address of the downstream branch router as the transfer destination address / the destination address, and deletes the transfer destination address of the downstream branch router from the transfer destination address and the destination address. it can.
  • the UR20a 20c force can be a branch router as appropriate. That is, in the communication system 301, the branch router is dynamically determined. Then, an appropriate multicast tree in which the multicast packet is transferred from the transmitting terminal 10 to the receiving terminals 40a to 40c via the branch router is set. Of the UR20a-20c and NR30a-30c, only the branch router holds the forwarding address and forwards multicast packets to multiple forwarding destinations. Therefore, the UR and NR existing between the transmitting terminal 10 and the branch router need only transfer the encapsulated multicast packet by unicast.
  • the load on the URs other than the branch routers is reduced, and even when the routers other than the branch routers are NRs, multicasting can be realized as the entire communication system 301.
  • multicasting can be realized as the entire communication system 301.
  • the load on the entire communication system could not be sufficiently reduced.
  • an appropriate multicast tree is set without increasing the load on the communication system 301, and even when there is an NR between the transmitting terminal and the branch router or between the branch routers. To achieve marcasting.
  • the message processing units 14 and 25 determine that the KAT of the transmission destination address or the transfer destination address has expired. In this case, the destination address and transfer destination address are deleted from the entry holding units 11 and 21a-21c, and the Join message 3 or the Stable Join message 3a (maintenance request) using the transfer destination address and destination address as the source address are deleted. If the sending terminal 10 or UR20a 20c receives the message) before the KAT expires, the KAT is restarted. Therefore, by maintaining the multicast tree until the KAT expires, the communication system 301 can always use an appropriate multicast tree even when the network topology changes. In addition, the communication system 301 can maintain the multicast tree as long as necessary by using the Join message 3 and the Stable Join message 3a (maintenance request message).
  • the communication system 401 includes a transmitting terminal 10, URs 20a to 20f, NRs 30a and 30b, and receiving terminals 40a to 40c.
  • the communication system 401 differs from the communication system 1 shown in FIG. 1 in the number of URs, NRs, and number of receiving terminals, and differs from the transmitting terminal 10, the URs 20a to 20f, the N30a and 30b, and the receiving terminals 40a to 40c. It is substantially the same except that the connection relation of S has changed. It is assumed that the transmitting terminal 10 moves on the network and the transmitting terminal address changes from “S” to “S ′”.
  • the receiving terminal 40a includes an entry holding unit 41, a receiving unit 42, a transmitting unit 43, a packet processing unit 44, and a message providing unit 45.
  • the receiving terminals 40b and 40c have the same configuration as the receiving terminal 40a.
  • the receiving unit 42 receives a control message and a multicast packet from the UR 20a 20f, the NRs 30a and 30b, and the transmitting terminal 10.
  • the receiving unit 42 inputs the received control message and multicast packet to the packet processing unit 44.
  • the entry holding unit 41 is an address holding unit that holds the ISA, that is, the transmission terminal address and the multicast gnole address. As shown in FIG. 40, the entry holding unit 41 includes IS A, multicast group address, oISA, MPT (Message Pending Timer), ST ( Stale Timer). The entry holding unit 41 holds ISA and oISA in association with each other.
  • MPT is a timer value for measuring a message suppression time for suppressing transmission of a Prune message or a Leave Group message. While the MPT has expired and is off, a Prune message or a Leave Group message is transmitted. While the MPT is on, no Prune or Leave Group messages are sent.
  • ST is a timer value that measures the oISA retention time. The ST is held in association with the oISA. When the ST expires, the corresponding oISA is deleted from the entry holding unit 41.
  • the packet processing unit 44 processes the control message and the multicast packet.
  • the packet processing unit 44 acquires the control message and the multicast packet received by the receiving terminal 40a from the receiving unit 42.
  • the packet processing unit 44 sets the ISA “S” currently held by the entry holding unit 41 to the oISA of the entry holding unit 41, Start the ST. Further, the packet processing unit 44 sets the ISA “S ′” included in the LU message to the ISA of the entry holding unit 41.
  • the packet processing unit 44 refers to the entry holding unit 41, and determines whether or not the source address of the multicast packet is oISA. When the source address is oISA, the packet processing unit 44 refers to the entry holding unit 41 and determines whether the MPT is on or off. When the MPT is off, the packet processing unit 44 instructs the message providing unit 45 to generate a Prune message or Leave Group message specifying oISA. Further, the packet processing unit 44 activates the MPT of the entry holding unit 41. Further, the packet processing unit 44 deletes the oISA whose ST has expired from the entry holding unit 41.
  • the message providing unit 45 generates a control message and provides it via the transmitting unit 43.
  • the message providing unit 45 acquires the ISA and the multicast group address from the entry holding unit 41.
  • the message providing unit 45 generates a Join message, a Membership Report, a Stable Join message, and the like by using the acquired ISA and multicast gnope address.
  • the message providing unit 45 generates a Prune message or a Leave Group message in accordance with an instruction from the packet processing unit 44 to generate a Prune message or a Leave Group message specifying oISA.
  • the message providing unit 45 stores the generated control message Input to the transmitter 43.
  • the message providing unit 45 determines whether the transmitting terminal 10 is based on the location update message (LU message) that notifies the changed transmitting terminal address. Provision of a participation request message (Cioin message or Membership Report) requesting that the address of the receiving terminal be added to the destination address of the multicast packet transmission to the new transmitting terminal address (ISA) Providing a receiving terminal message Functions as a unit. Further, when the receiving terminal 40a connects to the NR, the message providing unit 45 provides a participation request message to which data for instructing not to discard the participation request message is added. Specifically, the message providing unit 45 generates the Join message 3 and provides it via the transmitting unit 43.
  • LU message location update message
  • ISA new transmitting terminal address
  • Transmitting section 43 transmits a control message to URs 20a-20f, NRs 30a and 30b, and transmitting terminal 10.
  • the transmitting unit 43 acquires the control message from the message providing unit 45 and transmits it.
  • FIG. 38 shows a state immediately after the transmitting terminal 10 has moved from oISA “S” to ISA “S ′”. Therefore, in FIG. 38, the entry holding units 21a to 21f hold the forwarding address in the multicast tree specified by (S, G) using oISA “S”.
  • the transmitting terminal 10 exists in the oISA “S”
  • the multicast tree is set to be optimal when the oISA “S” is located upstream of the multicast tree. Also, all of the receiving terminals 40a-40c participate in the multicast tree.
  • the entry holding unit 11 of the transmitting terminal 10 holds (S, G): [UR1], the entry holding unit 21a of UR20a holds (S, G): [UR3, UR6] as MFT entries, and UR20c
  • the entry holding unit 21c holds (S, G): [UR4, UR5] as an MFT entry, and is a branch router.
  • the entry holding units 21d to 21f of the UR 20d to 20f hold (S, G): [G] as an MFT entry, and serve as a terminal nolator. [0303]
  • the packet generation unit 15 When the transmitting terminal 10 moves from oISA "S" to ISA "S '", the packet generation unit 15 generates a BU message 6 in which oISA "S" is associated with ISA "S'".
  • the packet generator 15 sets the destination address of the BU message 6 to “UR1” according to the entry holding unit 11. Then, the packet generator 15 provides the BU message 6 to the UR 20a via the transmitter 13.
  • the message processing unit 25 of the UR 20a holds the ISA "S '" and the oISA "S” in association with each other based on the BU message 6 received by the reception unit 22. Then, the message processing unit 25 of the UR 20a causes the transfer unit 23 to transfer the control message addressed to the oISA “S” received by the reception unit 22 to the ISA “S ′”. In this way, the UR 20a establishes a tunnel (
  • Bi-Directional Tunneling 9 to function as a home agent.
  • transmitting section 13 of transmitting terminal 10 transmits multicast packet 105 to UR 20a based on entry holding section 11, and transmits using multicast tree specified by (S, G).
  • the multicast tree specified by (S, G) includes redundant paths because it is set to be optimal when oISA “S” is upstream of the multicast tree. Therefore, the communication system 201 needs to reset the multicast tree specified by (S ′, G) based on the ISA “S ′”. Therefore, the packet generator 15 generates the multicast packet 105 in which the “Stable” option is not set.
  • the packet generation unit 15 adds, to the multicast packet 105, an LU message notifying an ISA in which oISA “S” is associated with 138 “3 ′”.
  • the packet generating unit 15 provides such a multicast packet 105 to the receiving terminals 40a to 40c via the transmitting unit 13, and the transmitting terminal 10 changes the oISA "S" to the ISA "S '" to the receiving terminals 40a to 40c. Notify that it has moved.
  • the packet generation unit 15 when the transmission terminal address is changed, first, the packet generation unit 15 provides a transfer destination update message (BU message) for notifying the change of the transmission terminal address to the transmission destination address. I do. Furthermore, the packet generation unit 15 functions as an update notification unit that provides a position update message (LU message) for notifying the changed transmission terminal address to the reception terminals 40a and 40c that receive the multicast packet.
  • BU message transfer destination update message
  • LU message position update message
  • the receiving terminals 40a and 40c transmit the Mem with the destination address set to ISA "S '" based on the LU message added to the received multicast packet 105.
  • the packet holding unit 44 updates the entry holding unit 41 based on the SLU message.
  • the message providing unit 45 generates the Membership Report 2 by using the ISA “S ′” held in the updated entry holding unit 41, and the transmitting unit 43 transmits.
  • the receiving terminal transmits Membership Report 2 according to the congestion avoidance control specified in the MLD. According to this, it is possible to avoid congestion caused by all receiving terminals trying to join the multicast tree specified by the newly set (S ′, G).
  • the message processing unit 25 of the UR20d-20f sends the received Membership Report2 as a message. Input it to the providing unit 26.
  • the message providing unit 26 of the UR 20d 20f sets the destination address to IS A "S '" and generates an oin message 3.
  • the transfer unit 23 of the UR 20d-20f transmits a Join message 3 addressed to the ISA “S ′”.
  • the transmitting terminal 10 and the UR 20a-20f set the initial state multicast tree in the communication system 301 shown in Figs.
  • the transfer destination address corresponding to (S ′, G) is stored in the entry holding units 11, 21a-21f so that the ISA “S ′” is optimal when it is located upstream of the multicast tree. I will register to.
  • the message processing unit 25 of the UR 20a-20f determines that the UR 20a-20f is a branch router when the ISA "S '" which is the changed transmission terminal address is located upstream of the multicast tree. Judge whether it will be.
  • the message processing unit 25 of the UR 20a 20f that has determined to be the branch router registers a plurality of transfer destination addresses in the entry holding unit 21a 21f in association with (S ′, G) using ISA “S ′”.
  • the UR20a-2Of message providing unit 26 that is determined to be a branch router generates a Redirect message in which the destination address is set to ISA "S '", and provides it via the transfer unit 23.
  • the entry holding unit 21b of the UR 20b that did not hold the transfer destination address holds (S ,, G): [UR3, UR4] as an MFT entry.
  • (S ,, G) It becomes a branch router in the multicast tree specified more.
  • the entry holding unit 21c of the UR20c holds (S, G): [UR5, UR6] as an MFT entry in addition to (S, G): [UR4, UR5], which was held as an MFT entry. , (S ', G), it is also a branch router in the multicast tree specified.
  • the entry holding unit 21a of the UR 20a holds (S ′, G): [UR 6] as an MCT entry in addition to (S, G): [UR3, UR6] held as an MFT entry.
  • the entry holding units 21d-21f of the UR20d-20f held the MFT entries.
  • (S, G): [G] is retained as an MFT entry, and it becomes a terminal nolator in the multicast tree specified by (S,, G). Then, in addition to (S, G): [UR1] held by the entry holding unit 11 of the transmitting terminal 10, (S,, G): [UR2] is held.
  • the message processing units 14, 24 of the transmitting terminal 10, UR20a-20f based on at least one of a Leave Group message and a Prune message, or at least a holding time of the destination address or the transfer destination address, It is preferable to delete the destination address and the destination address associated with the oISA “S” from the entry holding units 11, 21a-21f.
  • the receiving terminals 40a to 40c that have received the LU message stop transmitting the Stable Join message specifying (S, G). Specifically, the message providing unit 45 of the receiving terminals 40a and 40c generates a Stable Join message using the ISA “S ′” of the entry holding unit 41. Therefore, after the ISA of the entry holding unit 41 is updated by the LU message, the message providing unit 45 does not generate a Stable Join message using “S” that has become an oISA.
  • the receiving terminals 40a and 40c transmit the Stable Join message specifying (S ', G). Only send.
  • the message processing units 14 and 25 restart only the KAT of the transmission destination address and the transfer destination address corresponding to (S ′, G), and extend the holding time. Therefore, only the MFT entry corresponding to (S, G) of the entry holding units 11 and 21a-21f is held, and the transmission destination address and the transfer destination address held by the MFT entry corresponding to (S, G) are deleted. Is done. Therefore, transmitting terminal 10, UR 20a-20f can delete the multicast list corresponding to (S, G) and continue to hold only the MFT entry corresponding to (S ′, G). Therefore, transmitting terminal 10, UR 20a-20f can maintain only the multicast tree corresponding to (S ′, G).
  • receiving terminals 40a to 40c use oIS A "S" by using Leave Group message 7 or Prune message 8 without waiting for the expiration of KAT. You can explicitly leave the Manorecast Tree.
  • the receiving terminals 40a to 40c After receiving the multicast packet from the multicast tree specified by (S ′, G), the receiving terminals 40a to 40c request the leave of the multicast tree power specified by (S, G) after receiving the multicast packet. 7 is sent to the terminal router, UR20d-20f.
  • the message providing unit 45 of the receiving terminals 40a to 40c generates a Leave Group message 7 specifying oISA "S", and the transmitting unit 43 transmits the Leave Group message 7.
  • the message processing unit 25 of the UR 20d-20f holds the entry holding units 21d-21f based on the Leave Group message 7 requesting withdrawal of the multicast tree power specified by (S, G) ( Delete the MFT entry corresponding to (S, G). Further, the message processing unit 25 inputs the received Leave Group message 7 to the message providing unit 26.
  • the message provider 26 of the UR20d—20f sets the destination address to oISA “S” based on the Leave Group message 7, and requests the deletion of the MFT entry corresponding to (S, G) Prune message 8 is generated and provided via the transfer unit 23.
  • the transfer unit 23 of UR20d-20f sends Prune message 8.
  • the UR 20a transfers the Prune message 8 to the ISA "S '" through the tunnel 9 according to the correspondence between ISA "S'" and oISA "S”. In this way, the Prune message 8 reaches the UR 20a-20c or the transmitting terminal 10 located in the ISA “S ′”.
  • the message processing unit 14 of the transmitting terminal 10 or the message processing unit 25 of the UR 20a-20c sends the MFT entry corresponding to (S, G) from the entry holding units 11, 21a-21c based on the Prune message 8. Remove.
  • the transmission terminal 10 and the entry holding units 11, 21a 21f of the UR 20a-2Of can hold only the MFT entry corresponding to (S ′, G).
  • UR20a Receiver of 20f-20f Receives multicast packets (S1401).
  • the transfer control unit 24 of the UR 20a-20f acquires the tunnel source address from the multicast packet and temporarily stores it (S1402).
  • the UR 20a-20f decapsulates the multicast packet (S1403).
  • the UR 20a 20f determines whether the entry holding units 21a-21f hold the corresponding MFT entry or MCT entry based on the transmission terminal address and the multicast gnope address set in the multicast packet (S1404). If the UR 20a-20f determines that the packet is not held, the UR 20a-20f discards the multicast packet (S1406).
  • step (S1404) if the message processing unit 25 of the UR 20a-20f determines that the message is stored, the message processing unit 25 determines whether the message is stored as an MCT entry or an MFT entry (S1405). . If it is determined that the UR20a-20f is provided as the MCT entry, the message providing unit 26 of the UR20a-20f adds the transfer destination address of the UR20a-20f to the destination address, and adds the address of the UR20a-20f itself from the destination address. Generate a Redirect message to the sending terminal address that has the Hop-by-Hop option set, requesting that it be deleted. Then, the transfer unit 23 transmits a Redirect message (S1412).
  • step (S1405) if it is determined in step (S1405) that the packet is held as an MFT entry, the transfer control unit 24 of the UR 20a 20f sends the tunnel source address of the received multicast packet to the entry holding unit 21a 21f It determines the force that matches the tunnel source address held by the server (S1407).
  • step (S1407) if the tunnel source addresses do not match, the transfer control unit 24 of the UR 20a-20f transmits the tunnel source address of the received multicast packet. It determines the force that matches the previous tunnel source address held by the entry holding units 21a-21f (SI 408). If the address matches the previous tunnel source address, the message providing unit 26 of the UR 20a-20f generates a Prune message without setting the Hop-by-Hop option, and the transfer unit 23 transfers the Prune message to the previous tunnel source address (S 1409).
  • step (S1408) if it is determined in step (S1408) that the address does not match the previous tunnel source address, the transfer control unit 24 of the U R20a-20f transmits the tunnel source address currently held by the entry holding units 21a-21f. Is set to the previous tunnel source address of the entry holding units 21a-21f (S1410). At this time, the transfer control unit 24 may use the KAT of the entry holding units 21a and 21f as the ST, and set so that the previous tunnel source address is deleted when the ST expires. After that, the transfer control unit 24 of the UR 20a-20f registers the tunnel source address stored in step (S1402) in the entry holding units 21a-21f (S1411). UR20a-20f proceeds to step (S1413) after steps (S1409) and (S1411).
  • step (S1407) when the tunnel source addresses match, when steps (S1409) and (S1411) are completed, the transfer control unit 24 of the UR20a-20f transmits the multicast packet destination. It is determined whether the address is included in the transfer destination address of the MFT entry (S1413). If the destination address is not included in the transfer destination address, the transfer control unit 24 encapsulates the multicast packet with the transfer destination address (S1414). When determining that the destination address is included in the transfer destination address in step (S1413), the transfer control unit 24 inputs the multicast packet to the transfer unit 23 as it is. The transfer control unit 24 inputs the multicast packet encapsulated in step (S1414) to the transfer unit 23. Then, the transfer unit 23 transfers the multicast packet acquired from the transfer control unit 24 (S1415). Steps (S1407) and (S1411) can be omitted.
  • the receiving unit 42 of each of the receiving terminals 40a to 40c receives the multicast packet (S1501).
  • the bucket processing unit 44 of each of the receiving terminals 40a to 40c refers to the entry holding unit 41 and determines whether the source address of the received multicast packet is ISA (S1502).
  • the packet processing unit 44 of the receiving terminals 40a to 40c determines whether the entry holding unit 41 holds oISA or not ( SI 503). If the entry holding unit 41 holds the oISA, the packet processing unit 44 determines whether the MPT is on or off (S1504). When the MPT is off, the message providing unit 45 of each of the receiving terminals 40a to 40c generates a Prune message addressed to oISA with the Hop-by-Hop option set, and provides it via the transmitting unit 43. Alternatively, the message providing unit 45 generates a Leave Group message addressed to the oISA and provides it via the transmitting unit 43 (S1505). Further, the packet processing unit 44 activates the MPT of the entry holding unit 41 (S1506).
  • step (S1502) if the source address of the multicast packet is not ISA, in step (S1503), if the entry holding unit 41 does not hold oISA, the MPT is When it is on, the receiving terminals 40a and 40c do not perform any special processing, and the packet processing unit 44 processes data included in the multicast packet.
  • the transmitting terminal 10 sets the transmitting destination address to the transmitting destination address.
  • a message providing unit 45 that provides a BU message for notifying the change of the ISA and provides an LU message for notifying the ISA "S '" to the receiving terminals 40a to 40c.
  • the receiving terminals 40a to 40c include a message providing unit 45 for providing a Join message or a Members Hip Report to the ISA based on the LU message.
  • the transmission terminal 10 transmits a BU message to the transmission destination address, so that the transmission terminal 10 and the UR of the transmission destination address are transmitted. A tunnel can be built. Therefore, the control message addressed to the oISA is transferred to the transmitting terminal 10.
  • transmitting terminal 10 can notify receiving terminals 40a-40c of the change of the transmitting terminal address by the LU message. Then, the receiving terminals 40a and 40c can recognize the change of the transmitting terminal address by the LU message and transmit the Join message or the Membership Report to the ISA “S,”. Therefore, an appropriate multicast tree is newly set in ISA “S ′” triggered by a Join message or Membership Report addressed to ISA “S ′”. Therefore, even if the transmission terminal address changes, the communication system 401 can use an appropriate multicast tool. Multicast can be realized.
  • the branch router holds a plurality of transfer destination addresses in association with ISA "S '".
  • UR20a-20f clearly distinguishes between oISA "S”, ie, the multicast tree corresponding to (S, G), and ISA "S '", ie, the multicast tree corresponding to (S', G). it can
  • the message providing unit 45 of the receiving terminals 40a to 40c provides a Leave Group message 7 and a Prune message 8 specifying the address of the transmitting terminal 10 before the change. Then, the message processing units 14 and 25 of the transmitting terminal 10 and the UR 20a-20f send oISA “S”, that is, The destination address and transfer destination address associated with (S, G) are deleted from the entry holding units 11 and 21a-21f.
  • the communication system 401 can delete the multicast tree formed using the oISA "S” using the Leave Group message 7, the Prune message 8, the transmission destination address, and the holding time of the transmission destination address. Therefore, it is possible to suppress the duplicate transfer of the multicast packet due to the coexistence of the multicast tree using the oISA “S” and the multicast tree using the ISA “S,”.
  • the receiving terminals 40a to 40c are formed using the oISA “S” specified by the Leave Group message or the Prune message without waiting for the holding time to expire. Can be explicitly removed from the Multicastle. Therefore, in the communication system 401, duplicate transfer can be further reduced.
  • IP is connectionless communication
  • a message may not reach a target node in some cases. For this reason, it is preferable that the communication system 1-401 take measures to ensure that the control message reaches the target node. That is, it is preferable to take measures against loss of the control message.
  • the message providing unit 26 of the UR20a-20i or the message processing unit 1 of the transmitting terminal 10 4 is a join request message (Membership Report 2 or Join message 3), a leave request message (Leave Group message 7 or Prune message 8), a join / leave request message, or a change request message (Recirect message 4) received by the UR20a-20i.
  • Acknowledgment can be provided to the source of control messages such as.
  • the message providing unit 26 generates an entry to be registered in the entry holding unit 21a 21i based on the received control message, deletes an entry from the entry holding unit 21a-21i,
  • a control message is generated based on the control message thus obtained, it is possible to explicitly provide an acknowledgment response to the source receiving terminals 40a and 40c and other URs.
  • the message providing unit 26 can provide an acknowledgment to the transmitting receiving terminals 40a and 40c and other URs.
  • the message processing unit 14 of the transmitting terminal 10 can provide an acknowledgment to the source of the control message even when generating an entry to be registered in the entry holding unit 11 or not deleting an entry from the entry holding unit 11. .
  • the receiving terminal 40a—40c or UR20a—20i of the transmission source that transmitted the control message receives the confirmation response, so that only the transmission terminal 10 or the UR that received the control message received the control message.
  • the UR existing between itself and the transmitting terminal 10 or the UR that has received the control message can also confirm that the control message has been received.
  • the UR or transmission terminal 10 that has generated or deleted an entry or generated a control message based on the control message received as described above provides an acknowledgment response, thereby enabling the source reception terminal 40a
  • the 40c and the UR 20a-20i can recognize that the control message provided by themselves has been appropriately processed and the entry holding units 11, 2 la-2 li held by the transmitting terminal 10 and the UR 20a-20i have been reliably updated.
  • the receiving terminals 40a and 40c and the URs 20a and 20i which cannot receive the acknowledgment, can detect the loss of the control message and provide the control message again. Therefore, in the communication system 1-401, the control message can reliably reach the target node. Moreover, it is necessary to send the same control message many times for security, assuming the control message source. Accordingly, the load on the entire communication system 401 can be reduced.
  • KAT is used as in the communication systems 301, 401. By doing so, it is possible to deal with the loss of the leave request message. If the Join message 3 related to the entry is received (within the holding time) before the KAT included in each entry expires, the UR20a—20i, the transmitting terminal 10 restarts the KAT and holds the KAT. Extend time. On the other hand, if the UR20a 20i and the transmitting terminal 10 do not receive a Join message before the expiration of the KAT included in each entry (within the holding time), the transmitting terminal 10 automatically checks the forwarding address and the destination address of the entry. Delete it.
  • the UR 20a-20i or the receiving terminal 40a 40c that wants to be maintained in the entry transmits the Join message 3 to the transmitting terminal address before the expiration of the KAT of the corresponding entry, so that the UR 20a—20i It is necessary to restart the KAT of the terminal 10.
  • the entry is automatically deleted from the forwarding address or destination address when the KAT expires. Therefore, the UR 20a 20i and the receiving terminals 40a to 40c that desire to stop the transmission of the multicast packet do not need to transmit the leaving request message many times, assuming that the leaving request message will be lost.
  • the communication system 1-1 401 can increase the reliability of a multicast packet by using a technology such as TCP or SCTP (refer to RFC2960) for the transfer of the multicast packet.
  • a technology such as TCP or SCTP (refer to RFC2960) for the transfer of the multicast packet.
  • the transmitting terminal 10 or the URs 20a-20i immediately updated the entry holding units 11, 21a-21i based on a control message such as a Redirect message.
  • a control message such as a Redirect message.
  • multicast packet loss may occur.
  • FIG. 24 when “UR6” is deleted from the entry holding unit 11 and the transfer route between the transmission terminal 10 and the UR 20f is deleted, a packet loss may occur in the UR 20f.
  • the transmission is performed.
  • the terminal 10 and the UR 20a 20i may retain the entry before the update for a predetermined period. That is, packet loss may be reduced by providing a certain grace period.
  • the transmission terminal 10 directly transmits the UR20f before a predetermined period elapses.
  • the multicast packet and the multicast packet transferred by the UR20b are received in duplicate.
  • the pre-update entry is deleted from the transmitting terminal 10 after the elapse of the predetermined period, the transmission of the directly transmitted multicast packet is automatically stopped.
  • the UR 20f transmits a Redirect message or the like that explicitly requests to stop transmission of the multicast packet to the transmission terminal 10. May be. According to this, the overlapping reception of the multicast packet can be stopped, and the multicast tree can be changed smoothly.
  • the multicast packet is encapsulated using the transfer destination address or the transfer destination address and transferred, but the transmitting terminal 10, the UR20a-20i has the entry holding units 11, 2
  • the method is not limited as long as the multicast packet is transferred according to the transmission destination address and the transmission destination address held by la-21i.
  • the transmitting terminal 10 and the URs 20a-20i may use NAT (Network Address Translation) or IP Masquerade. In this case, overhead due to encapsulation can be reduced.

Abstract

 通信システム(1)は、UR(20a~20h)と、送信端末(10)とを備える。UR(20a~20h)は、転送先アドレスを保持するエントリ保持部(21a~21h)と、送信端末アドレス及びマルチキャストグループアドレスに対応付けて、転送先アドレスとして他のURのアドレスをエントリ保持部(21a~21h)に登録するメッセージ処理部(25)と、送信先アドレスにURのアドレスの追加を要求する参加要求メッセージを送信端末アドレス宛に提供するメッセージ提供部(26)とを含む。送信端末(10)は、送信先アドレスを保持するエントリ保持部(11)と、参加要求メッセージに基づいて送信先アドレスとしてUR(20a~20h)のアドレスをエントリ保持部(11)に登録するメッセージ処理部14とを含む。

Description

明 細 書
通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通 1 方法
技術分野
[0001] 本発明は、通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通 信方法に関する。
背景技術
[0002] 従来、複数の受信端末にパケットを送信するマルチキャストが行われている(
Thomas A. Maufer著,楠本博之訳, 「IPマルチキャスト入門」)。通信システムでは、 I ETF (Internet Engineering Task Force)において標準化が進められている SSM ( bource-bpecinc Multicast) (Internet Draft, 「draft_ietf— ssm_overviw-xx.txt」、「電 気情報通信学会和文論文誌 B」, Vol. J85-B, No.8, pp. l207_1214)、 IGMPv3 ( Internet Management Protocol Version ό) (RFC3376, internet Management Protocol Version 3」 )、 HBH (Hop by Hop Multicast Routing Protocol) ( L.HMK Costa, S.Fidia and O CMB Duarte,「H〇P by HOP Multicast Routing ProtocolJ , ACM SIGCOM 2001, Aug. 2001)、 PIM—SM (Protocol Independent Multicast— Sparse Mode) (RFC2362,「Protocol Independent
Multicast-Sparse Mode (PIM—SM) : Protocol SpecificationJ )等のプロトコルを用レヽ
[0003] 又、マルチキャストパケットを送信する送信端末が移動し、そのアドレスが変わった 場合でも通信を継続するために、 MIP—BT (Mobile IP Bi— Directional Tunneling) が提案されている。 MIP—BTでは、フォーリンネットワーク(Foreign Network)に移動 した送信端末力 送信されたマルチキャストパケットを、ホームエージェント(Home Agent)経由で転送することにより、通信の継続を図っている。
発明の開示
[0004] し力 ながら、従来の通信システムでは、全てのルータがマルチキャストプロトコノレ に対応したマルチキャスト対応ルータでなければ、マルチキャストパケットを転送でき なかった。即ち、従来の通信システムでは、マルチキャスト対応ルータとマルチキャス トプロトコルに対応していないマルチキャスト非対応ルータが混在する場合、マルチ キャストパケットを転送できなかった。
[0005] そこで、本発明は、通信システムにマルチキャスト非対応ルータが存在しても、適切 なマルチキャストツリーを設定し、マルチキャストパケットを転送することを目的とする。
[0006] 本発明の通信システムは、マルチキャスト対応ルータと送信端末とを備える。マルチ キャスト対応ルータは、マルチキャスト対応ルータがマルチキャストパケットを転送する 転送先アドレスを保持する転送先保持部と、送信端末アドレス及びマルチキャストグ ループアドレスに対応付けて、転送先アドレスとして他のマルチキャスト対応ルータの アドレスを転送先保持部に登録する転送先登録部と、送信端末がマルチキャストパ ケットを送信する送信先アドレスにマルチキャスト対応ルータのアドレスを追加するこ とを要求する参加要求メッセージを送信端末アドレス宛に提供するルータメッセージ 提供部とを含む。送信端末は、送信先アドレスを保持する送信先保持部と、参加要 求メッセージに基づレ、て、送信先アドレスとしてマルチキャスト対応ルータのアドレス を送信先保持部に登録する送信先登録部とを含む。
[0007] 転送先アドレスは、マルチキャスト対応ルータがマルチキャストパケットを転送するァ ドレスである。送信先アドレスは、送信端末がマルチキャストパケットを送信するァドレ スである。送信端末アドレスは、送信端末のアドレスである。マルチキャストグループ アドレスは、マルチキャストグループを示すアドレスである。
[0008] 本発明の通信方法は、転送先アドレスを保持する転送先保持部に、送信端末アド レス及びマルチキャストグループアドレスに対応付けて転送先アドレスとして他のマル チキャスト対応ルータのアドレスを登録し、送信先アドレスにマルチキャスト対応ルー タのアドレスを追加することを要求する参加要求メッセージを、送信端末アドレス宛に 送信する。そして、送信端末が、参加要求メッセージに基づいて、送信先アドレスとし てマルチキャスト対応ルータのアドレスを、送信先アドレスを保持する送信先保持部 に登録する。
[0009] このような通信システムや通信方法によれば、マルチキャスト対応ルータが転送先
^応ルータのアドレスを保持できる。送信端末は、 送信先アドレスとしてマルチキャスト対応ルータのアドレスを保持できる。そのため、 送信端末からマルチキャスト対応ルータを経由して受信端末にマルチキャストバケツ トが転送される適切なマルチキャストツリーが設定される。
[0010] よって、送信端末とマルチキャスト対応ルータとの間やマルチキャスト対応ルータ間 に存在するマルチキャスト非対応ルータは、マルチキャストパケットをュニキャストで 転送するだけでよレ、。このように通信システムは、マルチキャスト非対応ルータが存在 しても、適切なマルチキャストツリーを設定し、マルチキャストパケットを転送することが できる。
[0011] 尚、このように本発明では、一部のルータがュニキャストによりマルチキャストバケツ トを転送する。そのため、本発明により実現するマルチキャストのプロトコルを通常の マルチキャストプロトコルと区別するために、特に、「ュニキャスト拡張マルチキャスト プロトコノレ(Unicast Extension Multicast Protocol、以下「UMP」と表す)」と呼ぶ。 更に、 UMPに対応しているルータを「UMPルータ」、 UMPに対応していないルータ を「非 UMPルータ」と呼ぶ。
図面の簡単な説明
[0012] [図 1]本発明の第 1の実施形態に係る通信システムの構成を示す図である。
[図 2]本発明の第 1の実施形態に係る URの構成を示すブロック図である。
[図 3]本発明の第 1の実施形態に係る URのエントリ保持部を示す図である。
[図 4]本発明の第 1の実施形態に係る送信端末の構成を示すブロック図である。
[図 5]本発明の第 1の実施形態に係る送信端末のエントリ保持部を示す図である。
[図 6]本発明の第 1の実施形態に係る URがパケットを受信した時の動作手順を示す フロー図である。
[図 7]本発明の第 1の実施形態に係る URが行うマルチキャストパケットの処理手順を 示すフロー図である。
[図 8]本発明の第 1の実施形態に係る URが行う Joinメッセージの処理手順を示すフ ロー図である。
[図 9]本発明の第 1の実施形態に係る URが行う Pruneメッセージの処理手順を示す フロー図である。 [図 10]本発明の第 1の実施形態に係る受信端末によりマルチキャストパケットの送信 が要求された際の手順を示すシーケンス図である。
[図 11]本発明の第 1の実施形態に係る受信端末によりマルチキャストパケットの送信 が要求された際の通信システムを示す図である。
[図 12]本発明の第 1の実施形態に係るマルチキャストパケットの転送手順を示すシー ケンス図である。
[図 13]本発明の第 1の実施形態に係るマルチキャストパケットの転送を示す図である
[図 14]本発明の第 1の実施形態に係る受信端末のマルチキャストツリーへの参加に おける手順を示すシーケンス図である。
[図 15]本発明の第 1の実施形態に係る受信端末のマルチキャストツリーへの参加を 示す図である。
[図 16]本発明の第 1の実施形態に係る新たに設定されたマルチキャストツリーに従つ たマルチキャストパケットの転送を示す図である。
[図 17]本発明の第 1の実施形態に係る複数の受信端末がマルチキャストツリーに参 加している状態におけるマルチキャストパケットの転送を示す図である。
[図 18]本発明の第 1の実施形態に係るマルチキャストツリーが安定状態に移行した際 の通信システムを示す図である。
[図 19]本発明の第 1の実施形態に係るマルチキャストツリーからの離脱における手順 を示すフロー図である。
[図 20]本発明の第 1の実施形態に係るマルチキャストツリーからの離脱の際の通信シ ステムを示す図である。
[図 21]本発明の第 1の実施形態に係る離脱後のマルチキャストパケットの転送を示す 図である。
[図 22]本発明の第 2実施形態に係る通信システムの構成を示す図である。
[図 23]本発明の第 2の実施形態に係る受信端末のマルチキャストツリーへの参加に おける手順を示すシーケンス図である。
[図 24]本発明の第 2の実施形態に係る受信端末のマルチキャストツリーへの参加を 示す図である。
[図 25]本発明の第 2の実施形態に係る新たに設定されたマルチキャストツリーに従つ たマルチキャストパケットの転送を示す図である。
[図 26]本発明の第 3の実施形態に係る受信端末のマルチキャストツリーへの参加に おける手順を示すシーケンス図である。
[図 27]本発明の第 3の実施形態に係る受信端末のマルチキャストツリーへの参加を 示す図である。
[図 28]本発明の第 3の実施形態に係る新たに設定されたマルチキャストツリーに従つ たマルチキャストパケットの転送を示す図である。
[図 29]本発明の第 4の実施形態に係る送信端末が移動した際の通信システムにおけ る動作を示す図である。
[図 30]本発明の第 5の実施形態に係る通信システムを示す図である。
[図 31]本発明の第 5の実施形態に係るマルチキャストツリーの初期状態における処理 を示す図である。
[図 32]本発明の第 5の実施形態に係るマルチキャストツリーの初期状態における受信 端末の参加を示す図である。
[図 33]本発明の第 5の実施形態に係るマルチキャストツリーの安定状態における処理 を示す図である。
[図 34]本発明の第 5の実施形態に係るマルチキャストツリーの安定状態における受信 端末の参加を示す図である。
[図 35]本発明の第 5の実施形態に係る Joinメッセージ受信時の処理手順を示すフロ 一図である。
[図 36]本発明の第 5の実施形態に係る Pruneメッセージ受信時の処理手順を示すフ ロー図である。
[図 37]本発明の第 5の実施形態に係るマルチキャストパケットの転送手順を示すシー ケンス図である。
[図 38]本発明の第 6の実施形態に係る通信システムの送信端末が移動した直後の状 態を示す図である。 [図 39]本発明の第 6の実施形態に係る受信端末の構成を示すブロック図である。
[図 40]本発明の第 6の実施形態に係る受信端末のエントリ保持部を示す図である。
[図 41]本発明の第 6の実施形態に係る送信端末アドレス変更前後のマルチキャストツ リーが併存する状態を示す図である。
[図 42]本発明の第 6の実施形態に係る送信端末アドレス変更後のマルチキャストッリ 一のみが維持された状態を示す図である。
[図 43]本発明の第 6の実施形態に係る URの動作手順を示すフロー図である。
[図 44]本発明の第 6の実施形態に係る受信端末の動作手順を示すフロー図である。 発明を実施するための最良の形態
[0013] [第 1の実施形態]
〔通信システム〕
図 1に示すように、通信システム 1は、送信端末 10と、複数の UMPルータ(UMP Router,以下「UR」と表す) 20a— 20hと、複数の非 UMPルータ(Non— UMP Ro uter、以下「NR」と表す) 30a— 30fと、複数の受信端末 40a— 40dとを備える。送信 端末 10と、 UR20a— 20hと、 NR30a— 30fは、階層的に接続される。通信システム 1では、最上流に送信端末 10が配置され、最下流に UR20f 20hと、 NR30d 30 fが配置される。
[0014] 送信端末 10には送信端末アドレス「S」が付与されている。受信端末 40a, 40b, 40 c, 40dにはそれぞれアドレス「R1」、「R2」、「R3」、「R4」が付与されている。 UR20a , 20b, 20c, 20d, 20e, 20f, 20g, 20hにはそれぞれアドレス「UR1」、「UR2」、「 UR3」、「UR4」、「UR5」、「UR6」、「UR7」、「UR8」が付与されている。 NR30a, 3 Ob, 30c, 30d, 30e, 30f, 30gにはそれぞれアドレス「NR1」、「NR2」、「NR3」、「 NR4」、「NR5」が付与されている。尚、通信システム 1では、 IPv6を用いる力 IPv4 を用いてもよい。
[0015] 送信端末 10は、送信先アドレスにマルチキャストパケットを転送する。受信端末 40a 一 40dは、マルチキャストパケットを受信する。 UR20a— 20h及び NR30a— 30fは、 送信端末 10と受信端末 40a— 40dとの間に設定されたマルチキャストパケットの転送 経路(以下、「マルチキャストツリー」という)に従って、転送先アドレスにマルチキャスト パケットを転送する。
[0016] UR20a— 20eは、複数の転送先アドレスにマルチキャストパケットを転送する分岐 ノレータになること力 Sできる。受信端末 40a— 40dと UR20f, 20g, 20h、 NR30d, 30 e, 30fは無線通信を行う。送信端末 10と、 UR20a— 20hと、受信端末 40a 40dは 、マルチキャストツリーを設定する。
[0017] (URの構成)
まず、 URの構成について UR20aを例にとって説明する。図 2に示すように、 UR2 Oaは、エントリ保持部 21 aと、受信部 22と、転送部 23と、転送制御部 24と、メッセ一 ジ処理部 25と、メッセージ提供部 26とを備える。尚、 UR20b— 20hも UR20aと同様 の構成を備える。
[0018] 受信部 22は、送信端末 10、他の URや NR、受信端末 40a 40d力、ら、マルチキヤ ストパケットや制御メッセージを受信する。マルチキャストパケットには送信端末 10か らのデータが含まれる。又、マルチキャストパケットは、送信端末と URとの間、及び、 UR間はカプセル化されて転送される。制御メッセージは、マルチキャストツリーの設 定ゃ維持、変更等、マルチキャストツリーの制御に関するメッセージである。
[0019] 制御メッセージには、 Joinメッセージ、 Membership Report, Stableオプションが 設定され^ Joinメッセージ(以下「Stable Joinメッセージ」という)、 Stableオプション が設定された Membership Report (以下「 Stable Membership Report」とレヽぅ )、 Pruneメッセ1 ~~シ、 Leave roup ッセーシ、 Redirectメッセ1 ~~ン、 Bmamg U pdateメッセージ(以下「BUメッセージ」と表す)、 Location Updateメッセージ(以 下「LUメッセージ」と表す)等がある。 Joinメッセージ、 Stable Joinメッセージ、 Pmn eメッセージ、 Redirectメッセージのヘッダには、制御メッセージであることを示す特 別なオプションが設定される。
[0020] Joinメッセージや Membership Reportは、送信端末 10がマルチキャストパケット を送信する送信先アドレスや、 UR20a 20hがマルチキャストパケットを転送する転 送先アドレスに、アドレスを追加することを要求する参加要求メッセージである。即ち、 参加要求メッセージは、マルチキャストパケットの送信を送信端末 10に要求する制御 メッセージである。 [0021] マルチキャストツリーには、初期状態と安定状態がある。マルチキャストツリーは、初 期状態から安定状態に移行する。マルチキャストツリーは、新たに参加する受信端末 が減少すると、安定状態に移行したと判断される。既にそのマルチキャストパケットに ついてマルチキャストツリーが設定されている場合には、 Joinメッセージや Members hip Reportは、マルチキャストツリーの初期状態において送信されるマルチキャスト ツリーを維持するための維持要求メッセージとなる。 Stable Joinメッセージや Stabl e Membership Reportは、マルチキャストツリーが安定状態に移行した後に送信 されるマルチキャストツリーを維持するための維持要求メッセージである。
[0022] Pruneメッセージや Leave Groupメッセージは、マルチキャストツリーからの離脱 を要求する離脱要求メッセージである。 Joinメッセージ、 Pruneメッセージは、 UR20 a 20hや受信端末 40a— 40dが送信する。 Membership Report、 Leave Grou pメッセージは、受信端末 40a— 40dが送信する。
[0023] Redirectメッセージは、アドレスを送信先アドレスや転送先アドレスに追加し、アド レスを送信先アドレスや転送先アドレスから削除することを要求する参加/離脱要求 メッセージである。 Redirectメッセージは、 Joinメッセージと Pruneメッセージを含む。 具体的には、 Ridirectメッセージは、転送先アドレスや送信先アドレスへの追加を要 求するアドレスと、転送先アドレスや送信先アドレスからの削除を要求するアドレスを 含む。
[0024] BUメッセージは、送信端末アドレスが変更された場合に、送信先アドレスに送信端 末アドレスの変更を通知する変更通知メッセージである。 LUメッセージは、送信端末 アドレスが変更された場合に、受信端末に変更後の送信端末アドレスを通知する位 置更新メッセージである。例えば、 LUメッセージは、送信端末 10の移動等により送 信端末アドレスが変更された場合に、変更前の送信端末アドレスと変更後の送信端 末アドレスとを対応付けて通知し、受信端末に対して移動を通知する。送信端末は、 LUメッセージを、 LUメッセージ単独で送信してもよぐマルチキャストパケットに付加 して転送してあよレ、。
[0025] 受信部 22は、ヘッダのオプションに基づいて、制御メッセージであるかマルチキヤ ストパケットであるかを判断する。受信部 22は、制御メッセージをメッセージ処理部 25 に入力する。受信部 22は、マルチキャストパケットを転送制御部 24に入力する。この とき、受信部 22は、マルチキャストパケットがカプセルィ匕されている場合には、ディ力 プセル化し、取り出したマルチキャストパケットを入力する。尚、受信部 22は、 UR20a 自身を宛先としないパケットは、そのまま転送部 23に入力する。
[0026] 転送部 23は、送信端末 10、他の URや NR、受信端末 40a 40dに制御メッセ一 ジを転送する。転送部 23は、他の URや NR、受信端末 40a 40dにマルチキャスト パケットを転送する。転送部 23は、受信部 22や転送制御部 24からマルチキャストパ ケットを取得する。転送部 23は、メッセージ処理部 25やメッセージ提供部 26から制 御メッセージを取得する。
[0027] エントリ保持部 21aは、転送先アドレスを保持する転送先保持部である。図 3に示す ように、エントリ保持部 21aは、テーブル種別、送信端末アドレス、マルチキャストグノレ 一プアドレス、トンネル元アドレス、前トンネル元アドレスに対応付けて、転送先ァドレ ス、 KAT (Keep Alive Timer)、 JT (Join Timer)を保持する。
[0028] テーブル種別には、マルチキャスト制御テーブル(Multicast Control Table、以下 「MCT」と表す)と、マルチキャスト転送テーブル(Multicast Forwarding Table、以 下「MFT」と表す)がある。 MCTは、マルチキャストツリーを設定するために用いる情 報を保持する。 MFTは、マルチキャストツリーの設定及びマルチキャストパケットの転 送に用いる情報を保持する。
[0029] 送信端末アドレスは、送信端末 10の移動等により変更される場合がある。そのため 、エントリ保持部 21aは、送信端末 10の現在位置における現在の送信端末アドレス の MCTエントリや MFTエントリと、変更前の送信端末アドレスの MCTエントリや MF Tエントリを保持できる。
[0030] マルチキャストツリーや、マルチキャストパケットは、送信端末アドレスとマルチキャス トグル一プアドレスとの組み合わせによって、どの送信端末 10からのどのマルチキヤ ストグループに関するものであるかを特定できる。送信端末 10がマルチキャストパケ ットを転送するマルチキャストグループには、マルチキャストグループアドレス「G」が 付与されている。
[0031] エントリ保持部 21aは、送信端末アドレスとマルチキャストグノレープアドレスとを関連 付けて保持する。エントリ保持部 21aが保持するエントリは、送信端末アドレスとマノレ チキャストグループアドレスとの組み合わせによって特定できる。 UR20aが送信端末 アドレス「S」及びマルチキャストグループアドレス「G」で識別されるマルチキャストッリ 一に参加している場合、エントリ保持部 21aは、 UR20aが参加しているマルチキャス トッリ一に関するエントリを保持する。
[0032] トンネル元アドレスは、 URが受信したマルチキャストパケットのカプセル化に用いら れている送信元アドレスである。そのため、例えば、 UR20aのエントリ保持部 21aに 登録されるトンネル元アドレスは、送信端末アドレス「S」となる。前トンネル元アドレス は、トンネル元アドレスが変更された場合の変更前のトンネル元アドレスである。転送 先アドレスは、 URがマルチキャストパケットを転送する転送先を示すアドレスである。
[0033] KATは、転送先アドレスや送信先アドレスの保持時間を計測するタイマ値である。
KATは、転送先アドレスと対応付けて保持する。保持時間は、送信端末 10や UR20 a— 20fが転送先アドレスや送信先アドレスを保持しておく時間である。図 3において 、 KAT (UR3)は、転送先アドレス「UR3」の KAT、 KAT (UR2)は、転送先アドレス 「UR2」の KATを示す。 KATが満了した転送先アドレスは、エントリ保持部 21aから 削除される。
[0034] JTは、 Joinメッセージの送信開始までの時間を計測するタイマ値である。 JTの満了 により Joinメッセージが送信される。 MFTエントリの KATが満了していない限り、 JT は JT満了時に再起動される。 JTは、送信端末アドレス、マルチキャストグノレープアド レスに対応付けて保持する。テーブル種別が MCTの場合、トンネル元アドレス、前ト ンネル元アドレス、 JTを保持する必要はなレ、。
[0035] 転送制御部 24は、転送先アドレスに基づレ、てマルチキャストパケットの転送を制御 する。具体的には、転送制御部 24は、受信部 22からマルチキャストパケットを取得す る。転送制御部 24は、エントリ保持部 21aを検索し、取得したマルチキャストパケット に含まれる送信端末アドレスとマルチキャストグループアドレスに対応付けられている 転送先アドレスを取得する。
[0036] エントリ保持部 21aが複数の転送先アドレスを保持する場合、 UR20aはマルチキヤ ストパケットの複製ポイントとなる。そのため、転送制御部 24は、エントリ保持部 21aを 参照し、マルチキャストパケットが転送先アドレスの数になるように、マルチキャストパ ケットを複製する。尚、転送制御部 24は、転送先アドレスの数力 つの場合には複製 を行う必要はない。
[0037] 転送制御部 24は、ディカプセルィ匕されたマルチキャストパケットの宛先アドレスとェ ントリ保持部 21aが保持する転送先アドレスとを比較し、宛先アドレスと転送先ァドレ スが異なる場合には、マルチキャストパケットを転送先アドレスでカプセルィ匕する。具 体的には、転送制御部 24は、エントリ保持部 21aから取得した転送先アドレスを宛先 アドレスに設定し、 UR20a自身のアドレスを送信元アドレスに設定して、マルチキャス トパケットをカプセルィ匕する。転送制御部 24は、カプセル化したマルチキャストバケツ トを転送部 23に入力する。転送制御部 24は、例えば、「IP in IP Tunneling] ( RFC1853)や、「Generic Packet Tunneling in Ipv6 SpecificationJ (RFC2473)に 示されているカプセル化技術を用いてカプセル化を行うことができる。
[0038] 一方、転送制御部 24は、ディカプセル化されたマルチキャストパケットの宛先アドレ スとエントリ保持部 21aが保持する転送先アドレスとを比較し、宛先アドレスと転送先 アドレスが同一の場合には、マルチキャストパケットをそのまま転送部 23に入力する。
[0039] メッセージ処理部 25は、制御メッセージを処理する。メッセージ処理部 25は、送信 端末アドレス及びマルチキャストグループアドレスに対応付けて、転送先アドレスとし て他のマルチキャスト対応ルータ(UR)のアドレスを転送先保持部に登録する転送先 登録部として機能する。メッセージ処理部 25は、受信部 22から UR20aが受信した制 御メッセージを取得する。メッセージ処理部 25は、制御メッセージの種類、制御メッセ ージの宛先アドレスや送信元アドレス、エントリ保持部 21aが保持する情報に基づい て、エントリ保持部 21aへの情報の登録、エントリ保持部 21aが保持する情報の更新 や削除を行う。
[0040] メッセージ処理部 25は、新たな転送先アドレスを登録する場合、 MFTエントリ又は MCTエントリを生成する。具体的には、メッセージ処理部 25は、エントリ保持部 21a のテーブル種別に MFT又は MCTを設定し、送信端末アドレス、マルチキャストグノレ 一プアドレス毎に MFTエントリ又は MCTエントリを生成する。例えば、メッセージ処 理部 25は、 UR20aが新たに受信し joinメッセージにより指定されている送信端末 アドレス、マルチキャストグループアドレス毎に MFTエントリ又は MCTエントリを生成 する。このように生成された MFTエントリや MCTエントリは、 MFTや MCTとして機能 する。
[0041] メッセージ処理部 25は、生成した MFTエントリに、送信端末アドレス、マルチキャス トグル一プアドレス、トンネル元アドレス、前トンネル元アドレス、転送先アドレス、 KA T、 JTを対応付けて登録する。メッセージ処理部 25は、生成した MCTエントリに、送 信端末アドレス、マルチキャストグループアドレス、転送先アドレス、 ΚΑΤを対応付け て登録する。メッセージ処理部 25は、受信した制御メッセージをメッセージ提供部 26 に入力する。
[0042] メッセージ提供部 26は、制御メッセージを生成し、送信端末 10や他の URに提供 する。メッセージ提供部 26は、送信先アドレスにマルチキャスト対応ルータのアドレス を追加することを要求する参加要求メッセージを送信端末アドレス宛に提供するルー タメッセージ提供部として機能する。
[0043] メッセージ提供部 26は、メッセージ処理部 25から UR20aが受信した制御メッセ一 ジを取得する。メッセージ提供部 26は、取得した制御メッセージや、エントリ保持部 2 laが保持する情報に基づいて、制御メッセージを生成する。メッセージ提供部 26は 、生成した制御メッセージを転送部 23に入力し、転送部 23を介して送信端末 10や 他の URに提供する。
[0044] (送信端末の構成)
次に、送信端末 10の構成について説明する。図 4に示すように、送信端末 10は、 エントリ保持部 11と、受信部 12と、送信部 13と、メッセージ処理部 14と、パケット生成 部 15とを備える。
[0045] 受信部 12は、 UR20a 20hから制御メッセージを受信する。受信部 12は、受信し た制御メッセージをメッセージ処理部 14に入力する。
[0046] エントリ保持部 11は、送信先アドレスを保持する送信先保持部である。図 5に示す ように、エントリ保持部 11は、テーブル種別、送信端末アドレス、マルチキャストグル 一プアドレスに対応付けて、送信先アドレス、 KATを保持する。送信端末 10は、 MF T以外用いないため、テーブル種別には「MFT」が設定される。送信先アドレスは、 送信端末 10がマルチキャストパケットを送信するアドレスである。送信端末 10が保持 する送信先アドレスは、マルチキャスト対応ルータのアドレス(URのアドレス)又は受 信端末のアドレスである。
[0047] 図 3と同様に、 KAT (URl)は、送信先アドレス「UR1」の KATを示す。送信端末ァ ドレスは、送信端末 10の移動等により変更される場合がある。そのため、エントリ保持 部 11は、送信端末 10の現在位置における現在の送信端末アドレスの MFTエントリ と、変更前の送信端末アドレスの MFTエントリを保持できる。
[0048] メッセージ処理部 14は、制御メッセージを処理する。メッセージ処理部 14は、参加 要求メッセージに基づレ、て、送信先アドレスとしてマルチキャスト対応ルータ(UR)の アドレスを送信先保持部に登録する送信先登録部として機能する。メッセージ処理部 14は、受信部 12から送信端末 10が受信した制御メッセージを取得する。メッセージ 処理部 14は、制御メッセージの種類、制御メッセージの送信元アドレス、エントリ保持 部 11が保持する情報に基づいて、エントリ保持部 11への情報の登録、エントリ保持 部 11が保持する情報の更新や削除を行う。
[0049] メッセージ処理部 14は、エントリ保持部 11のテーブル種別に MFTを設定し、送信 端末アドレス、マルチキャストグループアドレス毎に MFTエントリを生成する。例えば 、メッセージ処理部 14は、送信端末 10が新たに受信し: Joinメッセージや Redirect メッセージにより指定されてレ、る送信端末アドレス、マルチキャストグループアドレス毎 に MFTエントリを生成する。メッセージ処理部 14は、生成した MFTエントリに、送信 端末アドレス、マルチキャストグループアドレス、送信先アドレス、 KATを対応付けて 登録する。
[0050] パケット生成部 15は、データを含むマルチキャストパケットを生成する。パケット生 成部 15は、必要に応じて、 BUメッセージや LUメッセージのような制御メッセージや、 LUメッセージを付加したマルチキャストパケットを生成する。パケット生成部 15は、送 信先アドレスに基づいてマルチキャストパケットを生成する。パケット生成部 15は、ェ ントリ保持部 11から送信先アドレスを取得する。又、パケット生成部 15は、アプリケー シヨン部からの入力や外部入力によって、データを取得する。
[0051] まず、パケット生成部 15は、データに、送信元アドレスとして送信端末アドレス、宛 先アドレスとしてマルチキャストグループアドレスを付加したマルチキャストパケットを 生成する。パケット生成部 15は、エントリ保持部 11を参照し、マルチキャストパケット が送信先アドレスの数になるように、生成したマルチキャストパケットを複製する。尚、 パケット生成部 15は、送信先アドレスの数が 1つの場合には複製を行う必要はない。
[0052] パケット生成部 15は、送信元アドレスに送信端末アドレスを設定し、宛先アドレスに 送信先アドレスを設定して、マルチキャストパケットをカプセルィ匕する。パケット生成部 15は、カプセル化したマルチキャストパケットを送信部 13に入力する。
[0053] 送信部 13は、 UR20a 20hや NR30a— 30f、受信端末 40a— 40dに、マルチキ ャストパケットや制御メッセージを送信する。送信部 13は、パケット生成部 15からカブ セル化されたマルチキャストパケットを取得し、メッセージ処理部 14から制御メッセ一 ジを取得する。
[0054] 〔通信方法〕
次に、図 6—図 21を参照し、通信システム 1の動作を説明する。
[0055] (URの動作手順)
図 6—図 9を用いて UR20a— 20hの動作手順を説明する。まず、図 6にパケット受 信時の動作手順を示す。 UR20a— 20hの受信部 22は、隣接する UR又は NRから パケットを受信する(S101)。受信部 22は、受信したパケットに特別なオプションが設 定されているか否かを判断する(S102)。
[0056] 特別なオプションには、 IPv6を用いる場合には RFC2460で規定されている Hop— by —Hopオプションを用いることができる。 IPv4を用いる場合には RFC2113で規定され ている Router Alert オプションを用いることができる。これにより、 UR20a— 20hは、 他の URや送信端末 10にパケットが特別な制御メッセージであることを通知できる。 更に、特別なオプションとして、オプションを解釈できない場合であってもそのメッセ ージを破棄しないよう指示するデータ、例えば、 Hop_by_Hopオプションの場合、ォ プシヨンタイプの先頭を「00」力、ら開始するオプションを付加することができる。これに より、途中の経路にオプションを解釈できないルータ、例えば、 NRが存在しても破棄 されず、 UR20a 20hや送信端末 10が制御メッセージを受信できる。他にも、 RFC 2711におレ、て規定されてレ、るルータ警告オプション等がある。 [0057] ステップ(S102)において、特別なオプションが設定されていない場合、受信部 22 はパケットの宛先アドレスが UR自身か否かを判断する(S103)。一方、ステップ(S1 02)において、特別なオプションが設定されている制御メッセージの場合、受信部 22 はその制御メッセージをメッセージ処理部 25に入力する(S108)。
[0058] ステップ(SI 03)において、パケットの宛先アドレスが UR自身ではない場合、受信 部 22はパケットを転送部 23に入力する(S104)。一方、ステップ(S103)において、 パケットの宛先アドレスが UR自身の場合、受信部 22は、そのパケットがカプセル化さ れているか否かを判断する(S105)。パケットがカプセル化されている場合、受信部 2 2はディカプセルィ匕し、パケットを取り出す(S106)。
[0059] 次に、受信部 22は、受信したパケットそのものやディカプセルィ匕により取り出したパ ケットがマルチキャストパケットか制御メッセージかを判断する(S107)。ステップ(SI 07)において、パケットがマルチキャストパケットの場合、受信部 22はマルチキャスト パケットを転送制御部 24に入力する(S108)。一方、ステップ (S107)において、パ ケットが制御メッセージの判断した場合、受信部 22は制御メッセージをメッセージ処 理部 25に入力する(S109)。 UR20a— 20hは、パケットを受信する度に図 6に示し た手順を繰り返す。
[0060] 次に、 UR20aがマルチキャストパケットを受信した場合の処理手順を図 7に示す。
受信部 22がマルチキャストパケットを受信する(S201)。受信部 22は、カプセルィ匕さ れたマルチキャストパケットをディカプセル化する。受信部 22は、取り出したマルチキ ャストパケットと、カプセル化されたマルチキャストパケットに設定されていた送信元ァ ドレスを転送制御部 24に入力する。転送制御部 24は、エントリ保持部 21aのトンネル 元アドレスに、カプセル化されたマルチキャストパケットの送信元アドレスを設定する( S202)。
[0061] 尚、ステップ(S202)において、転送制御部 24は、トンネル元アドレスが既に設定さ れているトンネル元アドレスと異なる場合、既に設定されているトンネル元アドレスを エントリ保持部 21aの前トンネル元アドレスに設定するようにしてもよレ、。これによれば 、以降に、受信部 22が前トンネル元アドレスからマルチキャストパケットを受信した場 合、メッセージ提供部 26が前トンネル元アドレスに明示的に Pruneメッセージを送信 することでマルチキャストパケットの重複受信を防ぐことができる。転送制御部 24は、 エントリ保持部 21aを検索し、受信部 22から取得したマルチキャストパケットに含まれ る送信端末アドレス「S」とマルチキャストグループアドレス「G」を含むエントリが存在 するか否かを判断する(S203)。
[0062] エントリが存在する場合、転送制御部 24は、マルチキャストパケットの宛先アドレス が、そのエントリの転送先アドレスに含まれるか否かを判断する(S204)。宛先アドレ スが転送先アドレスに含まれない場合、転送制御部 24は、マルチキャストパケットに 含まれる送信端末アドレス「S」とマルチキャストグループアドレス「G」によって特定さ れるマルチキャストツリーが安定してレ、るか否かを判断する(S205)。
[0063] マルチキャストツリーが安定している場合、転送制御部 24は、エントリ保持部 21aの 送信端末アドレス「S」とマルチキャストグループアドレス「G」を含むエントリに複数の 転送先アドレスが存在するか否かを判断する(S206)。複数の転送先アドレスが存在 しない場合、転送制御部 24はメッセージ提供部 26に Redirectメッセージの生成を 指示する。メッセージ提供部 26は、マルチキャストパケットのトンネル元アドレスに対 する Redirectメッセージを生成し、転送部 23が送信する(S207)。 Redirectメッセ一 ジは、マルチキャストパケットを受信した UR自身の離脱を要求する Pruneメッセージ と、 URがエントリ保持部 21aに保持する転送先アドレスの参加を要求する Joinメッセ ージを含む。
[0064] —方、ステップ(S205)においてマルチキャストツリーが安定していない場合や、ス テツプ(S206)において転送先アドレスが複数存在する場合、転送制御部 24はマル チキャストパケットを転送先アドレスでカプセル化する(S208)。このとき、転送制御部 24は転送先アドレスの数となるようにマルチキャストパケットを複製し、各マルチキャス トパケットを転送先アドレスを用いてカプセルィ匕する。転送制御部 24は、カプセルィ匕 したマルチキャストパケットを転送部 23に入力する。そして、転送部 23が宛先アドレ スに基づレ、てマルチキャストパケットを転送する(S209)。
[0065] 一方、ステップ(S204)において、宛先アドレスが転送先アドレスに含まれる場合、 転送制御部 24は、受信したマルチキャストパケットをそのまま転送部 23に入力する。 そして、転送部 23は、宛先アドレスに基づいて、受信したマルチキャストパケットをそ のまま転送する(S209)。このように転送制御部 24は、転送先アドレスを用いてカプ セルィ匕すること等により、転送先アドレスに基づいてマルチキャストパケットの転送を 制御する。一方、ステップ(S203)において、エントリが存在しない場合、転送制御部 24は、取得したマルチキャストパケットを破棄する(S210)。
[0066] 次に、 UR20a 20hが制御メッセージを受信した場合の処理手順を図 8、図 9に示 す。まず、制御メッセージ力 ¾oinメッセージの場合を図 8に示す。受信部 22が Joinメッ セージを受信し、メッセージ処理部 25に入力する(S301)。メッセージ処理部 25は、 エントリ保持部 21aを検索し、取得し oinメッセージに含まれる送信端末アドレス「S 」とマルチキャストグループアドレス「G」を含むエントリが存在するか否かを判断する( S302)。エントリが存在する場合、メッセージ処理部 25は、エントリ保持部 21aにおけ る送信端末アドレス「S」とマルチキャストグループアドレス「G」を含むエントリに複数 の転送先アドレスが存在するか否力、を判断する(S303)。
[0067] メッセージ処理部 25は、転送先アドレスが複数存在しないと判断した場合、転送先 アドレスに Joinメッセージの送信元アドレスが含まれているか否かを判断する(S304 )。メッセージ処理部 25は、含まれていると判断した場合、受信し oinメッセージが 、 Stableオプションが設定された Stable Joinメッセージであるか否かを判断する(S 305)。メッセージ処理部 25は、 Stableオプションが設定されていると判断した場合、 受信し^ Joinメッセージを転送部 23に入力する。転送部 23は受信し^ Joinメッセ一 ジをそのまま上流に転送する(S306)。
[0068] 一方、(S304)において、メッセージ処理部 25は、 MFTエントリの転送先アドレス に Joinメッセージの送信元アドレスが含まれていないと判断した場合には、エントリ保 持部 21aが保持する MFTエントリの転送先アドレスに送信元アドレスを追加する(S3 08)。そして、メッセージ処理部 25は、 Joinメッセージを破棄する(S309)。更に、メッ セージ処理部 25は、エントリ保持部 21aに追加した転送先アドレスに関する KATを 起動させる(S310)。
[0069] 一方、ステップ(S303)において、メッセージ処理部 25は転送先アドレスが複数存 在すると判断した場合、転送先アドレスに Joinメッセージの送信元アドレスが含まれる か否かを判断する(S307)。メッセージ処理部 25は、転送先アドレスが含まれると判 断した場合、ステップ(S309)、(S310)の処理を行う。メッセージ処理部 25は、転送 先アドレスが含まれないと判断した場合、ステップ(S308)—(S310)の処理を行う。
[0070] 又、ステップ(S302)においてエントリ保持部 21aにエントリが存在しなかった場合、 メッセージ処理部 25は、受信し joinメッセージ力 Stableオプションが設定された Stable Joinメッセージであるか否かを判断する(S311)。メッセージ処理部 25は、 S tableオプションが設定されてレ、ないと判断した場合、 Joinメッセージに含まれる送信 端末アドレス「S」とマルチキャストグループアドレス「G」に Joinメッセージの送信元ァ ドレスを転送先アドレスとして対応付けた MFTエントリを新たに生成する。メッセージ 処理部 25は、生成した MFTエントリをエントリ保持部 21aに登録する。そして、メッセ ージ処理部 25は、登録した転送先アドレスの JTを起動させる(S312)。更に、メッセ ージ処理部 25は、登録した転送先アドレスの KATを起動させる(S313)。
[0071] そして、メッセージ処理部 25は、 Joinメッセージを破棄する(S314)。更に、メッセ一 ジ処理部 25は、メッセージ提供部 26に Joinメッセージの生成を指示する。メッセージ 提供部 26は、送信元アドレスに UR自身のアドレスを設定し、宛先アドレスに送信端 末アドレスを設定し: Joinメッセージを生成する。そして、メッセージ提供部 26は、生 成し oinメッセージを転送部 23に入力し、転送部 23が Joinメッセージを送信する( S315)。
[0072] 一方、ステップ(S311)において、メッセージ処理部 25は、マルチキャストツリーが 安定していると判断した場合、受信し oinメッセージをそのまま転送部 23に入力す る。転送部 23は、 Joinメッセージに含まれる送信端末アドレスに基づいて、 Joinメッセ ージをそのまま上流に転送する(S 316)。
[0073] このように、メッセージ処理部 25は、 URが受信し fcjoinメッセージに基づいて、メッ セージ処理部 25は、送信端末アドレス「S」及びマルチキャストグループアドレス「G」 に対応付けて転送先アドレスをエントリ保持部 21aに登録する。
[0074] 又、メッセージ提供部 26は、送信端末 10の送信先アドレスに、 URのアドレスを追 加することを要求する Joinメッセージ (参加要求メッセージ)を送信端末アドレス宛に 提供する。 Joinメッセージは、 URが、例えば受信端末 40a 40d等からのマルチキ ャストパケットの送信要求、即ち、マルチキャストツリーへの参加を要求する Joinメッセ ージに応じて生成され、上流に配置されている送信端末 10宛てに送信される。又、 このように UR力 UR自身のアドレスを送信元アドレスに設定し oinメッセージを送 信し、他の URがその Joinメッセージに基づいてエントリ保持部 21aに転送先アドレス を登録する。そのため、メッセージ処理部 25は、転送先アドレスとして他の URのアド レスをエントリ保持部 21aに登録できる。
[0075] 次に、制御メッセージ力 SPmneメッセージの場合を図 9に示す。メッセージ処理部 2 5は、受信部 22から Pruneメッセージを取得する(S401)。メッセージ処理部 25は、 エントリ保持部 21aを検索し、取得した Pruneメッセージに含まれる送信端末アドレス 「S」と、マルチキャストグループアドレス「G」と、転送先アドレスとを含むエントリが存 在するか否かを判断する(S402)。
[0076] エントリが存在する場合、メッセージ処理部 25は、そのエントリから Pruneメッセージ に含まれる転送先アドレスを削除する(S403)。一方、エントリが存在しない場合、メ ッセージ処理部 25は、 Pruneメッセージを破棄する(S410)。メッセージ処理部 25は 、ステップ(S403)において転送先アドレスを削除した結果、そのエントリが消滅する か否かを判断する(S404)。エントリは、転送先アドレスが 0になると消滅する。
[0077] エントリが消滅する場合、メッセージ処理部 25は、 Pruneメッセージの生成をメッセ ージ提供部 26に指示する。メッセージ提供部 26は、 UR自身のアドレスを送信元アド レスに設定し、送信端末アドレスを宛先アドレスに設定した Pruneメッセージを生成 する(S405)。メッセージ提供部 26は、生成した Pruneメッセージを転送部 23に入力 する(S409)。このように Pruneメッセージは、 URがマルチキャストツリーから明示的 に離脱するために送信端末 10に対して送信される。
[0078] 一方、ステップ(S404)においてエントリが消滅しない場合、メッセージ処理部 25は 、 Pruneメッセージに含まれる送信端末アドレス「S」とマルチキャストグループアドレ ス「G」によって特定されるマルチキャストツリーが安定しているか否かを判断する(S4 06)。マルチキャストツリーが安定している場合、メッセージ処理部 25は、送信端末ァ ドレス「S」とマルチキャストグループアドレス「G」を含むエントリに複数の転送先ァドレ スが存在するか否かを判断する(S407)。
[0079] 複数の転送先アドレスが存在しない場合、即ち、転送先アドレスが 1つになる場合、 メッセージ処理部 25は、 UR自身が、 URが受信したマルチキャストパケットを複製す る複製ポイントではなくなると判断する。メッセージ処理部 25は、 Redirecメッセージ の生成をメッセージ提供部 26に指示する。メッセージ提供部 26は、 Redirectメッセ ージを生成する(S408)。メッセージ提供部 26は、 UR自身のアドレスを Redirectメ ッセージの送信元アドレスに設定する。メッセージ提供部 26は、 UR自身を転送先ァ ドレス又は送信先アドレスから削除し、エントリに残っている転送先アドレスを転送先 アドレス又は送信先アドレスに追加することを要求する Redeirectメッセージを生成 する。
[0080] このように Redirectメッセージは、マルチキャストツリーが安定状態のときに、 URが 受信端末 40a 40dや他の URから、マルチキャストツリー力もの離脱を要求するメッ セージを受信した場合に、 UR自身よりも上流に位置する URや送信端末 10に対して 、エントリ保持部 n, 21aが保持する情報を変更するように指示する変更要求メッセ ージとして用いることができる。
[0081] 転送部 23は、 Pruneメッセージや Redirectメッセージに含まれる送信端末アドレス に基づいて、 Pruneメッセージや Redirectメッセージを転送する。尚、ステップ(S40 6)においてマルチキャストツリーが安定していない場合、ステップ(S407)において 複数の転送先アドレスが存在する場合は、メッセージ処理部 25は処理を終了する。
[0082] (マルチキャストツリーの設定、マルチキャストパケットの転送)
次に、図 10— 21を用いて、マルチキャストツリーの設定、マルチキャストパケットの 転送について説明する。まず、受信端末 40aが送信端末 10に対してマルチキャスト パケットの送信を要求することにより、マルチキャストツリーが設定される際の通信シス テム 1の動作を、図 10, 11を用いて説明する。図 10に手順を示し、図 11に通信シス テム 1の様子を示す。
[0083] 以下の説明において、 UR20a 20hが備えるエントリ保持部 21a— 21hと、送信端 末 10が備えるエントリ保持部 11を必要に応じて併記する。但し、説明を簡単にする ために、エントリ保持部 11, 21a 21hが保持する情報のうち、テーブル種別と、送 信端末アドレスと、マルチキャストグループアドレスと、転送先アドレス又は送信先アド レスのみを示す。 [0084] 具体的には、送信端末アドレスと、マルチキャストグループアドレスと、転送先ァドレ ス又は送信先アドレスを、(送信端末アドレス, マルチキャストグノレープアドレス): [転 送先アドレス又は送信先アドレス]のように表記する。 (送信端末アドレス,マルチキヤ ストグループアドレス)により、マルチキャストツリーやマルチキャストパケットが、どの送 信端末からのどのマルチキャストグループに関するものであるかを特定できる。又、送 信端末 10を最上流として説明する。
[0085] 図 10、 11に示すように、受信端末 40aは、 UR20fに参加要求メッセージを送信す る(S501)。受信端末 40aが無線リンクを介して接続しているルータが URの場合、受 信端末 40aは、 IGMPv2 (Internet Management Protocol Version 2)や MLDv2 ( Multicast Listener Discovery Version 2、「draft— vida— mid— v2— xx.txt」参照)に従 つてマルチキャストパケットの送信を要求し、マルチキャストツリーへの参加を要求で きる。具体的には、受信端末 40aは、 Membership Report2を UR20fに送信する 。尚、受信端末 40aは、 IPv6を用いる場合には MLDv2に従うが、 IPv4を用いる場 合には IGMPv3に従って Membership Report2を送信する。
[0086] UR20fのメッセージ処理部 25は、 Membership Report2に設定された送信端末 マルチキャストアドレス「G」に基づいて、送信端末アドレス「S」と、マ :、転送先アドレス「G」を対応付けた MFTエントリ生成する 。この MFTエントリは、 UR20f自身の配下に、送信端末アドレス「S」とマルチキャスト アドレス「G」との組み合わせによって特定されるマルチキャストパケットの受信を希望 する受信端末 40aが存在することを示す。即ち、転送先アドレスがマルチキャストグノレ 一プアドレス「G」の場合、(S, G)により特定されるマルチキャストパケットの受信を希 望する受信端末 40aが UR20fに接続していることを示す。よって、 UR20fの転送部 23は、宛先アドレスがマルチキャストグループアドレス「G」の場合、転送制御部 24に よりディカプセル化されたマルチキャストパケットを、 UR20f自身に接続している受信 端末 40aに送信すればよレ、。メッセージ処理部 25は、生成した MFTエントリをェント リ保持部 21fに登録する(S502)。
[0087] UR20fのメッセージ提供部 26は、送信端末 10の送信先アドレスに UR20fのァドレ スを追加することを要求する Joinメッセージ 3を生成し、転送部 23を介して送信端末 アドレス宛に提供する(S503)。具体的には、メッセージ提供部 26は、宛先アドレス に送信端末アドレス「S」、送信元アドレスに UR20fのアドレス「UR6」を設定し、マル チキャストグループアドレス「G」を指定し oinメッセージ 3を生成する。 UR20fよりも 上流に存在する URや送信端末 10は、 Joinメッセージ 3に設定された特別なォプショ ンにより、受信したパケットが Joinメッセージであることを検出できる。転送部 23は、宛 先アドレスに設定された送信端末アドレス「S」に基づいて、 Joinメッセージ 3を転送す る。
[0088] UR20fに接続し、 UR20fよりも上流に位置する UR20dが、 Joinメッセージ 3を受信 する。 UR20dのメッセージ処理部 25は、 Joinメッセージ 3に設定された送信端末アド レス「S」と、マルチキャストアドレス「G」と、送信元アドレス「UR6」に基づいて、送信 端末アドレス「S」と、マルチキャストアドレス「G」と、転送先アドレス「UR6」とを対応付 けた MFTエントリ生成する。メッセージ処理部 25は、生成した MFTエントリをエントリ 保持部 21dに登録する(S504)。
[0089] 更に、 UR20dのメッセージ提供部 26は、宛先アドレスに送信端末アドレス「S」、送 信元アドレスに UR20dのアドレス「UR4」を設定し、マルチキャストグループアドレス「 Gjを指定し oinメッセージ 3を生成し、転送部 23を介して送信端末アドレス宛に提 供する(S505)。
[0090] UR20dに接続し、 UR20dよりも上流に位置する UR20b力 Joinメッセージ 3を受 信する。 UR20bのメッセージ処理部 25は、 Joinメッセージ 3に基づいて、送信端末 アドレス「S」と、マルチキャストアドレス「G」と、転送先アドレス「UR4」とを対応付けた MFTエントリ生成する。メッセージ処理部 25は、生成した MFTエントリをエントリ保持 部 21bに登録する(S506)。
[0091] 更に、 UR20bのメッセージ提供部 26は、宛先アドレスに送信端末アドレス「S」、送 信元アドレスに UR20bのアドレス「UR2」を設定し、マルチキャストグループアドレス「 GJを指定し oinメッセージ 3を生成し、転送部 23を介して送信端末アドレス宛に提 供する(S507)。
[0092] UR20bと、 UR20bの上流に位置する UR20aとの間に存在する NR30aは、 Joinメ ッセージ 3を送信先アドレスに設定されている送信端末アドレス「S」に基づいて、ュニ キャストで転送する。
[0093] UR20bよりも上流に位置する UR20aが、 Joinメッセージ 3を受信する。 UR20aのメ ッセージ処理部 25は、 Joinメッセージ 3に基づいて、送信端末アドレス「S」と、マルチ キャストアドレス「G」と、転送先アドレス「UR2」とを対応付けた MFTエントリ生成する 。メッセージ処理部 25は、生成した MFTエントリをエントリ保持部 21aに登録する(S 508)。
[0094] 更に、 UR20aのメッセージ提供部 26は、宛先アドレスに送信端末アドレス「S」、送 信元アドレスに UR20aのアドレス「UR1」を設定し、マルチキャストグループアドレス「 GJを指定し oinメッセージ 3を生成し、転送部 23を介して送信端末アドレス宛に提 供する(S509)。
[0095] 送信端末 10のメッセージ処理部 14は、 Joinメッセージ 3に設定された送信端末アド レス「S」と、マルチキャストアドレス「G」と、送信元アドレス「UR1」に基づいて、送信 端末アドレス「S」と、マルチキャストアドレス「G」と、送信先アドレス「UR1」を対応付け た MFTエントリ生成する。メッセージ処理部 14は、生成した MFTエントリをエントリ保 持部 11に登録する(S510)。このように、メッセージ処理部 14は、送信端末アドレス「 S」をマルチキャストツリーの上流としたときに最上流に位置する UR20aのアドレス「U R1」をエントリ保持部 11に登録する。
[0096] 以上のような手順により、図 11に示すように、送信端末 10、 UR20a、 UR20b、 UR 20d、 UR20fを経由して受信端末 40aにマルチキャストパケットが転送されるマルチ キャストツリーが設定される。
[0097] 次に、図 11に示すマルチキャストツリーに従ってマルチキャストパケットを転送する 際の通信システム 1の動作を、図 12, 13を用いて説明する。図 12に手順を示し、図 1 3に通信システム 1の様子を示す。
[0098] まず、送信端末 10のパケット生成部 15が、エントリ保持部 11を参照し、データに送 信元アドレスとして送信端末アドレス「S」、宛先アドレスとしてマルチキャストグループ アドレス「G」を設定してマルチキャストパケットを生成する。そして、パケット生成部 15 が、生成したマルチキャストパケットに送信元アドレスとして送信端末アドレス「S」、宛 先アドレスとして、エントリ保持部 11が保持する送信先アドレス「UR1」を設定し、マル チキャストパケットをカプセルィ匕する。そして、送信端末 10の送信部 13は、カプセル ィ匕されたマルチキャストパケット 5aを、その宛先アドレス「UR1」に基づいて UR20aに 送信する(S601)。
[0099] UR20aの受信部 22は、カプセル化されたマルチキャストパケット 5aをディカプセル 化する。受信部 22は、取り出したマルチキャストパケットと、カプセルィ匕されたマルチ キャストパケット 5aに設定されていた送信元アドレス「S」を転送制御部 24に入力する 。転送制御部 24は、エントリ保持部 21aのトンネル元アドレスに、カプセル化されたマ ルチキャストパケット 5aの送信元アドレス「S」を設定する。 UR20aの転送制御部 24 は、エントリ保持部 21aを参照し、転送先アドレス「UR2」と、ディカプセル化したマル チキャストパケットの宛先アドレス「G」が異なることから、送信元アドレスとして UR20a 自身のアドレス「UR1」、宛先アドレスとして転送先アドレス「UR2」を設定してカプセ ル化する。そして、転送部 23が、カプセル化されたマルチキャストパケット 5bを、その 宛先アドレス「UR2」に基づレ、て UR20bに転送する(S602)。
[0100] これにより、 UR20aと UR20bとの経路上に存在する NR30aは、マルチキャストパ ケット 5aがマルチキャストパケットであることを意識することなぐ宛先アドレス「UR2」 に基づいて通常のュニキャストの処理によって転送できる。
[0101] UR20bの受信部 22は、カプセル化されたマルチキャストパケット 5bをディカプセル 化する。 UR20bの転送制御部 24は、エントリ保持部 21bのトンネル元アドレスに、力 プセル化されたマルチキャストパケット 5bの送信元アドレス「UR1」を設定する。 UR2 Obの転送制御部 24は、エントリ保持部 21bを参照し、転送先アドレス「UR4」と、ディ カプセルィ匕したマルチキャストパケットの宛先アドレス「G」が異なることから、送信元ァ ドレスとして UR20b自身のアドレス「UR2」、宛先アドレスとして転送先アドレス「UR4 」を設定してカプセル化する。そして、転送部 23が、カプセル化されたマルチキャスト パケット 5cを、その宛先アドレス「UR4」に基づいて UR20dに転送する(S603)。
[0102] UR20dの受信部 22は、カプセル化されたマルチキャストパケット 5cをディカプセル 化する。 UR20dの転送制御部 24は、エントリ保持部 21dのトンネル元アドレスに、力 プセル化されたマルチキャストパケット 5cの送信元アドレス「UR2」を設定する。 UR2 Odの転送制御部 24は、エントリ保持部 21dを参照し、転送先アドレス「UR6」と、ディ カプセルィ匕したマルチキャストパケットの宛先アドレス「G」が異なることから、送信元ァ ドレスとして UR20d自身のアドレス「UR4」、宛先アドレスとして転送先アドレス「UR6 」を設定してカプセル化する。そして、転送部 23が、カプセル化されたマルチキャスト パケット 5dを、その宛先アドレス「UR6」に基づいて UR20fに転送する(S604)。
[0103] UR20fの受信部 22は、カプセル化されたマルチキャストパケット 5dをディカプセル 化して、マルチキャストパケット 5eを取り出す。 UR20fの転送制御部 24は、エントリ保 持部 21fのトンネル元アドレスに、カプセル化されたマルチキャストパケット 5dの送信 元アドレス「UR4」を設定する。 UR20fの転送制御部 24は、エントリ保持部 21fを参 照し、転送先アドレス「G」と、ディカプセルィ匕したマルチキャストパケットの宛先アドレ ス「G」が同一であることから、そのまま転送部 23に入力する。転送部 23は、宛先アド レス「G」に基づいて、マルチキャストパケット 5eを受信端末 40aにマルチキャストによ り送信する(S605)。
[0104] 図 13に示すように、マルチキャストパケットは設定されたマルチキャストツリーに従つ て送信端末 10から受信端末 40aに転送される。このとき、マルチキャストパケット 5a— 5dは、送信先アドレスや転送先アドレス(UR1、 UR2、 UR4、 UR6)によってカプセ ノレイ匕されている。そのため、送信端末 10と UR20fとの間に存在する NR30aは、受信 したパケットがマルチキャストパケットであることを意識することなぐ通常のュニキャス トによってマルチキャストパケットを転送することができる。
[0105] 次に、図 11に示すマルチキャストツリーが設定されている状態において、新たな受 信端末 40b— 40dがマルチキャストツリーに参加する場合の通信システム 1の動作を 、図 14一図 17を用いて説明する。尚、図 15、 17において、エントリ保持部 21a, 21b , 21eについて、更新前と更新後の状態を区別するために、更新前のエントリ保持部 21a, 21b, 21eの状態を、更新前エントリ保持部 21 la, 211b, 211eとして示す。
[0106] 図 14、 15に示すように、受信端末 40bが Membership Report2を UR20gに送 信し、マルチキャストツリーへの参加を要求する(S701)。
[0107] UR20gのメッセージ処理部 25は、 Membership Report2に設定された送信端 末アドレス「S」と、マルチキャストアドレス「G」に基づいて、送信端末アドレス「S」と、
:、転送先アドレス「G」を対応付けた MFTエントリ生成す る。メッセージ処理部 25は、生成した MFTエントリをエントリ保持部 21gに登録する( S702)。
[0108] UR20gのメッセージ提供部 26は、宛先アドレスに送信端末アドレス「S」、送信元ァ ドレスに UR20gのアドレス「UR7」を設定し、マルチキャストグループアドレス「G」を 指定し oinメッセージ 3を生成する。転送部 23は、宛先アドレスに設定された送信 端末アドレス「S」に基づいて、 Joinメッセージ 3を転送する(S703)。
[0109] UR20gと、 UR20gの上流に位置する UR20bとの間に存在する NR30bは、 Joinメ ッセージ 3を送信先アドレスに設定されている送信端末アドレス「S」に基づいてュニ キャストで転送する。
[0110] UR20gよりも上流に位置する UR20b力 Joinメッセージ 3を受信する。 UR20bの メッセージ処理部 25は、受信し joinメッセージ 3とエントリ保持部 21bが保持するェ ントリに基づいて、エントリ保持部 21bを更新する。
[0111] 具体的には、メッセージ処理部 25は、更新前エントリ保持部 21 lbが保持する転送 先アドレス「UR4」 ijoinメッセージ 3の送信元アドレスに設定されている「UR7」とに 基づいて、送信端末アドレス「S」と、マルチキャストアドレス「G」と、転送先アドレス「U R4, UR7」とを対応付けた MFTエントリを新たに生成する。メッセージ処理部 25は、 新たに生成した MFTエントリをエントリ保持部 21bに登録することにより、エントリ保持 部 21bを、更新前エントリ保持部 211bの状態から、図 15に示すエントリ保持部 21b の状態に更新する(S704)。
[0112] 以上のような手順により、図 15に示すように、送信端末 10、 UR20a、 UR20b、 UR 20d、 UR20fを経由して受信端末 40aにマルチキャストパケットが転送され、送信端 末 10、 UR20a, UR20b, UR20d, UR20gを経由して受信端末 40b (こマノレチキヤ ストパケットが転送されるマルチキャストツリーが設定される。
[0113] 次に、図 15に示すマルチキャストツリーに従ってマルチキャストパケットを転送する 際の通信システム 1の動作を、図 16を用いて説明する。
[0114] まず、送信端末 10のパケット生成部 15が、エントリ保持部 11を参照し、データに送 信元アドレスとして送信端末アドレス「S」、宛先アドレスとしてマルチキャストグループ アドレス「G」を設定してマルチキャストパケットを生成する。そして、パケット生成部 15 力 生成したマルチキャストパケットに送信元アドレスとして送信端末アドレス「S」、宛 先アドレスとして、エントリ保持部 11が保持する送信先アドレス「UR1」を設定し、マル チキャストパケットをカプセルィ匕する。そして、送信端末 10の送信部 13は、カプセル ィ匕されたマルチキャストパケット 5aを、その宛先アドレス「UR1」に基づいて UR20aに 送信する。
[0115] UR20aの受信部 22は、カプセル化されたマルチキャストパケット 5aをディカプセル 化する。受信部 22は、取り出したマルチキャストパケットと、カプセルィ匕されたマルチ キャストパケット 5aに設定されていた送信元アドレス「S」を転送制御部 24に入力する 。転送制御部 24は、エントリ保持部 21aのトンネル元アドレスに、カプセル化されたマ ルチキャストパケット 5aの送信元アドレス「S」を設定する。 UR20aの転送制御部 24 は、エントリ保持部 21aを参照し、転送先アドレス「UR2」と、ディカプセル化したマル チキャストパケットの宛先アドレス「G」が異なることから、送信元アドレスとして UR20a 自身のアドレス「UR1」、宛先アドレスとして転送先アドレス「UR2」を設定してカプセ ル化する。そして、転送部 23が、カプセル化されたマルチキャストパケット 5bを、その 宛先アドレス「UR2」に基づいて UR20bに転送する。
[0116] UR20bの受信部 22は、カプセル化されたマルチキャストパケット 5bをディカプセル 化する。 UR20bの転送制御部 24は、エントリ保持部 21bを参照し、転送先アドレス 力 ¾つあることから、ディカプセルィ匕したマルチキャストパケットを複製し、マルチキャス トパケットが 2つになるようにする。
[0117] 転送制御部 24は、転送先アドレス「UR4, UR7Jとディカプセル化したマルチキヤ ストパケットの宛先アドレス「G」とを比較する。いずれの転送先アドレスも宛先アドレス と異なるため、転送制御部 24は、送信元アドレスとして UR20b自身のアドレス「UR2 」を設定し、一方のマルチキャストパケットの宛先アドレスには転送先アドレス「UR4」 を設定し、他方のマルチキャストパケットの宛先アドレスには転送先アドレス「UR7」を 設定してカプセル化する。
[0118] そして、転送部 23が、カプセル化されたマルチキャストパケット 5cをその宛先アドレ ス「UR4」に基づいて UR20dに転送する。更に、転送部 23は、カプセル化されたマ ルチキャストパケット 5fをその宛先アドレス「UR7」に基づレ、て UR20gに転送する。 [0119] UR20d、 UR20fは、図 12、 13と同様にしてマルチキャストパケット 5d, 5eを転送 する。 UR20gの受信部 22は、カプセル化されたマルチキャストパケット 5fをディカプ セルイ匕して、マルチキャストパケット 5eを取り出す。 UR20gの転送制御部 24は、ェン トリ保持部 21gを参照し、転送先アドレス「G」と、ディカプセルィ匕したマルチキャストパ ケットの宛先アドレス「G」が同一であることから、そのまま転送部 23に入力する。転送 部 23は、宛先アドレス「G」に基づいて、マルチキャストパケット 5eを受信端末 40bに マルチキャストにより送信する。このように、マルチキャストパケットは設定されたマル チキャストッリ一に従つて送信端末 10から受信端末 40a, 40bに転送される。
[0120] 更に、図 15に示すマルチキャストツリーに、受信端末 40c, 40dが参加することによ り新たに設定されるマルチキャストツリーを図 17に示す。受信端末 40cは NR30eに 接続しているため、受信端末 40cが無線リンクを介して接続しているルータが NRであ ることを検出する。受信端末 40cは、 Membership Queryの受信の有無により検出 できる。例えば、受信端末 40cは、規定時間以上、 Membership Queryを受信でき ない場合には、 Membership Queryを送信する URが存在しないと判断でき、 NR に接続していることを検出できる。あるいは、受信端末 40cは、 Membership Repor tを送信後、規定時間を経過してもマルチキャストパケットを受信できなレ、場合にも、 Membership Reportを処理できる URが存在しないと判断でき、 NRに接続してい ることを検出できる。
[0121] 受信端末 40cは、 NRに接続している場合には、(S, G)により特定されるマルチキ ヤストッリ一への参加を要求する Joinメッセージ 3を送信する。受信端末 40cが送信 する Joinメッセージ 3には特別なオプションが設定されているため、 NR30eが Joinメッ セージ 3を破棄せず、受信端末 40cから送信端末 10までの経路に存在する URが Joi nメッセージ 3を受信できる。受信端末 40cは、宛先アドレスに送信端末アドレス「S」を 設定し、送信元アドレスに受信端末 40cのアドレス「R3」を設定し、マルチキャストグ ループアドレス「G」を指定し fcjoinメッセージ 3を送信する。この場合、 URの中で、 受信端末 40cから送信端末 10への経路の最下流に存在する UR20eが、 Joinメッセ ージ 3を受信する。
[0122] 受信端末 40cがマルチキャストツリーに参加することにより、 UR20aは、 UR20cに もマルチキャストパケットを転送する必要が生じる。そのため、 UR20aのメッセージ処 理部 25は、エントリ保持部 21aが保持するエントリを、更新前エントリ保持部 21 laに おけるエントリ(S, G): [UR2]から、エントリ(S, G): [UR2, UR3]に更新する。又、 UR20cは、 UR20eにマルチキャストパケットを転送する必要がある。そのため、 UR 20cのメッセージ処理部 25は、エントリ保持部 21cにエントリ(S, G): [UR5]を登録 する。
[0123] UR20eは、 UR20eと受信端末 40cとの間に存在するルータが NR30eであるため 、受信端末 40cにマルチキャストパケットを転送する必要がある。そのため、 UR20e のメッセージ処理部 25は、エントリ保持部 21eに、更新前エントリ保持部 21 leに示す ようなエントリ (S, G): [R3]を登録する。
[0124] この状態において、更に受信端末 40dがマルチキャストツリーに参加することにより 、 UR20eは、 UR20hにもマルチキャストパケットを転送する必要が生じる。そのため 、 UR20eのメッセージ処理部 25は、エントリ保持部 21eが保持するエントリを、更新 前エントリ保持部 211eのエントリ(S, G) : [R3]から、エントリ(S, G): [R3, UR8]に 更新する。更に、 UR20hのメッセージ処理部 25は、エントリ保持部 21hにエントリ(S , G): [G]を登録する。これにより、送信端末 10から複数の受信端末 40a— 40eにマ ルチキャストパケットが転送されるマルチキャストツリーが設定される。
[0125] このマルチキャストツリーに従ったマルチキャストパケットの転送は、以下のように行 われる。まず、送信端末 10のパケット生成部 15が、エントリ保持部 11を参照し、デー タに送信元アドレスとして送信端末アドレス「S」、宛先アドレスとしてマルチキャストグ ループアドレス「G」を設定してマルチキャストパケットを生成する。そして、パケット生 成部 15が、生成したマルチキャストパケットに送信元アドレスとして送信端末アドレス 「S」、宛先アドレスとして、エントリ保持部 11が保持する送信先アドレス「UR1」を設定 し、マルチキャストパケットをカプセル化する。そして、送信端末 10の送信部 13は、力 プセル化されたマルチキャストパケット 5aを、その宛先アドレス「UR1」に基づいて U R20aに送信する。
[0126] UR20aの受信部 22は、カプセル化されたマルチキャストパケット 5aをディカプセル 化する。 UR20aの転送制御部 24は、エントリ保持部 21aを参照し、転送先アドレスが 2つあることから、ディカプセル化したマルチキャストパケットを複製し、マルチキャスト パケットが 2つになるようにする。転送制御部 24は、転送先アドレス「UR2, UR3」と ディカプセル化したマルチキャストパケットの宛先アドレス「G」とを比較する。 V、ずれ の転送先アドレスも宛先アドレスと異なるため、転送制御部 24は、送信元アドレスとし て UR20a自身のアドレス「UR1」を設定し、一方のマルチキャストパケットの宛先アド レスには転送先アドレス「UR2」を設定し、他方のマルチキャストパケットの宛先アドレ スには転送先アドレス「UR3」を設定してカプセルィ匕する。
[0127] そして、転送部 23が、カプセル化されたマルチキャストパケット 5bをその宛先アドレ ス「UR2」に基づいて UR20bに転送する。更に、転送部 23は、カプセル化されたマ ルチキャストパケット 5gをその宛先アドレス「UR3」に基づレ、て UR20cに転送する。
[0128] UR20bの受信部 22は、カプセル化されたマルチキャストパケット 5bをディカプセル 化する。 UR20bの転送制御部 24は、エントリ保持部 21bを参照し、転送先アドレス 力 ¾つあることから、ディカプセルィ匕したマルチキャストパケットを複製し、マルチキャス トパケットが 2つになるようにする。
[0129] 転送制御部 24は、転送先アドレス「UR4, UR7Jとディカプセル化したマルチキヤ ストパケットの宛先アドレス「G」とを比較する。いずれの転送先アドレスも宛先アドレス と異なるため、転送制御部 24は、送信元アドレスとして UR20b自身のアドレス「UR2 」を設定し、一方のマルチキャストパケットの宛先アドレスには転送先アドレス「UR4」 を設定し、他方のマルチキャストパケットの宛先アドレスには転送先アドレス「UR7」を 設定してカプセル化する。
[0130] そして、転送部 23が、カプセル化されたマルチキャストパケット 5cをその宛先アドレ ス「UR4」に基づいて UR20dに転送する。更に、転送部 23は、カプセル化されたマ ルチキャストパケット 5fをその宛先アドレス「UR7」に基づレ、て UR20gに転送する。
[0131] UR20d、 UR20fは、図 12、 13と同様にしてマルチキャストパケット 5d, 5eを転送 する。 UR20gの受信部 22は、カプセル化されたマルチキャストパケット 5fをディカプ セルイ匕して、マルチキャストパケット 5eを取り出す。 UR20gの転送制御部 24は、ェン トリ保持部 21gを参照し、転送先アドレス「G」と、ディカプセルィ匕したマルチキャストパ ケットの宛先アドレス「G」が同一であることから、そのまま転送部 23に入力する。転送 部 23は、宛先アドレス「G」に基づいて、マルチキャストパケット 5eを受信端末 40bに マルチキャストにより送信する。
[0132] UR20cの受信部 22は、カプセル化されたマルチキャストパケット 5gをディカプセル 化して、マルチキャストパケットを取り出す。 UR20cの転送制御部 24は、エントリ保持 部 21cを参照し、転送先アドレス「UR5」と、ディカプセル化したマルチキャストバケツ トの宛先アドレス「G」が異なるため、送信元アドレスとして UR20c自身のアドレス「U R3」、宛先アドレスとして転送先アドレス「UR5」を設定してカプセル化する。そして、 転送部 23が、カプセル化されたマルチキャストパケット 5hを、その宛先アドレス「UR5 」に基づいて UR20eに転送する。
[0133] UR20eの受信部 22は、カプセル化されたマルチキャストパケット 5hをディカプセル 化する。 UR20eの転送制御部 24は、エントリ保持部 21eを参照し、転送先アドレスが 2つあること力 、ディカプセル化したマルチキャストパケットを複製し、マルチキャスト パケットが 2つになるようにする。転送制御部 24は、転送先アドレス「R3, UR8」とディ カプセル化したマルチキャストパケットの宛先アドレス「G」とを比較する。いずれの転 送先アドレスも宛先アドレスと異なるため、転送制御部 24は、送信元アドレスとして U R20e自身のアドレス「UR5」を設定し、一方のマルチキャストパケットの宛先アドレス には転送先アドレス「R3」を設定し、他方のマルチキャストパケットの宛先アドレスに は転送先アドレス「UR8」を設定してカプセル化する。
[0134] そして、転送部 23が、カプセル化されたマルチキャストパケット 5jをその宛先アドレ ス「尺3」に基づいて受信端末 40cに転送する。更に、転送部 23は、カプセル化され たマルチキャストパケット 5iをその宛先アドレス「UR8」に基づいて UR20hに転送す る。このように、 UR20eは、エントリ(S, G): [R3, UR8]に基づいて、宛先アドレスと して「R3」が設定されたマルチキャストパケットを受信端末 40cに対してュニキャストに より転送する。 UR20hは、マルチキャストパケット 5iをディカプセル化し、取り出したマ ルチキャストパケット 5eを受信端末 40dにマルチキャストにより転送する。
[0135] 次に、図 18を用いて、マルチキャストツリーが安定状態に移行した際の通信システ ム 1の動作を説明する。マルチキャストツリーは、初期状態から安定状態に移行する。 マルチキャストツリーは、例えば、新たに参加する受信端末の減少により安定状態に 移行する。例えば、生放送の開始後は、新たに参加する受信端末が減少する。送信 端末 10は、新たに参加する受信端末が減少してきたと判断できた場合に、安定状態 に移行したと判断できる。
[0136] 安定状態移行後の処理について、図 17に示したマルチキャストツリーの状態で安 定状態に移行した場合を例にとって説明する。尚、図 18において、エントリ保持部 2 la, 21bについて、更新前と更新後の状態を区別するために、更新前のエントリ保持 部 21a, 21bの状態を、更新前エントリ保持部 212a, 212bとして示す。又、更新前後 の移行段階のエントリ保持部 21a, 21bの状態を、移行中エントリ保持部 312a, 312
[0137] 通信システム 1は安定状態に移行すると、マルチキャストパケットの複製ポイントであ る分岐ルータを結ぶマルチキャストツリーを設定する。これによれば、マルチキャスト ツリーの経路上に存在する分岐ルータ以外の UR (UR20c等)は、マルチキャストパ ケットをュニキャストパケットと同様に扱うことができる。このように、通信システム 1に含 まれる全ての URがマルチキャストパケットを処理する必要がないため、通信システム 1全体の負荷が軽減される。
[0138] 具体的には、マルチキャストツリーが安定状態に移行すると、送信端末 10のバケツ ト生成部 15は、安定状態に移行したことを示す Stableオプションを設定したマルチ キャストパケットを生成し、送信部 13が送信する。これにより、送信端末 10は、参加し ている受信端末 40a— 40dにマルチキャストツリーが安定状態に移行したことを通知 する。受信端末 40a— 40dは、 Stableオプションが設定されたマルチキャストパケット を受信した後は、 Stable Membership Report又は Stable Joionメッセージを送 信する。例えば、受信端末 40cは、 Stableオプションが設定されたマルチキャストパ ケットの受信後は、宛先アドレスが送信端末アドレス「S」、送信元アドレスが「R3」であ る Stable Joinメッセージを送信する。
[0139] そして、 UR20e 20hfま、受信端末 40a 40d力ら、 Stable Membership Rep ortや Stable Joinメッセージを受信した後は、マルチキャストツリーが安定状態に移 行したと判断し、上流の URに対して Stable Joinメッセージ 3aを送信する。例えば、 末端ルータである UR20fのメッセージ提供部 26は、 JTが満了したときに KATが満 了していない転送先アドレスが 1つでもある場合は、宛先アドレスが送信端末アドレス 「S」、送信元アドレスが「UR6」、マルチキャストグループアドレスとして「G」を指定し た Stable Joinメッセージ 3aを生成する。 UR20cの転送部 23が、生成された Stabl e Joinメッセージ 3aを送信する。
[0140] 安定状態移行後は、分岐ルータではない UR20c, 20dは、 Stable Joinメッセ一 ジ 3aをエントリの登録や更新に利用するだけで、そのまま上流の UR20a, 20bに転 送する。これにより、例えば、 UR20fからの Stable Joinメッセージ 3aは、 UR20dを 通過し、分岐ルータである UR20bにより受信される。この結果、 UR20bのメッセージ 処理部 25は、 UR20fからの Stable Joinメッセージ 3aに基づいて、 UR20bの転送 先アドレスに「UR6」を追加する。即ち、 UR20bのメッセージ処理部 25は、エントリ保 持部 21bが保持するエントリを、更新前エントリ保持部 212bにおけるエントリ(S, G): [UR4, UR7]から、移行中エントリ保持部 312bにおけるエントリ(S, G): [UR4, U R6, UR7]に更新する。以降、 UR20bは、 UR20aから受信したマルチキャストパケ ッ卜を、 UR20d、 UR20f、 UR20gに転送する。
[0141] 更に、 Stable Joinメッセージ 3aを通過させた UR20dのメッセージ提供部 26は、 R edirectメッセージ 4を転送部 23を介して UR20bに提供する。 Redirectメッセージ 4 は、 UR20dのアドレス「UR4」を転送先アドレスから削除し、 UR20fのアドレス「UR6 」を転送先アドレスに追加することを要求するメッセージである。 Redirectメッセージ 4 の宛先アドレスには送信端末アドレス「S」が設定される。
[0142] Reidirectメッセージ 4を受信した UR20bのメッセージ処理部 25は、エントリ保持部
21bが保持するエントリを、移行中エントリ保持部 312bにおけるエントリ(S, G): [UR 4, UR6, UR7]力ら、エントリ(S, G): [UR6, UR7]に更新する。これにより、 UR20 fは、 2つの経路、即ち、 UR20bが UR20dにマルチキャストパケットを転送し、 UR20 dが UR20fにマルチキャストパケットを転送する経路と、 UR20bが UR20fに直接マ ルチキャストパケットを転送する経路から、マルチキャストパケットを重複して受信する ことを防止できる。
[0143] このように、 Redirectメッセージは、 URが受信端末 40a 40dや他の URから、マ ルチキャストツリーへの参加を要求するメッセージを受信した場合に、 UR自身よりも 上流に位置する URや送信端末 10に対して、エントリ保持部が保持する情報を変更 するように指示する変更要求メッセージとして用いることができる。
[0144] 同様にして、 UR20eからの Stable Joinメッセージ 3aは、 UR20cを通過し、分岐 ルータである UR20aにより受信される。これにより、 UR20aのメッセージ処理部 25は 、エントリ保持部 21 aが保持するエントリを、更新前エントリ保持部 212aにおけるェン トリ(S, G): [UR2, UR3]力ら、移行中エントリ保持咅 B312aにおけるエントリ(S, G) : [UR2, UR3, UR5]に更新する。
[0145] 更に、 Stable Joinメッセージ 3aを通過させた UR20cのメッセージ提供部 26は、 UR20cのアドレス「UR3」を転送先アドレスから削除し、 UR20eのアドレス「UR5」を 転送先アドレスに追加することを要求する Redirectメッセージ 4を UR20aに提供する 。 Reidirectメッセージ 4を受信した UR20aのメッセージ処理部 25は、エントリ保持部 21aが保持するエントリを、移行中エントリ保持部 312aにおけるエントリ(S, G): [UR 2, UR3, UR5]から、エントリ(S, G): [UR2, UR5]に更新する。
[0146] 次に、図 19一図 21を用いて受信端末がマルチキャストツリーからの離脱を要求し た際の通信システム 1の動作を説明する。ここでは、図 18に示すようにマルチキャスト ツリーが安定状態にあるときに、受信端末 40bが離脱する場合を説明する。尚、図 20 において、エントリ保持部 21a, 21b, 21gについて、更新前と更新後の状態を区別 するために、更新前のエントリ保持部 21a, 21b, 21gの状態を、更新前エントリ保持 咅 213a, 213b, 211gとして示す。図 19に動作手 1噴を示し、図 20に通信システム 1 の様子を示す。
[0147] 受信端末 40bは、 UR20gに転送先アドレス又は送信先アドレスからの削除を要求 する離脱要求メッセージを送信する。具体的には、受信端末 40bは、 IGMPv2や M LDv2に従って、 Leave Groupメッセージ 7を送信する。これにより、受信端末 40b は、マルチキャストツリーからの離脱を要求し、マルチキャストパケットの送信停止を要 求する(S801)。
[0148] UR20gのメッセージ処理部 25は、エントリ保持部 21gから、 Leave Groupメッセ ージ 7に設定される送信端末アドレス「S」とマルチキャストグループアドレス「G」とによ つて特定されるエントリを削除する(S802)。これにより、エントリ保持部 21gが保持す るエントリは、エントリ(S, G): [G]を保持する更新前エントリ保持部 211gの状態から 、(S, G)によって特定されるエントリを保持しない状態に更新される。
[0149] エントリ保持部 21gが(S, G)によって特定されるエントリを保持しなくなつたため、 U R20gのメッセージ提供部 26は、 UR20g自身もマルチキャストツリーから離脱するた めに、 Pruneメッセージ 8を生成し、転送部 23を介して送信端末アドレス宛に提供す る(S803)。 Pruneメッセージ 8には特別なオプションが設定されているため、 UR20 gよりも上流に位置する URは、受信した Pruneメッセージ 8が特別な制御メッセージ であることを検出できる。
[0150] UR20gと、 UR20gよりも上流の UR20bとの間に存在する NR30bは、受信した Pr uneメッセージ 8を送信端末アドレス「S」に基づいてュニキャストにより転送する。
[0151] UR20bのメッセージ処理部 25は、受信した Pruneメッセージ 8に基づいて、ェント リ保持部 21bが保持するエントリを、更新前エントリ保持部 213bにおけるエントリ(S, G): [UR6, UR7]から、エントリ (S, G): [UR6]に更新する。即ち、転送先アドレス 力 UR7を削除する(S804)。
[0152] UR20bのメッセージ処理部 25は、エントリ保持部 21bが保持する転送先アドレスが
1つになったため、分岐ルータではなくなつたと判断する。そのため、メッセージ提供 部 26が、 Redirectメッセージ 4を生成し、転送部 23を介して送信端末アドレス宛に 提供する(S805)。 Redirectメッセージ 4は、 UR20bのアドレス「UR2」を転送先アド レスから削除し、 UR20fのアドレス「UR6」を転送先アドレスに追加することを要求す るメッセージである。 Redirectメッセージ 4の宛先アドレスには送信端末アドレス「S」 が設定される。
[0153] UR20bと、 UR20bよりも上流の UR20aとの間に存在する NR30aは、受信した Re directメッセージ 4を送信端末アドレス「S」に基づいてュニキャストにより転送する。
[0154] UR20aのメッセージ処理部 25は、受信した Redirectメッセージ 4に基づいて、ェン トリ保持部 21aが保持するエントリを、更新前エントリ保持部 213aにおけるエントリ (S , G): [UR2, UR5]から、エントリ(S, G): [UR6, UR5]に更新する(S806)。 UR2 Oaの転送部 23は、送信端末アドレス「S」に基づいて Redirectメッセージ 4を送信端 末 10に転送する。 [0155] 送信端末 10のメッセージ処理部 14は、受信した Redirectメッセージ 4に基づいて エントリ保持部 11を検索する。メッセージ処理部 14は、 Redirectメッセージ 4に含ま れる送信端末アドレス「S」とマルチキャストグループアドレス「G」によって特定される エントリの送信先アドレス「UR1」と、 Redirectメッセージ 4に含まれる「UR2」がー致 しないため、エントリ保持部 11を更新せずに、 Redirectメッセージ 4を破棄する(S80 8)。これにより、マルチキャストツリーは、図 20に示す状態に更新される。このように 受信端末 40bマルチキャストパケットの送信停止を要求することにより、マルチキャス トパケットの複製ポイントとなる分岐ルータを限定できる。よって、通信システム 1の負 荷が分散される。
[0156] 図 20に示すマルチキャストツリーに従うマルチキャストパケットの転送は、図 21に示 すようになる。送信端末 10はマルチキャストパケット 5aを UR20aに送信する。 UR20 aは、送信元アドレスに「UR1」、宛先アドレスに「UR6」を設定したマルチキャストパ ケット 5kを UR20bに転送する。 UR20bは、送信元アドレスに「UR2」、宛先アドレス に「UR6」を設定したマルチキャストパケット 51を UR20fに転送する。 UR20fは、マル チキャストパケット 5eを受信端末 40aに転送する。
[0157] 又、 UR20aは、送信元アドレスに「UR1」、宛先アドレスに「UR5」を設定したマル チキャストパケット 5mを UR20eに転送する。 UR20eは、マルチキャストパケット 5jを 受信端末 40cに転送し、マルチキャストパケット 5iを UR20hに転送する。 UR20hは 、マルチキャストパケット 5eを受信端末 40dに転送する。
[0158] このような通信システム 1、送信端末 10、 UR20a— 20h及び通信方法によれば、 U R20a— 20hが転送先アドレスとして他の URのアドレスを保持できる。送信端末 10は 、送信先アドレスとして URのアドレスを保持できる。そのため、送信端末 10から URを 経由して受信端末 40a 40dにマルチキャストパケットが転送される適切なマルチキ ヤストッリ一が設定される。
[0159] よって、送信端末 10と URとの間や UR間に存在する NR30a— fは、マルチキャスト パケットをュニキャストで転送するだけでよレ、。このように通信システム 1は、 NRが存 在しても、適切なマルチキャストツリーを設定し、マルチキャストパケットを転送すること ができる。即ち、通信システム 1に UR20a 20hと NR30a— 30fが混在しても、マル チキャストパケットの転送を実現できる。そのため、通信システム 1内に部分的に UR を導入することで、容易に低コストでマルチキャストパケットが転送できる。
[0160] し力も、メッセージ処理部 25, 24は、受信端末 40a— 40dや UR20a— 20h力らの Membership Report2や Joinメッセージ 3等の参加要求メッセージに基づいて、ェ ントリ保持部 11 , 21a— 21hにアドレスを登録することができる。よって、受信端末 40 a 40dや UR20a— 20hは、設定されているマルチキャストツリーに参加することが できる。その結果、通信システム 1では、参加した受信端末 40a— 40dや UR20a 2 Ohにマルチキャストパケットを転送できる。
[0161] [第 2の実施形態]
図 22に示すように通信システム 201は、送信端末 10と、 UR20a 20iと、 NR30a 一 30fと、受信端末 40a 40dを備える。以下、図 1に示した通信システム 1との相違 点を中心に説明する。 UR20dと UR20iは、同一のサブネットワーク 50に接続してい る。サブネットワーク 50には、例えば、イーサネット等がある。 UR20dと UR20iは、サ ブネットワーク 50を介して上流に位置する UR20bと接続する。
[0162] 図 23、 24を用いて、受信端末 40aが参加し、安定状態に移行しているマルチキヤ ストツリーに、受信端末 40bが新たに参加する際の動作について説明する。尚、図 2 4において、エントリ保持部 11, 21a, 21bについて、更新前と更新後の状態を区別 するために、更新前のエントリ保持部 11, 21a, 21bの状態を、更新前エントリ保持部 111 , 214a, 214bとして示す。図 23に手順を示し、図 24に通信システム 201の様 子を示す。
[0163] 受信端末 40bが、 IGMPv2や MLDv2に従って Membership Report2を UR20 gに送信する(S901)。 UR20gのメッセージ処理部 25は、 Membership Report2 に基づいて、送信端末アドレス「S」と、マルチキャストグループアドレス「G」と、転送先 アドレス「G」とを対応付けたエントリを生成する。メッセージ処理部 25は、生成したェ ントリをエントリ保持部 21gに登録する(S902)。
[0164] UR20gのメッセージ提供部 26は、受信した Membership Report2に基づいて、 UR20gがマルチキャストツリーに参加するための Joinメッセージ 3を生成し、転送部 2 3を介して送信端末アドレス宛に提供する。メッセージ提供部 26は、宛先アドレスに「 S」、送信元アドレスに「UR7」を設定し、マルチキャストグノレープアドレス「G」を指定 し oinメッセージ 3を生成する。転送部 23は、宛先アドレスに設定された送信端末 アドレス「S」に基づレ、て、 Joinメッセージ 3を転送する(S903)。
[0165] UR20iのメッセージ処理部 25は、受信し oinメッセージ 3に基づいて、送信端末 アドレス「S」と、マルチキャストグループアドレス「G」と、転送先アドレス「UR7」とを対 応付けたエントリを生成し、エントリ保持部 21iに登録する(S904)。
[0166] UR20iのメッセージ提供部 26は、宛先アドレスに「S」、送信元アドレスに「UR9」を 設定し、マルチキャストグループアドレス「G」を指定し fcjoinメッセージ 3を生成する。 転送部 23は、宛先アドレスに設定された送信端末アドレス「S」に基づいて、 Joinメッ セージ 3を転送する(S905)。
[0167] 尚、同一のサブネットワーク 50に接続する UR20dが、送信端末アドレス「S」とマル チキャストグループアドレス「G」によって特定されるマルチキャストパケットを受信して いるため、 UR20iは、マルチキャストツリーが安定した後も、分岐ルータのように Join メッセージ 3を受信する。
[0168] UR20bのメッセージ処理部 25は、受信し: Joinメッセージ 3と、エントリ保持部 21b が保持する更新前エントリ保持部 214bに示すエントリに基づいて、同一のサブネット ワーク 50に接続する UR20dと UR20i力、同じマルチキャストパケットの送信を要求し ていることを検出する。そして、メッセージ処理部 25は、送信端末アドレス「S」と、マ ルチキャストグループアドレス「G」と、転送先アドレス「G」とを対応付けたエントリを生 成する。メッセージ処理部 25は、生成したエントリをエントリ保持部 21bに登録するこ とにより、エントリ保持部 21bが保持するエントリを、更新前エントリ保持部 214bにお けるエントリ(S, G) : [UR6]から、エントリ(S, G) : [G]に更新する(S906)。
[0169] このようにして、エントリ保持部 21bは、同一のサブネットワーク 50に接続する UR20 dと 20iにマルチキャストパケットを転送する場合、転送先アドレスとしてマルチキャスト グノレープアドレスを保持する。
[0170] UR20bのメッセージ提供部 26は、送信端末 10が保持するエントリの更新を指示す るために、 Redirectメッセージ 4を生成し、転送部 23を介して送信端末アドレス宛に 提供する(S907)。メッセージ提供部 26は、 UR20fのアドレス「UR6」を転送先アド レスから削除し、 UR20bのアドレス「UR2」を転送先アドレスに追加することを要求す る Redirectメッセージ 4を生成する。 Redirectメッセージ 4の宛先アドレスには送信 端末アドレス「S」が設定される。
[0171] UR20bと、 UR20bよりも上流の UR20aとの間に存在する NR30aは、受信した Re directメッセージ 4を送信端末アドレス「S」に基づいてュニキャストにより転送する。
[0172] UR20aのメッセージ処理部 25は、受信した Redirectメッセージ 4に基づいて、ェン トリ保持部 21aが保持するエントリを、更新前エントリ保持部 214aにおけるエントリ (S , G) : [UR6]から、エントリ(S, G): [UR2]に更新する(S908)。 UR20aの転送部 2 3は、 Redirectメッセージ 4をその宛先アドレスに基づいて送信端末 10に転送する( S909)。
[0173] 送信端末 10のメッセージ処理部 14は、受信した Redirectメッセージ 4に基づいて 、エントリ保持部 nが保持するエントリを、更新前エントリ保持部 111におけるエントリ
(S, G) : [UR6]から、エントリ(S, G) : [UR2]に更新する(S910)。これにより、図 2 4に示すような新たなマルチキャストツリーが設定される。
[0174] 図 25を用いて図 24に示すマルチキャストツリーに従ったマルチキャストパケットの 転送を説明する。送信端末 10のパケット生成部 15は、エントリ保持部 11を参照し、 データに送信元アドレスとして送信端末アドレス「S」、宛先アドレスとしてマルチキヤ ストグループアドレス「G」を設定してマルチキャストパケットを生成する。そして、パケ ット生成部 15は、生成したマルチキャストパケットに送信元アドレスとして送信端末ァ ドレス「S」、宛先アドレスとして、エントリ保持部 11が保持する送信先アドレス「UR2」 を設定し、マルチキャストパケットをカプセル化する。そして、送信端末 10の送信部 1 3は、カプセル化されたマルチキャストパケット 5nをその宛先アドレス「UR2」に基づ いて送信する。
[0175] UR20bの受信部 22は、カプセル化されたマルチキャストパケット 5nをディカプセル 化する。 UR20bの転送制御部 24は、エントリ保持部 21bを参照し、転送先アドレス「 G」と、ディカプセル化したマルチキャストパケットの宛先アドレス「G」が同一であること から、そのまま転送部 23に入力する。転送部 23は、宛先アドレス「G」に基づいて、マ ルチキャストパケット 5eをマルチキャストにより、サブネットワーク 50に転送する。 [0176] UR20dの受信部 22は、サブネットワーク 50を介してマルチキャストパケット 5eを受 信する。 UR20dの転送制御部 24は、エントリ保持部 21 dを参照し、転送先アドレス「 UR6」と、マルチキャストパケット 5eの宛先アドレス「G」が異なることから、送信元アド レスとして UR20d自身のアドレス「UR4」、宛先アドレスとして転送先アドレス「UR6」 を設定してカプセル化する。そして、転送部 23が、カプセル化されたマルチキャスト パケット 5dを、その宛先アドレス「UR6」に基づいて UR20fに転送する。 UR20fは、 マルチキャストパケット 5dをディカプセル化し、マルチキャストパケット 5eを受信端末 4 Oaにマルチキャストにより転送する。
[0177] 同様に、 UR20iの受信部 22は、サブネットワーク 50を介してマルチキャストパケット 5eを受信する。 UR20iの転送制御部 24は、エントリ保持部 21iを参照し、転送先アド レス「UR7」と、マルチキャストパケット 5eの宛先アドレス「G」が異なることから、送信 元アドレスとして UR20i自身のアドレス「UR9」、宛先アドレスとして転送先アドレス「 UR7」を設定してカプセル化する。そして、転送部 23が、カプセル化されたマルチキ ャストパケット 5oを、その宛先アドレス「UR7」に基づいて UR20gに転送する。 UR20 gは、マルチキャストパケット 5oをディカプセル化し、マルチキャストパケット 5eを受信 端末 40bにマルチキャストにより転送する。
[0178] [第 3の実施形態]
第 1の実施形態、第 2の実施形態では、通信システム 1に含まれる全ての UR20a— 20h力 制御メッセージを受信した場合に処理を行っていた力 UR20a— 20hは制 御メッセージを通過させて他の URに処理を委託することができる。例えば、リソース が不足している UR力 制御メッセージの処理を省略し、そのまま制御メッセージを上 流に転送することにより、他の URに制御メッセージの処理を委託できる。この場合の 通信システム 1における動作について図 26 図 28を用いて説明する。
[0179] 図 26、 27に、受信端末 40aが既にマルチキャストツリーに参加している状態におい て、 UR20bのリソースが不足しているときに、受信端末 40bが、マルチキャストツリー に参加する場合を例にとって説明する。尚、図 27において、エントリ保持部 1 1, 21 a について、更新前と更新後の状態を区別するために、更新前のエントリ保持部 1 1, 2 l aの状態を、更新前エントリ保持部 1 12, 215aとして示す。 [0180] 受信端末 40bは、 Membership Report2を UR20gに送信し、マルチキャストッリ 一への参加を要求する(S1001)。 UR20gのメッセージ処理部 25は、受信した Me mbership Report2に基づいて、送信端末アドレス「S」と、マルチキャストグループ アドレス「G」と、転送先アドレス「G」とを対応付けたエントリを生成し、エントリ保持部 2 lgに登録する(S1002)。
[0181] UR20gのメッセージ提供部 26は、 Joinメッセージ 3を生成し、転送部 23を介して送 信端末アドレス宛に提供する。メッセージ提供部 26は、宛先アドレスに「S」、送信元 アドレスに「UR7」を設定し、マルチキャストグループアドレス「G」を指定し fcjoinメッ セージ 3を生成する。転送部 23は、宛先アドレスに設定された送信端末アドレス「S」 に基づレ、て、 Joinメッセージ 3を転送する(S 1003)。
[0182] UR20gと、 UR20gよりも上流の UR20bとの間に存在する NR30bは、受信し fcjoi nメッセージ 3を送信端末アドレス「S」に基づいてュニキャストにより転送する。更に、 UR20bは、受信し oinメッセージ 3に基づいた処理を行うリソースが不足している ため、 Joinメッセージ 3を送信端末アドレス「S」に基づいてュニキャストによりそのまま 転送する。更に、 UR20bと、 UR20bよりち上流の UR20aとの間に存在する NR30a は、受信し^ Joinメッセージ 3を送信端末アドレス「S」に基づいてュニキャストにより転 送する。
[0183] この結果、 UR20aが、 Joinメッセージ 3を受信する。 UR20aのメッセージ処理部 25 は、受信し oinメッセージ 3と更新前エントリ保持部 215aに示す状態のエントリ保 持部 21aが保持するエントリに基づいて、送信端末アドレス「S」と、マルチキャストグ ループアドレス「G」と、転送先アドレス「UR6, UR7」とを対応付けたエントリを生成す る。メッセージ処理部 25は、生成したエントリをエントリ保持部 21bに登録することによ り、エントリ保持部 21bが保持するエントリを、更新前エントリ保持部 215bにおけるェ ントリ(S, G): [UR6]力ら、エントリ(S, G): [UR6, UR7]に更新する(S1004)。
[0184] UR20aのメッセージ提供部 26は、送信端末 10が保持するエントリの更新を指示す るために、 Redirectメッセージ 4を生成し、転送部 23を介して送信端末アドレス宛に 提供する(S1005)。メッセージ提供部 26は、 UR20fのアドレス「UR6」を転送先アド レスから削除し、 UR20aのアドレス「UR1」を転送先アドレスに追加することを要求す る Redirectメッセージ 4を生成する。 Redirectメッセージ 4の宛先アドレスには送信 端末アドレス「S」が設定される。
[0185] 送信端末 10のメッセージ処理部 14は、受信した Redirectメッセージ 4に基づいて 、エントリ保持部 nが保持するエントリを、更新前エントリ保持部 112におけるエントリ (S, G) : [UR6]から、エントリ(S, G) : [UR1]に更新する(S1006)。これにより、図 27に示すような新たなマルチキャストツリーが設定される。
[0186] 図 28を用いて図 27に示すマルチキャストツリーに従ったマルチキャストパケットの 転送を説明する。送信端末 10のパケット生成部 15は、エントリ保持部 11を参照し、 マルチキャストパケットに送信元アドレスとして送信端末アドレス「S」、宛先アドレスと して、エントリ保持部 11が保持する送信先アドレス「UR1」を設定し、マルチキャスト パケットをカプセルィ匕する。そして、送信端末 10の送信部 13は、カプセル化されたマ ルチキャストパケット 5aをその宛先アドレス「UR1」に基づいて送信する。
[0187] UR20aの受信部 22は、カプセル化されたマルチキャストパケット 5aをディカプセル 化し、マルチキャストパケットを取り出す。 UR20aの転送制御部 24は、エントリ保持部 21aを参照し、転送先アドレスが 2つであることから、取り出したマルチキャストパケット を複製し、 2つにする。
[0188] 転送制御部 24は、転送先アドレス「UR6, UR7Jと、取り出したマルチキャストパケ ットの宛先アドレス「G」が異なることから、送信元アドレスとして UR20a自身のアドレ ス「UR1」を設定する。転送制御部 24は、一方のマルチキャストパケットには宛先アド レスとして転送先アドレス「UR6」を設定し、他方のマルチキャストパケットには宛先ァ ドレス「UR7」を設定してカプセル化する。そして、転送部 23が、カプセル化されたマ ルチキャストパケット 5p, 5qをそれぞれ、その宛先アドレス「UR6」、 「UR7」に基づレヽ TUR20f, 20gに転送する。 UR20f, 20gはそれぞれ、マノレチキャストノ ケット 5p, 5 qをディカプセル化し、マルチキャストパケット 5eを受信端末 40a, 40bにマルチキヤ ストにより転送する。
[0189] これによれば、例えば、 UR20a— 20hは、リソースが不足した場合等に、制御メッセ ージに対する処理をせずに、そのまま転送することにより、他の URに制御メッセージ の処理を委託できる。更に、一部の URが制御メッセージを処理することにより、通信 システム 1における負荷分散を図ることができ、通信システム 1全体の負荷が軽減され る。
[0190] [第 4の実施形態]
図 29を用いて、送信端末 10がホームネットワーク 60aから外部ネットワーク 60bに 移動した場合 (ハンドォーノ の通信システム 1における動作を説明する。尚、図 29 において、エントリ保持部 11, 21a 21hについて、更新前と更新後の状態を区別 するために、更新前のエントリ保持部 11, 2 la 2 lhの状態をそれぞれ、更新前ェン トリ保持部 113, 216a, 215b, 211c, 211d, 212e, 212g, 211f, 211hとして示 す。
[0191] 送信端末 10が、ホームネットワーク 60aから外部ネットワーク 60bに移動し、送信端 末アドレスが、 「S」から「S '」に変化した場合について考える。以下、変更後の送信端 末アドレス、即ち、送信端末 10の現在位置のアドレスを「ISA (Instantaneous Source Address)」とレ、う。変更前の送信端末アドレスを「oISA (old ISA)」とレ、う。
[0192] 例えば、送信端末 10は、 Mobile IPv6を禾 lj用して、ホームネットワーク 60aから外 部ネットワーク 60bに移動する(ノ、ンドオーバ)。そして、送信端末 10は、移動先の外 部ネットワーク 60bにおいて、例えば、 ISA「S '」として CoA (Care of Address)を 取得する。
[0193] 送信端末 10のパケット生成部 15は、 ISA「S '」を送信元アドレスに設定し、ホーム ネットワーク 60aにおいて使用していた oISA「S」を HA〇(Home Address option )に設定したマルチキャストパケットを生成する。更に、送信端末アドレスが変化し、送 信端末 10が保持する送信先アドレス力 つの場合には、パケット生成部 15は特別な オプションを設定する。送信端末 10のパケット生成部 15は、更新前エントリ保持部 1 13の状態にあるエントリ保持部 11を参照し、移動前のエントリに従って、宛先アドレス に「UR1」を設定し、マルチキャストパケットをカプセルィ匕する。送信部 13は、カプセ ル化されたマルチキャストパケット 5rを宛先アドレスに基づいて転送する。尚、エントリ 保持部 11が複数の送信先アドレスを保持していた場合、パケット生成部 15は、特別 なオプションを設定せずに、複数の転送先:
パケットを生成する。 [0194] 更に、送信端末 10のメッセージ処理部 14は、 13八「3 '」及び013八「3」と、マルチキ ヤストグノレープアドレス「G」と、更新前エントリ保持部 113が保持する送信先アドレス「
UR1」とを対応付けたエントリを生成する。メッセージ処理部 14は、生成したエントリ をエントリ保持部 11に登録し、エントリ保持部 nが保持するエントリを、更新前ェント リ保持部 113におけるエントリ(S, G) : [UR1]から、エントリ(S/S,, G) : [UR1]に 更新する。
[0195] 送信端末 10力 送信されたマルチキャストパケット 5rを、例えば、 UR20bが受信す る。 UR20bの受信部 22は、特別なオプションが設定されているため、マルチキャスト パケット 5rをディカプセル化し、取り出したマルチキャストパケットと、マルチキャストパ ケット 5rに設定されてレ、た(カプセル化に用いられてレ、た)宛先アドレス「UR1」と送 信元アドレス「S '」をメッセージ処理部 25に入力する。
[0196] メッセージ処理部 25は、送信元アドレスに設定された ISA「S '」、 HOAに設定され た oISA「S」と、更新前エントリ保持部 215bの状態にあるエントリ保持部 21bに基づ いて、 13八「3 '」及び013八「3」と、マルチキャストグループアドレス「G」と、更新前ェ ントリ保持部 215bが保持する転送先アドレス「UR6, UR7」とを対応付けたエントリを 生成する。
[0197] メッセージ処理部 25は、生成したエントリをエントリ保持部 21bに登録し、エントリ保 持部 21bが保持するエントリを、更新前エントリ保持部 215bにおけるエントリ(S, G): [UR6, UR7]から、エントリ(S/S ' , G): [UR6, UR7]に更新する。メッセージ処 理部 25は、ディカプセル化したマルチキャストパケットと、マルチキャストパケット 5rに 設定されていた宛先アドレス「UR1」を転送制御部 24に入力する。
[0198] 転送制御部 24は、取り出したマルチキャストパケットの宛先アドレスに、マルチキヤ ストパケット 5rに設定されていた宛先アドレス「UR1」を設定し、送信元アドレスに UR 20bのアドレス「UR2」を設定して、マルチキャストパケットをカプセル化する。転送部 23は、カプセル化されたマルチキャストパケット 5sを、その宛先アドレスに基づいて U R20aに転送する。このように送信端末アドレスが変更された場合、転送制御部 24は 、送信端末 10の変更前の送信先アドレス「UR1」にマルチキャストパケットを転送す るよう制御する。これにより、転送部 23は、 UR20bがこれまで受信していたマルチキ ャストパケットの転送元である UR20aに、マルチキャストパケット 5sを転送する。
[0199] 更に、転送制御部 24は、エントリ保持部 21bを参照し、転送先アドレスが 2つである こと力 、マルチキャストパケットを複製し、 2つにする。転送制御部 24は、転送先アド レス「UR6, UR7」と、取り出したマルチキャストパケットの宛先アドレス「G」が異なるこ とから、送信元アドレスとして UR20b自身のアドレス「UR2」を設定する。転送制御部 24は、一方のマルチキャストパケットには宛先アドレスとして転送先アドレス「UR6」を 設定し、他方のマルチキャストパケットには宛先アドレス「UR7」を設定してカプセル 化する。そして、転送部 23が、カプセル化されたマルチキャストパケット 5t, 5uをそれ ぞれ、その宛先アドレス「UR6」、「UR7」に基づレ、て UR20f, 20gに転送する。
[0200] UR20f, 20gのメッセージ処理部 25も、 UR20bと同様にして、エントリ保持部 21f,
21gを、更新前エントリ保持部 21 If, 212gにおけるエントリ(S, G) : [G]からエントリ (S,, G): [G]に更新する。更に、 UR20bと UR20fとの間に存在する UR20dのメッ セージ処理部 25も、エントリ保持部 21dを、更新前エントリ保持部 21 Idにおけるェン トリ(S, G): [UR6]からエントリ (S/S,, G): [UR6]に更新する。
[0201] UR20f, 20gはそれぞれ、マルチキャストパケット 5t, 5uをディカプセル化し、 ISA「 S '」が送信元アドレスに設定され、 oISA「S」が HAOに設定されたマルチキャストパ ケット 5yを受信端末 40a, 40b【こマノレチキャスト ίこより転送する。
[0202] 一方、「UR1」宛に転送されたマルチキャストパケット 5sを、 UR20aの受信部 22が 受信する。受信部 22は、特別なオプションが設定されているため、マルチキャストパ ケット 5sをディカプセル化し、取り出したマルチキャストパケットと、マルチキャストパケ ット 5sに設定されていた(カプセルィ匕に用いられていた)宛先アドレス「UR1」と送信 元アドレス「UR2」をメッセージ処理部 25に入力する。
[0203] UR20aのメッセージ処理部 25は、カプセル化に用いられていた送信元アドレス「U R2」と、更新前エントリ保持部 216aの状態にあるエントリ保持部 21aに基づいて、 U R20aは、マルチキャストパケットの送信元である「UR2」にはマルチキャストパケットを 転送する必要がないと判断する。よって、メッセージ処理部 25は、転送先アドレスか ら「111 2」を削除する。
[0204] そして、メッセージ処理部 25は、送信元アドレスに設定された ISA「S '」、 HOAに 設定された oISA「S」と、カプセル化に用いられていた送信元アドレス「UR2」と、更 新前エントリ保持部 216aの状態にあるエントリ保持部 21aに基づいて、 ISA「S'」及 び oISA「S」と、マルチキャストグループアドレス「G」と、転送先アドレス「UR5」とを対 応付けたエントリを生成する。
[0205] メッセージ処理部 25は、生成したエントリをエントリ保持部 21aに登録し、エントリ保 持部 21aが保持するエントリを、更新前エントリ保持部 215aにおけるエントリ(S, G): [UR2, UR5]から、エントリ(SZS ', G): [UR5]に更新する。メッセージ処理部 25 は、ディカプセルィ匕したマルチキャストパケットを転送制御部 24に入力する。 UR20a の転送制御部 24は、更新後のエントリ保持部 21aを参照し、転送先アドレス「UR5」 によりカプセル化したマルチキャストパケット 5vを UR20eに転送する。
[0206] このように UR20aは、マルチキャストパケット 5s受信時にエントリ保持部 21aが保持 していた転送先アドレスから、マルチキャストパケット 5sの転送元である UR20bを除 いた UR20eにマルチキャストパケット 5vを転送する。
[0207] UR20aと UR20eとの間に存在する UR20cのメッセージ処理部 25も、エントリ保持 部 21cを、更新前エントリ保持部 211cにおけるエントリ(S, G) : [UR5]からエントリ( S/S ' , G): [UR5]に更新する。 UR20eのメッセージ処理部 25も、エントリ保持部 2 leを、更新前エントリ保持部 212eにおけるエントリ(S, G): [R3, UR8]からエントリ( S ', G): [R3, UR8]に更新する。
[0208] UR20eの転送制御部 24は、エントリ保持部 21eに従って、送信元アドレスに「UR5 」、宛先アドレスに「R3」を設定してカプセル化したマルチキャストパケット 5wを受信 端末 40cに転送する。更に、転送制御部 24は、送信元アドレスに「UR5」、宛先アド レスに「UR8」を設定してカプセル化したマルチキャストパケット 5xを UR20hに転送 する。 UR20hは、エントリ保持部 21hが保持するエントリを、更新前エントリ保持部 21 lhが保持するエントリ(S, G): [G]から、エントリ(SZS ', G): [G]に更新する。そし て、受信端末 40dにマルチキャストパケット 5yをマルチキャストにより転送する。
[0209] 受信端末 40a 40dは、 ISA「S '」が送信元アドレスに設定され、 oISA「S」が HA Oに設定されたマルチキャストパケット 5yを受信する。尚、受信端末 40cは、マルチキ ャストパケット 5wをディカプセル化することにより、マルチキャストパケット 5yを取り出 す。このように、受信端末 40a— 40dは、外部ネットワーク 60bに移動した送信端末 1 0からのマルチキャストパケットを受信した場合、 ISA「S '」に対して、 Membership Report2又は Joinメッセージ 3を送信する。これにより、 ISA「S '」を上流とするマルチ キャストツリーが設定される。
[0210] 尚、受信端末 40a— 40dの方が移動する(ハンドオーバ)場合、移動前に接続し、 マノレチキャストノ ケットを転送してもらってレヽた UR20f, 20g, 20e, 20h (こ対して、 Le ave Groupメッセージ 7を送信する。そして、受信端末 40a— 40dは、移動先のネッ トワークにおいて新たに Membership Report2又 fお oinメッセージ 3を送信する。
[0211] 従来の MIP—BTでは、送信端末が移動しても通信が継続できるものの、マルチキ ャストパケットがホームエージェントを経由するため、転送経路が冗長になってしまう 問題があった。これに対し、通信システム 1では、送信端末 10が移動した場合であつ ても、適切なマルチキャストツリーを設定し、マルチキャストパケットを転送することが できる。そのため、通信システム 1では、通信を継続でき、し力も転送経路が冗長にな るのを防止できる。特に、 UR20a— 20hが送信端末 10の移動を検出し、エントリ保 持部 21a— 21hを更新していくことにより、通信システム 1では適切にマルチキャスト パケットを受信端末 40a— 40dに転送することができる。よって、受信端末 40a— 40d は、送信端末 10の移動を自ら検出する必要や、それに基づく制御を省略できる。よ つて、受信端末 40a— 40dの機能を変更する必要がなぐ負荷も軽減できる。
[0212] [第 5の実施の形態]
〔通信システム〕
図 30に示すように、通信システム 301は、送信端末 10と、 UR20a— 20cと、 NR30 a 30cと、受信端末 40a— 40cとを備える。通信システム 301は、図 1に示した通信 システム 1と比較し、 UR、 NR、受信端末の数が異なり、送信端末 10、 UR20a-20c 、 NR30a— 30c、受信端末 40a 40cの接続関係が変化した以外は実質的に同様 である。以下、上記実施形態との相違点を中心に説明する。 UR20a 20cは、複数 の転送先アドレスにマルチキャストパケットを転送する分岐ルータになることができる。 本実施形態では、マルチキャストパケットは、送信端末と分岐ルータとの間、分岐ル 一タ間はカプセル化されて転送される。 [0213] UR20a— 20cの受信部 22は、カプセル化されたマルチキャストパケットの宛先アド レスが、 UR20a— 20c自身のアドレスと一致するか否かを判断する。受信部 22は、 一致するときは、 UR20aが分岐ルータである場合であるため、マルチキャストパケット を転送制御部 24に入力する。受信部 22は、これらの条件に一致しない場合には転 送部 23に入力する。
[0214] 又、 UR20a— 20cのメッセージ処理部 25は、送信端末アドレスをマルチキャストツ リーの上流としたときに、 URが分岐ルータになるかを判断する判断部として機能する 。メッセージ処理部 25は、制御メッセージ及びエントリ保持部 21a 21cが保持する 転送先アドレスに基づいて判断を行う。更に、メッセージ処理部 25は、分岐ルータに なると判断した場合、転送先保持部に送信端末アドレスに対応付けて、複数の転送 先アドレスを登録する転送先登録部としても機能する。具体的には、メッセージ処理 部 25は、 UR20a 20cが分岐ルータになると判断した場合、エントリ保持部 21a— 2 lcに MFTエントリを生成して、転送先アドレスを登録する。
[0215] 又、メッセージ処理部 25は、ノレータ 20a— 20c自身よりも下流の分岐ルータからの Redirectメッセージ 4 (参加/離脱要求メッセージ)に基づいて、下流の分岐ルータ の転送先アドレスをエントリ保持部 21a— 21cから削除し、下流の分岐ルータのァドレ スをエントリ保持部 21a— 21cに登録する。これにより、送信端末 10から複数の分岐 ルータを経由して受信端末 40a— 40cにマルチキャストパケットが転送される適切な マルチキャストツリーが設定される。
[0216] 尚、メッセージ処理部 25は、 UR20a— 20cが分岐ルータになると判断した場合に 加えて、 UR20a— 20cが受信端末 40a— 40cと接続する末端ノレータとなる場合にも 、 MFTエントリを生成し、送信端末アドレス及びマルチキャストグループアドレスに対 応付けて転送先アドレスを登録する。これにより、送信端末 10から分岐ルータ、末端 ルータを経由して受信端末 40a 40cにマルチキャストパケットが転送される適切な マルチキャストツリーが設定される。メッセージ処理部 25は、 UR20a— 20cが分岐ル ータ又は末端ルータとなる場合以外は、 MCTエントリを生成して転送先アドレスを登 録する。
[0217] 又、メッセージ処理部 25は、 UR20a 20cが分岐ルータになるか否かに基づいて 、受信した制御メッセージをそのまま送信するカ 受信した制御メッセージに基づい て新たに制御メッセージを生成して送信するかを判断する。メッセージ処理部 25は、 分岐ルータにならない場合にはそのまま送信すると判断し、受信した制御メッセージ を転送部 23に入力する。メッセージ処理部 25は、分岐ルータになる場合には新たに 生成すると判断し、受信した制御メッセージをメッセージ提供部 26に入力する。
[0218] メッセージ提供部 26は、制御メッセージを生成する。メッセージ提供部 26は、メッセ ージ処理部 25から取得する UR20a— 20cが受信した制御メッセージ、エントリ保持 部 21a 21cが保持する情報に基づいて、制御メッセージを生成する。メッセージ提 供部 26は、生成した制御メッセージを転送部 23に入力する。
[0219] 送信端末 10のエントリ保持部 11は、分岐ルータ、末端ルータ、受信端末のいずれ 力、のアドレスを送信先アドレスとして保持する。メッセージ処理部 14は、参加 Z離脱メ ッセージである Redirectメッセージに基づレ、て、分岐ルータの転送先アドレスを送信 先保持部から削除し、分岐ルータのアドレスを送信先保持部に登録する送信先登録 部として機能する。
[0220] 次に、通信システム 301におけるマルチキャストツリーの設定について、図 31— 34 を用いて詳細に説明する。前述したようにマルチキャストツリーには、初期状態と安定 状態がある。そのため、初期状態における処理と安定状態における処理に分けて説 明する。
[0221] (初期状態)
初期状態では、エントリ保持部 11 , 21a— 21cは送信先アドレスや転送先アドレス を保持していない。図 31に示すように、受信端末 40aが、送信端末 10が送信するマ ルチキャストパケットの受信を開始したレ、場合、マルチキャストパケットの送信を要求 する。受信端末 40aは、受信端末 40aが無線リンクを介して接続しているルータが U Rの場合、 MLDv2に従って送信を要求できる。具体的には、受信端末 40aは、 Me mbership 1^0112を111 200に送信する。
[0222] 受信端末 40aは、 Membership Report2を用いて、送信端末アドレス「S」、マル チキャストグループアドレス「G」、即ち、(S, G)によって特定されるマルチキャストパ ケットの送信を要求する。 Membership Report2は、宛先アドレスにマルチキャスト グループアドレス「G」、送信元アドレスに受信端末 40aのアドレス「R1」が設定され、 マルチキャストグループアドレス「G」の指定を含む。
[0223] 受信端末 40aから送信端末 10への経路の最下流に存在する UR20cが、 Member ship Report2を受信する。 UR20cのメッセージ処理部 25は、 UR20cが受信端末 40aと接続する末端ルータであることから、エントリ保持部 21cに MFTエントリを生成 する。メッセージ処理部 25は、 (S, G): [G]を MFTエントリに登録する。メッセージ処 理部 25は、転送先アドレス「G」の KAT及び(S, G)に関する JTを起動させる。
[0224] UR20cのメッセージ処理部 25は、受信した Membership Report2をメッセージ 提供部 26に入力する。 UR20cのメッセージ提供部 26は、受信端末 40aが Member ship Report2を用いて要求したマルチキャストパケットの送信を、送信端末 10に要 求する Joinメッセージ 3を生成する。具体的には、メッセージ提供部 26は、宛先アドレ スに送信端末アドレス「S」を設定し、送信元アドレスに UR20cのアドレス「UR3」を設 定し、マルチキャストグループアドレス「G」を指定し oinメッセージ 3を生成する。
[0225] UR20cのメッセージ提供部 26は、生成し oinメッセージ 3を転送部 23に入力し、 UR20cの転送部 23が送信端末 10宛に Joinメッセージ 3を送信する。これにより、 U R20cは、より上流の UR20b, 20aにも Joinメッセージ 3を転送できる。
[0226] UR20cから送信端末 10までの経路に存在する UR20bが、 Joinメッセージ 3を受 信する。 UR20bのメッセージ処理部 25は、エントリ保持部 21bを参照する。メッセ一 ジ処理部 25は、エントリ保持部 21bが転送先アドレスを保持していないことから、 UR 20bがマルチキャストパケットを転送する転送先アドレスは、受信し oinメッセージ 3 により決まる 1つであると判断する。よって、メッセージ処理部 25は、 UR20bは分岐 ルータにはならないと判断する。
[0227] そのため、 UR20bのメッセージ処理部 25は、エントリ保持部 21bに MCTエントリを 生成する。メッセージ処理部 25は、 Joinメッセージ 3の送信元アドレスに設定されて レ、る「UR3」を転送先アドレスと判断し、(S, G) : [UR3]を MCTエントリに登録する。 メッセージ処理部 25は、転送先アドレス「UR3」の KATを起動させる。このように初期 状態では、分岐ルータではない URも MCTを保持することになる。更に、メッセージ 処理部 25は、受信し oinメッセージ 3をそのまま転送部 23に入力する。 UR20bの 転送部 23が送信端末 10宛に Joinメッセージ 3を送信し、より上流の UR20aに Joinメ ッセージを転送する。
[0228] そして、 UR20cから送信端末 10までの経路のより上流に存在する UR20aが、 Join メッセージ 3を受信する。 UR20aのメッセージ処理部 25も、 UR20bと同様にして、ェ ントリ保持部 21aに MCTエントリを生成して、 (S, G) : [UR3]を MCTエントリに登録 し、転送先アドレス「UR3」の KATを起動させる。 NR30aは、特別なオプションを解 釈できないため、 Joinメッセージ 3を通常のュニキャストパケットとして送信端末 10に 転送する。
[0229] 最後に、送信端末 10が、 Joinメッセージ 3を受信する。メッセージ処理部 14は、ェ ントリ保持部 11に MFTエントリを生成する。メッセージ処理部 14は、 Joinメッセージ 3 の送信元アドレスに設定されている「UR3」を送信先アドレスと判断し、 (S, G): [UR 3]を MFTエントリに登録する。メッセージ処理部 25は、送信先アドレス「UR3」の KA Tを起動させる。
[0230] 以上の処理により、最上流の送信端末 10から、末端ルータである UR20cを経由し て受信端末 40aにマルチキャストパケットが転送されるマルチキャストツリーが設定さ れる。この , G)により特定されるマルチキャストツリーに受信端末 40aが参加してい る図 31に示す状態において、受信端末 40bが、送信端末 10が送信するマルチキヤ ストパケットの受信を開始したい場合、図 32に示すようにしてマルチキャストツリーに 参加する。
[0231] 尚、エントリ保持部 11, 21a, 21bについて、受信端末 40aだけが参加している図 3 1における状態と、受信端末 40bが参加した図 32における状態とを区別するために、 図 31におけるエントリ保持部 11 , 21a, 21bの状態を、図 32では、更新前エントリ保 持部 114, 217a, 216bとして図示する。
[0232] まず、受信端末 40bは NR30bに接続しているため、受信端末 40bが無線リンクを 介して接続しているルータが NRであることを検出する。そのため、受信端末 40bは、 (S, G)により特定されるマルチキャストツリーへの参加を要求する Joinメッセージ 3を 送信する。 Joinメッセージ 3には特別なオプションが設定されているため、 NR30bfお oinメッセージ 3を破棄せず、受信端末 40bから送信端末 10までの経路に存在する U R20bが Joinメッセージ 3を受信できる。受信端末 40bは、宛先アドレスに送信端末ァ ドレス「S」を設定し、送信元アドレスに受信端末 40bのアドレス「R2」を設定し、マル チキャストグループアドレス「G」を指定し^ Joinメッセージ 3を送信する。
[0233] URの中で、受信端末 40bから送信端末 10への経路の最下流に存在する UR20b 力 Joinメッセージ 3を受信する。 UR20bのメッセージ処理部 25は、 UR20bの更新 前エントリ保持部 216bを参照する。メッセージ処理部 25は、 MCTエントリを保持す る変更前エントリ保持部 216bが、既に(S, G)に対応する転送先アドレスとして保持 している「UR3」と、受信した(S, G)に関する Joinメッセージ 3の送信元アドレス「R2」 とが異なることから、 UR20bが(S, G)により特定されるマルチキャストパケットを転送 する転送先アドレスは、「UR3」と「R2」の複数あると判断する。よって、メッセージ処 理部 25は、 UR20bは分岐ルータになると判断する。このように初期状態では、 MCT エントリは分岐ルータになる力、を判断するために用いられる。
[0234] 分岐ルータになると判断した UR20bのメッセージ処理部 25は、更新前エントリ保持 部 216bから MCTエントリを削除し、新たに MFTエントリを生成する。メッセージ処理 部 25は、更新前エントリ保持部 216bが保持していた情報と、受信し oinメッセージ 3に基づいて、(S, G): [UR3, R2]を、エントリ保持部 21bの MFTエントリに登録し 、 MCTエントリで使われていた転送先アドレス「UR3」の KATをコピーする。又、メッ セージ処理部 25は、転送先アドレス「R2」の KAT及び(S, G)に関する JTを起動さ せる。更に、メッセージ処理部 25は、受信し: Joinメッセージ 3を、 UR20bのメッセ一 ジ提供部 26に入力する。
[0235] UR20bのメッセージ提供部 26は、エントリ保持部 21bが保持する転送先アドレスと 、受信し fcjoinメッセージ 3に基づいて、 Redirectメッセージ 4を生成する。メッセ一 ジ提供部 26は、 Redirectメッセージ 4を生成後、受信し joinメッセージ 3は破棄す る。 UR20bのメッセージ提供部 26は、分岐ルータとなる UR20bのアドレス「UR2」を 送信先アドレスに追加することを要求する Joinメッセージと、送信先アドレスから分岐 ルータである UR20bの転送先アドレス「UR3」と「R2」を削除することを要求する Pru neメッセージとを含む Redirectメッセージ 4を生成する。
[0236] 又、メッセージ提供部 26は、宛先アドレスに送信端末アドレス「S」を、送信元ァドレ スに UR20bのアドレス「UR2」を設定し、マルチキャストグループアドレス「G」を指定 した Redirectメッセージ 4とする。そして、 UR20bのメッセージ提供部 26は、生成し た Redirectメッセージ 4を転送部 23に入力し、 UR20bの転送部 23が送信端末 10 宛に Redirectメッセージ 4を送信する。これにより、 UR20bは、より上流の UR20aに も Redirectメッセージ 4を転送できる。このようにして、転送部 23は、分岐ルータのァ ドレスを送信先アドレスに追加し、分岐ルータの転送先アドレスを送信先アドレスから 削除することを要求する参加 Z離脱メッセージを送信アドレス宛に提供するルータメ ッセージ提供部として機能する。
[0237] そして、 UR20b力、ら送信端末 10までの経路に存在する UR20aが、 Redirectメッ セージ 4を受信する。 UR20aのメッセージ処理部 25は、 Reidirectメッセージ 4に従 つて、エントリ保持部 21aを更新する。具体的には、メッセージ処理部 25は、更新前 エントリ保持部 217aの MCTエントリから、削除の指示を受けている「UR3」、「R2」の うち、転送先アドレスとして保持している「UR3」及びその KATを削除し、追加の指示 を受けている「UR2」を MCTエントリに転送先アドレスとして登録する。メッセージ処 理部 25は、転送先アドレス「UR2」の KATを起動させる。これにより、エントリ保持部 21aの MCTエントリは、(S, G) : [UR2]に更新される。このように分岐ルータよりも上 流に位置する URも、 Redirectメッセージ 4に含まれる分岐ルータのアドレスを転送 先アドレスに追加し、分岐ルータの転送先アドレスを転送先アドレスから削除する。
[0238] 更に、メッセージ処理部 25は、受信した Redirectメッセージ 4をそのまま転送部 23 に入力する。そして、 UR20aの転送部 23が送信端末 10宛に Redirectメッセージ 4 を送信し、 NR30a力 Redirectメッセージ 4をュニキャストパケットとして送信端末 10 に転送する。
[0239] 最後に、送信端末 10が、 Redirectメッセージ 4を受信する。メッセージ処理部 14は 、 Reidirectメッセージ 4に従って、エントリ保持部 11を更新する。具体的には、メッセ ージ処理部 14は、変更前エントリ保持部 114の MFTエントリから、削除の指示を受 けている「UR3」、「R2」のうち、送信先アドレスとして保持している「UR3」及びその K ATを削除し、追加の指示を受けている分岐ルータのアドレス「UR2」を MFTエントリ に送信先アドレスとして登録する。メッセージ処理部 14は、送信先アドレス「UR2」の KATを起動させる。これにより、エントリ保持部 11の MFTエントリは、(S, G): [UR2 ]に更新される。このようにして、メッセージ処理部 14は、参加/離脱メッセージに基 づいて、分岐ルータの転送先アドレスを送信先保持部から削除し、分岐ルータのアド レスを送信先保持部に登録する送信先登録部として機能する。
[0240] 以上の処理により、最上流の送信端末 10から、分岐ルータとなった UR20b、末端 ルータである UR20cを経由して受信端末 40aにマルチキャストパケットが転送され、 UR20bを経由して受信端末 40bにマルチキャストパケットが転送されるマルチキャス トッリ一が設定される。このように、マルチキャストツリーの初期状態では、新たな受信 端末がマルチキャストツリーに次々と参加する。そして、新たな参加があるたびにマル チキャストツリーが変更され、設定されていく。
[0241] 受信端末 40b及び末端ルータとなった UR20c、分岐ルータとなった UR20bはそ れぞれ、分岐ルータである UR20b、送信端末 10に定期的に Joinメッセージ 3を送信 する。又、受信端末 40aは、末端ルータである UR20cに定期的に Membership R eport2を送信する。送信端末 10、 UR20bは、 Joinメッセージ 3を受信することにより 、 UR20cは、 Membership Report2を受信することにより、エントリ保持咅 11 , 21a 一 21cの送信先アドレスや転送先アドレスを維持する。
[0242] 具体的には、分岐ルータとなった UR20bのメッセージ提供部 26は、エントリ保持部
21bを参照し、 JTが満了したときに、宛先アドレスが送信端末アドレス「S」、送信元ァ ドレスが「UR2」の Joinメッセージ 3を生成する。そして、 UR20bの転送部 23力、生成 し oinメッセージ 3を送信する。送信端末 10のメッセージ処理部 14は、エントリ保 持部 11を参照し、送信先アドレス「UR2」の KATが満了した場合、エントリ保持部 11 から(S, G)に対応する送信先アドレス「UR2」を削除する。一方、メッセージ処理部 1 4は、送信先アドレス「UR2」の KATが満了する保持時間内に、受信部 12が、分岐 ノレータである UR20b力ら、送信元アドレスが「UR2」の Joinメッセージ 3を受信した場 合、送信先アドレス「UR2」の KATを再起動して、保持時間を延長する。
[0243] 又、末端ルータとなった UR20cも UR20bと同様にして、 JTが満了したときに KAT が満了していない転送先アドレスが 1つでもある場合は、宛先アドレスが送信端末ァ ドレス「S」、送信元アドレス力 S「UR3」の Joinメッセージ 3を送信する。受信端末 40bも 、宛先アドレスが送信端末アドレス「S」、送信元アドレスが「R2」の Joinメッセージ 3を 送信する。
[0244] 分岐ルータとなった UR20bのメッセージ処理部 25は、エントリ保持部 21bを参照し 、転送先アドレス「UR3」の KATが満了した場合には、エントリ保持部 21bの MFTェ ントリを削除して MCTエントリを生成し、転送先アドレス「R2」を登録する。メッセージ 処理部 25は、転送先アドレスが「R2」 1つになったことから、 UR20b力分岐ノレ一タカ ら、分岐ルータではないルータ(以下「非分岐ルータ」という)になったと判断する。そ して、メッセージ処理部 25は、メッセージ提供部 26に、 Redirectメッセージ 4の生成 を指示する。そして、メッセージ提供部 26が、非分岐ルータとなった UR20bの転送 先アドレス「R2」を送信先アドレスに追加し、非分岐ルータとなった UR20bのアドレス 「UR2」を送信先アドレスから削除することを要求する Redirectメッセージ 4を生成す る。そして、転送部 23が、その Redirectメッセージ 4を送信端末アドレス「S」宛に送 信する。
[0245] このようにして、メッセージ処理部 25は、 URが分岐ルータから非分岐ルータになる かを判断する。そして、転送部 23は、メッセージ処理部 25が非分岐ルータになると判 断した場合に、非分岐ルータの転送先アドレスを送信先アドレスに追加し、非分岐ル ータのアドレスを送信先アドレスから削除することを要求する参加/離脱要求メッセ ージを送信端末アドレス宛に送信する。これにより、通信システム 301では、一度分 岐ルータになった URが非分岐ルータに変化した場合にも、適切なマルチキャストツ リーに変更できる。
[0246] 次に、 UR20bのメッセージ処理部 25は、転送先アドレス「R2」の KATが満了した 場合、エントリ保持部 21bから転送先アドレス「R2」が登録された MCTエントリを削除 する。一方、 UR20bのメッセージ処理部 25は、転送先アドレス「UR3」、 「R2」の KA Tが満了する前に、 UR20bの受信部 22が、末端ルータである UR20c、受信端末 40 b力 、送信元アドレスが「UR3」、 「R2」の Joinメッセージ 3を受信した場合、転送先 アドレス「UR3」、 「R2」の KATを再起動し、保持時間を延長する。尚、末端ルータで ある UR20cのメッセージ処理部 25も UR20bと同様に、エントリ保持部 21cを参照し 、転送先アドレス「G」の KATが満了した場合、エントリ保持部 21cの MFTエントリか ら、(S, G)に対応する転送先アドレス「G」を削除する。又、 UR20cのメッセージ処理 部 25は、 UR20cの受信部 22が受信端末 40aから、 Membership Report2を受信 した場合、転送先アドレス「G」の KATを再起動する。
[0247] このようにして初期状態ではマルチキャストツリーが維持される。又、 Joinメッセージ
3や、 Membership Report4は、マルチキャストツリーを維持するための維持要求メ ッセージとしても機能できる。
[0248] (安定状態)
安定状態移行後の処理について、図 32に示したマルチキャストツリーの状態で安 定状態に移行した場合を例にとって、図 33を用いて説明する。尚、エントリ保持部 21 aについて、図 32における状態と、安定状態移行後における状態とを区別するため に、図 32におけるエントリ保持部 21aの状態を、図 33では、更新前エントリ保持部 21 8aとして図示する。
[0249] マルチキャストツリーが安定状態に移行すると、送信端末 10のパケット生成部 15は 、安定状態に移行したことを示す Stableオプションを設定したマルチキャストパケット を生成し、送信部 13が送信する。これにより、送信端末 10は、参加している受信端 末 40a, 40bに、マルチキャストツリーが安定状態に移行したことを通知する。受信端 末 40a, 40bは、 Stableオプションが設定されたマルチキャストパケットを受信した後 は、受信端末 40aの場合、 Stable Membership Report,受信端末 40bの場合、 Stable Joinメッセージ 3aを送信する。例えば、受信端末 40bは、 Stableオプション が設定されたマルチキャストパケットの受信後は、宛先アドレスが送信端末アドレス「S 」、送信元アドレスが「R2」である Stable Joinメッセージ 3aを送信する。
[0250] そして、 UR20b, 20cは、受信端末 40a, 40b又は下流の URから、 Stable Joinメ ッセージ 3aを受信した後は、 Stable Joinメッセージ 3aを送信する。例えば、末端ル ータである UR20cのメッセージ提供部 26は、 JTが満了したときに KATが満了してい ない転送先アドレスが 1つでもある場合は、宛先アドレスが送信端末アドレス「S」、送 信元アドレスが「UR3」、マルチキャストグループアドレスとして「G」を指定した Stable
Joinメッセージ 3aを生成する。 UR20cの転送部 23力 生成された Stable Joinメ ッセージ 3aを送信する。 [0251] そして、 UR20cから送信端末 10までの経路に存在する UR20bが、 UR20cからの Stable Joinメッセージ 3aを受信する。 UR20bのメッセージ処理部 25は、エントリ保 持部 21bを参照し、受信した Stable Joinメッセージ 3aの送信元アドレスを転送先ァ ドレスとして保持するエントリ力 MFTエントリ又は MCTエントリのいずれであるかを 判断する。メッセージ処理部 25は、 MFTエントリ力 Stable Joinメッセージ 3aの送 信元アドレスを転送先アドレスとして保持してレ、る場合には、転送先アドレスの保持時 間を延長する。メッセージ処理部 25は、 MCTエントリ力 Stable Joinメッセージ 3a の送信元アドレスを、転送先アドレスとして保持している場合には保持時間を延長し なレヽ。尚、 MFTエントリ力 Stable Joinメッセージ 3aの送信元アドレスを転送先アド レスとして保持している場合は、当然、その転送先アドレスの KATが満了する前、即 ち、保持時間内に UR20bは、 Stable Joinメッセージ 3aを受信していることになる。
[0252] UR20bのメッセージ処理部 25は、エントリ保持部 21bの MFTエントリ力 受信した Stable Joinメッセージ 3aの送信元アドレス「UR3」を転送先アドレスとして保持して いるため、転送先アドレス「UR3」の KATを再起動し、保持時間を延長する。同様に 、受信端末 40bから送信端末 10までの経路に存在する UR20bが、受信端末 40bか らの Stable Joinメッセージ 3aを受信する。そして、 UR20bのメッセージ処理部 25 は、エントリ保持部 21bの MFTエントリ力 受信した Stable Joinメッセージ 3aの送 信元アドレス「R2」を転送先アドレスとして保持しているため、転送先アドレス「R2」の KATを再起動し、保持時間を延長する。
[0253] 更に、 UR20bのメッセージ処理部 25は、今後生成する Joinメッセージには、 Stabl eオプションを設定するようメッセージ提供部 26に指示する。そして、 UR20bのメッセ ージ提供部 26は、 JTが満了したときに KATが満了していない転送先アドレスが 1つ でもある場合は、宛先アドレスが送信端末アドレス「S」、送信元アドレスが「UR2」、マ ルチキャストグループアドレスとして「G」を指定した Stable Join3aメッセージを生成 する。そして、 UR20bの転送部 23力 S、生成された Stable Joinメッセージ 3aを送信 する。このように、分岐ルータは、 Stable Joinメッセージ 3aの受信後は、 自身も Sta ble Joinメッセージ 3aを送信する。
[0254] そして、 UR20b力 送信端末 10までの経路に存在する UR20aが、 Stable Joinメ ッセージ 3aを受信する。 UR20aのメッセージ処理部 25は、変更前エントリ保持部 21 laを参照する。メッセージ処理部 25は、変更前エントリ保持部 21 laが MCTエントリ し力保持しておらず、し力も、 MCTエントリに登録されている転送先アドレス力 受信 した Stable Joinメッセージ 3aの送信元アドレス「UR2」と同一であるため、その転送 先アドレス「UR2」の KATを再起動せず、保持時間を延長しなレ、。このように、 Stabl e Joinメッセージ 3aは、 MCTエントリが保持する転送先アドレスの KATの再起動に は用いられない。
[0255] 更に、 UR20aのメッセージ処理部 25は、 Stable Joinメッセージ 3aをそのまま転 送部 23に入力する。 UR20aの転送部 23が送信端末 10宛に Stable Joinメッセ一 ジ 3aを送信し、 NR30a力 Stable Joinメッセージ 3aをュニキャストパケットとして送 信端末 10に転送する。
[0256] 更新前エントリ保持部 218aが保持する転送先アドレス「UR3」の KATは再起動さ れないため、満了する。 UR20aのメッセージ処理部 25は、 KATが満了した転送先 アドレス「UR2」を、更新前エントリ保持部 218aから削除する。その結果、エントリ保 持部 21aは、 MCTエントリが破棄されて、転送先アドレスを保持しない状態に更新さ れる。
[0257] 最後に、送信端末 10が、 Stable Joinメッセージ 3aを受信する。メッセージ処理部
14は、エントリ保持部 11力 受信した Stable Joinメッセージ 3aの送信元アドレス「U R2」を送信先アドレスとして保持しているため、送信先アドレス「UR2」の KATを再起 動し、保持時間を延長する。尚、末端ルータである UR20cのエントリ保持部 21cが保 持する転送先アドレス「G」の KATは、初期状態におけるマルチキャストツリーの維持 の場合と同様に、 UR20cが Membership Reportを受信した場合に、 UR20cのメ ッセージ処理部 25が再起動する。
[0258] このように、通信システム 301では、安定状態移行後は、エントリ保持部 21a 21c の MFTエントリが保持する転送先アドレスの保持時間の延長にのみ利用する Stabl e Joinメッセージ 3aを用いることにより、エントリ保持部 21a— 21cの MFTエントリが 保持する転送先アドレスだけが保持され、 MCTエントリが保持する転送先アドレスは 削除される。これにより、 UR20a— 20cは、エントリ保持部 21a— 21cの MFTエントリ が転送先アドレスを保持する分岐ルータ又は末端ルータの場合にだけ、転送先アド レスを保持し続けることができ、安定状態のマルチキャストツリーを維持できる。
[0259] MCTは、マルチキャストツリーの設定のため、より具体的には、 URが分岐ルータに なるか否力、を判断するために用いられる。そのため、受信端末の参加が頻繁に起こ るマルチキャストツリーの初期状態では有用である。しかし、マルチキャストツリーが安 定状態に移行した後は、新たにマルチキャストツリーに参加する受信端末の数が減 少するため、 URが分岐ルータになるか否かを判断する機会が減り、 MCTエントリが 利用される機会も減少する。よって、 MCTエントリが保持する転送先アドレスは初期 状態においてのみ保持し、マルチキャストツリーが安定状態に移行した後は削除する ことにより、分岐ルータ及び末端ノレータ以外の URの負荷を更に軽減できる。
[0260] 安定状態に移行し、更に、 MCTエントリが保持する転送先アドレスが削除された図
33に示す状態において、受信端末 40cが、送信端末 10が送信するマルチキャスト パケットの受信を開始したい場合、図 34に示すようにして安定状態のマルチキャスト ツリーに参加する。尚、エントリ保持部 11 , 21aについて、受信端末 40a, 40b力 S参カロ している図 33における状態と、受信端末 40cが参加した図 34における状態と、図 33 における状態から図 34における状態への移行状態とを区別するために、図 34では、 図 33におけるエントリ保持部 11 , 21aの状態を、更新前エントリ保持部 116, 220aと して図示し、移行状態におけるエントリ保持部 11 , 21aの状態を、移行中エントリ保持 部 115, 219aとして図示する。
[0261] まず、受信端末 40cは NR30cに接続しているため、受信端末 40bと同様にして、受 信端末 40cが無線リンクを介して接続しているルータが NRであることを検出し、 Join メッセージ 3を送信する。このとき、受信端末 40cは、マルチキャストツリーに参加して レヽなレ、ため、 Stableオプションが設定されたマルチキャストパケットを受信してレ、なレヽ 。よって、受信端末 40cは、 Stableオプションが設定されていない通常の Joinメッセ ージ 3を送信する。受信端末 40cは、宛先アドレスに送信端末アドレス「S」を設定し、 送信元アドレスに受信端末 40cのアドレス「R3」を設定し、マルチキャストグループア ドレス「G」を指定し oinメッセージ 3を送信する。
[0262] URの中で、受信端末 40cから送信端末 10への経路の最下流に存在する UR20a 力 Joinメッセージ 3を受信する。 UR20aのメッセージ処理部 25は、 UR20aの更新 前エントリ保持部 220aを参照する。メッセージ処理部 25は、更新前エントリ保持部 2 20aが転送先アドレスを保持しておらず、かつ、安定状態のマルチキャストツリーの維 持に用いる Stable Joinメッセージ 3aではない通常の Joinメッセージ 3を受信したこ と力、ら、受信し joinメッセージ 3の送信元アドレスに設定されている「R3」を、 UR20 aがマルチキャストパケットを転送する転送先アドレスと判断する。し力も、転送先アド レスは 1つであるため、メッセージ処理部 25は、 UR20aは分岐ルータにはならないと 判断する。
[0263] そのため、 UR20aのメッセージ処理部 25は、更新前エントリ保持部 220aに MCT エントリを生成して、 (S, G) : [R3]を登録し、移行中エントリ保持部 219aの状態とす る。更に、メッセージ処理部 25は、受信し fcjoinメッセージ 3をそのまま UR20aの転 送部 23に入力し、転送部 23が送信端末 10宛に Joinメッセージ 3を送信する。
[0264] 送信端末 10は、 Joinメッセージ 3を受信する。メッセージ処理部 14は、更新前ェン トリ保持部 116が、受信し oinメッセージ 3の送信元アドレスに設定されている「R3」 を保持していないため、「R3」を新たな転送先アドレスと判断する。メッセージ処理部 14は、 MFTエントリを生成して転送先アドレス「R3」を追加し、更新前エントリ保持部 116を、移行中エントリ保持部 115の状態(S, G): [UR2, R3]に更新する。これによ り、送信端末 10から受信端末 40cにマルチキャストパケットが直接転送されるマルチ キャストツリーが、一旦構築される。
[0265] その後、 UR20bが、 JTの満了により、宛先アドレスが送信端末アドレス「S」、送信 元アドレスが「UR2」、マルチキャストグループアドレスとして「G」を指定した Stable J oinメッセージ 3aを送信する。そして、 UR20bから送信端末 10までの経路に存在す る UR20aが、 Stable Joinメッセージ 3aを受信する。
[0266] UR20aのメッセージ処理部 25は、移行中エントリ保持部 219aを参照する。メッセ ージ処理部 25は、移行中エントリ保持部 219aが既に(S, G)に対応する転送先アド レスとして保持している「R3」と、受信した(S, G)に関する Stable Joinメッセージ 3a の送信元アドレス「UR2」とが異なるので、 Stable Joinメッセージ 3aは安定状態の マルチキャストツリーの維持に用いるものではないと判断する。更に、メッセージ処理 部 25は、 UR20aが(S, G)により特定されるマルチキャストパケットを転送する転送 先アドレスは「UR2」と「R3」の複数あるため、 UR20aは分岐ルータになると判断する
[0267] そのため、 UR20aのメッセージ処理部 25は、移行中エントリ保持部 219aから MC Tエントリを削除し、新たに MFTエントリを生成する。メッセージ処理部 25は、 (S, G) : [UR2, R3]をエントリ保持部 21aの MFTエントリに登録する。
[0268] 更に、 UR20aのメッセージ提供部 26は、新たに分岐ルータとなる UR20aのァドレ ス「111¾1」を送信先アドレスに追加することを要求する Joinメッセージと、送信先ァドレ スから分岐ルータである UR20aの転送先アドレス「UR2」と「R3」を削除することを要 求する Pruneメッセージとを含む Redirectメッセージ 4を生成する。又、メッセージ提 供部 26は、宛先アドレスに送信端末アドレス「S」を、送信元アドレスに UR20aのアド レス「UR1」を設定し、マルチキャストグループアドレス「G」を指定した Redirectメッセ ージ 4とする。そして。 UR20aの転送部 23が送信端末 10宛に Redirectメッセージ 4 を送信する。
[0269] 送信端末 10は、 Redirectメッセージ 4を受信する。メッセージ処理部 14は、 Reidir ectメッセージ 4に従ってエントリ保持部 11を更新する。具体的には、メッセージ処理 部 14は、移行中エントリ保持部 115の MFTエントリから、削除の指示を受けている「 UR2」、「R3」を削除し、追加の指示を受けている分岐ルータのアドレス「UR1」を、 MFTエントリに送信先アドレスとして登録する。これにより、エントリ保持部 11の MFT エントリは、(S, G): [UR1]に更新される。
[0270] 以上の処理により、最上流の送信端末 10から、新たに上流の分岐ルータとなった UR20a、上流にある UR20aが分岐ルータとなったことにより下流の分岐ルータとな つた UR20b、末端ルータである UR20cを経由して受信端末 40aにマルチキャストパ ケットが転送され、 UR20a、 UR20bを経由して受信端末 40bにマルチキャストバケツ トが転送され、 UR20aを経由して受信端末 40cにマルチキャストパケットが転送され るマルチキャストツリーが設定される。このようにして安定状態のマルチキャストツリー が設定される。
[0271] 〔通信方法〕 図 30に示した通信システム 301を用いた通信方法を説明する。まず、 Joinメッセ一 ジを受信した時の処理手順を説明する。図 35に示すように、 UR20a— 20cの受信 部 22が、 Joinメッセージを受信する(S1101)。 UR20a— 20cのメッセージ処理部 2 5は、エントリ保持部 21a 21cを検索し、受信し oinメッセージに含まれる送信端 末アドレスとマルチキャストグループアドレスを含むエントリが存在するか否かを判断 する(S1102)。
[0272] ステップ(S1102)において、 UR20a 20の cメッセージ処理部 25は、エントリが存 在しないと判断した場合、受信し oinメッセージ力 Stableオプションが設定された Stable Joinメッセージであるか否かを判断する(SI 103)。 UR20a 20cのメッセ ージ処理部 25は、 Stable Joinメッセージであると判断した場合、 UR20a— 20cの 転送部 23が Stable Joinメッセージを上流に転送する(SI 106)。
[0273] 一方、ステップ(S1103)において、 UR20a— 20cのメッセージ処理部 25は、 Stab le Joinメッセージではなぐ通常の Joinメッセージであると判断した場合、エントリ保 持部 21a— 21cに MCTエントリを生成する(S1105)。更に、 UR20a— 20cのメッセ ージ処理部 25は、生成した MCTエントリに受信し oinメッセージの送信元アドレス を転送先アドレスとして登録し、その KATを起動する(S1107)。そして、 UR20a— 2 0cの転送部 23は、 Joinメッセージを上流に転送する(S1108)。
[0274] 又、ステップ(S1102)において、 UR20a— 20cのメッセージ処理部 25は、エントリ が存在する判断した場合、 MCTエントリ又は MFTエントリのいずれであるかを判断 する(S1104)。 MFTエントリであると判断した場合、 UR20a— 20cのメッセージ処 理部 25は、 Joinメッセージが示す送信端末アドレスとマルチキャストグループアドレス 、即ち、 (S, G)に対応する MFTエントリの転送先アドレスに、 Joinメッセージの送信 元アドレスが含まれてレ、るかを判断する(S 1109)。
[0275] UR20a— 20cのメッセージ処理部 25は、(S, G)に対応する MFTエントリの転送 先アドレスに含まれていないと判断した場合には、 Joinメッセージの送信元アドレスを 転送先アドレスとして、エントリ保持部 21a 21cの(S, G)に対応する MFTエントリ に登録する(S1114)。そして、 UR20a 20cのメッセージ処理部 25は、受信し fcjoi nメッセージを破棄する(SI 115)。更に、 UR20a— 20cのメッセージ処理部 25は、 登録した(S, G)に対応する MFTエントリが保持する転送先アドレスの KATを起動さ せる(S1118)。
[0276] 一方、ステップ(S1109)において、 UR20a— 20cのメッセージ処理部 25は、(S, G)に対応する MFTエントリの転送先アドレスに含まれていると判断した場合には、ス テツプ(S1115)に進み、受信し fcjoinメッセージを破棄する。更に、 UR20a— 20c のメッセージ処理部 25は、ステップ(SI 118)に進み、(S, G)に対応する MFTェント リに登録されてレ、る転送先アドレスの KATを再起動させる。
[0277] ステップ(S1104)において、 MCTエントリであると判断した場合、 UR20a— 20cの メッセージ処理部 25は、 Joinメッセージが示す送信端末アドレスとマルチキャストグル 一プアドレス、即ち、(S, G)に対応する MCTエントリの転送先アドレスに Joinメッセ ージの送信元アドレスが含まれてレ、るかを判断する(SI 110)。 UR20a— 20cのメッ セージ処理部 25は、(S, G)に対応する MCTエントリに含まれていないと判断した場 合には、 (S, G)に対応する MFTエントリを生成する(Sl l l l)。
[0278] 更に、 UR20a— 20cのメッセージ提供部 26は、(S, G)に対応する Redirectメッセ ージを生成し、 UR20a— 20cの転送部 23が送信端末アドレス宛に送信する(S111 3)。そして、 UR20a— 20cは、ステップ(S1114)、(S1115)に進み、生成した(S, G)に対応する MFTエントリに送信元アドレスを転送先アドレスとして登録し、 Joinメッ セージを破棄する。更に、 UR20a— 20cは、ステップ(S1118)に進み、登録した(S , G)に対応する MFTエントリとして保持する転送先アドレスの KATを起動させる。尚 、この場合には、 UR20a— 20cは JTも起動させる。
[0279] 一方、ステップ(S1110)において、 UR20a— 20cのメッセージ処理部 25は、(S, G)に対応する MCTエントリの転送先アドレスに含まれていると判断した場合は、受 信し joinメッセージ力 Stableオプションが設定された Stable Joinメッセージであ るか否かを判断する(S1112)。 UR20a 20cのメッセージ処理部 25が、 Stable J oinメッセージであると判断した場合、 UR20a 20cの転送部 23が、 Stable Joinメ ッセージを上流に転送する(S1116)。一方、ステップ(S1112)におレヽて、 UR20a 一 20cのメッセージ処理部 25力 Stable Joinメッセージではなぐ通常の Joinメッセ ージであると判断した場合、 UR20a— 20cの転送部 23が、 Joinメッセージを上流に 転送した後(S1117)、ステップ(S118)に進み、 (S, G)に対応する MCTエントリに 含まれる転送先アドレスの KATを再起動させる。このようにして、通信システム 301は 、マルチキャストツリーを設定する。
[0280] 次に、 Pruneメッセージを受信した時の処理手順を説明する。図 36に示すように、 まず、 UR20a— 20cの受信部 22が、 Pruneメッセージを受信する(S1201)。 UR20 a 20cのメッセージ処理部 25は、エントリ保持部 21a— 21cが Pruneメッセージの送 信元アドレスを、転送先アドレスとして保持しているかを判断する(S 1202)。 UR20a 一 20cのメッセージ処理部 25は、 Pruneメッセージの送信元アドレスを保持していな レ、と判断した場合、受信した Pruneメッセージを上流に転送する(S 1208)。
[0281] 一方、ステップ(S1202)において、 UR20a— 20cのメッセージ処理部 25は、 Prun eメッセージの送信元アドレスを保持していると判断した場合、エントリ保持部 21a— 2 lcの MCTエントリ又は MFTエントリのレ、ずれとして保持してレ、るかを判断する(S12 03)。 MCTエントリとして保持していると判断した場合、 UR20a— 20cのメッセージ 処理部 25は、エントリ保持部 21a— 21cから、 MCTエントリを削除する(S1205)。そ して、 UR20a— 20cは、ステップ(S1208)に進む。
[0282] 一方、ステップ(S1203)において、 UR20a— 20cのメッセージ処理部 25は、 MF Tエントリとして保持していると判断した場合、 Pruneメッセージの送信元アドレスをェ ントリ保持部 21a— 21cの MFTエントリから削除する(S1204)。 UR20a— 20cのメッ セージ処理部 25は、ステップ(S1204)において、 MFTエントリから Pruneメッセ一 ジの送信元アドレスを削除したことにより、 MFTエントリが MCTエントリに変化するか を判断する(S 1206)。
[0283] ステップ(S1206)において、 UR20a 20cのメッセージ処理部 25は、 MCTェント リに変化すると判断した場合、メッセージ提供部 26に Redirectメッセージの生成を指 示する。 UR20a 20cのメッセージ提供部 26は、 Redirectメッセージ 4を生成し、転 送部 23が送信端末 10に送信する(S1207)。そして、 UR20a— 20cのメッセージ処 理部 25は、 Pruneメッセージを破棄する(S 1209)。一方、ステップ(S1206)におい て、 UR20a— 20cのメッセージ処理部 25は、 MFTエントリが複数の転送先アドレス を保持しており、 MFTエントリから送信元アドレスを削除したとしても MCTエントリに 変化しないと判断した場合には、ステップ(S1209)に進む。
[0284] 次に、設定したマルチキャストツリーを用いたマルチキャストパケットの転送方法を 説明する。図 37に、図 32に示した初期状態のマルチキャストツリーを用いた転送方 法を示す。
[0285] まず、送信端末 10が、データに送信元アドレスとして送信端末アドレス「S」、宛先ァ ドレスとしてマルチキャストグループアドレス「G」を設定してマルチキャストパケットを 生成する。そして、送信端末 10が、生成したマルチキャストパケットに送信元アドレス として送信端末アドレス「S」、宛先アドレスとして、エントリ保持部 11が保持する送信 先アドレス「UR2」を設定し、マルチキャストパケットをカプセルィ匕する。そして、送信 端末 10は、カプセル化されたマルチキャストパケット 105aをュニキャストにより、分岐 ルータである UR20bに転送する(S1301)。これにより、送信端末 10と分岐ルータで ある UR20bとの経路上に存在する NR30a、 UR20aは、マルチキャストパケット 105 aがマルチキャストパケットであることを意識することなぐ通常のュニキャストの処理に よって転送できる。
[0286] UR20bは、エントリ保持部 21bのトンネル元アドレスに、カプセル化されたマルチキ ャストパケット 105aの送信元アドレス「S」を設定し、カプセル化されたマルチキャスト パケット 105aをディカプセル化する。 UR20bは、エントリ保持部 21bが保持する転送 先アドレス「UR3」と「R2」に送信するために、転送制御部 24を用いてマルチキャスト パケットを複製する。そして、 UR20bは、送信元アドレスとして、 UR20b自身のァドレ ス「UR2」、宛先アドレスとして、転送先アドレス「UR3」を設定してカプセル化し、力 プセル化したマルチキャストパケット 105bを、末端ルータである UR20cに転送する( S1302)。 UR20cは、カプセル化されたマルチキャストパケット 105bをディカプセル 化してマルチキャストパケット 105cを取り出し、受信端末 40aに転送する(S1303)。
[0287] 又、 UR20bは、送信元アドレスとして、 UR20b自身のアドレス「UR2」、宛先アドレ スとして、もう一つの転送先アドレス「R2」を設定してカプセル化し、カプセル化したマ ルチキャストパケット 105dを、受信端末 40bに転送する(S1304)。このようにして、複 数の送信先、受信端末 40aと受信端末 40bにデータをマルチキャスト配信できる。
[0288] このような通信システム 301、 UR20a 20c及び通信方法によれば、 UR20a— 20 cは、送信端末 10が送信するマルチキャストパケットを複数の転送先アドレスに転送 する分岐ルータになると判断した場合にだけ、複数の転送先アドレスを保持して、複 製ポイントになる。更に、 UR20a— 20cは、分岐ルータとなった場合に、その UR20a 一 20cのアドレスを送信先アドレスに追加し、分岐ルータの転送先アドレスを送信先 アドレスから削除することを要求する Redirectメッセージのような参加 Z離脱要求メッ セージを、送信端末アドレス宛に送信することにより、 自身よりも上流の URや送信端 末 10に、分岐ルータのアドレスの転送先アドレスや送信先アドレスへの追加と、分岐 ルータの転送先アドレスの転送先アドレスや送信先アドレスからの削除を要求できる
。そして、上流の URや送信端末 10が、下流の分岐ルータのアドレスを転送先ァドレ スゃ送信先アドレスとして保持し、下流の分岐ルータの転送先アドレスを、転送先アド レスや送信先アドレスから削除できる。
[0289] これにより、 UR20a 20c力 適宜、分岐ルータになることができる。即ち、通信シ ステム 301では、分岐ルータが動的に決定される。そして、送信端末 10から分岐ル ータを経由して受信端末 40a— 40cにマルチキャストパケットが転送される適切なマ ルチキャストツリーが設定される。し力も、 UR20a— 20c、 NR30a— 30cのうち、分岐 ルータのみが転送先アドレスを保持し、マルチキャストパケットを複数の転送先に転 送する。よって、送信端末 10と分岐ルータとの間に存在する URや NRは、カプセル 化されたマルチキャストパケットをュニキャストで転送するだけでよい。
[0290] そのため、分岐ルータ以外の URの負荷は軽減され、分岐ルータ以外のルータが N Rであっても、通信システム 301全体としてはマルチキャストを実現できる。例えば、 H BHを用いる場合には、全てのルータがマルチキャストツリーを設定するための情報 を MCTに保持する必要はないものの、マルチキャストパケットの複製を行うルータ以 外のルータも MCTを保持する必要があった。そのため、通信システム全体の負荷が 十分には低減できない場合があった。しかし、通信システム 301によれば、通信シス テム 301の負荷を増大させず、更に、送信端末と分岐ルータとの間や、分岐ルータ 間に NRが存在していても、適切なマルチキャストツリーを設定してマルキャストを実 現できる。
[0291] 又、メッセージ処理部 14, 25は、送信先アドレスや転送先アドレスの KATが満了し た場合にはエントリ保持部 11 , 21a— 21cから送信先アドレスや転送先アドレスを削 除し、転送先アドレスや送信先アドレスを送信元アドレスとする Joinメッセージ 3や Sta ble Joinメッセージ 3a (維持要求メッセージ)を、 KAT満了前に送信端末 10や UR2 0a 20cが受信した場合には KATを再起動する。そのため、通信システム 301は、 KATが満了するまでマルチキャストツリーを維持することにより、ネットワークトポロジ が変化した場合にも、常に適切なマルチキャストツリーを用いることができる。しかも、 通信システム 301は、 Joinメッセージ 3や Stable Joinメッセージ 3a (維持要求メッセ ージ)により、必要な間はマルチキャストツリーを維持できる。
[0292] [第 6の実施の形態]
〔通信システム〕
次に、送信端末 10の移動等により、送信端末アドレスが変更される場合について、 図 38に示す通信システム 401を用いて説明する。通信システム 401は、送信端末 10 と、 UR20a— 20fと、 NR30a, 30bと、受信端末 40a— 40cとを備える。通信システム 401は、図 1に示した通信システム 1と比較し、 UR、 NR、受信端末の数が異なり、送 信端末 10と、 UR20a— 20fと、 N30a, 30bと、受信端末 40a— 40cとの接続関ィ系カ S 変化した以外は実質的に同様である。送信端末 10が、ネットワークを移動し、送信端 末アドレスが、「S」から「S'」に変化した場合を考える。
[0293] (受信端末の構成)
次に、受信端末 40a— 40cの構成について説明する。図 39に示すように、受信端 末 40aは、エントリ保持部 41と、受信部 42と、送信部 43と、パケット処理部 44と、 メッセージ提供部 45とを備える。尚、受信端末 40b, 40cも、受信端末 40aと同様の 構成を備える。
[0294] 受信部 42は、 UR20a 20fや NR30a, 30b、送信端末 10から、制御メッセージ、 マルチキャストパケットを受信する。受信部 42は、受信した制御メッセージ及びマル チキャストパケットをパケット処理部 44に入力する。
[0295] エントリ保持部 41は、 ISA,即ち、送信端末アドレス及びマルチキャストグノレープア ドレスを保持するアドレス保持部である。図 40に示すように、エントリ保持部 41は、 IS A、マルチキャストグループアドレス、 oISA、 MPT (Message Pending Timer)、 ST ( Stale Timer)を保持する。エントリ保持部 41は、 ISAと oISAを対応付けて保持する。
[0296] MPTは、 Pruneメッセージ又は Leave Groupメッセージの送信を抑制するメッセ ージ抑制時間を計測するタイマ値である。 MPTが満了し、オフとなっている間は、 Pr uneメッセージ又は Leave Groupメッセージが送信される。 MPTがオンになってい る間は、 Pruneメッセージや Leave Groupメッセージは送信されなレ、。 STは、 oISA の保持時間を計測するタイマ値である。 STは、 oISAと対応付けて保持される。 STが 満了すると、対応する oISAはエントリ保持部 41から削除される。
[0297] パケット処理部 44は、制御メッセージ及びマルチキャストパケットを処理する。パケ ット処理部 44は、受信部 42から受信端末 40aが受信した制御メッセージ及びマルチ キャストパケットを取得する。パケット処理部 44は、 LUメッセージ又は LUメッセージ が付加されたマルチキャストパケットを受信した場合には、エントリ保持部 41が現在 保持している ISA「S」を、エントリ保持部 41の oISAに設定し、その STを起動させる。 更に、パケット処理部 44は、 LUメッセージに含まれる ISA「S '」を、エントリ保持部 41 の ISAに設定する。
[0298] 更に、パケット処理部 44は、エントリ保持部 41を参照し、マルチキャストパケットの送 信元アドレスが oISAであるか否かを判断する。パケット処理部 44は、送信元アドレス が oISAの場合には、エントリ保持部 41を参照し、 MPTがオンかオフかを判断する。 パケット処理部 44は、 MPTがオフの場合には、メッセージ提供部 45に、 oISAを指 定した Pruneメッセージ又は Leave Groupメッセージを生成するよう指示する。更に 、パケット処理部 44は、エントリ保持部 41の MPTを起動させる。更に、パケット処理 部 44は、エントリ保持部 41から STが満了した oISAを削除する。
[0299] メッセージ提供部 45は、制御メッセージを生成し、送信部 43を介して提供する。メッ セージ提供部 45は、エントリ保持部 41から、 ISA、マルチキャストグループアドレスを 取得する。メッセージ提供部 45は、取得した ISA、マルチキャストグノレープアドレスを 用レヽて、 Joinメッセージ、 Membership Report, Stable Joinメッセージ等を生成 する。メッセージ提供部 45は、パケット処理部 44からの oISAを指定した Pruneメッセ ージ又は Leave Groupメッセージの生成の指示に従って、 Pruneメッセージ又は L eave Groupメッセージを生成する。メッセージ提供部 45は、生成した制御メッセ一 ジを送信部 43に入力する。
[0300] 特に、メッセージ提供部 45は、マルチキャストパケットを送信する送信端末アドレス が変更された場合に、変更後の送信端末アドレスを通知する位置更新メッセージ (L Uメッセージ)に基づいて、送信端末 10がマルチキャストパケットを送信する送信先ァ ドレスに、受信端末のアドレスを追加することを要求する参加要求メッセージ Cioinメッ セージや Membership Report)を変更後の送信端末アドレス(ISA)宛に提供する 受信端末メッセージ提供部として機能する。更に、メッセージ提供部 45は、受信端末 40aが NRに接続する場合には、参加要求メッセージを破棄しないように指示するデ ータが付加された参加要求メッセージを提供する。具体的には、メッセージ提供部 4 5は、 Joinメッセージ 3を生成し、送信部 43を介して提供する。 Joinメッセージ 3には 特別なオプションが設定されているため、受信端末 40aが NRに接続する場合であつ ても、 NR力 Sjoinメッセージを破棄しないため、受信端末 40aから送信端末 10までの 経路に存在する UR力 Sjoinメッセージを受信できる。
[0301] 送信部 43は、 UR20a— 20fや NR30a, 30b、送信端末 10に、制御メッセージを送 信する。送信部 43は、メッセージ提供部 45から制御メッセージを取得して、送信する
[0302] 次に、送信端末アドレスが変更された場合の通信システム 401における処理につ いて、図 38、 41、 42を用いて説明する。図 38は、送信端末 10が oISA「S」から ISA 「S '」に移動した直後の状態を示す。そのため、図 38では、エントリ保持部 21a— 21f は、 oISA「S」を用いた(S, G)によって特定されるマルチキャストツリーにおける転送 先アドレスを保持している。送信端末 10が oISA「S」に存在するときは、 oISA「S」を マルチキャストツリーの上流としたときに最適となるように、マルチキャストツリーが設 定されている。又、受信端末 40a— 40c全てがマルチキャストツリーに参加している。 よって、送信端末 10のエントリ保持部 11が、(S, G): [UR1]、 UR20aのエントリ保 持部 21aが、 (S, G): [UR3, UR6]を MFTエントリとして保持し、 UR20cのエントリ 保持部 21cが、(S, G): [UR4, UR5]を MFTエントリとして保持し、分岐ルータとな つている。又、 UR20d— 20fのエントリ保持部 21d— 21fが、 (S, G): [G]を MFTェ ントリとして保持し、末端ノレータとなっている。 [0303] 送信端末 10が oISA「S」から ISA「S '」に移動すると、パケット生成部 15が、 oISA「 S」と ISA「S'」とを対応付けた BUメッセージ 6を生成する。パケット生成部 15は、ェン トリ保持部 11に従って、 BUメッセージ 6の宛先アドレスに「UR1」宛を設定する。そし て、パケット生成部 15は、送信部 13を介して BUメッセージ 6を UR20aに提供する。
[0304] UR20aのメッセージ処理部 25は、受信部 22が受信した BUメッセージ 6に基づい て、 ISA「S '」と oISA「S」を対応付けて保持する。そして、 UR20aのメッセージ処理 部 25は、受信部 22が受信した oISA「S」宛の制御メッセージを、転送部 23に ISA「S '」に転送させる。このようにして、 UR20aは、送信端末 10との間にトンネル(
Bi-Directional Tunneling) 9を構築し、ホームエージェントとして機能する。
[0305] 更に、送信端末 10の送信部 13は、マルチキャストパケット 105をエントリ保持部 11 に基づいて UR20aに送信し、 (S, G)によって特定されるマルチキャストツリーを用い て送信する。 (S, G)によって特定されるマルチキャストツリーは、 oISA「S」をマルチ キャストツリーの上流としたときに最適となるように設定されているため、冗長経路を含 む。よって、通信システム 201は、 ISA「S '」に基づいて、(S ', G)によって特定され るマルチキャストツリーを再設定する必要がある。そのため、パケット生成部 15は、 St ableオプションを設定していないマルチキャストパケット 105を生成する。
[0306] 更に、パケット生成部 15は、 oISA「S」と 13八「3 '」とを対応付けた ISAを通知する L Uメッセージをマルチキャストパケット 105に付加する。パケット生成部 15は、このよう なマルチキャストパケット 105を送信部 13を介して受信端末 40a— 40cに提供し、受 信端末 40a— 40cに送信端末 10が oISA「S」から ISA「S '」へ移動したことを通知す る。
[0307] このように、パケット生成部 15は、送信端末アドレスが変更された場合に、まず、送 信先アドレス宛に送信端末アドレスの変更を通知する転送先更新メッセージ (BUメッ セージ)を提供する。更に、パケット生成部 15は、マルチキャストパケットを受信する 受信端末 40a 40cに、変更後の送信端末アドレスを通知する位置更新メッセージ( LUメッセージ)を提供する更新通知部として機能する。
[0308] 受信端末 40a 40cは、図 13に示すように、受信したマルチキャストパケット 105に 付加されてレ、る LUメッセージに基づレ、て、宛先アドレスに ISA「S '」を設定した Mem bership Report2を送信する。具体的には、パケット処理部 44力 SLUメッセージに 基づいてエントリ保持部 41を更新する。そして、メッセージ提供部 45が、更新後のェ ントリ保持部 41に保持された ISA「S '」を用いて、 Membership Report2を生成し 、送信部 43が送信する。尚、一つの末端ノレータに複数の受信端末が接続している場 合には、受信端末は、 MLDにおいて規定されている輻輳回避制御に従って、 Mem bership Report2を送信する。これによれば、全ての受信端末が、新たに設定され る(S ', G)によって特定されるマルチキャストツリーに参加しょうとすることによって引 き起こされる輻輳を回避できる。
[0309] 末端ルータである UR20d— 20fの受信部 22が、 ISA「S '」を宛先アドレスに設定し た Membership Report2を受信すると、 UR20d— 20fのメッセージ処理部 25は、 受信した Membership Report2をメッセージ提供部 26に入力する。 UR20d 20f のメッセージ提供部 26は、 Membership Report2を取得すると、宛先アドレスを IS A「S '」に設定し oinメッセージ 3を生成する。そして、 UR20d— 20fの転送部 23 、 ISA「S '」宛の Joinメッセージ 3を送信する。
[0310] この ISA「S,」宛の Membership Report2及び Joinメッセージ 3を契機に、送信端 末 10及び UR20a— 20fは、図 31、 32に示した通信システム 301における初期状態 のマルチキャストツリーを設定する場合の処理と同様にして、 ISA「S '」をマルチキヤ ストツリーの上流としたときに最適になるように、 (S ', G)に対応した転送先アドレスを 、エントリ保持部 11 , 21a— 21fに登録していく。
[0311] 具体的には、 UR20a— 20fのメッセージ処理部 25は、変更後の送信端末アドレス である ISA「S '」をマルチキャストツリーの上流としたときに、 UR20a— 20fが分岐ル ータになるかを判断する。分岐ルータになると判断した UR20a 20fのメッセージ処 理部 25は、エントリ保持部 21a 21fに、 ISA「S'」を用いた(S' , G)に対応付けて 複数の転送先アドレスを登録する。そして、分岐ルータになると判断した UR20a— 2 Ofのメッセージ提供部 26力 宛先アドレスを ISA「S '」に設定した Redirectメッセ一 ジを生成し、転送部 23を介して提供する。
[0312] この結果、図 41に示すように、転送先アドレスを保持していなかった UR20bのェン トリ保持部 21bが、 (S,, G): [UR3, UR4]を MFTエントリとして保持し、 (S,, G)に より特定されるマルチキャストツリーにおける分岐ルータとなる。又、 UR20cのエントリ 保持部 21cが、 MFTエントリとして保持していた(S, G) : [UR4, UR5]に加えて、( S ', G) : [UR5, UR6]を MFTエントリとして保持し、(S ', G)により特定されるマル チキャストツリーにおいても分岐ルータとなる。更に、 UR20aのエントリ保持部 21aが 、 MFTエントリとして保持していた(S, G) : [UR3, UR6]に加えて、(S ', G) : [UR 6]を MCTエントリとして保持する。
[0313] 又、 UR20d— 20fのエントリ保持部 21d— 21fが、 MFTエントリとして保持していた
(S, G) : [G]に加えて、 (S,, G) : [G]を MFTエントリとして保持し、 (S, , G)により特 定されるマルチキャストツリーにおいても末端ノレータとなる。そして、送信端末 10のェ ントリ保持部 11が保持していた(S, G) : [UR1]に加えて、 (S, , G) : [UR2]を保持 する。
[0314] このようにして、 ISA「S '」に対して最適なマルチキャストツリーを設定した直後は、 通信システム 401は、図 41に示すように、 oISA「S」に対して最適な(S, G)により特 定されるマルチキャストツリーと、 ISATS' jに対して最適な(S ',G)により特定される マルチキャストツリーが併存した状態になる。そのため、通信システム 401では、 2つ のマルチキャストツリーにより、マルチキャストパケットが重複して転送されてしまい、 受信端末 40a— 40cはマルチキャストパケットを重複して受信してしまう。
[0315] そのため、送信端末 10、 UR20a— 20fのメッセージ処理部 14, 24は、 Leave Gr oupメッセージや Pruneメッセージ、又は、送信先アドレスや転送先アドレスの保持時 間の少なくとも 1つに基づいて、 oISA「S」に対応付けられている送信先アドレスや転 送先アドレスを、エントリ保持部 11, 21a— 21fから削除することが好ましい。
[0316] LUメッセージを受信した受信端末 40a— 40cは、(S, G)を指定した Stable Join メッセージの送信を停止する。具体的には、受信端末 40a 40cのメッセージ提供部 45は、エントリ保持部 41の ISA「S '」を用いて Stable Joinメッセージを生成する。そ のため、 LUメッセージによりエントリ保持部 41の ISAが更新された後は、メッセージ 提供部 45は、 oISAとなってしまった「S」を用いた Stable Joinメッセージを生成しな くなる。
[0317] その結果、受信端末 40a 40cは、(S ', G)を指定した Stable Joinメッセージの み送信する。これにより、メッセージ処理部 14, 25は、(S ', G)に対応する送信先ァ ドレスや転送先アドレスの KATだけを再起動し、保持時間を延長する。そのため、ェ ントリ保持部 11 , 21a— 21fの(S,, G)に対応する MFTエントリだけが保持され、 (S , G)に対応する MFTエントリが保持する送信先アドレスや転送先アドレスが削除さ れる。よって、送信端末 10、 UR20a— 20fは、(S, G)に対応するマルチキャストッリ 一を削除し、(S ', G)に対応する MFTエントリだけを保持し続けることができる。その ため、送信端末 10、 UR20a— 20fは、(S ', G)に対応するマルチキャストツリーだけ を維持できる。
[0318] 又、図 42に示すように、受信端末 40a— 40cは、 KATの満了を待たずに、 Leave Groupメッセージ 7や Pruneメッセージ 8を用いることにより、 oIS A「S」を用レ、たマノレ チキャストツリーから明示的に離脱できる。受信端末 40a— 40cは、(S ', G)により特 定されるマルチキャストツリーから、マルチキャストパケットを受信した後に、(S, G)に より特定されるマルチキャストツリー力 の離脱を要求する Leave Groupメッセージ 7を、末端ルータである UR20d— 20fに送信する。具体的には、受信端末 40a— 40 cのメッセージ提供部 45が、 oISA「S」を指定した Leave Groupメッセージ 7を生成 し、送信部 43が送信する。
[0319] UR20d— 20fのメッセージ処理部 25は、(S, G)により特定されるマルチキャストツ リー力もの離脱を要求する Leave Groupメッセージ 7に基づいて、エントリ保持部 21 d— 21fが保持する(S, G)に対応する MFTエントリを削除する。更に、メッセージ処 理部 25は、受信した Leave Groupメッセージ 7を、メッセージ提供部 26に入力する
[0320] UR20d— 20fのメッセージ提供部 26は、 Leave Groupメッセージ 7に基づいて、 宛先アドレスに oISA「S」を設定し、 (S, G)に対応する MFTエントリの削除を要求す る Pruneメッセージ 8を生成し、転送部 23を介して提供する。 UR20d— 20fの転送 部 23が Pruneメッセージ 8を送信する。 UR20aは、 Pruneメッセージ 8を受信すると、 ISA「S '」と oISA「S」の対応付けに従って、トンネル 9により Pruneメッセージ 8を、 IS A「S '」に転送する。このようにして、 Pruneメッセージ 8は、 UR20a— 20cや、 ISA「 S '」に位置する送信端末 10に到達する。 [0321] 送信端末 10のメッセージ処理部 14や UR20a— 20cのメッセージ処理部 25は、 Pr uneメッセージ 8に基づいて、エントリ保持部 11 , 21a— 21cから、(S, G)に対応する MFTエントリを削除する。その結果、図 42に示すように、送信端末 10や UR20a— 2 Ofのエントリ保持部 11 , 21a 21fは、(S ', G)に対応する MFTエントリのみを保持 できる。
[0322] 〔通信方法〕
図 38に示した通信システム 401を用いた通信方法の手順を説明する。まず、 UR2 0a 20fの動作について説明する。 UR20a— 20fの受信部 22力 マルチキャストパ ケットを受信する(S1401)。 UR20a— 20fの転送制御部 24は、マルチキャストパケ ットからトンネル元アドレスを取得し、一時的に記憶する(S1402)。 UR20a— 20fは 、マルチキャストパケットをディカプセル化する(S1403)。 UR20a 20fは、マルチ キャストパケットに設定されている送信端末アドレスやマルチキャストグノレープアドレス に基づいて、エントリ保持部 21a— 21fが、対応する MFTエントリ又は MCTエントリ を保持しているかを判断する(S1404)。 UR20a— 20fは、保持していないと判断し た場合には、マルチキャストパケットを破棄する(S 1406)。
[0323] 一方、ステップ(S1404)において、 UR20a— 20fのメッセージ処理部 25は、保持 していると判断した場合には、 MCTエントリ又は MFTエントリのいずれとして保持し ているかを判断する(S1405)。 MCTエントリとして保持していると判断した場合には 、 UR20a— 20fのメッセージ提供部 26は、 UR20a— 20fの転送先アドレスを送信先 アドレスに追加し、 UR20a— 20f自身のアドレスを送信先アドレスから削除することを 要求する、 Hop-by-Hopオプションを設定した送信端末アドレス宛の Redirectメッセ ージを生成する。そして、転送部 23が Redirectメッセージを送信する(S 1412)。
[0324] 一方、ステップ(S1405)において、 MFTエントリとして保持していると判断した場 合には、 UR20a 20fの転送制御部 24は、受信したマルチキャストパケットのトンネ ル元アドレス力 エントリ保持部 21a 21fが保持するトンネル元アドレスと一致する 力、を判断する(S1407)。
[0325] ステップ(S 1407)において、トンネル元アドレスが一致しない場合には、 UR20a— 20fの転送制御部 24は、受信したマルチキャストパケットのトンネル元アドレス力 ェ ントリ保持部 21a— 21fが保持する前トンネル元アドレスと一致する力を判断する(SI 408)。前トンネル元アドレスと一致する場合には、 UR20a— 20fのメッセージ提供部 26は、 Hop-by-Hopオプションを設定しない Pruneメッセージを生成し、転送部 23が 前トンネル元アドレス宛に転送する(S 1409)。
[0326] 一方、ステップ(S 1408)において、前トンネル元アドレスと一致しない場合には、 U R20a— 20fの転送制御部 24は、エントリ保持部 21a— 21fが現在保持しているトン ネル元アドレスを、エントリ保持部 21a— 21fの前トンネル元アドレスに設定する(S14 10)。このとき、転送制御部 24は、エントリ保持部 21a 21fの KATを STとして利用 し、 STの満了により前トンネル元アドレスが削除されるように設定してもよい。その後 、 UR20a— 20fの転送制御部 24は、ステップ(S1402)において記憶したトンネル元 アドレスを、エントリ保持部 21a— 21fに登録する(S1411)。 UR20a— 20fは、ステツ プ(S1409)、 (S1411)の後、ステップ(S1413)に進む。
[0327] ステップ(S 1407)において、トンネル元アドレスが一致する場合、ステップ(S 1409 )、(S1411)が終了した場合には、 UR20a— 20fの転送制御部 24は、マルチキャス トパケットの宛先アドレスが MFTエントリの転送先アドレスに含まれているか否かを判 断する(S1413)。宛先アドレスが転送先アドレスに含まれていない場合、転送制御 部 24は、マルチキャストパケットを転送先アドレスでカプセル化する(S1414)。転送 制御部 24は、ステップ(S1413)において宛先アドレスが転送先アドレスに含まれると 判断した場合、そのままマルチキャストパケットを転送部 23に入力する。転送制御部 24は、ステップ(S 1414)においてカプセル化したマルチキャストパケットを転送部 23 に入力する。そして、転送部 23が転送制御部 24から取得したマルチキャストパケット を転送する(S1415)。尚、ステップ(S1407) (S1411)は、省略できる。
[0328] 次に、受信端末 40a 40cの動作について説明する。受信端末 40a— 40cの受信 部 42は、マルチキャストパケットを受信する(S1501)。受信端末 40a— 40cのバケツ ト処理部 44は、エントリ保持部 41を参照し、受信したマルチキャストパケットの送信元 アドレスが ISAであるか否かを判断する(S1502)。
[0329] マルチキャストパケットの送信元アドレスが ISAである場合には、受信端末 40a— 4 0cのパケット処理部 44は、エントリ保持部 41が oISAを保持するか否かを判断する( SI 503)。エントリ保持部 41が oISAを保持する場合には、パケット処理部 44は、そ の MPTがオンかオフか判断する(S 1504)。 MPTがオフの状態の場合には、受信 端末 40a— 40cのメッセージ提供部 45は、 Hop-by-Hopオプションを設定した、 oISA 宛の Pruneメッセージを生成し、送信部 43を介して提供する。あるいは、メッセージ 提供部 45は、 oISA宛の Leave Groupメッセージを生成し、送信部 43を介して提 供する(S1505)。更に、パケット処理部 44は、エントリ保持部 41の MPTを起動させ る(S1506)。
[0330] 尚、ステップ(S1502)において、マルチキャストパケットの送信元アドレスが ISAで はない場合、ステップ(S 1503)においてエントリ保持部 41が oISAを保持しない場 合、ステップ(S 1504)において MPTがオンの場合には、受信端末 40a 40cは特 別な処理はせずに、パケット処理部 44がマルチキャストパケットに含まれるデータを 処理する。
[0331] このような通信システム 401、 UR20a— 20f、受信端末 40a— 40c及び通信方法に よれば、送信端末 10は、その送信端末アドレスが変更された場合に、送信先アドレス に、送信端末アドレスの変更を通知する BUメッセージを提供し、受信端末 40a— 40 cに、 ISA「S '」を通知する LUメッセージを提供するメッセージ提供部 45を備える。又 、受信端末 40a— 40cは、 LUメッセージに基づいて、 Joinメッセージ又は Members hip Reportを ISA宛に提供するメッセージ提供部 45を備える。
[0332] そのため、送信端末 10の移動等により送信端末アドレス変更された場合に、送信 端末 10が送信先アドレスに BUメッセージを送信することにより、送信端末とその送信 先アドレスの URとの間にトンネルを構築することができる。よって、 oISA宛の制御メ ッセージは送信端末 10に転送される。
[0333] 更に、送信端末 10は、 LUメッセージにより受信端末 40a— 40cに送信端末アドレ スの変更を通知できる。そして、受信端末 40a 40cは、 LUメッセージにより送信端 末アドレスの変更を把握して、 Joinメッセージ又は Membership Reportを ISA「S, 」に送信できる。そのため、 ISA「S '」宛の Joinメッセージ又は Membership Report を契機として、 ISA「S '」において適切なマルチキャストツリーが新たに設定される。よ つて、通信システム 401は、送信端末アドレスが変化しても、適切なマルチキャストツ リーを用いたマルチキャストを実現できる。
[0334] しかも、分岐ルータは、 ISA「S '」に対応付けて複数の転送先アドレスを保持する。
よって、 UR20a— 20fは、 oISA「S」、即ち、 (S, G)に対応するマルチキャストツリー と、 ISA「S '」、即ち、(S ', G)に対応するマルチキャストツリーとを明確に区別できる
[0335] 又、受信端末 40a— 40cのメッセージ提供部 45は、変更前の送信端末 10のァドレ スを指定した Leave Groupメッセージ 7や Pruneメッセージ 8を提供する。そして、 送信端末 10、 UR20a— 20fのメッセージ処理部 14, 25は、 Leave Groupメッセ一 ジ 7や Pruneメッセージ 8、送信先アドレスや転送先アドレスの保持時間に基づいて、 oISA「S」、即ち、 (S, G)に対応付けられている送信先アドレスや転送先アドレスを、 エントリ保持部 11 , 21a— 21fから削除する。
[0336] そのため、通信システム 401は、 oISA「S」を用いて形成されたマルチキャストツリー を、 Leave Groupメッセージ 7や Pruneメッセージ 8、送信先アドレスや転送先ァドレ スの保持時間を用いて削除できる。よって、 oISA「S」を用いたマルチキャストツリーと 、 ISA「S,」を用いたマルチキャストツリーが併存することによるマルチキャストパケット の重複した転送を抑制できる。特に、 Leave Groupメッセージ 7や Pruneメッセージ 8によれば、受信端末 40a— 40cは、保持時間の満了を待たずに、 Leave Groupメ ッセージや Pruneメッセージにより指定された oISA「S」を用いて形成されたマルチキ ヤストッリ一から明示的に離脱できる。よって、通信システム 401では、重複した転送 をより軽減できる。
[0337] [変更例]
本発明は上記第 1一第 6の実施形態に限定されるものではなぐ種々の変更が可 能である。
[0338] IPは、コネクションレス通信であるため、メッセージが目的のノードに到達しない場 合がある。そのため、通信システム 1一 401では、制御メッセージを確実に目的のノー ドに到達させるための対応を行うことが好ましい。即ち、制御メッセージのロスに対す る対応を行うことが好ましい。
[0339] 例えば、 UR20a— 20iのメッセージ提供部 26や送信端末 10のメッセージ処理部 1 4は、 UR20a— 20iが受信した参加要求メッセージ(Membership Report 2や Join メッセージ 3)、離脱要求メッセージ(Leave Groupメッセージ 7や Pruneメッセージ 8 )、参加/離脱要求メッセージや変更要求メッセージ (Recirectメッセージ 4)等の制 御メッセージの送信元に確認応答を提供できる。
[0340] 例えば、メッセージ提供部 26は、受信した制御メッセージに基づレ、てエントリ保持 部 21a 21iに登録するエントリを生成したり、エントリ保持部 21a— 21iからエントリを 削除した場合や、受信した制御メッセージに基づレ、て制御メッセージを生成した場合 に、送信元の受信端末 40a 40cや他の URに対して、明示的に確認応答を提供す ること力 Sできる。例えば、メッセージ提供部 26は、生成した制御メッセージを転送する ときに、送信元の受信端末 40a 40cや他の URに対して確認応答を提供できる。又 、送信端末 10のメッセージ処理部 14は、エントリ保持部 11に登録するエントリを生成 したり、エントリ保持部 11からエントリを削除しない場合でも、制御メッセージの送信 元に対して確認応答を提供できる。
[0341] 制御メッセージを送信した送信元の受信端末 40a— 40cや UR20a— 20iは確認応 答を受信することにより、制御メッセージを受信した送信端末 10や URが制御メッセ ージを受信したことだけでなぐ 自身と制御メッセージを受信した送信端末 10や URと の間に存在する URも、制御メッセージを受信したことを確認できる。
[0342] このように受信した制御メッセージに基づいてエントリの生成、削除、又は、制御メッ セージの生成を行った URや送信端末 10が確認応答を提供することにより、送信元 の受信端末 40a— 40cや UR20a— 20iは、 自身が提供した制御メッセージが適切に 処理され、送信端末 10や UR20a— 20iが保持するエントリ保持部 11 , 2 la— 2 liが 確実に更新されたことを認識できる。そして、送信元の受信端末 40a 40cや UR20 a 20iは、確認応答を取得できないことにより、制御メッセージのロスを検出し、制御 メッセージを再度提供することができる。よって、通信システム 1一 401では、制御メッ セージを確実に目的のノードに到達させることができる。しかも、制御メッセージの口 スを想定して、安全のために何度も同じ制御メッセージを送信する必要がなレ、。よつ て、通信システム 1一 401全体の負荷を軽減できる。
[0343] 又、通信システム 1, 201におレ、ても、通信システム 301, 401のように KATを利用 することにより、離脱要求メッセージのロスに対する対応を行うことができる。各エントリ に含まれる KATが満了する前に (保持時間内に)そのエントリに関連する Joinメッセ ージ 3を受信した場合には、 UR20a— 20i、送信端末 10は、 KATを再起動し、保持 時間を延長する。一方、 UR20a 20i、送信端末 10は、各エントリに含まれる KAT 満了までに (保持時間内に)、 Joinメッセージを受信しなかった場合には、そのェント リの転送先アドレスや送信先アドレスから自動的に削除する。
[0344] この場合、エントリに維持されたい UR20a 20iや受信端末 40a 40cは、対応す るエントリの KAT満了前に、 Joinメッセージ 3を送信端末アドレス宛に送信することに よって、 UR20a— 20iや送信端末 10の KATを再起動させる必要が生じる。しかし、 マルチキャストツリーからの離脱を希望する場合には、 KATの満了によりエントリの転 送先アドレスや送信先アドレスから自動的に削除される。よって、マルチキャストパケ ットの送信停止を希望する UR20a 20iや受信端末 40a— 40cは、離脱要求メッセ ージがロスすることを想定し、何度も離脱要求メッセージを送信しなくてもよい。
[0345] 尚、通信システム 1一 401は、マルチキャストパケットについては、 TCPや SCTP (R FC2960参照)等の技術をマルチキャストパケットの転送に利用することにより信頼性 を増加させることができる。
[0346] 更に、マルチキャストツリーへの新たな受信端末の参加等により、送信端末 10や U R20a— 20iが、 Redirectメッセージ等の制御メッセージに基づいて、エントリ保持部 11 , 21a— 21iを直ちに更新した際に、マルチキャストパケットのロスが発生する可能 性がある。例えば、図 24において、エントリ保持部 11から「UR6」を削除し、送信端 末 10と UR20fとの間の転送経路を削除した時に、 UR20fにおいてパケットロスが発 生する可能性がある。
[0347] このようなエントリ保持部 11, 21a 21iが保持する情報が変更され、マルチキャスト ツリーが変更される際のマルチキャストパケットのロスを防ぎ、より確実にマルチキャス トパケットを転送するために、送信端末 10、 UR20a 20iは、更新前のエントリを所 定期間、保持してもよレ、。即ち、一定の猶予期間を設けることにより、パケットロスを低 減するようにしてもよい。
[0348] この場合、例えば、 UR20fは、所定期間経過前は、送信端末 10が直接送信する マルチキャストパケットと、 UR20bが転送するマルチキャストパケットを重複して受信 する。しかし、所定期間経過後、送信端末 10から更新前のエントリが削除されれば、 直接送信されるマルチキャストパケットは自動的に送信停止される。
[0349] 又、 UR20fは、所定期間内にマルチキャストパケットを重複して受信した場合には 、マルチキャストパケットの送信停止を明示的に要求する Redirectメッセージ等を送 信端末 10に対して送信するようにしてもよい。これによれば、マルチキャストパケット の重複受信を停止でき、マルチキャストツリーの変更をスムーズに行うことができる。
[0350] 又、通信システム 1一 401では、マルチキャストパケットを転送先アドレスや送信先 アドレスを用いてカプセル化し、転送しているが、送信端末 10、 UR20a— 20iは、ェ ントリ保持部 11 , 2 la— 21 iが保持する送信先アドレスや転送先アドレスに従ってマ ルチキャストパケットを転送すれば、その方法は限定されない。例えば、送信端末 10 、 UR20a— 20iは、 NAT (Network Address Translation)や IP Masquerade を用いてもよい。この場合、カプセル化によるオーバヘッドを低減できる。
産業上の利用可能性
[0351] 通信システムにマルチキャスト非対応ルータが存在しても、適切なマルチキャストッリ 一を設定し、マルチキャストパケットを転送することができる。

Claims

請求の範囲
[1] マルチキャスト対応ルータがマルチキャストパケットを転送する転送先アドレスを保持 する転送先保持部と、
送信端末アドレス及びマルチキャストグループアドレスに対応付けて、前記転送先 アドレスとして他のマルチキャスト対応ルータのアドレスを前記転送先保持部に登録 する転送先登録部と、
前記送信端末が前記マルチキャストパケットを送信する送信先アドレスに、前記マ ルチキャスト対応ルータのアドレスを追加することを要求する参加要求メッセージを前 記送信端末アドレス宛に提供するルータメッセージ提供部とを含むマルチキャスト対 応ノレータと、
前記送信先アドレスを保持する送信先保持部と、
前記参加要求メッセージに基づレ、て、前記送信先アドレスとして前記マルチキャスト 対応ルータのアドレスを前記送信先保持部に登録する送信先登録部とを含む送信 端末と
を備える通信システム。
[2] 前記送信先登録部は、前記送信端末アドレスをマルチキャストツリーの上流としたと きに最上流に位置する前記マルチキャスト対応ルータのアドレスを、前記送信先保持 部に登録する請求項 1の通信システム。
[3] 前記マルチキャスト対応ルータは、前記送信端末アドレスをマルチキャストツリーの上 流としたときに前記マルチキャストパケットを複数の前記転送先アドレスに転送する分 岐ルータになるかを判断する判断部を備え、
前記転送先登録部は、前記分岐ルータになると判断した場合、前記転送先保持部 に前記送信端末アドレス及びマルチキャストグループアドレスに対応付けて前記複 数の転送先アドレスを登録し、
前記ルータメッセージ提供部は、前記分岐ルータになると判断した場合、前記マル チキャスト対応ルータのアドレスを前記送信先アドレスに追加し、前記転送先アドレス を前記送信先アドレスから削除することを要求する参加/離脱要求メッセージを前記 送信端末アドレス宛に提供し、 前記送信先登録部は、前記参加/離脱要求メッセージに基づいて、前記転送先ァ ドレスを前記送信先保持部から削除し、前記分岐ルータのアドレスを前記送信先保 持部に登録する請求項 1の通信システム。
[4] 前記転送先登録部は、下流の前記分岐ルータからの前記参加/離脱要求メッセ一 ジに基づレ、て、前記下流の分岐ルータの転送先アドレスを前記転送先保持部から削 除し、前記下流の分岐ルータのアドレスを前記転送先保持部に登録する請求項 3の 通信システム。
[5] 前記転送先登録部は、受信端末と接続する末端ルータとなる場合、前記転送先保持 部に前記送信端末アドレス及びマルチキャストグループアドレスに対応付けて前記 転送先アドレスを登録する請求項 3の通信システム。
[6] ディカプセル化された前記マルチキャストパケットの宛先アドレスと前記転送先保持 部が保持する前記転送先アドレスとを比較し、前記宛先アドレスと前記転送先ァドレ スが異なる場合には、前記マルチキャストパケットを前記転送先アドレスでカプセルィ匕 する転送制御部を備える請求項 1の通信システム。
[7] 前記転送先保持部は、同一のサブネットワークに接続する前記マルチキャスト対応ル ータに前記マルチキャストパケットを転送する場合、前記転送先アドレスとしてマルチ キャストアドレスグループを示すアドレスを保持する請求項 1の通信システム。
[8] 前記送信端末アドレスが変更された場合に、変更前の前記送信先アドレスに前記マ ルチキャストパケットを転送するよう制御する転送制御部を備える請求項 1の通信シス テム。
[9] 前記送信端末は、前記送信端末アドレスが変更された場合に、受信端末に変更後 の送信端末アドレスを通知する位置更新メッセージを提供する更新通知部を備え、 前記受信端末は、前記位置更新メッセージに基づいて、前記受信端末のアドレス を追加することを要求する参加要求メッセージを前記変更後の送信端末アドレス宛 に提供する受信端末メッセージ提供部を備える請求項 1の通信システム。
[10] 前記転送先登録部は、受信端末又は前記マルチキャスト対応ルータからの前記参 加要求メッセージに基づいて前記転送先保持部にアドレスを登録する請求項 1の通 信システム。
[11] マルチキャスト対応ルータがマルチキャストパケットを転送する転送先アドレスを保持 する転送先保持部と、
送信端末アドレス及びマルチキャストグループアドレスに対応付けて、前記転送先 アドレスとして他のマルチキャスト対応ルータのアドレスを前記転送先保持部に登録 する転送先登録部と、
前記送信端末が前記マルチキャストパケットを送信する送信先アドレスに、前記マ ルチキャスト対応ルータのアドレスを追加することを要求する参加要求メッセージを前 記送信端末アドレス宛に提供するルータメッセージ提供部と
を備えるマルチキャスト対応ルータ。
[12] 前記送信端末アドレスをマルチキャストツリーの上流としたときに前記マルチキャスト パケットを複数の前記転送先アドレスに転送する分岐ルータになるかを判断する判 断部を備え、
前記転送先登録部は、前記分岐ルータになると判断した場合、前記転送先保持部 に前記送信端末アドレス及びマルチキャストグループアドレスに対応付けて前記複 数の転送先アドレスを登録し、
前記ルータメッセージ提供部は、前記分岐ルータになると判断した場合、前記マル チキャスト対応ルータのアドレスを前記送信先アドレスに追加し、前記転送先アドレス を前記送信先アドレスから削除することを要求する参加/離脱要求メッセージを前記 送信端末アドレス宛に提供する請求項 11のマルチキャスト対応ルータ。
[13] マルチキャストパケットを送信する送信先アドレスを保持する送信先保持部と、
前記送信先アドレスにマルチキャスト対応ルータのアドレスを追加することを要求す る参加要求メッセージに基づレ、て、前記送信先アドレスとして前記マルチキャスト対 応ルータのアドレスを前記送信先保持部に登録する送信先登録部とを備える送信端 末。
[14] 前記送信先登録部は、前記送信端末アドレスをマルチキャストツリーの上流としたと きに最上流に位置する前記マルチキャスト対応ルータのアドレスを、前記送信先保持 部に登録する請求項 13の送信端末。
[15] 前記送信先登録部は、前記送信端末アドレスをマルチキャストツリーの上流としたと きに前記マルチキャストパケットを複数の転送先アドレスに転送する分岐ルータとなる 前記マルチキャスト対応ルータのアドレスを前記送信先アドレスに追加し、前記転送 先アドレスを前記送信先アドレスから削除することを要求する参加/離脱要求メッセ ージに基づいて、前記転送先アドレスを前記送信先保持部から削除し、前記分岐ル ータのアドレスを前記送信先保持部に登録する請求項 13の送信端末。
[16] マルチキャストパケットを送信する送信端末アドレスが変更された場合に、変更後の 送信端末アドレスを通知する位置更新メッセージに基づレ、て、送信端末がマルチキ ャストパケットを送信する送信先アドレスに、受信端末のアドレスを追加することを要 求する参加要求メッセージを前記変更後の送信端末アドレス宛に提供する受信端末 メッセージ提供部を備える受信端末。
[17] マルチキャスト対応ルータがマルチキャストパケットを転送する転送先アドレスを保持 する転送先保持部に、送信端末アドレス及びマルチキャストグループアドレスに対応 付けて、前記転送先アドレスとして他のマルチキャスト対応ルータのアドレスを登録し 前記送信端末がマルチキャストパケットを送信する送信先アドレスに、前記マルチ キャスト対応ルータのアドレスを追加することを要求する参加要求メッセージを前記送 信端末アドレス宛に送信し、
前記参加要求メッセージに基づレ、て、前記送信先アドレスとして前記マルチキャスト 対応ルータのアドレスを、前記送信先アドレスを保持する送信先保持部に登録する 通信方法。
[18] 前記送信端末は、送信端末アドレスをマルチキャストツリーの上流としたときに最上流 に位置する前記マルチキャスト対応ルータのアドレスを、前記送信先保持部に登録 する請求項 17の通信方法。
[19] 前記送信端末アドレスをマルチキャストツリーの上流としたときに前記マルチキャスト パケットを複数の転送先アドレスに転送する分岐ルータになるかを判断し、
前記分岐ルータになると判断した場合、前記送信端末アドレス及びマルチキャスト グノレープアドレスに対応付けて前記複数の転送先アドレスを前記転送先保持部に登 録し、 前記マルチキャスト対応ルータのアドレスを前記送信先アドレスに追加し、前記転 送先アドレスを前記送信先アドレスから削除することを要求する参加/離脱要求メッ セージを前記送信端末アドレス宛に送信し、
前記参加/離脱要求メッセージに基づレ、て、前記転送先アドレスを前記送信先保 持部から削除し、前記分岐ルータのアドレスを前記送信先保持部に登録する請求項 17の通信方法。
[20] 送信端末アドレスが変更された場合に、受信端末に変更後の送信端末アドレスを通 知する位置更新メッセージを送信し、
前記位置更新メッセージに基づいて、前記送信先アドレスに前記受信端末のァドレ スを追加することを要求する前記参加要求メッセージを、前記変更後の送信端末アド レス宛に送信する請求項 17の通信方法。
PCT/JP2004/009663 2003-07-07 2004-07-07 通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法 WO2005004419A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/563,751 US7620045B2 (en) 2003-07-07 2004-07-07 Communication system, multicast-capable router, transmitter terminal, receiver terminal, and communication method
CN2004800195413A CN1820467B (zh) 2003-07-07 2004-07-07 通信系统、组播对应路由器、发送终端、接收终端以及通信方法
EP04747132A EP1667381A4 (en) 2003-07-07 2004-07-07 COMMUNICATION SYSTEM, MULTICAST OPERABLE ROUTER, TRANSMITTER TERMINAL, RECEIVER TERMINAL, AND COMMUNICATION METHOD

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003193232A JP4474124B2 (ja) 2003-07-07 2003-07-07 マルチキャスト通信システム及びルータ
JP2003-193232 2003-07-07
JP2004-024871 2004-01-30
JP2004024871A JP4481666B2 (ja) 2004-01-30 2004-01-30 通信システム、ルータ、送信端末、受信端末及び通信方法

Publications (1)

Publication Number Publication Date
WO2005004419A1 true WO2005004419A1 (ja) 2005-01-13

Family

ID=33566770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/009663 WO2005004419A1 (ja) 2003-07-07 2004-07-07 通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法

Country Status (3)

Country Link
US (1) US7620045B2 (ja)
EP (1) EP1667381A4 (ja)
WO (1) WO2005004419A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044770B (zh) 2004-08-16 2016-05-04 高通股份有限公司 用于管理群组通信中的群组成员资格的方法和装置
US8102846B2 (en) * 2005-03-31 2012-01-24 Alcatel Lucent Method and apparatus for managing a multicast tree using a multicast tree manager and a content server
JP2006295787A (ja) * 2005-04-14 2006-10-26 Matsushita Electric Ind Co Ltd 情報処理システム、情報処理装置、及び情報処理方法
US8578479B2 (en) * 2006-03-21 2013-11-05 Riverbed Technology, Inc. Worm propagation mitigation
US8006306B2 (en) * 2006-03-21 2011-08-23 Riverbed Technology, Inc. Exploit-based worm propagation mitigation
US20070280140A1 (en) * 2006-05-30 2007-12-06 Thiruvengadam Venketesan Self-optimizing network tunneling protocol
US9680880B2 (en) * 2006-07-11 2017-06-13 Alcatel-Lucent Usa Inc. Method and apparatus for supporting IP multicast
JP4993202B2 (ja) * 2007-12-10 2012-08-08 横河電機株式会社 フィールドネットワークシステム
EP2134029A1 (en) 2008-06-09 2009-12-16 THOMSON Licensing Network device and method for obtaining terminal multicast status
US9385877B2 (en) * 2008-09-16 2016-07-05 Adobe Systems Incorporated Multicast systems, methods, and computer program products
EP2510642B1 (en) * 2009-12-10 2016-02-24 Thomson Licensing Protocol booster for sctp in multicast networks
US20110149960A1 (en) * 2009-12-17 2011-06-23 Media Patents, S.L. Method and apparatus for filtering multicast packets
CN102547582B (zh) * 2010-12-20 2014-12-10 中国移动通信集团公司 传输组播数据的方法、组播树的更新方法以及系统和装置
JP5636995B2 (ja) * 2011-02-07 2014-12-10 セイコーエプソン株式会社 ネットワーク通信装置、方法、及びプログラム
KR101808634B1 (ko) * 2011-09-29 2018-01-19 한국전자통신연구원 멀티캐스트 트래픽의 이동성 지원 방법
US9363227B2 (en) * 2012-08-17 2016-06-07 Cisco Technology, Inc. Multicast source in group address mapping
US8929370B2 (en) * 2012-08-24 2015-01-06 Avaya Inc. Mechanism for efficiently transmitting tunnel keep-alive messages
US20180102965A1 (en) * 2016-10-07 2018-04-12 Alcatel-Lucent Usa Inc. Unicast branching based multicast

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11127199A (ja) * 1997-10-20 1999-05-11 Fujitsu Ltd 異種中継機器混在網におけるパケット中継方法及び中継機器
JP2002094562A (ja) * 2000-09-20 2002-03-29 Nec Corp Ipパケット・マルチキャスト方法
JP2002368751A (ja) * 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd マルチキャスト通信システム
JP2002374276A (ja) * 2001-06-14 2002-12-26 Furukawa Electric Co Ltd:The データ中継方法、その装置およびその装置を用いたデータ中継システム
JP2003309601A (ja) * 2002-04-17 2003-10-31 Hitachi Ltd マルチキャスト通信装置およびシステム
JP2004172932A (ja) * 2002-11-20 2004-06-17 Hitachi Ltd データ配信システム
JP2004242063A (ja) * 2003-02-06 2004-08-26 Fujitsu Ltd データ生成装置
JP2004253976A (ja) * 2003-02-19 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> マルチキャストデータ通信システム及びその方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947434B2 (en) * 2000-11-16 2005-09-20 Telefonaktiebolaget Lm Ericsson (Publ) Subgroup multicasting in a communications network
US20020143951A1 (en) * 2001-03-30 2002-10-03 Eyeball.Com Network Inc. Method and system for multicast to unicast bridging
KR20020023100A (ko) * 2001-05-28 2002-03-28 박현제 가상 멀티캐스트 네트워크 구축을 위한 시스템
US7339903B2 (en) * 2001-06-14 2008-03-04 Qualcomm Incorporated Enabling foreign network multicasting for a roaming mobile node, in a foreign network, using a persistent address
AU2003223604A1 (en) * 2002-04-15 2003-11-03 Flarion Technologies, Inc. Tunneling between different addressing domains
JP4094537B2 (ja) 2003-12-08 2008-06-04 日本電信電話株式会社 マルチキャストデータ通信システム及び分岐装置並びにプログラム
JP4194956B2 (ja) 2004-01-28 2008-12-10 日本電信電話株式会社 マルチキャストデータ通信システム、分岐装置、及び、コンピュータプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11127199A (ja) * 1997-10-20 1999-05-11 Fujitsu Ltd 異種中継機器混在網におけるパケット中継方法及び中継機器
JP2002094562A (ja) * 2000-09-20 2002-03-29 Nec Corp Ipパケット・マルチキャスト方法
JP2002368751A (ja) * 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd マルチキャスト通信システム
JP2002374276A (ja) * 2001-06-14 2002-12-26 Furukawa Electric Co Ltd:The データ中継方法、その装置およびその装置を用いたデータ中継システム
JP2003309601A (ja) * 2002-04-17 2003-10-31 Hitachi Ltd マルチキャスト通信装置およびシステム
JP2004172932A (ja) * 2002-11-20 2004-06-17 Hitachi Ltd データ配信システム
JP2004242063A (ja) * 2003-02-06 2004-08-26 Fujitsu Ltd データ生成装置
JP2004253976A (ja) * 2003-02-19 2004-09-09 Nippon Telegr & Teleph Corp <Ntt> マルチキャストデータ通信システム及びその方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"HOP by HOP Multicast Routing Protocol", ACM SIGCOM, August 2001 (2001-08-01)
See also references of EP1667381A4
SEOK JOO KOH; JUYOUNG PARK: "Overlay Multicast Control Protocol (OMCP", 1 February 2003, IETF, article "Framework of Overlay Multicast Control Protocol; draft-sjkoh-overlay-multicast- framework-00 .txt"

Also Published As

Publication number Publication date
US20070121574A1 (en) 2007-05-31
US7620045B2 (en) 2009-11-17
EP1667381A1 (en) 2006-06-07
EP1667381A4 (en) 2011-07-27

Similar Documents

Publication Publication Date Title
WO2005004419A1 (ja) 通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法
US7339903B2 (en) Enabling foreign network multicasting for a roaming mobile node, in a foreign network, using a persistent address
JP4066867B2 (ja) 移動ノード、パケット中継装置、パケット転送方法
US9871718B2 (en) Method and device for registering multicast source and establishing multicast path
JP4817131B2 (ja) Ipネットワークシステム
JP4503071B2 (ja) マルチキャスト通信方法
JP2004179811A (ja) パケット中継装置
JP2002044143A (ja) 通信制御方式及びルータ及び通信制御方法
JP2005244904A (ja) マルチキャストネットワーク装置,マルチキャストネットワークシステムおよびマルチキャスト方法
JP2002335281A (ja) マルチキャストパケット配信方法及びシステム、パケットのアドレス構造、並びに移動機
JP4820950B2 (ja) モバイルネットワークノードにおける経路最適化マルチキャストトラフィック
JP2009118472A (ja) Ipネットワークシステム
JP2006074132A (ja) マルチキャスト通信方法及びゲートウェイ装置
Schmidt et al. Mobile multicast sender support in proxy mobile IPv6 (PMIPv6) domains
JP2009272803A (ja) 通信方法および通信システム
JP2006324981A (ja) マルチキャストパケット転送方式
JP4481666B2 (ja) 通信システム、ルータ、送信端末、受信端末及び通信方法
CN1820467B (zh) 通信系统、组播对应路由器、发送终端、接收终端以及通信方法
JP2010147600A (ja) マルチキャスト通信方法、通信システムおよび通信装置
WO2002103540A1 (en) Enabling foreign network multicasting for a roaming mobile node, in a foreign network, using a persistent address
JP2006067499A (ja) マルチキャスト制御方法、マルチキャストエリア管理装置、及びマルチキャスト制御装置、並びにプログラム
JP2005175609A (ja) マルチキャストデータ通信システム及び分岐装置並びにプログラム
JP2015156569A (ja) 中継装置及びその制御方法、プログラム。
JP2004173209A (ja) 情報配信方法
KR100576727B1 (ko) 이동성 인터넷망에서 소스 기반 멀티캐스트 서비스를이용한 핸드오버 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480019541.3

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004747132

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004747132

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007121574

Country of ref document: US

Ref document number: 10563751

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10563751

Country of ref document: US