Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Семиуровневая модель взаимодействия открытых си...docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
650.61 Кб
Скачать
  1. Протокол udp

UDP (User Datagram Protocol, Протокол дейтаграмм пользователя) предназначен для обмена дейтаграммами между процессами компьютеров, входящих в единую сеть с коммутацией пакетов. В качестве протокола нижнего уровня UDP-протокол использует IP.

Протокол UDP предоставляет прикладным программам возможность отправлять сообщения другим приложениям, используя минимальное количество параметров протокола. Этот протокол не обеспечивает достоверность доставки пакетов, защиты дублирования данных или надежности от сбоев в передаче. За исключением параметров приложения - номеров портов отправителя и получателя пакета, UDP практически ничего не добавляет к IP-дейтаграмме.

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

Фоpмат UDP-сообщений

0 16 31

---------------------------------------------------------

| порт отправителя UDP | порт получателя UDP |

---------------------------------------------------------

| длина сообщения UDP | контрольная сумма UDP |

---------------------------------------------------------

| данные |

--------------------------------------------------------|

Source Port (16 бит). Порт отправителя. Это поле может содержать номер порта, с которого был отправлен пакет, когда это имеет значение (например отправитель ожидает ответа). Если это поле не используется, оно заполняется нулями.

Destination Port (16 бит). Порт назначения - это порт компьютера, на который пакет будет доставлен.

Length (16 бит). Поле длины. Длина (в байтах) этой дейтаграммы, включая заголовок и данные. (Минимальное значение этого поля равно 8).

Checksum (16 бит). Поле контрольной суммы. Контрольная сумма UDP-пакета представляет собой побитное дополнение 16-битной суммы 16-битных слов (аналогично TCP). В вычислении участвуют: данные пакета, заголовок UDP-пакета, псевдозаголовок (информация от IP-протокола), поля выравнивания по 16-битной границе (нулевые).

Преимущество протокола UDP состоит в том, что он требует минимум установок и параметров для соединения двух процессов между собой. Этот протокол используется при работе Серверов Доменов (Name Servers), при работе протокола TFTP (Trivial File Transfer, Тривиальный протокол передачи данных), работе с SNMP и построении систем аутентификации. Идентификатор UDP в IP-заголовке - число 17.

  1. Недостатки iPv4

Итак, перечислим общие недостатки протокола IPv4:

  • дефицит адресного пространства - количество различных устройств, подключаемых к сети Internet, растет экспоненциально, размер адресного пространства 232 быстро истощается;

  • слабая расширяемость протокола - недостаточный размер заголовка IPv4, не позволяющий разместить требуемое количество дополнительных параметров в нем;

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

  • отсутствие поддержки качества обслуживания - не поддерживается размещение информации о пропускной способности, задержках, требуемой для нормальной работы некоторых сетевых приложений;

  • проблемы, связанные с механизмом фрагментации - не определяется размер максимального блока передачи данных по каждому конкретному пути;

  • отсутствие механизма автоматической конфигурации адресов;

  • проблема перенумерации машин.

Поля IP-адресов содержат IP-адреса отправителя и получателя. В IPv4 IP-адрес состоит из 4 байт и часто представляется в виде 4 чисел, размером 1 байт, разделяемые точками, что даёт чуть больше 4 миллиардов различных адресов. В такой схеме каждый компьютер в Интернет имеет свой уникальный адрес. Но при появлении Интернет-ресурсов адреса распределялись огромными блоками. Так Массачусецкий университет имеет у себя блок в 16 миллионов адресов, в то время, когда средненький провайдер имеет несколько тысяч адресов(при НАМНОГО меньшем количестве линий связи). Такая "транжирка" IP-адресов привела к тому, что их пространство начало заканчиваться и ощущаться нехватка. Проблема адресного пространства IPv4 счяитается основной, но она не главная и не единственная.

Проблемы масштабируемости IPv4 на этом не заканчиваются. Есть также проблемы связанные с транспортировкой данных, заключающиеся в сложности маршрутизации и, следовательно, разрастании таблиц маршрутизации. Хоть эту проблему и пытались решить введением бесклассовой междоменной маршрутизацией (CIDR), всё равно она этим не разрешилась, зато IP-администрирование от этого усложнилось. Всё же трудно построить и упорядочить структуру адресов в 32битном пространстве... Затем, сложность обработки IP-загаловка. Существенное число полей, которое он содержит, отнюдь не облегчает жизнь процессам, обрабатывающим такие заголовки. Ведь некоторые поля заголовка уже потеряли свою значимость, а другие возможно существенно упростить. Также переменная длинна заголовка заставляет постоянно пересчитывать контрольную сумму, а при высоких скоростях это сильно загрузит процессор.

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

Реализовывать эти механизмы на IPv4 дополнительно - пустая трата времени. Всё равно придётся для этого вносить изменения в весь стек TCP/IP, что в любом случае приведёт к некоторому усложнению работы, связанному с переходом на новый стандарт. Так зачем тогда при этом оставлять неустранимые пороки IPv4, если можно реализовать всё сразу с помощью IPv6?

В итоге, можно сказать, что IPv4 отслужил почти 30 лет верой и правдой и мог бы служить дальше, но не стоит терпеть устаревший протокол, содержащий неисправимые на сетевом уровне недостатки, в то время, когда на смену ему давно готова отличная альтернатива - IPv6.