Глава 10. Протоколы передачи данных

Глава 10. Протоколы передачи данных

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

Еще несколько лет назад казалось, что все основные производители программного и аппаратного обеспечения подчиняться спецификациям стандартов OSI (Open System Interconnection) стандартам Международной организации стандартизации (ISO). OSI определяет, как производители могут создавать продукты, работающие с продуктами других разработчиков без специальных драйверов или необязательного оборудования. Целью здесь является так называемая "открытость".

Единственная проблема реализации модели ISO/OSI в том, что многие фирмы уже разработали методы связи своего оборудования и программного обеспечения с другими системами. Хотя разработчики заявляют о будущей поддержке стандартов OSI, их собственные методы настолько эксцентричны, что переход к OSI затруднителен или невозможен. Novell и другие фирмы, занимающиеся сетями, расширяют свои собственные стандарты для обеспечения поддержки других систем и вплотную занимаются проблемой открытости.

Однако стандарты OSI обеспечивают полезный способ сравнения межсетевых средств и межоперативных возможностей различных разработчиков. В модели OSI несколько уровней протоколов образует так называемый стек протоколов, в котором каждый протокол работает на своем уровне программного и аппаратного обеспечения.

Стеки протоколов

Модель OSI межсетевого взаимодействия иллюстрируется следующей таблицей.

Модель OSI
Уровни NetWare
Уровни TCP/IP
7
Уровень
приложений
Служебные средства|приложения Приложение|Почта|Файл|Передача|Виртуальный терминал|Управление сетью
6
Уровень
презентации
Протоколы ядра Тоже, что и выше
5
Уровень
сеанса
Тоже, что и выше Тоже, что и выше
4
Транспортный
уровень
SPX|TCP TCP|UDP
3
Сетевой
уровень
IPX|IP IP|ICMP
2
Уровень
связи данных
IPX|IP (1/2) Связь данных
1
Физический
уровень
Драйверы устройств и аппаратура (1/2) Ethernet|Token Ring|X.25|FDDI

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

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

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

Пакеты информации

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

Стек протокола OSI

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


        +-----------------+  Кадр данных

        ¦    Уровень      ¦  +--------+-+

        ¦   приложений    ¦  ¦        ¦-¦         Добавлен адрес узла.

        +-----------------+  +--------+-+

        ¦    Уровень      ¦  +--------+-+-+

        ¦  презентации    ¦  ¦        ¦ ¦-¦       Добавлена информация

        +-----------------+  +--------+-+-+       задания кода.

        ¦    Уровень      ¦  +--------+-+-+-+

        ¦    сеанса       ¦  ¦        ¦ ¦ ¦-¦     Добавлена коммуника-

        +-----------------+  +--------+-+-+-+     ционная информация.

        ¦  Транспортный   ¦  +--------+-+-+-+-+

        ¦    уровень      ¦  ¦        ¦ ¦ ¦ ¦-¦   Добавлен заголовок

        +-----------------+  +--------+-+-+-+-+   контрольной суммы.

        ¦    Сетевой      ¦  +--------+-+-+-+-+-+ Добавлена информация

        ¦    уровень      ¦  ¦        ¦ ¦ ¦ ¦ ¦-¦ о величине и последо-

        +-----------------+  +--------+-+-+-+-+-+ вательности пакета.

        ¦    Уровень      ¦+-+--------+-+-+-+-+-+ Добавлена информация

        ¦  связи данных   ¦¦-¦        ¦ ¦ ¦ ¦ ¦ ¦ о завершающей конт-

        +-----------------++-+--------+-+-+-+-+-+ рольной сумме и за-

        ¦   Физический    ¦ +---------+           вершающем сообщении.

        ¦    уровень      ¦ ¦- пппп---+

        +-----------------+ ¦----- -  + --------> Пакет передается в

                            +---------+           виде битовой последо-

                                                  вательности.

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

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

Физический уровень

Физический уровень определяет физические характеристики кабельной системы. Он охватывает все доступные сетевые методы, включая Token Ring, Ethernet и Arcnet. Он описывает также коммуникации с помощью радиосвязи и инфракрасных лучей (беспроводные сети), оптоволоконные кабели и кабель RS-232, используемый для подключения модемов к компьютерам.


                                                            +-----+

                           +-------+              Сервер    ¦-----¦

                           ¦+-----+¦            +-------+   ¦-----¦

                           ¦¦     ¦¦            ¦+-----+¦   ¦-----¦

        Рабочая станция    ¦+-----+¦            ¦¦     ¦¦   ¦     ¦

                           +-+---+-+            ¦+-----+¦   ¦--   ¦

                       +-----+---+-----+        ++-----++   ¦--   ¦

                       ¦-           ---¦    +----+-----+---++-----+

                       +---------------+    +--------------++-----+

                             ¦                   ^

        +-----------------+  ¦                   ¦  +-----------------+

        ¦    Уровень      ¦  ¦                   ¦  ¦    Уровень      ¦

        ¦   приложений    ¦  ¦                   ¦  ¦   приложений    ¦

        +-----------------+  ¦                   ¦  +-----------------+

        ¦    Уровень      ¦  ¦                   ¦  ¦    Уровень      ¦

        ¦  презентации    ¦  ¦                   ¦  ¦  презентации    ¦

        +-----------------+  ¦                   ¦  +-----------------+

        ¦    Уровень      ¦  ¦                   ¦  ¦    Уровень      ¦

        ¦    сеанса       ¦  v                   ^  ¦    сеанса       ¦

        +-----------------+  ¦                   ¦  +-----------------+

        ¦  Транспортный   ¦  ¦                   ¦  ¦  Транспортный   ¦

        ¦    уровень      ¦  ¦                   ¦  ¦    уровень      ¦

        +-----------------+  ¦                   ¦  +-----------------+

        ¦    Сетевой      ¦  ¦                   ¦  ¦    Сетевой      ¦

        ¦    уровень      ¦  ¦                   ¦  ¦    уровень      ¦

        +-----------------+  ¦                   ¦  +-----------------+

        ¦    Уровень      ¦  ¦                   ¦  ¦    Уровень      ¦

        ¦  связи данных   ¦  ¦                   ¦  ¦  связи данных   ¦

        +-----------------+  ¦                   ¦  +-----------------+

        ¦   Физический    ¦  ¦                   ¦  ¦   Физический    ¦

        ¦    уровень      ¦  +--------> ---------+  ¦    уровень      ¦

        +-----------------+                         +-----------------+

Физический уровень определяет следующее:

Уровень связи данных

Уровень связи данных определяет правила передачи и приема информации по физической линии, соединяющей две системы. Он подразумевает, что подключение уже установлено на физическом уровне. Уровень связи данных управляет потоком разбитой на пакеты информации. Если битовый поток пересылается слишком быстро, принимающая станция должна указать, что для приема данных ей требуется пауза. Если пакет запорчен или не получен, то передающей станции нужно сообщить о необходимости повторной передачи.

Уровень связи данных разделяется на два подуровня. Уровень MAC (Media Access Control) управляет передачей пакетов по месту назначения. Уровень LLC (Logical Link Control) управляет передачей пакетов с верхних уровней и передает их через уровень MAC.

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

Сетевой уровень

Сетевой уровень определяет протоколы для открытия и обслуживания сетевого маршрута между двумя системами. Он определяет, как передаются данные. На сетевом уровне для определения лучшего маршрута передачи к месту назначения может анализироваться адресная информация. Это имеет важное значение в объединенных сетях, где объединены несколько сегментов локальных сетей. Если пакет адресуется рабочей станции той же локальной сети, то он пересылается непосредственно. Если он адресуется сети в другом сегменте, то пакет передается на маршрутизирующее устройство, которое направляет его через маршрутизаторы, выбирая оптимальный маршрут. Прежде чем пакет достигнет места назначения, он может пройти через несколько маршрутизаторов. Чтобы избежать лишней циркуляции пакета, перед посылкой пакета важно знать лучший маршрут.

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

Транспортный уровень

Транспортный уровень обеспечивает наивысший уровень управления процессом перемещения данных из одной системы в другую. С помощью обнаружения и коррекции ошибок транспортный уровень обеспечивает качественные средства и точную доставку. Если данные в пакете пропущены, то протокол транспортного уровня на приемном конце координируется с протоколом транспортного уровня передающей системы для повторной передачи пакета. Этот уровень обеспечивает получение всех данных и в надлежащем порядке. На транспортном уровне NetWare работает протокол SPX (Sequenced Packet Exchange). На этому уровне между системами устанавливается виртуальная связь, аналогичная гарантированной телефонной коммутации. Во время сеанса передачи две системы сами поддерживают передачу данных.

Уровень сеанса

Уровень сеанса координирует обмен информацией между системами. Этот уровень называется так по устанавливаемому и завершаемому сеансу коммуникаций. Если одна система работает медленнее другой, или пакеты передаются не в том порядке, то требуется координация. На уровне сеанса к пакетам добавляется информация, которую используют коммуникационные протоколы и которая служит для поддержания сеанса до завершения передачи.

Уровень презентации

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

Уровень приложения

Сетевая операционная система и ее приложения доступны для пользователя на уровне приложений. Пользователи дают команды запроса на сетевые устройства, которые оформляются в пакеты и передаются по сети с помощью протоколов более низкого уровня.

Потоки информации

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

Подпрограммы транспортного уровня готовят пакет для точной передачи, добавляя к нему информацию, которая помогает обнаруживать и исправлять ошибки. Этот уровень обеспечивает интерфейс между программным обеспечением на уровне приложений и сетевым аппаратным обеспечением. Если пакет направляется в систему, отличную от NetWare, может выбираться один из нескольких уровней транспортных протоколов, такой как SPX или TCP (Transmission Control Protocol). На транспортном уровне к пакету добавляются служебные номера и другая информация, и он передается на сетевой уровень.

Подпрограммы на сетевом уровне планируют наилучший маршрут к месту назначения и добавляют к пакету информацию маршрутизации. Здесь может выбираться межсетевой протокол, такой как IPX или IP (Internet Protocol - межсетевой протокол для TCP). Сетевой уровень передает пакет уровню связи данных, где он готовится для передачи по сети. На этом уровне задается также метод передачи пакета данных.

Наконец, пакет готов для передачи по сети. Используя встроенный метод доступа - CSMA/CD (Carrier Sence Multiple Access/Collision Detection), передачу лексемы или другой метод, плата сетевого интерфейса получает доступ к кабелю и посылает по нему пакет в виде битовой последовательности. Все это происходит сотни или тысячи раз в секунду.

Возможности совместной работы различных аппаратных средств

Фирма Novell всегда отличалась тем, что предоставляла сетевые средства для самых разнообразных операционных системе. Часто именно Novell первой из фирм-производителей программного обеспечения поддерживала чужую (разработанную другими производителями) операционную систему и ее протоколы.

Часто требуется обеспечить совместную работу в сети аппаратуры разных фирм-производителей. Если используются только персональные компьютеры, то создать сеть можно путем простого добавления сервера и операционной системы NetWare, а затем соединить их с помощью интерфейсных плат и кабеля. Однако, могут быть и другие варианты, часто встречающиеся в крупных компаниях:

Возможность совместной работы играет важное значение, когда вам нужно совместно использовать файлы в различных операционных системах. Это предусматривает не только подключение аппаратуры для совместной работы в сети. Вы должны также предусмотреть протоколы, позволяющие системам взаимодействовать друг с другом через сетевой кабель. "Родной" коммуникационный протокол NetWare это SPX/IPX. Ниже представлено его сравнение с OSI и другими известными стеками протоколов.


            OSI         NetWare      Unix         Apple     LAN Manager

       +------------++----------++-----------++-----------++-----------+

       ¦  Уровень   ¦¦          ¦¦           ¦¦           ¦¦           ¦

       ¦ приложений ¦¦ Протокол ¦¦  Сетевая  ¦¦ AppleShare¦¦   Блоки   ¦

       +------------+¦   ядра   ¦¦  файловая ¦+-----------+¦ сообщений ¦

       ¦  Уровень   ¦¦ NetWare  ¦¦  система  ¦¦           ¦¦  сервера  ¦

       ¦презентации ¦¦          ¦¦           ¦¦   AFP     ¦¦           ¦

       +------------++-----+----++--+--+--+--++--+--+--+--++-----+-----+

       ¦            ¦¦     ¦    ¦¦  ¦  ¦  ¦ T¦¦  ¦  ¦  ¦  ¦¦     ¦     ¦

       ¦            ¦¦     ¦    ¦¦ S¦  ¦ S¦ e¦¦  ¦ A¦  ¦  ¦¦     ¦     ¦

       ¦  Уровень   ¦¦Named¦ Net¦¦ N¦ F¦ N¦ l¦¦ A¦ D¦ Z¦ P¦¦Named¦ Net ¦

       ¦  сеанса    ¦¦pipes¦BIOS¦¦ M¦ T¦ T¦ n¦¦ S¦ S¦ I¦ A¦¦pipes¦BIOS ¦

       ¦            ¦¦     ¦    ¦¦ P¦ P¦ P¦ e¦¦ P¦ P¦ P¦ P¦¦     ¦     ¦

       ¦            ¦¦     ¦    ¦¦  ¦  ¦  ¦ t¦¦  ¦  ¦  ¦  ¦¦     ¦     ¦

       +------------++-----+----++--+--+--+--++--+--+--+--++-----+-----+

       ¦            ¦¦          ¦¦           ¦¦  ¦  ¦  ¦ K¦¦           ¦

       ¦Транспортны馦   SPX    ¦¦    TCP    ¦¦ A¦ N¦ A¦ T¦¦           ¦

       ¦  уровень   ¦¦          ¦¦           ¦¦ T¦ B¦ E¦ M¦¦           ¦

       ¦            ¦¦          ¦¦           ¦¦ P¦ P¦ P¦ P¦¦  NetBEUI  ¦

       +------------++----------++-----------++--+--+--+--+¦           ¦

       ¦  Сетевой   ¦¦   IPX    ¦¦    IP     ¦¦    DDP    ¦¦           ¦

       ¦  уровень   ¦¦          ¦¦           ¦¦           ¦¦           ¦

       +------------++----------++-----------++-----------++-----------+

       ¦            ¦¦ Драйверы ¦¦ Драйверы  ¦¦ Драйверы  ¦¦ Драйверы  ¦

       ¦            ¦¦   LAN    ¦¦   LAN     ¦¦   LAN     ¦¦   LAN     ¦

       ¦  Уровень   ¦+---+------++-----------++-----+-----++-----------+

       ¦связи данных¦¦   ¦      ¦¦           ¦¦Local¦Ether¦¦           ¦

       ¦            ¦¦ODI¦ NDIS ¦¦ Управлени妦Talk ¦Talk ¦¦   NDIS    ¦

       ¦            ¦¦   ¦      ¦¦  доступом ¦+-----+-----+¦           ¦

       ¦            ¦¦   ¦      ¦¦           ¦¦Token Talk ¦¦           ¦

       +------------++---+------++-----------++-----------++-----------+

       ¦ Физический ¦¦Физически馦Физический ¦¦Физический ¦¦Физический ¦

       ¦  уровень   ¦¦          ¦¦           ¦¦           ¦¦           ¦

       +------------++----------++-----------++-----------++-----------+

TCP/IP принимает в организации межсетевой работы NetWare и в стратегии Novell все более важное значение. TCP/IP больше подходит для межсетевой работы NetWare, чем собственный протокол NetWare IPX, поэтому он все чаще применяется при объединении сетей.

Сети, использующие различные протоколы, не могут непосредственно взаимодействовать друг с другом. Например, приложение, которое работает в системе с SPX/IPX, не может непосредственно взаимодействовать с системой с TCP/IP.

Сетевые интерфейсы и шлюзы позволяют преобразовать протокол на каждом уровне, так что пользователи рабочей станции могут получить доступ к средствам операционной системы, использующей другой протокол. Novell NetWare for SAA и Novell 3270 LAN Workstation обеспечивают для систем DOS и Macintosh сетевые интерфейсы с хост-системами IBM.

Многопротокольная маршрутизация дает серверам NetWare возможность организовывать сетевой трафик между различными системами (как показано на приведенном ниже рисунке). Novell NetWare поддерживает многопротокольную маршрутизацию с помощью NLM. Если пользователю рабочей станции требуется доступ к NetWare-серверу, он использует приложение, поддерживающее SPX/IPX. Для доступа к рабочей станции Unix он использует приложение, поддерживающее TCP/IP. NetWare-сервер направляет пакеты системе Unix.


        Рабочая станция                          Рабочая станция +-----+

           +-------+                                  Unix       ¦-----¦

           ¦+-----+¦                                 +-------+   ¦-----¦

           ¦¦     ¦¦                                 ¦+-----+¦   ¦-----¦

           ¦+-----+¦                                 ¦¦     ¦¦   ¦     ¦

           +-+---+-+                                 ¦+-----+¦   ¦--   ¦

       +-----+---+-----+                             ++-----++   ¦--   ¦

       ¦-           ---¦                         +----+-----+---++-----+

       +--+-+----------+                         +--------------++--+-++

          ¦ ¦              NetWare-cервер                           ¦ ¦

          ¦ ¦                +-----+                                ¦ ¦

          ¦ ¦                ¦-----¦                                ¦ ¦

          ¦ ¦                ¦-----¦                                ¦ ¦

          ¦ ¦                ¦-----¦                                ¦ ¦

          ¦ ¦                ¦     ¦                                ¦ ¦

          ¦ ¦                ¦--  -¦                                ¦ ¦

          ¦ ¦                ¦--  -¦                                ¦ ¦

          ¦ +----------------+-----+--------------------------------+ ¦

          +------------------¦-----¦----------------------------------+

        пакеты IPX в NetWare +-----+  пакеты TCP/IP в Unix

Другая схема, которая называется туннельной, позволяет передавать пакеты IPX (NetWare) через сеть TCP/IP путем инкапсуляции пакетов IPX в пакеты TCP/IP.


        ----------------        ----------------        ----------------

        ----------------        ----------------        ----------------

        ---Локальная---------------Локальная --------------Локальная----

        --сеть NetWare------------сеть TCP/IP-------------сеть NetWare--

        ----------------        ----------------        ----------------

        ----------------        ----------------        ----------------

            +-----+                +-------+                  +-----+

            ¦-----¦--------------->¦+-----+¦----------------->¦-----¦

            +-----+                ¦¦-----¦¦                  +-----+

         пакет SPX/IPX             ¦+-----+¦               пакет SPX/IPX

                                   +-------+

                                 пакет TCP/IP

На следующем рисунке показана обработка нескольких протоколов на рабочей станции, где интерфейс ODI (Open Data-Link Interface) одновременно обрабатывает два различных стека протокола, посылая оба типа пакетов через одну и ту же интерфейсную плату и сетевой кабель. На сервере оба эти протокола распознаются и при необходимости маршрутизируются. Следующие продукты позволяют рабочим станциям поддерживать двойные стеки протоколов (SPX/IPX и TCP/IP):


                                                     Рабочая станция

            Рабочая станция       NetWare-cервер         Unix

          +------------------+   +--------------+   +--------------+

          ¦     Приложение   ¦   ¦              ¦   ¦              ¦

          ¦         ¦        ¦   ¦              ¦   ¦              ¦

          ¦         v        ¦   ¦              ¦   ¦              ¦

          ¦+----------------+¦   ¦ ^            ¦   ¦       ^      ¦

          ¦¦       ODI      ¦¦   ¦ ¦            ¦   ¦       ¦      ¦

          ¦+--------+-------+¦   +-+------------+   ¦       ¦      ¦

          ¦¦ TCP/IP ¦SPX/IPX¦¦   ¦ ¦ +--->--+   ¦   ¦       ¦      ¦

          ¦+--------+-------+¦   +-+-+------+---+   ¦       ¦      ¦

          ¦    +-------+     ¦   ¦ ¦ ¦      ¦   ¦   ¦       ¦      ¦

          +----+  NIC  +-----+   +-+-+------+---+   +-------+------+

               +-+-+---+      связь¦ ¦      ¦               ¦

                 ¦ ¦         данных¦ ¦      ¦               ¦

                 ¦ ¦               ¦ ^      v               ¦

           ------¦-¦     кабель    ¦ ¦      ¦               ¦

           ¦     ¦ +---------------+ ¦      ¦  ----------   ¦

           ¦     +-------------------+      +---------------+

           ¦       ¦                ¦              физический уровень

          пакеты   +- пакеты TCP/IP-+

          SPX/IPX

Вопросы совместной работы с программами других производителей имеют для Novell первостепенное значение. Это открывает большие возможности для совместимости с другими платформами (Macintosh, Unix и больших ЭВМ IBM).

Фирма Novell всегда отличалась тем, что предоставляла сетевые средства для самых разнообразных операционных систем. Часто именно Novell первой из фирм-производителей программного обеспечения поддерживала чужую (разработанную другими производителями) операционную систему и ее протоколы.

Novell предусматривает также следующие программные продукты поддержки операционных систем, которые позволяют использовать ресурсы сервера NetWare операционным системам, отличным от NetWare:

Различные протоколы и их реализацию в сети можно представить в виде следующих категорий:

Стандарты физического уровня

Институтом инженеров по электронике и электротехнике (IEEE) разработан набор стандартов, определяющих способ передачи данных интерфейсной платой через используемый кабель. Эти протоколы принято OSI и работают на физическом уровне и уровне передачи данных модели OSI.

Стандарт 802 разработан институтом IEEE для обеспечения совместной работы сетевых интерфейсов. В эти стандарты входят такие продукты как интерфейсные платы, мосты, маршрутизаторы и другие компоненты, используемые для создания сетей с использованием коаксиального кабеля или кабеля типа "витая пара". Сюда включаются также глобальные сети, использующие общие носители, такие как телефонная система. Стандарт 802 объединяет следующие комитеты:

802.1 Межсетевая работа
802.2 Управление логическими связями LLC (Logical Link Control)
802.3 локальные сети CSMA/CD (Ethernet)
802.4 локальные сети с лексемной шиной (аналогичные, но не эквивалентные ArcNet)
802.5 локальные сети Token Ring
802.6 сети MAN (Metropolitan Area Network)

Стандарт 802.1 определяет соотношение между стандартами IEEE и моделью открытых систем ISO (Open Systems Interconnection). Стандарты 802.3 - 802.5 позволяют компьютерам и устройствам многих независимых поставщиков логически связываться друг с другом с помощью кабеля "витая пара", коаксиального кабеля или других типов носителя. Стандарт 802.6 определяет высокоскоростные оптические сети.

Протоколы сетевого и межсетевого обмена

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


            Уровни                                          Уровни

       +--------------+        +--------------+        +--------------+

       ¦              ¦        ¦ Повторитель  ¦        ¦              ¦

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦   +--->--+   ¦        +--------------+

       +--------------+        ¦   +------+   ¦        +--------------+

       ¦  Физический  ¦        ¦   ¦      ¦   ¦        ¦  Физический  ¦

       +------+-------+        +---+------+---+        +--------------+

              ¦                    ¦      ¦                    ^

              +--------------------+      +--------------------+

       +--------------+        +--------------+        +--------------+

       ¦              ¦        ¦     Мост     ¦        ¦              ¦

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        +---+--->--+---+        +--------------+

       ¦ Связи данных ¦        ¦   ¦      ¦   ¦        ¦ Связи данных ¦

       +--------------+        +---+------+---+        +--------------+

       ¦  Физический  ¦        ¦   ¦      ¦   ¦        ¦  Физический  ¦

       +------+-------+        +---+------+----        +--------------+

              ¦                    ¦      ¦                    ^

              +--------------------+      +--------------------+

       +--------------+        +--------------+        +--------------+

       ¦              ¦        ¦ Маршрутизатор¦        ¦              ¦

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       +--------------+        ¦              ¦        +--------------+

       ¦   Сетевой    ¦        ¦   +--->--+   ¦        ¦   Сетевой    ¦

       +--------------+        +---+------+---+        +--------------+

       ¦ Связи данных ¦        ¦   ¦      ¦   ¦        ¦ Связи данных ¦

       +--------------+        +---+------+---+        +--------------+

       ¦  Физический  ¦        ¦   ¦      ¦   ¦        ¦  Физический  ¦

       +------+-------+        +---+------+---+        +--------------+

              ¦                    ¦      ¦                    ^

              +--------------------+      +--------------------+

Повторители

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

Мосты

Мост - это устройство уровня связи данных, объединяющее две сети с одной или разной топологией. Мост на NetWare-сервере вы можете создать, просто добавив в него сетевые платы, например, Ethernet и Token Ring.

Мост использует уровень управления носителем MAC (Media Access Control) - нижнюю половину уровня связи данных. Этот уровень содержит адрес целевой рабочей станции. Поскольку мост видит все рабочие станции объединенных локальных сетей, он просто направляет пакет на нужную рабочую станцию. Трафик между локальными сетями не фильтруется, поэтому при сильном трафике возможны некоторые потери в производительности.

Маршрутизаторы

Маршрутизатор - это еще одна ступенька вверх в лестнице протоколов. Он связывает сегменты сети через сетевой уровень. Инструкции по маршрутизации пакетов содержатся в сетевом уровне IPX. Сервер Novell NetWare автоматически маршрутизирует между двумя или более установленными платами сетевого интерфейса. Маршрутизатор отличается от моста тем, что он может считывать адрес рабочей станции и адрес локальной сети в пакете. Благодаря этому маршрутизатор может фильтровать пакеты и направлять их на рабочую станцию по наилучшему возможному пути.

Рассмотрим несколько объединенных в сеть сегментов локальной сети, некоторые из которых связаны через сервер, а другие являются удаленными.


                     ¦  +-----+

            +-----+  +--+     ¦                            +-----+

            ¦     +--+  +-----+                        +---+     +--+

            +-----+  ¦                                 ¦   +-----+  ¦

                     ¦  +-----+                        ¦            ¦

                     +--+     ¦                        ¦  Сеть D    ¦

               Сеть A¦  +-----+                        ¦         +--+--+

         +-----+     ¦         внешний маршрутизатор + ¦         ¦     ¦

         ¦-----¦     ¦                               ¦ ¦         +--+--+

         ¦-----+-----+   +-----+  +-----+  +-----+   v ¦            ¦

         ¦-----+---------+     +--+     +--+     +-------           ¦

         ¦     ¦ Сеть C  +-----+  +-----+  +-----+   ¦ ¦            ¦

         ¦--   ¦                                     ¦ ¦            ¦

         ¦--   +----------------------+              ¦ ¦    +-----+ ¦

         +-----+                   +--+--+           ¦ +----+     +--

         +-----+            +------+     +----+      ¦      +-----+

        NetWare-сервер      ¦      +-----+    ¦      ¦

        с внутренней        ¦                 ¦      ¦<- альтернативный

        маршрутизацией   +--+--+            ----------   маршрут

                         ¦     ¦              ¦ ^

                         +--+--+              ¦ ¦

                            ¦        +-----+  ¦ +- внешний маршрутизатор

                            +--------+     +--+

                                     +-----+

Заметим, что сеть D имеет дополнительное подключение к серверу, поскольку она подключается и через сеть B, и через сеть C. Если одна из связей выйдет из строя, то вся маршрутизация выполняется по другим.

Еще одним важным устройством является многопротокольный маршрутизатор. В предыдущих раздела предполагалось, что пакеты представляют собой собственные пакеты IPX NetWare. Маршрутизаторы NetWare знают формат пакетов и о том, как считывать адреса. Предположим теперь, что по сети передаются пакеты IPX и TCP/IP. Многопротокольный маршрутизатор должен знать, как считывать адреса в обеих типах пакетов и передавать эти пакеты корректным сегментам (локальным сетям).

Для установки маршрутизатора вне NetWare-сервера можно использовать программное обеспечение многопротокольной маршрутизации NetWare. Это важный вопрос в сетях с интенсивным трафиком, поскольку выполнение задач маршрутизации уменьшает производительность сервера и возможность реализовывать те файловые средства, для которых он предназначен.

Прикладные протоколы

Возможности взаимодействия вычислительных систем определяются верхними уровнями стека протокола. Вы можете работать с базой данных, в которой серверная часть функционирует на сервере NetWare, а клиентная - на системах DOS, OS/2, Macintosh и Unix.

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

Коммуникационные методы NetWare

Данный раздел описывает, как взаимодействуют с NetWare-серверами, использующими XPS/IPX, традиционные рабочие станции на базе DOS. Она охватывает также поддержку TCP/IP, AppleTalk и др.

Оболочка NetWare

Установить связь между рабочей станцией с DOS и файловым сервером NetWare вы можете, загрузив сначала программное обеспечение DOS Requester. Это программное обеспечение автоматически загружает стек протокола SPX/IPS и с помощью поддержки ODI позволяет вам загрузить дополнительные протоколы или использовать дополнительные сетевые платы. Данное программное обеспечение определяет, предназначены ли набираемые вами команды для локальной операционной системы или для NetWare. В последнем случае команды передаются по сети. Команды DOS используются локально.

Протокол IPX основан на протоколе XNS (Xerox Network System). Этот протокол, как и OSI, определяет коммуникационные уровни - от аппаратного до прикладного. Novell использовала часть этого стека (а именно - Internetwork Data Protocol) для создания IPX.

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

Все пакеты проверяются сервером, который определяет их назначение. Если пакет имеет адрес в той же сети, то он просто посылается на соответствующую рабочую станцию. Если пакет адресуется серверу, то он посылается операционной системе сервера. Если пакет адресован другому сегменту сети, то он переформируется и посылается туда:


                    +-+----------------------------+

                    ¦ ¦                            ¦

                    ¦ ¦      Переформирование      ¦

           Сетевой -+ ¦          пакетов           ¦

           уровень  ¦ ¦ +--+  для Token Ring       ¦

                    ¦ ¦ ¦  ¦                       ¦

                  +-+-+-+--+-----------------------+--+

                  ¦   ¦ ¦  ¦                       ¦  ¦  Подуровень

                  ¦   ¦ ¦  +---------------------+ ¦  +- логической

                  ¦   ¦ ¦                        ¦ ¦  ¦    связи

         Уровень  ¦   ¦ ¦                        ¦ ¦  ¦

          связи  -+   +-+-----------+------------+-+-++

         данных   ¦   ¦ ¦           ¦            ¦ ¦ ¦  Подуровень

                  ¦   ¦ ¦           ¦            ¦ ¦ +-   MAC

                  ¦   ¦ ^ Ethernet  ¦ Token Ring ¦ ¦ ¦  (Media Access

                  ¦   ¦ ¦           ¦            v ¦ ¦   Control)

                  +---+-------------+--------------+-+

IPX используется различными приложениями и процессами сети. Вам как системному администратору нужно знать некоторые из этих процессов:

Поддержка в NetWare TCP/IP

Как уже упоминалось ранее, NetWare обеспечивает поддержку стандартного протокола TCP/IP. Он инсталлируется на сервере в виде NLM. Целью разработки TCP/IP было создание набора протоколов, обеспечивающих взаимодействие различных хост-систем. В 1983 г. TCP/IP стал официальным протоколом сети Internet Министерства обороны США. Эта объединенная сеть была разработана, чтобы связать участвующие в государственных и научно-исследовательских проектах компьютеры по всем США и в Европе.

Рабочие станции с TCP/IP (где работает продукт LAN WorkPlace) могут взаимодействовать непосредственно с рабочими станциями Sun, машинами VAX, Macintosh, мини-ЭВМ и большими ЭВМ, связанными с ними сетевым кабелем. NetWare-сервер, где работает TCP/IP, может при необходимости маршрутизировать эти пакеты (в зависимости от расположения систем с TCP/IP).

TCP/IP состоит из протокола транспортного уровня TCP и сетевого протокола IP. IP содержит целевой адрес пакетов и интерфейсы с уровнем TCP. TCP, аналогично SPX, обеспечивает гарантированную связь. Верхний уровень TCP/IP состоит из следующих протоколов (имеющих важное значение для рабочих станций, имеющих доступ к системам TCP/IP):

В мире сетей доминируют протоколы TCP/IP и IPX. Оба эти протокола имеют свои преимущества, но TCP/IP лучше подходит для организации межсетевого взаимодействия. При использовании IPX синхронизированные таблицы маршрутизации должны поддерживаться с помощью протокола RIP (Routing Information Protocol). Все таблицы должны передаваться по сети, что может значительно уменьшить производительность глобальных сетей, использующих телефонные линии или сети передачи данных. TCP/IP не обязательно должны иметь эти средства маршрутизации, и в этом преимущество данных протоколов. Независимыми разработчиками были созданы специализированные маршрутизаторы с продвинутыми средствами, отвечающие потребностям TCP/IP.

TCP/IP несложно реализовать в сети NetWare. Для загрузки описанных ниже модулей можно использовать программу INSTALL NetWare:

Поддержка в NetWare AppleTalk

Протокол AppleTalk встроен в каждый компьютер Macintosh. Построить сети с компьютерами Macintosh также легко, как связать вместе связать вместе системы с помощью кабеля AppleTalk. Базовая система (AppleTalk Phase I) позволяет совместно использовать файлы и принтеры до 254 системам, в то время как AppleTalk Phase II поддерживает до 16 миллионов узлов. AppleTalk относительно нетрудно реализовать на других системах, поскольку он хорошо соответствует протоколу OSI и для интегрирования с другими системами допускает подстановку протоколов различных уровней.

AppleTalk позволяет передавать данные со скоростью 230 Кбит/сек. Кабели и соединители AppleTalk просты в установке, а телефонные кабели и соединители можно заменять. Если AppleTalk не обеспечивает нужную скорость, можно использовать две другие сетевые схемы - EtherTalk и TokenTalk, но для них требуются дополнительные платы. Перечислим протоколы транспортного уровня и уровня сеанса, связанные с AppleTalk:

Кроме транспортного уровня и уровня сеанса имеются средства AppleTalk, такие как AppleTalk Filing Protocol, обеспечивающие совместное использование файлов и приложений. В этот уровень включен также язык PostScript для печати в сети.

Поддержка сетевого интерфейса ODI и NDIS

Традиционный коммуникационный метод NetWare IPX идеально подходит для сетей, поддерживающих рабочие станции DOS и OS/2. IPX - это быстрая и эффективная система передачи пакетов в локальных сетях. Однако, IPX используется только Novell, что затрудняет взаимодействие с другими типами сетей. Сетевую работу в глобальных сетях с оборудованием различных поставщиков может обеспечить TCP/IP.

Хотя в политике обеспечения межсистемного взаимодействия TCP/IP уделяется все большее внимание, существуют также другие стандарты, такие как AppleTalk и, конечно, OSI. Поэтому Novell разработала интерфейс ODI (Open Data-Link Interface), позволяющим сосуществовать на сервере или рабочей станции нескольким стекам протокола. Кроме того, в него недавно добавлена поддержка NDIS (Network Driver Interface Specification) - интерфейс для сетевых плат Microosoft. NDIS используется для связи различных систем, таких как LAN Manager фирмы Microsoft, 3+Share фирмы 3Com и сети IBM LAN Server. NDIS и ODI могут сосуществовать на рабочей станции, так что пользователям обеспечивается доступ и к сетям NetWare. При запуске программного обеспечения поддержки рабочей станции NetWare 4.0 ODI устанавливается автоматически.

Назначением NDIS и ODI является стандартизация интерфейса между драйверами и интерфейсными платами. Благодаря этому, для каждого типа протокола, который вы хотите реализовать через плату, не требуются отдельные драйверы.

Интерфейс ODI

Интерфейс ODI иллюстрируется следующим рисунком. Он обеспечивает интерфейс между платами сетевого интерфейса и различными протоколами. Когда драйверы платы сетевого интерфейса пишутся в соответствии со спецификацией ODI, они могут использовать один или более протоколов, таких как AppleTalk и TCP/IP.


       +---------------------------------------------+

       ¦      Операционная система NetWare           ¦

       +--+-------+----+---------+----+----------+---++

          ¦       ¦    ¦         ¦    ¦          ¦    ¦

          ¦ IPX   ¦    ¦ TCP/IP  ¦    ¦ AppleTalk¦    ¦Многопротокольный

          ¦       ¦    ¦         ¦    ¦          ¦    ¦  интерфейс

          ¦       ¦    ¦         ¦    ¦          ¦    ¦

       +--+-------+----+---------+----+----------+---++

       ¦            LSL (Link Support Layer)         ¦

       +-+-------+-+--------+--+-------+--+-------+--++

         ¦       ¦ ¦        ¦  ¦       ¦  ¦       ¦   ¦Multiple

         ¦RX-NET ¦ ¦Ethernet¦  ¦ Token ¦  ¦ FDDI  ¦   ¦Link

         ¦       ¦ ¦        ¦  ¦  Ring ¦  ¦       ¦   ¦Interface

         ¦       ¦ ¦        ¦  ¦       ¦  ¦       ¦   ¦Drivers

         +-------+ +--------+  +-------+  +-------+   +(MLID)

На рисунке вы можете видеть компоненты уровней ODI. Внизу расположены интерфейсы для различных типов сетевых интерфейсных плат. Вернюю часть образуют протоколы, представляющие интерфейс с операционной системой NetWare. Расположенный между ними уровень LSL управляет трафиком между компонентами.

Для тех, кому требуется взаимодействие с системами, отличными от NetWare, ODI дает следующие преимущества:

ODI стандартизирует разработку драйверов плат сетевых интерфейсов. Производителям не нужно больше беспокоиться о соответствии конкретному стеку протоколов. Драйверы просто подключаются к уровню LSL (Link Suppirt Layer). LSL напоминает коммутационную панель, используемую для переключения на соответствующий стек протоколов.

LSL обеспечивает связь между драйверами (нижний уровень) и протоколами (верхний уровень). Уровень MPI (Multiple Protocol Interface) обеспечивает интерфейс для подключения стеков протоколов (таких как AppleTalk, TCP/IP и IPX; в будущем будут доступны другие стеки протоколов, такие как OSI и SNA). Уровень MLI (Multiple Link Interface) - это тот интерфейс, куда подключаются драйверы платы сетевого интерфейса. Драйверы устройств пишутся разработчиками плат сетевого интерфейса в соответствие со спецификацией LSL Novell. Эти драйверы называются драйверами MLID (Multiple Link Interface Driver).

Когда пакет попадает в плату сетевого интерфейса, он обрабатывается драйвером MLID платы и передается LSL. LSL определяет, в какой стек протокола должен попасть пакет и направляет его этому протоколу. Пакет обычным образом передается через стек протоколов, где обрабатывается протоколами высокого уровня.

Поддержка NDIS

Спецификация NDIS (Microsoft Network Device Interface Specification) была разработана, чтобы предоставить пользователю сети доступ к различным протоколам, отделив эти протоколы от плат сетевого интерфейса. В соответствии с этим протоколам не требовалось ничего знать об интерфейсных платах. Здесь отсутствует специфический для плат интерфейс, а ест только общий интерфейс для протоколов (см. ниже рисунок). Чтобы использовать плату NDIS, вы устанавливаете плату и ее драйвер, загружаете все протоколы, которые хотите использовать, и связываете их с помощью команды NETBIND.

Чтобы обеспечить поддержку NDIS наряду с ODI, Novell разработала поддержку спецификации интерфейса драйвера ODINSUP (Open Data-Link Interface Network). Она обеспечивает сосуществование в сети интерфейсов драйвера и подключение с рабочей станции к различным системам. Стеки протоколов NDIS могут также взаимодействовать между уровнями ODI LSL и MLID, так что в одной системе могут существовать оба стека протоколов.


            +-------------+        +-------------+       +-------------+

            ¦   Драйвер   ¦        ¦   Драйвер   ¦       ¦   Драйвер   ¦

            ¦     OS      ¦        ¦   адаптера  ¦       ¦   SPX/IPX   ¦

            +-----+-------+        +------+------+       +-------+-----+

                  ¦    +-------------+    ¦    +-------------+   ¦

                  ¦    ¦   Драйвер   ¦    ¦    ¦   Драйвер   ¦   ¦

                  ¦    ¦   TCP/IP    ¦    ¦    ¦   NetBEUI   ¦   ¦

                  ¦    +-----+-------+    ¦    +------+------+   ¦

                  ¦          ¦            ¦           ¦          ¦

                  +----------+------------+-----------+----------+

                                          v

                                       NETBIND

                                       ---+---

                                          ¦

                                 +-----------------+

                                 ¦     Сетевой     ¦

                                 ¦     адаптер     ¦

                                 +-----------------+

После загрузки ODISUP на рабочей станции пользователь может зарегистрироваться в сети 3Com 3+Share, Microsoft LAN Manager или IBM LAN Server, сохраняя при этом возможность работы в сети NetWare. Для такого доступа используется одна и та же сетевая плата.

NetBIOS и Named Pipes

NetBIOS - это прикладной программный интерфейс (API), используемый для создания приложений для локальных сетей Microsoft LAN Manager, IBM LAN Server или операционной среды OS/2. Named Pipes - это аналогичный, но более продвинутый протокол, работающий с OS/2. NetBIOS и Named Pipes существуют в среде локальных сетей как протоколы, на основе которых строятся различные приложения. Однако разработчики таких приложений начинают переносить их на SPX/IPX - в таком виде они могут работать на NetWare-сервере в виде NLM. NetBIOS и Named Pipes вы должны учитывать только если их требуют ваши приложения.