По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В 2012 году Джим Роскинд разработал новый транспортный протокол, основной целью которого было увеличение скорости, с которой данные могут передаваться по относительно стабильным высокоскоростным сетям. В частности: Сокращение трехстороннего рукопожатия до запуска одного пакета (нулевое рукопожатие) Уменьшение количества повторно передаваемых пакетов, необходимых для передачи данных Уменьшение блокировки заголовка между несколькими потоками данных в пределах одного потока TCP, вызванной потерей пакетов Уменьшение рукопожатия при запуске Как правило, значение rtt нельзя изменить, поскольку оно обычно ограничено физическим расстоянием и скоростью соединения между отправителем и получателем. Таким образом, один из лучших способов сократить общее время передачи данных - просто уменьшить количество циклов обмена, необходимых между отправителем и получателем для передачи заданного потока или блока данных. QUIC разработан для сокращения количества циклов приема-передачи, необходимых для установки нового соединения, от трехстороннего подтверждения TCP до процесса запуска с нулевым временем приема-передачи. Для этого QUIC использует серию криптографических ключей и хэшей; процесс состоит из: Клиент отправляет серверу приветствие (CHLO), содержащее требование подтверждения, которое представляет собой список типов сертификатов, которые клиент примет для проверки идентичности сервера; набор сертификатов, к которым у клиента есть доступ; и хэш сертификата, который клиент намеревается использовать в этом соединении. Одно конкретное поле, маркер адреса источника (STK) будет оставлено пустым, потому что раньше с этим сервером не было связи. Сервер будет использовать эту информацию для создания STK на основе информации, предоставленной в первоначальном приветствии клиента и исходном IP-адресе клиента. Сервер отправляет отклонение (REJ), которое содержит этот STK. Как только клиент получает STK, он включает его в будущие пакеты приветствия. Если STK совпадает с ранее использованным STK с этого IP-адреса, сервер примет приветствие. Примечание: Эта пара IP-адрес / STK может быть украдена, и, следовательно, исходный IP-адрес может быть подменен злоумышленником с доступом к любой связи с этой парой. Это известная проблема в QUIC, которая рассматривается в документации QUIC. Для сравнения, TCP требует, как минимум полтора rtts для создания нового сеанса: SYN, SYN-ACK, а затем следующий ACK. Сколько времени экономит при переходе на одно соединение rtt? Конечно, это зависит от реализации клиентского и серверного приложений. Однако многие веб-страницы и приложения для мобильных устройств должны подключаться к множеству разных серверов (возможно, к сотням) для создания единой веб-страницы. Если каждое из этих подключений уменьшить с полутора до одного RTT, это может значительно снизить производительность. Сокращение повторных передач QUIC использует ряд различных механизмов для уменьшения количества повторно передаваемых пакетов: Включая Forward Error Correction (FEC) во все пакеты; это позволяет получателю (часто) восстанавливать поврежденную информацию, а не запрашивать ее повторно. Использование отрицательных подтверждений (NACK) вместо SACK или механизма тройного ACK для запроса повторной передачи определенных порядковых номеров; это предотвращает неоднозначность между запросом на повторную передачу и условиями сети, которые вызывают отправку нескольких подтверждений. Использование быстрых подтверждений, как описано ранее для TCP. Использование управления окном предотвращения перегрузки CUBIC. Механизм предотвращения перегрузки CUBIC - самый интересный из них. CUBIC пытается выполнить двоичный поиск между последним размером окна перед отбрасыванием пакета и некоторым меньшим размером окна, рассчитанным с использованием множительного коэффициента. Когда обнаруживается потеря пакета (либо через тайм-аут RTO, либо через NACK), максимальный размер окна (WMAX) устанавливается равным текущему размеру окна, и вычисляется новый минимальный размер окна (WMIN). Окно отправителя устанавливается на WMIN, а затем быстро увеличивается до размера окна посередине между WMIN и WMAX. Как только окно достигает этой средней точки, размер окна очень медленно увеличивается при так называемом зондировании, пока не встретится следующий сброс пакета. Этот процесс позволяет CUBIC находить максимальную скорость передачи чуть ниже точки, в которой сеть начинает довольно быстро отбрасывать пакеты. Исключение блокировки начала строки "Единая транзакция" в Интернете часто является не "отдельной транзакцией", а скорее большим набором транзакций на нескольких разных серверах. Например, чтобы создать единую веб-страницу, сотни элементов, таких как изображения, скрипты, элементы каскадной таблицы стилей (CSS) и файлы языка гипертекстовой разметки (HTML), должны быть переданы с сервера на клиент. Эти файлы можно передавать двумя способами: последовательно или параллельно. Рисунок 1 иллюстрирует это. На рисунке 1 показаны три варианта передачи нескольких элементов от сервера к клиенту: В serialized варианте элементы передаются по одному в течение одного сеанса. Это самый медленный из трех возможных вариантов, так как вся страница должна быть построена поэлементно, при этом меньшие элементы ждут передачи больших, прежде чем их можно будет отобразить. В варианте с несколькими потоками (multiple streams) каждый элемент передается через отдельное соединение (например, сеанс TCP). Это намного быстрее, но требует создания нескольких подключений, что может негативно повлиять на ресурсы клиента и сервера. В мультиплексном (multiplexed) варианте каждый элемент передается отдельно через одно соединение. Это позволяет передавать каждый элемент с его собственной скоростью, но с дополнительными расходами ресурсов из-за опции нескольких потоков. Некоторые формы механизма мультиплексной передачи имеют тенденцию обеспечивать максимальную скорость передачи при наиболее эффективном использовании ресурсов, но как это мультиплексирование должно быть реализовано? Протокол передачи гипертекста версии 2 (HTTPv2) позволяет веб-серверу мультиплексировать несколько элементов в одном сеансе HTTP; поскольку HTTP работает поверх TCP, это означает, что один поток TCP может использоваться для параллельной передачи нескольких элементов веб-страницы. Однако один отброшенный пакет на уровне TCP означает, что каждая параллельная передача в потоке HTTP должна быть приостановлена на время восстановления TCP. QUICK решает эту проблему, позволяя нескольким потокам HTTP v2 находиться в одном быстром соединении. Это уменьшает транспортные издержки на клиенте и сервере, обеспечивая при этом оптимальную доставку элементов веб - страницы. Обнаружение MTU пути Одним из основных вопросов спора между асинхронным режимом передачи (ATM) и интернет-протоколом (IP) был фиксированный размер ячейки. В то время как IP-сети полагаются на пакеты переменной длины, ATM, чтобы обеспечить более высокую скорость коммутации и улучшить взаимодействие с множеством различных физических уровней Time Division Multiplexing (TDM), задал ячейки фиксированной длины. В частности, IPv4 обеспечивает не только пакет переменной длины, но и фрагментацию в процессе передачи. Рисунок 2 иллюстрирует это. На рис. 2 показано, что если A посылает пакет в направлении E, то какого размера он должен быть? Единственный канал, о котором действительно знает А, - это канал между собой и В, которое помечено как имеющее максимальный размер блока передачи 1500 октетов (Maximum Transmission Unit- MTU). Однако если A отправляет пакет длиной 1500 октетов, то этот пакет не сможет пройти через канал [C,D]. Есть два способа решить эту проблему. Первый заключается в том, что C фрагментирует пакет на два меньших пакета. Это возможно в IPv4; C может определить, что пакет не поместится на следующем канале, по которому пакет должен быть передан, и разбить пакет на два меньших пакета. Конечно, с этим решением есть ряд проблем. Например, процесс фрагментации пакета требует гораздо больше работы со стороны C, возможно, даже перемещение пакета из аппаратного пути коммутации в программный путь коммутации. Во-вторых, A никогда не отправляет пакет, превышающий минимальный MTU, по всему пути к E. Для этого A должен определить минимальный MTU на пути, и он должен иметь возможность фрагментировать информацию, отправляемую из протоколов верхнего уровня на несколько пакетов перед передачей. IPv6 выбирает этот последний вариант, полагаясь на обнаружение Path MTU (PMTU), чтобы найти минимальный MTU на пути (при условии, что PMTU действительно работает), и позволяя процессу IPv6 в A фрагментировать информацию из протоколов верхнего уровня на несколько пакетов, которые затем повторно собираются в исходный блок данных верхнего уровня в приемнике. Это решение, однако, также является проблемным. В недавней работе с системой доменных имен (DNS) исследователи обнаружили, что около 37% всех DNS- resolvers отбрасывают фрагментированные пакеты IPv6. Почему это происходит? Самый простой способ понять это-рассмотреть структуру фрагментированного пакета, а также природу DoS и DDoS атак. При передаче пакета, в пакет помещается заголовок, указывающий принимающую услугу (номер сокета или протокола какого-либо рода), а также информацию о передаваемой услуге. Эта информация важна для фильтрации пакета на основе различных политик безопасности, особенно если политика безопасности гласит: "разрешать только пакеты инициации сеанса в сеть, если пакет не принадлежит существующему сеансу." Другими словами, типичный фильтр с отслеживанием состояния, защищающий сервер, будет иметь некоторые основные правила, которым он следует: Если пакет инициирует новый сеанс, пересылайте его и создайте новую запись сеанса. Если пакет является частью существующего сеанса, перенаправьте его и сбросьте таймер сеанса. Если пакет не является частью существующего сеанса, отбросьте его. Время от времени очищайте старые сеансы. Возможно подделать пакет, похожий на настоящий, но это очень сложно, т.к. используются различные nonce и другие методы, чтобы препятствовать подобному поведению. Но фрагментация пакета удаляет заголовок из второй половины пакета, что фактически означает, что второй пакет во фрагментированной паре может быть присоединен только к определенному сеансу или потоку, отслеживая часть пакета, которая имеет полный заголовок. Как маршрутизатор или middlebox могут выполнить это? Он должен каким-то образом хранить копию каждого фрагмента пакета с заголовком где-нибудь в памяти, чтобы на пакет с заголовком можно было ссылаться для обработки любых будущих фрагментов. Как долго он должен хранить эти фрагменты с заголовками? На это нет ответа. Проще просто отбросить любые фрагменты, чем поддерживать состояние, необходимое для их обработки. Каков результат? Похоже, что даже фрагментация на основе исходного кода не очень полезна на уровне IP. Это должно напомнить об одном из основополагающих принципов пакета Интернет-протоколов: end-to-end принципе. End-to-end принцип гласит, что сеть не должна изменять трафик, передаваемый между двумя оконечными устройствами; или, скорее, сеть должна работать как черный ящик, соединяющий два устройства, никогда не изменяя данные, полученные от конечного хоста. Означает ли это, что вся фильтрация трафика должна быть запрещена в общедоступном Интернете, всерьез навязывая end-to-end правило, оставляя всю безопасность конечным хостам? Это представляет собой первоначальное обсуждения фильтрации пакетов в IPv6 с отслеживанием состояния. Однако это менее реалистичный вариант; более сильная защита - это не один идеальный файрволл, а скорее серия неидеальных файрволлов. Другая альтернатива - принять еще одну частичку реальности, о которой часто забывают в мире сетевой инженерии: утечка абстракций. Сквозной принцип описывает идеально абстрактную систему, способную передавать трафик от одного хоста к другому, и совершенно абстрагированный набор хостов, между которыми переносится трафик. Но утекают все нетривиальные абстракции; проблема MTU и фрагментации - это просто утечка состояния из сети в хост, а система на хосте пытается абстрагировать эту утечку в приложение, отправляющее трафик по сети. В такой ситуации лучше всего просто признать утечку и официально отправить информацию в стек, чтобы приложение могло лучше принять решение о том, как отправлять трафик. Другая альтернатива-принять еще одну частицу реальности, часто забываемую в мире сетевой инженерии: утечку абстракций. Сквозной принцип описывает идеально абстрагированную систему, способную передавать трафик от одного хоста к другому, и идеально абстрагированный набор хостов, между которыми осуществляется трафик. Но все нетривиальные абстракции протекают; проблема MTU и фрагментации-это просто утечка состояния из сети в хост, и система на хосте пытается абстрагировать эту утечку в приложение, отправляющее трафик по сети. В такой ситуации, возможно, лучше всего просто признать утечку и официально продвинуть информацию вверх по стеку, чтобы приложение могло принять лучшее решение о том, как отправлять трафик. Но это приводит к еще одному интересному вопросу для размышления: является ли описанная здесь фильтрация состояний предательством end-to-end принципа? Ответ зависит от того, считаете ли вы протокол верхнего уровня, отправляющий данные, конечной точкой, или систему, на которой работает приложение (следовательно, включая сам стек IP), конечной точкой. Так или иначе, эта двусмысленность преследовала Интернет с самых ранних дней, хотя мир сетевой инженерии не всегда серьезно задумывался о разнице между этими двумя точками зрения. ICMP Хотя транспортные протоколы, такие как TCP и QUIC, обычно привлекают наибольшее внимание среди протоколов среднего уровня, существует ряд других протоколов, которые не менее важны для работы сети на основе IP. Среди них - протокол ICMP, который, можно сказать, предоставляет метаданные о самой сети. ICMP - это простой протокол, который используется для запроса информации о конкретном состоянии или для отправки сетевыми устройствами информации о том, почему определенный пакет отбрасывается в какой-либо точке сети. В частности: ICMP может использоваться для отправки эхо-запроса или эхо-ответа. Эта функция используется для проверки связи с конкретным адресом назначения, который можно использовать для определения доступности адреса без использования слишком большого количества ресурсов на приемнике. ICMP можно использовать для отправки уведомления об отброшенном пакете из-за того, что он слишком велик для передачи по каналу (слишком большой пакет). ICMP может использоваться для отправки уведомления о том, что пакет был отброшен, поскольку его время жизни (TTL) достигло 0 (срок действия пакета истек при передаче). Ответ на слишком большой пакет можно использовать для определения максимального размера передаваемого блока (MTU) в сети; отправитель может передать большой пакет и дождаться, чтобы увидеть, не отправит ли какое-либо устройство в сети уведомление о слишком большом пакете через ICMP. Если такое уведомление приходит, отправитель может попробовать постепенно уменьшать пакеты, чтобы определить самый большой пакет, который может быть передан из конца в конец по сети. Ответ с истекшим транзитом может использоваться для отслеживания маршрута от источника до пункта назначения в сети (это называется трассировкой маршрута). Отправитель может передать пакет в конкретное место назначения, используя любой протокол транспортного уровня (включая TCP, UDP или QUIC), но с TTL равным 1. Сетевое устройство первого перехода должно уменьшить TTL и отправить обратно ICMP-сообщение с истекшим сроком действия в транзитном уведомлении отправителю. Отправляя серию пакетов, каждый с TTL на один больше, чем предыдущий, каждое устройство на пути может быть вынуждено передать отправителю сообщение ICMP с истекшим сроком действия в транзитном уведомлении, открывая весь путь пакета.
img
В настоящее время происходит рост потребности повышения уровня информатизации и увеличения количества узлов беспроводного доступа, особенно в информационно-коммуникационных технологиях. Пользователи, успешно использующие беспроводные информационные ресурсы, могут всегда и в любое время работать над самыми разными задачами, гораздо более эффективно, по сравнению с теми, кто до сих пор остаётся заложниками кабельных соединений для компьютерных сетей благодаря тому, что напрямую зависят от строго запланированной телекоммуникационной инфраструктуры. Беспроводные сети по сравнению с традиционными проводными решениями имеют преимущества, такие как: Просто создать и легко реализовать; Гибкость всей сети на уровне архитектуры, когда есть возможность изменения топологии сети без прерывания процесса, а также подключение, перемещение и отключение мобильных пользователей без потери драгоценного времени; Быстрота проектирования и ввод в эксплуатацию; Беспроводная сеть не нуждается в огромной массе кабелей и длительном прокладывании. Из-за быстрого развития беспроводных сетей появилась возможность осуществлять управление большинством привычных современных устройств. Благодаря этому взаимодействие населения и специальных служб, повышает эффективность работы многих учреждений путём использования электронных порталов. Оперативное реагирование общества на появление инновационных технологий оказывает положительное влияние на развитие городской инфраструктуры. Данные факторы положили начало развитию системы, которая в зарубежных вариантах называется, как "Smart City", что обычно называют "Умный город". Варианты использования таких систем не ограничиваются простым управлением привычных устройств, что позволяет объединить устройства в группы, а их, в свою очередь, в целые экосистемы с одним центром управления. Это позволяет осуществлять гибкую настройку различных действий по расписанию или при выполнении каких-то смежных действий. Например, интеллектуальные уличные фонари функционируют как точки беспроводного доступа к технологии Wi-Fi, оснащены камерой наблюдения, зарядными устройствами для электромобилей и телефонов и даже измеряют качество воздуха. Этот многозадачный уличный фонарь работает как датчик и привод, предоставляя услуги, которые улучшают качество жизни жителей, собирая важные данные об окружающей среде. При всем подобном разнообразии возможностей и удобстве современных технологий, они не лишены серьёзных недостатков. Беспроводные сети являются сетями повышенной опасности с точки зрения возможного наличия уязвимостей, которые могут использоваться осведомленными злоумышленниками, поэтому необходимо принимать комплексные меры по защите. Также существует проблема надежного хранения данных. Существует несколько подходов к реализации данной задачи: хранение данных на едином централизованном сервере, либо применение технологий распределенного хранения данных. Однако разные подходы не лишены своих недостатков. Хранение данных централизованно повышает: Риск кражи базы данных с целью анализа существующих записей и поиска коллизий для существующих хешей; Риск подмены данных для предоставления доступа к системе по ложным данным; Риск удаления данных с целью полного отказа работоспособности системы.
img
Вы помните из прошлых статей, что BGP был создан для поддержки многих различных протоколов и NLRI непосредственно с момента его возникновения. В результате чего BGP поддерживает такие технологии, как IPV6, MPLS, VPN и многое другое. Вы будете приятно удивлены тем, что как только вы овладеете основами BGP, которые мы рассмотрели в этом цикле статей, работа с BGP в IPv6 покажется очень простой! Предыдущие статьи цикла про BGP: Основы протокола BGP Построение маршрута протоколом BGP Формирование соседства в BGP Оповещения NLRI и политики маршрутизации BGP Масштабируемость протокола BGP Видео: Основы BGP за 7 минут BGP с IPv6 BGP настолько удивительно гибок, что, как обсуждалось ранее в этом цикле статей, можно использовать IPv4 в качестве «несущего» протокола для IPv6 NLRI. В данном случае мы рассматриваем IPv6 как «пассажирский» протокол. Давайте сначала рассмотрим конфигурацию и используем два простых маршрутизатора, как показано на рисунке 1. Рисунок 1: Простая топология для IPv6 протокола BGP Пример 1 показывает конфигурацию и проверку такой сети. Обратите внимание, что эта конфигурация требует установки соответствующего адреса следующего прыжка IPv6 для префиксного объявления. Это не требуется при использовании IPv6 как протокола «перевозчика», так и протокола «пассажира». Пример 1: IPv4 «перевозящий» IPv6 NLRI ATL#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL( config)#ipv6 unicast-routing ATL(config)#route-map IPV6NH permit 10 ATL(config-route-map)#set ipv6 next-hop 2001:1212:1212::1 ATL(config-route-map)#exit ATL(config)#int lo 100 ATL(config-if)#ipv6 address 2001:1111:1111: :/64 eui-64 ATL(config-if )#router bqp 200 ATL(config-router)#neiqhbor 10.10.10.2 remote-as 200 ATL(config-router) #address-family ipv4 unicast ATL(config-router-af)#neiqhbor 10.10.10.2 activate ATL(config-router-af)#address-family ipv6 unicast ATL(config-router-af)#neiqhbor 10.10.10.2 activate ATL(config-router-af)#neiqhbor 10.10.10.2 route-map IPV6NH out ATL(config-router-af)#network 2001:1111:1111: :/64 ATL(config-router-af)#end ATL# Пример 2 показывает проверку этой конфигурации на ATL 2. Обратите внимание, что поскольку EUI-64 действует на интерфейсе обратной связи ATL, вам нужно будет скопировать полный IPv6-адрес из этого интерфейса, чтобы выполнить тестирование командой ping. Пример 2: проверка настройки BGP IPv4/IPv6 ATL#show ip bgp ipv6 unicast ATL2#ping 2001:1111:1111:0:C801:6FF:FEDB:0 Как вы можете догадаться, гораздо более «чистая» конфигурация заключается в использовании IPv6 для передачи информации IPv6 префикса. «Чистая» - это имеется в виду гораздо простая конфигурация. Пример 3 демонстрирует эту конфигурацию. Обратите внимание, что были удалены все IPv4 с устройств, поэтому необходимо установить 32-битный router ID для BGP, поскольку он не может установить его автоматически из интерфейса на устройстве. Пример 3: проверка настройки BGP IPv4/IPv6 ATL1#conf t ATL1(config)#router bgp 200 *Jan 9 03:31:21.039: %BGP-4-NORTRID: BGP could not pick a router-id. Please configure manually. ATL1(config-router)#bgp router-id 1.1.1.1 ATL1(config-router)#neighbor 2001:1212:1212::2 remote-as 200 ATL1(config-router)#address-family ipv6 unicast ATL1(config-router-af)#neighbor 2001:1212:1212::2 activate ATL1(config-router-af)#network 2001:1111:1111::/64 ATL1(config-router-af)#end ATL1# Возможно, вам будет интересно проверить соседство BGP после настройки IPv6. Мы очень любим использовать команду show ip bgp summary для проверки настроек в IPv4. Для IPv6 используйте команду show bgp ipv6 unicast summary. Как вы помните из предыдущей части этой серии статей, существует много замечательных механизмов фильтрации, которые мы можем применить в IPv4 BGP. Замечательная новость заключается в том, что этот же набор методов, доступны и для IPv6. Ментоды включают в себя такие механизмы, как: Prefix lists AS Path Filtering Route maps Пример 4 показывает пример конфигурации фильтрации с использованием списка префиксов. Обратите внимание, что эта конфигурация действительно не требует от вас повторного изучения каких-либо технологий. Пример 4: фильтрация префиксов IPv6 в BGP ATL#conf t ATL(config)#ipv6 prefix-list MYTEST deny 2001:1111:1111::/64 ATL(config)#ipv6 prefix-list MYTEST permit ::/0 le 128 ATL(config)#router bgp 200 ATL(config-router)#address-family ipv6 unicast ATL(config-router-af)#neighbor 2001:1212:1212:: 2 prefix-list MYTEST out ATL(config-router-af)#end ATL# ATL#clear ip bgp *
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59