Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Адресация хостов и принципы их взаимодействия.doc
Скачиваний:
19
Добавлен:
17.06.2016
Размер:
83.97 Кб
Скачать

Адресация хостов и принципы их взаимодействия

Хост-компьютер – это компьютер, который подключен к сети Internetи имеет уникальныйIP-адрес, сопоставленный с доменным именем. Доменное имя является составной частью электронного адреса пользователя глобальной сети.

Электронный адрес пользователя сети состоит из двух частей, разделенных знаком @. Первая (левая) часть – имя пользователя. Вторая часть – доменное имя, обычно состоящее из элементов, разделенных точками. Элемент доменного имени, расположенный непосредственно за разделителем @, соответствует хост-компьютеру учреждения, в котором зарегистрирован пользователь. Если в учреждении несколько хостов или локальных сетей, входящих в глобальную сеть, то электронный адрес содержит дополнительные элементы доменного имени, разделенные точками. В качестве составных элементов доменного имени обычно указывается регион, страна адресата.

Между доменным именем хоста и его IP-адресом устанавливается соответствие с помощью программной системыDNS(DomainNameSystem). Существует понятие локального хоста,IP-адрес которого 127.0.0.1. Этот адрес используется для пересылки данных от компьютера к самому себе.

В каждом хосте имеется набор пользовательских процессов (программ), которые обеспечивают возможность приема данных или формирования и отправления данных в формате, известном получателю. Каждый из пользовательских процессов имеет уникальный адрес – порт. В протоколах TCP/IPпорт задается двухбайтным адресом, позволяющим адресовать 65536 портов.

Номера портов разделяются на три следующих набора.

0 – 1023 номера для хорошо известных портов.

1024 – 49150 номера для регистрируемых портов.

49151 – 65535 номера для динамических и частных портов.

Порт является точкой доступа к процессу (к некоторой обслуживающей программе). Между двумя соответствующими портами (точками) разных хостов устанавливается логическое соединение (TCP-соединение) для передачи данных.

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

Схема перемещения данных между хостами можно представлена на рис. 1. Пакет передаваемых данных содержит данные и служебную информацию, необходимую для перемещения данных.

Для унификации взаимодействия пользовательских процессов был созданмеханизм сокетов. Этот механизм служит для обеспечения следующих трех возможностей.

  1. Пригоден для передачи данных по любому известному протоколу (набору соглашений, регулирующих обмен данными), например, TCP/UDP,IPX/SPX.

  2. Поддерживает существующие способы адресации объектов, например, способы, используемые при доступе к файлу в файловой системе UNIX.

  3. Обеспечивает передачу данных различными способами, например, в виде двухстороннего потока или отправления сообщений адресату без ожидания сигнала подтверждения приема посланного сообщения.

Рис. 1

Сокет представляет собой двухсторонний канал обмена данными между процессами. Вид и свойства сокета определяются тройкой параметров при его создании: имя коммуникационного домена (не путать с коммуникационным именем), тип коммуникационного домена, вид протокола обмена данными.

Имя коммуникационного домена определяет используемое семейство адресов при адресации сокетов. Могут использоваться следующие семейства адресов. Семейство AF-UNIXслужит для обеспечения локального взаимодействия между процессами. Используется в операционной системеUNIX. Адрес задает путь к файлу. БуквыAFобозначают два словаAddresFamily, указывающих на способ задания адресов сокетов. СемействоAF-INETпредполагает задание адреса сокета парой, состоящей изIPадреса и номера порта (IP:Номер_порта). Существуют и другие семейства адресов.

Тип коммуникационного домена определяет способ передачи данных. Среди типов сокетов можно выделить SOCK-STREAM,SOCK-DGRAM,SOCK-RAW.

Тип SOCK-STREAMзадает передачу в полнодуплексном режиме с контролем правильности порядка поступления данных, контролем наличия ошибок и потерь. Для начала передачи устанавливается соединение, которое по завершении передачи данных разрывается.

Тип SOCK-DGRAMпредусматривает использование передачи сообщений без контроля и без поддержки соединения.

Тип SOCK-RAWиспользуется для задания низкоуровневой организации передаваемых данных, когда пакеты данных воспринимаются сетевым драйвером.

Вид протокола определяется выбранным типом коммуникационного домена. Например, тип STREAMнельзя реализовать с помощью протоколаUDP.

Для обмена данными механизм сокетов имеет набор примитивов, которые реализуются как системные вызовы. Перечислим названия некоторых системных вызовов: создание сокета, связывание сокета с адресом, запрос на установку соединения с удаленным сокетом, ожидание запроса на установку соединения, принятие запроса на установку соединения, отправка сообщения по установленному соединению, прием сообщения по установленному соединению, отправка сообщения без установления соединения.

Отметим, что существует также не универсальный, а частный механизм взаимодействия процессов, аналогичный вызову процедур в автономных программах. Этот механизм, называемый вызовом удаленных процедур (RemoteProcedureCallRPC), поясняется на рис. 2.

Рис. 2.