📄 rfc1075.txt
字号:
Waitzman, Partridge & Deering [Page 6]RFC 1075 Distance Vector Multicast Routing Protocol November 19883.8 Requested Destination Address (RDA) Command Format: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | 8 | | count | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ Array of 'count' additional arguments, with AFI = IP: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Requested Destination Address1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Requested Destination Address2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Count is the number of addresses supplied, from 0 to 255. The length of the addresses depends upon the current address family. The number of addresses supplied is subject to the message length limitation of 512 bytes. Default: None. Description: The RDA command provides a list of destinations for whom routes are requested. A routing request for all routes is encoded by using a count = 0.3.9 Non Membership Report (NMR) Command Format: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | 9 | | count | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ Array of 'count' additional arguments, with AFI = IP: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Address1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Waitzman, Partridge & Deering [Page 7]RFC 1075 Distance Vector Multicast Routing Protocol November 1988 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hold Down Time1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Address2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hold Down Time2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Count is the number of Multicast Address and Hold Down Time pairs supplied, from 1 to 255. The length of the addresses depends upon the current address family. The number of pairs supplied is subject to the message length limitation of 512 bytes. Default: None. Description: The NMR command is experimental, and has not been tested in an implementation. Each multicast address and hold down time pair is called a non-membership report. The non-membership report tells the receiving router that the sending router has no descendent group members in the given group. Based on this information the receiving router can stop forwarding datagrams to the sending router for the particular multicast address(es) listed. The hold down time indicates, in seconds, how long the NMR is valid. It is an error for count to equal 0. The only other commands in a message that has NMR commands can be the AFI, flags0, and NULL commands. No relevant flags for the flags0 command are currently defined, but that may change in the future.3.10 Non Membership Report Cancel (NMR Cancel) Command Format: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | 10 | | count | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+Waitzman, Partridge & Deering [Page 8]RFC 1075 Distance Vector Multicast Routing Protocol November 1988 Array of 'count' additional arguments, with AFI = IP: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Address1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Address2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Count is the number of Multicast Addresses supplied, from 1 to 255. The length of the addresses depends upon the current address family. The number of addresses supplied is subject to the message length limitation of 512 bytes. Default: None. Description: The NMR Cancel command is experimental, and has not been tested in an implementation. For each multicast address listed, any previous corresponding non-membership reports are canceled. When there is no corresponding non-membership report for a given multicast address, the Cancel command should be ignored for that multicast address. It is an error for count to equal 0. The only other commands in a message that has NMR Cancel commands can be the AFI, flags0, and NULL commands. No relevant flags for the flags0 command are currently defined, but that may change in the future.3.12 Examples (with bytes in '{}'), not including the message header:3.12.1 Supplying a single route to the IP address 128.2.251.231 with a metric of 2, an infinity of 16, a subnetmask of 255.255.255.0: Subtype 1, AFI 2, Metric 2, Infinity 16, Subnet Mask 255.255.255.0 {2} {2} {4} {2} {6} {16} {3} {1} {255} {255} {255} {0} DA Count=1 [128.2.251.231] {7} {1} {128} {2} {251} {231}Waitzman, Partridge & Deering [Page 9]RFC 1075 Distance Vector Multicast Routing Protocol November 19883.12.2 Supplying a route to the IP addresses 128.2.251.231 and 128.2.236.2 with a metric of 2, an infinity of 16, a subnetmask of 255.255.255.0: Subtype 1, AFI 2, Metric 2, Infinity 16, Subnet Mask 255.255.255.0 {2} {2} {4} {2} {6} {16} {3} {1} 255} {255} {255} {0} DA Count=2 [128.2.251.231] [128.2.236.2] {7} {1} {128} {2} {251} {231} {128} {2} {236} {2}3.12.3 Request for all routes to IP destinations. Subtype 2, AFI 2, RDA Count = 0 {2} {2} {8} {0}3.12.4 Non Membership Report for groups 224.2.3.1 and 224.5.4.6 with a hold down time of 20 seconds, and group 224.7.8.5 with a hold down time of 40 seconds. Subtype 3, AFI 2, NMR Count = 3 [224.2.3.1, 20] {2} {2} {10} {3} {224} {2} {3} {1} {0} {0} {0} {20} [224.5.4.6, 20] [224.7.8.5, 40] {224} {5} {4} {6} {0} {0} {0} {20} {224} {7} {8} {5} {0} {0} {0} {40}3.13 Summary of Commands Value Name Other commands allowed in same message ----- ---- --------------------------------------- 0 Null Null, AFI, Subnetmask, Metric, Flags0, Infinity, DA, RDA, NMR, NMR-cancel 2 AFI Null, AFI, Subnetmask, Metric, Flags0, Infinity, DA, RDA, NMR, NMR-cancel 3 Subnetmask Null, AFI, Subnetmask, Metric, Flags0, Infinity, DA, RDA 4 Metric Null, AFI, Subnetmask, Metric, Flags0, Infinity, DA 5 Flags0 Null, AFI, Subnetmask, Metric, Flags0, Infinity, DAWaitzman, Partridge & Deering [Page 10]RFC 1075 Distance Vector Multicast Routing Protocol November 1988 6 Infinity Null, AFI, Subnetmask, Metric, Flags0, Infinity, DA 7 DA Null, AFI, Subnetmask, Metric, Flags0, Infinity, DA 8 RDA Null, AFI, Subnetmask, Flags0, RDA 9 NMR Null, AFI, Flags0, NMR 10 NMR-cancel Null, AFI, Flags0, NMR-cancel4. Tunnels A tunnel is a method for sending datagrams between routers separated by gateways that do not support multicasting routing. It acts as a virtual network between two routers. For instance, a router running at Stanford, and a router running at BBN might be connected with a tunnel to allow multicast datagrams to traverse the Internet. We consider tunnels to be a transitional hack. Tunneling is done with a weakly encapsulated normal multicasted datagram. The weak encapsulation uses a special two element IP loose source route [5]. (This form of encapsulation is preferable to "strong" encapsulation, i.e., prepending an entire new IP header, because it does not require the tunnel end-points to know each other's maximum reassembly buffer size. It also has the benefit of correct behavior of the originator's time-to-live value and any other IP options present.) A tunnel has a local end-point, remote end-point, metric, and threshold associated with it. The routers at each end of the tunnel need only agree upon the local and remote end-points. See section 8 for information on how tunnels are configured. Because the number of intermediate gateways between the end-points of a tunnel is unknown, additional research is needed to determine appropriate metrics and thresholds. To send a datagram on a tunnel, the following occurs: - A null IP option is inserted into the datagram. This provides preferred alignment for the loose source route IP option. - A two element loose source route IP option is inserted into the datagram. - The source route pointer is set to point to the second elementWaitzman, Partridge & Deering [Page 11]RFC 1075 Distance Vector Multicast Routing Protocol November 1988 in the source route. - The first element in the source route is replaced with the address of the originating host (the original IP source address). - The second element in the source route is replaced with the multicast destination address provided by the originating host (the original IP destination address). - The IP source address is replaced with the address of the router's appropriate outgoing physical interface (the local tunnel end-point). - The IP destination address is replaced with an address of the remote router (the remote tunnel end-point). - The datagram is transmitted to the remote router using non-multicast routing algorithms. Intermediate, non-multicast gateways will route the tunneled datagram to the remote tunnel end-point. Because the datagram's IP source address has been replaced with the address of the local tunnel end- point, ICMP error messages will go to the originating multicast router. This behavior is desired, because a host that sends a multicast datagram, which a multicast router decides to tunnel, should not be aware of the use of the tunnel. If the datagram's IP source address were not changed when encapsulating the datagram, any ICMP errors would be sent to the originating host. When the remote tunnel end-point receives the tunneled datagram, the following occurs: - The IP source address is replaced with the first element in the loose source route. - The IP destination address is replaced with the second element in the loose source route. - The null option and the loose source route option are removed from the datagram. This is needed because a host should not be able to tell that it has received a datagram that was sent through a tunnel. Because no specific network is associated with a tunnel, there are no local group memberships to be tracked for a tunnel. The only neighbor on a tunnel can be the remote end-point. Routing messages should be exchanged through tunnels, but a route is not created for aWaitzman, Partridge & Deering [Page 12]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -