При связи компьютеров по сети производится множество операций, обеспечивающих передачу данных от компьютера к компьютеру. Пользователю, работающему с каким-то приложением, в общем-то безразлично, что и как при этом происходит. Для него просто существует доступ к другому приложению или компьютерному ресурсу, расположенному на другом компьютере сети. В действительности же вся передаваемая информация проходит много этапов обработки. Прежде всего она разбивается на блоки, каждый из которых снабжается управляющей информацией. Полученные блоки оформляются в виде сетевых пакетов, эти пакеты кодируются, передаются с помощью электрических или световых сигналов по сети в соответствии с выбранным методом доступа, затем из принятых пакетов вновь восстанавливаются заключенные в них блоки данных, блоки соединяются в данные, которые и становятся доступны другому приложению. Это, конечно, очень упрощенное описание происходящих процессов. Часть из указанных процедур реализуется только программно, другая - аппаратно, а какие-то операции могут выполняться как программами, так и аппаратурой.
Упорядочить все выполняемые процедуры, разделить их на уровни и подуровни, взаимодействующие между собой, как раз и призваны модели сетей. Эти модели позволяют правильно организовать взаимодействие как абонентам внутри одной сети, так и самым разным сетям на различных уровнях. Наибольшее распространение получила в настоящее время так называемая эталонная модель обмена информацией открытой системы OSI (Open System Interchange). Под термином «открытая система» в данном случае понимается незамкнутая в себе система, имеющая возможность взаимодействия с какими-то другими системами (в отличие от закрытой системы).
4.1. Эталонная модель OSI
Модель OSI была предложена Международной организацией стандартов ISO (International Standards Organization) в 1984 году. С тех пор ее используют (более или менее строго) все производители сетевых продуктов. Как и любая универсальная модель, модель OSI довольно громоздка, избыточна и не слишком гибка, поэтому реальные сетевые средства, предлагаемые различными фирмами, не обязательно придерживаются принятого разделения функций. Однако знакомство с моделью OSI позволяет лучше понять, что же происходит в сети.
Все сетевые функции в модели разделены на 7 уровней (рис. 4.1). При этом вышестоящие уровни выполняют более сложные, глобальные задачи, для чего используют в своих целях нижестоящие уровни, а также управляют ими. Цель нижестоящего уровня - предоставление услуг вышестоящему уровню, причем вышестоящему уровню не важны детали выполнения этих услуг. Нижестоящие уровни выполняют более простые, более конкретные функции. В идеале каждый уровень взаимодействует только с теми, которые находятся рядом с ним (выше него и ниже него). Верхний уровень соответствует прикладной задаче, работающему в данный момент приложению, нижний - непосредственной передаче сигналов по каналу связи.
Функции, входящие в показанные на рис 4.1 уровни, реализуются каждым абонентом сети. При этом каждый уровень на одном абоненте работает так, как будто он имеет прямую связь с соответствующим уровнем другого абонента, то есть между одноименными уровнями абонентов сети существует виртуальная связь. Реальную же связь абоненты одной сети имеют только на самом нижнем, первом, физическом уровне. В передающем абоненте информация проходит все уровни, начиная с верхнего и заканчивая нижним. В принимающем абоненте полученная информация совершает обратный путь: от нижнего уровня к верхнему (рис. 4.2).
Рассмотрим подробнее функции разных уровней.
• Прикладной уровень (Application), или уровень приложений, обеспечивает услуги, непосредственно поддерживающие приложения пользователя, например программные средства передачи файлов, доступа к базам данных, средства электронной почты, службу регистрации на сервере, Этот уровень управляет остальными шестью уровнями.
• Представительский уровень (Presentation), или уровень представления данных, определяет и преобразует форматы данных и их синтаксис в форму, удобную для сети, то есть выполняет функцию переводчика. Здесь же выполняется шифрование и дешифрирование данных, а при необходимости — их сжатие.
• Сеансовый уровень (Session) управляет проведением сеансов связи (то есть устанавливает, поддерживает и прекращает связь). Этот же уровень распознает логические имена абонентов, контролирует предоставленные им права доступа.
• Транспортный уровень (Transport) обеспечивает доставку пакетов без ошибок и потерь, в нужной последовательности. Здесь же производится разбивка передаваемых данных на блоки, помещаемые в пакеты, и восстановление принимаемых данных.
• Сетевой уровень (Network) отвечает за адресацию пакетов и перевод логических имен в физические сетевые адреса (и обратно), а также за выбор маршрута, по которому пакет доставляется по назначению (если в сети имеется несколько маршрутов).
• Канальный уровень, или уровень управления линией передачи (Data link), отвечает за формирование пакетов стандартного вида, включающих начальное и конечное управляющие поля. Здесь же производится управление доступом к сети, обнаруживаются ошибки передачи, и производится повторная пересылка приемнику ошибочных пакетов.
• Физический уровень (Physical) — это самый нижний уровень модели, который отвечает за кодирование передаваемой информации в уровни сигналов, принятые в среде передачи, и обратное декодирование. Здесь же определяются требования к соединителям, разъемам, электрическому согласованию, заземлению, защите от помех и т.д.
Большинство функций двух нижних уровней модели (1 и 2) обычно реализуются аппаратно (часть функций уровня 2 - программным драйвером сетевого адаптера). Именно на этих уровнях определяется скорость передачи и топология сети, метод управления обменом и формат пакета, то есть то, что имеет непосредственное отношение к типу сети (Ethernet, Token-Ring, FDDI). Более высокие уровни не работают напрямую с конкретной аппаратурой, хотя уровни 3,4 и 5 еще могут учитывать ее особенности. Уровни 6 и 7 вообще не имеют к аппаратуре никакого отношения. Замены аппаратуры сети на другую они просто не заметят.
В уровне 2 (канальном) нередко выделяют два подуровня.
• Верхний подуровень (LLC - Logical Link Control) осуществляет управление логической связью, то есть устанавливает виртуальный канал связи, (часть его функций выполняется программой драйвера сетевого адаптера). Нижний подуровень (MAC - Media Access Control) осуществляет непосредственный доступ к среде передачи информации (каналу связи). Он напрямую связан с аппаратурой сети.
Помимо модели OSI, существует также модель IEEE Project 802, принятая в феврале 1980 года (отсюда и число 802 в названии), которую можно рассматривать как модификацию, развитие, уточнение модели OSI. Стандарты, определяемые этой моделью (так называемые 802-спецификации), делятся на двенадцать категорий, каждой из которых присвоен свой номер.
• 802.1 - объединение сетей.
• 802.2 - управление логической связью.
• 802.3 - локальная сеть с методом доступа CSMA/CD и топологией «тина» (Ethernet).
• 802.4 - локальная сеть с топологией «шина» и маркерным
доступом.
/
• 802.5 - локальная сеть с топологией «кольцо» и маркерным доступом.
• 802.6 - городская сеть (Metropolitan Area Network, MAN).
• 802.7 - широковещательная технология.
• 802.8 - оптоволоконная технология.
• 802.9 - интегрированные сети с возможностью передачи речи и данных.
• 802.10 - безопасность сетей.
• 802.11 - беспроводная сеть.
• 802.12 - локальная сеть с централизованным управлением доступом по приоритетам запросов и топологией «звезда» (100VG-Any LAN).
Стандарты 802.3, 802.4, 802.5, 802.12 прямо относятся к подуровню MAC второго (канального) уровня эталонной модели OSI. Остальные 802-спецификации решают общие вопросы сетей.