Понятие сетевого протокола
ЛЕКЦИЯ 7
Протокол – это четко сформулированные правила, которыми руководствуются компьютерные системы при установке связи с другими устройствами.
Для того, чтобы два компьютера могли общаться между собой, они должны пользоваться одним протоколом.
Протокол реализуется, как правило, в виде фонового процесса. Например, это может быть резидентная программа, работающая под управлением OC UNIX. В Windows протоколы работают как потоки в привилегированной подсистеме, являясь как бы частью исполняющей системы.
Некоторые сетевые программы позволяют пользователям работать с несколькими протоколами. Это значительно повышает эффективность работы в сложных сетях.
Протокол выполняет основную черновую работу по поиску других систем и установлению связи с ними, а сетевой редиректор обеспечивает предоставление ресурсов, имеющихся в сети, и, кроме того, выступает как компонент, который непосредственно взаимодействует с ядром Windows.
Есть три основных момента, касающихся протоколов:
1. Существует множество протоколов. Существование различных сетевых протоколов обусловлено целым рядом причин. Каждый из этих протоколов имеет свою область применения. Один протокол может хорошо работать с сетью определенного типа, но быть полностью непригодным для другой сети, которая на первый взгляд ничем не отличается от предыдущей. Есть, однако, несколько ключевых аспектов, которые касаются всех протоколов без исключения. Потребность в памяти, использование полосы пропускания, уровень функциональности, масштабируемость – все это очень важно. Допустим, при работе в сети нужно только читать и записывать файлы, находящиеся на относительно небольшом файл-сервере. Это значит, что основными критериями в этом случае являются скорость транспортировки и простота эксплуатации. Чтобы этого добиться, можно выбрать протокол, использующий память небольшого объема и не вызывающий дополнительных расходов ресурсов сети. В другой сети, к примеру, пользователям может потребоваться регистрация для того, чтобы получить доступ к хостам и передавать большие объемы данных. Для этого нужен протокол, богатый функциональными возможностями, что более важно, чем требуемый для него объем памяти или производительность;
2. Протоколы работают на разных уровнях модели OSI. Функции протокола определяются уровнем, на котором он работает;
3. Несколько протоколов могут работать совместно. Это так называемый стек, или набор, протоколов. Уровни в стеке протоколов соответствуют уровням модели OSI. В совокупности протоколы дают полную характеристику функциям и возможностям стека.
Данные, передаваемые из одной локальной сети в другую по одному из возможных маршрутов, называются маршрутизированными. Протоколы, которые поддерживают передачу данных между сетями по нескольким маршрутам, называются маршрутизируемыми протоколами.
Протоколы в многоуровневой архитектуре
Процесс, который называется привязка, позволяет с достаточной гибкостью настраивать сеть, т. е. сочетать протоколы и платы сетевых адаптеров. Например, два разных стека могут быть привязаны к одной плате и наоборот. Протокол привязки определяет очередность, с которой операционная система выполняет протоколы. При попытке соединения будет использован первый протокол в списке привязки. Если попытка будет неудачной, то ПК ее повторит, используя следующий по списку протокол. Кроме того, стек протоколов должен быть привязан к компонентам верхнего и нижнего уровней.
Независимо от внутренней конструкции каждого конкретного протокола, все они имеют определенные внутренние функции и свойства:
- Инициализация связи. Каждый протокол имеет средства для идентификации рабочей станции по имени или номеру. Эта схема доступна как уровню, так и прикладной программе. Обмен информацией между определенными узлами активизируется после идентификации адресата (обычно сервера) рабочей станцией, начавшей диалог. Сторона-инициатор также устанавливает тип диалога – дейтограмму или сеанс. Дейтаграмма – это передача сообщения без установления логической связи. При этом не требуется подтверждения о приеме от принимающей стороны. Если подтверждение необходимо, то адресат сам должен послать специальное сообщение. При этом также надо придерживаться определенного протокола. Каждая дейтаграмма является самостоятельным сообщением, и при наличии нескольких их доставка не гарантируется. Зато скорость передачи дейтограмм гораздо выше, чем в сеансах. В сеансе, в отличие от дейтаграмм, предполагается создание логической связи для обмена сообщениями и гарантируется доставка сообщений. Если дейтограммы могут передаваться в произвольные моменты времени, то сеанс должен быть сначала установлен, после этого происходит обмен сообщениями, затем сеанс должен быть закрыт;
- Отправка и получение данных. Каждый протокол предоставляет средства для отправки и получения сообщений. Протокол накладывает ограничения на длину сообщений, кроме того, он определяет статус диалога;
- Завершение обмена. Протокол предоставляет средства для завершения диалога.
В соответствии с возложенными задачами, протоколы делятся на три типа:
- прикладной;
- транспортный;
- сетевой.