В течение двух последних десятилетий наблюдался значительный рост глобальных сетей. Убедившись, что использование сетевых технологий сулит существенную экономию денежных средств и повышение производительности труда, крупные организации стали уделять особое внимание этому направлению. Новые технологии и продукты внедрялись сразу после их появления, и поэтому многие сети были сформированы с использованием различных аппаратных и программных средств. Вследствие этого многие сети оказались несовместимыми и стало сложным организовывать обмен информацией между компьютерами, использующими различные сетевые спецификации. К середине 80-х годов компании начали испытывать трудности от развития сетей. Становилось всё сложнее объединять сети, использующие разные спецификации и исполнения. Эти компании осознали, что пора прекращать закрытое использование сетевых систем – систем, которые отдельно развиваются, используются и управляются. Закрытость системы значит, что только одна компания или маленькая группа компаний контролирует всё использование технологии. Открытость системы означает, что она доступна для использования любому желающему. Для решения проблемы взаимодействия различных сетей Международная Организация Стандартизации приступила к поискам схемы межсетевого взаимодействия. Результатом исследований стало создание модели OSI, которая должна способствовать созданию совместимых сетевых технологий. Модель OSI снабдила разработчиков набором стандартов, обеспечивающих совместимость и способность соединения различных типов сетей разработанных разными компаниями по всему миру. Хотя существуют и другие модели, большинство разработчиков сетей сегодня связывают свои продукты с моделью OSI, особенно если они хотят обучить клиентов использовать свою продукцию. Модель OSI признана лучшим инструментом для изучения тем, связанных с передачей и приёмом данных в сети. Модель OSI состоит из 7-ми уровней, каждый из которых соответствует определённой сетевой функции. Модель OSI определяет сетевые функции, соответствующие каждому уровню. Что ещё более важно, модель OSI способствует пониманию, как информация путешествует по сети. Если смотреть глубже, модель OSI описывает, как данные путешествуют от одного приложения пользователя, через сетевые коммуникации, к приложению пользователя, расположенному на другом компьютере, даже если подключены к сети разными кабелями.
Эталонная модель OSI — это описательная схема сети; ее
стандарты гарантируют высокую совместимость и способность к взаимодействию
различных типов сетевых технологий. Кроме того, она иллюстрирует процесс
перемещения информации по сетям. Это концептуальная структура, определяющая
сетевые функции, реализуемые на каждом ее уровне. Модель OSI описывает, каким
образом информация проделывает путь через сетевую среду (например, провода) от
одной прикладной программы (например, программы обработки таблиц) к другой
прикладной программе, находящейся в другом подключенном к сети компьютере. По
мере того, как подлежащая отсылке информация проходит вниз через уровни системы,
она становится все меньше похожей на человеческий язык и все больше похожей на
ту информацию, которую понимают компьютеры, а именно на "единицы" и "нули".
Эталонная модель OSI делит задачу перемещения информации между компьютерами
через сетевую среду на семь менее крупных и, следовательно, более легко
разрешимых подзадач. Каждая из этих семи подзадач выбрана потому, что она
относительно автономна и, следовательно, ее легче решить без чрезмерной опоры на
внешнюю информацию. Такое разделение на уровни называется иерархическим
представлением. Каждый уровень соответствует одной из семи подзадач.
Модель
OSI упрощает понимание сетевых функций благодаря следующим чертам:
Каждый уровень модели OSI имеет специальные функции, соответствующие программному обеспечению или устройствам.
Уровень 1: Физический уровень
Физический уровень –
это самый нижний уровень системы, который отвечает за кодирование передаваемой
информации в уровень сигналов, принятый в среде передачи, и обратное
декодирование. Здесь же определяются требования к соединениям, разъёмам,
электрическому согласованию, заземлению, защите от помех.
Уровень 2: Канальный уровень
Также называется
уровень управления линией передачи, отвечает за формирование пакетов
стандартного вида, включающих начальное и конечное управляющие поля. Здесь
производится управление доступом к сети, обнаруживаются ошибки передачи и
производится повторная пересылка приёмнику ошибочных пакетов.
Уровень 3: Сетевой уровень
Отвечает за адресацию
пакетов и перевод логических имён в физические сетевые адреса(и обратно), а
также за выбор маршрута, по которому пакет доставляется по назначению(если в
сети имеется несколько маршрутов).
Уровень 4: Транспортный уровень
Сессионный уровень
устанавливает, управляет и разрывает связь между двумя хостами. Этот уровень
также синхронизирует диалог между представительскими уровнями 2-х хостов и
управляет их обменом данных. Он же распознаёт логические имена абонентов,
контролирует предоставленные им права доступа.
Уровень 5: Сеансовый уровень
Основная функция,
выполняемая на сеансовом уровне, напоминает работу посредника или судьи —
управление диалогом между устройствами, называемыми также узлами. Взаимодействие
систем, организуемое на этом уровне, может происходить в трех различных режимах:
симплексном (simplex), полудуплексном (half-duplex) и полнодуплексном
(full-duplex). Сеансовый уровень обычно занимается отделением данных одного
приложения от информации другого приложения.
Ниже приведены некоторые
протоколы и интерфейсы сеансового уровня:
NFS (Network File System — сетевая файловая система) Создана
компанией Sun Microsystems и используется на рабочих станциях Unix вместе с
TCP/IP, чтобы сделать доступ к удаленным ресурсам прозрачным для
пользователя.
SQL (Structured Query Language — язык структурированных
запросов) На языке SQL, разработанном компанией IBM, пользователь может в
несложной форме определить свои требования к информации, доступ к которой
производится на локальных или удаленных системах.
RPC (Remote Procedure Call
— вызов удаленных процедур) Является простым инструментом переадресации в среде
клиент/сервер. Процедуры RPC создаются на компьютере клиента и выполняются на
сервере.
X Window , Широко применяется на интеллектуальных терминалах для
связи с удаленными компьютерами Unix и позволяет работать с этими компьютерами,
как с локальными.
ASP (AppleTalk Session Protocol — сеансовый протокол
AppleTalk) Применяется в среде клиент/сервер. Предназначен для установления и
поддержки сеанса между машинами клиента и сервера по протоколу ASP.
DNA SCP
(Digital Network Architecture Session Control Protocol — протокол сеансового
уровня DNA) Является протоколом сеансового уровня в сетях DECnet.
Уровень 6: Представительский уровень
Представительский уровень, или уровень представления данных, определяет
пригодны ли данные, посланные прикладным уровнем одной системы для чтения
прикладным уровнем другой системы, если нет – определяет и преобразует формат
данных в необходимый. Здесь же выполняется шифрование и дешифрование данных, а
при необходимости – сжатие.
Уровень 7: Прикладной уровень
Прикладной уровень
наиболее близок к пользователю из всех уровней модели OSI. Этот уровень
предоставляет сетевые сервисы пользователю, такие как передача файлов,
электронная почта и т.д. Уровень приложений отличается от других тем, что он не
предоставляет услуги другим уровням, только приложениям вне модели OSI. Он также
управляет остальными шестью уровнями.
Информация, передаваемая по сети, должна быть подвергнута процессу трансформации как на передающей стороне, так и на принимающей. Процессы трансформации называются инкапсуляция и деинкапсуляция.
Инкапсуляция
Информация, передаваемая по сети, обычно называется данными или пакетами данных. Если один компьютер хочет отправить информацию другому компьютеру, данные для начала должны быть упакованы процессом, называемым инкапсуляция. Инкапсуляция добавляет к данным необходимую информацию протоколов перед передачей по сети. Когда данные переходят с одного уровня модели OSI на другой, каждый уровень добавляет к данным заголовок(или прицеп), перед тем, как отправить ниже, на следующий уровень. Заголовки и контейнеры содержат управляющую информацию для сетевых устройств и получателя, которая гарантирует правильную доставку данных и их интерпретацию.
Рисунок иллюстрирует, как происходит инкапсуляция, методы прохождения данных через уровни модели OSI. В процессе инкапсуляции данные проходят следующие шаги:
Пример: Отправка пакета через службу
E-mail.
Инкапсуляция очень похожа на отправку письма через E-mail. Первым
делом информация помешается в письмо. Потом Вы приписываете адрес, на который Вы
хотите отправить письмо, к контейнеру, содержащему информацию. Затем вы
поместите письмо в очередь отправки службы E-mail и пакет начнёт свой путь к
месту назначения.
Деинкапсуляция
Когда удалённое устройство принимает
последовательность битов, физический уровень передаёт биты информации канальному
уровню для обработки. Канальный уровень выполняет следующие шаги:
Пример: Получение письма.
Процесс деинкапсуляции схож
с чтением адреса на письме, чтобы определить, Вам ли оно предназначено, и затем
читаете содержимое, если да.
Многоуровневая модель OSI исключает прямую связь между равными по положению уровнями, находящимися в разных системах, как показано на рис. Задача каждого уровня - предоставление услуг вышележащему уровню, маскируя детали реализации этих услуг. При этом каждый уровень на одном компьютере работает так, будто он напрямую связан с таким же уровнем на ругом компьютере. Эта логическая, или виртуальная, связь между одинаковыми уровнями показана на рисунке. Однако в действительности связь осуществляется между смежными уровнями одного компьютера - программное обеспечение, работающее на каждом уровне, реализует определенные сетевые функции в соответствии с набором протоколов. Перед подачей в сеть данные разбиваются на части. Пакет (packet) - это единица информации, передаваемая между устройствами сети как единое целое. Пакет проходит последовательно через все уровни программного обеспечения. На каждом уровне к пакету добавляется некоторая информация, форматирующая или адресная, которая необходима для успешной передачи данных по сети. На принимающей стороне пакет проходит через все уровни в обратном порядке. Программное обеспечение на каждом уровне читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню. Когда пакет дойдет до прикладного уровня, вся адресная информация будет удалена и данные примут свой первоначальный вид. Таким образом, за исключением самого нижнего уровня сетевой модели, никакой уровень не может непосредственно послать информацию соответствующему уровню другого компьютера. Информация на компьютере-отправителе должна пройти через все уровни. Затем она передается по сетевому кабелю на компьютер-получатель и опять проходит сквозь все слои, пока не достигнет того же уровня, с которого она была послана на компьютере-отправителе. Например, если сетевой уровень передает информацию с компьютера А, она спускается через канальный и физический уровни в сетевой кабель, далее по нему попадает в компьютер Б, где поднимается через физический и канальный уровни и достигает сетевого уровня.
Протоколы представляют собой набор стандартов и правил, согласно которым данные передаются по сети. Сетевые протоколы – это наборы правил и стандартов, в соответствии с которыми работают сетевые сервисы. Существует множество различных протоколов с своими функциями и задачами, соответствующих разным уровням модели OSI. Ниже приведено несколько распространённых протоколов: