В чем разница между управлением потоком и контролем перегрузки в TCP?
Этот вопрос можно разбить на две части:
- Какова общая цель контроля потока и перегрузки?
- Как решается задача?
Согласно Википедии , управление потоком TCP зависит от размера окна, указанного в сообщении ACK. Контроль перегрузки также зависит от сообщений подтверждения. Я хотел бы знать, в чем разница между двумя целями и как они работают.
networking
tcp
congestion-control
GM Lucid
источник
источник
Ответы:
Что касается части 1, супер общий обзор:
Управление потоком контролируется принимающей стороной. Это гарантирует, что отправитель отправляет только то, что может обработать получатель. Подумайте о ситуации, когда кто-то с быстрым оптоволоконным соединением может отправлять кому-то по телефонной линии или что-то подобное. Отправитель будет иметь возможность отправлять пакеты очень быстро, но это будет бесполезно для получателя при коммутируемом доступе, поэтому им понадобится способ ограничить то, что отправляющая сторона может отправить. Управление потоком имеет дело с доступными механизмами, обеспечивающими бесперебойную коммуникацию.
Контроль перегрузки - это метод обеспечения того, чтобы каждый в сети имел «справедливый» доступ к сетевым ресурсам в любой момент времени. В смешанной сетевой среде каждый должен иметь возможность предполагать одинаковый общий уровень производительности. Обычный сценарий, помогающий понять это, - это офисная локальная сеть. У вас есть несколько сегментов LAN в офисе, каждый из которых выполняет свою работу в локальной сети, но тогда всем им может потребоваться выход по каналу WAN, который работает медленнее, чем составляющие сегменты LAN. Представьте, что в локальной сети 100 Мб подключений, которые в конечном итоге выходят через WAN-канал 5 Мб Там должен быть какой-то контроль перегрузки, чтобы гарантировать отсутствие проблем в большей сети.
По части 2:
Если это вопрос подготовки к собеседованию, как вы сказали выше, я бы подумал о том, чтобы потратить некоторое время на то, чтобы почитать о TCP / IP в целом. Не пользуйтесь Википедией. RTFM! Это ОЧЕНЬ стоит вашего времени. Вы можете возразить, что это самый важный протокол, на котором держится большая часть современного Интернета.
Что нужно прочитать о Flow Control: остановка и ожидание, скользящее окно, фреймы PAUSE.
Что нужно прочитать для контроля перегрузки: QoS (качество обслуживания), политики повторной передачи, политики окон.
Помимо этого, вы можете искать реализации любого конкретного поставщика (Cisco и т. Д.)
источник
Управление потоком: отправитель отправит достаточно данных, которые могут быть размещены на стороне получателя.
Контроль перегрузки: отправитель уменьшит количество отправляемых пакетов, чтобы избежать переполнения буфера маршрутизатора (очереди).
источник
Управление потоком:
Контроль перегрузки:
источник
Управление потоком в основном осуществляется на стороне получателя , чтобы настроить объем данных, которые отправитель вводит в сеть; Управление перегрузкой в основном осуществляется на стороне отправителя , которая пытается определить перегрузку в сети по времени ACK-пакетов, чтобы отрегулировать объем данных, отправляемых в соответствующей ситуации.
источник
Контроль перегрузки - это глобальная проблема, она касается каждого маршрутизатора и хоста в подсети.
Управление потоком, охватываемое от точки к точке, включает только отправителя и получателя.
источник
Контроль перегрузки : помимо предотвращения переполнения буфера маршрутизатора, он также имеет дело с двумя другими важными факторами.
источник
Управление потоком осуществляется на стороне получателя. Если отправитель отправляет пакеты, превышающие размер буфера получателя, в буфере получателя происходит переполнение. Чтобы избежать этого переполнения на стороне получателя, на стороне отправителя используется техника окон. Контроль перегрузки осуществляется на стороне отправителя. Это глобальное явление. Это происходит на роутере. Буфер маршрутизатора переполняется, когда многие отправители пытаются протолкнуть больше пакетов по той же ссылке.
источник
Управление потоком:
Контроль перегрузки
Когда мы начинаем передавать данные из источника, они достигают места назначения с помощью сети. Контроль перегрузки, предотвращающий источник, поэтому данные не должны сбрасываться маршрутизатором в сети.
Эта проблема связана с очередью роутера.
Этого добиться сложнее, потому что маршрутизатор получает разные пакеты от разных источников, подключенных к его сети.
источник
Управление потоком: указывает, сколько сеть способна поглотить, окно перегрузки; Контроль перегрузки: показывает, сколько получатель может поглотить, объявленное окно; Max_window = min отправителя (объявленное окно, окно перегрузки);
источник