Установка соединения в 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

КОМЕНТАРІ • 47

  • @marlonbrando458
    @marlonbrando458 6 місяців тому +1

    Спасибо за курс!

    • @AndreySozykin
      @AndreySozykin  6 місяців тому

      Пожалуйста! Обратите внимание, что сейчас записываю обновлённую версию курса - ua-cam.com/play/PLtPJ9lKvJ4ojPWFLuUz6g8c73Ta45bUN8.html

  • @PBarb-l1r
    @PBarb-l1r 11 днів тому

    Как-то Вы интересно объяснили на 4:24 назначение поля seq. Кажется, что для различения пакетов от разных соединений используется порт и ip источника и назначения.
    А seq для решения проблемы потери и дублирования сегментов.

  • @atillaattila8900
    @atillaattila8900 8 років тому +6

    Spasibo za Palezniy Trud ))

  • @Mrpoljkee
    @Mrpoljkee 3 роки тому +4

    Красиво всё рассказал, спасибо большое

  • @resident77777
    @resident77777 2 місяці тому

    Дякую за корисний контент :) ))))))))

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 5 років тому +1

    Отлично

  • @FrozzSend
    @FrozzSend 5 років тому +1

    То есть на разных узлах разные порядковые номера байт?
    Например узел А соединяется с узлом В:
    1) А отправляет сегмент с флагом SYN , в поле последовательность записан ISN на его стороне
    2) В отвечает с флагом ACK (в поле номер подтверждения записывается что? запрашиваемый байт? С номером своего порядка или порядком A?) и флагом SYN, в поле последовательность он записывает ISN, сгенерированный уже на его стороне.
    3) А отвечает с флагом ACK (что в поле номер подтверждения?) и запрашиваемыми данными из предыдущего шага.
    ...
    Обмен данными по принципу запрос/подтверждение
    4) Закрытие соединение со стороны А и В

  • @ayudakov
    @ayudakov 3 роки тому

    Спасибо!

  • @ИванИванов-ю2е5ц
    @ИванИванов-ю2е5ц 3 роки тому +1

    спасибо!!!

  • @ThePuskoi
    @ThePuskoi 4 роки тому +3

    5:54 Флаг FIN, а не SYN. Просто оговорка, ничего критичного. Лекции и практика отличные.

    • @AndreySozykin
      @AndreySozykin  4 роки тому

      Спасибо, что заметили. Действительно, оговорка.

  • @BalynOmavel
    @BalynOmavel 6 років тому +6

    Как поведет себя ОС при теоретической ситуации, когда все номера портов вплоть до 65535 будут заняты приложениями?

    • @AndreySozykin
      @AndreySozykin  6 років тому +26

      Скажет, что все порты заняты. Но на практике, если на компьютере запустить несколько десятков тысяч приложений, то память закончится быстрее, чем остальные ресурсы, в том числе доступные порты.

  • @nagayka189
    @nagayka189 5 років тому +2

    Привет Андрей, хочу задать глупый вопрос. Клиент и сервер назначает каждый свою последовательность байт. Например, клиент подтверждает последовательность которую получил от сервера (relative ack number ) и передает серверу свою (relative sequence number) последовательность до последнего байта включительно серверу, сервер подтверждает последовательность от клиента в свою очередь и передает свою?

  • @ВладимирИванов-я2й3и

    Добрый день Андрей!
    Подскажите пожалуйста где в пакете сегменте TCP увидеть размер данного сегмента? Заранее спасибо

  • @АлексейДубовик-и3э

    Что может означать tcp.stream :1 и tcp.completeness: Incomplete 13 при отправке SYN?

  • @SC-eg3dv
    @SC-eg3dv 7 років тому +16

    Новых писем нет. К сожалению один только спам :-D

    • @AndreySozykin
      @AndreySozykin  7 років тому +5

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

    • @maxtonjohan8064
      @maxtonjohan8064 3 роки тому

      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 :)

    • @briggsmalcolm1102
      @briggsmalcolm1102 3 роки тому

      @Maxton Johan yup, have been watching on InstaFlixxer for months myself =)

    • @chadelliot6955
      @chadelliot6955 3 роки тому

      @Maxton Johan yea, been watching on instaflixxer for since december myself :)

    • @dallasgannon5717
      @dallasgannon5717 3 роки тому

      @Maxton Johan Yup, have been watching on instaflixxer for since december myself :D

  • @TheLuChing
    @TheLuChing 7 років тому +3

    Вы говорили, что флаг push не используется. Странно, у меня все сообщения только с ним на диаграмме

    • @AndreySozykin
      @AndreySozykin  7 років тому

      Странно. Можно пример прислать?

    • @TheLuChing
      @TheLuChing 7 років тому +3

      Хм, возможно я что-то напутал, но у вас тоже много этих флагов. Например, на 7:28 на синей строке видно PSH, ACK.

  • @АлександрИванов-я6э1с

    Я немного не понимаю, содержимое пакета в шестнадцатиричном коде? А на физическом уровне информация передаётся в двоичном? Где происходит переход из шестнадцатиричной в двоичную информацию?

    • @AndreySozykin
      @AndreySozykin  6 років тому +1

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

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 5 років тому

      @@AndreySozykin Это в каком например, если не в двоичном?

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 5 років тому

      Александр Иванов
      , А что именно не понятно в шестнадцатиричном коде?

    • @ivan100kg
      @ivan100kg 3 роки тому +1

      На физическом уровне в двоичном , т.е. дискретный сигнал, а то как выглядит содержимое пакетов на экране - так это только для сокращения места и удобства чтения для человека.

    • @manOfPlanetEarth
      @manOfPlanetEarth 4 місяці тому

      @@ivan100kg
      вот, самую суть сказал. а остальные растекались

  • @sergeyufimtsev711
    @sergeyufimtsev711 8 років тому

    Здравствуйте, а для стримов в Интернете какие протоколы используют? Рационально ли для этой цели использовать WebSocket?

    • @AndreySozykin
      @AndreySozykin  8 років тому

      +Sergey Ufimtsev что имеется в виду под стримами в Интернете?

    • @sergeyufimtsev711
      @sergeyufimtsev711 8 років тому

      Andrey Sozykin
      потоковое видео и аудио вещание

    • @JackTaylorCSGO
      @JackTaylorCSGO 8 років тому

      +Sergey Ufimtsev полагаю UDP, так как там важна скорость и потеря нескольких кадров не будет так страшна

    • @vtduch
      @vtduch 8 років тому +1

      потокове видео и аудио насколько я знаю через UDP протокол проходят

  • @technozavrr
    @technozavrr 5 місяців тому

    А что за красный пакет там внизу? Почему он красный?

  • @MrEmityushkin
    @MrEmityushkin 2 роки тому

    +Plus

  • @ksalarang
    @ksalarang 4 роки тому +1

    A comment for promotion.

  • @Tamago4a
    @Tamago4a Рік тому +1

    немного помучив строку в вайршарк придумал вот такое tcp.flags.fin == 1 || tcp.connection.rst