Switch operations – часть 2

cable-nightmareЧестно скажу, не сразу решился писать вторую часть, так как она будет, в какой-то степени, дублировать мою предыдущую статью – http://twistedminds.ru/2012/12/tcam/, однако здравый смысл победил лень. Ну и повторение – мать учения, ага. В этой части мы более подробно поговорим про CAM и TCAM таблицы и их структуру, выясним что такое LOU, не забыв снабдить все это дело сочным примером. So, let’s go.

Content-Addressable Memory

Из пакета/фрейма только-только упавшего на входящий порт в CAM таблицу попадает доселе неизвестный коммутатору MAC адреса источника. Это мы знаем из предыдущей статьи. Вместе с этим MAC адресом в таблицу попадает еще и timestamp, указывающий на то, когда этот адрес был заучен. CAM таблицы довольное большие, но не бесконечные, по этому через 300 секунд (значение по умолчанию) данные из CAM таблицы будут удалены в том случае, если данное устройство не давало о себе знать.

Read more

Switch operations – часть 1

cable-nightmareДавным давно, в то время пока я пускал слюни в уютной детской кроватке, устройству для того, чтобы отправить данные надо было убедиться в том, что в данный конкретный момент времени никто не вещает на общем сегменте сети. За то, может ли устройство вести передачу отвечал протокол CSMA/CD – Carrier Sense Multiple Access with Collision Detect, а сами устройства оперировали в режиме half-duplex, т.е. могли либо вещать, либо слушать несущую в каждый конкретный момент времени. Более того, если одно устройство создавало фрейм с ошибкой все остальные устройство получали этот фрейм. Весь скоп устройств в такой сети назывался Collision Domain.

К счастью времена концентраторов (hub) канули в Лету, домен коллизий уменьшился до порта коммутатора и устройства, непосредственно присоединенного к этому порту. Устройства получили возможность работать в full-duplex, т.е. получать и передавать данные одновременно, а ошибки в фреймах теперь фильтруются непосредственно на ASIC, к которому подключен порт(ы) и не распространяются  на всю сеть. Ты хороший пакет, у тебя годный CRC? Значит мы повторим тебя на исходящем порту (store-and-forward метод – пакеты приходят на входящий порт, поступают на хранения для инспекции и только затем перенаправляются на исходящий). Идиллия? Идиллия!

Read more

Cisco QoS – классификация и маркировка

qos logoРазличия между классификацией пакетов и маркировкой есть и они весьма существенны. Когда устройство смотрит на содержимое пакета, адрес отправителя, адрес получателя или на любую другую информацию содержащуюся в пакете и затем помещает этот пакет в отдельный класс на основании изученных сведений – это классификация.

Маркировка – есть своеобразное окрашивание трафика в зависимости от важности. В процессе маркировки устройство записывает определенную информацию в тело пакета или фрейма для того, чтобы помочь вышестоящим устройствам принимать решения по классификации без необходимости определять тип трафика снова.

Является ли маркировка обязательной для работы QoS? Нет, но она помогает сохранить ресурсы других устройств в сети, занимающихся коммутацией или маршрутизацией, так как поиск определенных полей в заголовке пакета операция во много раз более дешевая, чем анализ l5-l7 с помощью того же NBAR. Именно по этому Cisco советует маркировать пакеты как можно ближе к источнику трафика, в том случае если вы ему доверяете. Если телефон в состоянии маркировать свой трафик – отлично, пусть это будет телефон.

Read more

Cisco QoS для самых маленьких

QoSЯ всегда считал Quality of Service (QoS) чем-то из разряда “не дадим войсу квакать, не дадим изображению по вкс развалиться”, однако более глубокое изучение вопроса, откровенно говоря, приятно удивило. Количество средств по манипуляции трафиком, а так же различные методы предоставления гарантированного качества канала нужным приложениям сразу дали понять – нахрапом эту крепость не взять.

С чем полезен и с чем помогает справиться QoS?

  • Маленькая пропускная способность канала – не всегда у нас на руках оказывается тот канал, который позволит и youtube в HD посмотреть и корпоративным приложениям работать адекватно.
  • Потеря критичных пакетов в следствии заторов.
  • Задержки (delay) – время, которое требуется пакету чтобы попасть от источника к получателю. Так, к примеру, 400ms RTT для голоса еще туда-сюда, а вот с значениями, которые превышают этот порог вы получите эффект накладывающегося голоса.
  • Джиттер (jitter) или изменение задержки с течением времени. Сейчас у вас 100ms, а через минуту 200ms. Поздравляю, у вас теперь 100ms jitter, который превращается в задержку просто потому, что железкам нужно держать пакет в буфере какое-то время для обеспечения плавности того же разговора.

    Read more

TCAM в коммутаторах Cisco

Дорогие читатели. В процессе подготовки к CCNP Switch я написал несколько статей, которые наиболее полно объясняют место и функции TCAM. Не смотря на то, что статьи весьма развесистые, я рекомендую вам ознакомится именно с ними: 1 2 3

Коммутаторы Cisco Catalyst используют внутреннюю архитектуру, построенную на Ternary Content Addressable Memory (тут и далее TCAM), которая применяется для коммутации, маршрутизации, фильтрации и тп:

  • Если найдено вхождение в CAM по MAC адресу получателя происходит коммутация фрейма.
  • Если найдено вхождение по IP адресу происходит маршрутизация пакета.
  • Если найдено вхождение по паре адресов отправителя и получателя и/или портов, то такое успешное вхождение можно использовать для ACL, QoS или PBR.

Перед тем, как мы перейдем к TCAM давайте поговорим о CAM таблицах.

Read more