Механизм обмена в сетях
Если бы в момент создания нового процесса удаленное ядро получало запрос на подключение, возникла бы несогласованность с архитектурой системы. Чтобы избежать этого, некий процесс, обычно init, порождает обслуживающий процесс, который осуществляет чтение из канала связи, пока не получает запрос на обслуживание, после чего в соответствии с некоторым протоколом выполняет установку соединения. Чтобы… Читать ещё >
Механизм обмена в сетях (реферат, курсовая, диплом, контрольная)
Вообще говоря, вопрос о том, как передавать информацию по сети, возник с появлением первых связей между компьютерами — в 1950;х гг. С одной стороны, механизм обмена информацией по сети ничем не отличается от использования традиционного механизма работы с файлами. С другой стороны, как определить готов ли удаленный компьютер к приему или передаче информации? Проблему вроде бы можно решить, включив в любое передаваемое в сети сообщение как информационную, так и управляющую часть. В управляющей части должен находиться адрес назначения, а поскольку структура адресных данных зависит от типа сети и используемого протокола, следовательно, процессам, работающим с такого типа файлами, необходимо знать тип сети. По это идет вразрез с тем принципом, по которому пользователи не должны обращать внимание на тип файла, ибо все устройства для пользователей выглядят как файлы. Кроме того, поскольку ни один процесс не может работать с удаленными файлами непосредственно, то для реализации этого необходимо создавать процесс, протекающий на другой машине, который должен действовать в качестве агента вызывающего процесса и, следовательно, процессу необходим способ связи со своим удаленным агентом через межмашинные границы.
Локальный процесс должен являться клиентом удаленного обслуживающего (серверного) процесса.
Для решения этой задачи и был предложен механизм сокетов (socket), который очень быстро распространился с UNIX на все другие ОС.
Сетевая подсистема UNIX-подобных систем предназначена для реализации возможности соединения нескольких вычислительных систем в сеть. Для работы сетевой подсистемы необходимо наличие специального оборудования и использования протоколов межмашинной связи. Поскольку в UNIX-подобных системах новые процессы создаются с помощью системной функции fork ()y то к тому моменту, когда клиент попытается выполнить подключение, обслуживающий процесс уже должен существовать.
Если бы в момент создания нового процесса удаленное ядро получало запрос на подключение, возникла бы несогласованность с архитектурой системы. Чтобы избежать этого, некий процесс, обычно init, порождает обслуживающий процесс, который осуществляет чтение из канала связи, пока не получает запрос на обслуживание, после чего в соответствии с некоторым протоколом выполняет установку соединения.
Выбор сетевых средств и протоколов обычно выполняют программы клиента и сервера, основываясь на информации, хранящейся в прикладных библиотеках; в то же время выбранные пользователем средства могут быть закодированы в самих программах.
Чтобы разработать сетевые интерфейсы для UNIX-подобных систем, были предприняты значительные усилия с 1970;х гг. Реализация межсетевых потоков, начиная с версии V, располагает элегантным механизмом поддержки сетевого взаимодействия, обеспечивающим гибкое сочетание отдельных модулей протоколов и их согласованное использование на уровне задач.