По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Предыдущая статья из цикла про популярные приложения TCP/IP тут. Установление TCP-соединения происходит до того, как любая из других функций TCP сможет начать свою работу. Установление соединения относится к процессу инициализации полей "Sequence" и "Acknowledgment" и согласования используемых номеров портов. На рисунке 5 показан пример процесса установления соединения. Этот трехсторонний процесс установления соединения (также называемый трехсторонним рукопожатием) должен завершиться до начала передачи данных. Соединение существует между двумя сокетами, хотя в заголовке TCP нет единственного поля сокета. Из трех частей сокета подразумеваются IP-адреса на основе IP-адресов источника и назначения в IP-заголовке. TCP подразумевается, потому что используется заголовок TCP, как указано значением поля протокола в заголовке IP. Следовательно, единственные части сокета, которые необходимо закодировать в заголовке TCP, - это номера портов. TCP сообщает об установлении соединения, используя 2 бита в полях флагов заголовка TCP. Эти биты, называемые флагами SYN и ACK, имеют особенно интересное значение. SYN означает "синхронизировать порядковые номера", что является одним из необходимых компонентов при инициализации TCP. На рисунке 6 показано завершение TCP-соединения. Эта четырехсторонняя последовательность завершения проста и использует дополнительный флаг, называемый битом FIN. (FIN - это сокращение от "finished", как вы могли догадаться.) Одно интересное замечание: перед тем, как устройство справа отправит третий сегмент TCP в последовательности, оно уведомляет приложение о том, что соединение прерывается. Затем он ожидает подтверждения от приложения перед отправкой третьего сегмента на рисунке. На случай, если приложению потребуется некоторое время, чтобы ответить, ПК справа отправляет второй поток на рисунке, подтверждая, что другой ПК хочет разорвать соединение. В противном случае ПК слева может повторно отправить первый сегмент. TCP устанавливает и завершает соединения между конечными точками, а UDP - нет. Многие протоколы работают в рамках одних и тех же концепций, поэтому термины "ориентированный на соединение" и "без установления соединения" используются для обозначения общей идеи каждого из них. Более формально эти термины можно определить следующим образом: Протокол, ориентированный на соединение: протокол, который требует обмена сообщениями до начала передачи данных или который имеет требуемую предварительно установленную корреляцию между двумя конечными точками. Протокол без установления соединения: протокол, который не требует обмена сообщениями и не требует предварительно установленной корреляции между двумя конечными точками. Восстановление после ошибок и надежность TCP обеспечивает надежную передачу данных, что также называется reliability or error recovery. Для обеспечения надежности TCP нумерует байты данных, используя поля "Sequence" и "Acknowledgment" в заголовке TCP. TCP обеспечивает надежность в обоих направлениях, используя поле Sequence Number одного направления в сочетании с полем Acknowledgment в противоположном направлении. На рисунке 7 показан пример того, как поля TCP Sequence и Acknowledgment позволяют ПК отправлять 3000 байтов данных на сервер, при этом сервер подтверждает получение данных. Сегменты TCP на рисунке расположены по порядку, сверху вниз. Для простоты все сообщения содержат 1000 байтов данных в части данных сегмента TCP. Первый порядковый номер - красивое круглое число (1000), опять же для простоты. В верхней части рисунка показаны три сегмента, каждый из которых на 1000 больше предыдущего, что указывает на первый из 1000 байтов сообщения. (То есть в этом примере первый сегмент содержит байты 10001999; второй - байты 20002999, а третий - байты 30003999.) Четвертый сегмент TCP на рисунке - единственный, который возвращается от сервера к веб-браузеру - подтверждает получение всех трех сегментов. Как? Значение подтверждения 4000 означает: "Я получил все данные с порядковыми номерами на единицу меньше 4000, поэтому я готов принять ваш байт 4000 следующим". (Обратите внимание, что это соглашение о подтверждении путем перечисления следующего ожидаемого байта, а не номера последнего полученного байта, называется прямым подтверждением.) Однако этот пример не исправляет никаких ошибок; он просто показывает основы того, как хост-отправитель использует поле порядкового номера для идентификации данных, а хост-получатель использует прямые подтверждения для подтверждения данных. Более интересное обсуждение вращается вокруг того, как использовать эти же инструменты для восстановления ошибок. TCP использует поля "Sequence" и "Acknowledgment", чтобы принимающий хост мог заметить потерю данных, попросить отправляющий хост повторно отправить, а затем подтвердить, что повторно отправленные данные прибыли. Существует множество вариантов того, как TCP выполняет исправление ошибок. На рисунке 8 показан только один такой пример, детализация которого аналогична предыдущему. Веб-браузер снова отправляет три сегмента TCP, снова по 1000 байт каждый, снова с легко запоминающимися порядковыми номерами. Однако в этом примере второй сегмент TCP не может пройти через сеть. Рисунок указывает на три набора идей, лежащих в основе того, как думают два хозяина. Во-первых, справа сервер понимает, что он не получил все данные. Два полученных сегмента TCP содержат байты с номерами 10001999 и 30003999. Очевидно, сервер не получил байты, пронумерованные между ними. Затем сервер решает подтвердить все данные вплоть до потерянных, то есть отправить обратно сегмент с полем подтверждения, равным 2000. Получение подтверждения, которое не подтверждает все данные, отправленные на данный момент, заставляет хост-отправитель повторно отправить данные. ПК слева может подождать несколько секунд, чтобы убедиться, что другие подтверждения не поступят (используя таймер, называемый таймером повторной передачи), но вскоре решит, что сервер сообщает: "Мне действительно нужно 2000 - отправьте его повторно". ПК слева делает это, как показано на пятом из шести сегментов TCP на рисунке. Наконец, обратите внимание, что сервер может подтверждать не только повторно отправленные данные, но и любые предыдущие данные, которые были получены правильно. В этом случае сервер получил повторно отправленный второй сегмент TCP (данные с порядковыми номерами 20002999), и сервер уже получил третий сегмент TCP (данные с номерами 30003999). Следующее поле подтверждения сервера подтверждает данные в обоих этих сегментах с полем подтверждения, равным 4000. Управление потоком с использованием окон TCP реализует управление потоком, используя концепцию окна, которая применяется к количеству данных, которые могут быть ожидающими подтверждения в любой момент времени. Концепция окна позволяет принимающему хосту сообщать отправителю, сколько данных он может получить прямо сейчас, давая принимающему хосту способ замедлить или ускорить отправляющий хост. Получатель может перемещать размер окна вверх и вниз (это называется скользящим окном или динамическим окном), чтобы изменить объем данных, который может отправить хост-отправитель. Механизм раздвижного окна имеет больше смысла на примере. В примере, показанном на рисунке 9, используются те же основные правила, что и в примерах на нескольких предыдущих рисунках. В этом случае ни один из сегментов TCP не содержит ошибок, и обсуждение начинается на один сегмент TCP раньше, чем на предыдущих двух рисунках. Начнем с первого сегмента, отправленного сервером на ПК. Поле Acknowledgment должно быть вам знакомо: оно сообщает ПК, что сервер ожидает следующий сегмент с порядковым номером 1000. Новое поле, поле окна, установлено на 3000. Поскольку сегмент передается на ПК, это значение сообщает ПК, что ПК может послать не более 3000 байтов по этому соединению до получения подтверждения. Итак, как показано слева, ПК понимает, что может отправлять только 3000 байтов, и прекращает отправку, ожидая подтверждения, после отправки трех 1000-байтовых сегментов TCP. Продолжая пример, сервер не только подтверждает получение данных (без потерь), но и решает немного увеличить размер окна. Обратите внимание, что второе сообщение, идущее справа налево на рисунке, на этот раз с окном 4000. Как только ПК получает этот сегмент TCP, ПК понимает, что он может отправить еще 4000 байтов (окно немного больше, чем предыдущее значение). Обратите внимание, что хотя на последних нескольких рисунках показаны примеры с целью объяснения того, как работают механизмы, из этих примеров может сложиться впечатление, что TCP заставляет хосты сидеть и долго ждать подтверждения. TCP не хочет заставлять хост-отправитель ждать отправки данных. Например, если подтверждение получено до того, как окно будет исчерпано, начинается новое окно, и отправитель продолжает отправлять данные до тех пор, пока текущее окно не будет исчерпано. Часто в сети, где мало проблем, мало потерянных сегментов и небольшая перегрузка, окна TCP остаются относительно большими, а узлы редко ждут отправки. Закрепим самое важное про TCP и UDP в следующей статье.
img
В одной из вышедших ранее статей мы разбирали такой инструмент сетевого администратора, как Chef. В этой статье мы рассмотрим конкретные примеры использования Chef на примерах компаний, применяющих это решение в своей деятельности. Для начала, вспомним, что же это такое. Chef это система конфигурирования сети, то есть программа, работающая на клиент-серверной архитектуре, предназначенная для быстрого развертывания, управления, сбора данных, анализа и оптимизации компьютерной сети. Инструментарий Chef позволяет сделать настройку более оперативной, за счет горизонтального масштабирования сети. Также при помощи Chef можно подготовить несколько сценариев управления сетью, что позволяет решить большинство задач, возникающих перед современной командой сетевых инженеров в крупной корпорации Одним из ярких примеров применения Chef для расширения деятельности компаний является южноафриканский Standard Bank. С расширением его деятельности возникла проблема замедления работы системы, в связи с тем, что у компании появилось слишком много хранилищ данных. Это делало систему управления сетью достаточно громоздкой и неповоротливой, поэтому руководство организации решилось на внедрение системы Chef. Это решение позволило повысить эффективность развертывания сети, а также решило проблему медленной работы. Сетевые инженеры разработали несколько сценариев работы сети, и выбрали основную "поваренную книгу" и несколько резервных на случай возникновения нештатных ситуаций. В результате Standard Bank до сих пор удерживает позиции в верхней половине финансовых организаций, действующих на развивающихся рынках. Также интересен опыт применения Chef в компании Rakuten создателях популярного мессенджера Viber. В своё время здесь столкнулись с проблемой низкой эффективности в работе серверов связи, основанной на различных программных средах на клиентских устройствах. Последовательное внедрение автоматизации посредством применения Chef позволило привести работу серверов к единообразию, что позволило не только решить существующую проблему, но и существенно повысило скорость работы сервиса и удобство связи. Это позволяет до сих пор считать продукт компании Rakuten одним из самых популярных на рынке. Всем известен такой гигант IT-индустрии, как IBM. Эта гигантская корпорация часто выступает в качестве спонсора крупных спортивных соревнований, а также предоставляет для них информационную поддержку. В ходе освещения спортивных событий на своих сайтах, компания столкнулась с чрезвычайной нагрузкой на свои сервера. Это приводило к задержкам и неполадкам в работе. Специалисты компании применили решение Chef для того, чтобы оперативно увеличить количество серверов, распределив обработку информации между ними. Это решение настолько пришлось по душе руководству компании IBM, что обе компании до сих пор поддерживают партнерские отношения, а IBM поддерживает развитие проекта Chef. Корпорация Facebook является примером взрывного роста популярности социальных сетей. Различными сервисами от этой компании пользуются сотни миллионов людей по всему миру. И более десятка лет обслуживание серверов осуществлялось с помощью одного и того же движка. Кластерная структура сети Facebook насчитывала по десятку тысяч устройств в одном кластере. И расширение сервиса с течением времени привело к тому, что техническое решение по обслуживанию серверов сети было признано устаревшим. Технический отдел компании оценил гибкость решения Chef и скорость его работы, и было решено применить эту систему для обслуживания серверов компании, что обеспечило выравнивание темпов роста сети. С применением Chef на текущий момент компания имеет серверные мощности, чтобы обеспечить обслуживание не только существующих клиентов, но и привлечение новых. В небольших компаниях, которые насчитывают несколько сотен рабочих станций, Chef также подтверждает свою эффективность. Конечно, есть варианты нанять нескольких сотрудников для оперативного обслуживания сети, мониторинга, расширения и сбора данных, однако на деле многие компании предпочитают иметь дело с одним-двумя администраторами сети, хорошо владеющими своим инструментом. Поскольку Chef в умелых руках - универсальный инструмент. Таким образом, очевидно, что технология Chef опробована и одобрена по-настоящему серьезными компаниями. Это обеспечивает команде разработчиков Chef высокую репутацию, и позволяет с уверенностью сказать, что данный продукт имеет высокое качество.
img
Kali Linux (ранее известная как BackTrack Linux) объявила о выпуске новой версии - Kali Linux 2020.2 Kali Linux - это дистрибутив на основе Debian, специально предназначенный для тестирования на проникновение и использования цифровой криминалистики. Последняя версия Kali Linux поставляется с функциональными и косметическими изменениями. В этой статье мы описали основные улучшения, включенные в Kali 2020.2. Новый рабочий стол и экран входа в систему Новый Kali Linux 2020.2 поставляется с элегантным рабочим столом со светлыми и темными темами. Вы можете переключаться между темами, перейдя в «Настройки» и выбрав предпочитаемую тему. Среда рабочего стола GNOME также обновлена до последней версии - GNOME 3.36. Среды KDE Plasma и XFCE также получили новый изысканный внешний вид. Интеграция PowerShell в Kali Linux Powershell был перемещен из сетевого репозитория Kali Linux в один из основных метапакетов, известный как kali-linux-large. Это подразумевает, что вы можете установить Powershell либо во время установки - поскольку он теперь включен в метапакеты kali-Linux-large - либо после окончательной установки Kali. Это можно сделать на терминале с помощью показанной команды $ sudo apt install -y kali-linux-large Чтобы вызвать Powershell, просто запустите команду. $ pwsh Новые ключевые пакеты и значки Некоторые из новых пакетов, включенных в Kali 2020.2: Python 3.8 Joplin - приложение для заметок Nextnet - инструмент обнаружения точек поворота (pivot point), написанный на языке Go SpiderFoot - разведывательный инструмент Также появились новые значки пакетов для каждого инструмента в новой версии Kali 2020.2. Улучшения ARM ARM-образы больше не используют учетные данные root/toor по умолчанию при входе в систему, как это было со времен Kali Linux 2020.1. Кроме того, в последней версии Kali отсутствует поддержка SD-карт объемом не менее 8 ГБ. Теперь вам потребуется использовать SD-карту объемом 16 ГБ или более для образов ARM. Изменения в установщике Новая Kali 2020.2 избавляется от опции kali-linux-everything от установщика. Это решает проблему, которая присутствовала в более ранней версии (Kali 2020.1), когда пользователям приходилось выбирать «все», что занимало намного больше времени для получения очень больших метапакетов. Теперь каждая среда рабочего стола и большие метапакеты Kali-Linux кэшируются в образе ISO, и пользователи могут выбирать, что им нужно установить. Скачать Kali Linux Чтобы получить последнюю версию Kali Linux, просто перейдите на страницу загрузки Kali и выберите предпочитаемый ISO-образ, соответствующий архитектуре вашей системы. 64-битные и 32-битные ISO-образы Kali Linux можно скачать по следующим ссылкам. Kali Linux 64-Bit (Installer) Kali Linux 64-Bit (Live) Kali Linux 64-Bit (NetInstaller) Kali Linux 32-Bit (Installer) Kali Linux 32-Bit (Live) Kali Linux 32-Bit (NetInstaller) Kali Linux for ARM Обновление Kali Linux до последней версии Поскольку Kali является скользящим релизом, вы можете обновить свою систему, выполнив следующие команды, чтобы получить последние обновления. $ sudo apt -y update $ sudo apt -y full-upgrade Про установку Kali Linux с нуля можно прочитать в этой статье.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59