MVPN - Inter-AS Opção C
Autor: Bruno Barata | Publicado: 2011-11-24T11:40:00-02:00

<!--[if !mso]> 
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
 <![endif]--><!--[if gte mso 9]>     Normal   0         21         false   false   false      PT-BR   X-NONE   X-NONE                                                     MicrosoftInternetExplorer4                                                   <![endif]--><!--[if gte mso 9]>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>                                                         <w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/>      <w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>      <w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/>      <w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>      <w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>         <![endif]--><!--[if !mso]> 
st1\:*{behavior:url(#ieooui) }
 <![endif]--><!--[if gte mso 10]> 
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:"Tabela normal";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:"";
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin:0cm;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman","serif";}
 <![endif]-->  1 &nbsp;&nbsp;&nbsp;&nbsp; Multicast VPN Inter-AS Opção C  Option C—Exchange of VPNv4 routes between route reflectors (RRs) using multihop eBGP peering sessions  The Option C model combines MP-eBGP exchange of VPNv4 routes between route reflectors (RRs) of different autonomous systems with the next hops for these routes exchanged between corresponding ASBR routers. In the Option C model, VPNv4 routes are neither maintained nor distributed by the ASBRs. ASBRs must maintain labeled IPv4 /32 routes to the PE routers within its autonomous system and use eBGP to distribute these routes to other autonomous systems. ASBRs in any transit autonomous systems will also have to use eBGP to pass along the labeled /32 routes. The result is the creation of a LSP from the ingress PE router to the egress PE router.  Because RRs of different autonomous systems will not be directly connected, multihop fuctionality is required to allow for the establishment of the MP-eBGP peering sessions. The exchange of next hops is necessary because the RRs do not reset the next-hop attribute of the VPNv4 routes when advertising them to adjacent autonomous systems because they do not want to attract the traffic for the destinations that they advertise. They are not the original endpoint—just a relay station between the source and receiver PEs. The PE router next-hop addresses for the VPNv4 routes, thus, are exchanged between ASBR routers. The exchange of these addresses between autonomous systems can be accomplished by redistributing the PE router /32 addresses between the autonomous systems or by using BGP label distribution.  Note Option C normally is deployed only when each autonomous system belongs to the same overall authority, such as a global Layer 3 MPLS VPN service provider with autonomous systems in different regions of the world. Option B is equally suited for this purpose and is also deployed in networks where autonomy between different regions is desired.  Nessa solução o MDT precisa ser o mesmo nos dois AS.  1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How BGP Sends MPLS Labels with Routes  When BGP (EBGP and IBGP) distributes a route, it can also distribute an MPLS label that is mapped to that route. The MPLS label mapping information for the route is carried in the BGP update message that contains the information about the route. If the next hop is not changed, the label is preserved.  
  When you issue the neighbor send-label command on both BPG routers, the routers advertise to each other that they can then send MPLS labels with the routes. If the routers successfully negotiate their ability to send MPLS labels, the routers add MPLS labels to all outgoing BGP updates.     Cenário  1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Objetivo  Oito roteadores (CE1, PE1, P1, PE2, PE3, P2, PE4 e CE2) são conectados formando dois backbones com 3 roteadores e um CE conectado. Pede-se:  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O protocolo de roteamento de backbone PE1-P1-PE2 deverá ser o OSPF na área 0 com todas as interfaces divulgadas e com mBGP e LDP no AS 1 para tráfego das vpns VRFs. O Router-reflector deverá ser o P1;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O protocolo de roteamento de backbone PE1-P1-PE2 deverá ser o ISIS na área 49.0001 com todas as interfaces divulgadas e com mBGP e LDP no AS 2 para tráfego das vpns VRFs. O Router-reflector deverá ser o P2;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tanto o CE1 quanto o CE2 deverão pertencer a VRF BLUE e deverá existir conectividade entre esses CEs usando a conexão entre os PEs PE2 e PE3 com Inter-AS Opção C;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Deverá ser habilitado o multicast dentro da VRF BLUE com conectividade entre os CEs.  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O MDT da VRF deverá ser 224.1.2.3;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O Rendezvous Point do AS 1 deverá ser o PE2 e o do AS 2 o PE3, ambos com conexão MSDP entre eles;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O RP da VRF deverá ser o CE1 estaticamente;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O CE1 é source de 227.2.2.2 e o CE2 é fonte deste grupo;  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O CE2 é source de 227.1.1.1 e o CE2 é fonte deste grupo;  1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Topologia    1.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IOS utilizados  •&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CE1, PE1, P1, PE2, PE3, P2, PE4 e CE2 – c7200-k91p-mz.122-25.S15.bin  1.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuração dos Roteadores  1.5.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configurações do ISIS do Backbone  Em todos os roteadores configura-se o roteamento ISIS adicionando o endereçamento NET de acordo com a área designada e endereçamento de loopback. Dentro das interfaces que farão parte do ISIS, adiciona-se o comando “ip router isis” para habilitar o ISIS na interface. Por padrão, todos os roteadores farão vizinhança L1/L2. Pode-se alterar o level na interface ou no roteamento.  A configuração da métrica wide, maior que 63, é feita dentro do processo de roteamento pelo comando “default metric-style wide”.  1.5.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configurações do OSPF do Backbone  Em todos os roteadores configura-se o roteamento OSPF pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. O roteador também possui um router ID único que geralmente é a interface loopback ou então o maior endereço IP do roteador.  Para adicionar interfaces deve-se usar o comando “network   área ”. Um roteador pode ter interfaces em áreas distintas, define-se cada área pelo comando network.  Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.  1.5.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configurações do MPLS  Antes de qualquer configuração, o Cisco Express forwarding deve ser habilitado com o comando “ip cef”. Para habilitar o MPLS no modo LDP, usa-se o comando global “mpls label protocol ldp”.  Para habilitar nas interfaces o LDP para vizinhança, usa-se o comando “mpls ip”.  1.5.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuração do MBGP  Para estabelecer uma VPN é necessário configurar o MBGP para a troca de informações de prefixos de VPN. Pode-se somente configurar o MBGP nos roteadores PEs da rede que possuem conexão com os CEs, ou seja, conectados diretamente aos sites.  O MBGP funciona como o BGP, configura-se em todos os roteadores pelo comando “router bgp ” onde o “AS” é o Autonomous System do backbone. Dentro da configuração de BGP adicionam-se os vizinhos estaticamente com o comando “neighbor  remote-as ”.  Adiciona-se o IP da interface loopback como Router-ID pelo comando “bgp router-id ”.   Como os roteadores dentro do mesmo AS não divulgarão as rotas IBGP entre eles, faz-se o full-mesh de conexão MBGP ou configuram-se os roteadores centrais como Router-reflectors adicionando os demais roteadores como clientes pelo comando “neighbor  router-reflector-client”.  O MBGP é configurado dentro do protocolo BGP, porém deve-se separar a família de roteamento com o comando “address-family vpnv4”. Para o envio de prefixos das VPNs, deve-se habilitar o envio de community extendida com o comando “neighbor  send-community extended”.  Todos os recursos como route-map, next-hop-self, router-reflector, etc. podem ser configurados dentro da família VPNv4 para manipular ou resolver problemas de roteamento.  1.5.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Criando uma VPN VRF no BGP  Após todos os roteadores PEs da rede possuem conectividade MBGP, ou diretamente ou por router-reflector, cria-se a VPN com o comando “ip vrf ”, dentro desse comando ficam os parâmentros de marcação da VPN e das communities associadas aos prefixos daquela VPN. Configura-se o Route-Distinguisher da VPN, que deve ser único na rede, com comando “rd :”, e também cria-se a&nbsp; community que será exportada para aqueles prefixos de rede com o comando “route-target  :”, onde “import” significa importar as rotas e “export” exportar as rotas.  Cria-se então uma address-family dentro do BGP com o comando “address-family ipv4 vrf ” com o mesmo nome da VPN criada no “ip vrf” fora do roteamento BGP. Dentro dessa address-family são configuradas as redes que serão redistribuídas para os outros sites. Para divulgar as redes é necessário que a rede exista na tabela de roteamento interna e, ou adicionar o comando “network  mask ” ou redistribuindo rotas para o MBGP com o comando “redistribute ”, que pode ser vinculado à um route-map para definir exatamente as rotas que serão divulgadas de um protocolo para outros sites.  Enfim, para que uma interface conectada ao CE faça parte da VPN BGP, usa-se o comando “ip vrf forwarding ” dentro da interface.  1.5.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuração do Inter-AS Opção C  A opção C do Inter-AS usa uma conexão MBGP entre os roteadores Router-Reflectors de VPN da rede para a troca de informações de prefixos de VPN. Pode-se acordar os mesmos RD e RT ou exportar e importar os RTs do AS vizinho, caso sejam diferentes.   No ASBR deve-se estabelecer uma vizinhança BGP tanto com o RR do próprio AS quanto com o ASBR do AS vizinho, e deve-se adicionar o “send-label” na configuração de vizinhança com todos os roteadores, do AS vizinho e o RR, para que seja enviadas as informações de NLRI e Label.  Na interface de interconexão no ASBR deve-se adicionar o comando para habilitar o mpls BGP “mpls bgp forwarding”.  Deve-se também desabilitar o filtro de route-target do AS no MBGP com o RR do AS vizinho usando o comando “no bgp default route-target filter”.  Para que no Inter-AS o caminho até o source do multicast seja conhecido, deve-se estabelecer a sessão BGP Multicast entre os roteadores de borda “address-family ipv4 multicast”. Nessa sessão deve-se anuncia os endereços dos PEs que terão as fontes multicast ativas.  Na vizinhança com o Router Reflector deve-se adicionar o comando “next-hop-self” para que o ASBR seja o nexthop das rotas externas.  1.5.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuração do Multicast no Backbone  É necessário configurar o roteamento multicast no roteador com o comando “ip multicast-routing”.   No PIM a configuração para o sparse mode é feita a configuração “ip pim sparse-mode” nas interfaces com os roteadores do backbone que trafegarão multicast. O Sparse mode necessita de um Rendevouz Point. Deve-se criar o RP da VRF que deve ser configurado nos PEs com o comando “ip pim rp-address ”.  Para definir o Rendezvous Point do bckbone, usa-se o comando “ip pim rp address ” ou algum modo de eleição (BSR ou Auto-RP).  1.5.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuração do Multicast na VPN  Antes de configurar o PIM é necessário configurar o roteamento multicast no PE com o comando “ip multicast-routing vrf ”. No PIM a configuração para o sparse mode é feita com o comando “ip pim sparse-mode” nas interfaces com os roteadores da VPN que trafegam multicast. O Sparse mode necessita de um Rendevouz Point. A configuração de Rendevouz Point estático é feita pelo comando “ip pim vrf  rp-address ”.  Dentro das configurações de VRF deve-se adicionar o grupo multicast que será usado no backbone para o tráfego do multicast da VRF. Essa configuração é feita com “mdt default ”.  
  1.5.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configurações do MSDP entre domínios  A configuração da conexão MSDP é feita entre os RPs com o comando “ip msdp peer  [remote-as ]”. Pode ser configurada a interface loopback para fechar a conexão MSDP, basta configura-la como source. O comando “ip msdp cache-sa-state” mantém em cache os grupos e fontes conhecidas.  Configura-se o comando “ip msdp rpf rfc3618” para utilizar os recursos da RFC 3618 do MSDP.  Para configurar um filtro de AS no MSDP usa-se o comando “ip msdp sa-filter   list ” a ACL tem que ser extendida. Existem recomendações da Cisco para o uso do filtro de AS que são descritas em documentação.  1.5.10&nbsp;&nbsp;&nbsp;&nbsp; Configurações do IGMP  O IGMP é configurado em todas as interfaces que estão com o multicast PIM configurado. Caso algum host conectado ao roteador enviar um trafego de “join multicast” o roteador automaticamente passará para o Source daquele grupo, caso exista.  Nesse exemplo pode-se utilizar o comando “ip igmp join-group ” para enviar uma solicitação de join no grupo multicast.  1.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Observações e Bugs  http://cisco.biz/en/US/docs/ios/12_0s/feature/guide/fsiasmlp.html#wp1044672  1.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comandos Importantes de Verificação    PE1#show ip pim vrf BLUE rpGroup: 227.1.1.1, RP: 10.10.10.1, v2, uptime 00:08:24, expires neverGroup: 227.2.2.2, RP: 10.10.10.1, v2, uptime 00:03:44, expires neverGroup: 224.0.1.40, RP: 10.10.10.1, v2, uptime 00:08:26, expires never  
    PE1#show ip mroute IP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L - Local, P - Pruned, R - RP-bit set, F - Register flag,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T - SPT-bit set, J - Join SPT, M - MSDP created entry,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y - Joined MDT-data group, y - Sending to MDT-data groupOutgoing interface flags: H - Hardware switched, A - Assert winner&nbsp;Timers: Uptime/Expires&nbsp;Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.1.2.3), 00:12:41/stopped, RP 2.2.2.2, flags: SJCFZ&nbsp; Incoming interface: FastEthernet0/0, RPF nbr 11.11.11.100&nbsp; Outgoing interface list:&nbsp;&nbsp;&nbsp; MVRF BLUE, Forward/Sparse, 00:12:40/00:02:22
(1.1.1.1, 224.1.2.3), 00:12:41/00:03:23, flags: FTZ&nbsp; Incoming interface: Loopback0, RPF nbr 0.0.0.0&nbsp; Outgoing interface list:&nbsp;&nbsp;&nbsp; FastEthernet0/0, Forward/Sparse, 00:10:10/00:02:43
(4.4.4.4, 224.1.2.3), 00:11:14/00:02:53, flags: JTZ&nbsp; Incoming interface: FastEthernet0/0, RPF nbr 11.11.11.100&nbsp; Outgoing interface list:&nbsp;&nbsp;&nbsp; MVRF BLUE, Forward/Sparse, 00:11:14/00:00:48  
    PE1#show ip mroute vrf BLUEIP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L - Local, P - Pruned, R - RP-bit set, F - Register flag,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T - SPT-bit set, J - Join SPT, M - MSDP created entry,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y - Joined MDT-data group, y - Sending to MDT-data groupOutgoing interface flags: H - Hardware switched, A - Assert winner&nbsp;Timers: Uptime/Expires&nbsp;Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 227.2.2.2), 00:10:45/00:03:15, RP 10.10.10.1, flags: SF&nbsp; Incoming interface: FastEthernet1/0, RPF nbr 10.10.10.1&nbsp; Outgoing interface list:&nbsp;&nbsp;&nbsp; Tunnel0, Forward/Sparse, 00:10:45/00:03:15
(10.10.10.1, 227.2.2.2), 00:07:21/00:03:23, flags: FT&nbsp; Incoming interface: FastEthernet1/0, RPF nbr 0.0.0.0&nbsp; Outgoing interface list:&nbsp;&nbsp;&nbsp; Tunnel0, Forward/Sparse, 00:07:22/00:03:15    2 &nbsp;&nbsp;&nbsp;&nbsp; Configuração  2.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CE1    !Hostname CE1!Ip cefIp multicast-routing!interface FastEthernet1/0&nbsp;ip address 10.10.10.1 255.255.255.0&nbsp;no shutdown&nbsp;du full&nbsp;ip pim sparse-mode&nbsp;ip igmp join-group 227.1.1.1!ip route 0.0.0.0 0.0.0.0 10.10.10.254!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip pim rp-address 10.10.10.1!  2.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PE1    !Hostname PE1!ip cef!!mpls label protocol ldpno ip domain-lookup!ip vrf BLUE&nbsp;rd 1:1&nbsp;route-target export 1:1&nbsp;route-target import 1:1&nbsp;mdt default 224.1.2.3
!ip multicast-routing ip multicast-routing vrf BLUE !!interface Loopback0&nbsp;ip address 1.1.1.1 255.255.255.255&nbsp;ip pim sparse-mode!interface FastEthernet0/0&nbsp;ip address 11.11.11.1 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;no shutdown&nbsp;du full&nbsp;mpls ip!interface FastEthernet1/0&nbsp;ip vrf forwarding BLUE&nbsp;ip address 10.10.10.254 255.255.255.0&nbsp;no shutdown&nbsp;du full&nbsp;ip pim sparse-mode!router ospf 1&nbsp;router-id 1.1.1.1&nbsp;network 1.1.1.1 0.0.0.0 area 0&nbsp;network 11.11.11.1 0.0.0.0 area 0!router bgp 1&nbsp;bgp router-id 1.1.1.1&nbsp;neighbor 100.100.100.100 remote-as 1&nbsp;neighbor 100.100.100.100 update-source Loopback0&nbsp;!&nbsp;address-family ipv4&nbsp;neighbor 100.100.100.100 activate&nbsp;neighbor 100.100.100.100 send-label&nbsp;neighbor 100.100.100.100 send-community both!&nbsp;address-family vpnv4&nbsp;neighbor 100.100.100.100 activate&nbsp;neighbor 100.100.100.100 send-community both&nbsp;!&nbsp;address-family ipv4 vrf BLUE&nbsp;redistribute connected!ip pim rp-address 2.2.2.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! O RP eh o ASBRip pim vrf BLUE rp-address 10.10.10.1&nbsp;&nbsp; ! O RP eh o CE!  2.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P1 – Router Reflector    !Hostname P1-RR!ip cef!mpls label protocol ldpip multicast-routing !!interface Loopback0&nbsp;ip address 100.100.100.100 255.255.255.255&nbsp;ip pim sparse-mode!interface FastEthernet0/0&nbsp;ip address 12.12.12.100 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;no shutdown&nbsp;du full&nbsp;mpls ip!interface FastEthernet1/0&nbsp;ip address 11.11.11.100 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;no shutdown&nbsp;du full&nbsp;mpls ip!router ospf 1&nbsp;router-id 100.100.100.100&nbsp;network 11.11.11.100 0.0.0.0 area 0&nbsp;network 12.12.12.100 0.0.0.0 area 0&nbsp;network 100.100.100.100 0.0.0.0 area 0!router bgp 1&nbsp;bgp cluster-id 1&nbsp;bgp router-id 100.100.100.100&nbsp;no bgp default ipv4-unicast&nbsp;neighbor 1.1.1.1 remote-as 1&nbsp;neighbor 1.1.1.1 update-source Loopback0&nbsp;neighbor 2.2.2.2 remote-as 1&nbsp;neighbor 2.2.2.2 update-source Loopback0&nbsp;neighbor 200.200.200.200 remote-as 2&nbsp;neighbor 200.200.200.200 ebgp-multihop 255&nbsp;neighbor 200.200.200.200 update-source Loopback0&nbsp;!address-family ipv4&nbsp;neighbor 1.1.1.1 activate&nbsp;neighbor 1.1.1.1 send-label&nbsp;neighbor 1.1.1.1 send-community both&nbsp;neighbor 1.1.1.1 route-reflector-client&nbsp;neighbor 2.2.2.2 activate&nbsp;neighbor 2.2.2.2 send-label&nbsp;neighbor 2.2.2.2 send-community both&nbsp;neighbor 2.2.2.2 route-reflector-client&nbsp;no neighbor 200.200.200.200 activate!&nbsp;address-family vpnv4&nbsp;neighbor 1.1.1.1 activate&nbsp;neighbor 1.1.1.1 route-reflector-client&nbsp;neighbor 1.1.1.1 send-community both&nbsp;neighbor 200.200.200.200 activate&nbsp;neighbor 200.200.200.200 next-hop-unchanged&nbsp;neighbor 200.200.200.200 send-community both!ip pim rp-address 2.2.2.2!  2.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PE2 – ASBR    !Hostname PE2-ASBR!mpls label protocol ldpip cef!ip multicast-routing !!interface Loopback0&nbsp;ip address 2.2.2.2 255.255.255.255&nbsp;ip pim sparse-mode!interface FastEthernet0/0&nbsp;ip address 23.23.23.2 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;no shutdown&nbsp;du full&nbsp;no ip mroute-cache&nbsp;no ip route-cache&nbsp;mpls bgp forwarding!interface FastEthernet1/0&nbsp;ip address 12.12.12.2 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;mpls ip&nbsp;no shutdown&nbsp;du full&nbsp;no ip mroute-cache&nbsp;no ip route-cache!router ospf 1&nbsp;router-id 2.2.2.2&nbsp;redistribute bgp 1 subnets route-map bgp2ospf&nbsp;network 2.2.2.2 0.0.0.0 area 0&nbsp;network 12.12.12.2 0.0.0.0 area 0&nbsp;network 23.23.23.2 0.0.0.0 area 0&nbsp;passive-interface FastEthernet0/0!router bgp 1&nbsp;bgp router-id 2.2.2.2&nbsp;neighbor 23.23.23.3 remote-as 2&nbsp;neighbor 100.100.100.100 remote-as 1&nbsp;neighbor 100.100.100.100 update-source lo0&nbsp;!&nbsp;address-family ipv4&nbsp;neighbor 100.100.100.100 activate&nbsp;neighbor 100.100.100.100 send-label&nbsp;neighbor 100.100.100.100 next-hop-self&nbsp;neighbor 23.23.23.3 activate&nbsp;neighbor 23.23.23.3 send-label&nbsp;neighbor 23.23.23.3 route-map LABEL-IN in &nbsp;neighbor 23.23.23.3 route-map LABEL-OUT out &nbsp;network 100.100.100.100 mask 255.255.255.255&nbsp;network 1.1.1.1 mask 255.255.255.255!ip pim rp-address 2.2.2.2ip msdp peer 23.23.23.3ip msdp cache-sa-state!!access-list 1 permit 1.1.1.1 log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! IP Loopback PE1access-list 2 permit 4.4.4.4 log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! IP Loopback PE2access-list 3 permit 100.100.100.100 log&nbsp;&nbsp;&nbsp; ! IP Loopback P1 RRaccess-list 4 permit 200.200.200.200 log&nbsp;&nbsp;&nbsp; ! IP Loopback P2 RR!!route-map LABEL-IN permit 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! aceita rotas com label do PE2 do AS 2&nbsp;match ip address 2&nbsp;match mpls-label!route-map LABEL-IN permit 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;! aceita rotas do RR do AS 2&nbsp;match ip address 4!!route-map LABEL-OUT permit 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! envia rotas do RR local&nbsp;match ip address 3!route-map LABEL-OUT permit 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! envia rotas do PE1 com label&nbsp;match ip address 1&nbsp;set mpls-label!  2.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PE3 – ASBR    !Hostname PE3-ASBR!ip cef!mpls label protocol ldpip multicast-routing !interface Loopback0&nbsp;ip address 3.3.3.3 255.255.255.255&nbsp;ip router isis !interface FastEthernet0/0&nbsp;ip address 32.32.32.3 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;ip router isis &nbsp;no ip mroute-cache&nbsp;no ip route-cache&nbsp;no shutdown&nbsp;du full&nbsp;mpls ip!interface FastEthernet1/0&nbsp;ip address 23.23.23.3 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;no ip mroute-cache&nbsp;no ip route-cache&nbsp;ip router isis&nbsp;no shutdown&nbsp;du full&nbsp;mpls bgp forwarding!router isis &nbsp;net 49.0001.3333.3333.3333.00&nbsp;is-type level-2-only&nbsp;passive-interface FastEthernet1/0!router bgp 2&nbsp;bgp router-id 3.3.3.3&nbsp;neighbor 23.23.23.2 remote-as 1&nbsp;neighbor 200.200.200.200 remote-as 2&nbsp;neighbor 200.200.200.200 update-source lo0&nbsp;!&nbsp;address-family ipv4&nbsp;neighbor 200.200.200.200 activate&nbsp;neighbor 200.200.200.200 send-label&nbsp;neighbor 200.200.200.200 next-hop-self&nbsp;neighbor 23.23.23.2 activate&nbsp;neighbor 23.23.23.2 send-label&nbsp;neighbor 23.23.23.2 route-map LABEL-IN in &nbsp;neighbor 23.23.23.2 route-map LABEL-OUT out &nbsp;network 4.4.4.4 mask 255.255.255.255&nbsp;network 200.200.200.200 mask 255.255.255.255!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip pim rp-address 3.3.3.3ip msdp peer 23.23.23.2ip msdp cache-sa-state!!access-list 1 permit 1.1.1.1 log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;! IP Loopback PE1access-list 2 permit 4.4.4.4 log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! IP Loopback PE2access-list 3 permit 100.100.100.100 log&nbsp;&nbsp;&nbsp; ! IP Loopback P1 RRaccess-list 4 permit 200.200.200.200 log&nbsp;&nbsp;&nbsp; ! IP Loopback P2 RR!!route-map LABEL-IN permit 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;! aceita rotas com label do PE1 do AS 1&nbsp;match ip address 1&nbsp;match mpls-label!route-map LABEL-IN permit 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;! aceita rotas do RR do AS 1&nbsp;match ip address 3!!route-map LABEL-OUT permit 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! envia rotas do RR local&nbsp;match ip address 4!route-map LABEL-OUT permit 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! envia rotas do PE1 com label&nbsp;match ip address 2&nbsp;set mpls-label!  2.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P2 – Router Reflector    !Hostname P2-RR!ip cef!mpls label protocol ldpip multicast-routing!!interface Loopback0&nbsp;ip address 200.200.200.200 255.255.255.255&nbsp;ip pim sparse-mode&nbsp;ip router isis!interface FastEthernet0/0&nbsp;ip address 24.24.24.200 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;ip router isis &nbsp;no shutdown&nbsp;du full&nbsp;mpls ip!interface FastEthernet1/0&nbsp;ip address 32.32.32.200 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;ip router isis &nbsp;no shutdown&nbsp;du full&nbsp;mpls ip!router isis &nbsp;net 49.0001.2222.2222.2222.00&nbsp;is-type level-2-only!router bgp 2&nbsp;bgp router-id 200.200.200.200&nbsp;neighbor 4.4.4.4 remote-as 2&nbsp;neighbor 4.4.4.4 update-source Loopback0&nbsp;neighbor 3.3.3.3 remote-as 2&nbsp;neighbor 3.3.3.3 update-source Loopback0&nbsp;neighbor 100.100.100.100 remote-as 1&nbsp;neighbor 100.100.100.100 ebgp-multihop 255&nbsp;neighbor 100.100.100.100 update-source Loopback0&nbsp;!&nbsp;address-family ipv4&nbsp;neighbor 4.4.4.4 activate&nbsp;neighbor 4.4.4.4 send-label&nbsp;neighbor 4.4.4.4 route-reflector-client&nbsp;neighbor 4.4.4.4 send-community extended&nbsp;neighbor 3.3.3.3 activate&nbsp;neighbor 3.3.3.3 send-label&nbsp;neighbor 3.3.3.3 route-reflector-client&nbsp;neighbor 3.3.3.3 send-community extended&nbsp;no neighbor 100.100.100.100 activate&nbsp;!&nbsp;address-family vpnv4&nbsp;neighbor 4.4.4.4 activate&nbsp;neighbor 4.4.4.4 route-reflector-client&nbsp;neighbor 4.4.4.4 send-community both&nbsp;neighbor 100.100.100.100 activate&nbsp;neighbor 100.100.100.100 next-hop-unchanged&nbsp;neighbor 100.100.100.100 send-community both!ip pim rp-address 3.3.3.3!  2.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PE4    !Hostname PE4!ip cef!mpls label protocol ldpip vrf BLUE&nbsp;rd 1:1&nbsp;route-target export 1:1&nbsp;route-target import 1:1&nbsp;mdt default 224.1.2.3!ip multicast-routing ip multicast-routing vrf BLUE !!interface Loopback0&nbsp;ip address 4.4.4.4 255.255.255.255&nbsp;ip pim sparse-mode&nbsp;ip router isis !interface FastEthernet0/0&nbsp;ip vrf forwarding BLUE&nbsp;ip address 20.20.20.254 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;no shutdown&nbsp;du full!interface FastEthernet1/0&nbsp;ip address 24.24.24.4 255.255.255.0&nbsp;ip pim sparse-mode&nbsp;ip router isis &nbsp;mpls ip&nbsp;no shutdown&nbsp;du full!router isis &nbsp;net 49.0001.4444.4444.4444.00&nbsp;is-type level-2-only!router bgp 2&nbsp;bgp router-id 4.4.4.4&nbsp;neighbor 200.200.200.200 remote-as 2&nbsp;neighbor 200.200.200.200 update-source Loopback0&nbsp;!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;address-family ipv4&nbsp;neighbor 200.200.200.200 activate&nbsp;neighbor 200.200.200.200 send-label&nbsp;neighbor 200.200.200.200 send-community both&nbsp;!&nbsp;address-family vpnv4&nbsp;neighbor 200.200.200.200 activate&nbsp;neighbor 200.200.200.200 send-community both!&nbsp;address-family ipv4 vrf BLUE&nbsp;redistribute connected!ip pim rp-address 3.3.3.3ip pim vrf BLUE rp-address 10.10.10.1&nbsp;&nbsp; ! O RP eh o CE!  2.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CE2    !Hostname CE2!interface FastEthernet1/0&nbsp;ip address 20.20.20.2 255.255.255.0&nbsp;no shutdown&nbsp;du full&nbsp;ip pim sparse-mode&nbsp;ip igmp join-group 227.2.2.2!ip route 0.0.0.0 0.0.0.0 20.20.20.254!ip pim rp-address 10.10.10.1!