Режимы портов в коммутаторах Cisco
Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим «не-cisco» оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk’а.
Dynamic Trunk Protocol (DTP) является проприетарным протоколом Cisco, обеспечивающим коммутационным устройствам возможность определять находится ли в состоянии поднятия trunk соседний коммутатор и какой протокол нужно задействовать ISL или 802.1Q. DTP включается по умолчанию.
load-interval 30
30 second input rate 397000 bits/sec, 224 packets/sec
30 second output rate 317000 bits/sec, 220 packets/sec
Средняя скорость входящего и исходящего трафика за период (в примере за 30 секунд). По умолчанию период усреднения 5 минут. Минимальный период — 30 секунд. Задается командой «load-interval» в режиме конфигурации интерфейса.
storm-control broadcast include multicast
Включает подавление многоадресной рассылки. Позволяет подавлять входящий многоадресный и широковещательный трафик на интерфейсе.
storm-control broadcast level 10.00
Задает верхние пороговые уровни для широковещательного трафика. Действие по управлению штормом происходит, когда использование трафика достигает этого уровня. Можно установить уровень Enter threshold
Устанавливает максимальный уровень широковещательного трафика в 10% от полосы пропускания. Порог так же можно устанавливать не только в процентах, но и в битах в секунду (bps).
storm-control action shutdown
Команда указывает на то, какое действие должно быть совершено, когда лимит широковещательного трафика в 10% (команда выше) будет достигнут — отключить порт (shutdown) . Если действие не указывать, то свитч будет просто фильтровать трафик, превышающий порог, и не отправлять никаких оповещений.
SNMP-трапы и сообщения в Syslog можно включить, если указать action trap.
spanning-tree portfast trunk
PortFast — этот режим предназначен для того, что бы «ускорить» инициализацию портов которые подключены к серверам или пользовательским станциям. В нормальном состоянии, без PortFast, порт на котором работает Spanning Tree перед включением в режим передачи данных проходит несколько довольно долгих фаз: blocked, listening, learning и только потом, где-то через 40-50 секунд после включения кабеля, он переходит в состояние forwarding и начинает передавать данные. Делается это для того, что бы если на порту окажется дублирующий линк, то Spanning Tree успел бы это понять, и в сети не возникло петли и наша сеть не «сломалась» пусть даже на короткое время.
Так же в некоторых случаях может понадобиться включить PortFast на trunk линках, например если данный транк ведёт к серверу, который принимает из него несколько VLAN’ов.
spanning-tree bpdufilter enable
Команда bpdufilter запрещает прохождение BPDU фреймов на порту. Bdpufilter фильтрует в обе стороны, т.е. коммутатор отбрасывает все входящие BPDU и не отправляет BPDU в порт.
BPDU
Блок данных протокола мостового перенаправления (Bridge Protocol Data Unit, BPDU) — фрейм (единица данных) протокола управления сетевыми мостами, IEEE 802.1d, базируется на реализации протокола основного дерева (Spanning Tree Protocol, STP).
storm-control broadcast level pps 1k
Для pps pps указывает возрастающий пороговый уровень для широковещательного ( broadcast ), многоадресного (multicast) или одноадресного (unicast) трафика в пакетах в секунду (packets per second — pps ) (до одного десятичного знака). Порт блокирует трафик при достижении возрастающего порога. Диапазон составляет от 0,0 до 10000000000,0.
[k|m|g] Enter rising threshold
storm-control multicast level pps 1k
Для pps pps указывает возрастающий пороговый уровень для широковещательного (broadcast), многоадресного ( multicast ) или одноадресного (unicast) трафика в пакетах в секунду (packets per second — pps ) (до одного десятичного знака). Порт блокирует трафик при достижении возрастающего порога. Диапазон составляет от 0,0 до 10000000000,0.
[k|m|g] Enter rising thresholdend
no lldp transmit
LLDP
Link Layer Discovery Protocol (LLDP) — протокол канального уровня, позволяющий сетевому оборудованию оповещать оборудование, работающее в локальной сети, о своём существовании и передавать ему свои характеристики, а также получать от него аналогичные сведения.
Отключение и включение LLDP на интерфейсе
LLDP включен по умолчанию на всех поддерживаемых интерфейсах для отправки и получения информации LLDP.
no lldp transmit — Пакеты LLDP не отправляются через интерфейс.
Реализации виртуальной локальной сети
Протокол динамического создания транкового канала (Dynamic trunking protocol, протокол DTP)
Транковые интерфейсы Ethernet поддерживают различные транковые режимы. Интерфейс может быть установлен в транковый или нетранковый режим либо настроен для согласования транковой связи с соседним интерфейсом. Согласование транкового канала выполняется протоколом динамического создания транкового канала (DTP), который действует только по принципу сквозного подключения между устройствами сети.
Протокол DTP — это запатентованный протокол Cisco, который автоматически включён на коммутаторах Catalyst 2960 и Catalyst 3560. Коммутаторы других производителей не поддерживают DTP. DTP управляет транковым согласованием только в случае, если порт соседнего коммутатора настроен в режиме транка, который поддерживает DTP.
Внимание! Некоторые межсетевые устройства могут пересылать кадры DTP неправильно, из-за чего могут возникнуть ошибки конфигурации. Чтобы этого избежать, отключите DTP на интерфейсах коммутатора Cisco, который подключён к устройствам, не поддерживающим DTP.
Как показано на рис. 1, по умолчанию функция DTP для коммутаторов Cisco Catalyst серии 2960 и 3560 настроена на динамический автоматический режим на интерфейсе F0/3 коммутаторов S1 и S3.
Для того чтобы включить транковую связь от коммутатора Cisco к устройству, которое не поддерживает DTP, используйте команды режима конфигурации интерфейса switchport mode trunk и switchport nonegotiate . Команда преобразует интерфейс в транковый канал, но не позволяет ему создавать кадры DTP.
На рис. 2 канал между коммутаторами S1 и S2 становится транковым, поскольку порты F0/1 на коммутаторах S1 и S2 настроены для игнорирования всех объявлений DTP и перехода в режим транкового порта. Порты F0/3 на коммутаторах S1 и S3 настроены на динамический автоматический режим, поэтому после согласования они будут переведены в состояние режима доступа. Таким образом, создаётся неактивный транковый канал. При настройке порта в транковый режим используйте команду switchport mode trunk . Всегда ясно, в каком состоянии находится транк: он всегда в рабочем состоянии. С этой конфигурацией несложно запомнить, в каком состоянии находятся транковые порты. Если порт должен быть транковым, то и режим настроен на транковый.
Switchport nonegotiate что это
Dynamic Trunking Protocol помогает автоматически создавать trunk между двумя устройствам Cisco. В случае, когда на двух портах включен DTP, и хотя бы один из них переведен в режим desirable, два коммутатора согласуют организацию trunk на этой линии связи. Не следует путать DTP и VLAN Trunking Protocol (VTP), хотя VTP домен действительно играет значение для DTP.
Кадр DTP имеет достаточно простую структуру , по существу анонсируется VTP домен, статус интерфейса, и его DTP тип. Эти кадры передаются в native (или access) VLAN каждые 60 секунд в случае если на порту включен DTP.
DTP включен по умолчанию на всех современных коммутаторах Cisco. Возникает вопрос «зачем?». Действительно ли вы хотите, чтобы коммутаторы создавали trunk по собственной инициативе? Скорее всего нет, по нескольким причинам.
Во первых, использование DTP часто говорит о некачественном дизайне т.к. trunk должны быть там, где запланировано и только там. Во вторых, оставить порты в режиме DTP — значит создать брешь в безопасности. Все что будет необходимо злоумышленнику, это отправить корректный DTP кадр на access порт, преобразовав его тем самым в trunk. Тем самым злоумышленник получит доступ ко всем vlan, на этом коммутаторе, которые разрешены на этом порту (по умолчанию все). К счастью, этих двух проблем можно избежать настроив статический режим порта «access» или «trunk» — что является по сути best practice.
! Access port Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10
! Trunk port Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk encapsulation dot1q
Однако, даже если порт настроен таким образом, DTP все равно активен на порту. Если вы попытаетесь настроить trunk между двумя коммутаторами в разных VTP доменах и получите следующее сообщение о ошибке, благодарите DTP:
%DTP-5-DOMAINMISMATCH: Unable to perform trunk negotiation on port Fa0/1 because of VTP domain mismatch.
Помните, что кадр DTP содержит имя VTP домена. Коммутатор не сможет создать trunk на порту с включенным DTP с коммутатором у которого отличается имя домена DTP, даже в случае статической настройки Trunk. К счастью, можно полностью отключить DTP на парту:
Switch(config-if)# switchport nonegotiate
Тренинг 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 и даже узнаете намного больше, чем это необходимо.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
- Блог компании ua-hosting.company
- Хостинг
- IT-инфраструктура
- Cisco
- Сетевые технологии