Протокол распространения меток (LDP) в MPLS

Я недавно проходил через технологию MPLS. У меня есть это сомнение после прочтения некоторых функций MPLS.

A---B---c
    |    |
    D----E

Предположим, что маршрутизаторы A, E являются LER и B, C, D являются LSR, мы хотим отправить трафик с A-> E. Я узнал, что только LSR может изначально назначать метки, а в LDP ведущие маршрутизаторы инициируют распределение меток и привязки метки /FEC.

Can someone please explain me
1.)how A(LER) can transmit the packets to B(LSR).
2.)how can B know which label and port to forward,if it receives the distribution from C(Where C and D are downstream routers)

Спасибо.

9 голосов | спросил starkk92 21 PM00000010000001531 2013, 13:56:15

1 ответ


11

Сама метка является либо меткой агрегата, что означает, что метка не имеет переписываемой информации, прикрепленной к ней, поэтому она не знает выходного интерфейса или MAC-адрес выхода. Агрегатные метки используются, например, для подключенных сетей.
Агрегатная метка подразумевает, что вы не знаете информацию о выходе после поиска MPLS, поэтому вы должны выполнить обычную проверку IP-адресов, чтобы определить выходную информацию.

Нормальная метка привязана к информации перезаписи, которая будет искать по метке, будет возвращать выходной интерфейс (со всей необходимой информацией, такой как MAC-адрес, VLAN и т. д.)

Предположим, что все ссылки являются метрикой IGP 1, за исключением того, что B-C является метрикой 2.

Для отправки A в шлейф E (192.0.2.5) произойдет следующее:

  1. E будет выделять либо явное (0), либо неявное (по умолчанию) для 192.0.2.5/32
  2. E будет распространять префикс + label (FEC) на C и D, используя LDP
  3. C выделяет локальную метку для этого, скажем 100 (может быть что угодно)
    1. C запрограммирует запись FIB, так что метка 100 указывает на интерфейс в направлении E, а операции метки метки MPLS «SWAP 0», если явный null, или «POP», если неявный null
    2. C запрограммирует запись FIB, так что префикс 192.0.2.5/32 указывает на интерфейс в направлении E и операцию метки метки MPLS 'PUSH 0', если явный null
  4. D выделяет локальную метку для этого, скажем 200 (может быть что угодно, даже 100, 300, 400)
    1. D запрограммирует запись FIB, так что метка 200 указывает на интерфейс в направлении E и операцию метки метки MPLS «SWAP 0», если явный null, или «POP», если неявный null
    2. D запрограммирует запись FIB, так что префикс 192.0.2.5/32 указывает на интерфейс в направлении E и операцию метки MPLS 'PUSH 0', если явный null
  5. D и C будут распространять префикс + label на B, используя LDP
  6. B выделит локальную метку для этого, скажем 300 (может быть что угодно)
    1. B запрограммирует запись FIB, так что метка 300 указывает на интерфейс в направлении D (из-за IGP-метрики!) и операцию надписи MPLS «SWAP 200»
    2. B запрограммирует запись FIB, так что префикс 192.0.2.5/32 указывает на интерфейс в направлении D и операцию надписи MPLS 'PUSH 200'
  7. B будет распространять префикс + label на A, используя LDP
  8. А выделит локальную метку для этого, скажем 400 (может быть что угодно)
    1. A запрограммирует запись FIB, так что метка 400 указывает на интерфейс в направлении B, а операция метки MPLS «SWAP 300»
    2. A запрограммирует запись FIB, так что префикс 192.0.2.5/32 указывает на интерфейс в направлении B и операцию метки MPLS «PUSH 300»

Теперь, что происходит в плоскости пересылки, когда A отправляет 192.0.2.5/32

  1. A наложит PUSH (наложит) этикетку 300 и отправит в сторону B
  2. B будет консультироваться с FIB для 300, который является интерфейсом D и SWAP 200
  3. D будет консультироваться с FIB для 200, который является интерфейсом E и POP (или SWAP 0)
  4. E получит фрейм
ответил ytti 21 PM00000020000004031 2013, 14:33:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132