November 27, 2010

MultiProtocol BGP (MP-BGP)

MP-BGP is simply an extended/enhanced BGP that primarily allows unicast routes for multicast routing to be carried in interconnect-networks - To this extend, MP-BGP allows protocols other than IPv4 to be carried (IPv6, CNLS, MPLS VPN etc…). This is of course different to native BGP which only allows unicast routes for IP Forwarding to be carried.

Having said, they are 2 Attributes to keep in mind when dealing with MP-BGP:

MP_REACH_NLRI and MP_UNREACH_NLRI

Those attributes are non-transitive attributes- that means a BGP speaker will not carry those attributes if it does not support them

Small Review: What is an NLRI

NLRI stands for “Network Layer Reachability Information” and is exchanged between BGP peer speakers through UPDATE messages. The NLRI is simply a network mask (CIDR notation) and the network address for that subnet, it is often referred as a Length/Prefix tuple. In all, NLRI is what enables us to aggregate on our peer routes, to carry supernet information.

###MP_REACH_NLRI (Type Code 14)###

This new attribute is used to:

  1. Advertise a route to a peer (duh! ;-) )
  2. To advertise the Network Address of the router to be used a next hop for the destinations listed in the NLRI field.
  3. To report all/or some of the SNPAs that exists within the local system

###MP_UNREACH_NLRI (Type Code 15)###

This attribute is used to:

  1. withdraw unfeasible routes
  2. carries the set of unreachable routes

Both attributes shares similarities with the **AFI **(2 octets) field which defines the Network Layer Protocol associated with the NLRI.

  1. AFI = 1
  2. Sub-AFI: Unicast NLRI route info /  Multicast NLRI  RPF info / NLRI Info carrying both “unicast and multicast”

To learn more about MP-BGP refer to http://www.ietf.org/rfc/rfc2858.txt