По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В небольших сетевых устройствах с одним сетевым процессом (ASIC или NPU) переместить пакет из входной очереди в выходную просто. Оба интерфейса ввода и вывода используют общий пул памяти пакетов, поэтому указатель на пакет может быть перемещен из одной очереди в другую. Для достижения большего количества портов и более крупных устройств - особенно устройств шасси - должна быть внутренняя шина или матрица, которая соединяет механизмы обработки входных и выходных пакетов. Одним из распространенных типов структуры, используемой для соединения механизмов обработки пакетов в сетевом устройстве, является структура матрицы; Рисунок ниже иллюстрирует это. Размер и структура полотна матрицы зависят от количества подключенных портов. Если в коммутаторе больше портов, чем возможно для подключения через одну матрицу кросс-панелей, то коммутатор будет использовать несколько структур кросс-панелей. Распространенной топологией для такого типа полотна является многоступенчатая закрытая структура, соединяющая входную и выходную полотна матрицы вместе. Вы можете думать об этом как о матрице из матриц. Для работы матрицы требуется чувство времени (или, скорее, фиксированный временной интервал) и планировщик. В каждый интервал времени один порт вывода (отправки) соединяется с одним портом ввода (приема), так что в течение этого периода времени отправитель может передать пакет, кадр или набор пакетов получателю. Планировщик "соединяет" правильные точки пересечения на матрице, чтобы передачи происходили в нужный период времени. Например: Line card 1 (LC1) хочет отправить пакет в LC3. LC3 хочет отправить пакет в LC5. В течение следующего временного цикла планировщик может подключить строку A к столбцу 1 ("установить" соединение в A3) и подключить строку C к столбцу 5 ("установить" соединение в C5), чтобы между этими парами был установлен канал связи. Пересечения и конфликты Что произойдет, если два передатчика захотят отправить пакет одному получателю? Например, если в течение одного периода времени и LC1, и LC2 хотят отправить пакет в LC9 через полотно перекрестной матрицы? Это называется конфликтом, и это ситуация, которую должен обрабатывать планировщик структуры. Какому из двух входных портов должно быть разрешено отправлять свой трафик на выходной порт? А где же тем временем должны находится очереди входящего трафика? Один из вариантов - хранить пакеты во входной очереди; коммутаторы, использующие эту технику, называются коммутаторами с очередью ввода (input-queued switches). Такие коммутаторы испытывают head-of-line (HOL). Блокировка HOL - это то, что происходит, когда пакет в начале линии, ожидающий пересылки через структуру, блокирует другие пакеты, стоящие в очереди за ним. Другой вариант - использовать в коммутаторе несколько виртуальных очередей вывода (virtual output queues- VOQ) для каждого порта ввода. VOQ дают матрице перекрестной сети несколько мест для хранения входящих пакетов, пока они ожидают доставки на свои выходные порты. Во многих конструкциях коммутаторов один VOQ существует на каждый выходной порт, для которого предназначен входной трафик. Следовательно, входной порт может иметь несколько пакетов в очереди в нескольких разных VOQ, предполагая, что несколько разных выходных портов. Каждый из этих VOQ может обслуживаться в течение одного тактового цикла. Это означает, что блокировка HOL устраняется, потому что несколько разных пакетов из одной входной очереди могут проходить через матрицу кроссбара одновременно. Для порта ввода существует не одна очередь, а несколько разных очередей. Даже с VOQ остается потенциальная возможность разногласий по структуре перекрестной сети. Наиболее распространенный пример - это когда два или более входящих пакета должны покинуть коммутатор через один и тот же выходной порт в одно и то же время, или, точнее, в одном тактовом цикле. Выходной порт может отправлять только один пакет за такт. Определение того, какая входная очередь будет доставлять трафик на выходной порт первой, - это алгоритм, определяемый производителем коммутатора для максимального использования аппаратного обеспечения. iSLIP-это один из алгоритмов планирования, используемых коммутаторами для решения этой проблемы. Обзор алгоритма iSLIP Алгоритм iSLIP разрешает конфликты межсетевых экранов, распределяя трафик таким образом, чтобы сетевое устройство достигало неблокирующей пропускной способности. Для понимания этого полезно внимательно изучить iSLIP в его простейшей форме, проанализировав, что происходит, когда алгоритм iSLIP выполняется один раз. Во время выполнения iSLIP происходят три важных события: Запрос. Все входные точки (вход) на перекрестной матрице с поставленным в очередь трафиком спрашивают свои выходные точки (выход), могут ли они отправить. Предоставление (грант). Каждая точка вывода, получившая запрос, должна определять, какая точка ввода будет разрешена для отправки. Если есть один запрос, то грант предоставляется без дальнейшего обсуждения. Однако при наличии нескольких запросов точка вывода должна определять, какая точка ввода может отправлять. Это делается через циклического перебора, где одному запросу предоставляется грант, последующему запросу предоставляется грант во время следующего выполнения iSLIP, и так далее по кругу. Когда было принято решение об этом конкретном выполнении iSLIP, каждая точка вывода отправляет свое сообщение о предоставлении, эффективно сигнализируя о разрешении на отправку, в соответствующую точку ввода. Принятие. Входная точка рассматривает сообщения о предоставлении гранта, полученные ею от выходных точек, выбирая грант циклическим способом. После выбора входной сигнал уведомляет выходной сигнал о том, что грант принят. Если и только, если выходная точка уведомлена о том, что грант был принят, выходная точка перейдет к следующему запросу. Если сообщение accept не получено, то точка вывода попытается обслужить предыдущий запрос во время следующего выполнения iSLIP. Понимание процессов запроса, предоставления и принятия дает нам представление о том, как пакеты могут быть доставлены одновременно через матрицу кроссбара без конфликтов. Однако, если вы поразмыслите над сложным набором входов, VOQ и выходов, вы можете понять, что один запуск iSLIP не планирует доставки столько пакетов, сколько могло бы быть после одного выполнения. Понимание процессов запроса, предоставления и принятия дает нам представление о том, как пакеты могут быть доставлены одновременно через матрицу кроссбара без конфликтов. Однако, если вы поразмыслите над сложным набором входов, VOQ и выходов, вы поймете, что один запуск iSLIP не планирует доставки столько пакетов, сколько могло бы быть после одного выполнения. Конечно, некоторые входы были предоставлены выходам, и некоторые пакеты могут быть переадресованы, но возможно, что некоторые выходы никогда не были согласованы с ожидающим входом. Другими словами, если вы ограничите iSLIP одним исполнением за такт, мы оставим доступную выходную полосу пропускания неиспользуемой. Поэтому обычной практикой является запуск iSLIP через несколько итераций. В результате количество совпадений ввода-вывода максимально. За один раз через матрицу кроссбара может быть отправлено больше пакетов. Сколько раз нужно запускать iSLIP, чтобы максимально увеличить количество пакетов, которые можно коммутировать через матрицу кроссбара за такт? Исследования показывают, что для шаблонов трафика, преобладающих в большинстве сетей, запуск iSLIP четыре раза лучше всего сопоставляет входные и выходные данные в матрице. Выполнение iSLIP более четырех раз не приводит к значительному увеличению количества совпадений. Другими словами, запуск iSLIP пять, шесть или десять раз в большинстве сетевых сред ничего не даст. Выход за рамки iSLIP Это обсуждение до сих пор предполагало, что движение, протекающее через матрицу, имеет одинаковое значение. Однако в современных центрах обработки данных одни классы трафика имеют приоритет над другими. Например, фреймы хранилища Fibre Channel over Ethernet (FCoE) должны проходить через матрицу без потерь, в то время как сеанс TCP, попадающий в класс QoS, этого не делает. Обрабатывает ли iSLIP трафик с разными приоритетами, отдавая одни запросы раньше других? Да, но в модифицированной форме алгоритма, который мы рассмотрели. Варианты iSLIP включают Приоритетный, Пороговый и Взвешенный iSLIP. Помимо iSLIP, который здесь используется просто как удобный пример управления конфликтами, поставщики будут писать свои собственные алгоритмы, соответствующие аппаратным возможностям своей собственной коммутационной матрицы. Например, в этом разделе рассматривается только матрица перекрестных линий с входящей очередью, но многие структуры перекрестных линий предлагают также организацию очереди вывода на выходной стороне матрицы.
img
Зачем нужно шифрование и насколько оно важно? Функционирование любых цифровых сервисов невозможно без защиты данных. Еще совсем немного времени назад эта проблема не стояла так остро, так в основной массе устройств использовались относительно защищенные каналы связи. Типичный пример - телефонный кабель между персональным компьютером и провайдером. Даже, если по нему передаются незашифрованные данные, то их похитить затруднительно из-за объективных сложностей физического доступа к телефонной линии, особенно когда она проложена под землей, как это делается в городах. Теперь же, когда все, включая даже финансовые переводы, делается с мобильных устройств, ни о какой защите канала связи не может быть и речи, причем, так как радиоэфир доступен каждому. Значительное количество Wi-Fi карт довольно просто переводятся в режим мониторинга и могут принимать данные, передаваемые другими устройствами. Выход из этой ситуации заключается в использовании совершенных алгоритмов шифрования. Причем к этому решения одновременно пришли многие IT-разработчики в мире. Совершенно определенно, что алгоритмы шифрования должны быть стандартными, принятыми во всех странах мира, так как интернет глобален. При несоблюдении этого правила, то, что передается одним сервером, уже не может быть принято другим, так как алгоритм шифрования не известен. Итак, теперь понятно, что без общепринятых, сертифицированных и надежных алгоритмов шифрования не обойтись. Алгоритм 3DES или Triple DES Самый первый, принятый для использования в сети интернет алгоритм шифрования. 3DES разработан Мартином Хеллманом в 1978 году. Учитывая уже почетный возраст для IT-технологий, по оценкам НИСТ (Национальный Институт Стандартов и Технологий) он останется надежным до 2030-х годов. Несмотря на достаточное количество более современных и значительно более криптостойких алгоритмов, банковские системы продолжают использовать именно старый добрый 3DES, что косвенно говорит о его высокой надежности. Также он активно используется в сети интернет во всем мире. Рассмотрим его работу подробнее. Ну, а самое интересное - почти все более современные алгоритмы шифрования представляют собой доработанный DES. Даже утвержден неформальный термин, как "DES-подобные криптографические системы". В 1977 совместными усилиями многих разработчиков из компании IBM создается алгоритм DES (Data Encryption Standard, "Данные Шифрования Стандарт"), который утверждается правительством США. Всего через год на его основе появится доработанный вариант - 3DES, который предложит Мартин Хеллман и он тоже будет утвержден, как улучшенная версия. DES работает на так называемой сети Фейстеля. Это ни что не иное, как модульные вычисления - многократно повторяемая простая вычислительная операция на нескольких логических ячейках. Именно с этого конца смотрят хакеры, когда для подбора ключей используются майнинг-фермы на процессорах с тысячами ядер CUDA (в видеокартах). Так какие же вычисления выполняет "взломщик"? Ответ - разложение на простые множители или факторизацию с некоторыми дополнительными операциями. Для числа из трех знаков, разложение на простые множители займет несколько минут ручного пересчета, или миллисекунды работы компьютера. Пример - число 589, для которого ключ будет равен 19*31=589. На самом деле, алгоритмы шифрования работают очень просто. Попробуем методом факторизации, известным очень давно, скрыть ключ. Пусть ключом у нас будет число длиной 30 знаков (при работе с байтами и битами это могут быть и буквы). Добавим к нему еще одно число такой же (или отличающейся, это неважно) длины и перемножим их друг на друга: 852093601- 764194923 - 444097653875 х 783675281 - 873982111 - 733391653231 = 667764693545572117833209455404487475025224088909394663420125 Нам сейчас важно то, что на это перемножение мы затратили ничтожную вычислительную мощность. С таким простым умножением можно справиться даже без калькулятора, затратив несколько часов времени. Калькулятор, а там более мощный компьютер сделает это за тысячную долю секунды. Если же мы поставим обратную задачу - восстановить исходные множители, то на это даже на мощном компьютере уйдут годы, и это время будет увеличиваться квадратично по мере прибавления знаков в исходных числах. Таким образом, мы получили одностороннюю функцию, являющуюся базовой для всех распространенных алгоритмов шифрования. Именно на односторонних функциях (хеширование) построен DES, 3DES и последующие (AES) способы защиты информации. Перейдем к их более подробному рассмотрению. Алгоритм AES На данный момент времени самый распространенный алгоритм шифрования в мире. Название расшифровывается, как Advanced Encryption Standard (расширенный стандарт шифрования). AES утвержден национальным институтом технологий и стандартов США в 2001 году и в активном применении находится до сих пор. Максимальная длина шифроключа - 256 бит, что означает, что пароль может иметь до 32 символов из таблицы на 256 значений (кириллица, латиница, знаки препинания и другим символы). Это достаточно надежно даже для современного мира с мощными компьютерными мощностями для перебора (брутфорса). В 16-ричной системе счисления AES может иметь и более длинные ключи, но криптостойкость их точно такая же, ибо конечное число всех возможных вариантов идентичное, вне зависимости от системы счисления. Специалисты не раз отмечали, что в отличие от других шифров AES имеет простое математическое описание, но такие высказывания подвергались критике и опровергались математиками с указаниями ошибок в уравнениях. Тем не менее, Агентство Национальной Безопасности США рекомендует AES для защиты самых важных сведений, составляющих государственную тайну, а это тоже отличный показатель надежности. Ниже приведена блок-схема шифрования AES. Отметим, что разработка алгоритмов шифрования дело не столь сложное, как кажется на первый взгляд. Например, по заверению многих студентов при прохождении предмета "основы криптографии" они разрабатывали собственные "несложные" алгоритмы, наподобие DES. Кстати, все тот же DES имеет множество "клонов" с небольшими нововведениями разработчиков в России и других странах. Российские алгоритмы шифрования Одним из первых шифров, который утверждался официально, стал принятый в 1990 году ГОСТ 28147-89, разработанный на все той же сети Фейстеля. Конечно, алгоритм был разработан почти на целое поколение раньше, и использовался в КГБ СССР, просто необходимость его обнародования возникла только в эпоху цифровых данных. Официально открытым шифр стал только в 1994 году. Шифр "Калина" (тот же ГОСТ 28147-89 для России и ДСТУ ГОСТ 28147:2009 для Украины) будет действовать до 2022 года. За этот период он постепенно будет замещен более современными системами шифрования, такими, как "Магма" и "Кузнечик", поэтому для более подробного обзора в этой статье интересны именно они. "Магма" и "Кузнечик" стандартизованы ГОСТ 34.12-2018. Один документ описывает сразу оба стандарта. "Кузнечик" шифрует любые данные блоками по 128 бит, "Магма" - 64 бита. При этом в "Кузнечике" кусок данных в 128 бит шифруется ключом по 256 бит (34 байта, или пароль в 32 знака с выбором из 256 символов). Миллионы блоков данных шифруются одним ключом, поэтому его не нужно передавать с каждым сообщением заново. То, что ключ занимает больший объем, чем данные, никак не сказывается на работе алгоритма, а только дополнительно придает ему надежности. Конечно, "Кузнечик" разработан не для тех систем, где на счету каждый килобайт, как например, в узкополосной радиосвязи. Он оптимально подходит для применения в IT-сфере. Описание математического аппарата "Кузнечика" - тема отдельной статьи, которая будет понятна лишь людям хотя бы с начальным знанием математики, поэтому мы этого делать не будем. Отметим лишь некоторые особенности: Фиксированная таблица чисел для нелинейного преобразования (приведена в ГОСТ 34.12-2018). Фиксированная таблица для обратного нелинейного преобразования (также приведена в ГОСТ 34.12-2018). Многорежимность алгоритма для способов разбивания шифруемого потока данных на блоки: режим имитовставки, гаммирования, режим простой замены, замены с зацеплением, гаммирования с обратной связью. Помимо шифрования данных "Кузнечик" и "Магма" могут быть использованы для генерации ключей. Кстати, именно в этом была обнаружена их уязвимость. Так, на конференции CRYPTO 2015 группа специалистов заявила, что методом обратного проектирования им удалось раскрыть алгоритм генерации ключей, следовательно, они не являются случайной последовательностью, а вполне предсказуемы. Тем не менее, "Кузнечик" вполне может использоваться для ручного ввода ключа, а это полностью нивелирует данную уязвимость. Большое преимущество алгоритма "Кузнечик" - он может применяться без операционной системы и компьютера. Необходимы лишь маломощные микроконтроллеры. Этот способ описан в журнале Радиопромышленность том 28 №3. По той же технологии возможна разработка прошивок контроллеров и под другие алгоритмы шифрования. Такое решение под силу реализовать на аппаратной основе (микросхемы) даже в любительских условиях. Любительские разработки В конспирологических кругах распространено мнение об уязвимости стандартных алгоритмов шифрования, хотя они давно уже описаны математически и легко проверяются. Есть даже способ "майним биткоины на бумаге", то есть, используя карандаш и лист бумаги, давно было показано, как предварительно переведя данные в шестнадцатиричную систему, их зашифровать и расшифровать стандартным алгоритмом SHA-256, подробно изъяснив каждый момент на пальцах. Тем не менее, находятся люди, желающие разработать свой собственный алгоритм шифрования. Многие из них - студенты, изучающие криптографию. Рассмотрим некоторые интересные способы реализации таких шифров и передачи ключей. Использование картинки для составления ключа и передачи данных. Способ часто применяется для передачи небольших блоков, например ключей. Изменения (растр, фиксируемой программой шифрации/дешифрации) не должны быть заметны простому зрителю. Использование видео. Собственно, это вариант первого способа. Просто, в отличие от картинки, в видео можно зашифровать уже более значительный трафик, например, голосовой обмен в реальном времени. При этом требуется высокое разрешение картинки, что для современных мультимедийных устройств - не проблема. Встраивание данных в аудио. Разработано множество программных продуктов для решения данной задачи, получены соответствующие патенты, например, "Патент США 10,089,994" на "Аудио водяные знаки". Простые шифры замены на основе словарей, например, Библии, или менее известной литературы. Способ шифрования хорошо знаком по шпионским фильмам и наиболее прост для любительского применения. Динамичные ключи, автоматически изменяемые по параметрам устройства. Например, отслеживается 100 параметров ПК (объем диска, температура процессора, дата и время) и на их основе программа автоматически генерирует ключ. Способ очень удобен для автомобильных сигнализаций, считывающих все параметры по шине CAN. Способов шифровать данные огромное множество и все их можно разделить на шифр замены и шифр перестановки, а также комбинацию этих обоих способов. Алгоритмы шифрования и криптовалюты Совершенствование алгоритмов шифрования стало одним из основных факторов возникновения всемирного бума криптовалют. Сейчас уже очевидно, что технология блокчейн (в основе нее лежат все те же алгоритмы шифрования) будет иметь очень широкое применение в будущем. Для выработки криптовалют (майнинга) используются разнообразные компьютерные мощности, которые могут быть использованы для взлома различных алгоритмов шифрования. Именно поэтому в криптовалютах второго и последующих поколений эту уязвимость постепенно закрывают. Так Биткоин (криптовалюта первого поколения) использует для майнинига брутфорс SHA-256 и майнинг-ферма с небольшой перенастройкой может быть использована для взлома данного алгоритма. Эфириум, уже имеет свой собственный алгоритм шифрования, но у него другая особенность. Если для биткоина используются узкоспециализированные интегральные микросхемы (асики), неспособные выполнять никаких других операций, кроме перебора хешей в SHA-256, то эфириум "майнится" уже на универсальных процессорах с CUDA-ядрами. Не забываем, что криптовалюты только начали свое шествие по миру и в недалеком будущем эти недостатки будут устранены. Плата ASIC-майнера содержит одинаковые ячейки со специализированными процессорами для перебора строк по алгоритму шифрования SHA-256 Алгоритмы шифрования и квантовый компьютер Сделав обзор по современным алгоритмам шифрования, нельзя не упомянуть такую тему, как квантовый компьютер. Дело в том, что его создатели то и дело упоминают о "конце всей криптографии", как только квантовый компьютер заработает. Это было бы недостойно обсуждения в технических кругах, но такие заявления поступают от гигантов мировой индустрии, например транснациональной корпорации Google. Квантовый компьютер обещает иметь чрезвычайно высокую производительность, которая сделает бесполезной криптографию, так как любое шифрование будет раскрываться методом брутфорса. Учитывая, что на шифровании, в некотором смысле, стоит современный мир, например финансовая система, государства, корпорации, то изобретение квантового компьютера изменит мир почти также, как изобретение вечного двигателя, ибо у человечества уже не будет основного способа скрывать информацию. Пока, что, заявления о работающей модели квантового компьютера оставим для обсуждения учеными. Очевидно, что до работающей модели еще очень далеко, так, что криптографические алгоритмы продолжат нести свою службу по защите информации во всем мире.
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетевой экосистеме. Давайте посмотрим, как вы можете выявить и устранить задержку в сети.  Любое действие, которое требует использование сети, например, открытие веб-страницы, переход по ссылке, открытие приложения или игра в онлайн-игру, называется активностью. Активность пользователя – это запрос, а время отклика веб-приложения – это время, которое требуется для ответа на этот запрос.  Временная задержка также включает в себя время, которое сервер тратит на выполнение запроса. Таким образом, временная задержка определяется как круговой путь – время для записи, обработки и получения пользователем запроса, где он уже декодируется.  Понятие «низкое значение задержки» относится к относительно недлительным временным задержкам при передаче данных. А вот длительные задержки, или чрезмерные задержки, не слишком приветствуются, так как они ухудшают процесс взаимодействия с пользователем.  Как исправить задержку в сети? На просторах Интернета есть большое количество инструментов и программных средств, которые могут помочь в анализе и устранении неполадок в сети. Некоторые из них платные, некоторые бесплатные. Впрочем, есть инструмент под названием Wireshark – бесплатное приложение с общедоступной лицензией, которое используется для перехвата пакетов данных в режиме реального времени. Wireshark – это самый популярный и самый часто используемый в мире анализатор сетевых протоколов. Это приложение поможет вам перехватывать сетевые пакеты и отображать их детальную информацию. Вы можете использовать эти пакеты для проведения анализа в режиме реального времени или в автономном режиме после того, как сетевые пакеты уже будут перехвачены. Это приложение поможет вам исследовать сетевой трафик под микроскопом, фильтруя и углубляясь в него в попытках найти корень проблемы. Оно помогает с сетевым анализом, и, как следствие, с сетевой безопасностью.  Что может вызывать задержку в сети? Есть несколько основных причин медленного сетевого подключения. Вот некоторые из них: Большая задержка Зависимости приложений Потеря пакетов Перехватывающие устройства Нерациональные размеры окон В данной статье мы рассмотрим каждую из вышеприведенных причин задержки в сети, а также посмотрим, как можно решить эти проблемы с помощью Wireshark. Проверка с помощью Wireshark Большая задержка Понятие «большая задержка» подразумевает время, которое требуется для передачи данных от одной конечной точки к другой. Влияние большой задержки на передачу данных по сети очень велико. На приведенной ниже диаграмме в качестве примера показано время кругового пути при загрузке файла по пути с высокой задержкой. Время задержки кругового пути часто превышает одну секунду, что является недопустимым.  Перейдите к разделу Wireshark Statistics. Выберите опцию TCP stream graph. Выберите Round Trip time graph, чтобы посмотреть, сколько времени необходимо для загрузки файла.  Wireshark используют для расчета времени кругового пути для того, чтобы определить, это ли является причиной плохой работы коммуникационной сети протокола управления передачей (TCP - Transmission Control Protocol). TCP используется для разных целей, например, для просмотра веб-страниц, передачи данных, протокола передачи файлов и многого другого. В большинстве случаев операционную систему можно настроить так, чтобы на каналах с большой задержкой она работала более эффективно, особенно когда хосты используют Windows XP. Зависимости приложений Некоторые приложения имеют зависимости, то есть они зависят от каких-то других приложений, процессов или от обмена данными с хостом. Допустим, что ваше приложение – это база данных, и оно зависит от подключения к другим серверам, которое необходимо для получения элементов базы данных. В таком случае слабая производительность на этих «других серверах» может негативно повлиять на время загрузки локального приложения.  Рассмотрим, например, просмотр веб-страниц при условии, что целевой сервер ссылается на несколько других веб-сайтов. Например, чтобы загрузить главную страницу сайта  www.espn.com , вы должны сначала посетить 16 хостов, которые обеспечивают главную страницу рекламой и наполнением.  На приведенной выше картинке показано окно «HTTP/Load Distribution» в Wireshark. В нем отображается список всех серверов, которые использует главная страница сайта  www.espn.com .  Потеря пакетов Потеря пакетов – это одна из самых часто встречающихся проблем в сети. Потеря пакетов происходит, когда пакеты данных неправильно доставляются от отправителя к получателю через Интернете. Когда пользователь посещает некий веб-сайт и начинает загружать элементы сайта, потерянные пакеты вызывают повторную передачу, что увеличивает скорость загрузки веб-файлов и замедляет при этом общий процесс загрузки.  Более того, потеря пакетов оказывает крайне негативное влияние на приложение, когда оно использует протокол TCP. Когда TCP-соединение обнаруживает потерянный пакет, то скорость передачи данных автоматически снижается, чтобы компенсировать сетевые проблемы.  Потом скорость постепенно восстанавливается до более приемлемого уровня до следующего потерянного пакета, что снова приведет к существенному снижению скорости передачи данных. Загрузка объемных файлов, которая должна была легко проходить по сети, если бы не было потерянных пакетов, теперь заметно страдает от их наличия.  Что это значит – «пакет потерян»? Это неоднозначный вопрос. Если программа работает через протокол TCP, то потеря пакетов может быть обнаружена двумя способами. В первом варианте получатель отслеживает пакеты по их порядковым номерам и, таким образом, может обнаружить отсутствующий пакет. В таком случае клиент делает три запроса на этот отсутствующий пакет (двойное подтверждение), после чего он отправляется повторно. Во втором варианте потерянный пакет обнаруживает отправитель, когда понимает, что получатель не подтвердил получение пакета данных, и по истечении времени ожидания отправляет пакет данных повторно.  Wireshark указывает, что произошла перегрузка сети, а многократные подтверждения провоцируют повторную передачу проблематичного трафика, который выделен цветом. Большое количество продублированных подтверждений указывают на то, что пакет(ы) были потеряны, а также на существенную задержку в сети.  Для того, чтобы повысить производительность сети, важно определить точное место потери пакетов. Когда Wireshark обнаружил потерю пакетов, он начинает перемещаться по пути следования пакетов до тех пор, пока не найдет место их потери пакетов. На данный момент мы находимся «у истоков» точки потери пакетов, поэтому знаем, на чем нужно сосредоточиться при отладке.  Перехватывающие устройства Сетевые перехватчики – это связующие устройства, такие как коммутаторы, маршрутизаторы и брандмауэры, которые заняты выбором направления передачи данных. При потере пакетов эти устройства необходимо проверить, потому что они могли стать причиной утери.  Задержка может возникнуть при работе этих связующих устройств. Например, если установлен приоритет трафика, то дополнительная задержка может возникнуть в потоке с низким уровнем приоритета.  Неэффективные размеры окон Вдобавок к операционной системе Windows, в сетях TCP/IP есть и другие «окна». Скользящее окно Окно получателя Окно отслеживания перегрузок сети Все эти окна совместно отражают производительность сети на основе протокола TCP. Давайте посмотрим, что из себя представляет каждое из этих окон, и определим, как они влияют на пропускную способность сети.  Скользящее окно Скользящее окно используется для широковещательной передачи последующих TCP-сегментов по сети по мере подтверждения данных. Как только отправитель получает подтверждение о том, что получатель получил переданные фрагменты данных, скользящее окно расширяется. До тех пор, пока в сети не обнаружатся потерянные данные, передавать можно достаточно большие объемы данных. При потере пакета скользящее окно сжимается, так как сеть уже не может справиться с таким большим объемом данных.  Окно получателя Окно получателя TCP-стека – это пространство буфера. Когда данные получены, они сохраняются в этом буферном пространстве до тех пор, пока приложение их не перехватит. Окно получателя начинает заполняться, когда приложение не успевает принимать данные, что приводит к сценарию «нулевого окна». Когда получатель объявляет о состоянии «нулевого окна», вся передача данных на хост должна быть остановлена. Пропускная способность падает до нуля. Метод масштабирования окна (RFC 1323) позволяет хосту увеличить размер окна получателя и снизить вероятность наступления сценария «нулевого окна».  На приведенной выше картинке продемонстрирована 32-секундная задержка сетевого соединения из-за сценария «нулевого окна». Окно отслеживания перегрузок сети Окно отслеживания перегрузок сети определяет максимально возможный объем данных, с которым может справиться сеть. На это значение влияют следующие факторы: скорость передачи пакетов отправителя, количество потерянных пакетов в сети и размер окна получателя. В процессе корректной работы сети окно постоянно увеличивается до тех пор, пока передача данных не завершится или пока она не достигнет «потолка», установленного работоспособностью сети, возможностями передачи отправителя или размером окна получателя. Каждое новое соединение запускает процедуру согласования размера окна заново.  Рекомендации для хорошей работоспособности сети Изучите, как можно использовать Wireshark в качестве меры первой помощи, чтобы можно было быстро и эффективно находить источник низкой производительности Определите источник задержки в сети и по возможности сократите ее до приемлемого уровня Найдите и устраните источник потери пакетов Проанализируйте размер окна передачи данных и по возможности уменьшите его Проанализируйте производительность перехватывающих устройств для того, чтобы посмотреть, увеличивают ли они задержку или, возможно, отбрасывают пакеты Оптимизируйте приложение, чтобы оно могло передавать большие объемы данных и, если это возможно, извлекать данные из окна получателя  Заключение В данной статье мы рассмотрели самые основные причины проблем с производительностью сети. Но есть один немаловажный фактор, который просто нельзя упускать, - это непонимание того, как работает передача данных по сети. Wireshark предоставляет визуализацию сети так же, как рентген или компьютерная томография, которая предоставляет визуализацию человеческого тела для точной и быстрой диагностики. Wireshark стал критически важным инструментом, который способен помочь в обнаружении и диагностике проблем в сети.  А теперь проверьте и устраните проблемы с производительностью своей сети с помощью нескольких фильтров и инструментов Wireshark.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59