The design of the UNIX Operating System 121 страница




Основы операционных систем 156

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

 

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

 

Полные адреса. Понятие сокета (socket)

 

Таким образом, полный адрес удаленного процесса или промежуточного объекта для конкретного спосо-ба связи с точки зрения операционных систем определяется парой адресов : <числовой адрес компьютера в сети, порт>. Подобная пара получила наименование socket (в переводе – "гнездо" или, как стали писать в последнее время, сокет), а сам способ их использования – организация связи с помощью сокетов. В случае непрямой адресации с использованием промежуточных объектов сами эти объекты также принято называть сокетами. Поскольку разные протоколы транспортного уровня требуют разных адресных про-странств портов, то для каждой пары надо указывать, какой транспортный протокол она использует, – говорят о разных типах сокетов.

 

В современных сетевых системах числовой адрес обычно получает не сам вычислительный комплекс, а его сетевой адаптер, с помощью которого комплекс подключается к линии связи. При наличии несколь-ких сетевых адаптеров для разных линий связи один и тот же вычислительный комплекс может иметь несколько числовых адресов. В таких системах полные адреса удаленного адресата ( процесса или про-межуточного объекта) задаются парами <числовой адрес сетевого адаптера, порт> и требуют доставки информации через указанный сетевой адаптер.

 

Проблемы маршрутизации в сетях

 

При наличии прямой линии связи между двумя компьютерами обычно не возникает вопросов о том, ка-ким именно путем должна быть доставлена информация. Но, как уже упоминалось, одно из отличий взаимодействия удаленных процессов от взаимодействия процессов локальных состоит в использовании в большинстве случаев процессов-посредников, расположенных на вычислительных комплексах, не яв-ляющихся комплексами отправителя и получателя. В сложных топологических схемах организации сетей информация между двумя компьютерами может передаваться по различным путям. Возникает вопрос: как организовать работу операционных систем на комплексах -участниках связи (это могут быть конеч-ные или промежуточные комплексы) для определения маршрута передачи данных? По какой из несколь-ких линий связи (или через какой сетевой адаптер) нужно отправить пакет информации? Какие протоко-лы маршрутизации возможны? Существует два принципиально разных подхода к решению этой пробле-мы: маршрутизация от источника передачи данных и одношаговая маршрутизация.


Дата добавления: 2021-01-21; просмотров: 123; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!