VPLS: различия между версиями

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «VPLS Для клиента сеть будет выглядеть как бродкастовый домен. Для провайдера набор канало…»)
 
Строка 1: Строка 1:
VPLS
В L2VPN используются только каналы точка-точка, и нет возможности обеспечить связность точка-многоточка. Эту проблему решает - VPLS.
Для клиента сеть будет выглядеть как бродкастовый домен.


Для провайдера набор каналов точка-точка. Ничем не отличаются от L2VPN, которые мы уже строили (Martini, Kompella).
Для клиента сеть будет выглядеть как бродкастовый домен. ''full-mesh'' между точками.
 
Для провайдера набор каналов точка-точка.  


В vpls соединения точка-точка принято называть ''pseudo-wire''.
В vpls соединения точка-точка принято называть ''pseudo-wire''.
Строка 13: Строка 14:
* На PE1 в VPLS прилетел фрейм, VPLS: запомнил какой mac, соотнес с портом: A -> int 1.  
* На PE1 в VPLS прилетел фрейм, VPLS: запомнил какой mac, соотнес с портом: A -> int 1.  
* PE1 флудит его во все интерфейсы. А '''pseudo-wire''', воспринимает как интерфейсы. Т.о. фрейм долетел до PE2.  
* PE1 флудит его во все интерфейсы. А '''pseudo-wire''', воспринимает как интерфейсы. Т.о. фрейм долетел до PE2.  
* PE2 заучивает mac: A -> pseudo-wire 1.
* PE2 заучивает mac: A -> pseudo-wire 1 (''lsi interface'').
* Фрейм, пришедший с локального интерфейса, должен быть разослан '''всем''' PE.
* Фрейм, пришедший с локального интерфейса, должен быть разослан '''всем''' PE.
{{note|text=* Фрейм, пришедший с локального интерфейса флудится во все локальные интерфейсы и pseudo-wire.
{{note|text=* Фрейм, пришедший с локального интерфейса флудится во все локальные интерфейсы и pseudo-wire.
*Фрейм, который пришел от pseudo-wire, флудится только в локальные интерфейсы.
*Фрейм, который пришел от pseudo-wire (''lsi''), флудится только в локальные интерфейсы.
Чтобы не было петли.}}
Чтобы не было петли.}}


Строка 28: Строка 29:


====BGP====
====BGP====
BGP выполняет функцию signaling и auto-discovery. PE ищет какие PE вступили в тот же VPLS и отправляет им NLRI.
Передается NLRI, аналогичный BGP L2VPN:
Передается NLRI, аналогичный BGP L2VPN:
* label base
* label base
Строка 34: Строка 37:
* offset
* offset


То есть для работы VPLS в настройках включаем тот же самый l2vpn signaling.
То есть для работы VPLS в настройках BGP включаем тот же самый l2vpn signaling.


Licruit - метки (на выход, вход). В отличие от L2VPN каждому локальному интерфейсу назначать метку нет смысла, ведь внутри VPLS уже есть соответствие ''mac - interface''. Поэтому в VPLS метка должна была бы назначиться целиком на '''RI (per instance, per site)'''.
Licruit - метки (на выход, вход). В отличие от L2VPN каждому локальному интерфейсу назначать метку нет смысла, ведь внутри VPLS уже есть соответствие ''mac - interface''. Поэтому в VPLS метка должна была бы назначиться целиком на '''RI (per instance, per site)'''.
Строка 40: Строка 43:
Но эта логика не правильная. =(
Но эта логика не правильная. =(


Learnig mac-адресов! делает эту схему многоточкой! Блок меток соответствует удаленному site, чтобы когда пакет придет на РЕ понимать с какого site он пришел. Это требуется, чтобы сделать правильный learning.
Learnig mac-адресов! делает эту схему многоточкой! Блок меток соответствует '''удаленному site''', чтобы когда пакет придет на РЕ понимать с какого site он пришел. Это требуется, чтобы сделать правильный learning.


В остальном весь остальной процесс signaling аналогичен L2VPN.
В остальном весь остальной процесс signaling аналогичен L2VPN.
Строка 47: Строка 50:


====LDP====
====LDP====
Между PE требуется full-mesh.
В случае l2circuit указывали удаленный PE. В VPLS, помимо всего прочего, потребуется добавить всех remote-site-id.
В случае l2circuit указывали удаленный PE. В VPLS, помимо всего прочего, потребуется добавить всех remote-site-id.


===+/-===
===+/-===
VPLS +:  
VPLS +:  
*удобнее в трабшутинге
*в отличие от L2VPN не требует указания remote-site
*обеспечивает схему коммутации точка-многоточка


- удобнее в трабшутинге, но может передавать только ethernet, в отличие от L2VPN.
VPLS - :
*бродкаст домен => защита от петель между PE<>CE: STP и остальные методы на L2 сегменте.
*может передавать только ''ethernet''
===Configuration===
Рассматриваем вариант VPLS-BGP.


VPLS - :
'''Lagavulin:'''
[edit protocols bgp]
set family l2vpn signaling
[edit interfaces]
ge-0/0/1 {
    vlan-tagging;
    encapsulation vlan-vpls;
[edit interfaces ge-0/0/1 unit 804]
    encapsulation vlan-vpls;
    vlan-id 804;
    family vpls;
 
[edit routing-instances oak]
          instance-type vpls;
          interface ge-0/0/0.804;
          route-distinguisher 10.200.86.7:1313;
          vrf-target target:1111:1313;
          protocols {
              vpls {
                  site-range 5;
                  no-tunnel-services;
                  site ce4 {
                      site-identifier 1;
                      interface ge-0/0/0.804;
'''Tormore'''
[edit routing-instances oak]
instance-type vpls;
interface ge-0/0/1.801;
route-distinguisher 10.200.86.9:100;
vrf-target target:300:200;
protocols {
    vpls {
    site-range 5;
    no-tunnel-services;
    site ce9 {
      site-identifier 3;
      interface ge-0/0/1.804
'''Oban'''
[edit routing-instances oak]
      instance-type vpls;
      interface ge-0/0/0.804;
      route-distinguisher 10.200.86.3:1313;
      vrf-target terget:1111:1313;
      protocols {
          vpls {
              site-range 5;
              no-tunnel-services;
              site ce8 {
                  site-identifier 2;
                  interface ge-0/0/0.804;
 
===Troubleshooting===
lagavulin> show vpls connections   
Instance: oak
  Local site: '''ce4 (1)'''                 
    connection-site          Type  St    Time last up          # Up trans
    '''2'''                        rmt  '''Up'''    Nov 10 03:21:50 2016          1
      Remote PE: 10.200.86.3, Negotiated control-word: No
      ''Incoming label: '''262146''', Outgoing label: '''262145''' ''
      Local interface: '''lsi.1049088''', Status: Up, Encapsulation: VPLS
        Description: Intf - vpls oak local site 1 remote site 2
    '''3'''                        rmt  '''Up'''    Nov 10 03:27:12 2016          1
      Remote PE: 10.200.86.9, Negotiated control-word: No
      ''Incoming label: '''262147''', Outgoing label: '''262145''' ''
      Local interface: '''lsi.1049089''', Status: Up, Encapsulation: VPLS
        Description: Intf - vpls oak local site 1 remote site 3


- бродкаст домен => защита от петель между PE<>CE: STP и остальные методы на L2 сегменте.
lagavulin> show route table oak.l2vpn.0 detail
oak.l2vpn.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
10.200.86.3:1313:2:1/96 (1 entry, 1 announced)
        *BGP    Preference: 170/-101
                Route Distinguisher: 10.200.86.3:1313
                Source: 10.200.86.3
                Protocol next hop: 10.200.86.3
                Age: 15:30 Metric2: 1
                Task: BGP_1111.10.200.86.3+50784
                Communities: target:1111:1313 Layer2-info: encaps:VPLS, control flags:, mtu: 0, site preference: 100
                Label-base: 262145, range: 8
                Localpref: 100
                Router ID: 10.200.86.3
                Primary Routing Table bgp.l2vpn.0
10.200.86.7:1313:1:1/96 (1 entry, 1 announced)
        *L2VPN  Preference: 170/-101
                Next hop type: Indirect
                Next-hop reference count: 2
                Protocol next hop: 10.200.86.7
                Indirect next hop: 0 -
                Age: 27:51 Metric2: 1
                Task: oak-l2vpn
                Communities: Layer2-info: encaps:VPLS, control flags:, mtu: 0, site preference: 100
                Label-base: 262145, range: 8, status-vector: 0x18
10.200.86.9:1313:3:1/96 (1 entry, 1 announced)
        *BGP    Preference: 170/-101
                Route Distinguisher: 10.200.86.9:1313
                Source: 10.200.86.9
                Protocol next hop: 10.200.86.9
                Local AS:  1111 Peer AS:  1111
                Age: 10:08 Metric2: 1
                Task: BGP_1111.10.200.86.9+59111
                Communities: target:1111:1313 Layer2-info: encaps:VPLS, control flags:, mtu: 0, site preference: 100
                Label-base: 262145, range: 8
                Localpref: 100
                Router ID: 10.200.86.9
                Primary Routing Table bgp.l2vpn.0


===Configuration====
Как посмотреть маки:
lagavulin> show route forwarding-table vpn oak

Версия 11:57, 12 ноября 2016

В L2VPN используются только каналы точка-точка, и нет возможности обеспечить связность точка-многоточка. Эту проблему решает - VPLS.

Для клиента сеть будет выглядеть как бродкастовый домен. full-mesh между точками.

Для провайдера набор каналов точка-точка.

В vpls соединения точка-точка принято называть pseudo-wire.

Forwarding

Хосты посылает свитч: свитч бродкастит и лернит.

VPLS-instance работает как свитч, который тоже бродкастит и лернит.

  • На PE1 в VPLS прилетел фрейм, VPLS: запомнил какой mac, соотнес с портом: A -> int 1.
  • PE1 флудит его во все интерфейсы. А pseudo-wire, воспринимает как интерфейсы. Т.о. фрейм долетел до PE2.
  • PE2 заучивает mac: A -> pseudo-wire 1 (lsi interface).
  • Фрейм, пришедший с локального интерфейса, должен быть разослан всем PE.

* Фрейм, пришедший с локального интерфейса флудится во все локальные интерфейсы и pseudo-wire.

  • Фрейм, который пришел от pseudo-wire (lsi), флудится только в локальные интерфейсы.

Чтобы не было петли.

Когда прилетает фрейм с dest-mac уже известным, то он идет по уже заученному для него пути.

То есть с точки зрения форвардинга VPLS - один большой свитч!

Внутри VPLS происходит lookup по маку => должен быть включен tunnel-services.

Signaling

Pseudo-wire - строятся по LDP или BGP. В отличие от L2VPN, в VPLS - сигнализация по BGP имеет огромное приемущество.

BGP

BGP выполняет функцию signaling и auto-discovery. PE ищет какие PE вступили в тот же VPLS и отправляет им NLRI.

Передается NLRI, аналогичный BGP L2VPN:

  • label base
  • label range
  • site-id
  • offset

То есть для работы VPLS в настройках BGP включаем тот же самый l2vpn signaling.

Licruit - метки (на выход, вход). В отличие от L2VPN каждому локальному интерфейсу назначать метку нет смысла, ведь внутри VPLS уже есть соответствие mac - interface. Поэтому в VPLS метка должна была бы назначиться целиком на RI (per instance, per site).

Но эта логика не правильная. =(

Learnig mac-адресов! делает эту схему многоточкой! Блок меток соответствует удаленному site, чтобы когда пакет придет на РЕ понимать с какого site он пришел. Это требуется, чтобы сделать правильный learning.

В остальном весь остальной процесс signaling аналогичен L2VPN.

Site-ID в данной схеме принципиального значения не имеет. Требуется только для PE для внутренних вычислений, поэтому можно просто выбрать и назначить site-id, или задать auto-site-id.

LDP

Между PE требуется full-mesh.

В случае l2circuit указывали удаленный PE. В VPLS, помимо всего прочего, потребуется добавить всех remote-site-id.

+/-

VPLS +:

  • удобнее в трабшутинге
  • в отличие от L2VPN не требует указания remote-site
  • обеспечивает схему коммутации точка-многоточка

VPLS - :

  • бродкаст домен => защита от петель между PE<>CE: STP и остальные методы на L2 сегменте.
  • может передавать только ethernet

Configuration

Рассматриваем вариант VPLS-BGP.

Lagavulin:

[edit protocols bgp]
set family l2vpn signaling

[edit interfaces]
ge-0/0/1 {
   vlan-tagging;
   encapsulation vlan-vpls;
[edit interfaces ge-0/0/1 unit 804]
   encapsulation vlan-vpls; 
   vlan-id 804;
   family vpls;
[edit routing-instances oak]
         instance-type vpls;
         interface ge-0/0/0.804;
         route-distinguisher 10.200.86.7:1313;
         vrf-target target:1111:1313;
         protocols {
             vpls {
                 site-range 5;
                 no-tunnel-services;
                 site ce4 {
                     site-identifier 1;
                     interface ge-0/0/0.804;

Tormore

[edit routing-instances oak]
instance-type vpls;
interface ge-0/0/1.801;
route-distinguisher 10.200.86.9:100;
vrf-target target:300:200; 
protocols {
   vpls {
   site-range 5;
   no-tunnel-services;
   site ce9 {
      site-identifier 3;
      interface ge-0/0/1.804

Oban

[edit routing-instances oak]
      instance-type vpls;
      interface ge-0/0/0.804;
      route-distinguisher 10.200.86.3:1313;
      vrf-target terget:1111:1313;
      protocols {
          vpls {
              site-range 5;
              no-tunnel-services;
              site ce8 {
                  site-identifier 2;
                  interface ge-0/0/0.804;

Troubleshooting

lagavulin> show vpls connections Instance: oak

 Local site: ce4 (1)                   
   connection-site           Type  St     Time last up          # Up trans
   2                         rmt   Up     Nov 10 03:21:50 2016           1
     Remote PE: 10.200.86.3, Negotiated control-word: No
     Incoming label: 262146, Outgoing label: 262145 
     Local interface: lsi.1049088, Status: Up, Encapsulation: VPLS
       Description: Intf - vpls oak local site 1 remote site 2
   3                         rmt   Up     Nov 10 03:27:12 2016           1
     Remote PE: 10.200.86.9, Negotiated control-word: No
     Incoming label: 262147, Outgoing label: 262145 
     Local interface: lsi.1049089, Status: Up, Encapsulation: VPLS
       Description: Intf - vpls oak local site 1 remote site 3
lagavulin> show route table oak.l2vpn.0 detail 
oak.l2vpn.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
10.200.86.3:1313:2:1/96 (1 entry, 1 announced)
       *BGP    Preference: 170/-101
               Route Distinguisher: 10.200.86.3:1313
               Source: 10.200.86.3
               Protocol next hop: 10.200.86.3
               Age: 15:30 	Metric2: 1 
               Task: BGP_1111.10.200.86.3+50784
               Communities: target:1111:1313 Layer2-info: encaps:VPLS, control flags:, mtu: 0, site preference: 100
               Label-base: 262145, range: 8
               Localpref: 100
               Router ID: 10.200.86.3
               Primary Routing Table bgp.l2vpn.0
10.200.86.7:1313:1:1/96 (1 entry, 1 announced)
       *L2VPN  Preference: 170/-101
               Next hop type: Indirect 
               Next-hop reference count: 2
               Protocol next hop: 10.200.86.7
               Indirect next hop: 0 -
               Age: 27:51 	Metric2: 1 
               Task: oak-l2vpn
               Communities: Layer2-info: encaps:VPLS, control flags:, mtu: 0, site preference: 100
               Label-base: 262145, range: 8, status-vector: 0x18 
10.200.86.9:1313:3:1/96 (1 entry, 1 announced)
       *BGP    Preference: 170/-101
               Route Distinguisher: 10.200.86.9:1313
               Source: 10.200.86.9
               Protocol next hop: 10.200.86.9
               Local AS:  1111 Peer AS:  1111
               Age: 10:08 	Metric2: 1 
               Task: BGP_1111.10.200.86.9+59111
               Communities: target:1111:1313 Layer2-info: encaps:VPLS, control flags:, mtu: 0, site preference: 100
               Label-base: 262145, range: 8
               Localpref: 100
               Router ID: 10.200.86.9
               Primary Routing Table bgp.l2vpn.0

Как посмотреть маки:

lagavulin> show route forwarding-table vpn oak