Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Транспортный уровень. Пользовательский протокол дейтаграмм
Примеры
Рассмотрим некоторые примеры работы рассмотренных выше алгоритмов ввода и вывода. Первоначально таблица управления ( табл. 9.1.) имеет вид:
Состояние | ID процесса | Номер порта | Номер в очереди |
---|---|---|---|
ЗАНЯТО | 2 345 | 53 010 | 34 |
ЗАНЯТО | 3 422 | 52 011 | |
СВОБОДНО | |||
ЗАНЯТО | 4 652 | 52 012 | 38 |
СВОБОДНО |
Пример 2 |
Прием модулем управления дейтаграммы от процесса. |
После того как процесс стартует, он запрашивает операционную систему с целью присвоения номера порта и получает номер 52 014. Теперь процесс посылает свой ID ( 4 978 ) и присвоенный номер порта модулю блока управления для того, чтобы создать вход в таблицу. Модуль управления находит первый вход СВОБОДНО и вводит полученную информацию. Модуль в этот момент не устанавливает процесс в очередь, потому что нет пользовательской дейтаграммы для этого конечного пункта ( табл. 9.2.) |
Пример 3 |
Рассмотрим теперь случай, когда пользовательская дейтаграмма прибывает извне для уже занятого порта 52 011. Модуль ввода проверяет таблицу и находит, что порт занят, но нет очереди, поскольку для этого конечного пункта пользовательская дейтаграмма прибывает в первый раз. Модуль создает очередь и присваивает дейтаграмме номер 43 ( табл. 9.3.). |
Пример 5 |
Процессу нужно послать пользовательскую дейтаграмму. Он доставляет данные на модуль вывода, который добавляет заголовок UDP и посылает ее. |
Комментарии к адресации UDP
UDP поддерживает передачу "процесс-процесс", т. е. обеспечивает доставку информации от одной программы к другой, размещенной в другом компьютере. На рис. 9.11. показана организация адреса при обмене "процесс-процесс".
Работающая система сегодня поддерживает и многопользовательский, и многопрограммный режимы. Компьютер может выполнять несколько программ сервера в одно и то же время. Для связи на уровне "процесс-процесс" мы должны определить адреса:
Местный хост и удаленный хост определяются IP-адресами. Чтобы определить программы клиента и сервера, нам надо знать вторые идентификаторы, называемые номерами порта. В наборе протоколов TCP/IP номера порта – это целые числа между 0 и 65 535.
Конечный пункт IP определяет хост среди различных хостов мира. После выбора хоста номер порта определяет один из процессов в конкретном хосте.
Исходящий процесс определяет сам номер порта, выбирает его случайным образом с помощью UDP программного обеспечения, выполняемого местным хостом. Это называется кратковременный номер порта. Однако этот номер порта не может быть выбран случайно.
IANA (Internet Assigned Numbers Authority — Агентство по выделению имен и уникальных параметров) разделяет номера портов на три ранга: закрепленные (Well-know), регистрируемые и динамические, как это показано на рис. 9.12.
- Закрепленные порты. Порты, классифицируемые от 0 до 1 023, назначаются и управляются IANA. Это – закрепленные порты. Обычно эти порты закрепляются за некоторыми хорошо известными службами. Ниже приводится таблица, содержащая пример такого закрепления ( табл. 9.4.).
- Регистрируемые порты. Порты, классифицируемые от 1 024 до 49 151, не назначаются и не управляются IANA. Они могут быть зарегистрированы IANA для предотвращения дублирования.
- Динамические порты. Порты, классифицируемые от 49 152 до 65 535, не контролируются и не регистрируются. Они могут быть использованы процессом. Это кратковременные порты.
Заметим, что другие операционные системы могут использовать иную классификацию, нежели IANA, для закрепленных и кратковременных портов. Например, BSD UNIX (BSD Berkley Software Distribution) имеет три ранга: зарезервированные, кратковременные и не привилегированные.
Гнездовые адреса
Как мы видели, UDP нужны два адреса для идентификации, IP-адрес и адрес порта, для каждого конца создаваемого соединения. Комбинация IP-адреса и номера порта называется адресом гнезда.