По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Весь шум сосредоточен вокруг больших данных. И молодые, и опытные компании вовсю изучают новый подход к решению проблем с помощью «больших данных». Но что такое эти большие данные? И как можно воспользоваться растущим спросом на знания и технологии, касающиеся больших данных? Данные – это информация. Большие данные – это много информации. Ключевыми различиями между просто данными и большими данными заключается в объеме, скорости и многообразии. Как правило, большие данные – это более подробная информация с большим количеством отдельных компонентов, которые собираются за более короткий период времени. Источники больших данных часто являются новыми, но могут охватывать и более старые потоки данных. В наше время мы создаем больше данных, чем когда-либо прежде. Эти данные содержат ценную информацию, которую мы можем использовать для улучшения различных систем и процессов. Специалисты по обработке данных, аналитики и инженеры собирают и анализируют данные для того, чтобы сделать обоснованные и полезные выводы. Далее мы более подробно рассмотрим большие данные, а также технологии, которые лежат в их основе, проблемы их использования и многое другое. Примеры больших данных Как мы уже говорили ранее, большие данные содержат ценную информацию. Результаты анализа этих данных помогают компаниям лучше обслуживать своих клиентов и зарабатывать больше денег. Именно из-за этого большие данные часто используют в маркетинге. Многие из наших действий в Интернете отслеживаются, от нашей активности в социальных сетях до наших покупательских привычек. Маркетологи используют эти данные для таргетированной рекламы, продвижения товаров и услуг, соответствующих вашим интересам. Большие данные также используются в сфере здравоохранения. Вспомните хотя бы все эти устройства, которые мы сегодня используем, от Apple Watch до Fitbits. Эти устройства способны отслеживать частоту сердечных сокращений, дыхание, режим сна и многое другое – и даже предупреждать вас о любых изменениях, которые вас интересуют. Кроме того, врачи могут использовать данные с этих устройств для создания более полных профилей здоровья и для предоставления лучшего лечения для своих пациентов. Примеры больших данных можно найти в транспортной и автомобильной отраслях. Беспилотные автомобили и грузовики используют данные о погоде и дорожных условиях, информацию о транспортных средствах и пешеходах и многое другое для повышения безопасности и эффективности. Как вы можете видеть, большие данные обладают огромным потенциалом, способным улучшить наше общество. Но прежде чем использовать большие данные, их необходимо обработать. Обработка больших данных Так как большие данные очень обширны и детальны, их необходимо обработать, прежде чем анализировать для получения информации. Процесс обработки включает в себя сбор и сравнение данных их нескольких источников, их очистку от ошибок или дубликатов и многое другое. После того, как большие данные будут обработаны, специалисты по обработке данных просматривают их в поисках любых значимых закономерностей. Очень часто этот процесс основан на машинном обучении. Затем используются методы визуализации данных, чтобы упростить понимание результатов анализа. Также немаловажную роль в анализе данных играет статистика, так как помогает понять взаимосвязь между данными и вероятными результатами. Языки программирования больших данных За инструментами, которые специалисты по обработке данных используют для сбора, обработки, анализа и визуализации больших данных, стоит несколько языков программирования. Каждый из языков имеет свои собственные преимущества. Вот некоторые из наиболее популярных языков программирования, используемых для больших данных: Python Python - простой язык для изучения и один из самых популярных языков, используемых в науке о данных. Поэтому существует множество библиотек Python, которые предназначены для обработки, анализа и визуализации данных. Эти библиотеки существенно упрощают работу с большими данными. Python также можно использовать для статистического анализа, и он широко используется в машинном обучении – это два важнейших компонента науки о данных. Java Java является не менее полезным языком для больших данных. Некоторые из популярных инструментов для работы с большими данными написаны именно на Java. Они являются свободными, гибкими и бесплатными, что делает Java очень привлекательным для всех, кто работает с большими данными. JavaScript JavaScript – это один из основных языков программирования для веб-разработки. Он позволяет делать веб-сайты интерактивными и динамичными, а не статичными. Преимущества JavaScript делают его полезным для представления и визуализации данных в Интернете. JavaScript часто используется для обмена большими данными и упрощения их понимания. C/C++ С и С++ - невероятно полезные языки программирования. И хотя С был изобретен в начале 1970-х, а С++ - в середине 1980-х, программисты со знанием С и С++ по-прежнему пользуются большим спросом. И на это есть веская причина. Когда речь идет о скорости, то С++ часто оказывается лучшим вариантом. Одно из ключевых преимуществ языков программирования С – это быстрая обработка больших объемов данных. Когда необходимо получать информацию быстро в некоторых случаях, то С++ может оказать лучшим выбором. R Неотъемлемой частью получения достоверных и полезных выводов является статистический анализ больших данных. R отлично справляется со статистическим анализом и визуализацией. R является предпочтительным вариантом для анализа данных, когда необходимо применить сложную статистику. SQL SQL используется для доступа к информации, которая хранится в базах данных. Язык был разработан для оперирования с большими базами данных со связями между различными переменными из разных наборов данных. Часто SQL используется для простого доступа к большим объемам хранимых данных. Проблемы, связанные с большими данными С большими данными приходят большие проблемы. Входящие данные, которые необходимо проанализировать, могут оказаться структурированными, неструктурированными или чем-то средним между тем и тем. Структурированные данные четко определены, например, день рождения или количество проданных товаров в день. И их намного проще обрабатывать и интерпретировать. Неструктурированные данные сложно понять, и они нуждаются в дополнительной интерпретации, чтобы стать полезными. Хорошим примером неструктурированных данных обычно является текст электронного письма или твита. Одна из проблем больших данных заключается лишь в том, что просто необходимо осмыслить огромный объем доступной информации. Именно алгоритмы для понимания ключевого смысла текста являются основной частью извлечения информации из больших данных. Также серьезными проблемами является конфиденциальность и безопасность. Часто кажется, что мы слышим о краже личной информации от тысяч людей еженедельно. Большие данные требуют новых инструментов и методов для обеспечения безопасности информации. Потеря контроля над информацией может нанести ущерб репутации компании, а также может привести к различным юридическим и финансовым последствиям. Огромной проблемой также можно считать хранение и обработку данных. При наличии больших объемов данных, которые быстро меняются, требуется быстрый доступ и интерпретация. Часто для этой цели используют облачное хранилище, но оно может создавать дополнительные проблемы со скоростью, стоимостью и доступностью. Узнайте больше о больших данных Возможностей в области больших данных очень много, и спрос на специалистов по обработке данных, вероятно, будет только расти, так как онлайн-мир продолжает производить все больше информации. Если вас заинтересовала работа с большими данными, то первый шаг – это научиться работать с некоторыми языками программирования из списка выше.
img
В этом материале расскажем, как можно фильтровать маршруты, анонсируемые протоколом динамической маршрутизации EIGRP. Данный материал предполагает, что у читателя есть начальные навыки работы с сетью или как минимум знания на уровне CCNA. Поэтому о том, что такое динамическая маршрутизация в этом материале не будет рассказано, так как тема достаточно большая и займет не одну страницу. Теперь представим, что мы работаем в большой компании с сотнями серверов, десятками филиалов. Мы подняли сеть, настроили динамическую маршрутизацию и все счастливы. Пакеты ходят куда надо, как надо. Но в один прекрасный день, нам сказали, что на маршрутизаторах филиалов не должно быть маршрутов к сетям отдела производства. На рисунке ниже представлена упрощенная схема нашей вымышленной сети. Конфигурацию всех устройств из этой статьи (для каждой ноды) можно скачать в архиве по ссылке ниже. Скачать конфиги тестовой лаборатории Мы конечно можем убрать из-под EIGRP указанные сети, но в этом случае из сетей в головном офисе тоже не будет доступа к сетям отдела производства. Именно для таких случаев была придумана такая возможность, как фильтрация маршрутов. В EIGRP это делается командой distribute-list в конфигурации EIGRP. Принцип работы distribute-list (список распределения) прост: список распределения работает по спискам доступа (ACL), спискам префиксов (prefix-list) или карте маршрутов (route-map). Эти три инструмента определяют будут ли анонсироваться указанные сети в обновлениях EIGRP или нет. В команде distribute-list также можно указать направление обновлений: входящие или исходящие. Также можно указать конкретный интерфейс, где должны фильтроваться обновления. Полная команда может выглядеть так: distribute-list acl [in | out][interface-type interface-number] Фильтрация маршрутов с помощью списков доступа Первым делом рассмотрим фильтрацию с помощью ACL. Фильтрация маршрутов EIGRP с помощью списков ACL основан на разрешающих и запрещающих действиях списков доступа. То есть, чтобы маршрут анонсировался, в списке доступа он должен быть указан с действием permit, а deny, соответственно, запрещает анонсирование маршрута. При фильтрации, EIGRP сравнивает адрес источника в списке доступа с номером подсети (префиксом) каждого маршрута и принимает решение на основе действий, указанных в ACL. Чтобы лучше узнать принцип работы приведём примеры. Для фильтрации маршрутов, указанных на рисунке выше нужно создать ACL, где каждый указанный маршрут сопровождается командой deny, а в конце следует прописать permit any, чтобы остальные маршруты могли анонсироваться: access-list 2 deny 10.17.32.0 0.0.1.255 access-list 2 deny 10.17.34.0 0.0.0.255 access-list 2 deny 10.17.35.0 0.0.0.127 access-list 2 deny 10.17.35.128 0.0.0.127 access-list 2 deny 10.17.36.0 0.0.0.63 access-list 2 deny 10.17.36.64 0.0.0.63 access-list 2 permit any А на интерфейсе настройки EGRP прописываем: distribute-list 2 out s4/0 Проверим таблицу маршрутизации до и после применения указанных команд. Фильтрацию будем проводить на WAN маршрутизаторах. Как видим все маршруты до сети отдела Производства видны в таблице маршрутизации филиала. Теперь применим указанные изменения: И посмотрим таблицу маршрутов роутера филиала еще раз: Все маршруты в отдел производства исчезли из таблицы маршрутизации. Правда, можно было обойтись и одной командой в списке доступа, но для наглядности решили прописать все адреса. А более короткую версию можете указать в комментариях к этому посту. Кстати, фильтрацию в данном примере мы применили на один интерфейс, но можно применить и на все интерфейсы, на которых включен EIGRP. Для этого команду distribute-list нужно ввести без указания конкретного интерфейса. distribute-list 2 out Следует отметить, что для правильной работы фильтрации в нашей топологии на маршрутизаторе WAN2 нужно прописать те же настройки, что и на WAN1. Фильтрация маршрутов с помощью списка префиксов В Cisco IOS есть еще один инструмент, который позволяет осуществлять фильтрацию маршрутов prefix-list-ы. Может возникнуть вполне логичный вопрос: а чем не угодили списки доступа? Дело в том, что изначально ACL был разработан для фильтрации пакетов, поэтому для фильтрации маршрутов он не совсем подходит по нескольким причинам: списки IP-префиксов позволяют сопоставлять длину префикса, в то время как списки ACL, используемые командой EIGRP distribution-list, нет; Использование расширенных ACL может оказаться громоздким для конфигурирования; Невозможность определения совпадения маски маршрута при использовании стандартных ACL; Работа ACL достаточно медленна, так как они последовательно применяется к каждой записи в маршрутном обновлении; Для начала разберёмся в принципе работы списка префиксов. Списки IP префиксов позволяют сопоставлять два компонента маршрута: адрес сети (номер сети); длину префикса (маску сети); Между списками доступа и списками префиксов есть общие черты. Как и нумерованные списки доступа, списки префиксов могу состоять из одной и более команд, которые вводятся в режиме глобальной конфигурации и нет отдельного режима конфигурации. Как и в именованных списках доступа, в списках префиксов можно указать номер строки. В целом команда выглядит так: ip prefix-list list-name [ seq seq-value ] { deny | permit prefix / prefix-length } [ ge ge-value ] [ le le-value ] Коротко работу списка префиксов можно описать так: Адрес сети маршрута должен быть в пределах, указанных в команде ip prefix-list prefix/prefix-length. Маска подсети маршрута должна соответствовать значениям, указанным в параметрах prefix-length, ge, le. Первый шаг работает также как и списки доступа. Например, написав ip prefix-list TESTLIST 10.0.0.0/8 мы скажем маршрутизатору, что адрес сети должен начинаться с 10. Но списки префиксов всегда проверяют и на соответствие длины маски сети указанным значениям. Ниже приведено пояснение параметров списка IP-префиксов: Параметр prefix-list-а Значение Не указан 10.0.0.0/8; Маска сети должна быть равной длине, указанной в параметре prefix/prefix-length. Все маршруты, которые начинаются с 10. ge и le (больше чем, меньше чем) 10.0.0.0/8 ge 16 le 24 Длина маски должна быть больше 16, но меньше 24. А первый байт должен быть равен 10-ти. le меньше чем 10.0.0.0/8 le 24 Длина маски должна быть от восьми до 24-х включительно. ge больше чем 10.0.0.0/8 ge 24 Длина маски должна быть равна или больше 24 и до 32-х включительно. Учтите, что Cisco требует, чтобы параметры prefix-length, ge и le соответствовали следующему равенству: prefix-length <= ge-value <= le-value (8<=10<=24). А теперь перейдем непосредственно к настройке фильтрации с помощью списка префиксов. Для этого в интерфейсе конфигурации EIGRP прописываем distribute-list prefix prefix-name. Воспользуемся той же топологией и введём некоторые изменения в конфигурацию маршрутизатора WAN1, точно такую же конфигурацию нужно прописать и на WAN2. Итак, наша задача: отфильтровать маршруты в сети 10.17.35.0 и 10.17.36.0; отфильтровать маршруты сетей точка-точка так, чтобы маршрутизаторы в филиалах и на коммутаторах ядра (Core1 и Core2) не видели сети с длиной маски /30 бит. Так как трафик от пользователей в эти сети не идет, следовательно, нет необходимости анонсировать их в сторону пользователей. Для этого создаем prefix-list с названием FILTER-EIGRP и добавим нужные сети: ip prefix-list FILTER-EIGRP seq 5 deny 10.17.35.0/24 ge 25 le 25 ip prefix-list FILTER-EIGRP seq 10 deny 10.17.36.0/24 ge 26 le 26 ip prefix-list FILTER-EIGRP seq 15 deny 0.0.0.0/0 ge 30 le 30 ip prefix-list FILTER-EIGRP seq 20 permit 0.0.0.0/0 le 32 Удалим из конфигурации фильтрацию по спискам доступа и проверим таблицу маршрутизации: А теперь применим наш фильтр и затем еще раз проверим таблицу маршрутизации: Как видим из рисунка, маршрутов в сети 10.17.35.0, 10.17.36.0 и сети для соединений точка-точка между сетевыми устройствами в таблице уже нет. А теперь объясним что мы сказали маршрутизатору: ip prefix-list FILTER-EIGRP seq 5 deny 10.17.35.0/24 ge 25 le 25 Все сети, которые начинаются на 10.17.35 и имеют длину 25 бит запретить. Под это условие попадают сети 10.17.35.0/25 и 10.17.35.128/25. Длине префикса /25 соответствует маска 255.255.255.128. ip prefix-list FILTER-EIGRP seq 10 deny 10.17.36.0/24 ge 26 le 26 Все сети, которые начинаются на 10.17.36 и имеют длину 26 бит запретить. Под это условие попадают сети 10.17.36.0/26 и 10.17.36.64/26. Длине префикса /26 соответствует маска 255.255.255.192. ip prefix-list FILTER-EIGRP seq 15 deny 0.0.0.0/0 ge 30 le 30 Все сети, длина префикса которых равна 30 бит - запретить. В нашей топологии под это условие попадают сети 10.1.1.0/30, 10.1.1.4/30, 10.1.2.0/30, 10.1.2.4/30 все сети которые начинаются на 10.9.2. ip prefix-list FILTER-EIGRP seq 20 permit 0.0.0.0/0 le 32 Все сети, префикс которых имеет длину до 32-х бит разрешить. Под это условие попадают все остальные сети топологии. Фильтрация маршрутов с помощью route-map Далее пойдет речь о картах маршрутов или route-map-ах. В целом, в работе сети route-map-ы используются довольно часто. Этот достаточно гибкий инструмент дает возможность сетевому инженеру тонко настраивать маршрутизацию в корпоративной сети. Именно поэтому следует хорошо изучить принцип их работы, чем мы и займемся сейчас. А дальше покажем, как фильтровать маршруты с помощью этого инструмента. Route-map применяет логику похожую на логику if, else, then в языках программирования. Один route-map может включать в себя несколько команд route-map и маршрутизатор выполняет эти команды поочередно согласно номеру строки, который система добавляет автоматически, если не был указан пользователем. После того как, система нашла соответствие маршрута условию и определила разрешить анонсирование или нет, маршрутизатор прекращает выполнение команды route-map для данного маршрута, даже если дальше указано другое условие. Каждый route-map включает в себя критерии соответствия, который задается командой match. Синтаксис route-map выглядит следующим образом: route-map route-map-name {permit | deny} seq sequence-number match (1st set of criteria) Как и в случае с ACL или prefix-list, в route-map тоже можно указать порядковый номер строки для добавления или удаления соответствующего правила. В команде match можно указать ACL или prefix-list. Но тут может возникнуть недоразумение. А связано оно с тем, как обрабатываются route-map Cisco IOS. Дело в том, что решение о запрете или допуске маршрута основано на команде deny или permit команды route-map. Другими словами, маршрут будет обработан route-map-ом если в ACL или prefix-list-е данный маршрут сопровождается командой permit. Иначе, route-map проигнорирует данную запись и перейдет к сравнению со следующим условием route-map. Поясним на примере: access-list 101 permit 10.17.37.0 0.0.0.255 access-list 102 deny 10.17.35.0 0.0.0.127 route-map Test permit 5 match ip-address 101 route-map Test deny 10 match ip-address 102 В данном случае маршрут 10.17.37.0 будет обработан route-map 5, а маршрут 10.17.35.0 будет проигнорирован, так как в списке доступа под номером 102 он запрещён и не попадёт под критерий соответствия route-map. Приведём ключевые пункты работы route-map при фильтрации маршрутов: Команда route-map с опцией permit либо разрешит анонсирование маршрута, если он соответствует критерию, указанному в команде match, либо пропустит для обработки следующим пунктом. Команда route-map с опцией deny либо запретит анонсирование маршрута, если он соответствует критерию, указанному в команде match, либо пропустит для обработки следующим пунктом. Если команда match основывается на ACL или prefix-list-ы, а в ACL или prefix-list-ах указанный маршрут прописан с действием deny, то маршрут не будет отфильтрован. Это будет означать, что маршрут не соответствует критерию, указанному в команде match и его нужно пропустить для обработки следующим пунктом. В конце каждого route-map существует явный запрет; чтобы пропустить все маршруты, которые не попали под критерии, нужно указать команду route-map с действием permit без опции match. Для того чтобы задействовать route-map в фильтрации маршрутов используется та же команда distribute-list с опцией route-map route-map-name. Внесём некоторые изменения в конфигурацию маршрутизатора WAN1. Точно такие же изменения нужно будет сделать на WAN2. Используем те же префикс-листы, что и в предыдущем примере с незначительными редактированиями: ip prefix-list MANUFACTURING seq 5 permit 10.17.35.0/24 ge 25 le 25 ip prefix-list MANUFACTURING seq 10 permit 10.17.36.0/24 ge 26 le 26 ip prefix-list POINT-TO-POINT seq 5 permit 0.0.0.0/0 ge 30 le 30 После внесения изменений маршрутов в сеть производства, а также в сети точка-точка таблице маршрутизации на роутерах филиалов не окажется. Также на Core1 не будет маршрута до сетей point-to-point: Мы рассмотрели фильтрацию маршрутов в EIGRP тремя способами. Хорошим тоном считается использование списка префиксов, так как они заточены именно под эти цели. А использование карты маршрутизации или route-map-ов неэффективно из-за большего количества команд для конфигурации. В следующем материале рассмотрим фильтрацию в домене OSPF.
img
Определение проблемного пространства Сетевые инженеры часто сталкиваются с проблемой слишком большого трафика для слишком малого канала связи. В частности, почти в каждом пути через сеть одно звено ограничивает весь путь, так же как один перекресток или одна дорога ограничивает поток трафика. Рисунок ниже иллюстрирует это. На рисунке A обменивается данными с G, а B обменивается данными с E. Если каждая из этих пар устройств использует близкую к доступной полосе пропускания на своих локальных каналах ([A, C], [B, C], [F, G] и D, E]), предполагая, что все каналы имеют одинаковую скорость, канал [C, D] будет перегружен трафиком, превратившись в узкую точку в сети. Когда канал перегружен, например канал [C, D] на рисунке ниже, по каналу будет отправлено больше трафика, чем пропускная способность канала. Во время перегрузки сетевое устройство, такое как маршрутизатор или коммутатор, должно определять, какой трафик следует перенаправить, какой отбросить и в каком порядке следует пересылать пакеты. Для решения этой проблемы были созданы различные схемы приоритезации. Управление перегрузкой каналов путем приоритизации одних классов трафика над другими входит в широкий раздел качества обслуживания (QoS). Восприятие QoS среди сетевых инженеров вызывает беспокойство по многим причинам. Например, многие реализации, даже недавние, как правило, не так хорошо продуманы, как могли бы быть, особенно в том, как они настроены и поддерживаются. Кроме того, ранние схемы не всегда работали хорошо, и QoS часто может добавить проблем в сети, а не облегчить их, и, как правило, очень трудно устранить неполадки. По этим причинам, а также из-за того, что конфигурация, необходимая для реализации схем приоритезации, имеет тенденцию к непостижимости, QoS часто считается темным искусством. Чтобы успешно реализовать стратегию QoS, вы должны классифицировать трафик, определить стратегию организации очередей для различных классов трафика и согласованно установить стратегию на всех сетевых устройствах, которые могут испытывать перегрузку каналов. Хотя можно погрузиться во множество различных функций и функций схем и реализаций QoS, результат всегда должен быть одним и тем же. Почему бы просто не сделать линии связи достаточно большими? После обдумывания ценностного предложения QoS очевидной реакцией будет вопрос, почему сетевые инженеры просто не выбирают достаточно большие линии связи, чтобы избежать перегрузки. В конце концов, если бы линии связи были достаточно большими, перегрузка исчезла бы. Если перегрузка исчезнет, исчезнет необходимость отдавать приоритет одному типу трафика над другим. Весь трафик будет доставлен, и все эти досадные проблемы, связанные с недостаточной пропускной способностью, будут устранены. Действительно, избыточное выделение ресурсов, возможно, является лучшим QoS из всех. К сожалению, стратегия избыточного обеспечения не всегда является доступным вариантом. Даже если бы это было так, самые большие доступные каналы связи не могут преодолеть определенные модели трафика. Некоторые приложения будут использовать столько пропускной способности, сколько доступно при передаче данных, создавая точку перегрузки для других приложений, совместно использующих линию связи. Другие будут передавать в микроперерывах, подавляющих сетевые ресурсы в течение короткого времени, и некоторые транспортные механизмы-такие как протокол управления передачей (TCP)-будут намеренно собирать путь время от времени, чтобы определить наилучшую скорость передачи данных. В то время как более крупная линия связи может сократить время существования состояния перегрузки, в некоторых сценариях нет такой вещи, как наличие достаточной полосы пропускания для удовлетворения всех требований. Большинство сетей построены на модели избыточной подписки, когда некоторая совокупная пропускная способность распределяется в определенных узких местах. Например, коммутатор Top of Rack (ToR) в загруженном центре обработки данных может иметь 48 портов 10GbE, обращенных к хостам, но только 4 порта 40GbE, обращенных к остальной части центра обработки данных. Это приводит к коэффициенту переподписки 480:160, который уменьшается до 3:1. Неявно, 160 Гбит/с полосы пропускания центра обработки данных является потенциальным узким местом - точкой перегрузки - для 480 Гбит/с полосы пропускания хоста. И все же соотношение переподписки 3:1 является обычным явлением в схемах коммутации центров обработки данных. Зачем? Окончательный ответ - часто деньги. Часто можно спроектировать сеть, в которой граничные порты соответствуют доступной пропускной способности. Например, в структуре центра обработки данных, приведенной выше, почти наверняка можно добавить достаточную пропускную способность канала, чтобы обеспечить 480 Гбит / с из ToR в структуру, но стоимость вполне может быть непомерно высокой. Сетевой инженер должен учитывать не только стоимость порта и оптоволокна, но и стоимость дополнительного питания, а также стоимость дополнительного охлаждения, необходимого для управления окружающей средой после добавления необходимых дополнительных устройств, и даже затраты дополнительного места в стойке и веса пола. Затраты денег на обеспечение более высокой пропускной способности сети также могут быть трудно оправданы, если сеть редко перегружена. Некоторые события перегрузки не являются достаточно частыми, чтобы оправдать дорогостоящее обновление сети. Будет ли город тратить миллионы или миллиарды долларов на улучшение транспортной инфраструктуры, чтобы облегчить движение раз в год, когда политик приезжает с визитом? Нет. Вместо этого для решения проблемы с трафиком вносятся другие корректировки. Например, компании могут наиболее остро столкнуться с этим ограничением в глобальных сетях, где каналы арендуются у поставщиков услуг (SP). Частично поставщики услуг зарабатывают деньги на объединении разрозненных географических регионов для организаций, которые не могут позволить себе прокладывать и использовать оптоволоконные кабели большой протяженности самостоятельно. Эти линии дальней связи обычно предлагают гораздо более низкую пропускную способность, чем более короткие, местные линии связи в одном кампусе или даже в одном здании. Высокоскоростное соединение в университетском городке или центре обработки данных может легко перегрузить более медленные каналы дальней связи. Организации будут устанавливать максимально возможные размеры дальних (таких как межсайтовые или даже межконтинентальные) линий связи, но, опять же, важно помнить о деньгах. В мире избыточной подписки и последующих точек перегруженности, а также временных моделей трафика, которые требуют тщательного управления, схемы приоритизации трафика QoS всегда будут необходимы. Классификация Схемы приоритизации QoS действуют на различные классы трафика, но что такое класс трафика и как он определяется? Классы трафика представляют собой агрегированные группы трафика. Потоки данных из приложений, требующих аналогичной обработки или представляющих аналогичные схемы трафика в сети, помещаются в группы и управляются политикой QoS (или классом обслуживания, CoS). Эта группировка имеет решающее значение, поскольку было бы трудно определить уникальные политики QoS для потенциально бесконечного числа приложений. С практической точки зрения сетевые инженеры обычно группируют трафик в четыре класса. Конечно, возможны и другие классы, и такие схемы существуют в производственных сетях. Однако управление системой классификации и политическими действиями становится все более утомительным по мере того, как число классов превышает четыре. Каждый пакет может быть отнесен к определенной CoS на основе адреса источника, адреса назначения, порта источника, порта назначения, размера пакета и других факторов. Предполагая, что каждое приложение имеет свой собственный профиль или набор характеристик, каждое приложение может быть помещено в определенный CoS и действовать в соответствии с локальной политикой QoS. Проблема с этим методом классификации трафика заключается в том, что классификация является только локально значимой-действие классификации относится только к устройству, выполняющему классификацию. Такая классификация пакетов требует много времени, а обработка каждого пакета потребует больших вычислительных ресурсов. Поэтому лучше не повторять эту обработку на каждом устройстве, через которое проходит пакет. Вместо этого лучше один раз классифицировать трафик, пометить пакет в этой единственной точке и действовать в соответствии с этой маркировкой на каждом последующем переходе в сети. Примечание: Несмотря на то, что пакеты и кадры в сети различны, в этой статье будет использоваться термин пакеты. Были разработаны и стандартизированы различные схемы маркировки, такие как 8-битное поле типа обслуживания (ToS), включенное в заголовок Интернет-протокола версии 4 (IPv4). Версия 6 того же протокола (IPv6) включает 8-битовое поле класса трафика, служащее аналогичной цели. Кадры Ethernet используют 3-битное поле как часть спецификации 802.1p. На рисунке показано поле ToS IPv4. В наилучшей сетевой практике классификация трафика должна приводить к одному действию и только к одному действию-маркировке. Когда пакет помечен, присвоенное значение может сохраняться и действовать на протяжении всего пути следования пакета по сетевому пути. Классификация и последующая маркировка должны быть "одноразовым" событием в жизни пакета. Лучшая практика QoS - рекомендуется маркировать трафик, как близко к источнику, насколько это возможно. В идеале трафик будет помечен в точке входа в сеть. Например, трафик, поступающий в сетевой коммутатор с персонального компьютера, телефона, сервера, устройства Интернета вещей и т. д. будет помечена, и метка будет служить классификатором трафика на пути следования пакета по сети. Альтернативная схема классификации и маркировки трафика входящим сетевым устройством заключается в том, что приложение само маркирует свой собственный трафик. Другими словами, пакет отправляется с уже заполненным байтом ToS. Это поднимает проблему доверия. Следует ли разрешить приложению ранжировать собственную важность? В худшем случае все приложения эгоистично помечают свои пакеты значениями, указывающими наивысшую возможную важность. Если каждый пакет помечен как очень важный, то на самом деле ни один пакет не является особо важным. Чтобы один пакет был более важным, чем любой другой, должна быть дифференциация. Классы трафика должны иметь разные уровни важности, чтобы схемы приоритезации QoS имели какое-либо значение. Для сохранения контроля над классификацией трафика все сети, реализующие QoS, имеют границы доверия. Границы доверия позволяют сети избежать ситуации, когда все приложения помечают себя как важные. Представьте, что произошло бы на перегруженной дороге, если бы у каждого автомобиля были мигающие аварийные огни - действительно важные автомобили не выделялись бы. В сети некоторым приложениям и устройствам доверяют отмечать свой собственный трафик. Например, IP-телефонам обычно доверяют соответствующим образом маркировать свой потоковый голосовой трафик и трафик протокола управления, то есть метки, которые IP-телефоны применяют к своему трафику, принимаются входным сетевым устройством. Другие конечные точки или приложения могут быть ненадежными, что означает, что байт ToS пакета стирается или перезаписывается при входе. По умолчанию большинство сетевых коммутаторов стирают метки, отправленные им, если они не настроены на доверие определенным устройствам. Например, производителям, помещенным в пакет сервером, часто доверяют, а маркировкам, установленным конечным хостом, - нет. На рисунке ниже показана граница доверия. На рисунке 3 пакеты, передаваемые B, помечены AF41. Поскольку эти пакеты исходят от хоста в домене доверия QoS, маркировка остается, пока они проходят через D. Пакеты, исходящие от A, помечаются EF; однако, поскольку A находится за пределами доверенного домена QoS, эта маркировка удаляется в D. Пакеты в пределах доверенного домена, исходящие из A, рассматриваются как немаркированные с точки зрения QoS. Маркировка протокола физического уровня и верхнего уровня может быть связана, а может и не быть. Например, маркировка верхнего уровня может быть скопирована в маркировку нижнего уровня, или маркировка нижнего уровня может быть перенесена через сеть, или маркировка нижнего уровня может быть удалена. Существует множество различных возможных реализаций, поэтому вы должны быть осторожны, чтобы понять, как маркировка обрабатывается на разных уровнях, а также на каждом переходе. Хотя операторы сети могут использовать любые значения, которые они выбирают в байте ToS для создания различных классов трафика, часто лучше придерживаться некоторых стандартов, таких как значения, определенные стандартами IETF RFC. Эти стандарты были определены для того, чтобы дать сетевым инженерам логическую схему, позволяющую надлежащим образом различать множество различных классов трафика. Две из этих схем "Per Hop Behavior" появляются в RFC2597, Assured Forwarding (AF), и RFC3246, Expedited Forwarding (EF), а также в различных других RFC, обновляющих или уточняющих содержание этих основополагающих документов. Оба эти RFC определяют схемы маркировки трафика, включая точные значения битов, которые должны заполнять байт ToS или байт класса трафика IP-заголовка, чтобы указать конкретный тип трафика. Они известны как точки кода дифференцированного обслуживания или значения DSCP. Например, схема гарантированной пересылки RFC2597 определяет 12 значений в побитовой иерархической схеме для заполнения восьми битов в поле байта ToS. Первые три бита используются для идентификации класса, а вторые три бита определяют приоритет отбрасывания. Последние два бита не используются. Таблица 1 иллюстрирует маркировку кода для нескольких классов AF. В таблице 1 показано значение бита DSCP для AF11, трафика класса 1 с низким приоритетом отбрасывания, равным 001 010, где "001" обозначает класс 1, а "010" обозначает приоритет отбрасывания. Изучение таблицы более глубоко раскрывает бинарный паттерн, выбранный авторами RFC. Весь трафик класса 1 помечается 001 в первых трех битах, весь класс 2-010 в первых трех битах и т. д. Весь трафик с низким приоритетом отбрасывания помечается 010 во-вторых трех битах, весь трафик со средним приоритетом отбрасывания-100 во-вторых трех битах и т. д. Схема гарантированной пересылки показана в таблице 2 для примера. Это не исчерпывающий список кодовых точек, используемых при классификации трафика QoS. Например, схема выбора класса, описанная в RFC2474, существует для обратной совместимости со схемой маркировки приоритета IP. Приоритет IP использует только первые три бита байта ToS, всего восемь возможных классов. Селектор классов также использует восемь значений, заполняя первые три бита шестибитового поля DSCP значимыми значениями (соответствующими устаревшей схеме приоритета IP), а последние три бита - нулями. В таблице 2 показаны эти селекторы классов. RFC3246 определяет требования к задержке, потерям и джиттеру трафика, который должен быть перенаправлен быстро, вместе с единственной новой кодовой точкой - EF, которой присвоено двоичное значение 101 110 (десятичное 46). Количество и разнообразие формально определенных значений DSCP может показаться ошеломляющим. Комбинированные определения AF, CS и EF сами по себе приводят к формальным определениям для 21 различных классов из возможных 64, использующих шесть битов поля DSCP. Ожидается ли, что сетевые инженеры будут использовать все эти значения в своих схемах приоритезации QoS? Следует ли разбивать трафик с такой высокой степенью детализации для эффективного QoS? На практике большинство схем QoS ограничиваются от четырех до восьми классов трафика. Различные классы позволяют обрабатывать каждую группу по-своему во время перегрузки. Например, один класс трафика может быть сформирован так, чтобы соответствовать определенному порогу пропускной способности. Другой класс трафика может иметь приоритет над всем остальным трафиком. Еще один может быть определен как критически важный для бизнеса или трафик, который важнее большинства, но менее важен, чем некоторые. Трафик сетевого протокола, критичный для стабильности инфраструктуры, можно рассматривать как очень высокий приоритет. Класс трафика scavenger может находиться в конце списка приоритетов, получая немного больше внимания, чем немаркированный трафик. Схема, включающая эти значения, вероятно, будет представлять собой сочетание кодовых точек, определенных в различных RFC, и может несколько отличаться от организации к организации. Обычно принятые значения включают EF для критического трафика с требованием своевременности, например VoIP, и CS6 для трафика управления сетью, такого как протоколы маршрутизации и резервирования на первом этапе. Немаркированный трафик (т.е. значение DSCP, равное 0) доставляется по принципу "максимальных усилий", без каких-либо гарантий уровня обслуживания (обычно это считается классом scavenger, как указано выше).
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59