Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки Хамадеев.doc
Скачиваний:
7
Добавлен:
26.04.2019
Размер:
5.59 Mб
Скачать

9. Протоколы транспортного уровня tcp и udp. Порты. Функции протоколов. Особенности и отличия протоколов. Протокол icmp

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

TCP (Transmission Control Protocol - протокол управления передачей) - «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния.TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.

UDP (User Datagram Protocol - протокол пользовательских датаграмм) протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP. UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка. И TCP, и UDP используют для определения протокола верхнего уровня число, называемое портом.

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

Протоколы TCP и UDP ведут для каждого приложения две очереди: очередь па­кетов, поступающих, и очередь пакетов, отправ­ляемых данным приложением в сеть. В терминологии TCP/IP такие систем­ные очереди называются портами, причем входная и выходная очереди одного приложения рассматриваются как один порт. Для однозначной идентификации портов им присваивают номера. Номера портов используются для адресации приложений. Эти номера закрепляются и публикуются в стандартах Ин­тернета (RFC 1700, RFC 3232). Так, номер 21 закреплен за службой удаленного доступа к файлам FTP, a 23 — за службой удаленного управления telnet. Назна­ченные номера являются уникальными в пределах Интернета и назначаются приложениям централизованно из диапазона от 0 до 1023.

Для не столь распространенных приложений номера портов назначаются разработчи­ками этих приложений или операционной системой локально.

Hет никакой зависимости меж­ду назначением номеров для приложений, использующих протокол TCP, и при­ложений, работающих с протоколом UDP. Приложения, которые передают дан­ные на уровень IP по протоколу UDP, получают номера, называемые UDP-портами. Аналогично приложениям, обращающимся к протоколу TCP, выделя­ются ТСР-порты.

В том и другом случаях это могут быть как назначенные, так и динамические номера. Диапазоны чисел, из которых выделяются номера TCP- и UDP-портов, совпадают: от 0 до 1023 для назначенных и от 1024 до 65535 для динамических. Однако никакой связи между назначенными номерами TCP- и UDP-портов нет. Даже если номера TCP- и UDP-портов совпадают, они идентифицируют разные приложения.

ICMP (англ. Internet Control Message Protocol — межсетевой протокол управляющих сообщений) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных. Также на ICMP возлагаются некоторые сервисные функции.

Протокол ICMP является стандартом. Хотя формально ICMP использует IP (ICMP пакеты инкапсулируются в IP пакеты), он является неотъемлемой частью IP и обязателен при реализации стека TCP/IP. Текущая версия ICMP для IPv4 называется ICMPv4. В IPv6 существует аналогичный протокол ICMPv6. Протокол ICMP не делает протокол IP средством надёжной доставки сообщений. Для этих целей существует TCP.