2- Модель OSI (1086238), страница 2
Текст из файла (страница 2)
Данные приложения
Данные приложения
Заголовок транспортного уровня
Данные приложения
Заголовок транспортного уровня
Заголовок сетевого уровня
Данные приложения
Заголовок транспортного уровня
Заголовок сетевого уровня
Трейлер канального уровня
Заголовок канального уровня
Рис. 5. Двигаясь по стеку протоколов вниз, данные «обрастают» заголовками и трейлерами
Физический уровень
На самом нижнем уровне модели OSI — физическом (physical) — определяются характеристики элементов оборудования сети — сетевая среда, способ установки, тип сигналов, используемых для передачи по сети двоичных данных. Кроме того, на физическом уровне определяется, какой тип сетевого адаптера нужно установить на каждом компьютере и какой использовать концентратор (если это нужно). На физическом уровне мы имеем дело с медным или оптоволоконным кабелем или с каким-либо беспроводным соединением. В ЛВС спецификации физического уровня напрямую связаны с используемым в сети протоколом канального уровня. Выбрав протокол канального уровня, Вы должны использовать одну из спецификаций физического уровня, поддерживаемую этим протоколом.
Например, протокол канального уровня Ethernet поддерживает несколько различных вариантов физического уровня — один из двух типов коаксиального кабеля, любой кабель типа «витая пара» или оптоволоконный кабель. Параметры каждого из этих вариантов формируются из многочисленных сведений о требованиях физического уровня, например, к типу кабеля и разъемов, допустимой длине кабелей, числу концентраторов и др. Соблюдение этих требований необходимо для нормальной работы протоколов. Например, в чересчур длинном кабеле система Ethernet может не заметить коллизию пакетов, а если система не в состоянии обнаружить ошибки, она не может и исправить их, результат — потеря данных.
Стандартом протокола канального уровня определяются не все аспекты физического уровня. Некоторые из них определяются отдельно. Одна из наиболее часто используемых спецификаций физического уровня описана в документе «Commercial Building Telecommunications Cabling Standard», известном как EIA/TIA 568А. Он опубликован совместно Американским национальным институтом стандартов (American National Standards Institute, ANSI), Ассоциацией отраслей электронной промышленности (Electronics Industry Association, EIA) и Ассоциацией промышленности средств связи (Telecommunications Industry Association, TIA). В этот документ включено подробное описание кабелей для сетей передачи данных в промышленных условиях, в том числе минимальное расстояние от источников электромагнитных помех и другие правила прокладки кабеля. Сегодня прокладку кабеля в больших сетях чаще всего поручают специализированным фирмам. Нанятый подрядчик должен быть хорошо знаком с EIA/TIA 568A и другими подобными документами, а также с правилами эксплуатации зданий в городе.
Другой коммуникационный элемент, определяемый на физическом уровне, — тип сигнала для передачи данных по сетевой среде. Для кабелей с медной основой таким сигналом является электрический заряд, для оптоволоконного кабеля — световой импульс. В сетевых средах других типов могут использоваться радиоволны, инфракрасные импульсы и другие сигналы. Помимо природы сигналов, на физическом уровне устанавливается схема их передачи, т. е. комбинация электрических зарядов или световых импульсов, используемая для кодирования двоичной информации, которая сгенерирована вышестоящими уровнями. В системах Ethernet применяется схема передачи сигналов, известная как манчестерская кодировка (Manchester encoding), а в системах Token Ring используется дифференциальная манчестерская (Differential Manchester) схема.
Канальный уровень
Протокол канального (data-link) уровня обеспечивает обмен информацией между аппаратной частью включенного в сеть компьютера и сетевым ПО. Он подготавливает для отправки в сеть данные, переданные ему протоколом сетевого уровня, и передает на сетевой уровень данные, полученные системой из сети.
При проектировании и создании ЛВС используемый протокол канального уровня — самый важный фактор для выбора оборудования и способа его установки. Для реализации протокола канального уровня необходимо следующее аппаратное и программное обеспечение:
• адаптеры сетевого интерфейса (если адаптер представляет собой отдельное устройство, подключаемое к шине, его называют платой сетевого интерфейса или просто сетевой платой);
• драйверы сетевого адаптера;
• сетевые кабели (или другая сетевая среда) и вспомогательное соединительное оборудование;
• сетевые концентраторы (в некоторых случаях).
Как сетевые адаптеры, так и концентраторы разрабатываются для определенных протоколов канального уровня. Некоторые сетевые кабели также приспособлены для конкретных протоколов, но есть и кабели, подходящие для разных протоколов.
Безусловно, сегодня (как и всегда) самый популярный протокол канального уровня — Ethernet. Далеко отстал от него Token Ring, за которым следуют другие протоколы, например, FDDI (Fiber Distributed Data Interface). В спецификацию протокола канального уровня обычно включаются три основных элемента:
• формат кадра (т. е. заголовок и трейлер, добавляемые к данным сетевого уровня перед передачей в сеть);
• механизм контроля доступа к сетевой среде;
• одна или несколько спецификаций физического уровня, применяемые с данным протоколом.
Далее три этих компонента обсуждаются подробнее.
Формат кадра
Протокол канального уровня добавляет к данным, полученным от протокола сетевого уровня, заголовок и трейлер, превращая их в кадр (frame) (рис. 6.). Если снова прибегнуть к аналогии с почтой, заголовок и трейлер — это конверт для отправки письма. В них содержатся адреса системы-отправителя и системы-получателя пакета. Для протоколов ЛВС, подобных Ethernet и Token Ring, эти адреса представляют собой 6-байтные шестнадцатеричные строки, присвоенные сетевым адаптерам на заводе-изготовителе. Они, в отличие от адресов, используемых на других уровнях модели OSI, называются аппаратными адресами (hardware address) или МАС-адресами (см. ниже).
Заголовок канального уровня
Данные сетевого уровня
Трейлер канального уровня
Рис. 6. Кадр протокола канального уровня содержит адреса исходной и целевой систем, идентификатор протокола сетевого уровня и информацию для обнаружения ошибок
Примечание Протоколы различных уровней модели OSI по-разному называют структуры, создаваемые ими путем добавления заголовка к данным, пришедшим от вышестоящего протокола. Например, то, что протокол канального уровня называет кадром, для сетевого уровня будет дейтаграммой. Более общим названием для структурной единицы данных на любом уровне является пакет.
Важно понимать, что протоколы канального уровня обеспечивают связь только между компьютерами одной и той же ЛВС. Аппаратный адрес в заголовке всегда принадлежит компьютеру в той же ЛВС, даже если целевая система находится в другой сети.
Другие важные функции кадра канального уровня — идентификация протокола сетевого уровня, сгенерировавшего данные в пакете, и информация для обнаружения ошибок. На сетевом уровне могут использоваться различные протоколы, и потому в кадр протокола канального уровня обычно включается код, с помощью которого можно установить, какой именно протокол сетевого уровня сгенерировал данные в этом пакете. Руководствуясь этим кодом, протокол канального уровня компьютера-получателя пересылает данные соответствующему протоколу своего сетевого уровня. Для выявления ошибок передающая система вычисляет циклический избыточный код (cyclical redundancy check, CRC) полезной нагрузки и записывает его в трейлер кадра. Получив пакет, целевой компьютер выполняет те же вычисления и сравнивает результат с содержимым трейлера. Если результаты совпадают, информация передана без ошибок. В противном случае получатель предполагает, что пакет испорчен, и не принимает его.
Управление доступом к среде
Компьютеры в ЛВС обычно используют общую дуплексную сетевую среду. При этом вполне возможно, что передавать данные начнут одновременно два компьютера. В таких случаях происходит своего рода столкновение пакетов, коллизия (collision), при котором данные в обоих пакетах теряются. Одна из главных функций протокола канального уровня — управление доступом к сетевой среде (media access control, MAC), т. е. контроль за передачей данных каждым из компьютеров и сведение к минимуму случаев столкновения пакетов. Механизм управления доступом к среде — одна из важнейших характеристик протокола канального уровня. В Ethernet для управления доступом к среде используется механизм с контролем несущей и обнаружением коллизий (Carrier Sense Multiple Access with Collision Detection. CSMA/CD). В некоторых других протоколах, например, в Token Ring, используется передача маркера (token passing).( Подробнее об управлении доступом к среде — ниже).
Спецификации физического уровня
Протоколы канального уровня, используемые в ЛВС, часто поддерживают более одной сетевой среды, и в стандарт протокола включены одна или несколько спецификаций физического уровня. Канальный и физический уровни тесно связаны, т. к. свойства сетевой среды существенно влияют на то, как протокол управляет доступом к среде. Поэтому можно сказать, что в локальных сетях протоколы канального уровня осуществляют также функции физического уровня. В глобальных сетях используются протоколы канального уровня, в которые информация физического уровня не включается, например, SLIP (Serial Line Internet Protocol) и РРР (Point-to-Point Protocol).
Сетевой уровень
На первый взгляд может показаться, что сетевой (network) уровень дублирует некоторые функции канального уровня. Но это не так: протоколы сетевого уровня «отвечают» за сквозные (end-to-end) связи, тогда как протоколы канального уровня функционируют только в пределах ЛВС. Иными словами, протоколы сетевого уровня полностью обеспечивают передачу пакета от исходной до целевой системы. В зависимости от типа сети, отправитель и получатель могут находиться в одной ЛВС, в различных ЛВС в пределах одного здания или в ЛВС, разделенных тысячами километров. Например, когда Вы связываетесь с сервером в Интернете, на пути к нему пакеты, созданные Вашим компьютером, проходят через десятки сетей. Подстраиваясь под эти сети, протокол канального уровня неоднократно изменится, но протокол сетевого уровня на всем пути останется тем же самым.
Краеугольным камнем набора протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) и наиболее часто используемым протоколом сетевого уровня является протокол IP (Internet Protocol). У Novell NetWare есть собственный сетевой протокол IPX (Internetwork Packet Exchange), а в небольших сетях Microsoft Windows обычно используется протокол NetBEUI (NetBIOS Enhanced User Interface). Большинство функций, приписываемых сетевому уровню, определяются возможностями протокола IP.
Подобно протоколу канального уровня, протокол сетевого уровня добавляет заголовок к данным, которые он получил от вышестоящего уровня (рис. 1.10). Элемент данных, созданный протоколом сетевого уровня, состоит из данных транспортного уровня и заголовка сетевого уровня и называется дейтаграммой (datagram).
Дейтаграмма
Заголовок сетевого уровня
Рис. 7. Протокол сетевого уровня формирует дейтаграмму из данных транспортного уровня
Далее подробно описаны функции сетевого уровня.
Адресация
Заголовок протокола сетевого уровня, как и заголовок протокола канального уровня, содержит поля с адресами исходной и целевой систем. Однако в данном случае адрес целевой системы принадлежит конечному назначению пакета и может отличаться от адреса получателя в заголовке протокола канального уровня. Например, когда Вы вводите в адресной строке браузера адрес Web-узла, в пакете, сгенерированном Вашим компьютером, в качестве адреса целевой системы сетевого уровня указан адрес Web-сервера, тогда как на канальном уровне на целевую систему указывает адрес маршрутизатора в Вашей ЛВС, обеспечивающего выход в Интернет.
В IP используется собственная система адресации, которая совершенно не зависит от адресов канального уровня. Каждому компьютеру в сети с протоколом IP вручную или автоматически назначается 32-битовый IP-адрес, идентифицирующий как сам компьютер, так и сеть, в которой он находится. В IPX же для идентификации самого компьютера используется аппаратный адрес, кроме того, специальный адрес используется для идентификации сети, в которой находится компьютер. В NetBEUI компьютеры различаются по NetBIOS-именам, присваиваемым каждой системе во время ее установки.
Фрагментация
Дейтаграммам сетевого уровня на пути к месту назначения приходится проходить через множество сетей, сталкиваясь при этом со специфическими свойствами и ограничениями различных протоколов канального уровня. Одно из таких ограничений — максимальный размер пакета, разрешенный протоколом. Например, размер кадра Token Ring может достигать 4500 байт, тогда как размер кадров Ethernet не может превышать 1500 байтов. Когда большая дейтаграмма, сформированная в сети Token Ring, передается в сеть Ethernet, протокол сетевого уровня должен разбить ее на несколько фрагментов размером не более 1500 байт. Этот процесс называется фрагментацией (fragmentation).
В процессе фрагментации протокол сетевого уровня разбивает дейтаграмму на фрагменты, размер которых соответствует возможностям используемого протокола канального уровня. Каждый фрагмент становится самостоятельным пакетом и продолжает путь к целевой системе сетевого уровня. Исходная дейтаграмма формируется лишь после того, как места назначения достигнут все фрагменты. Иногда на пути к целевой системе фрагменты, на которые разбита дейтаграмма, приходится фрагментировать повторно.
Маршрутизация
Маршрутизацией (routing) называется процесс выбора в интерсети самого эффективного маршрута для передачи дейтаграмм от системы-отправителя к системе-получателю. В сложных интерсетях, например, в Интернете или больших корпоративных сетях, часто от одного компьютера к другому можно добраться несколькими путями. Проектировщики сетей специально создают избыточные связи, чтобы трафик нашел дорогу к месту назначения даже в случае сбоя одного из маршрутизаторов.
С помощью маршрутизаторов соединяют отдельные ЛВС, входящие в интерсеть. Назначение маршрутизатора — принимать входящий трафик от одной сети и передавать его конкретной системе в другой. В интерсетях различают системы двух видов: оконечные (end systems) и промежуточные (intermediate systems). Оконечные системы являются отправителями и получателями пакетов. Маршрутизатор — промежуточная система. В оконечных системах используются все семь уровней модели OSI, тогда как пакеты, поступающие в промежуточные системы, не поднимаются выше сетевого уровня. Там маршрутизатор обрабатывает пакет и отправляет его вниз по стеку для передачи следующей целевой системе (рис. 8.). Чтобы верно направить пакет к цели, маршрутизаторы хранят в памяти таблицы с информацией о сети. Эта информация может быть внесена администратором вручную или собрана автоматически с других маршрутизаторов с помощью специализированных протоколов. В состав типичного элемента таблицы маршрутизации входят адрес другой сети и адрес маршрутизатора, через который пакеты должны добираться до этой сети. Кроме того, в элементе таблицы маршрутизации содержится метрика маршрута — условная оценка его эффективности. Если к некой системе имеется несколько маршрутов, маршрутизатор выбирает из них самый эффективный и отправляет дейтаграмму на канальный уровень для передачи маршрутизатору, указанному в элементе таблицы с наилучшей метрикой. В больших сетях маршрутизация может быть необычайно сложным процессом, но чаще всего она осуществляется автоматически и незаметно для пользователя