Установка соединения в TCP | Практика по курсу "Компьютерные сети"
Вставка
- Опубліковано 11 жов 2024
- С помощью Wireshark исследуем как в TCP устанавливается и разрывается соединение. Практические занятия по курсу "Компьютерные сети" - goo.gl/YP3l83
Страница курса - www.asozykin.ru...
Для установки соединения в TCP используется процедура трехкратного рукопожатия. Отправитель и получатель пересылают друг другу три сегмента TCP со специально установленными флагами, которые говорят о намерении установить соединение:
1. Отправитель передает сегмент с установленным флагом SYN.
2. Получатель отвечает сегментом с установленными флагами SYN + ACK.
3. Отправитель передает сегмент с флагом ACK.
После этих трех шагов соединение считается установленным и можно передавать данные.
Для разрыва соединения используются сегменты с установленными флагами FIN и ACK.
Соединение в TCP дуплексное, данные по нему можно передавать в две стороны. Поэтому сегменты FIN+ACK должны передать обе стороны, в противном случае соединение будет закрыто только с одной стороны.
Лекции по курсу "Компьютерные сети" - goo.gl/0aIOuf
Лекция "Протокол TCP" - • Протокол TCP | Курс "К...
Лекция "Протокол TCP: соединение" - • Протокол TCP: соединен...
Лекция "Протокол TCP: формат заголовка" - • Протокол TCP: формат з...
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
goo.gl/kW93MA
Спасибо за курс!
Пожалуйста! Обратите внимание, что сейчас записываю обновлённую версию курса - ua-cam.com/play/PLtPJ9lKvJ4ojPWFLuUz6g8c73Ta45bUN8.html
Как-то Вы интересно объяснили на 4:24 назначение поля seq. Кажется, что для различения пакетов от разных соединений используется порт и ip источника и назначения.
А seq для решения проблемы потери и дублирования сегментов.
Spasibo za Palezniy Trud ))
Всегда рад :)
Красиво всё рассказал, спасибо большое
Пожалуйста!
Дякую за корисний контент :) ))))))))
Отлично
То есть на разных узлах разные порядковые номера байт?
Например узел А соединяется с узлом В:
1) А отправляет сегмент с флагом SYN , в поле последовательность записан ISN на его стороне
2) В отвечает с флагом ACK (в поле номер подтверждения записывается что? запрашиваемый байт? С номером своего порядка или порядком A?) и флагом SYN, в поле последовательность он записывает ISN, сгенерированный уже на его стороне.
3) А отвечает с флагом ACK (что в поле номер подтверждения?) и запрашиваемыми данными из предыдущего шага.
...
Обмен данными по принципу запрос/подтверждение
4) Закрытие соединение со стороны А и В
Спасибо!
спасибо!!!
Пожалуйста!
5:54 Флаг FIN, а не SYN. Просто оговорка, ничего критичного. Лекции и практика отличные.
Спасибо, что заметили. Действительно, оговорка.
Как поведет себя ОС при теоретической ситуации, когда все номера портов вплоть до 65535 будут заняты приложениями?
Скажет, что все порты заняты. Но на практике, если на компьютере запустить несколько десятков тысяч приложений, то память закончится быстрее, чем остальные ресурсы, в том числе доступные порты.
Привет Андрей, хочу задать глупый вопрос. Клиент и сервер назначает каждый свою последовательность байт. Например, клиент подтверждает последовательность которую получил от сервера (relative ack number ) и передает серверу свою (relative sequence number) последовательность до последнего байта включительно серверу, сервер подтверждает последовательность от клиента в свою очередь и передает свою?
Да, именно так.
Добрый день Андрей!
Подскажите пожалуйста где в пакете сегменте TCP увидеть размер данного сегмента? Заранее спасибо
Что может означать tcp.stream :1 и tcp.completeness: Incomplete 13 при отправке SYN?
Новых писем нет. К сожалению один только спам :-D
Как бы я хотел в такой ситуации оказаться! Каждое утро по нескольку десятков писем, и всем нужно что-то срочное сделать.
You probably dont care but if you guys are bored like me during the covid times you can stream pretty much all the new series on InstaFlixxer. Have been binge watching with my girlfriend for the last couple of days :)
@Maxton Johan yup, have been watching on InstaFlixxer for months myself =)
@Maxton Johan yea, been watching on instaflixxer for since december myself :)
@Maxton Johan Yup, have been watching on instaflixxer for since december myself :D
Вы говорили, что флаг push не используется. Странно, у меня все сообщения только с ним на диаграмме
Странно. Можно пример прислать?
Хм, возможно я что-то напутал, но у вас тоже много этих флагов. Например, на 7:28 на синей строке видно PSH, ACK.
Я немного не понимаю, содержимое пакета в шестнадцатиричном коде? А на физическом уровне информация передаётся в двоичном? Где происходит переход из шестнадцатиричной в двоичную информацию?
На физическом информация не всегда передается в двоичном, есть более сложные виды кодирования. Преобразование из шестнадцетиричного вида в формат, пригодный для передачи, выполняется сетевым адаптером и его драйвером.
@@AndreySozykin Это в каком например, если не в двоичном?
Александр Иванов
, А что именно не понятно в шестнадцатиричном коде?
На физическом уровне в двоичном , т.е. дискретный сигнал, а то как выглядит содержимое пакетов на экране - так это только для сокращения места и удобства чтения для человека.
@@ivan100kg
вот, самую суть сказал. а остальные растекались
Здравствуйте, а для стримов в Интернете какие протоколы используют? Рационально ли для этой цели использовать WebSocket?
+Sergey Ufimtsev что имеется в виду под стримами в Интернете?
Andrey Sozykin
потоковое видео и аудио вещание
+Sergey Ufimtsev полагаю UDP, так как там важна скорость и потеря нескольких кадров не будет так страшна
потокове видео и аудио насколько я знаю через UDP протокол проходят
А что за красный пакет там внизу? Почему он красный?
+Plus
A comment for promotion.
немного помучив строку в вайршарк придумал вот такое tcp.flags.fin == 1 || tcp.connection.rst