Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СистПриклПрогЗабез(Хихловская).doc
Скачиваний:
28
Добавлен:
10.02.2016
Размер:
961.02 Кб
Скачать

Сокеты во FreeBsd

К межпроцессному взаимодействию предъявляются следующие требования:

  1. Взаимодействие между процессами должно быть унифицировано независимо от того, выполняются они одном компьютере или на разных мостах сети. При этом могут использоваться различные схемы адресации объектов, протоколы передачи данных и т. д. Это входит понятие коммуникационный домен. Для обозначения коммуникационного узла, обеспечивающего прием и передачу данных, введен специальный объект сокет (socket). Сокеты имеют соответствующий интерфейс доступа в файловой системе UNIX и как обычные файлы, адресуются некоторым целым числом – дескриптором. Сокеты создаются в рамках определенного коммуникационного домена. Так же, как файлы, создаются в рамках файловой системы. В отличие от файлов, сокеты представляют собой виртуальный объект, который существует , пока на него ссылается хотя бы один из процессов.

  2. Коммуникационные характеристики взаимодействия должны быть доступны всем процессам в унифицированной форме:

2.1 упорядоченная доставка данных

2.2 отсутствие дублирования данных

2.3 надежная доставка данных

2.4 сохранение границ сообщений

2.5 поддержка передачи экстренных сообщений

2.6 предварительное установление соединения

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

Сокеты

Подход к межпроцессорным взаимодействием, как к технологии клиент/сервер. Позволяет использовать дисковое пространство, периферийные устройства, процессорное время и другие ресурсы по сети. Сетевые средства UNIX позволяют использовать интерфейс транспортного уровня TLI-Transport Level Interface сокетов, что значительно проще. Они обеспечивают связь между процессами на одном компьютере и на разных по сети. Целью сокетов является обеспечение средства межпроцессного взаимодействия для двунаправленного обмена сообщениями между двумя процессами независимо от того, находятся ли они на одном компьютере или на разных.

Типы соединения

При передаче данных по сети процессы могут выбрать один из двух способов связи. Процесс, которому нужно неформатированный, непрерывный поток символов одному и тому же абоненту, например, процессу удаленного входа в систему, может использовать модель соединения (connection oriented model) или виртуальное соединение. Для этого используется протокол ТСР. В других случаях, если процессу нужно разослать сообщения клиентам, не проверяя ее доставку, может использоваться модель датограмм по произвольным адресам через один и тот же сокет без предварительной установки связи с этими адресами. Для этого варианта используется протокол пользовательских дейтограмм ИДР.

Адресация

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