📄 rfc1768.txt
字号:
An End System which needs to receive or continue to receive any multicast PDUs (i.e., PDUs with group Network addresses as their destination address), constructs and transmits ESGH PDUs to inform multicast capable Intermediate Systems of the set of group Network address destinations for which it wishes to receive PDUs. This may be done by constructing ESGH PDUs for each group Network address. Alternatively, ESGH PDUs may be constructed which convey information about more than one group Network address at a time, up to the limits imposed by the permitted SNSDU size and the maximum header size of the ESGH PDU. Each ESGH PDU is transmitted by issuing an SN-Marlow [Page 21]RFC 1768 CLNP Multicasting March 1995 UNITDATA.Request with the following parameters: SN_Userdata (SNSDU) <- ESGH PDU SN_Destination _Address <- multi-destination address that indicates "All Multicast Announcements" If an End System is attached to more than one subnetwork, the information about each group Network address desired for receiving on a particular subnetwork serving the End System shall be transmitted via that subnetwork. It is permissible for an End System to report group Network addresses on multiple subnetworks; however, duplicate multicast PDUs should be anticipated. The Group Address Pair parameter carries a list of Group Network Addresses, each paired with its associated SNPA address. This information is used by the Active Multicast IS to determine whether a Multicast Address Mapping PDU should be emitted to update the association between Group Network Addresses and SNPA addresses. The Holding Time (HT) field is set to approximately twice the ES's Multicast Announcement Timer (MAT) parameter. The value shall be large enough so that even if every other ESGH PDU is discarded (due to lack of resources), or otherwise lost in the subnetwork, the multicast announcement information will still be maintained. The value should be set small enough so that Intermediate Systems resources are not needlessly consumed when the ES no longer wishes to receive PDUs destined to a group Network address. Note: When combining multiple group Network addresses in a single ESGH PDU, it should be realized that there is a single Holding Time parameter associated with all of these addresses.6.7.1.1 Generating Jitter on Multicast Announcement Timers The ES shall apply a 25% jitter to its Multicast Announcement Timer (MAT) parameter. When ESGH PDUs are transmitted as a result of timer expiration, there is a danger that the timers of individual systems may become synchronised. The result of this is that the traffic distribution will contain peaks. Where there are a large number of synchronised systems, this can cause overloading of both the transmission medium and the systems receiving the PDUs. In order to prevent this from occurring, all periodic timers, the expiration of which can cause the transmission of PDUs, shall have "jitter" introduced as defined in the following algorithm.Marlow [Page 22]RFC 1768 CLNP Multicasting March 1995 CONSTANT Jitter = 25; Resolution = 100; (* The timer resolution in ms *) PROCEDURE Random(max: Integer): Integer; (* This procedure delivers a Uniformly distributed random integer R such that 0 < R <max *) PROCEDURE WaitUntil(time: Integer) (* This procedure waits the specified number of ms and then returns *) PROCEDURE CurrentTime(): Integer (* This procedure returns the current time in ms *) PROCEDURE DefineJitteredTimer(baseTimeValueInSeconds : Integer; expirationAction : Procedure); VAR baseTimeValue, maximumTimeModifier, waitTime : Integer; nextexpiration : Time; BEGIN baseTimeValue := baseTimeValueInSeconds * 1000 / Resolution; maximumTimeModifier := baseTimeValue * Jitter / 100; (* Compute maximum possible jitter *) WHILE running DO BEGIN (*First compute next expiration time *) randomTimeModifier := Random(maximumTimeModifier); waitTime:= baseTimeValue - randomTimeModifier; nextexpiration := CurrentTime() + waitTime; (* Then perform expiration Action *) expirationAction; WaitUntil(nextexpiration); END (* of Loop *) END (* of DefineJitteredTimer *)Marlow [Page 23]RFC 1768 CLNP Multicasting March 1995 Thus the call "DefineJitteredTimer(HelloTime, SendHelloPDU);" where "HelloTime" is 10 seconds, will cause the action "SendHelloPDU" to be performed at random intervals of between 7.5 and 10 seconds. The essential point of this algorithm is that the value of "randomTimeModifier" is randomised within the inner loop. Note that the new expiration time is set immediately on expiration of the last interval, rather than when the expiration action has been completed. The time resolution shall be less than or equal to 100 ms. It is recommended to be less than or equal to 10ms. The time resolution is the maximum interval than can elapse without there being any change in the value of the timer. The periodic transmission period shall be random or pseudo-random in the specified range. with uniform distribution across similar implementations. Note: Applying jitter to the MAT parameter is required in order to support the optional Damping function. If no jitter is applied on a subnetwork where many ESs are requesting a particular multicast PDU it is likely that they will have the same value for their MAT and these timers may all become synchronised. Such synchronisation will result in peaks in the distribution of traffic as described above. The resulting overloading of the transmission medium and the systems receiving the PDUs will negate any beneficial use of the Damping function (since systems may be attempting to transmit their own ESGH PDUs at the time they receive ESGH PDUs originated by other ESs with the same group Network address.6.7.2 Record Multicast Announcement Function The Record Multicast Announcement function receives ESGH PDUs, extracts the multicast announcement information and updates the information in its routing information base. The receiving system is not required to process any option fields in a received ESGH PDU. Note: When a system chooses to process these optional fields, the precise actions are not specified by this International Standard.6.7.2.1 Record Multicast Announcement Function by Intermediate Systems On receipt of an ESGH PDU an IS with the optional multicast capabilities extracts the configuration information and stores the {group Network address, subnetwork} in its routing information base replacing any other information for the same entry.Marlow [Page 24]RFC 1768 CLNP Multicasting March 1995 The Active Multicast IS upon receipt of an ESGH PDU also extracts the Paired SNPA Address parameter corresponding to each group Network address in the ESGH PDU. If the Active Multicast IS has a mapping for a group Network address carried in the ESGH for which the paired SNPA address does not match, the Report Multicast Address Mapping function is performed.6.7.2.2 Optional Damping Function An ES with the optional capabilities to support multicast transfer may decide to process ESGH PDUs multicast by other End Systems. There is potentially some reduction in network traffic by doing this. An ES requesting to receive multicast PDUs is permitted to reset its Multicast Announcement Timer corresponding to one group Network address on one subnetwork upon receiving an ESGH PDU from another ES under the following circumstances: a) The {group Network address, paired SNPA address} received on a particular subnetwork matches that of the ES processing the ESGH PDU for that subnetwork. b) The Holding Timer parameter value in the ESGH PDU received is equal to or greater than the Holding Timer value for the, group Network address, being used by the ES processing this PDU.6.7.3 Flush Old Multicast Announcement Function The Flush Old Multicast Announcement function is executed to remove multicast announcement entries in its routing information base whose Holding Timer has expired. When the Holding Timer for a group Network address expires, this function removes the corresponding entry from the routing information base of the local IS for the corresponding subnetwork.6.8 Multicast Address Mapping6.8.1 Report Multicast Address Mapping Function by Intermediate Systems The Active Multicast Intermediate System constructs a MAM PDU, corresponding to a group Network address for which it received via the Record Multicast Announcement function, and issues these PDUs under the following circumstances: a) The IS initializes either as the Active Multicast IS after an election with other multicast capable ISs or initializes after determining it is the only multicast capable IS (the determination of such conditions are outside of the scope of this standard), orMarlow [Page 25]RFC 1768 CLNP Multicasting March 1995 b) The IS receives an ESGH PDU with a group Network address paired to an SNPA address other than the SNPA address contained in the Active Multicast IS's multicast address mapping information for that group Network address, or Note: The Active Multicast IS determines which mappings are correct. Pre-configured mappings which are used prior to the initialization of the Active Multicast IS may be determined to be incorrect by the Active Multicast IS. c) The expiration of the IS's Multicast Address Mapping Timer for that group Network address. Note: This is to prevent the expiration of Holding Timers in ESs. d) The IS receives a multicast PDU originated on the subnetwork which used an incorrect destination SNPA address. Note: Of particular concern are those multicast packets using the "All Multicast Capable Intermediate Systems" SNPA address when another SNPA address should have been used. The Originating Subnetwork Forwarding function is performed if this event occurs (see section 6.11). Note: The multicast capable ISs need to receive multicast packets on all SNPA addresses that are contained in the current multicast address mapping information for the subnetwork. The multicast capable ISs are not required to receive multicast packets on any SNPA addresses other than those contained in the current multicast address mapping information and the "All Multicast Capable Intermediate Systems" SNPA address. Circumstances b) and d) are the event driven conditions for the Active Multicast IS to construct and issue a MAM PDU. The Active Multicast IS shall limit the number of MAM PDUs issued per unit of time. MAM PDUs with identical information shall not be issued more than once per second. Event conditions occurring 10 seconds after the last issue of an appropriate MAM PDU shall result in the issuance of another such MAM PDU. The IS serving as the Active Multicast Intermediate System may construct a MAM PDU for each group Network address. Alternatively, MAM PDUs may be constructed which convey information about more than one group Network address at a time, up to the limits imposed by the permitted SNSDU size and the maximum header size of the MAM PDU. The IS performs all multicast address mapping functions independently for each of its subnetworks
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -