Функции протоколов каких уровней реализуются сетевыми адаптерами и их драйверами

Обновлено: 05.05.2024

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

Связь сетевого адаптера с сетевым программным обеспечением осуществляют драйверы сетевых адаптеров. Именно благодаря драйверу компьютер может не знать никаких аппаратных особенностей адаптера (его адресов, правил обмена с ним, его характеристик). Драйвер унифицирует, делает единообразным взаимодействие программных средств высокого уровня с любым адаптером данного класса. Сетевые драйверы, поставляемые вместе с сетевыми адаптерами, позволяют сетевым программам одинаково работать с платами разных поставщиков и даже с платами разных локальных сетей (Ethernet, Arcnet, Token-Ring и т.д.). Если говорить о стандартной модели OSI, то драйверы, как правило, выполняют функции канального уровня, хотя иногда они реализуют и часть функций сетевого уровня (рис. 1). Например, драйверы формируют передаваемый пакет в буферной памяти адаптера, читают из этой памяти пришедший по сети пакет, дают команду на передачу, информируют компьютер о приеме пакета.


Рис. 1. Функции драйвера сетевого адаптера в модели OSI

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

Протоколы высоких уровней.

Существует несколько стандартных наборов (или, как их еще называют, стеков) протоколов, получивших сейчас широкое распространение:

набор протоколов ISO/OSI;

IBM System Network Architecture (SNA);

набор протоколов глобальной сети Интернет, TCP/IP.


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


Протоколы перечисленных наборов делятся на три основных типа:

Прикладные протоколы (выполняющие функции трех верхних уровней модели OSI – прикладного, представительского и сеансового);

Транспортные протоколы (реализующие функции средних уровней модели OSI – транспортного и сеансового);

Сетевые протоколы (осуществляющие функции трех нижних уровней модели OSI).

Прикладные протоколы обеспечивают взаимодействие приложений и обмен данными между ними. Наиболее популярны:

FTAM (File Transfer Access and Management) – протокол OSI доступа к файлам;

X.400 – протокол CCITT для международного обмена электронной почтой;

Х.500 – протокол CCITT служб файлов и каталогов на нескольких системах;

SMTP (Simple Mail Transfer Protocol) – протокол глобальной сети Интернет для обмена электронной почтой;

FTP (File Transfer Protocol) – протокол глобальной сети Интернет для передачи файлов;

SNMP (Simple Network Management Protocol) – протокол для мониторинга сети, контроля за работой сетевых компонентов и управления ими;

Telnet – протокол глобальной сети Интернет для регистрации на удаленных серверах и обработки данных на них;

NCP (Novell NetWare Core Protocol) и клиентские оболочки или редиректоры фирмы Novell.

Транспортные протоколы поддерживают сеансы связи между компьютерами и гарантируют надежный обмен данными между ними. Наиболее популярные из них следующие:

TCP (Transmission Control Protocol) – часть набора протоколов TCP/IP для гарантированной доставки данных, разбитых на последовательность фрагментов;

SPX – часть набора протоколов IPX/SPX (Internetwork Packet Exchange/Sequential Packet Exchange) для гарантированной доставки данных, разбитых на последовательность фрагментов, предложенных компанией Novell;

NWLink – реализация протокола IPX/SPX компании Microsoft;

NetBEUI – (NetBIOS Extended User Interface, расширенный интерфейс NetBIOS) – устанавливает сеансы связи между компьютерами (NetBIOS) и предоставляет верхним уровням транспортные услуги (NetBEUI).

Сетевые протоколы управляют адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу. Широко распространены следующие из них:

IP (Internet Protocol) – TCP/IP-протокол для негарантированной передачи пакетов без установления соединений;

IPX (Internetwork Packet Exchange) – протокол компании NetWare для негарантированной передачи пакетов и маршрутизации пакетов;

NWLink – реализация протокола IPX/SPX компании Microsoft;

NetBEUI – транспортный протокол, обеспечивающий услуги транспортировки данных для сеансов и приложений NetBIOS.

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

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


Рис. 2. Соотношение уровней модели OSI и протоколов сети Интернет


Рис. 3. Соотношение уровней модели OSI и протоколов операционной системы Windows Server


Рис. 4. Соотношение уровней модели OSI и протоколов операционной системы NetWare

Рассмотрим некоторые наиболее распространенные протоколы.

Модель OSI допускает два основных метода взаимодействия абонентов в сети:

Метод взаимодействия без логического соединения (или метод дейтаграмм).

Метод взаимодействия с логическим соединением.

Метод дейтаграмм – это простейший метод, в котором каждый пакет рассматривается как самостоятельный объект (рис. 5).


Рис. 5. Метод дейтаграмм

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

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

Метод с логическим соединением (рис. 6, 7) разработан позднее, чем метод дейтаграмм, и отличается усложненным порядком взаимодействия.


Рис. 6. Метод с логическим соединением


Рис. 7. Пример обмена пакетами при сеансе связи

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

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

Примеры протоколов, работающих по методу дейтаграмм— это протоколы IP и IPX.

Примеры протоколов, работающих по методу с логическим соединением – это TCP и SPX.

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

Набор (стек) протоколов TCP/IP был специально разработан для глобальных сетей и для межсетевого взаимодействия. Он изначально ориентирован на низкое качество каналов связи, на большую вероятность ошибок и разрывов связей. Этот протокол принят во всемирной компьютерной сети Интернет, значительная часть абонентов которой подключается по коммутируемым линиям (то есть обычным телефонным линиям). Как и протокол IPX/SPX, протокол TCP/IP также поддерживает маршрутизацию. На его основе работают протоколы высоких уровней, такие как SMTP, FTP, SNMP. Недостаток протокола TCP/IP —более низкая скорость работы, чем у IPX/SPX. Однако сейчас протокол TCP/IP используется и в локальных сетях, чтобы упростить согласование протоколов локальных и глобальных сетей. В настоящее время он считается основным в самых распространенных операционных системах.

В стек протоколов TCP/IP часто включают и протоколы всех верхних уровней (рис. 7). И тогда уже можно говорить о функциональной полноте стека TCP/IP.


Рис. 7. Соотношение уровней модели OSI и стека протоколов TCP/IP

Как протокол IPX, так и протокол IP являются самыми низкоуровневыми протоколами, поэтому они непосредственно инкапсулируют свою информацию, называемую дейтаграммой, в поле данных передаваемого по сети пакета. При этом в заголовок дейтаграммы входят адреса абонентов (отправителя и получателя) более высокого уровня, чем MAC-адреса, – это IPX-адреса для протокола IPX или IP-адреса для протокола IP. Эти адреса включают номера сети и узла, хоста (индивидуальный идентификатор абонента). При этом IPX-адреса (рис. 8) более простые, имеют всего один формат, а в IP-адрес (рис. 9) могут входить три формата (класса A, B и C), различающиеся значениями трех начальных битов.


Рис. 8. Формат IPX- адреса


Рис. 9. Форматы IP-адреса

IP-адрес не имеет никакой связи с MAC-адресами абонентов. Номер узла в нем присваивается абоненту независимо от его MAC-адреса. В качестве идентификатора станции IPX-адрес включает в себя полный MAC-адрес абонента.

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

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 14 мая 2011.

Сетевая модель OSI (англ. open systems interconnection basic reference model — базовая эталонная модель взаимодействия открытых систем, сокр. ЭМВОС; 1978 г) — сетевая модель стека сетевых протоколов OSI/ISO, разработка которого так и не была завершена.

В настоящее время основным используемым стеком протоколов является TCP/IP, разработанный ещё до принятия модели OSI и вне связи с ней.

Содержание

Уровни модели OSI

В литературе наиболее часто принято начинать описание уровней модели OSI с 7-го уровня, называемого прикладным, на котором пользовательские приложения обращаются к сети. Модель OSI заканчивается 1-м уровнем — физическим, на котором определены стандарты, предъявляемые независимыми производителями к средам передачи данных:

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

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

К базовым сетевым технологиям относятся физический и канальный уровни.

Для запоминания названий 7-и уровней модели OSI на английском языке рекомендуют использовать фразу "All people seem to need data processing", в которой первые буквы слов соответствуют первым буквам названий уровней. Для запоминания уровней на русском языке существует фраза: "Просто представь себе тачку, стремящуюся к финишу", первые буквы слов в которой так же соответствуют первым буквам названий уровней.

Прикладной уровень

Прикладной уровень (уровень приложений; англ. application layer ) — верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

  • позволяет приложениям использовать сетевые службы:
    • удалённый доступ к файлам и базам данных,
    • пересылка электронной почты;

    Представительский уровень

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

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

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

    Чтобы понять, как это работает, представим, что имеются две системы. Одна использует для представления данных расширенный двоичный код обмена информацией EBCDIC, например, это может быть мейнфрейм компании IBM, а другая — американский стандартный код обмена информацией ASCII (его используют большинство других производителей компьютеров). Если этим двум системам необходимо обменяться информацией, то нужен уровень представлений, который выполнит преобразование и осуществит перевод между двумя различными форматами.

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

    Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT — формат изображений, применяемый для передачи графики QuickDraw между программами.

    Другим форматом представлений является тэгированный формат файлов изображений TIFF, который обычно используется для растровых изображений с высоким разрешением. Следующим стандартом уровня представлений, который может использоваться для графических изображений, является стандарт, разработанный Объединенной экспертной группой по фотографии (Joint Photographic Expert Group); в повседневном пользовании этот стандарт называют просто JPEG.

    Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов (англ. Musical Instrument Digital Interface , MIDI) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандарт MPEG, используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и QuickTime — стандарт, описывающий звуковые и видео элементы для программ, выполняемых на компьютерах Macintosh и PowerPC.

    Протоколы уровня представления: AFP — Apple Filing Protocol, ICA — Independent Computing Architecture, LPP — Lightweight Presentation Protocol, NCP — NetWare Core Protocol, NDR — Network Data Representation, XDR — eXternal Data Representation, X.25 PAD — Packet Assembler/Disassembler Protocol.

    Сеансовый уровень

    Сеансовый уровень (англ. session layer ) модели обеспечивает поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений.

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

    Транспортный уровень (англ. transport layer ) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приема), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDP ограничивается контролем целостности данных в рамках одной датаграммы, и не исключает возможности потери пакета целиком, или дублирования пакетов, нарушение порядка получения пакетов данных; TCP обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот склеивая фрагменты в один пакет.

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

    Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Работающие на этом уровне устройства (маршрутизаторы) условно называют устройствами третьего уровня (по номеру уровня в модели OSI).

    Протоколы сетевого уровня: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол межсетевого обмена), X.25 (частично этот протокол реализован на уровне 2), CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security). Протоколы маршрутизации - RIP (Routing Information Protocol), OSPF (Open Shortest Path First).

    Канальный уровень

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

    Спецификация IEEE 802 разделяет этот уровень на два подуровня: MAC (англ. media access control ) регулирует доступ к разделяемой физической среде, LLC (англ. logical link control ) обеспечивает обслуживание сетевого уровня.

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

    Протоколы канального уровня: ARCnet, ATM, Controller Area Network (CAN), Econet, Ethernet, Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC), IEEE 802.2 (provides LLC functions to IEEE 802 MAC layers), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, obsolete), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25.

    В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой. Это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS, UDI.

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

    Физический уровень (англ. physical layer ) — нижний уровень модели, предназначенный непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. Другими словами, осуществляет интерфейс между сетевым носителем и сетевым устройством.

    На этом уровне также работают концентраторы, повторители сигнала и медиаконвертеры.

    Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно, витая пара, коаксиальный кабель, спутниковый канал передач данных и т. п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35, RS-232, RS-485, RJ-11, RJ-45, разъемы AUI и BNC.

    Протоколы физического уровня: IEEE 802.15 (Bluetooth), IRDA, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, DSL, ISDN, SONET/SDH, 802.11 Wi-Fi, Etherloop, GSM Um radio interface, ITU и ITU-T, TransferJet, ARINC 818, G.hn/G.9960.

    Соответствие модели OSI и других моделей сетевого взаимодействия

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

    Семейство TCP/IP

    Семейство TCP/IP имеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных; UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями, не гарантирующий получения данных; и SCTP, разработанный для устранения некоторых недостатков TCP, в который добавлены некоторые новшества. (В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протокол ICMP, используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами).

    Семейство IPX/SPX

    В семействе IPX/SPX порты (называемые сокетами или гнёздами) появляются в протоколе сетевого уровня IPX, обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI.

    В качестве адреса хоста IPX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.

    Критика

    Аппаратное и программное обеспечение, работающие в сети, разрабатываются в разных фирмах. Для того чтобы оно было совместимо между собой, международной организацией по стандартам (ISO) была разработана базовая эталонная модель открытых систем (OSI - Open System Interconnection model). Эта модель описывает многоуровневую архитектуру сети, при которой все сетевые функции разделены на семь уровней (рис. 6.1) Каждому уровню соответствуют определенные сетевые операции, оборудование и протоколы. Протокол - это четко определенный набор правил и соглашений для взаимодействия одинаковых уровней сети. Интерфейс определяет услуги, которые нижний уровень предоставляет верхнему и способ доступа к ним. Задача каждого уровня - предоставление услуг вышестоящему уровню, "маскирую" детали реализации этих услуг. Когда два компьютера в сети работают друг с другом, каждый из сетевых уровней обменивается данными с себе подобным (на основе протокола этого уровня). Эта логическая или виртуальная связь изображена на рис. 6.2. пунктирной линией. Однако реальная передача данных происходит на самом нижнем - физическом уровне, где находится физическая среда передачи (сетевой кабель). Т. е. на самом деле данные перемещаются: -сверху вниз от прикладного уровня к физическому; -в рамках физического уровня горизонтально по сетевому кабелю к компьютеру - приемнику данных; -полученные данные затем двигаются вверх по уровням сетевой модели (рис. 6.2). Сетевая модель ISO/OSI определяет сеть в терминах нескольких функциональных уровней. Каждый сетевой уровень включает строго определенные функции и применяет для этого один или несколько протоколов: ·физический уровень передает данные по сетевым каналам и включает в себя аппаратные средства, необходимые для этого; ·канальный - предохраняет данные от повреждения на физическом уровне; ·сетевой - передает данные от одного сетевого компьютера к другому; ·транспортный - передает данные от одного приложения к другому; ·сеансовый - это сетевой интерфейс пользователя; ·представительский - занимается проблемами сетевого интерфейса к принтерам, мониторам и преобразованием форматов файлов; ·прикладной - это набор широко используемых сетевых приложений.

    6.2.Основные функции уровней модели OSI

    Каждый из семи уровней определяет перечень услуг, которые он предоставляет смежным уровням, реализуя определенный набор сетевых функций. 1.Физический уровень. -обеспечивает физический путь для передачи кодированных сигналов; -устанавливает характеристики этих сигналов (амплитуда, частота, длительность и т.д.); -определяет способ соединения СА с кабелем, тип разъемов, способ передачи; -обеспечивает поддержку потока битов, содержание которых на этом уровне не имеет значения; -отвечает за кодирование данных и синхронизацию битов. 2.Канальный уровень. -определяет правила совместного использования физического уровня узлами сети; -передает информацию адресованными порциями - кадрами; -определяет формат кадра и способ, согласно которому узел сети решает, когда можно передать или принять кадр. Используется два основных типа кадров (рис. 6.3).

    6.3.Назначение протоколов

    Операционная система управляет ресурсами компьютера, а сетевая операционная система обеспечивает управление аппаратными и программными ресурсами всей сети. Тем не менее, для передачи данных в сети нужен еще один компонент - протокол. Протокол - это правила и технические процедуры, позволяющие нескольким компьютерам при объединении в сеть общаться друг с другом. Отметим три основных момента, касающихся протоколов: 1.Существует множество протоколов. И хотя все они участвуют в реализации связи, каждый протокол имеет: -различные цели; -выполняет определенные задачи; -обладает своими преимуществами и ограничениями. 2.Функции протокола определяются уровнем, на котором он работает. Если, например, какой-то протокол работает на физическом уровне, то это означает, что он обеспечивает прохождение пакетов через плату СА и их поступление в сетевой кабель. В общем случае каждому уровню присущ свой набор правил (табл. 6.1) Таблица 6.1 3.Несколько протоколов могут работать совместно каждый на своем уровне. Это так называемый стек или набор протоколов (например, стек TCP/IP, объединяющий транспортный и сетевой протоколы).

    6.4.Работа протоколов

    Протоколы реализуются через заголовки, которые добавляются к пакетам по мере того, как они передаются по уровням. Каждый заголовок связывается с конкретным уровнем и в каждом последующем уровне воспринимается как часть пакета (рис. 6.8). При поступлении пакета в принимающий узел, заголовки соответствующих уровней используются для вызова заданной функции в принимающем узле. При передаче пакета выше этот заголовок изымается. И компьютер-отправитель, и компьютер-получатель должны выполнять каждое действие одинаковым способом с тем, чтобы пришедшие по сети данные совпали с отправленными. Если, например, два протокола будут по-разному разбивать данные на пакеты или по-разному добавлять данные (о последовательности пакетов, синхронизации и т. д.), то тогда компьютер, использующий один из протоколов, не сможет связаться с компьютером, на котором работает другой протокол. На работу протоколов ряда уровней оказывает влияние, является ли сеть с коммутацией соединений или с коммутацией пакетов. Широкое развитие межсетевых объединений ("интернет"), компонентами которых являются ЛВС, привело к тому, что данные из одной ЛВС в другую могут передаваться по одному из возможных маршрутов. Протоколы, которые поддерживают такую передачу, называются маршрутизируемыми протоколами. И их роль постоянно возрастает.

    6.5.Основные типы протоколов

    Существует несколько стандартных стеков протоколов, разработанных разными фирмами. Протоколы этих стеков выполняют работу, специальную для своего уровня. Однако коммуникационные задачи, которые возложены на сеть, приводят к разделению протоколов на три типа (рис. 6.9): прикладные протоколы; транспортные протоколы и сетевые протоколы. Прикладные протоколы работают на верхнем уровне модели OSI и обеспечивают взаимодействие приложений и обмен данными между ними. Транспортные протоколы поддерживают сеансы связи между компьютерами и гарантируют надежный обмен данными между ними. Сетевые протоколы обеспечивают услуги связи. Эти протоколы управляют: адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу.

    6.6.Наиболее распространенные стеки протоколов

    Наиболее популярными в настоящее время являются стеки протоколов: TCP/IP разработанный более 20 лет назад по заказу МО США; IPX/SPX фирмы Novell и NETBEUI/NetBIOS фирмы IBM. 1.Стек TCP/IP включает в себя два основных протокола: -TCP (Transmission Control Protocol) - протокол для гарантированной доставки данных, разбитых на последовательность фрагментов. Соответствует транспортному уровню. -IP (Internet Protocol) - протокол для передачи пакетов, относится к разряду сетевых протоколов. Стек TCP/IP является промышленным стандартным набором протоколов, которые обеспечивают связь в неоднородной среде, т. е. обеспечивают совместимость между компьютерами разных типов. Кроме того, TCP/IP: -представляет доступ к ресурсам Интернет; -поддерживает маршрутизацию и обычно используется в качестве межсетевого протокола. Благодаря своей популярности TCP/IP стал стандартом де-факто для межсетевого взаимодействия. К другим специально созданным для стека TCP/IP протоколам относятся: SMTP (Simple Mail Protocol): - электронная почта; FTP (File Transfer Protocol) - обмен файлами между ЭВМ и др. Эти протоколы относятся к разряду прикладных протоколов. 2.Стек IPX / SPX (Novell) включает: -IPX (Internetwork Packet Exchange) - протокол межсетевой передачи пакетов, соответствует транспортному уровню и определяет формат передаваемых по сети кадров. На уровне IPX рабочие станции обмениваются блоками данных без подтверждения. -SPX (Sequenced Packet Exchange) - протокол последовательного обмена пакетами. Соответствует сетевому уровню. Перед началом обмена РС устанавливают между собой связь. На уровне протокола SPX гарантирована доставка передаваемых по сети кадров. При необходимости выполняются повторные передачи. Стек IPX / SPX поддерживает маршрутизацию и используется в сетях Novell. 3.Протокол NetBIOS (Network Basic Input/Output System) - базовая система ввода/вывода. Предназначен для передачи данных между РС, выполняет функции сетевого, транспортного и сеансового уровней. Этот протокол предоставляет программам средства осуществления связи с другими сетевыми программами. NetBEIU - расширенный интерфейс NetBIOS - небольшой быстрый и эффективный протокол транспортного уровня, который поставляется со всеми сетевыми продуктами Microsoft. Основной недостаток - он не поддерживает маршрутизацию. NWLink - реализация IPX / SPX фирмой Microsoft. Это транспортный маршрутизируемый протокол.

    6.7.Сетевые службы и протоколы

    6.8.Привязка протоколов

    Процесс, который называется привязкой, позволяет с достаточной гибкостью настраивать сеть, т. е. сочетать протоколы и платы сетевых адаптеров, как того требует ситуация. Так, например, Ваш компьютер является членом рабочей группы одноранговой сети на базе Windows 95, и обмен данными осуществляется по протоколу NetBEIU. Если помимо этого Вам необходим доступ на сервер Вашей организации, работающей под управлением Novell NetWare, то первое, что необходимо сделать - установить на Вашем компьютере соответствующий протокол - IPX/SPX. Таким образом, два стека протоколов должны быть привязаны к одной плате сетевого адаптера - NetBEUT и IPX/SPX. При подключении к глобальной сети Интернет на Вашем компьютере дополнительно должен быть установлен еще один протокол TCP/IP. Порядок привязки определяет очередность, с которой операционная система выполняет программы. Если с одной платой СА связано несколько протоколов, то порядок привязки определяет очередность, с которой будут использоваться протоколы при попытках установить соединение. Обычно привязку выполняют при установке ОС или добавлении и настройке протокола. Например, если TCP/IP - первый протокол в списке привязки, то именно он будет использоваться при попытке установить связь. Если попытка неудачна, то компьютер попытается установить соединение, используя следующий по порядку протокол в списке привязки. Привязка (binding) не ограничивается установкой соответствия стека протокола плате СА. Стек протокола должен быть привязан к компонентам, уровень которых и выше, и ниже его уровня. Так, TCP/IP наверху может быть привязан к сеансовому уровню NetBIOS, а внизу - к драйверу платы СА. Драйвер, в свою очередь, привязан к плате СА.

    6.9.Передача данных по сети

    Сетевая модель OSI или базовая эталонная модель взаимодействия открытых систем, Open Systems Interconnection Basic Reference Model. Сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и прозрачнее.

    В настоящее время основным используемым семейством протоколов является TCP/IP, разработка которого не была связана с моделью OSI.


    Что такое уровни модели OSI .


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

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

    Чтобы понять, как это работает, представим, что имеются две системы. Одна использует для представления данных расширенный двоичный код обмена иформацией EBCDIC, например, это может быть мэйнфрейм компании IBM, а другая — американский стандартный код обмена информацией ASCII (его используют большинство других производителей компьютеров). Если этим двум системам необходимо обменяться информацией, то нужен уровень представлений, который выполнит преобразование и осуществит перевод между двумя различными форматами.

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

    Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT — формат изображений, применяемый для передачи графики QuickDraw между программами для компьютеров Macintosh и PowerPC. Другим форматом представлений является тэгированный формат файлов изображений TIFF, который обычно используется для растровых изображений с высоким разрешением. Следующим стандартом уровня представлений, который может использоваться для графических изображений, является стандарт, разработанный Объединенной экспертной группой по фотографии (Joint Photographic Expert Group); в повседневном пользовании этот стандарт называют просто JPEG.

    Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов MIDI (Musical Instrument Digital Interface) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандарт MPEG, используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и QuickTime — стандарт, описывающий звуковые и видео элементы для программ, выполняемых на компьютерах Macintosh и PowerPC.

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

    4-й уровень модели предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. При этом не важно, какие данные передаются, откуда и куда, то есть он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Пример: TCP, UDP.

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

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

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

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

    3-й уровень сетевой модели OSI предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор.

    Пример: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол межсетевого обмена), X.25 (частично этот протокол реализован на уровне 2) CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security), ICMP (Internet Control Message Protocol), RIP (Routing Information Protocol), OSPF (Open Shortest Path First).

    Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные он упаковывает во фреймы, проверяет на целостность, если нужно исправляет ошибки (посылает повторный запрос поврежденного кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты.

    В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS

    Самый нижний уровень модели предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. Другими словами, осуществляет интерфейс между сетевым носителем и сетевым устройством. На этом уровне работают концентраторы, повторители (ретрансляторы) сигнала и медиаконверторы. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие свойства среды сети передачи данных как оптоволокно, витая пара, коаксиальный кабель, спутниковый канал передач данных и т. п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35, RS-232C, RS-485, RJ-11, RJ-45, разъемы AUI и BNC.

    Читайте также: