- 论坛徽章:
- 0
|
PIM-DM
DR election
===========
PIM hello packet will select one router as Designated Router in the multiaccess network. In PIMv2, there's an option DR-Priority to be used in DR-election process. The rule is as follows:
Highest Priority -> Highest ip address
When DR-Priority is set 0 or the router does not support DR, election is based on ip address.
P2P link does not need DR.
Neighbor Mechanism
===========
Hello packet is sent every 30 seconds, the hold time will be 3.5 hello interval. (105s)
In multiaccess network, if the interface is in prune state, and there's a new neighbor joining, the interface will turn to forward immediately.
Source distribute tree
===========
Source distribution tree or STP (Shortest Path Tree) is built on the fly. When the source starts sending multicast traffic, using flood-and-prune to build it.
The multicast traffice received from the incoming interface will be checked by RPF check and forward the traffic to all other PIM-DM neighbors.
RPF Check
===========
RPF Check is performed by ip unicast routing table, the check will verify if the receiving interface is the exit interface for traffic to the source ip address. If it fails, router will drop the packet.
However, there's situation that there're a couple of entries for one destination, then the highest next hop ip address will be used for RPF check.
PIM-DM Pruning
===========
When the router will send prune message upstream, see the following description:
- Traffic arriving on non-RPF point-to-point interfaces
- Leaf router and no directly connected receivers
- Non-Leaf router on a point-to-point link that has received a Prune from its neighbor
- Non-Leaf router on a LAN segment (with no directly connected receivers) that has received a Prune from a neighbor on the LAN segment and another neighbor on the LAN segment does not override the Prune
On multiaccess LAN, there might be a couple of routers there, so the upstream router will not accept the prune message unless there's no veto (overriding join message).
Prune-delay timer is 3 seconds when a prune message is received on multiaccess networks. Join message only is used in this condition.
traffic arriving on non-RPF point-to-point interfaces will send back the rate-limited prune message. meanwhile, if there's no (S,G) state before, the traffice will create (S,G) entry as well with Null oil.
in addition, multiaccess just simply drops the multicast traffic. (also might initiate assert packet)
PIM-DM Asserts
============
When the interface in outgoing list receives same multicast traffic, it will send out an assert message to elect a forwarder.
Assert message contains the metric and AD to the source. The lowest AD is chosen, and then lower metric. If there's a tie, the highest ip address router will be refered.
Note: after testing, I found the assert also occurs on p2p link. Just satisfy the condition: the interface in outgoing list receives same multicast traffic
meanwhile, the prune message also sent on p2p link as the non-RPF interface. finally, on p2p link, there's no traffic.
PIM-DM Multicast Routing Table
============
Please review the from page 200 for the explaination of MRT in PIM-DM.
http://blogimg.chinaunix.net/blog/upfile/071018225903.pdf
expire time of entries is 3 min.
PIM Forwarding
============
1. Find (S,G) entry, if not there, find (*,G)
PIM-DM always use (S,G) entry to forward multicast traffic, so if there's no (S,G) entry, the router will create one.
2. RPF check, check the incoming interface in the entry with actual incoming int. if not match, drop it
basically, every 5 seconds router will perform a RPF recalculation to account for the topology change.
3. forwarding out all unpruned interfaces
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/42903/showart_404488.html |
|