IEEE 802.1ak - Multiple Registration Protocol

IEEE 802.1ak - Multiple Registration Protocol

In PBB-VPLS, for N:1 mode, when an I-VPLS instance receives broadcast/unknown/multicast (BUM) traffic, it is forwarded to all other IB-PE routers as multiple I-VPLS instances share a common B-VPLS instance. The traffic is forwarded to remote IB-PE routers even if they do not have that I-VPLS instance locally bound to the B-VPLS. This causes unnecessary bandwidth waste as the remote IB-PE routers will drop the traffic due to lack of presence of that I-VPLS instance.

In order to solve this problem, Multiple Registration Protocol (MRP) can be used to build a distribution tree for each I-VPLS service (per I-SID), and flooding the BUM traffic from certain I-VPLSs only to those remote IB-PE routers that are members of the tree. MRP is a distributed protocol that allows attribute registration and declaration by multiple participants in a bridged LAN environment. MRP has two applications - MMRP or Multiple MAC Registration Protocol, and MVRP or Multiple VLAN Registration Protocol. In PBB-VPLS, MMRP is used to optimize traffic flooding in B-domain. In MMRP, the attribute handled by MRP is MAC address, and in case of PBB-VPLS, the attribute is group B-MAC address.

MMRP maintains a filter database, that contains the group B-MAC addresses of interested members. Traffic is filtered based on this database. In order to maintain the registration state and receive traffic, a bridge port must declare interest periodically. In PBB-VPLS, every IB-PE router participating in B-VPLS, maintains a filtering database, and floods traffic that have group B-MAC addresses only to listed interested members.

MMRP Terminology

  • Participant: The node that is participating in MMRP. In PBB-VPLS solution, each IB-PE router in B-domain is a participant.
  • Attribute: The information MRP tracks. In MMRP, the attribute is MAC address; more specifically, in PBB-VPLS network, the attribute is group B-MAC address.
  • Applicant: The element that announces its interest, ensuring that the declaration of the participant is registered by the registrars of other participants. In PBB-VPLS, every IB-PE router has one applicant for each I-VPLS instance. The applicant annouces the group B-MAC address and triggers Multiple Registration PDU (MRPDU) propagation.
  • Registrar: The element that records the declaration from the applicant made by other participants on the LAN. The registrar receives only MRPDUs. In PBB-VPLS, each IB-PE router in B-VPLS has one registrar for each I-VPLS instance. The registrar listens to MRPDUs and registers the applicants.
  • Declaration: An announcement made by an applicant of its interest in a MAC address by triggering an MRPDU. The declaration of a local participant triggers MRPDU propagation and causes corresponding registrars of other participants to register the attribute. In PBB-VPLS, an IB-PE router declares a group B-MAC address in B-VPLS if it has a local I-VPLS instance associated with that B-VPLS, or if it has received a registration from another IB-PE router.
  • Registration: For an IB-PE router, receiving a registration of any group B-MAC address means that there are remote IB-PE routers participating in an I-VPLS.
  • Propagation: When an applicant in one participant declares a membership, it triggers the router to flood MRPDU to all other participants. The propagation always follows the active topology of STP.

MMRP for PBB-VPLS

In MMRP for PBB-VPLS, the attribute registered is group B-MAC address. The group B-MAC address is of the form 01:1E:83:pq:rs:tu, where OUI 01:1E:83 is set for group B-MAC address, and pq:rs:tu is the hex value of I-SID for an I-VPLS. Since the I-SID is globally unique, the group B-MAC address formed is also unique for each I-VPLS. When a new I-VPLS instance (say, 100) is associated with the common B-VPLS instance in an IB-PE router, the MMRP applicant in that I-VPLS declares the group B-MAC address (say, 01:1E:83:00:00:C8) and triggers MRPDU propagation throughout the B-VPLS to register this group B-MAC address with remote IB-PE routers' registrars.

The following are the rules for MMRP information exchange-

  1. In an IB-PE router, the association of an I-VPLS instance to a B-VPLS instance will trigger a declaration of group B-MAC address, putting the port (PW) in Declared (D) state, and flooding the information to the entire B-domain.
  2. In an IB-PE router, the declaration of group B-MAC address triggers MRPDU generation from that port to the remote IB-PE routers.
  3. In an IB-PE router, receiving a MRPDU puts the port in Registered (R) state.
  4. In an IB-PE router, a registration of group B-MAC address on a bridge port, causes the router to put all the other bridge ports (in the same bridge group), into the D state for the same group B-MAC address, and triggers MRPDU propagation (obeying Split Horizon rule) i.e. registration on one bridge port triggers the generation and flooding of the MRPDU to all other bridge ports.
  5. If STP is used, the MRPDU propagation follows the active topology of STP.
  6. Only the port that is in both, D and R, states is added to flooding tree in B-VPLS.

The following table shows the combination of ports in D and R states, and their meaning.

Building The Flooding Tree In PBB-VPLS With MMRP

In Figure 2, when an I-VPLS 100 is associated with B-VPLS in IB-PE1 router, the MRPDU containing the attribute group B-MAC address (say, 01:1E:83:00:00:C8) is flooded to the entire B-domain. It puts the announcing port (pseudowire) to D state. The remote IB-PE3 router receives this MRPDU and registers the group B-MAC address in its filtering database. Further, it puts the receiving port (pseudowire) in R state. Also note that, IB-PE2 router also receives a copy of MRPDU, however, since it does not have any I-VPLS 100 instance locally bound to common B-VPLS, it drops/ignores the MRPDU.

Now, as IB-PE3 router also has an I-VPLS 100 instance locally bound to B-VPLS, it too propagates an MRPDU containing group B-MAC address (say, 01:1E:83:00:00:31) to the entire B-domain. IB-PE3 router puts its announcing port to D state. Similarly, IB-PE1 router receives this MRPDU and registers the group B-MAC address in its filtering database. And, it puts the receiving port (pseudowire) in R state. Again, IB-PE2 router drops the MRPDU.

The propagation of MRPDU obeys the rules mentioned above. After both declaration processes are completed, all IB-PE routers in the B-domain are either in D, R or both states. Only ports that are in both D and R states, are added into the group B-MAC address flooding tree.

The MRP database stores the port, group B-MAC address and registration/declaration status. When an IB-PE router receives MRPDU, it creates a registration entry in the database. This does not mean traffic is forwarded. If the entries in database exceeds the size of the database, no further registration is accepted. Essentially, traffic is not forwarded.

Using the flooding tree, the IB-PE router floods the BUM traffic from the local I-VPLS instance to the pseudowires listed in the tree, accepts the BUM traffic from these pseudowires, and then forwards the traffic to the local I-VPLS instance.

Summary

To avoid the problem of unnecessary bandwidth utilization due to BUM traffic in N:1 mode, MMRP can be implemented on IB-PE routers. It works like an IGMP protocol in a way that the IB-PE routers register their group B-MAC addresses of I-VPLS instance to remote IB-PE routers so that BUM traffic is flooded to only those interested members that have I-VPLS instance locally bound to the common B-VPLS.