📄 rfc2189.txt
字号:
all groups for which the link is its child. ECHO_REPLY messages are unicast or multicast, as appropriate.4.6.2. Receiving ECHO_REPLY messages An ECHO_REPLY message must be received via a valid parent interface. For each group reported in an ECHO_REPLY, the downstream router attempts to match the group with one in its forwarding cache for which the arrival interface is the group's parent interface. For each successful match, the entry is "refreshed". If however, after [GROUP_EXPIRE_TIME] seconds a group has not been "refreshed", a QUIT_NOTIFICATION is sent upstream, and a FLUSH_TREE message is sent downstream, for the group. If this router has directly attached members for any of the flushed groups, the receipt of an IGMP host membership report for any of those groups will prompt this router to rejoin the corresponding tree(s).Ballardie Experimental [Page 12]RFC 2189 CBTv2 Protocl Specification September 19974.7. FLUSH_TREE Processing The FLUSH_TREE (flush) message is the mechanism by which a router invokes the tearing down of all its downstream branches for a particular group. The flush message is multicast to the "all-cbt- routers" group when sent over multicast-capable interfaces, and unicast otherwise.4.7.1. Sending FLUSH_TREE messages A FLUSH_TREE message is sent over each downstream (child) interface when a router has lost reachability with its parent router for the group (detected via ECHO_REQUEST and ECHO_REPLY messages). All group state is removed from an interface over which a flush message is sent. A flush can specify a single group, or all groups (INADDR_ANY).4.7.2. Receiving FLUSH_TREE messages A FLUSH_TREE message must be received over the parent interface for the specified group, otherwise the message is discarded. The flush message must be forwarded over each child interface for the specified group. Once the flush message has been forwarded, all state for the group is removed from the router's forwarding cache.5. Non-Member Sending Data can be sent to a CBT tree by a sender not attached to the group tree. The sending host originates native multicast data, which is promiscuously received by a local router, which must be CBT capable. It is assumed the local CBT router knows about the relevant <core, group> mapping, and thus can encapsulate (IP-in-IP) the data packet and unicast it to the corresponding core router. On arriving at the core router, the data packet is decapsulated and disemminated over the group tree in the manner already described.6. Timers and Default Values This section provides a summary of the timers described above, together with their recommended default values. Other values may be configured; if so, the values used should be consistent across all CBT routers attached to the same network. o [HELLO_INTERVAL]: the interval between sending an HELLO message. Default: 60 seconds.Ballardie Experimental [Page 13]RFC 2189 CBTv2 Protocl Specification September 1997 o [HELLO_PREFERENCE]: Default: 255. o [HOLDTIME]: generic response interval. Default: 3 seconds. o [MAX_RTX]: default maximum number of retransmissions. Default 3. o [RTX_INTERVAL]: message retransmission time. Default: 5 seconds. o [JOIN_TIMEOUT]: raise exception due to tree join failure. Default: 3.5 times [RTX_INTERVAL]. o [TRANSIENT_TIMEOUT]: delete (unconfirmed) transient state. Default: (1.5*RTX_INTERVAL) seconds. o [CACHE_DEL_TIMER]: remove child interface from forwarding cache. Default: (1.5*HOLDTIME) seconds. o [GROUP_EXPIRE_TIME]: time to send a QUIT_NOTIFICATION to our non-responding parent. Default: (1.5*ECHO_INTERVAL). o [ECHO_INTERVAL]: interval between sending ECHO_REQUEST to parent routers. Default: 60 seconds. o [EXPECTED_REPLY_TIME]: consider parent unreachable. Default: 70 seconds.7. CBT Packet Formats and Message Types CBT control packets are encapsulated in IP. CBT has been assigned IP protocol number 7 by IANA [4].7.1. CBT Common Control Packet Header All CBT control messages have a common fixed length header. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | vers | type | addr len | checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1. CBT Common Control Packet Header This CBT specification is version 2.Ballardie Experimental [Page 14]RFC 2189 CBTv2 Protocl Specification September 1997 CBT packet types are: o type 0: HELLO o type 1: JOIN_REQUEST o type 2: JOIN_ACK o type 3: QUIT_NOTIFICATION o type 4: ECHO_REQUEST o type 5: ECHO_REPLY o type 6: FLUSH_TREE o type 7: Bootstrap Message (optional) o type 8: Candidate Core Advertisement (optional) o Addr Length: address length in bytes of unicast or multicast addresses carried in the control packet. o Checksum: the 16-bit one's complement of the one's complement sum of the entire CBT control packet.7.2. HELLO Packet Format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBT Control Packet Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Preference | option type | option len | option value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2. HELLO Packet Format HELLO Packet Field Definitions: o preference: sender's HELLO preference. o option type: the type of option present in the "option value" field. One option type is currently defined: option type 0 (zero) = BR_HELLO; option value 0 (zero); option length 0 (zero). This option type is used with HELLO messages sent by aBallardie Experimental [Page 15]RFC 2189 CBTv2 Protocl Specification September 1997 border router (BR) as part of designated BR election (see [5]). o option len: length of the "option value" field in bytes. o option value: variable length field carrying the option value.7.3. JOIN_REQUEST Packet Format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBT Control Packet Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | group address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | target router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | originating router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option type | option len | option value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3. JOIN_REQUEST Packet Format JOIN_REQUEST Field Definitions o group address: multicast group address of the group being joined. For a "wildcard" join (see [5]), this field contains the value of INADDR_ANY. o target router: target (core) router for the group. o originating router: router that originated this JOIN_REQUEST. o option type, option len, option value: see HELLO packet format, section 7.2.7.4. JOIN_ACK Packet Format JOIN_ACK Field Definitions o group address: multicast group address of the group being joined. o target router: router (DR) that originated the corresponding JOIN_REQUEST.Ballardie Experimental [Page 16]RFC 2189 CBTv2 Protocl Specification September 1997 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBT Control Packet Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | group address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | target router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option type | option len | option value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4. JOIN_ACK Packet Format o option type, option len, option value: see HELLO packet format, section 7.2.7.5. QUIT_NOTIFICATION Packet Format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBT Control Packet Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | group address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | originating child router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5. QUIT_NOTIFICATION Packet Format QUIT_NOTIFICATION Field Definitions o group address: multicast group address of the group being joined. o originating child router: address of the router that originates the QUIT_NOTIFICATION.Ballardie Experimental [Page 17]RFC 2189 CBTv2 Protocl Specification September 19977.6. ECHO_REQUEST Packet Format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBT Control Packet Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | originating child router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -