Теория по сетям

В данной статье будет описания ряда протоколов и технологий которые на мой взгляд
наиболее часто использую, достаточно коротко изложил (возможно какие то моменты упустил или на мой взгляд они оказались менее важными или не значительными)

HSRP and VRRP

HSRP протокол CISCO реализован поверх стека протоколов TCP/IP, для доставки служебной информации используется протокол UDP.
Маршрутизаторы или маршрутизирующие коммутаторы, на которых сконфигурирован и функционирует протокол HSRP, в рамках обмена служебной информацией используют так называемые пакеты приветствия (hello packets).
Есть ограничение по количеству VLAN не более 255 в ver 1 и до 4096 в ver2 В свою очередь, данные пакеты отправляются на IP-адрес групповой рассылки (multicast) 224.0.0.2 (HSRP Version 1) или на 224.0.0.102 (HSRP Version 2) по протоколу UDP на порт 1985. work Layer-3 IPV6 Yes VRRP Мастер расслка на 224.0.0.18. UDP порт 112 work Layer-3 IPV6 No
Перед тем как перейти из Активного роутера на Backup надо пройти ряд состояний : — disable — init — listen — speak — standby — active Hello пакеты отправляются каждые 3 секунды и в течение 10 секунд по умолчанию dead time Если упадет основной все перейдет на backup — а когда поднимиться backup без команды standby group preempt он назад не перейдет на бывший мастер

Так же есть возможность настройки из за уменьшения канала связи уменьшать приоритет роутера HSRP GLBP протокол CISCO (то же что и HSRP только усовершенствованный) Layer-2 + возможна балансировка трафика ^ рассылка мастера на 224.0.0.102 , UDP 3222 IPV6 Yes

 

VPC

MAC адреса синхронизируются между коробками — ip arp synchronize Peer-keepalive link — проверка живой или нет Есть поддержка FEX — Fabric Extender

 

IPS/IDP

IDS — это система информации об атаке , выявлении атаки (имеет свою базу атак и угроз) IPS- система для блокировки атаки ^ имеет кучу так называемых сенсоров для выявления и блокировки аномалий : Устанавливается фильтр в котором можно задать след параметры : это ip к которому будет применятся детекция протакол порог после которого SYN запрещены управление MSS количества сессий , пакетов , обьем трафика с 1 IP и т/д

 

 OSPF

Основан на состояние канала — метрику ставит (10mb 100mb 1000мб и т/д) Каждый роутер знает все сети своих соседей и у каждого роутера есть карта ВСЕЙ СЕТИ — и на основе этой инфы он просчитывает наилучший кратчайший без петель маршрут — по алгоритму Дейкстра.

Использование множества зон : Большой размер таблицы маршрутизации (т.к. OSPF не будет суммировать сети), приведёт к тому, что каждый проход по таблице будет занимать продолжительное время. Большой размер базы данных линков LSDB (т.к. каждый маршрутизатор в сети обязан будет знать о всех линках между всеми остальными маршрутизаторами), приведёт к перерасходу оперативной памяти. Время выполнения алгоритма построения дерева и поиска маршрутов очень сильно затянется из-за размера LSDB, кроме того, любое изменение в сети (например, если где-то на удалённом участке линк то появляется то пропадает), приведёт к полному перерасчёту OSPF на всех маршрутизаторах, а так как сеть большая – то такие перерасчёты могут происходить часто. То есть, нагрузка на процессор возрастёт.

Не более 50 маршрутизаторов на зону Не более трёх зон на маршрутизатор Не более 60 соседей у маршрутизатора Помещение лучших маршрутов в таблицу маршрутизации Так как на интерфейсах point-to-point есть только два соседа, то нет необходимости выбирать DR и BDR Пакеты OSPF отправляются на адрес 224.0.0.5 Вычисление кратчайшего пути осуществляется по алгоритму Дейкстра.

Алгоритм помещает все маршрутизаторы в корень дерева и рассчитывает кратчайший путь к каждому месту назначения на основе совокупной стоимости доступа к этому месту назначения. Каждый маршрутизатор имеет собственное представление топологии, но при этом все маршрутизаторы используют одну базу данных состояний канала для вычисления кратчайшего пути. LSA — Анонс Состояния Канала — пакет данных, содержащий маршрутную информацию и информацию о состоянии канала, которая распространяется между OSPF соседями — это обмен информацией о сетях . Соединять регионы можно только с 0 арией — в противном случае будет петля (вот этот момент может быть не точным)

LSA — база данных роутов 1-2 тип это обмен между роутерами в рамках одной зоны 3-4 тип это обмен данными между разными зонами 5 это обмен данными из external (BGP или еще чего) в ospf 7-11 это для ipv6 — то же самое Стадии OSPF установка соединенея Обемен LSA между роутерами Так же может отдельно запросить LSA для какой то конкретной сети если все ответы пришли то связь между роутерами переходит в стадию FULL (значит на все запрошенные LSA были получены ответы) Таймеры OSPF — они все должны быть одинаковые или соседи не сойдутся и не будет работать OSPF: по умолчанию 10 сек — hello пакет dead — 30 сек Так же если MTU разные то OSPF не будет работать Тем не менее раз в 30 мин отправляется LSA до BR and BDR — на тот случай если вдруг не заметили что кто то умер Может балансировать трафик (четный не четный пакет) только между линками равной стоимости Административная дистанция для 100мб и более = 1 — это менять можно cost или bandwith на интерфейсе Выбор BDR and DR происходит через ip ospf priority или через наибольшим значением RID

 

 Jumbo-кадр

По стандартам Ethernet максимальный размер ethernet-кадра составляет 1518 байт. В каждом кадре заголовки занимают по 18 байт, а данные (поле «payload») могут занимать до MTU = 1500 байт. Jumbo‑кадр — ethernet‑кадр, в котором поле «payload» может занимать от 1500 байт до 16 000 байт. Что б увеличить производительность (при каждой фрагментации пакета выделаються ресурсы на сервере и сети) и увеличить производительность

 

Infiniband ( конвергентные сети )

Иерархическая приоритизация трафика; Низкая латентность; Масштабируемость; Возможность резервирования;

STP

Выбор корневой маршрутизатор — по приоритету или по меньшему MAC адресу Выбор root порт — наименьшая приоритет до root маршрутизатора и порядковый номер интерфейса — они находятся в форвардинг и не блокируют трафик Выбор desegneiotn порт — все порты от root коммутатора а так же тот у кого будет наименьшая стоимость (сумма всех портов) до корневого коммутатора — если они одинаковы то учитывается младший MAC адрес Все остальные порты блокируюсят — так как они будут образовывать петли bloking listening learning forwarding 60 сек RSTP bloking learning forwarding 15 сек + роли портов Alternate — альтернативный линк к кортевому коммутатору + роли портов Backup — альтернативный (чуть больше стоимость чем у Designated порт ) Если на portfast — приходит хоть одна BPDU то порт перестает быть portfast pbdufilter — не будут отправлятся BPDU и приниматся (если этаже комманда задана глобально то в этот интерфейс будут отосланы BPDU 2 пакета для проверки — есть ли кто то там или нет ) lopguard — к примеру глюк STP — это если коммутатор увидит что его мак пришел на другой порт Если коммутатор не root он по факту не генерирует BPDU он их ретранслирует добавляя в них собственный идентификатор и увеличивая счётчик стоимости пути (path cost). — он их генерирует при изменениях на нем самом MSTP — тоже самое что и PVST+ по vlan + добавлено деление по регионам RSTP совместим с STP (там где будет STP на этом порту RSTP будет работать как STP) MSTP совместим с STP / RSTP — но луче их развести по разным регионам Если по истечению 3х интервалов helo (2 сек) не пришло ни какой инфы порт считает умершим Если произошло изменение топологии — этот коммутатор на котором произошло изменение топологии он генерит TCN — всем комутаторам после чего каждый коммутатор должен очистить свою MAC таблицу — это обеспечивает очистку устаревшей информации — за исключением того, который принял изменение топологии;(но несем проблемы в виде задержек и Unicast шторма)

 

 BGP

Дистанционно векторный протокол tcp port 179 Сообщения : open — установка соединения и договор о разных параметрах (версию ) NOTIFICATION — информирования соседа о каких то проблемах UPDATE — доступность тех или иных подсетей KEEPLIVE — сообщать о том все я живой — 60 сек , hooldtime — 90 сек Критерий выбора маршрута : — weigth and local Preference — задаются локально и ни кому не передаются по сети (max size) — по умолчанию local Preference равно 100 — Маршрут 0.0.0.0/0 рожденный на этом маршрутизаторе — локальный маршрут (или локально получен от IGP via redistribute) — ap-path — самый маленький путь (за исключением если используется bgp bestpath as-path ignore или AS_CONFED_SEQUENCE и AS_CONFED_SET) — Минимальное значение Origin (IGP< EGP < incomplete) — MED (мин значение и распространяется между AS) — Любые автономные подсистемы конфедерации игнорируются — выбрать путь через ближайшего Ebgp соседа — выбрать путь через ближайшего IGP соседа — Если оба пути внешние, предпочтение отдается пути, полученному первому (более старому). — выбрать пусть с наименьшим eBGP router ID — выбрать пусть с наименьшим eBGP ip В таблицу BGP записывается только один лучший маршрут Балансировка при равных маршрутах — задаем as-path max = 2 и до 16 ти next-hop-self — это правило заставляет задать свой IP (себя) в поле next-hop-self (а по идеи должен быть IP маршрутизатора который анонсировал этот маршрут)- как правло делают для передаче маршрута IBGP-соседу no synchronization — отключить проверку валидности каждого маршрута

DMVPN

Проприетарный Cisco — суть его в том что тунель создается динамический при необходимости (между точкой A и B — если данные не передаются тунель сам удалится) — может быть динамический адрес — есть более прогрессивная технология FlexVPN IPSec является неотъемлемой частью IPv6 2 алгоритма шифрования : — потоковый () — блочный (AES (размер блока 128 бит, ключ 128/192/256 бит) , DES — ключ с длиной 56 бит , 3DES , RSA — ) IPSEC — шифрует только данные : Протокол Internet Key Exchange (IKE) Протоколы IPsec (AH/ESP/both) AH, ESP — – протоколы защиты передаваемых данных AH — аутентификационный заголовок ESP — безопасное сокрытие данных IKE — протоколы обмена ключами (ISAKMP ) — (DH) группы Perfect Forward Secrecy позволяет удостовериться, что ключи, которые используются на второй фазе (то есть, для защиты данных), не были получены из ключей на первой фазе. При включенном PFS во время второй фазы выполняется генерация нового ключа с помощью алгоритма DH. PFS DH Group — длина ключа PFS. SA определяют, какие операции должны применяться к пакету. Они определяют: метод аутентификации, алгоритм шифрования, ключи шифрования и аутентификации, время жизни ключа шифрования, время жизни SA и номер последовательности (sequence number) для предотвращения повторений. Фазы IKE Фазы в IKE такие же как фазы в ISAKMP. Во время первой фазы создаются IKE SA для защиты второй фазы, а во время второй фазы создаются SA для IPsec.Фаза Xauth (опциональная) Участники могут меняться ролями между фазами. Инициатор первой фазы может быть ответчиком во время второй фазы AH используется для аутентификации отправителя информации — MD5 или SHA-1 Транспортный режим работы — начиная с транспортного (TCP) уровня и выше (тут шифруются только данные) Туннельный режим работы — обеспечивает защиту также и данных сетевого уровня путем добавления нового IP-заголовка (а тут шифруются и данные и IP заголовки — поэтому он более секурный ) Поддержка NAT состоит из двух частей: На уровне IKE конечные устройства обмениваются друг с другом информацией о поддержке, NAT Traversal и версией поддерживаемой спецификации На уровне ESP сформированный пакет инкапсулируется в UDP. NAT Traversal используется только в том случае, если обе точки поддерживают его. обе VPN-точки посылают хеши своих IP адресов вместе с UDP портом источника IKE согласования — что б определить был ли изменен IP Как только конечные точки определят, что необходим NAT Traversal, согласование IKE перемещаются с порта UDP 500 на порт 4500

 

 SSL/TLS

SSL — Secure Socket Layer TLS — Transport Layer Security — это новая реализация основана на SSL ver 3.0 Таким образом можно подписывать сертификатом много чего (www mail и т/д) Учитывая, что алгоритм шифрования является асимметричным, расшифровать последовательность может только сервер. При использовании асимметричного шифрования используется два ключа — приватный и публичный. Публичным отправляемое сообщение шифруется, а приватным расшифровывается. Расшифровать сообщение, имея публичный, ключ нельзя. Протокол SSL размещается между двумя протоколами: протоколом, который использует программа-клиент (HTTP, FTP, LDAP, TELNET etc) и транспортным протоколом TCP/IP Асимметричный шифр позволяет шифровать одним ключом, а расшифровывать другим Обычно используются алгоритмы DES, 3-DES, RC2, RC4 и AES.

Самыми известными хеш-алгоритмами являются MD5 (Message Digest 5), который создает 128-битное хеш-значение, SHA-1 (Standard Hash Algorithm), создающий 160-битное хеш-значение, SHA-2 и SHA-3. Фаза 1 В эти данные входят подписанный сертификат сервера, список базовых шифров и идентификатор соединения (случайное число, сгенерированное сервером, которое используется на протяжении всей сессии) Фаза 2 фазой аутентификации ,

 

 DMVPN

При добавлении новых маршрутизаторов в существующую сеть DMVPN, необходимо настроить только новый маршрутизатор, изменений на уже существующих маршрутизаторах не требуется. DMVPN позволяет использовать динамически назначенные IP-адреса на spoke-маршрутизаторах. Если двум spoke-маршрутизаторам необходимо установить туннель напрямую, то он устанавливается динамически. Суть технологии заключается в том, что на каждом узле сети настраивается только один туннельный интерфейс, который и организует затем необходимое количество туннелей автоматически — преобразуя топологию сети из «звезды» в полносвязную.

В основе DMVPN лежат несколько технологий: -mGRE-туннели; -Протокол NHRP (Next Hop Resolution Protocol); -Протоколы динамической маршрутизации; -Профили IPsec (IPsec profiles). mGRE-туннели : позволяет одному GRE-интерфейсу поддерживать несколько IPsec-туннелей и упрощает количество и сложность настроек, по сравнению с GRE-туннелями точка-точка. Кроме того, mGRE-интерфейс позволяет использовать динамически назначенные IP-адреса на spoke-маршрутизаторах. В качестве адреса отправителя в пакете выходящем из mGRE-интерфейса будет использоваться IP-адрес физического интерфейса, а адрес получателя будет выучен динамически с помощью протокола NHRP. Next Hop Resolution Protocol (NHRP) клиент-серверный протокол преобразования адресов, позволяющий всем хостам, которые находятся в NBMA(Non Broadcast Multiple Access)-сети, динамически выучить NBMA-адреса (физические адреса) друг друга обращаясь к next-hop-серверу (NHS). После этого хосты могут обмениваться информацией друг с другом напрямую.

Поддерживает authentication по паролю Hub-маршрутизатор хранит и обслуживает базу данных NHRP, в которой хранятся соответствия между физическими адресами и адресами mGRE-туннелей spoke-маршрутизаторов. При включении каждый spoke-маршрутизатор регистрируется на NHS и, при необходимости, запрашивает у сервера информацию об адресах других spoke-маршрутизаторов для построения spoke-to-spoke туннелей Network ID — характеристика локальная для каждого маршрутизатора (аналогия — OSPF process ID). Разные интерфейсы могут участвовать в разных NHRP сессиях; это просто разграничитель того, что сессия NHRP на одном интерфейсе не та что на другом. Соответственно, совершенно не обязательно, чтобы Network ID совпадали на разных маршрутизаторах.

RIP

RIPv1 и RIPv2 используют UDP порт 52 Для передачи сообщений RIPv1 в адресе получателя используется широковещательный адрес 255.255.255.255, а RIPv2 — мультикаст адрес 224.0.0.9. Update timer — частота отправки обновлений протокола, по истечению таймера отправляется обновление.

По умолчанию равен 30 секундам. Invalid timer — Если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как Invalid, то есть с метрикой 16. По умолчанию таймер равен 180 секундам. Flush timer (garbage collection timer) — По умолчанию таймер равен 240 секундам, на 60 больше чем invalid timer. Если данный таймер истечет до прихода обновлений о маршруте, маршрут будет исключен из таблицы маршрутизации. Если маршрут удален из таблицы маршрутизации то, соответственно, удаляются и остальные таймеры, которые ему соответствовали. Holddown timer — Запуск таймера произойдет после того, как маршрут был помечен как не достижимый. До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли и по этому маршруту передается трафик.

По умолчанию равен 180 секундам. Таймер не является стандартным, добавлен в реализации Cisco. Маршрутизатор отправляет каждые 30 секунд все известные ему маршруты соседним маршрутизаторам. Но, кроме этого, для предотвращения петель и для улучшения времени сходимости, используются дополнительные механизмы: Split horizon — если маршрут достижим через определенный интерфейс, то в обновление, которое отправляется через этот интерфейс не включается этот маршрут; Triggered update — обновления отправляются сразу при изменении маршрута, вместо того чтобы ожидать когда истечет Update timer; Route poisoning — это принудительное удаление маршрута и перевод в состояние удержания, применяется для борьбы с маршрутными петлями. Poison reverse — Маршрут помечается, как не достижимый, то есть с метрикой 16 и отправляется в обновлениях. В обновлениях RIPv2 могут передаваться до 25 сетей.

EIGRP

RTP управляет процессом отправки и получения пакетов EIGRP. RTP обеспечивает: Гарантированную доставку пакетов. Для этого используется проприетарный алгоритм Cisco, reliable multicast. Пакеты отправляются на multicast-адрес 224.0.0.10. Каждый сосед получивший такой пакет отправляет подтверждение отправителю пакета. Сохранение порядка пакетов.

В каждом пакете используется два номера последовательности (sequence). Каждый пакет включает в себя номер присвоенный ему отправителем. Этот номер увеличивается на единицу каждый раз, когда маршрутизатор отправляет новый пакет. Кроме того, отправитель помещает в пакет номер последнего полученного пакета от получателя. В некоторых случаях RTP использует не гарантированную доставку. В таких пакетах не проставляются номера последовательностей и они не требуют подтверждения о получении. EIGRP использует 5 типов сообщений: Hello — маршрутизаторы используют hello-пакеты для обнаружения соседей. Пакеты отправляются multicast и не требуют подтверждения о получении. Update — содержится информация об изменении маршрутов. Они отправляются только маршрутизаторам, которых касается обновление. Эти пакеты могут быть отправлены конкретному маршрутизатору (unicast) или группе маршрутизаторов (multicast). Получение update-пакета подтверждается отправкой ACK. Query — когда маршрутизатор выполняет подсчет маршрута и у него нет feasible successor, он отправляет query-пакет своим соседям для того чтобы определить нет ли feasible successor для этого destination у них.

Обычно query-пакеты отправляются multicast, но могут быть и unicast. Получение query-пакета подтверждается отправкой ACK получателем пакета. Reply — маршрутизатор отправляет reply-пакет в ответ на query-пакет. Reply-пакеты отправляются unicast тому, кто отправил query-пакет. Получение reply-пакета подтверждается отправкой ACK. ACK — пакет, который подтверждает получение пакетов update, query, reply. ACK-пакеты отправляются unicast и содержат в себе acknowledgment number. Фактически это hello-пакеты, которые не передают данных. Используется негарантированная доставка. На ethernet-интерфейсах и point-to-point интерфейсах hello-пакеты по умолчанию отправляются каждые 5 секунд, но с небольшим случайным отклонением, которое используется для того, чтобы между маршрутизаторами не было синхронизации в отправке hello-пакетов. Для того чтобы маршрутизаторы стали соседями должны выполняться такие условия: маршрутизаторы должны пройти аутентификацию, маршрутизаторы должны быть в одной AS, отношения соседства должны устанавливаться на primary-адресах (когда приходит hello-пакет, маршрутизатор проверяет принадлежит ли адрес отправителя сети на primary-адресе интерфейса), должны совпадать значения K-коэффициентов. Note-icon.gif Для того чтобы маршрутизаторы стали EIGRP-соседями у них не обязаны совпадать Hello и Hold time. Таблица соседей (neighbor table) — список непосредственно присоединенных маршрутизаторов (на которых работает EIGRP) с которыми маршрутизатор установил отношения соседства. Одна таблица соседей существует для каждого PDM. DUAL Diffusing Update Algorithm (DUAL) — логика которую использует EIGRP для вычисления новых маршрутов. Терминология: Advertised distance (AD) — стоимость расстояния между соседним маршрутизатором, который анонсирует маршрут и сетью назначения. Feasible distance (FD) — стоимость расстояния от локального маршрутизатора до сети назначения = AD, которое анонсирует соседний маршрутизатор + стоимость расстояния между локальным маршрутизатором и соседним маршрутизатором. Successor — соседний маршрутизатор с путем без петель и с наименьшей стоимостью пути к сети назначения. Feasible successor — резервный маршрутизатор с путем без петель (AD feasible successor должно быть меньше чем FD текущего маршрута successor).

Feasible condition — AD feasible successor должно быть меньше чем FD текущего маршрута successor. Если сосед сообщает локальному маршрутизатору о маршруте, то сосед должен использовать этот маршрут для передачи трафика. Другими словами, маршрутизатор отправляет соседям только те маршруты, которые сам использует (то есть, они находятся в таблице маршрутизации). Если в ответ на отправку любого multicast-пакета, который требует подтверждения о получении, не было отправлено подтверждение (ACK), то пакет будет передаваться unicast соседу, который не отвечает. Если подтверждение не было получено после того как отправлено 16 unicast пакетов, то сосед считается неактивным. Метрика EIGRP Метрика EIGRP основана на таких 5 компонентах (по умолчанию используются только два): Bandwidth — наименьшая bandwidth между source и destination (используется по умолчанию); Delay — cumulative interface delay всего пути; Reliability — наихудший показатель надежности на всем пути, на основании keepalive; Loading — наихудший показатель загрузки линка на всем пути, на основании packet rate и настроенной bandwidth на интерфейсе; MTU — наименьшее MTU на всем пути. MTU включается в обновления EIGRP, но фактически не используется для подсчета метрики. По умолчанию для подсчета метрики используются bandwidth и delay. Остальные критерии не рекомендуется использовать, так как это приведет к частым пересчетам маршрутов. для вычисления значения bandwidth : bandwidth = (10000000/bandwidth(i)) * 256 Формула для вычисления значения delay: delay = delay(i) * 256 EIGRP поддерживает несколько типов маршрутов, у каждого типа маршрута своё значение administrative distance: internal — внутренние маршруты EIGRP. AD — 90, external — маршруты, перераспределенные в процесс EIGRP из других источников. AD — 170, summary — суммарные маршруты EIGRP. AD — 5 (по умолчанию, может быть любое — задается администратором при написании команды суммирования). Leak-map Leak-map позволяет отдельно анонсировать специфический маршрут из суммарного маршрута. По умолчанию EIGRP выполняет балансировку нагрузки между 4 маршрутами с одинаковой метрикой. Для старых версий IOS это число настраивается в диапазоне от 1 до 6.

В поздних версиях количество одновременно используемых маршрутов увеличено до 16. Для того чтобы отключить балансировку нагрузки, надо установить количество маршрутов равным 1. Изменение количества маршрутов, между которыми выполняется балансировка нагрузки: dyn1(config-router)# maximum-paths 6 В зависимости от того как маршрутизатор обрабатывает пакет балансировка нагрузки выполняется per-packet или per-destination: Если пакет process-switched, то балансировка нагрузки выполняется per-packet. Если пакет fast-switched, то балансировка нагрузки выполняется per-destination. Балансировка нагрузки между маршрутами с разной метрикой EIGRP может распределять трафик между несколькими маршрутами с различной метрикой. Это регулируется заданием variance: dyn3(config-router)# variance 2 Значение variance может быть от 1 до 128. Это множитель, на который будет умножаться FD текущего лучшего маршрута для определения feasible маршрутов.

 

IPv6

IPv6 Адрес протокола IPv6 состоит из 128 бит, то есть, он в 4 раза длиннее 32-битного IPv4 адреса Добавлены новая группа Локальные адреса (Link-local — они не маршрутизируются в сети