Вы находитесь на странице: 1из 15

Протоколы транспортного

уровня TCP и UDP


Цель занятия: изучение особенностей протоколов
транспортного уровня TCP и UDP
Содержание:
- транспортный уровень - протоколы UDP
- особенности использования протокола TCP
- сравнительный анализ протоколов транспортного
уровня
- заключение и наглядное сравнение
Транспортный уровень - протоколы UDP и TCP
• Протокол доставки пользовательских дейтаграмм UDP
• Протокол UDP является одним из двух основных протоколов
транспортного уровня, расположенных непосредственно над IP.
• Он предоставляет прикладным процессам транспортные услуги, которые
не многим отличаются от услуг, предоставляемых протоколом IP.
• Протокол UDP обеспечивает ненадежную доставку датаграмм и не
поддерживает соединений из конца в конец.
• Его пакеты могут быть потеряны, продублированы или прийти не в том
порядке, в котором они были отправлены. К заголовку IP-пакета он
добавляет два поля, одно из которых, поле "порт", обеспечивает
мультиплексирование информации между разными прикладными
процессами, а другое поле - "контрольная сумма" - позволяет
поддерживать целостность данных.
Формат сообщений UDP
• Единица данных протокола UDP называется 
UDP- пакетом или пользовательской дейтаграммой.
UDP-пакет состоит из заголовка и поля данных, в котором
размещается пакет прикладного уровня. Заголовок имеет
простой формат и состоит из четырех двухбайтовых полей:
• Поле source port - номер порта процесса-отправителя.
• Поле destination port - номер порта процесса-получателя.
• Поле message length - длина UDP-пакета в байтах.
• Поле checksum - контрольная сумма UDP-пакета.
Мультиплексирование и демультиплексирование запросов протоколом UDP

• Протокол UDP ведет для каждого порта две очереди:


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

• Когда модуль UDP получает датаграмму от модуля IP, он проверяет


контрольную сумму, содержащуюся в ее заголовке.
• Если контрольная сумма равна нулю, то это означает, что отправитель
датаграммы ее не подсчитывал, и, следовательно, ее нужно игнорировать.
• Если два модуля UDP взаимодействуют только через одну сеть Ethernet,
то от контрольного суммирования можно отказаться, так как средства
Ethernet обеспечивают достаточную степень надежности обнаружения
ошибок передачи.
• Это снижает накладные расходы, связанные с работой UDP.
• Но, рекомендуется всегда выполнять контрольное суммирование,
так как возможно в какой-то момент изменения в таблице
маршрутов приведут к тому, что датаграммы будут посылаться через
менее надежную среду.
В ЧЕМ ЖЕ РАЗНИЦА TCP И UDP?

• Вообще, протоколы транспортного уровня широко


применяются в современных сетях.
• Именно они позволяют гарантировать доставку
сообщения до адресата, а также сохраняют
правильную последовательность передачи данных.
• При этом протоколы имеют ряд различий, что
позволяет использовать их профильно, для
решения своих задач каждый.
Протокол TCP
• Протокол TCP (Transmission Control Protocol) – это сетевой протокол,
который «заточен» под соединение. Иными словами, прежде, чем начать
обмен данными, данному протоколу требуется установить соединение
между двумя хостами.
• Данный протокол имеет высокую надежность, поскольку позволяет не
терять данные при передаче, запрашивает подтверждения о получении от
принимающей стороны и в случае необходимости отправляет данные
повторно.
• При этом отправляемые пакеты данных сохраняют порядок отправки, то
есть можно сказать, что передача данных упорядочена. Минусом данного
протокола является относительно низкая скорость передачи данных, за
счет того что выполнение надежной и упорядоченной передачи занимает
больше времени, чем в альтернативном протоколе UDP.
Протокол UDP
• Протокол UDP (User Datagram Protocol), в свою очередь, более
прост. Для передачи данных ему не обязательно устанавливать
соединение между отправителем и получателем.
• Информация передается без предварительной проверки
готовности принимающей стороны.
• Это делает протокол менее надежным – при передаче
некоторые фрагменты данных могут теряться.
• Кроме того, упорядоченность данных не соблюдается –
возможен непоследовательный прием данных получателем.
Зато скорость передачи данных по данному транспортному
протоколу будет более высокой.
Протокол надежной доставки сообщений TCP

• Протокол TCP используется в тех случаях, когда требуется надежная


доставка сообщений.
• Он освобождает прикладные процессы от необходимости использовать
таймауты и повторные передачи для обеспечения надежности.
• Наиболее типичными прикладными процессами, использующими TCP,
являются FTP и TELNET.
• Кроме того, TCP используют система X-Window, rcp (remote copy -
удаленное копирование) и другие "r-команды". Большие
возможности TCP даются не бесплатно.
• Реализация TCP требует большой производительности процессора и
большой пропускной способности сети.
• Внутренняя структура модуля TCP гораздо сложнее структуры модуля UDP.
ЗАКЛЮЧЕНИЕ И НАГЛЯДНОЕ СРАВНЕНИЕ

• Приведем несколько основных пунктов


• Надежность: в этом случае предпочтительнее будет протокол TCP, за счет подтверждения
получения данных, повторной отправки в случае необходимости, а также использованию
такого инструмента как тайм-аут. Протокол UDP такого инструментария не имеет, а потому
при получении отправленные данные могут приходить не полностью;
• Упорядоченность: опять будет предпочтительнее TCP, поскольку этот протокол гарантирует
передачу пакетов данных именно в том порядке, в котором они были отправлены. В случае с
UDP такой порядок не соблюдается;
• Скорость: здесь уже лидировать будет UDP, так как более тяжеловесному TCP-протоколу
будет требоваться больше времени для установки соединения, подтверждения получения,
повторной отправки данных и т.д. ;
• Метод передачи данных: в случае с TCP данные передаются потоково, границы фрагментов
данных не имеют обозначения. В случае с UDP данные передаются в виде датаграмм –
проверка пакетов на целостность осуществляется принимающей стороной только в случае
получения сообщения. Также пакеты данных имеют определенные обозначения границ;
Заключение
• Сравнивая оба протокола, очевидно, что протокол TCP – это, можно
сказать, «снайпер». Прицелился, выстрелил, зафиксировал
попадание, ищет следующую цель.
• UDP – это, скорее, «пулеметчик» - выставил ствол в направлении
врага и начал долбить очередями, не слишком заботясь о точности.
Как в войсках важны обе эти воинские специальности, так и в
интернете важны оба этих протокола.
• TCP применяется там, где требуется точная и подтверждаемая
передача данных – например, отправка фотографий, или переписка
между пользователями.
• UDP, в свою очередь, нужен для общения в голосовом формате, или
при передаче потокового видео, например, с веб-камер или IP-камер.
Подведение итогов занятия
1. Составить краткий конспект по новому материалу
2.Ответить на контрольные вопросы:
2.1. Какие услуги предоставляет протокол UDP прикладным процессам?
2.2Привести сравнительный анализ протоков TCP и UDP в виде таблицы
Протоколы транспортного уровня

UDP TCP
   

2.3. В чем заключается контрольное суммирование?


2.4.Когда используется протокол TCP?
2.5.Какая должна быть производительность процессора и пропускная способность сети?
3. Сделать выводы по новой теме

Вам также может понравиться