Модель ISO/OSI
Модель ISO/OSI
Пожалуй, ключевым понятием в стандартизации сетей и всего, что к ним относится, является модель взаимодействия открытых систем (Open System Interconnection, OSI), разработанная «Международной организацией по стандартизации» (International Standards Organization, ISO). На практике применяется название модель ISO/OSI.
Описываемая модель состоит из семи уровней (рис. 5.1), каждый из которых отвечает за определенный круг задач, осуществляя их с помощью заложенных в этот уровень алгоритмов – стандартов. Поскольку главная задача – выполнить глобальную цель, то уровни связаны между собой посредством интерфейсов (процедуры взаимодействия, протоколы). Таким образом, выполнив свою часть задачи, нижестоящий уровень передает готовые данные вышестоящему. Если эти сведения по какой-то причине не соответствуют шаблону, то они возвращаются обратно на предыдущий уровень для доработки. Получается, что, когда информация пройдет всю цепочку из семи уровней, на выходе будут готовые к «употреблению» данные.
Рис. 5.1. Уровни модели ISO/OSI
Главное отличие между проводными (Ethernet 802.3) и беспроводными (IEEE 802.11) сетями кроется только в двух нижних уровнях – физическом и канальном. Остальные уровни работают абсолютно одинаково и никаких отличий не имеют.
Рассмотрим уровни модели ISO/OSI подробнее.
Физический уровень
Физический уровень – самый первый, нижний уровень. Фактически он представляет собой аппаратную часть сети и описывает способ передачи данных, используя для этого любой имеющийся канал связи: проводной или беспроводной. Исходя из среды передачи данных должно использоваться соответствующее сетевое оборудование с соответствующими параметрами передачи данных, учитывая всевозможные особенности канала, такие как полосы пропускания, защита от помех, уровень сигнала, кодирование, скорость передачи данных в физической среде и т. п.
По сути, всю описанную работу вынуждено выполнять сетевое оборудование: сетевая карта, мост, маршрутизатор и т. д.
Физический уровень – один из уровней, который отличает беспроводные сети от проводных. Главная разница между ними – среда передачи данных. В первом случае это радиоволны определенной частоты или инфракрасное излучение, во втором – любая физическая линия, например коаксиал, витая пара, оптоволокно, электрическая проводка и т. д.
Канальный уровень
Главная задача канального уровня – удостовериться, что канал передачи данных готов к этой процедуре и ничто не станет угрожать надежности передачи и целостности передаваемых пакетов. В идеале протоколы канального уровня в паре с сетевым оборудованием должны проверить, является ли канал свободным для передачи данных, не имеется ли коллизий передачи и т. п.
Такую проверку необходимо проводить каждый раз, так как локальная сеть редко состоит всего из двух компьютеров, хотя даже в этом случае канал может быть занят. Если канал свободен, то данные, которые необходимо передать другому компьютеру, делятся на более мелкие части – кадры, каждый из которых снабжается контрольной сумой и отсылается. Приняв этот кадр, получатель проверяет контрольные суммы и, если они совпадают, принимает его и отправляет подтверждение о доставке. В противном случае кадр игнорируется, фиксируется ошибка, которая отправляется получателю, и кадр передается заново. Так происходит кадр за кадром.
Как и физический уровень, канальный уровень также имеет различия для проводных и беспроводных сетей, что связано со спецификой сетевого оборудования. Так, беспроводное оборудование на данный момент работает только в полудуплексном режиме, то есть одновременно может вестись только прием или только передача, что резко снижает эффективность обнаружения коллизий в сети и соответственно скорость передачи данных в беспроводных сетях.
Поскольку модель ISO/OSI жестко регламентирует действия каждого уровня, то разработчикам прошлось немного модернизировать протоколы канального уровня для работы в беспроводных сетях. В частности, в случае беспроводной передачи данных используются протоколы CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) или DCF (Distributed Coordination Function).
Протокол CSMA/CA характеризуется тем, что избегает коллизий при передаче данных, используя явное подтверждение доставки, которое сообщает, что пакет доставлен и не поврежден.
Работает это следующим образом. Когда один компьютер собирается передать данные другому, то всем машинам сети посылается короткое сообщение (ready to send, RTS), содержащее в себе информацию о получателе и времени, необходимом для передачи данных. Получив такой пакет, все компьютеры прекращают передачу данных на указанное время. Получатель отсылает отправителю сообщение (clear to send, CTS) о готовности приема данных, получив которое, компьютер-отправитель высылает первую порцию данных и ждет подтверждения о доставке пакета. После получения подтверждения о доставке передача данных продолжается. Если подтверждение о доставке не пришло, то компьютер-отправитель повторно передает конкретный пакет.
Такая система гарантирует доставку пакетов данных, но в то же время заметно снижает скорость передачи данных. Именно поэтому беспроводные сети по скорости всегда отставали и будут отставать от проводных. Тем не менее существуют способы повысить скорость передачи данных за счет оптимизации передачи служебных данных. Кроме того, появляются и новые беспроводные стандарты.
Сетевой уровень
Как и канальный, сетевой уровень занимается передачей информации. Однако между ними есть существенная разница: канальный уровень может передавать данные между компьютерами, подключенными с использованием одной топологии. Если сеть комбинированная, то задача выполняется на сетевом уровне.
Данные в сетевом уровне делятся на порции, которые называются пакетами. Перед началом передачи данных другому компьютеру происходит преждевременная настройка связи, заключающаяся в выборе пути, по которому будут передаваться сведения. Этот процесс называется маршрутизацией.
Выбор нужного маршрута – одна из основных функций сетевого уровня. Невозможно выбрать идеальный путь, так как рано или поздно на одном из отрезков может повыситься трафик, что приведет к увеличению времени передачи пакетов. Поэтому нужный путь выбирается по среднему значению всех необходимых параметров: пропускной способности, интенсивности трафика, дальности и скорости передачи, ее надежности и т. п.
Как правило, при выборе маршрута используется информация установленных в сети маршрутизаторов. В их таблицах хранится информация о скорости передачи между отдельными отрезками сети, трафике, о среднем времени передачи и т. д., основываясь на которой протоколы сетевого уровня могут выбрать оптимальный путь прохождения данных.
Организовать сетевой уровень можно как программно, так и аппаратно.
Транспортный уровень
Транспортный уровень можно отнести к высокому уровню, то есть к такому, управлять которым можно программно, а не только с помощью аппаратных средств.
Идеальную сеть создать невозможно – хоть где-то, но будет отклонение от требований построения. Если сеть достаточно большая и включает несколько маршрутизаторов, то это не только усложняет ее, но и приводит к увеличению ненадежности.
Основная задача транспортного уровня – обеспечить требуемую степень надежности при передаче информации между выбранными компьютерами. Транспортный уровень может делать это пятью способами. Каждый из них отличается не только защищенностью данных при пересылке, но и временем их доставки или возможностью исправления возникших ошибок. По этой причине, начиная с данного уровня, выбрать вариант доставки может программа, то есть непосредственно пользователь. Зачем использовать максимальные предосторожности перед отправкой и во время отсылки данных, если сеть характеризуется хорошим качеством и низкой вероятностью появления ошибок? Логично выбрать наиболее простой способ из пяти существующих. Наоборот, если в сети часто происходят коллизии, приводящие к потере информации, то следует использовать способ, гарантирующий доставку информации в любом случае.[11]
Сеансовый уровень
Сеансовый уровень служит для контроля передачи пакетов между компьютерами. Синхронизируя принятые и отправленные пакеты, протоколы сеансового уровня отслеживают недостающие пакеты и передают их заново. За счет того что передаются только недостающие пакеты, достигается повышение скорости передачи данных.
Уровень представления данных
Чтобы урегулировать процессы отправки и получения информации между двумя компьютерами, существует уровень представления, отвечающий за приведение информации к единому синтаксическому стандарту. Именно здесь можно эффективно использовать разнообразные методы шифрования информации, чем и занимаются многие протоколы.
Прикладной уровень
Прикладной уровень отвечает за связь с прикладными программами. Это обычный набор протоколов, с помощью которых можно наладить доступ к любым ресурсам сети.
Таким образом, пройдя все семь уровней, сообщение пользователя пополняется служебной информацией (заголовками) каждого из них. Аналогично, попав к требуемому получателю и опять пройдя все семь уровней, информация очищается от всей служебной информации.
Данный текст является ознакомительным фрагментом.