Протокол TCP | Курс "Компьютерные сети"

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2025
  • Видеолекция по протоколу TCP.
    Лекции по курсу "Компьютерные сети" - goo.gl/0aIOuf
    TCP (Transmission Control Protocol, протокол управления передачей) - протокол транспортного уровня стека TCP/IP. Он предоставляет сервис надежной передача потока байт (reliable byte stream). TCP предоставляет следующие гарантии:
    Доставка данных.
    Сохранения порядка следования сообщений.
    Транспортная подсистема получает от приложения данные в виде потока байт. Поток разбивается на отдельные части, которые называются сегменты. Сегменты передаются от отправителя к получателю независимо друг от друга. Получатель собирает сегменты и передает принимающему приложению поток байт.
    Для гарантии доставки TCP использует подтверждение получения данных. Получатель, после приема очередной порции данных, передает отправителю подтверждения о получении. В случае, если подтверждение не пришло, отправитель передает данные еще раз.
    В TCP подтверждается не получение каждого сегмента, а получение нескольких сегментов. Это сделано для увеличения скорости передачи данных: отправитель может передать без остановки несколько сегментов, не дожидаясь прихода подтверждения. Такой тип подтверждения называется кумулятивный: подтверждается получение последнего сегмента, и всех предыдущих. Количество сегментов, которые отправитель может передать без подтверждения, называется размер скользящего окна.
    Однако только подтверждения и повторной отправки недостаточно для надежной передачи потока байт. В дополнение к потере данных возможна и другая проблема: нарушение порядка следования сообщений:
    Сегменты приходят в неправильном порядке.
    Сегменты дублируются.
    Для сохранения порядка следования сообщений используется нумерация сообщений. Особенность протокола TCP в том, что он нумерует не сегменты, а байты в сегментах. Нумерация сообщений позволяет расставить перепутанные сегменты в правильном порядке, а также не учитывать дублирующийся сегменты.
    Перед отправкой данных по TCP необходимо установить соединение. Задачи соединения:
    Убедиться, что отправитель и получатель хотят передавать данные друг другу.
    Договориться о нумерации потока байт.
    Договорится о параметрах соединения (максимальный размер сегмента и т.п.).
    После завершения передачи данных соединение TCP разрывается.
    Практические занятия по курсу "Компьютерные сети" - goo.gl/YP3l83
    Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
    goo.gl/kW93MA

ความคิดเห็น • 149

  • @naruto5466
    @naruto5466 8 ปีที่แล้ว +149

    Чувак ты гениален! Во время просмотра возникает куча вопросов, и ты по ходу рассказа именно на них и отвечаешь!! Спасибо за качественные труды

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว +8

      +tecktart tecktart, спасибо за хороший отзыв. Рад, что понравилось!

    • @manOfPlanetEarth
      @manOfPlanetEarth ปีที่แล้ว +1

      да. только Эндрю - не чувак тебе. Ясненько, чувачочек?

    • @antonioblance
      @antonioblance ปีที่แล้ว

      У меня возникает столько вопросов, что ответить на все невозможно. Я использую для этого Chatgpt)

    • @rossign0lole28
      @rossign0lole28 ปีที่แล้ว

      Naruto тебе не чувачок, приятель@@manOfPlanetEarth

  • @serj_ivanoff
    @serj_ivanoff ปีที่แล้ว +3

    Ваш курс по сетям это лучшее что я видел и слышал, спасибо большое!

  • @FuLLHD17395
    @FuLLHD17395 5 ปีที่แล้ว +24

    Андрей, здравствуйте! К сожалению, только сейчас добрался до Ваших лекций, но они очень крутые! Ставлю под всеми видео лайки, а сами лекции конспектирую и рисую. Также друзьям рассказал о Ваших лекциях и говорю, что они просто легкие, по существу и всё понятно! Очень нравится!

    • @AndreySozykin
      @AndreySozykin  5 ปีที่แล้ว

      Спасибо за приятный отзыв и за помощь в распространении курса!

  • @MrSorrow
    @MrSorrow 3 ปีที่แล้ว +1

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

    • @AndreySozykin
      @AndreySozykin  3 ปีที่แล้ว

      Спасибо за приятный отзыв! Уверен, что все получиться!

  • @miks1397
    @miks1397 2 ปีที่แล้ว +1

    С удовольствием пробежал курс для освежения старых знаний и вскрытия темных пятен. Большое спасибо за твою работу, дружище!

  • @AndreySozykin
    @AndreySozykin  9 ปีที่แล้ว +8

    +Moral Proxy спасибо за помощь с распространением. Отличная идея с раздачей на рутрекере, постараюсь сделать.

  • @leore1016
    @leore1016 4 ปีที่แล้ว +1

    Спасибо! Самые лаконичные уроки! Очень внятно и быстро! не приходится смотреть на скорости 2)))

    • @AndreySozykin
      @AndreySozykin  4 ปีที่แล้ว

      Пожалуйста! Рад, что нравится!

  • @1492orxan
    @1492orxan 6 ปีที่แล้ว +3

    Спасибо большое за ваши лекции))) Благодаря вам идет развитие. ЕЩе раз спасибо

    • @AndreySozykin
      @AndreySozykin  6 ปีที่แล้ว

      Пожалуйста! Успехов в развитии!

    • @w1tcherj
      @w1tcherj 6 ปีที่แล้ว +2

      ну развитие идёт благодаря твоей не лени всё же) лекции это инструмент.

    • @Азамат-ш4з
      @Азамат-ш4з 4 ปีที่แล้ว

      @@w1tcherj но все же думаю справедливо отметить что инструменты также бывают разными. Как по мне лекции Андрея очень толковый инструмент - все по сути, лаконично и при этом доходчиво. Конечно возникают вопросы (они всегда возникают), но благо - есть возможность задать эти вопросы автору лекций в комментариях.

  • @veraodnoralova1325
    @veraodnoralova1325 ปีที่แล้ว +1

    Спасибо за отличную работу!!!

  • @АлексейСухомлин-л5э
    @АлексейСухомлин-л5э 4 ปีที่แล้ว +2

    Однозначно лайк, подписка
    И самое главное - смотрим рекламу полностью, не пропускаем, чтоб автору заплатили - поскольку это будет справедливо
    Без воды, без лишнего, все ясно и понятно

    • @AndreySozykin
      @AndreySozykin  4 ปีที่แล้ว

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

  • @adammagomedov9822
    @adammagomedov9822 11 หลายเดือนก่อน +1

    Я в шоке от вас спасибо огромное читал книгу думал это не моё но вы спасаете спасибо огромное

    • @AndreySozykin
      @AndreySozykin  11 หลายเดือนก่อน +1

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

  • @asolokh
    @asolokh 4 ปีที่แล้ว +2

    Спасибо за Ваш труд, просто и доступно.

  • @Anuarbek86
    @Anuarbek86 9 ปีที่แล้ว +28

    отлично! привет из Казахстана брат!

    • @AndreySozykin
      @AndreySozykin  9 ปีที่แล้ว +8

      +Ануарбек Аманов Спасибо! Рад, что смотрят не только из России!

    • @SergeySaraev-xe4fl
      @SergeySaraev-xe4fl 9 ปีที่แล้ว +7

      +Andrey Sozykin
      Ещё привет из Казахстана, очень интересно, компактно и доходчиво объяснено, Спасибо!

    • @paulzimt5318
      @paulzimt5318 7 ปีที่แล้ว +7

      Привет из Германии от студентов Computer Science :)

  • @kseniyasakki4382
    @kseniyasakki4382 4 ปีที่แล้ว +2

    Спасибо вам, Андрей!

  • @ayudakov
    @ayudakov 3 ปีที่แล้ว +2

    Спасибо! Полезно и понятно!

  • @Q_School
    @Q_School 4 ปีที่แล้ว

    Спасибо.
    Qilgan bu yaxshi amallariyezni ajrini bersin.

  • @atillaattila8900
    @atillaattila8900 8 ปีที่แล้ว +3

    Ochen krasivo zdelona video kurs
    spasibo

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว +2

      +atilla atilla, спасибо!

  • @uzumakisasha
    @uzumakisasha 3 ปีที่แล้ว +2

    Большое спасибо

  • @alexandreevka
    @alexandreevka 7 ปีที่แล้ว +5

    Спасибо, приятно слушать
    Четко и понятно

    • @AndreySozykin
      @AndreySozykin  7 ปีที่แล้ว +2

      +Саша Саранин, пожалуйста! Рад, что нравится!

  • @ЯрославКрылов-ж1г
    @ЯрославКрылов-ж1г ปีที่แล้ว

    Вопрос по времени (2:30)
    Что происходит в этой ситуации:
    1. Отправитель отправил
    2. Получатель молчит
    3. Отправитель засек таймер
    4. Получатель получил пакет
    5. Получатель пересылает ОК
    6. Отправитель отправляет повторно
    7. Отправитель получает сообщение, что пакет дошел до получателя
    8. Получатель получил второй пакет
    Что он будет с ним делать, если отправил уже ОК?
    У меня есть две теории:
    1. Он узнает этот пакет, поэтому проигнорит
    2. Он снова отправит ОК, а отправитель узнает тоже узнает этот пакет и поймет, что он получил два подтверждения на один и тот же пакет, в следствии чего продолжит передачу пакетов

  • @Criptex57
    @Criptex57 9 ปีที่แล้ว +4

    отличные уроки, доступно изложено. Правда немного рассинхронизация звука с видеорядом

    • @AndreySozykin
      @AndreySozykin  9 ปีที่แล้ว

      +Criptex57 спасибо за замечание. Постараюсь исправить в следующих лекциях.

  • @ram-gc7gl
    @ram-gc7gl ปีที่แล้ว +6

    Доброго дня, Андрей! Вы сказали что IP не сохраняет порядок сегментов, но у меня вопрос. Разве при передачи пакетов в Сетевом Уровне не сохраняется порядок? Когда пакет делится на фрагменты то у каждого из них есть собственный номер смещения. 0, 185, 370. Разве это не указывает на порядок потока байт?

  • @МаксимБулыгин-щ4э
    @МаксимБулыгин-щ4э 4 ปีที่แล้ว +1

    Спасибо за видео!

  • @georgyvanopas1453
    @georgyvanopas1453 3 ปีที่แล้ว +1

    Боже, спасибо вам

  • @Информатика-АПС
    @Информатика-АПС 11 หลายเดือนก่อน

    Пересказ от Яндекса:
    00:00 Протокол Ти-Си-Пи
    * Ти-Си-Пи находится на транспортном уровне модели взаимодействия открытых систем и стека протоколов Ти-Си-Пи-Ай-Пи.
    * Ти-Си-Пи обеспечивает надежную доставку данных и гарантирует сохранение порядка следования сообщений от приложения.
    * Ти-Си-Пи использует подтверждение получения сообщения и повторную отправку данных для обеспечения гарантии доставки данных.
    02:37 Скользящее окно и нумерация байтов
    * Ти-Си-Пи использует скользящее окно для подтверждения нескольких сегментов данных.
    * Для обеспечения сохранения порядка следования сообщений, все сообщения нумеруются в Ти-Си-Пи.
    * Нумерация байтов используется для восстановления порядка следования сообщений при их получении.
    06:07 Соединение и завершение передачи данных
    * Ти-Си-Пи использует соединение для установления связи между отправителями и получателями.
    * Соединение необходимо установить перед началом передачи данных и разорвать после завершения передачи.
    * При установке соединения, отправители и получатели договариваются о нумерации потока байт и некоторых параметрах соединения.

  • @ВладимирПетов-р6к
    @ВладимирПетов-р6к 9 ปีที่แล้ว +2

    Спасибо!

    • @AndreySozykin
      @AndreySozykin  9 ปีที่แล้ว

      Рад, что нравится.

  • @АртемНегода-т8ь
    @АртемНегода-т8ь 6 ปีที่แล้ว +9

    Уже дошел до этого видео а так и не понял одну наверное простую вещь : пакет каждого уровня содержит внутри себя пакет уровня выше ? например сетевой пакет содержит пакет транспортного уровня а сам сетевой пакет пришел внутри канального пакета

    • @AndreySozykin
      @AndreySozykin  6 ปีที่แล้ว +4

      Да, именно так.

    • @w1tcherj
      @w1tcherj 6 ปีที่แล้ว +1

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

    • @sammyel4eg
      @sammyel4eg 5 ปีที่แล้ว +2

      Только это не пакеты, а заголовки и заголовок на каждом уровне по разному называется, на канальном фрэйм или кадр на сетевом пакет на транспортном сегмент

    • @idgordeev
      @idgordeev 4 ปีที่แล้ว

      @@sammyel4eg В кадр, пакет и сегмент входят данные вышестоящих уровней. Так что они состоят из заголовка (кадра, пакета, сегмента) + данные. Например, так и говорят - заголовок IP-пакета, заголовок кадра..

    • @sammyel4eg
      @sammyel4eg 4 ปีที่แล้ว

      @@idgordeev не чего не понял из вашего ответа, что именно вы хотели донести?

  • @vladkomar9213
    @vladkomar9213 7 ปีที่แล้ว +3

    спасибо

    • @AndreySozykin
      @AndreySozykin  7 ปีที่แล้ว

      +vlad komar, пожалуйста!

  • @ИванИванов-ю2е5ц
    @ИванИванов-ю2е5ц 4 ปีที่แล้ว +1

    спасибо!!!

  • @AroundTheHope
    @AroundTheHope ปีที่แล้ว +1

    Первая задача соединения получается и есть Three-Way-Handshake?

  • @МамедАбдулаев-ц4ы
    @МамедАбдулаев-ц4ы 8 ปีที่แล้ว +20

    Здравствуйте,Андрей! Какое максимальное количество повторений передачи одного и того же сегмента? сколько угодно , пока не получит ACK?

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว +55

      Спасибо за интересный вопрос, понадобилось некоторое время, чтобы разобраться. Количество повторений передачи пакетов ограничено и зависит от операционной системы.
      В Windows для этого есть параметр TcpMaxDataRetransmissions (support.microsoft.com/en-us/help/170359/how-to-modify-the-tcp-ip-maximum-retransmission-time-out), значение по-умолчанию 5.
      В Linux есть два параметра: tcp_retries1 и tcp_retries2. Первый параметр говорит сколько раз TCP будет повторно отправлять сегмент без уведомления сетевого уровня о проблемах. Значение по-умолчанию 3. После этого будет проведена попытка перестроить таблицу маршрутизации и снова отправить пакет. Количество повторений после вовлечения в устранение проблем сетевого уровня задается параметром tcp_retries2, значение по-умолчанию 15. Более подробно - stackoverflow.com/questions/5227520/how-many-times-will-tcp-retransmit

    • @МамедАбдулаев-ц4ы
      @МамедАбдулаев-ц4ы 8 ปีที่แล้ว +6

      Спасибо за развернутый ответ!

  • @arzugallery2116
    @arzugallery2116 8 ปีที่แล้ว +1

    sposibo vam

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว

      +arzu samir, пожалуйста.

  • @sergeyufimtsev711
    @sergeyufimtsev711 9 ปีที่แล้ว +4

    Есть вопрос относительно TCP. Везде сказано, что этот протокол надёжный, то есть обеспечивает гарантированную доставку данных. Однако я видел приложение, передававшее данные телеметрии по протоколу HTTP (а HTTP, как известно, работает поверх TCP). И в этом приложении дополнительно высылалась контрольная сумма данных на случай, если данные будут повреждены. При этом данные в этом приложении действительно периодически портились и терялись, и контрольная сумма была введена не зря. Возникает тогда логичный вопрос: как такое возможно, если TCP специально был создан для гарантии доставки данных в целости и сохранности? Почему он этого не обеспечивает?

    • @AndreySozykin
      @AndreySozykin  9 ปีที่แล้ว +8

      +Sergey Ufimtsev, алгоритм расчета контрольной суммы CRC, который используется для обнаружения ошибок в TCP (а также в UDP и Ethernet), несовершенен. Он гарантированно обнаруживает однократную ошибку, но некоторые более сложные виды ошибок обнаружить не может. Такие ошибки возникают редко и обычно на работу не влияют. Например, если вы скачаете по HTTP документ, в котором исказится один или два текстовых символа, то смысл все равно понять можно.
      Но в вашем случае данных, скорее всего, передается много. По некоторым оценкам, если использовать GigabitEthrnet, ошибки, которые не обнаруживает CRC в TCP, возникают каждые 34 часа. Наверняка у вас данные передаются круглосуточно. Тогда не удивительно, что периодически они портятся.
      Более подробно можно почитать:
      The Limitations of the Ethernet CRC and TCP/IP checksums for error detection -noahdavids.org/self_published/CRC_and_checksum.html
      Performance of Checksums and CRCs over Real Data - ccr.sigcomm.org/archive/1995/conf/partridge.pdf

    • @АнатолийАнатолий-п1д
      @АнатолийАнатолий-п1д 5 ปีที่แล้ว

      Спасибо!

  • @MrHumanLock
    @MrHumanLock 5 หลายเดือนก่อน +1

    Андрей, а как получатель понимает какой байт +1 отправить вместе с ACK? Это они уже решил на этапе установки соединения с отправителем?

  • @tiziocaio7435
    @tiziocaio7435 6 ปีที่แล้ว +2

    Спасибооооо

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 5 ปีที่แล้ว +1

    Все понятно

  • @Азамат-ш4з
    @Азамат-ш4з 4 ปีที่แล้ว +1

    Здравствуйте, Андрей!
    Вы говорите тут - 05:11 следующее: "Если сегменты придут в неправильном порядке, то получатель по номерам байтов всегда сможет выставить их в правильной последовательности."
    У меня вопрос такой: если предположить, что получателю придут сегменты разных потоков байт, как получатель поймет, что это сегменты разных потоков байт?
    Например, получателю пришел, условно говоря, последний сегмент потока 2 раньше, чем последний сегмент потока 1. При этом по размеру потоки байт одинаковы, следовательно и номера байт в сегментах будут совпадать. Как получателю определиться в такой ситуации с правильной последовательностью?
    Спасибо.

    • @Азамат-ш4з
      @Азамат-ш4з 4 ปีที่แล้ว +1

      я правильно понял, что для каждого потока байт устанавливается свое отдельное соединение? И таким образом выходит, что вышеуказанной ситуации не может случиться на практике? То есть сегменты разных потоков байт не смогут быть смешаны в пределах одного соединения?

    • @AndreySozykin
      @AndreySozykin  4 ปีที่แล้ว +1

      Для каждого потока байт действительно устанавливается новое соединение.
      При установке соединения выбирается начальный номер последовательности байтов так, чтобы не совпадать с другими возможными соединениями.
      Алгоритм описан в документе RFC 793, раздел Initial Sequence Number Selection.

  • @lukardo16
    @lukardo16 8 ปีที่แล้ว +6

    Андрей, почему нельзя нумеровать данные в потоке байт начиная с нуля? В чем здесь недостаток с точки зрения практической реализации?

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว +18

      +Nikita Andrich, есть несколько проблем:
      1. Мы отправили запрос на установку соединения SYN, получатель выслал нам в ответ SYN + ACK, но этот ответ до нас не дошел. Мы повторно отправляем SYN. Как получателю определить, это новый запрос на соединение, или повторный запрос на первое соединение? Если байты нумеровать с 0, то их отличить нельзя. А если каждый запрос на соединение использует разную нумерацию, то путаницы не будет.
      2. Предположим мы установили соединение, передали небольшое количество данных (5-10 сегментов), и разорвали его. Но в сети осталось несколько сегментов от соединения. Мы тут же открываем новое соединение и передаем новые данные. Если нумеровать байты в потоке с 0, то получатель может увидеть как новые данные, так и данные от предыдущего соединения (которые задержались в сети) и может их перепутать. Отсюда дополнительное требование: номера байтов для отдельных соединений не должны совпадать между собой.

    • @АнатолийАнатолий-п1д
      @АнатолийАнатолий-п1д 5 ปีที่แล้ว

      Andrey Sozykin, круто, спасибо за объяснение!

  • @sammyel4eg
    @sammyel4eg 5 ปีที่แล้ว +14

    Какой таймер ожидание подтверждения у TCP?

    • @AndreySozykin
      @AndreySozykin  5 ปีที่แล้ว +8

      Начальное значение 3 секунды. В процессе работы TCP значение пересчитывается в зависимости от скорости ответов. Алгоритм расчета приведен в RFC 6298 - tools.ietf.org/html/rfc6298

  • @lossofsoul3693
    @lossofsoul3693 5 ปีที่แล้ว +1

    очень толково, кратко и при этом понятно
    остался только один вопрос - а что будет если сегмент дошел, но некоторые биты в данных были инвертированы, например из-за помех? или этим занимаются более низкие уровни?

    • @AndreySozykin
      @AndreySozykin  5 ปีที่แล้ว +1

      Да, это делается на канальном уровне. В Ethernet простая проверка по контрольной сумме.

    • @ЕвгенПотапов-ц8у
      @ЕвгенПотапов-ц8у 3 ปีที่แล้ว

      @@AndreySozykin но ведь Ethernet не гарантирует доставку? т.е. если контрольная сумма не совпадет, кадр просто отбросится. Как тогда нам получить бракованный пакет и исправить его а не отбросить?

  • @MrMaksat1991
    @MrMaksat1991 7 หลายเดือนก่อน

    @AndreySozykin на ip уровне есть фрагментация, которая позволяет разбить и собрать обратно один большой набор байт на несколько ip-пакетов, при этом гарантируется порядок пакетов, но не гарантируется доставка.
    Для чего тогда tcp-уровню делить поток байт на сегменты, если это уже делается уровнем ниже в ip?

  • @ivanvano8571
    @ivanvano8571 4 ปีที่แล้ว +1

    Very good

  • @lisafox9026
    @lisafox9026 7 ปีที่แล้ว +2

    умничка

  • @davidtkeshelashvili2758
    @davidtkeshelashvili2758 7 ปีที่แล้ว +1

    годнота

  • @blvrddepo1682
    @blvrddepo1682 7 ปีที่แล้ว +1

    пасиб

    • @AndreySozykin
      @AndreySozykin  7 ปีที่แล้ว

      +Gumball Watterson, пожалуйста!

  • @MrTred131
    @MrTred131 9 ปีที่แล้ว

    надеюсь что мне поможет на экзамене! Спасибо!

    • @AndreySozykin
      @AndreySozykin  9 ปีที่แล้ว

      +tred gelever Я тоже надеюсь, что поможет :)

  • @Tamago4a
    @Tamago4a ปีที่แล้ว

    4:02 не пойму как может отправляться следующий сегмент если подтверждение ещё не пришло

  • @yerbossynov
    @yerbossynov 6 ปีที่แล้ว +1

    Здравствуйте Андрей! Возможно вопрос не относится данном видео но все же спрошу. На коммутаторах на портах есть значения mtu 1500byte это означает что через порт будет пропускаться сообщения с максимальным размером 1500 байт?

    • @yerbossynov
      @yerbossynov 6 ปีที่แล้ว +1

      сегмент так сказать

    • @w1tcherj
      @w1tcherj 6 ปีที่แล้ว

      @@yerbossynov да, но КАДР размером не более 1500 байт.

    • @sammyel4eg
      @sammyel4eg 5 ปีที่แล้ว +1

      @@w1tcherj не верно, "ПАКЕТ" не более 1500 байт, опять же производители по разному это значение закладывают, даже у cisco в разных версиях оборудования по разному, вообще нормальный фрэйм (кадр) 1518, но коммутаторы чаще всего не учитывают l2 заголовки, по-этому указывается 1500, 18 байт это mac dst 6 байт, mac src 6 байт, ethertype 2 байта и в конце 4 байта FCS (CRC).

  • @eeerwood
    @eeerwood 6 ปีที่แล้ว +2

    Андрей,правильно ли я понимаю, что допустим при отправлении файл размером 1GB делится на 1024байт (1 сегмент) и получаем 1 073 741 824байт / 1024=1048576 - количество сегментов при отправке файла размером 1GB?

    • @AndreySozykin
      @AndreySozykin  6 ปีที่แล้ว +2

      Если размер сегмента 1024 байта, то правильно.

    • @Азамат-ш4з
      @Азамат-ш4з 4 ปีที่แล้ว

      @@AndreySozykin а все таки от чего зависит размер сегмента? от mtu технологии канального уровня?

  • @eeco2721
    @eeco2721 6 ปีที่แล้ว +1

    О подстригся по сравнению с с протоколом UDP (это шутка, на само деле всё очень доступно объясняет )

  • @luckylucker417
    @luckylucker417 ปีที่แล้ว

    У меня проблема с этой лекцией.
    Ранее было сказано что именно канальный уровень обнаруживает и исправляет такие ошибки, в этой лекции эта функция уже на транспортном уровне.

  • @ХасанАхмадов-р8л
    @ХасанАхмадов-р8л 2 ปีที่แล้ว

    Еще будут видео?

  • @steam892
    @steam892 7 ปีที่แล้ว +2

    Подписка

  • @РуфатИсмаилов-г5ц
    @РуфатИсмаилов-г5ц 7 ปีที่แล้ว

    super prosto

  • @alex_slv
    @alex_slv 3 ปีที่แล้ว

    Здравствуйте. А что если в момент отправки пакета клиенту-сервера наш роутер уйдет в перезагрузку? Будет ли доставлен пакет после поднятия роутера?

  • @begmyrattm7167
    @begmyrattm7167 4 ปีที่แล้ว

    Здравствуйте, у вас есть видео про tcp udp порты и разделение портов на три диапазона

  • @Alex-dw3pn
    @Alex-dw3pn 3 ปีที่แล้ว +1

    под сегментами, я так понимаю, вы подразумеваете пакеты

    • @AndreySozykin
      @AndreySozykin  3 ปีที่แล้ว +1

      В TCP/IP используются разные названия для сообщений на разных уровнях. Пакеты - это сообщения сетевого уровня. На канальном уровне сообщения называются кадрами. На транспортном целых два названия: сегменты для протокола TCP и датаграммы для UDP.

  • @andorubekyan1463
    @andorubekyan1463 8 ปีที่แล้ว +2

    Сасибо

  • @ThePositivemann
    @ThePositivemann 8 ปีที่แล้ว +3

    Никак не могу понять ни osi, ни tcp/ip. Вы говорите, что TCP приходит поток данных, но ведь ему приходят данные в виде IP-пакетов или нет? Или один протокол в другом? Я запутался, плохо быть тупым. Что вообще происходит при просто скачивании файла, просмотре видео или разговоре по скайпу?

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว +1

      Один протокол в другом. Это называется инкапсуляция.

    • @pavelkenov2121
      @pavelkenov2121 7 ปีที่แล้ว

      А почему нельзя было также отправить пакет, и работать именно с ним, а не "конвертировать" его назад в поток байтов?

    • @AndreySozykin
      @AndreySozykin  7 ปีที่แล้ว +13

      +Pavel Kenov, потому что это разные задачи. Например, мы хотим передать по сети большой файл. А сеть умеет передавать только отлельные пакеты. В этом случае каждое приложение должно само уметь разделять файл на отдельные пакеты, передавать по сети, а затем собирать снова. Причем размер пакета может быть разным в зависимости от конфигурации сети. Проще на уровне сети сделать сервис "передача потока байт". Сетевой стек получит файл от приложения, сам разобъет его на пакеты, как нужно, а на стороне получателя соберет. Приложение получатель получит готовый файл.

  • @MrNewtasker
    @MrNewtasker 4 ปีที่แล้ว

    Возникает вопрос если мы нумеруем не сегменты (сообщения), а байты, то как передавать файлы больше 4gb в рамках одной TCP сессии?
    Почему 4GB, т.к поле ACK number имеет размер 32бита

    • @shokweiv
      @shokweiv ปีที่แล้ว

      Нашёл ответ?)

  • @AlexeyZubkov
    @AlexeyZubkov 7 ปีที่แล้ว +1

    Насколько я знаю там ещё иницииация на завершение есть (tear down)

  • @andorubekyan1463
    @andorubekyan1463 8 ปีที่แล้ว +1

    А где +1 там же ACK должен быт +1 или я ошебаюс я уже зпутася

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว

      +Ando Rubekyan, в подтверждении должен быть обязательно установлен флаг ACK и записан номер следующего ожидаемого байта (+1)

  • @andorubekyan1463
    @andorubekyan1463 8 ปีที่แล้ว

    И ешо такои бапроскогта скажем копютер отправляет запрос (SYN) серверу с кокип то числом скажем 100 и получает ответ (SYN 300 / ACK 101) и вответ ACK . Откуда они берут числа произволно или откудо то я понемаю чо +1 ето потверждение но не понемаю почему +1 и непонемаю почему у тебя нет етого +1 в ACK. прошу обяцни если несложно негде не написано я уже 2 дня хочу понят но негде не нахажу обяснениа. Я хочу филтор создат для филтрации TCP пакета и мне нужно понят кок оно работает чтобы ненужние логи филтроват. Заране спасибо.

    • @AndreySozykin
      @AndreySozykin  8 ปีที่แล้ว

      +Ando Rubekyan подробнее описано в видео по установке соединения в TCP: th-cam.com/video/vt69HEbZ_pI/w-d-xo.html
      Вкратце: начальные номера байтов для нумерации выбирают по достаточно сложному алгоритму, чтобы в разных соединениях они не совпадали. +1 в подтверждении - это просто такая особенность TCP, никакого особого смысла в этом нет. Передается не номер последнего полученного байта, а номер первого ожидаемого.

  • @qwertymangames1800
    @qwertymangames1800 4 ปีที่แล้ว +1

    А снизу написано "протокол udp", но это была прошлая тема

    • @AndreySozykin
      @AndreySozykin  4 ปีที่แล้ว +1

      Да, ошибка при оформлении презентации.

    • @qwertymangames1800
      @qwertymangames1800 4 ปีที่แล้ว

      @@AndreySozykin спасибо за чётко структурированную и понятную презентацию. Очень приятно смотреть на такую хорошую подачу информации. Ничего лишнего и всё по делу.

  • @benjo9137
    @benjo9137 4 ปีที่แล้ว

    G

  • @КириллМельников-д3т
    @КириллМельников-д3т ปีที่แล้ว

    Грамотно, последовательно, есть множество тем по-порядку! Это ок, но всё же ты невероятно душный и скучный: тебя удобно слушать, когда срочно надо уснуть.

  • @Andrzej3935
    @Andrzej3935 2 ปีที่แล้ว +1

    Спасибо!

  • @mejidli1
    @mejidli1 5 ปีที่แล้ว +1

    спасибо

  • @andreypolevoy5311
    @andreypolevoy5311 4 ปีที่แล้ว +1

    Спасибо

  • @artur_kia
    @artur_kia 3 ปีที่แล้ว +2

    Спасибо