Во время интернирования в компании видеоконференций было много разговоров о потери пакетов. В Википедии указано следующее:Пакетная потеря по HTTP
Потеря пакетов обычно вызвана перегрузкой в сети.
Я понимаю, что, поскольку видео требует такого огромного количества данных, которое должно быть отправлено по проводу, пакеты будут потеряны.
То, что я не понимаю, - это то, почему потеря пакетов не встречается в других случаях, таких как HTTP-запросы и вызовы AJAX. Если потеря пакетов действительно связана с перегруженными сетями, почему я никогда не испытывал этого с помощью своих собственных HTTP-запросов?
Являются ли HTTP-соединения неуязвимыми для потери пакетов или являются запросами, которые я отправляю слишком мало, чтобы их затронули. Если HTTP невосприимчив к потере пакетов, почему это так?
Уровень TCP/IP, лежащий в основе HTTP и многих других протоколов, обнаруживает потерю пакетов и будет повторно передавать потерянные пакеты до тех пор, пока они не будут подтверждены. На уровне приложений это проявляется не как недостающие данные, а за счет увеличения задержки/джиттера. Поэтому вы не заметите этого, если не будете уделять пристальное внимание времени. –
@JimLewis Интересно. Теперь есть причины, по которым это не реализовано в более интенсивных сообщениях, таких как видео? Я предполагаю, что повторные пакеты будут слишком дорогостоящими или это будет неактуально, так как кадры в секунду будут такими быстрыми и упавшими пакетами вряд ли будут заметны. –
@BrianTracy: аудио/видео обычно передаются с использованием UDP вместо TCP. По самой своей природе UDP является убыточным. Аудио/видео может потерять пакеты без серьезного ухудшения общего опыта, как правило, приемлема часть потерь. Это не так с протоколами TCP, такими как HTTP, где любая потеря данных является фатальной. –