Опубликован: 11.08.2008 | Уровень: специалист | Доступ: свободно
Лекция 9:

Транспортный уровень. Пользовательский протокол дейтаграмм

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >

Примеры

Рассмотрим некоторые примеры работы рассмотренных выше алгоритмов ввода и вывода. Первоначально таблица управления ( табл. 9.1.) имеет вид:

Таблица 9.1. Таблица управляющего блока в начале примера
Состояние ID процесса Номер порта Номер в очереди
ЗАНЯТО 2 345 53 010 34
ЗАНЯТО 3 422 52 011
СВОБОДНО
ЗАНЯТО 4 652 52 012 38
СВОБОДНО
Пример 1
Первое действие — доставка пользовательской дейтаграммы для конечного пункта 52 012. Модуль ввода ищет номер этого порта в таблице и находит его. Номер в очереди 38 для этого порта задан. Это означает, что порт был использован раньше. Модуль ввода посылает данные в очередь с номером 38. Таблица управляющего блока не меняется.
Пример 2
Прием модулем управления дейтаграммы от процесса.
После того как процесс стартует, он запрашивает операционную систему с целью присвоения номера порта и получает номер 52 014. Теперь процесс посылает свой ID ( 4 978 ) и присвоенный номер порта модулю блока управления для того, чтобы создать вход в таблицу. Модуль управления находит первый вход СВОБОДНО и вводит полученную информацию. Модуль в этот момент не устанавливает процесс в очередь, потому что нет пользовательской дейтаграммы для этого конечного пункта ( табл. 9.2.)
Таблица 9.2. Таблица управляющего блока после выполнения примера 2
Состояние ID процесса Номер порта Номер в очереди
ЗАНЯТО 2 345 53 010 34
ЗАНЯТО 3 422 52 011
ЗАНЯТО 4 978 52 014
ЗАНЯТО 4 652 52 012 38
СВОБОДНО
Пример 3
Рассмотрим теперь случай, когда пользовательская дейтаграмма прибывает извне для уже занятого порта 52 011. Модуль ввода проверяет таблицу и находит, что порт занят, но нет очереди, поскольку для этого конечного пункта пользовательская дейтаграмма прибывает в первый раз. Модуль создает очередь и присваивает дейтаграмме номер 43 ( табл. 9.3.).
Таблица 9.3. Таблица управляющего блока после примера 3
Состояние ID процесса Номер порта Номер в очереди
ЗАНЯТО 2 345 53 010 34
ЗАНЯТО 3 422 52 011 43
ЗАНЯТО 4 978 52 014
ЗАНЯТО 4 652 52 012 38
СВОБОДНО
Пример 4
Пользовательская дейтаграмма прибывает из вне для несуществующего порта 52 222. Модуль ввода проверяет таблицу и не может найти вход для этого конечного порта. Пользовательская дейтаграмма отбрасывается и делается запрос к ICMP, чтобы послать источнику сообщение "порт не достижим".
Пример 5
Процессу нужно послать пользовательскую дейтаграмму. Он доставляет данные на модуль вывода, который добавляет заголовок UDP и посылает ее.

Комментарии к адресации UDP

UDP поддерживает передачу "процесс-процесс", т. е. обеспечивает доставку информации от одной программы к другой, размещенной в другом компьютере. На рис. 9.11. показана организация адреса при обмене "процесс-процесс".

Организация адреса при обмене "процесс-процесс"

Рис. 9.11. Организация адреса при обмене "процесс-процесс"

Работающая система сегодня поддерживает и многопользовательский, и многопрограммный режимы. Компьютер может выполнять несколько программ сервера в одно и то же время. Для связи на уровне "процесс-процесс" мы должны определить адреса:

  • местного хоста;
  • местного процесса;
  • удаленного хоста;
  • удаленного процесса.

Местный хост и удаленный хост определяются IP-адресами. Чтобы определить программы клиента и сервера, нам надо знать вторые идентификаторы, называемые номерами порта. В наборе протоколов TCP/IP номера порта – это целые числа между 0 и 65 535.

Конечный пункт IP определяет хост среди различных хостов мира. После выбора хоста номер порта определяет один из процессов в конкретном хосте.

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

IANA (Internet Assigned Numbers Authority — Агентство по выделению имен и уникальных параметров) разделяет номера портов на три ранга: закрепленные (Well-know), регистрируемые и динамические, как это показано на рис. 9.12.

Классификация IANA

Рис. 9.12. Классификация IANA
  • Закрепленные порты. Порты, классифицируемые от 0 до 1 023, назначаются и управляются IANA. Это – закрепленные порты. Обычно эти порты закрепляются за некоторыми хорошо известными службами. Ниже приводится таблица, содержащая пример такого закрепления ( табл. 9.4.).
  • Регистрируемые порты. Порты, классифицируемые от 1 024 до 49 151, не назначаются и не управляются IANA. Они могут быть зарегистрированы IANA для предотвращения дублирования.
  • Динамические порты. Порты, классифицируемые от 49 152 до 65 535, не контролируются и не регистрируются. Они могут быть использованы процессом. Это кратковременные порты.
Таблица 9.4. Закрепленные порты, используемые UDP
Порт Протокол Описание
7 Echo Возвращает принятую дейтаграмму назад к передатчику
9 Discard Отклоняет любую дейтаграмму, которая получена
11 Users Активный пользователь
13 Daytime Возврат данных и времени
17 Quote Возврат ссылки дня
19 Charge Возврат строки с символами
20 FTP, Data Протокол передачи файлов (соединение данных)
53 Nameserver Служба доменных имен
67 Bootps Порт сервера загружает первоначальную информацию загрузки
68 Bootpс Порт клиента загружает первоначальную информацию загрузки
53 DNS Сервер доменных имен
69 TFTP Тривиальный протокол загрузки файлов
111 RPC Дистанционный вызов процедур
123 NTP Сетевой протокол службы времени
161 SNMP Простой протокол управления сетью
162 SNMP Простой протокол управления сетью (ловушка)

Заметим, что другие операционные системы могут использовать иную классификацию, нежели IANA, для закрепленных и кратковременных портов. Например, BSD UNIX (BSD Berkley Software Distribution) имеет три ранга: зарезервированные, кратковременные и не привилегированные.

Гнездовые адреса

Как мы видели, UDP нужны два адреса для идентификации, IP-адрес и адрес порта, для каждого конца создаваемого соединения. Комбинация IP-адреса и номера порта называется адресом гнезда.

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Дмитрий Матвеев
Дмитрий Матвеев
Россия, Москва, 1100, 2009