Стандартные сетевые протоколы
Протокол - это набор правил и процедур, регулирующих порядок осуществления связи. Естественно, все компьютеры, участвующие в обмене, должны работать по одним и тем же протоколам, чтобы по завершении передачи вся информация восстанавливалась в первоначальном виде.
О протоколах самых нижних уровней (физического и канального), относящихся к аппаратуре, уже упоминалось в предыдущих разделах. В частности, к ним относятся методы кодирования и декодирования, методы управления обменом в сети. Подробнее о некоторых из них будет рассказано в специальных главах книги. А сейчас мы остановимся на особенностях протоколов более высоких уровней, реализуемых программно.
Связь сетевого адаптера с сетевым программным обеспечением осуществляют драйверы сетевых адаптеров. Именно благодаря драйверу компьютер может не знать никаких аппаратурных особенностей адаптера (ни его адресов, ни правил обмена с ним, ни его характеристик). Драйвер унифицирует, делает единообразным общение программных средств с любой платой данного класса. Сетевые драйверы, поставляемые вместе с сетевыми адаптерами, позволяют сетевым программам одинаково работать с платами разных поставщиков и даже с платами разных локальных сетей (Ethernet, Arcnet, Token-Ring и т.д.). Если говорить о стандартной модели OSI, то драйверы, как правило, выполняют часть функций верхнего подуровня (подуровень управления доступом к среде, MAC) канального уровня, хотя иногда они выполняют и часть функций сетевого уровня. Например, драйверы формируют передаваемый пакет в буферной памяти адаптера, читают из этой памяти пришедший по сети пакет, дают команду на передачу и информируют компьютер о приеме пакета.
В любом случае перед приобретением платы адаптера не мешает ознакомиться со списком совместимого оборудования (Hardware Compatibility List, HCL), который публикуют все производители сетевых операционных систем. Выбор там довольно велик (например, для Microsoft Windows NT Server список включает более сотни драйверов сетевых адаптеров). Если в список HCL не входит адаптер какого-то типа, лучше не рисковать и не покупать его.
Рассмотрим теперь кратко протоколы более высоких уровней.
Существует несколько стандартных наборов (или, как их еще называют, стеков) протоколов, получивших сейчас наиболее широкое распространение:
Включение в этот список протоколов глобальной сети вполне объяснимо, ведь модель OSI используется для любой открытой системы, как на базе локальной сети, так и на основе глобальной сети или комбинации локальной и глобальной сетей.
Протоколы перечисленных наборов делятся на три основные типа:
Прикладные протоколы обеспечивают взаимодействие приложений и обмен данными между ними. К наиболее популярным из них относятся следующие:
Транспортные протоколы поддерживают сеансы связи между компьютерами и гарантируют надежный обмен данными между ними. Наиболее популярны из них следующие:
• TCP (Transmission Control Protocol) - TCP/IP-протокол для гарантированной доставки данных, разбитых на последовательность фрагментов;
Сетевые протоколы управляют адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу. Наиболее популярны из них следующие:
Все перечисленные протоколы могут быть поставлены в соответствие тем или иным уровням эталонной модели OSI. При этом надо учитывать, что разработчики протоколов не слишком строго придерживаются этих уровней. Например, некоторые протоколы выполняют функции, относящиеся сразу к нескольким уровням модели OSI, а другие - только часть функций одного из уровней. Это приводит к тому, что протоколы разных фирм часто оказываются несовместимы между собой, а также к тому, что протоколы могут быть успешно использованы исключительно в составе своего набора протоколов (стека), который выполняет более или менее законченную группу функций. Как раз это и делает сетевую операционную систему «фирменной», то есть, по сути, несовместимой со стандартной моделью открытой системы OSI.
Рис. 4.7. Соотношение уровней модели OSI и протоколов операционной системы Windows NT
Рис. 4.8. Соотношение уровней модели OSI и протоколов операционной системы NetWare
Рассмотрим теперь подробнее некоторые наиболее распространенные протоколы.
Модель OSI допускает два различных метода взаимодействия в сети:
Рис. 4.10. Методдейта грамм
Рис. 4.11. Метод с логическим соединением
Примеры протоколов, работающих по первому методу - это IP и IPX, a протоколов, работающих по второму методу - это TCP и SPX. Именно поэтому эти протоколы используются в виде связанных наборов TCP/IP и IPX/SPX, в которых протокол более высокого уровня (TCP, SPX), работающий на базе протокола более низкого уровня (IP, IPX), гарантирует правильную доставку пакетов в требуемом порядке. Это позволяет объединить достоинства двух рассмотренных методов.
Протоколы IPX/SPX образуют набор, используемый в сетевых программных средствах локальных сетей фирмы Novell (NetWare), которые в наше время являются одними из самых популярных. Это сравнительно небольшой и быстрый протокол, поддерживающий маршрутизацию. Прикладные программы могут обращаться непосредственно к уровню IPX, например, для посылки широковещательных сообщений, но значительно чаще работают с уровнем SPX, гарантирующим быструю и надежную доставку пакетов. Если скорость не слишком важна, то используется еще более высокий уровень, например NetBIOS, предоставляющий более удобный сервис. Фирмой Microsoft предложена своя реализация IPX/SPX, называемая NWLink.
Протокол TCP/IP специально разработан для глобальных сетей и для межсетевого взаимодействия. Он рассчитан на низкое качество каналов связи, на большую вероятность ошибок и разрывов связей. Этот протокол принят во всемирной компьютерной сети Internet, значительная часть 1бонентов которой подключается по коммутируемым линиям (то есть эбычным телефонным линиям). Протокол TCP/IP также поддерживает маршрутизацию. На его основе работают протоколы более высоких уровней, такие как SMTP, FTP, SNMP. Недостаток протокола TCP/IP - низшая скорость работы.
Протокол NetBIOS (сетевая базовая система ввода/вывода) был разра-Зотан фирмой IBM первоначально для сетей IBM PC Network и IBM Foken-Ring no образцу системы BIOS персонального компьютера. С тех тор этот протокол стал фактическим стандартом (официально он не стандартизован), и многие сетевые операционные системы содержат в себе эмулятор NetBIOS для обеспечения совместимости. Первоначально NetBIOS реализовывал сеансовый, транспортный и сетевой уровни, од-яако в последующих сетях на более низких уровнях используются стандартные протоколы (например, IPX/SPX), а на долю эмулятора NetBIOS эстается только сеансовый уровень. NetBIOS обеспечивает более высокий уровень сервиса, чем IPX/SPX, но он работает медленнее. Протокол NetBEUI - это развитие протокола NetBIOS до транспортного уровня.
Наконец, упоминавшийся набор протоколов OSI — это полный стек про-гоколов, где каждый протокол точно соответствует конкретному уровню стандартной модели OSL Набор содержит маршрутизируемые и транспортные протоколы, серии протоколов IEEE 802, протокол сеансового уровня представительского уровня и несколько протоколов прикладного уровня. Пока широкого распространения этот набор протоколов не получил, хотя он и полностью соответствует эталонной модели.