L2 switching and VLANs

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску

Зачем используем вланы

  • уменьшение кол-ва трафика и как следствие увеличение скорости передачи
  • вместо сегментироавния сети посредством маршрутизации, делаем сегментирование vlan'ами
  • четкая сортировка и идентефикация пакетов по доменам
  • секурность - управление меньшими бродкаст-доменами
  • быстрая реакция на перемещение хоста
  • используя вланы, можно сгруппировать хосты, находящиеся на разных концах страны в один домен.

Bridging

Стандартные процедуры, которые происходят во время bridging:

  • Изучение (learning). Изначально switch не в курсе где какие хосты включены. Как только к LAN/VLAN подключился хост и отправил пакет, свитч изучает mac-address этого хоста. Записывает с таблицу коммутации: port + mac + age (время, когда mac был изучен).
  • Передача (Forwarding). Использую таблицу коммутации, свитч делает передачу фреймов между портам хостов. Если требуется передать фрейм на неизученный ранее mac-address, то запускается процесс flooding.
  • Флуд (Flooding). Флуд производистя внутри LAN/VLAN. Флудится неизученный mac-address. Когда хост получит фрейм со своим адресом, он посылает в ответ ACK. Mac-addrees изучается и добавляется в таблицу коммутации.
  • Фильтрация (Filtering). Трафик в рамках одного VLAN будет фильтроваться и не передаваться в другой VLAN.
  • Устаревание (Aging). Каждый раз когда свитч детектит трафик от MAC, обновляется временная метка. Если трафик перестал поступать - обновляться время жизни более не будет. Когда временная метка станет больше заданного значения, запись о данном mac-address удалится из таблицы.

Tagging

VLAN-id диапазон: 1-4094. 0,4095 - зарезервированы под служебные нужды Junos.

Точно определить кол-во вланов, подерживаемое на железке:

set vlans vlan-name vlan-id ? 

Во фрейме есть поле: TPID (tag protocol identifier).

Когда хост генерирует фрейм во влане, он заполняет поле TPID значением 0x8100, что означает - теггированный пакет.

Также во фрейме есть поле: VLAN ID, которое заполняется присвоенным уникальным 802.1Q ID.

TPID 0x8100 = tagged
TPID 0x9100 = qinq
TPID 0x88a8 = Provider Bridging and Shortest Path Bridging

По дефолту используется vlan-id 1, как нетеггированный.

Как создать и назначать влан на порт:

set vlans v356 vlan-id 356       
set interfaces ge-2/0/46 unit 0 family ethernet-switching vlan members v356

Interface-mode

  • Access. Принимает только untagged трафик. Дефолтное поведение чистого свитча: все порты в access default vlan (vlan-id 1 [можно при желании сменить vlan-id])
set interfaces ge-2/0/1 unit 0 family ethernet-switching interface-mode access
set interfaces ge-2/0/1 unit 0 family ethernet-switching vlan members v356
  • Trunk. Принимает только tagged трафик. Можно настроить прохождение дофига vlan-id через один trunk-порт. Не пропускает untagged data-трафик. Но воспринимает untagged служебный трафик (например LACP, LLDP и прочее)
set interfaces ae0 unit 0 family ethernet-switching interface-mode trunk
set interfaces ae0 unit 0 family ethernet-switching vlan members [ v355 v356 ]
  • Trunk Mode and Native VLAN. Принимает tagged трафик + untagged трафик того влана, который будет настроен как native. Случай, когда настраиваем только native на порту такое принцип отработки:
set interfaces ge-0/0/34 native-vlan-id 391
set interfaces ge-0/0/34 unit 0 family ethernet-switching interface-mode trunk
set interfaces ge-0/0/34 unit 0 family ethernet-switching vlan members v356

Transmit = untagged 391 (pass)

Receive = untagged 391 (pass)

Receive = tagged to 391 (drop)

Если настроить native vlan-id + добавить этот vlan-id в trunk: когда свитч получит untagged трафик, он пометит его данным vlan-id, а также будет принимать и отправлять tagged трафик этого же vlan-id.

set interfaces ge-0/0/34 native-vlan-id 391
set interfaces ge-0/0/34 unit 0 family ethernet-switching interface-mode trunk
set interfaces ge-0/0/34 unit 0 family ethernet-switching vlan members v356
set interfaces ge-0/0/34 unit 0 family ethernet-switching vlan members v391

Transmit = tagged 391 (pass)

Receive = untagged 391 (pass - mapped to 391)

Receive = tagged 391 (pass)

  • Tagged-access mode. Используется для подключения серверов с виртуалками. Отсюда от access-mode взят тип подключения - host. Но по факту для если для каждой виртуалки используется свой влан, то порт должен пропускать tagged трафик. Это он и делает - это особенность от trunk-mode. Также поддерживается native vlan.

Inter-VLAN routing

Чтобы появилась возможность коннектиться хостам из разных доменов - настраиваем Inter-VLAN routing.

По сути это просто создание l3-интерфейса [routed VLAN interface (RVI) или IRB] внутри влана.

Внутри влана трафик будет бриджеваться, а между вланами - роутиться.

set interfaces irb unit 356 family inet address 10.170.19.1/24
set vlans v356 vlan-id 356 l3-interface irb.356         
set interfaces ge-2/0/46 unit 0 family ethernet-switching vlan members v356
set interfaces ae0 unit 0 family ethernet-switching vlan members v356
show interfaces terse irb.356 
Interface               Admin Link Proto    Local                 Remote
irb.356                 up    up   inet     10.170.19.1/24  

L3 интерфейс будет в состоянии up как только vlan v356 будет назначен (trunk или access) на какой-нибудь физический интерфейс в up.

В случае с RVI будет всё тоже самое только вместо irb типа интерфейса будет vlan [vlan.356]