Switchport mode trunk что это
Тренинг Cisco 200-125 CCNA v3.0. День 10. Режимы работы портов свитча
Сегодня мы рассмотрим режимы портов свитча и функции свитча. Свитч имеет два режима работы: Access, или статический доступ, и Trunk – режим туннельной магистрали. Первый режим используется, когда вы подсоединяете к порту свитча какое-либо конечное устройство. Если вы подсоединяете к свитчу свой персональный компьютер или ноутбук, его порт работает как Access-порт. Для того, чтобы установить этот режим, в настройках свитча необходимо использовать команду switchport mode access. Из наших видеоуроков вы уже знаете, что когда командная строка имеет вид (config-if)#, это означает, что интерфейс свитча в данном случае обозначается как f0/1 или g0/1. Таким образом, у нас имеется подкоманда интерфейса свитча, и её можно использовать для любого другого порта.
Обычно, когда вы печатаете команду switchport mode access, она относится к настройке VLAN. Однако в данный момент вы можете не беспокоится о VLAN, лучше сосредоточьтесь на режимах портов. Итак, этот режим используется для соединения конкретного порта свитча с конечным устройством пользователя.
Второй режим известен как Trunk-порт, или магистральный порт. Он используется для соединения порта одного свитча с другим свитчем или роутером. Этот термин придумала компания Cisco, остальные производители сетевых устройств называют его по-другому. Когда мы будем обсуждать VLAN, то поговорим о режиме «транк» более подробно, пока что просто запомните, что режим Trunk используется при соединении свитча с другим свитчем, а Access – при соединении с конечным устройством. Обратите внимание, что мы говорим не о режимах свитча, а о режимах конкретного порта, и любой порт свитча можно настроить на один из этих режимов.
Для перевода порта в режим транк необходимо использовать команду switchport mode trunk. Замечу, что когда мы говорим о режимах портов, нужно сказать и о специальном протоколе для этих режимов, который называется Dynamic Trunking protocol, DTP – динамический протокол транкинга. Это проприетарный протокол Cisco, то есть его невозможно использовать ни с какими другими свитчами, кроме продукции Cisco. Существуют другие производители сетевого оборудования, которые взяли себе на вооружение концепцию DTP-протокола Cisco, однако поскольку эта серия видеоуроков ориентирована на CCNA Cisco, мы не станем рассматривать продукцию других разработчиков.
В этом протоколе имеется три режима: два рабочих режима Dynamic Desirable и Dynamic Auto, а третий режим No Negotiate просто отключает DTP.
Если порт находится в режиме Dynamic Desirable, он немедленно начинает посылать DTP-пакеты, то есть становится транк-портом. Из самого названия протокола следует, что он обеспечивает транк-соединение, и в данном случае название режима протокола desirable – «желаемый» — означает, что порт «желает» стать транком. Предположим, у меня транк-порт, а у вас Telnet, и возможно, я хочу, чтобы вы стали транк-портом, но вы этого не хотите!
Но если на другой стороне порт свитча тоже работает в режиме Dynamic Desirable, то наш порт, работающий в режиме Dynamic Desirable, становится транк-портом. То же самое произойдёт, если наш порт работает в режиме Dynamic Auto, а соседний – в режиме Dynamic Desirable. Как только наш порт получит от него DTP-пакеты, он тут же станет транк-портом.
Но если оба свитча находятся в режиме Dynamic Auto, возникает проблема – в этом режиме оба свитча не станут ничего предпринимать, потому что это пассивный режим ожидания, не предусматривающий никаких действий до тех пор, пока порт не получит DTP-пакет. Поэтому если оба свитча будут находится в режиме Dynamic Auto, никакого магистрального транк-соединения не состоится.
Таким образом, если вы хотите, чтобы транк-соединение создавалось автоматически, хотя бы один из свитчей, вернее, портов свитча, должен быть в режиме Dynamic Desirable.
Однако постоянно держать один из свитчей в состоянии Dynamic Desirable не очень хорошо. Предположим, что все свитчи в вашей организации находятся в состоянии Dynamic Auto или Dynamic Desirable. Если какой-то плохой парень намеревается взломать ваш свитч и проникнуть в систему, ему будет очень легко это сделать. Все, что ему нужно – это заполучить свитч, один из портов которого связан с вашим офисным свитчем, и настроить его на режим Dynamic Desirable. Как только это произойдёт, свитч компании станет транком и даст злоумышленнику возможность перехватить весь проходящий через него трафик.
В режиме транкинга 2 или 3 свитча делятся одними и теми же данными. Это подобно расширению возможностей вашего свитча – если он имеет 8 портов и соединен с помощью транка с другим 8-ми портовым свитчем, считайте, что у вас имеется 16-ти портовый свитч. Так работает транкинг по умолчанию, если вы, конечно, не предпримете особых мер против того, чтобы один свитч не отправлял свой трафик другому. Но обычно если вы организуете транк между двумя 8-ми портовыми свитчами, то просто получаете один 16-ти портовый свитч.
Если хакер получит доступ к вашему свитчу и создаст транк, то свитч компании начнет отсылать весь трафик на свитч злоумышленника, который сможет использовать любое ПО для анализа трафика целой организации.
Для предотвращения подобной ситуации можно использовать режим No Negotiate, введя команду switchport nonegotiate. Поэтому обязательно используйте данную команду, чтобы отключить протокол DTP, если вы им не пользуетесь.
Если вы используете режим работы порта свитча Access, он отключает транкинг. Как мы уже говорили, если вам нужен статический режим работы, вы настраиваете Access, а если вам нужен режим динамического протокола DTP, вы используете Trunk. Такова концепция использования режимов работы портов свитча, и я надеюсь, что вы ее усвоили.
Теперь перейдем к рассмотрению функций коммуникации. В основном свитч выполняет три функции: Address Learning – запоминание MAC-адресов, Forwarding Decision – принятие решения о пересылке данных, и Loop Avoidance, или предотвращение замкнутых циклов, или сетевых петель.
Начнем с запоминания адресов. Мы уже говорили об этом, но раз мы говорим о свитчах, позвольте мне напомнить вам еще раз. Как только свитч включается в сеть, к нему в течение 30-40 секунд подключаются все сетевые устройства и они начинают «общаться». Скажу, что компьютеры очень любят общаться, постоянно ведя широковещательную трансляцию, говоря: «эй, вот мой MAC-адрес!». Предположим, у нас имеется пять сетевых устройств, и каждое ведет свою трансляцию, например, это могут быть запросы ARP. Каждый раз, когда вы включаете свой компьютер, он сообщает в сеть свой MAC-адрес. Если свитч получает широковещательное сообщение от первого устройства, подсоединенного к порту #1, он читает его MAC-адрес, содержащийся в данном сообщении, и запоминает, что его первый порт подсоединен к данному конкретному адресу. На основании этой информации свитч создает запись в своей таблице MAC-адресов. Эту таблицу иногда называют CAM-таблицей, или таблицей ассоциативной памяти. Точно так же он поступает в отношении второго, третьего, четвертого, пятого сетевого устройства – как только свитч получает широковещательное сообщение с MAC-адресом, он тут же заносит его в свою таблицу, создав соответствующую запись.
Если какое-то сетевое устройство хочет связаться с каким-либо MAC-адресом, свитч проверяет, имеется ли запись об этом адресе в его таблице, и на основании этой информации принимает решение о пересылке данных. Давайте подробнее рассмотрим этот процесс.
Существует два типа решений о пересылке данных свитчем на втором (канальном) уровне модели OSI – это Cut Through, или сквозная пересылка, и Store & Forward – пересылка с промежуточным хранением. Рассмотрим, в чем состоит разница между этими двумя типами коммутации.
Предположим, что одно сетевое устройство собирается установить связь с другим устройством. Для этого оно отправляет фрейм, в котором содержится его MAC-адрес, MAC-адрес назначения и прочая необходимая информация. Как только свитч получает этот фрейм, он в первую очередь смотрит на MAC-адрес назначения, который находится в нескольких первых байтах фрейма, и сразу же осуществляет передачу этого фрейма порту назначения. Вот что представляет собой коммутация типа Cut Through.
Если используется тип передачи Store & Forward, свитч ждет, пока он не получит фрейм целиком. Затем он проверяет полученный фрейм на наличие ошибок, которые могли возникнуть в процессе передачи. Если ошибок нет, он передают фрейм порту назначения.
Некоторые люди считают, что режима Cut Through вполне достаточно, другие говорят: «нет, нам обязательно нужна проверка ошибок»! У этого вопроса нет однозначного решения, всё зависит от конкретной ситуации. Если вам нужна быстрая передача и вы хотите, чтобы свитч пересылал трафик как можно быстрее, вы используете режим коммутации Cut Through. Если вам нужен более надежный, проверенный трафик, вы используете Store & Forward.
Теперь давайте рассмотрим Loop Avoidance. Как вы помните, я уже говорил в одном из своих уроков, что когда свитч принимает широковещательное сообщение, он передает его на все порты. Сейчас я нарисовал 2 свитча и красными стрелками показал прием и передачу данных. Обычно вы соединяете один свитч с другим кабелем, образуя транк. Однако по мере роста сети вас перестает устраивать один кабель, по которому передаются данные, вы хотите ускорить процесс обмена трафиком и соединяете устройства вторым кабелем, создавая ещё один транк.
Конечно, вы можете физически отсоединить один кабель и оставить второй, и связь между свитчами при этом не прервется, однако большинство сетевых администраторов предпочитают использовать оба транка. Таким образом, для связи двух свитчей у нас имеется не один, а два пути, и такое соединение может привести к проблеме зацикленности пакетов. Она происходит, когда существует более одного пути на уровне 2 модели OSI между двумя конечными точками, например, когда два свитча имеют несколько соединений друг с другом или два порта свитча соединены друг с другом.
Сейчас я нарисую слева ещё одно устройство – компьютер. Когда этот компьютер осуществляет широковещательную трансляцию, свитч получает трафик и пересылает его на все свои порты. В нашем случае это означает, что левый свитч пошлет трафик и по верхнему, и по нижнему кабелю, которые подключены к двум его портам. Когда правый свитч получит трафик по верхнему кабелю, он отправит его на свой второй порт, к которому подключен нижний кабель, и этот трафик устремится обратно к левому свитчу. Когда до правого свитча доберется трафик от левого свитча по нижнему кабелю, правый свитч перенаправит его в свой первый порт, и поскольку это широкополосная передача, отправит его по верхнему кабелю левому свитчу.
В свою очередь, левый свитч, получив трафик от правого, перенаправит его на другой свой порт и отправит обратно, и проделает это для обеих портов, к которым подключены кабели. Данный процесс буде повторяться до бесконечности, то есть между двумя свитчами образуется замкнутая петля, или замкнутый цикл одного и того же трафика.
Обнаружить в системе зацикленный трафик очень трудно. Нет никаких индикаторов, которые бы показывали петлю трафика, в отличие от уровня 3 модели OSI, где имеется множество механизмов предотвращения зацикленности. Это происходит потому, что на 2 уровне модели OSI заголовки не поддерживают значение времени жизни фрейма TTL, и если фрейм зацикливается, то может жить вечно.
Кроме того, фильтр таблицы MAC-адресов свитча будет сбит с толку относительно местоположения устройства, потому что свитч получит фрейм из более чем одного канала связи и не сможет сопоставить его с каким-либо конкретным устройством.
Решить эту проблему помогает сетевой протокол Spanning-Tree Protocol, или STP, который предотвращает появление петель трафика в топологии сети. Подробно узнать об этом протоколе вы можете из статьи в Википедии, пока что вам достаточно будет ознакомиться с его концепцией. Протокол STP проверяет, не имеется ли у нас избыточного соединения. В нашем случае у нас есть 2 соединения между одними и теми же свитчами, то есть присутствует избыточность. На следующих видеоуроках я подробно расскажу вам, как работает STP, сейчас же просто скажу, что он действует по своим собственным правилам и логически отсоединяет лишний кабель. Физически оба кабеля остаются подключенными, но логически один из них отключается. Таким образом, оба порта, соединенные верхним кабелем, продолжают обмениваться трафиком, но один из портов, соединенных нижним кабелем, логически отключается.
Предположим, что соединение по верхнему кабелю по какой-то причине прервалось. В этом случае протокол STP тут же включает один из портов, соединенных нижним кабелем, и обмен данными продолжается без перебоев.
Я изложил вам очень краткую концепцию работы STP: это механизм, который отключает избыточное соединение. На этом слайде вы видите аналогию протокола STP – упавшее дерево перегородило дорогу, и дорога «прервалась».
В следующих видеоуроках мы будем возвращаться ко многим темам, которые кратко затронули в предыдущих сериях. Поэтому я говорю своим студентам, чтобы они не волновались, что мы пропустим что-то важное: это как строительство здания, когда никто не начинает красить стены первого этажа, пока не будут возведены остальные этажи. Я не знаю, сколько видеоуроков будет в нашем курсе, возможно 40 или 50, потому что если какая-то тема заинтересует вас больше, я посвящу ей отдельный урок. Просто поверьте, что с моей помощью вы овладеете всеми знаниями для получения сертификата CCNA и даже узнаете намного больше, чем это необходимо.
VLAN в Cisco
Материал из Xgu.ru
[править] Настройка VLAN на коммутаторах Cisco под управлением IOS
Коммутаторы Cisco ранее поддерживали два протокола 802.1Q и ISL. ISL — проприетарный протокол использующийся в оборудовании Cisco. ISL полностью инкапсулирует фрейм для передачи информации о принадлежности к VLAN’у.
В современных моделях коммутаторов Cisco ISL не поддерживается.
Создание VLAN’а с идентификатором 2 и задание имени для него:
[править] Настройка access портов
Назначение порта коммутатора в VLAN:
Назначение диапазона портов с fa0/4 до fa0/5 в vlan 10:
Просмотр информации о VLAN’ах:
[править] Настройка транка (trunk)
Для того чтобы передать через порт трафик нескольких VLAN, порт переводится в режим транка.
Режимы интерфейса (режим по умолчанию зависит от модели коммутатора):
По умолчанию в транке разрешены все VLAN. Для того чтобы через соответствующий VLAN в транке передавались данные, как минимум, необходимо чтобы VLAN был активным. Активным VLAN становится тогда, когда он создан на коммутаторе и в нём есть хотя бы один порт в состоянии up/up.
VLAN можно создать на коммутаторе с помощью команды vlan. Кроме того, VLAN автоматически создается на коммутаторе в момент добавления в него интерфейсов в режиме access.
В схеме, которая используется для демонстрации настроек, на коммутаторах sw1 и sw2, нужные VLAN будут созданы в момент добавления access-портов в соответствующие VLAN:
На коммутаторе sw3 access-портов нет. Поэтому необходимо явно создать все необходимые VLAN:
Для автоматического создания VLAN на коммутаторах, может использоваться протокол VTP.
[править] Настройка статического транка
Создание статического транка:
На некоторых моделях коммутаторов (на которых поддерживается ISL) после попытки перевести интерфейс в режим статического транка, может появится такая ошибка:
Это происходит из-за того, что динамическое определение инкапсуляции (ISL или 802.1Q) работает только с динамическими режимами транка. И для того, чтобы настроить статический транк, необходимо инкапсуляцию также настроить статически.
Для таких коммутаторов необходимо явно указать тип инкапсуляции для интерфейса:
И после этого снова повторить команду настройки статического транка (switchport mode trunk).
[править] Динамическое создание транков (DTP)
Dynamic Trunk Protocol (DTP) — проприетарный протокол Cisco, который позволяет коммутаторам динамически распознавать настроен ли соседний коммутатор для поднятия транка и какой протокол использовать (802.1Q или ISL). Включен по умолчанию.
Режимы DTP на интерфейсе:
Перевести интерфейс в режим auto:
Перевести интерфейс в режим desirable:
Перевести интерфейс в режим nonegotiate:
Проверить текущий режим DTP:
[править] Разрешённые VLAN’ы
По умолчанию в транке разрешены все VLAN. Можно ограничить перечень VLAN, которые могут передаваться через конкретный транк.
Указать перечень разрешенных VLAN для транкового порта fa0/22:
Добавление ещё одного разрешенного VLAN:
Удаление VLAN из списка разрешенных:
[править] Native VLAN
В стандарте 802.1Q существует понятие native VLAN. Трафик этого VLAN передается нетегированным. По умолчанию это VLAN 1. Однако можно изменить это и указать другой VLAN как native.
Настройка VLAN 5 как native:
Теперь весь трафик принадлежащий VLAN’у 5 будет передаваться через транковый интерфейс нетегированным, а весь пришедший на транковый интерфейс нетегированный трафик будет промаркирован как принадлежащий VLAN’у 5 (по умолчанию VLAN 1).
[править] Настройка маршрутизации между VLAN
Все настройки по назначению портов в VLAN, сделанные ранее для sw1, sw2 и sw3, сохраняются. Дальнейшие настройки подразумевают использование sw3 как коммутатора 3 уровня.
При такой схеме работы никаких дополнительных настроек на маршрутизаторе не требуется. Коммутатор осуществляет маршрутизацию между сетями разных VLAN, а на маршрутизатор отправляет трафик предназначенный в другие сети.
Настройки на коммутаторе sw3:
VLAN / интерфейс 3го уровня | IP-адрес |
---|---|
VLAN 2 | 10.0.2.1 /24 |
VLAN 10 | 10.0.10.1 /24 |
VLAN 15 | 10.0.15.1 /24 |
Fa 0/10 | 192.168.1.2 /24 |
Включение маршрутизации на коммутаторе:
Задание адреса в VLAN. Этот адрес будет маршрутом по умолчанию для компьютеров в VLAN 2:
Задание адреса в VLAN 10:
[править] Перевод интерфейса в режим 3го уровня
Интерфейс fa0/10 соединен с маршрутизатором. Этот интерфейс можно перевести в режим 3 уровня.
Перевод fa0/10 в режим интерфейса 3 уровня и задание IP-адреса:
R1 используется как шлюз по умолчанию для рассматриваемой сети. Трафик не предназначенный сетям VLAN’ов будет передаваться на R1.
Настройка маршрута по умолчанию:
[править] Просмотр информации
Просмотр информации о транке:
Просмотр информации о настройках интерфейса (о транке):
Просмотр информации о настройках интерфейса (об access-интерфейсе):
Просмотр информации о VLAN’ах:
[править] Диапазоны VLAN
VLANs | Диапазон | Использование | Передается VTP |
---|---|---|---|
0, 4095 | Reserved | Только для системного использования. | — |
1 | Normal | VLAN по умолчанию. Можно использовать, но нельзя удалить. | Да |
2-1001 | Normal | Для VLANов Ethernet. Можно создавать, удалять и использовать. | Да |
1002-1005 | Normal | Для FDDI и Token Ring. Нельзя удалить. | Да |
1006-4094 | Extended | Только для VLANов Ethernet. | Версия 1 и 2 нет, версия 3 да |
[править] Пример настройки
[править] Пример базовой настройки VLAN, без настройки маршрутизации
В этом разделе приведены конфигурационные файлы коммутаторов для изображенной схемы. На коммутаторе sw3 не настроена маршрутизация между VLAN, поэтому в данной схеме хосты могут общаться только в пределах одного VLAN.
Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Однако, они не могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.
Не все настройки являются обязательными. Например, перечисление разрешенных VLAN в транке не является обязательным для работы транка, однако, рекомендуется настраивать разрешенные VLAN явно.
Настройки транка на sw1 и sw2 немного отличаются от sw3. На sw3 не задается инкапсуляция для транка (команда switchport trunk encapsulation dot1q), так как в используемой модели коммутатора поддерживается только режим 802.1Q.
[править] Пример конфигураций с настройкой маршрутизации между VLAN
В этом разделе приведены конфигурационные файлы коммутаторов для изображенной схемы. На коммутаторе sw3 настроена маршрутизация между VLAN, поэтому в данной схеме хосты могут общаться как в пределах одного VLAN, так и между различными VLAN.
Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Кроме того, они могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.
Настройки коммутаторов sw1 и sw2 остались точно такими же, как и в предыдущем разделе. Добавились дополнительные настройки только на коммутаторе sw3.
[править] Настройка VLAN на маршрутизаторах Cisco
Передача трафика между VLAN может осуществляться с помощью маршрутизатора. Для того чтобы маршрутизатор мог передавать трафик из одного VLAN в другой (из одной сети в другую), необходимо, чтобы в каждой сети у него был интерфейс. Для того чтобы не выделять под сеть каждого VLAN отдельный физический интерфейс, создаются логические подынтерфейсы [1] на физическом интерфейсе для каждого VLAN.
На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как тегированный порт (в терминах Cisco — транк).
Изображенная схема, в которой маршрутизация между VLAN выполняется на маршрутизаторе, часто называется router on a stick.
IP-адреса шлюза по умолчанию для VLAN (эти адреса назначаются на подынтерфейсах маршрутизатора R1):
VLAN | IP-адрес |
---|---|
VLAN 2 | 10.0.2.1 /24 |
VLAN 10 | 10.0.10.1 /24 |
VLAN 15 | 10.0.15.1 /24 |
Для логических подынтерфейсов [1] необходимо указывать то, что интерфейс будет получать тегированный трафик и указывать номер VLAN соответствующий этому интерфейсу. Это задается командой в режиме настройки подынтерфейса:
Создание логического подынтерфейса для VLAN 2:
Создание логического подынтерфейса для VLAN 10:
Соответствие номера подынтерфейса и номера VLAN не является обязательным условием. Однако обычно номера подынтерфейсов задаются именно таким образом, чтобы упростить администрирование.
На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как статический транк:
[править] Пример настройки
Конфигурационные файлы устройств для схемы изображенной в начале раздела.
[править] Настройка native VLAN
По умолчанию трафик VLAN’а 1 передается не тегированым (то есть, VLAN 1 используется как native), поэтому на физическом интерфейсе маршрутизатора задается адрес из сети VLAN 1.
Задание адреса на физическом интерфейсе:
Если необходимо создать подынтерфейс для передачи не тегированного трафика, то в этом подынтерфейсе явно указывается, что он принадлежит native VLAN. Например, если native VLAN 99: