2 как подтвердить наличие сетевого соединения
Перейти к содержимому

2 как подтвердить наличие сетевого соединения

  • автор:

Практическая работа № 13 «Решение проблем с tcp/ip»

Практическая работа № 14 «Работа с модемом на коммутируемых аналоговых линиях»

Цель: обобщение и систематизация знаний по теме «Межсетевое взаимодействие» Вид работы: фронтальный Время выполнения: 2 часа

Задания к работе

  1. Составить таблицу стандартов на модемы. В таблицу должны быть внесены следующие стандарты: V.22, V.22 bis, V.32, V.32 bis, V.34, V.42, V.42 bis, V.90, V.92. Таблица должна содержать следующие сведения:
Название стандарта Стандарт определяет Основные технические характеристики
  • разрешить эхо-вывод команд, передаваемых модему;
  • разрешить ответ модема на АТ-команды в символьном виде;
  • выводить сообщения модема об установлении связи в полном виде;
  • номер набирается модемом после паузы при наличии гудка на линии;
  • состояние «занято» определяется;
  • сигнал DCD устанавливается только тогда, когда модем обнаруживает несущую частоту от удаленного модема;
  • режим автоответа выключен;
  • при тональном наборе длительность передачи одной цифры номера должна быть 55 миллисекунд.
  1. Составить схему и описать локальный аналоговый тест с самотестированием
  1. Назначение модемов.
  2. Взаимодействие модемов с оконечным оборудованием и каналом связи.
  3. Описать световые индикаторы на лицевой панели внешнего модема и их назначение.

Как проверить наличие сетевого протокола на своем компьютере

Под сетевым протоколом мы будем понимать TCP/IP — специально разработанный протокол для обмена информацией между компьютерами в сети. Он отличается высокой скоростью передачи данных и является базовым для таких протоколов, как HTTP (просмотр Web-страничек), FTP (файловый обмен) и некоторых других. Собственно говоря, это фундамент, на котором строится вся работа в Интернете.

Обычно TCP/IP устанавливается по умолчанию вместе с новым сетевым подключением, но все же будет правильно проверить его наличие в системе. Для этого нужно сделать следующее.

1. Щелкнуть правой кнопкой мыши на рабочем столе компьютера по значку Сетевое окружение и выбрать Свойства.

2. В открывшемся окне (рис. 1.10) нужно выбрать сетевое подключение, которое вы используете для работы в Интернете или локальной сети, потом тоже нажать на нем правую кнопку мыши и выбрать Свойства. Если же у вас нет ни одного сетевого подключения, то настроить его (например, для выхода в Интернет) можно следующим образом:

• воспользуемся ссылкой Создание нового подключения, которая находится в левой части окна в разделе Сетевые задачи, при этом запустится мастер новых подключений;

• в первом окне мастера (рис. 1.11) просто нажимаем кнопку Далее, поскольку окно является приветственным;

• во втором окне (рис. 1.12) выбираем Подключить к Интернету и нажимаем кнопку Далее;

• теперь выбираем Установить подключение вручную (рис. 1.13) — будем считать, что у нас есть интернет-карта, которую мы купили на почте или в киоске, а в ней под защитным слоем находятся имя пользователя и пароль для настройки нового соединения, а также номер телефона поставщика услуг Интернета, на который мы должны позвонить с помощью модема;

? в следующем окне мастера (рис. 1.14) выбираем Через обычный модем — это наиболее распространенный случай, если у вас, конечно, не установлен скоростной Интернет, а к компьютеру не подключен скоростной модем ADSL;

? в следующем диалоговом окне (рис. 1.15) предлагается ввести имя поставщика услуг Интернета (интернет-провайдера). Здесь вы можете написать все, что угодно, поскольку введенное слово будет являться просто названием этого подключения;

? теперь (рис. 1.16) вводим номер телефона, на который будем дозваниваться при подключении к Интернету. Хотя это и телефонный номер, на другой стороне провода установлен модем провайдера, а не обычный телефон. Именно через этот модем мы и подключимся к Интернету. Обратите внимание, что в номере телефона можно использовать команды для своего модема (так, литера p означает импульсный набор, а запятая делает паузу после набора цифры);

? в предпоследнем диалоговом окне (рис. 1.17) нужно ввести имя пользователя и два раза пароль. Почему дважды? Потому что первый раз вы просто вводите пароль, а потом его подтверждаете. Подтверждать пароль нужно по той причине, что в первый раз можно ошибиться — ведь символы пароля всегда отображаются звездочками, чтобы любопытный гражданин Дудкин, стоящий за нашей спиной, не смог его подсмотреть;

в последнем диалоговом окне (рис. 1.18) можно поставить флажок Добавить ярлык подключения на рабочий стол, чтобы потом не искать его в окне Сетевые подключения, а быстро найти на рабочем столе.

3. Итак, мы выбрали сетевое подключение, нажали на нем правую кнопку мыши и перешли на его Свойства.

4. Здесь возможны два варианта:

• если это сетевое подключение для работы в локальной сети, то сразу появится окно со списком компонентов (рис. 1.19), которое нужно пролистать вниз и отыскать в нем надпись Протокол Интернета (TCP/IP);

• если же это подключение к Интернету с домашнего компьютера, которое мы только что настроили, то в открывшемся окне сначала нужно выбрать вкладку Сеть, а потом в разделе Компоненты, используемые этим подключением найти Протокол Интернета (TCP/IP) (рис. 1.20).

5. Надеюсь, что TCP/IP у вас установлен, если нет, то его нужно доустановить. Делается это так:

• нажимаем на кнопку Установить;

• в открывшемся окне (рис. 1.21) выбираем тип сетевого компонента Протокол;

• нажимаем на кнопку Добавить и в новом окне (рис. 1.22) выбираем протокол TCP/IP.

Теперь при необходимости можно настроить свойства протокола TCP/IP, нажав на кнопку Свойства в окне Мой выход в Интернет — свойства (см. рис. 1.20). Для выхода в Интернет с домашнего компьютера это вам не понадобится, но если вы работаете в локальной сети предприятия, где принято использовать IP-адреса, то вам нужно узнать IP-адрес (а также и другие данные: маску подсети, шлюз и адрес DNS-сервера) у своего сетевого администратора и ввести их в окне свойств.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Читайте также

15. Как проверить работу Tor?

15. Как проверить работу Tor? Чтобы проверить то, как Tor обеспечивает анонимность нужно зайти на один из сайтов, которые могут определять и высвечивать IP-адрес и некоторые другие данные о пользователе. Список приведен ниже.Чтобы узнать свой настоящий IP-адрес — можно зайти на

Как спрятать информацию на своем компьютере от посторонних глаз

Как спрятать информацию на своем компьютере от посторонних глаз Мы не рассматриваем в данном случае программы, предназначенные для шифрования информации на дисках, подобно тому, как это делает Secret Disk Server. Желающие ознакомиться с программами, защищающими информацию на

Как самостоятельно распознать наличие в компьютере шпионского ПО?

Как самостоятельно распознать наличие в компьютере шпионского ПО? Отличительной чертой Spyware является то, что их трудно распознать с помощью штатных антивирусных программ. Поэтому для борьбы с ними рекомендуется использовать специальные утилиты, которые во множестве

Как самостоятельно распознать наличие в компьютере программ-шпионов

Как самостоятельно распознать наличие в компьютере программ-шпионов Отличительной чертой Spyware является то, что их трудно распознать с помощью штатных антивирусных программ. Для борьбы с ними предназначены специальные утилиты, которые можно скачать в Интернете. Но

Наличие нескольких аргументов

Наличие нескольких аргументов Если для связи с некоторой функцией требуется более одного аргумента, то наряду с именем функции можно задавать список аргументов, разделенных запятыми, как показано ниже. printnum(i,j) int i, j; < printf(" Новых точек = %d. Всего точек = %d. ", i, j); >Мы

Глава 34. Как проверить и отредактировать распознанный текст

Глава 34. Как проверить и отредактировать распознанный текст После завершения распознавания результат появляется в диалоговом окне Текст. Диалоговое окно Текст — это встроенный редактор программы FineReader; в нем вы имеете возможность проверить результаты распознавания и

Наличие внешней клавиатуры

Наличие внешней клавиатуры С помощью класса Registry разработчик может получать или устанавливать значения параметров в реестре. Предположим, что нужно узнать, подключена ли к устройству внешняя клавиатура. За данную функцию отвечает параметр HasKeyboard в разделе

Наличие дополнительной клавиатуры

Наличие дополнительной клавиатуры Узнать о наличии в системе подключаемой клавиатуры можно с помощью функции API или просмотрев значение соответствующего ключа в реестре. Использование реестра рассматривалось несколько раньше. В листинге 13.22 приведен код, который

4.1.1 Наличие компонентов продукта

4.1.1 Наличие компонентов продукта Для тестирования пакета программ должны иметься в наличии все его поставляемые компоненты (см. 3.1.2 h), а также нормативные документы, указанные в описании продукта (см. 3.1.2

4.1.2 Наличие компонентов системы

4.1.2 Наличие компонентов системы Для тестирования пакета программ необходимо наличие составных частей всех вычислительных систем, указанных в описании

Как проверить, что Интернет подключен?

Как проверить, что Интернет подключен? Как же определить, есть ли на вашем компьютере Интернет? Самый простой способ — попытаться загрузить страницу. Для этого откройте браузер и введите в адресную строку любой интернетский адрес (подробнее об этом читайте в начале

Как проверить компьютер?

Как проверить компьютер? Помимо постоянного наблюдения за выполняющимися программами, антивирус Microsoft Security Essentials проверяет содержимое дисков по расписанию. По умолчанию он делает это раз в неделю. Кроме того, вы можете запустить проверку и вручную, в любое время.Чтобы

Как проверить файл или папку?

Как проверить файл или папку? Чтобы проверить отдельно взятый файл или папку с файлами, воспользуйтесь контекстным меню.Например, вы скачали файл из Интернета. Откройте папку, в которую сохранен этот файл, и щелкните на его значке правой кнопкой мыши.В контекстном меню

Как проверить сетевое подключение с помощью Диагностики на Wi-Fi роутерах (новый логотип)?

Дата последнего обновления: 03-21-2023 12:13:22 PM 145322

Эта статья подходит для:

Archer C1200 , Archer C5400 , Archer A2600 , Archer AX55 , Archer C4 , Archer C5200 , Archer AX53 , Archer C5 , Archer AX10 , Archer C2 , Archer AX51 , Archer AX96 , Archer A2200 , Archer C6U , TL-WR1043N( V5 ) , Archer C80 , Archer AXE95 , Archer C8 , Archer AX10000 , Archer C3150 , Archer C9 , Archer AX50 , Archer C6 , Archer C7 , Archer AX90 , Archer AX6000 , Archer C5400X , Archer C25 , Archer C24 , Archer A20 , Archer A64 , Archer C60 , Archer C2600 , Archer A1200 , Archer C21 , Archer C20 , Archer C64 , Archer AX1800 , Archer AX206 , Archer C59 , Archer C58 , Archer AX4200 , Archer C3200 , Archer C900 , Archer A2 , Archer AX75 , Archer AX4400 , Archer C3000 , Archer AX73 , Archer C50 , Archer A10 , Archer A54 , Archer AX4800 , Archer C50 , Archer C1900 , Archer C55 , Archer C54 , Archer A2300 , Archer AXE75 , Archer A6 , Archer A7 , Archer AX72 , Archer AXE200 Omni , Archer A5 , Archer GX90 , Archer A8 , Archer A9 , Archer AX68 , Archer C2300 , Archer AX5300 , Archer AX23 , Archer AX20 , Archer C3150 V2 , Archer C4000 , Archer AX21 , Archer A3000 , Archer C2700 , Archer AXE300 , Archer AX1500 , Archer C90 , Archer AX60 , Archer AX11000 , Archer AX3200 , Archer AX3000

Если вашей модели нет в списке, не переживайте — возможно, её ещё просто не успели добавить. Чтобы точно убедиться в наличии или отсутствии той или иной функции, откройте продуктовую страницу интересующей вас модели и перейдите в раздел «Характеристики».

1. Войдите в веб-интерфейс роутера. Если вы не знаете, как это сделать, обратитесь к инструкциям:

2. Перейдите в раздел Дополнительные настройки > Системные инструменты > Диагностика.

3. Введите данные с помощью подсказок на странице:

1) Выберите Ping или Трассировка в качестве диагностического инструмента для проверки сетевого подключения;

  • Ping используется для проверки соединения между роутером и тестируемым узлом и измерения времени отклика.
  • Трассировка используется для отображения маршрута (пути), по которому прошли ваши данные от роутера, чтобы добраться до тестируемого узла, и измерения задержки транзита пакетов через сеть Интернет.

2) Введите IP-адрес или Доменное имя тестируемого узла.

4. Нажмите Начало, чтобы начать диагностику.

Нажмите Дополнительные настройки, здесь вы можете изменить Счетчик Ping, Размер Ping-пакета или Трассировку Max TTL. Рекомендуется сохранить значение по умолчанию.

На рисунке ниже показано правильное соединение между роутером и сервером Яндекс (www.yandex.ru), протестированное через Ping.

На рисунке ниже показано правильное соединение между роутером и сервером Яндекс (www.yandex.ru), протестированное через инструмент Трассировка.

Чтобы получить подробную информацию о каждой функции и настройке оборудования, перейдите на страницу Загрузки для загрузки руководства пользователя к Вашей модели устройства.

Полезен ли этот FAQ?

Ваши отзывы помогают улучшить этот сайт.

Что вас заинтересовало в этой статье?

  • Недоволен продуктом
  • Слишком сложно
  • Непонятное название
  • Не применимо ко мне
  • Слишком расплывчато
  • Другой

Мы хотели бы получить ваши отзывы, пожалуйста, дайте нам знать, как мы можем улучшить этот контент.

Подтвердить

Спасибо

Мы ценим ваше мнение.
Нажмите здесь, чтобы связаться со службой технической поддержки TP-Link.

Протокол TCP: что нужно знать специалисту по анализу сетевого трафика!

По нашему опыту, когда дело доходит до низкоуровневого анализа TCP девять из десяти ИТ специалистов в компаниях среднего и крупного бизнеса чувствуют себя неуверенно. Не могут точно сказать, что такое ретрансмиссии, размер окна и т.д. Большинство материалов в интернете по этой теме больше походят на научные работы. В этой статье мы попытаемся донести с практической точки зрения, что же полезного прячет в себе протокол TCP для того, кто занимается анализом сетевого трафика.

В каких случаях нам нужен анализ TCP пакетов?

Как показывает практика, современные системы анализа сетевого трафика имеют большую базу протоколов и готовых шаблонов для программного обеспечения. Это позволяет без труда разбивать транзакции на логические части. К сожалению, далеко не для всех задач бизнеса удаётся найти готовые продукты и в каждой компании обязательно найдётся парочка «самописных» или кастомизированных приложений. Как же анализировать трафик от таких приложений?

База анализатора трафика не имеет информации, в каком бите содержится код реквеста, какой код соответствует респонсу и т.д. В таких ситуациях приходится прибегать к самым азам сетевой науки – TCP анализу. Давайте рассмотрим, что прячет внутри себя этот протокол.

По своей сути TCP является протоколом транспортного уровня. Он позволяет осуществить соединение одного сокета (IP-адрес + порт) хоста источника с сокетом хоста назначения. Заголовок IP будет содержать информацию, связанную с IP-адресами, а заголовок TCP — информацию о порте.

Заголовок TCP

Заголовки TCP перемещаются по сети для установления, поддержки и завершения TCP-соединений, а также передачи данных.

Заголовок TCP

Рисунок 1. Заголовок TCP

В заголовке TCP содержаться следующие поля:

  • Source port (16 бит): порт источника. Порт хоста, от которого исходит запрос.
  • Destination port (16 бит): порт назначения. Порт хоста, куда направляется запрос.
  • Sequence number, SYN (32 бита): порядковый номер. Позволяет контролировать порядок сообщений. Каждая конечная точка (как порт источника, так и порт назначения) будут поддерживать свой уникальный порядковый номер для отправляемых сообщений. При установлении соединения TCP (используется сообщение с установленным флагом SYN) в качестве изначального порядкового номера будет сгенерировано случайное число. Вернее, не совсем случайно сгенерировано, а будет содержать конкретное 32-битное число, то есть в пределах от 0 до 4294967295 (или 2 в 32-ой степени возможных вариантов), которое будет соответствовать времени, прошедшему после перегрузки системы отправителя (из расчета +1 за каждые прошедшие 4 микросекунды), а также увеличенное на 64000 каждый раз при установлении нового соединения. Так как сгенерированное число будет уникальным для периода времени почти в пять часов (если при этом никакие соединения не устанавливались), то такой подход к выбору порядкового номера позволяет избежать случайных коллизий при передаче данных, когда для нескольких пакетов из разных соединений будет совпадать порядковый номер. В дальнейшем, при отправке следующих пакетов, значение порядкового номера будет увеличиваться на +1 для всех пакетов с флагом SYN, пакетов с флагом FIN и для каждого байта отправленных данных. Это позволяет принимающей системе обрабатывать пакеты в правильной последовательности, как они были сформированы при отправлении, а не в том порядке, как они были получены.
  • Acknowledgement number, ACK (32 бита): номер подтверждения. Когда сообщение содержит флаг ACK, то значение в номере подтверждения должно соответствовать следующему порядковому номеру (SYN), которое отправитель сообщения с флагом ACK ожидает получить от передающей системы. Таким образом, отправка одного номера подтверждения способна подтвердить получение всех байтов с информацией, полученных до этого. Более наглядно об использовании порядкового номера и номера подтверждения вы можете посмотреть на этом видео:
  • Data offset (4 бита): длина заголовка, известная также как смещение данных. Содержит размер заголовка TCP, измеряемый в 32-битных сегментах. Минимальный размер заголовка TCP составляет пять 32-битных сегментов (всего 20 байт), а максимальный — пятнадцать 32-битных сегмента (или 60 байт).
  • Reserved (3 бита): зарезервировано. Зарезервировано для будущего использования, пока просто забивается нулями. На данный момент осталось три незадействованных бита, в то время как еще три ранее зарезервированных бита уже используются как флаги.
  • Flags, 9 бит (флаги или управляющие биты):
    • NS (1 бит): одноразовая сумма (Nonce Sum). Используется для улучшения работы механизма явного уведомления о перегрузке (Explicit Congestion Notification, ECN).
    • CWR (1 бит): окно перегрузки уменьшено (Congestion Window Reduced). Данный флаг устанавливается отправителем, чтобы показать, что TCP-фрагмент был получен с установленным полем ECE. Таким образом, это является подтверждением получения пакета данных с флажком ECE от хоста получателя и включением отправителем механизма уменьшения перегрузки (Congestion Control), позволяющим оптимизировать отправку пакетов с данными в перегруженных сетях, избежав серьезных задержек из-за отбрасывания пакетов.
    • ECE (1 бит): ECN-Эхо (ECN-Echo). Выполняет двойственную роль, в зависимости от значения флага SYN. При установленном флаге SYN это указывает на то, что отправитель пакета поддерживает ECN. Если флаг SYN сброшен (SYN=0), а ECE установлен, то это означает, что пакет с установленным флагом CE (Congestion Experienced, Подтвержденная перегрузка) был получен в заголовке IP во время обычной передачи. Таким образом, это служит индикатором перегрузки сети (или предстоящей перегрузки) для TCP-отправителя.
    • URG (1 бит). Устанавливается, если необходимо передать ссылку на поле указателя срочности (Urgent pointer).
    • ACK (1 бит). Устанавливается, когда пакет содержит значение номера подтверждения в поле подтверждения. Все пакеты после стартового пакета SYN будут иметь установленный флаг ACK.
    • PSH (1 бит). Делает этот пакет пакетом PUSH (проталкивания). При нормальном потоке передачи данных система получателя не будет подтверждать получение каждого пакета сразу же после его получения. Вместо этого система получателя в течении некоторого времени будет собирать и хранить полученные данные в буфере, пока не передаст их приложению пользователя. Пакет PUSH инструктирует систему получателя немедленно передать все полученные ранее данные из буфера в приложение пользователя и сразу же отправить сообщение с подтверждением.
    • RST (1 бит): сброс данного соединения. Отправкой пакета RST одна из сторон сообщает о немедленном разрыве соединения. При этом соединение обрывается, а буфер очищается. Самые распространенные причины отправки пакета с установленным флагом RST — ответ на пакет, полученный для закрытого сокета; пользователь сам прервал соединение (например, закрыв браузер, не дожидаясь ответа); соединение не было нормально закрыто, но находится в неактивном состоянии некоторое время.
    • SYN (1 бит). Начинает соединение и синхронизирует порядковые номера. Первый пакет, отправленный с каждой стороны, должен в обязательном порядке иметь установленным этот флаг.
    • FIN (1 бит). Одна из конечных точек отправляет пакет с установленным флагом FIN для другой конечной точки, чтобы сообщить, что все пакеты были отправлены, и соединение пора завершить.

    Механизм передачи сообщений TCP

    Перед тем, как данные могут быть переданы между двумя узлами, в TCP, в отличие от UDP, предусмотрена стадия установки соединения. Также, после того, как все данные были переданы, наступает стадия завершения соединения. Таким образом, осуществление каждого TCP-соединения можно условно разделить на три фазы:

    1. Инициализация соединения.

    Установка соединения осуществляется с помощью, так называемого трехстороннего рукопожатия TCP. Инициатором соединения может выступать любая сторона. Однако чтобы упростить рассмотрения данного вопроса в рамках данной статьи, мы рассмотрим пример, когда клиент инициализирует соединение с сервером.

    Трехстороннее рукопожатие TCP

    Рисунок 2. Трехстороннее рукопожатие TCP

    (Пакет №1). Клиент отправляет пакет с установленным флагом SYN и случайным числом («R1»), включенным в поле порядкового номера (sequence number).

    (Пакет №2). При получении пакета №1 сервер в ответ отправляет пакет с установленным флагом SYN, а также с установленным флагом ACK. Поле порядкового номера будет содержать новое случайное число («R2»), а поле номера подтверждения будет содержать значение порядкового номера клиента, увеличенного на единицу (то есть «R1 + 1»). Таким образом, он будет соответствовать следующему порядковому номеру, который сервер ожидает получить от клиента.

    (Пакет №3). В ответ на пакет SYN от сервера (пакет №2) клиент отправляет пакет с установленным флагом ACK и полем номера подтверждения с числом «R2 + 1». По аналогии, это число будет соответствовать следующему порядковому номеру, который клиент ожидает получить от сервера.

    1. Загрузка данных.

    После инициализации соединения полезная нагрузка будет перемещаться в обоих направлениях TCP-соединения. Все пакеты в обязательном порядке будут содержать установленный флаг ACK. Другие флаги, такие как, например, PSH или URG, могут быть, а могут и не быть установленными.

    1. Завершение соединения.

    При нормальном завершении TCP-соединения в большинстве случаев инициализируется процедура, называемая двухсторонним рукопожатием, в ходе которой каждая сторона закрывает свой конец виртуального канала и освобождает все задействованные ресурсы. Обычно эта фаза начинается с того, что один из задействованных процессов приложения сигнализирует своему уровню TCP, что сеанс связи больше не нужен. Со стороны этого устройства отправляется сообщение с установленным флагом FIN (отметим, что этот пакет не обязательно должен быть пустым, он также может содержать полезную нагрузку), чтобы сообщить другому устройству о своем желании завершить открытое соединение. Затем получение этого сообщения подтверждается (сообщение от отвечающего устройства с установленным флагом ACK, говорящем о получении сообщения FIN). Когда отвечающее устройство готово, оно также отправляет сообщение с установленным флагом FIN, и, после получения в ответ подтверждающего получение сообщения с установленным флагом ACK или ожидания определенного периода времени, предусмотренного для получения ACK, сеанс полностью закрывается. Состояния, через которые проходят два соединенных устройства во время обычного завершения соединения, отличаются, потому что устройство, инициирующее завершение сеанса, ведет себя несколько иначе, чем устройство, которое получает запрос на завершение. В частности, TCP на устройстве, получающем начальный запрос на завершение, должен сразу информировать об этом процесс своего приложения и дождаться от него сигнала о том, что приложение готово к этой процедуре. Инициирующему устройству не нужно это делать, поскольку именно приложение и выступило инициатором. Более подробно завершении TCP-соединения смотрите здесь (http://www.tcpipguide.com/free/t_TCPConnectionTermination-2.htm).

    Завершение TCP-соединения

    Рисунок 3. Завершение TCP-соединения

    • Keep-alive или повторное использование соединений

    На уровне TCP нет сообщений типа «keep-alive», и поэтому, даже если сеанс соединения в какой-то момент времени становится неактивным, он все равно будет продолжаться до тех пор, пока не будет отправлен следующий пакет.

    Когда мы отправляем HTTP-запрос по сети, нам сразу нужно создать TCP-соединение. Однако в HTTP 1.0 возможность повторного использования соединения по умолчанию закрыта (если заголовок «keep-alive = close» дополнительно не включен в заголовок HTTP), то есть TCP-соединение автоматически закрывается после получения запроса и отправки ответа. Так как процесс создания TCP-соединения относительно затратный (он требует дополнительных затрат процессорных ресурсов и памяти, а также увеличивает сетевой обмен между сервером и клиентом, что особенно становится актуальным при создании защищенных соединений), то все это увеличивает количество лагов и повышает вероятность перегрузки сети. Поэтому для HTTP 1.1 было решено оставлять TCP-соединение открытым до тех пор, пока одна из сторон не решит прекратить его.

    С другой стороны, если соединения не будут закрываться после того, как клиенты получат все необходимые им данные, задействованные ресурсы сервера для поддержания этих соединений не будут доступны другим клиентам. Поэтому HTTP-серверы, чтобы обеспечить больший контроль над потоком данных, используют временные интервалы (таймауты) для поддержки функциональности «keep-alive» для неактивных соединений (длящихся по умолчанию, в зависимости от архитектуры и конфигурации сервера, не более нескольких десятков секунд, а то и просто нескольких секунд), а также максимальное число отправляемых запросов «keep-alive», прежде чем сеанс без активного соединения будет остановлен. Более подробно о функциональности «keep-alive» вы можете узнать здесь (https://blog.stackpath.com/glossary/keep-alive/).

    Вступайте в Telegram канал проекта NetworkGuru, чтобы не пропустить интересные статьи и вебинары.

    Подписывайтесь на рассылку, делитесь статьями в соцсетях и задавайте вопросы в комментариях!

    Вечный параноик, Антон Кочуков.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *