Я понимаю, что UDP находится на транспортном уровне и IP на интернет-уровне. Я также понимаю, что они оба бесконтактны и ненадежны. Тогда в чем смысл UDP, когда у нас уже есть IP? Различие не очень ясное. Любая помощь по этому поводу очень ценится. Спасибо!
UDP против IP-разницы?
Ответ 1
Тогда какова точка UDP, когда у нас уже есть IP?
Для мультиплексирования. Номер порта UDP
может различать несколько служб на одном и том же хосте, используя те же идентификаторы L3. Используя IP
, было бы невозможно разместить несколько служб на одной и той же станции и легко различать их.
Также рассмотрим случай UDP через IPv6. Поскольку IPv6 не имеет проверки ошибок, кто-то должен его выполнить: поле Checksum
UDP не является необязательным.
Ответ 2
Как только пакет достигает узла, использующего его IP-адрес, пакет должен быть передан одному из приложений на этом компьютере. Чтобы определить, какое приложение должно получить пакет, ему нужна логика демультиплексирования, основанная на портах. UDP имеет информацию о порте, которая используется IP для доставки пакета в соответствующее приложение.