Протокол TCP: управление перегрузкой | Курс "Компьютерные сети"

Поделиться
HTML-код
  • Опубликовано: 5 ноя 2024

Комментарии • 105

  • @ПавелГурулёв-о2п
    @ПавелГурулёв-о2п 3 года назад +25

    Огромнейшее спасибо за ваши лекции!
    Особенно по TCP, скользящее окно, управление потоком и перегрузкой.
    Благодаря этим видео успешно сдал экзамен по сетям! )
    И впервые за столько лет пользования Ютубом решил оставить комментарий к видео )

    • @AndreySozykin
      @AndreySozykin  3 года назад +2

      Отличные новости про экзамен. Какой университет, если не секрет?

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад +2

      у тебя сам Андрей спросил какой университет!!!☝🏼 А ты наплевал на этот вопрос.

  • @catshannon5064
    @catshannon5064 8 лет назад +41

    Думал, как бы улучшить курс и тут придумал. Если бы больше терминов дублировали на английском. ! Тогда практичность курса увеличивалась бы в разы.

    • @AndreySozykin
      @AndreySozykin  8 лет назад +15

      +Vlad Stetsenko, спасибо за предложение, буду дублировать.

    • @BalynOmavel
      @BalynOmavel 6 лет назад +1

      Согласен.

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 5 лет назад +5

      думал и придумал
      да ты талант))

  • @ДмитрийЩелков-з6ь
    @ДмитрийЩелков-з6ь 7 лет назад +12

    Как всегда, все доступно и понятно. Так полезно и мало времени тратится на усвоение материала. Спасибо
    большое.

  • @ekaterinagalkina7303
    @ekaterinagalkina7303 10 месяцев назад +2

    Был в институте курс по сетям, но большую часть информации слышу впервые.

  • @Азамат-ш4з
    @Азамат-ш4з 4 года назад +7

    Пример который Вы приводите тут 06:30 он скорее подходит к формуле - с каждым подтверждением умножаем количество сегментов в окне на 2.

  • @МихаилШпаков-т4ч
    @МихаилШпаков-т4ч 8 лет назад +11

    Спасибо за вашу работу! Очень и очень здорово рассказываете

    • @AndreySozykin
      @AndreySozykin  8 лет назад

      +Михаил Шпаков пожалуйста! Рад, что нравится.

  • @nikolay_antipin
    @nikolay_antipin 3 года назад +2

    Андрей, огромное спасибо за Вашу работу! Изучал по Вашим урокам компьютерные сети, прошёл собеседование!!!

  • @nikolaybaranov2213
    @nikolaybaranov2213 5 лет назад +4

    Данный курс отличное дополнение к "сетям для самых маленьких", лучше всего смотреть и читать эти материалы параллельно.

    • @AndreySozykin
      @AndreySozykin  5 лет назад

      Спасибо!

    • @alanextar
      @alanextar Год назад +1

      спасибо за рекомендацию

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      @@alanextar
      мне не понравились "СдСМ"🤷‍♂️ детские какие-то. не смог смотреть их. а эти - норм.

  • @kseniyasakki4382
    @kseniyasakki4382 3 года назад +3

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

  • @trek3456
    @trek3456 8 лет назад +14

    Спасибо! Как всегда все отлично.

    • @AndreySozykin
      @AndreySozykin  8 лет назад

      +Дмитрий Ларионов, пожалуйста!
      Спасибо, что смотрите!

  • @АннаКилуновская
    @АннаКилуновская 5 лет назад +4

    Спасибо, Вам! отличные лекции!

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 5 лет назад +2

    Интересная технология. Можно и в своих разработках использовать

  • @andreipomorev6292
    @andreipomorev6292 4 года назад

    Спасибо за видео!
    Интересное использование в связке медленного старта и аддитивного увеличения/мультипликативного уменьшения для получения приемуществ оптимизации скользящего окна обоими методами

  • @lukardo16
    @lukardo16 8 лет назад +2

    Спасибо за лекцию, продолжайте снимать пожалуйста.
    Я рекомендую Ваш канал своим знакомым.

    • @AndreySozykin
      @AndreySozykin  8 лет назад

      +Nikita Andrich, спасибо за рекомендацию! Записывать новые лекции обязательно буду!

  • @c333ton
    @c333ton 4 года назад +3

    Отличный урок!

  • @nemoTheFish-j8p
    @nemoTheFish-j8p 4 года назад +6

    Получатель: "Могу принять больше"
    Отправитель: "Нельзя, в сети наблюдается адский разгон!"

  • @МаксимХозяйкин-о9х
    @МаксимХозяйкин-о9х 3 года назад +1

    Хорошее объяснение!

  • @Q_School
    @Q_School 3 года назад

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

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      хватит писать тут на своём тарабарском.

  • @СергейПарамзин-у8й
    @СергейПарамзин-у8й 4 года назад +2

    Очень информативно, спасибо

  • @alekseigrin6126
    @alekseigrin6126 3 года назад +2

    Прямо курс для "Маленьких и тупых". Все разобрано до мелочей. Во всяком случае до понятных объектов.

    • @AndreySozykin
      @AndreySozykin  3 года назад +2

      Я бы сказал, что не для тупых, а для начинающих 😉

  • @AltaïrFreeman
    @AltaïrFreeman Год назад

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

  • @gamejoke
    @gamejoke 7 лет назад +3

    Полезные видео. Очень.

  • @СергейГуляев-о9ь
    @СергейГуляев-о9ь 8 лет назад +2

    Спасибо большое, Все доходчиво объяснили!

    • @AndreySozykin
      @AndreySozykin  8 лет назад

      +Серега Гуляев, рад, что нравится!
      Спасибо, что смотрите!

  • @georgegrinding1793
    @georgegrinding1793 2 года назад +2

    В итоге окна три: скользящее на стороне отправителя, управления потоком на стороне получателя и перегрузки на стороне отправителя? Скользящее и перегрузки не одно и то же? Как я понял, окно перегрузки - это механизм управления размером скользящего окна?

    • @sun_rise_23
      @sun_rise_23 2 года назад

      Я понял так, поправьте если не прав)
      скользящее окно находится и на стороне отправителя и получателя - это размер окна в сегменте с данными и размер окна в сегменте подтверждения. Управление перегрузкой регулируется отправителем, а потоком - получателем. Получатель говорит сколько может принять, а отправитель сколько может отправить (и этот размер меньше или равен возможности принятия). И получатель должен отослать подтверждение после того как получит количество данных указанных отправителем.

  • @dmytrodieiev9338
    @dmytrodieiev9338 5 лет назад +3

    Здравствуйте, Андрей. Спасибо большое за видео, регулярно возвращаюсь к ним чтобы освежить память. У меня вопрос по медленному старту, т.к. я слегка запутался. Вы говорите, что во время действия алгоритма медленного старта, окно отправителя увеличивается экспоненциально, т.е. получил подтверждение 2х сегментов - отправил 4. Такую же информацию я вижу на разных сайтах. Но при обращении к первоисточнику (rfc 5681) оказывается, что окно должно увеличиваться на 1 сегмент после получения очередного ACK. (During slow start, a TCP increments cwnd by at most SMSS bytes for each ACK received that cumulatively acknowledges new data.) Как в этом разобраться? Спасибо за внимание!

  • @andreykelip5631
    @andreykelip5631 4 года назад +2

    А почему при медленном старте на каждый сегмент приходит подтверждение? Насколько я понял, суть скользящего окна - на несколько сегментов - одно общее подтверждение. получается А отправляет пакет - В подтверждает - А высылает 2 пакета - В их подтверждает 1 раз - А на это подтверждение снова высылает 2 пакета. Где экспоненциальный рост?

  • @artur_kia
    @artur_kia 3 года назад +2

    Спасибо

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

    Добрый день! Андрей теория это очень хорошо, у меня просьба можно ли это увидеть на практике? То есть сьимитировать ситуацию и показать в Вайршарке

    • @AndreySozykin
      @AndreySozykin  3 года назад

      Именно про управление перегрузкой сложно сделать.

    • @albanec4702
      @albanec4702 Год назад +1

      *некро-ответ, но вдруг кому-то интересно будет*
      в торренте, если посмотреть на график загрузки, то часто можно увидеть именно эту картинку: 7:24

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      @@albanec4702
      👍🏼

  • @АндрейДавыдов-м4н
    @АндрейДавыдов-м4н 4 года назад +2

    Спасибо!

  • @ИванИванов-ю2е5ц
    @ИванИванов-ю2е5ц 3 года назад +2

    спасибо!!!

  • @user-fghjiydsvjk975
    @user-fghjiydsvjk975 8 лет назад +4

    Спасибо за отличную лекцию, в этот фрагменте у меня был пробел
    Только я правильно понимаю, что в congestion window хранит не количество сегментов, а количество байтов?
    А количество сегментов зависит от величины сегмента tcp, который по идее должен быть (по умолчанию) 536 байтов?
    и доп вопрос: а как tcp пиры договариваются между собой о величине сегмента? при этом надо учитывать, что между ними еще могут быть роутеры, на которых также ложится задача фрагментации
    спасибо еще раз

    • @AndreySozykin
      @AndreySozykin  8 лет назад +8

      +conquistador, да TCP везде использует количество байтов, а не сегментов.
      О размере сегмента договариваются при установке соединения.
      Транспортный уровень является сетенезависимым. Промежуточные маршрутизаторы и фрагментация на них скрыты от него. Логически сегмент выходит от отправителя и сразу же появляется на получателе.

  • @stoprocentovstoprocentov4351
    @stoprocentovstoprocentov4351 6 лет назад +3

    Спасибо Андрей! Все неделю смотрю Ваш курс. Очень интересно было узнать про TCP. А Вы в университете преподаете?

    • @AndreySozykin
      @AndreySozykin  6 лет назад +2

      Преподаю в Уральском федеральном университете в Екатеринбурге.

  • @rostl642
    @rostl642 7 лет назад +4

    Андрей, спасибо за лекцию. У меня вопрос: если после того, как размер окна преодолел порог медленного старта и какое то время был механизм аддитивного увеличения но после перезагрузки размер окна упал ниже порога медленного старта, будет работать все равно AIMD либо ниже порога начнет работу механизм медленного старта снова?

    • @AndreySozykin
      @AndreySozykin  7 лет назад +4

      +rostl, будет работать AIMD. Алгоритм медленного старта работает только в начале, потому и называется "старт".

  • @Азамат-ш4з
    @Азамат-ш4з 4 года назад +5

    Андрей, я может что-то не понял. Но исходя из предыдущих лекций получается, что подтверждение приходит не на каждый сегмент, а на диапазон сегментов (группу сегментов) - одно подтверждение, верно?
    В таком случае как можно одновременно отправить два сегмента (получается в одной группе , если я все правильно понял) и получить с них два подтверждения? Получается должно быть получено одно подтверждение на группу из сегментов... разве не так?

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      задал ему этот же вопрос. но он нынче не отвечает:((

  • @freesetoker4311
    @freesetoker4311 3 года назад +2

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

    • @AndreySozykin
      @AndreySozykin  3 года назад +2

      На аппаратном уровне в маршрутизаторах. Вручную нереально сделать.

  • @atillaattila8900
    @atillaattila8900 8 лет назад +1

    ETO VABSHE uje chtota Novoe Dlya menya )))
    perviy raz Slishol ab etom )
    Spasibo

    • @AndreySozykin
      @AndreySozykin  8 лет назад +3

      Да, об управлении перегрузкой в TCP редко рассказывают во вводных курсах по сетям. Но без этого нельзя понять, зачем нужно постоянное соединение в HTTP (кроме очевидной вещи, что не нужно каждый раз проходить процедуру трехкратного рукопожатия в TCP).

    • @atillaattila8900
      @atillaattila8900 8 лет назад

      Da pravilno skazali

    • @somagic
      @somagic 4 года назад

      @@AndreySozykin да,не рассказывают , сложно слишком

  • @2romka2
    @2romka2 3 года назад +2

    Spasibo

    • @AndreySozykin
      @AndreySozykin  3 года назад

      Пожалуйста!

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      ⁠@@AndreySozykin
      касательно медленного старта.
      Андрей, так в tcp/ip по умолчанию же работает кумулятивное подтверждение сегментов☝🏼 пришло 4 сегмента - 1 подтверждение. медленный старт видит это одно подтверждение и согласно вашей презентации отправитель отправляет 2 сегмента☝🏼 2 сегмента вместо 4 на предыдущем шаге. на эти 2 сегмента так же от получателя будет одно кумулятивное подтверждение и отправитель снова отправит 2 сегмента. тогда выше двух сегментов отправление и не вырастет. Прокомментируйте, плз.

  • @andreypolevoy5311
    @andreypolevoy5311 4 года назад +3

    спс

  • @w1tcherj
    @w1tcherj 5 лет назад +3

    То есть, я правильно понял, поле Размер окна получателем используется для информации отправителя о свободном буфере, а отправителем используется никак?

    • @AndreySozykin
      @AndreySozykin  5 лет назад

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

    • @w1tcherj
      @w1tcherj 5 лет назад +3

      @@AndreySozykin ненене, вопрос немного в другом был. Получатель отправляет подтверждение с указанием количества свободного места в буфере в разделе "Размер окна" А отправитель что пишет в это поле когда отправляет новый сегмент данных?

    • @AndreySozykin
      @AndreySozykin  5 лет назад +3

      Отправитель в поле "Размер окна" ничего не пишет.

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      @@w1tcherj
      красава: отстоял свой вопросик:)

  • @derzskyi1
    @derzskyi1 4 года назад

    Анздрей здравстуйте, огромное спасибо за Ваш курс! Каким образом провайдер интернет регулирует скорость у клиентов? Он задает условное значение сотфверно и затем это значение регулируется управлением перегрузки?

  • @mysonicteam7977
    @mysonicteam7977 4 года назад +2

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

    • @AndreySozykin
      @AndreySozykin  4 года назад +2

      Размер окна задается на транспортном уровне, один на весь маршрут.

  • @minusnull0
    @minusnull0 2 года назад +1

    Андрей, скажите, пожалуйста, а процесс управления перегрузкой начинается каждый раз при новом соединении по TCP протоколу?
    Я имею ввиду, в HTTP можно указать, чтобы не закрывалось TCP соединение после запрос/ответа. Это имеет отношение к TCP перегрузке же? Иначе, если мы закрываем каждый раз соединение, то приходится устанавливать окно перегрузки каждый раз сначала?

    • @AndreySozykin
      @AndreySozykin  2 года назад +2

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

    • @minusnull0
      @minusnull0 2 года назад +1

      @@AndreySozykin Благодарю за ответ! И вы уже действительно на него ответили в видео про Прикладной уровень, про разницу HTTP/1.0 и HTTP/1.1. Но на момент написания вопроса я просто его еще не видел.

  • @victoramark
    @victoramark 8 лет назад +2

    А есть ли официальное название комбинации медленного старта и AIMD?
    И спасибо за лекции, очень помогли)

    • @AndreySozykin
      @AndreySozykin  8 лет назад +2

      Название такой комбинации я не знаю. За хороший отзыв спасибо!

  • @user-ssh-dima
    @user-ssh-dima 11 месяцев назад

    Андрей спасибо вам за лекцию!
    На 4,20 передаём данные, получаем подтверждение, размер окна увеличивается. Это когда уже установлено соединение?

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      безграмотный, тайминг научись сначала ставить, а потом сети изучай. деревня🤦‍♂️

  • @anastasiyasametc1837
    @anastasiyasametc1837 4 года назад +2

    как размер окна прописан в WireShark ? Win или WS(Window Scale) ?? и что тогда значит второй параметр ?

    • @greykoff3325
      @greykoff3325 17 дней назад

      интересно Вам ответели?

  • @catshannon5064
    @catshannon5064 8 лет назад +2

    Как на английском называется Медленный старт?) Спасибо

  • @catshannon5064
    @catshannon5064 8 лет назад +1

    В аддитивном увеличении не понял, увеличивается на один сегмент всего?

    • @AndreySozykin
      @AndreySozykin  8 лет назад +3

      +Vlad Stetsenko, на самом деле это зависит от настроек и реализации TCP, которых сейчас очень много. Обычно увеличение на 1 или 4 сегмента.

  • @alexrodeiguez7846
    @alexrodeiguez7846 4 года назад +1

    Подскажите, пожалуйста, какой размер одного сегмента TCP?

    • @andreykelip5631
      @andreykelip5631 4 года назад +2

      подгоняется под возможности канального уровня. для Ethernet это 1460 байт (1460 + 20 на заголовок TCP + 20 на заголовок IP = 1500, что и есть максимальным размером Ethernet-пакета), для WiFi, как я понимаю, 2264 байта (2264 + 20 + 20 = 2304, т.е. макс. размер WiFi-пакета). Есть ещё Gigabit Ethernet, где поддерживаются Jumbo-кадры до 9000 байт, т.е. там сегмент будет 9000 - 20 - 20 = 8960 байт

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

      @@andreykelip5631
      👍🏼

  • @2sad2live50
    @2sad2live50 2 года назад

    о боже теперь ясно почему скорость скачивания торрента в начале постепенно увеличивается, пока не выйдет на свой максимум. Или это не TCP, а что-то на прикладном уровне?

  • @antongrigoryan6023
    @antongrigoryan6023 9 месяцев назад

    Скучно и не понятно

    • @manOfPlanetEarth
      @manOfPlanetEarth 6 месяцев назад

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

  • @Andrzej3935
    @Andrzej3935 2 года назад

    Спасибо!