Модели и протоколы передачи данных. Модель открытых систем OSI Тема № 2-07 Модель OSI. Канальный Сетевой уровень и Транспортный уровни. Модель OSI. Канальный Уровень Канальный уровень (data link layer) является первым уровнем (если идти снизу вверх), который работает в режиме коммутации пакетов. PDU (Protocol Data Unit) обычно носит название кадр (frame). Канальный уровень (data link layer) предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные, представленные в битах, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос поврежденного кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Модель OSI. Канальный Уровень Модель ОSI Тип данных Уровень Функции 7. Прикладной Доступ к сетевым службам 6. Представления Представление и кодирование данных 5. Сеансовый Управление сеансом связи 4. Транспортный Прямая связь между конечными пунктами и надежность Пакеты 3. Сетевой Определение маршрута и логическая адресация Кадры 2. Канальный Физическая адресация 1. Физический Работа со средой передачи, сигналами и двоичными данными Данные Сегменты Биты Модель OSI. Канальный Уровень В локальных сетях канальный уровень должен обеспечивать доставку кадра между любыми узлами сети. При этом предполагается, что сеть имеет типовую топологию, например общую шину, кольцо, звезду или дерево, а также использование разделяемой между компьютерами сети физической среды передачи данных. Поэтому в этих протоколах имеется подуровень доступа к разделяемой среде- уровень MAC. Использование разделяемой среды передачи данных делает в локальных сетях ненужными процедуры управления потоком кадров. Локальная сеть базовой топологии не может переполниться кадрами, так как узлы сети не могут начать генерацию нового кадра до приема предыдущего кадра станцией назначения. Еще одной особенностью протоколов канального уровня локальных сетей является широкое использование дейтаграмных процедур. Это объясняется хорошим качеством каналов связи, редко искажающим биты в передаваемых кадрах. Примерами протоколов канального уровня для локальных сетей являются протоколы Token Ring, Ethernet, Fast Ethernet, 100VG-AnyLAN, FDDI. Модель OSI. Канальный Уровень В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень обеспечивает обмен сообщениями между двумя соседними компьютерами, соединенными индивидуальной линией связи. К таким протоколам типа "точка-точка" относятся протоколы PPP, SLIP, LAP-B, LAP-D. Эти протоколы не используют подуровня доступа к среде, но требуют наличия процедур управления потоком кадров, так как промежуточные коммутаторы могут переполниться при слишком высокой интенсивности трафика по некоторым индивидуальным каналам. Кроме того, из-за высокой степени зашумленности глобальных каналов связи в протоколах этих сетей широко используются методы передачи данных с предварительным установлением соединения и повторными передачами кадров при их искажениях и потерях. Модель OSI. Канальный Уровень В локальных сетях канальный уровень разделяется на два подуровня: • уровень управления логическим каналом (logical link control, LLC). • уровень доступа к среде (media access layer, MAC), MAC – подуровень осуществляет: 1.Определение доступности к физической среде, т.е. если в сети используется разделяемая среда, то прежде чем физический уровень начнет передавать данные, канальный уровень должен проверить доступность сред. Проверка доступа к среде передачи, не используется: в глобальных сетях, в локальных сетях, когда используется полнодуплексный стандарт включения компьютера, 2. Формирование кадра - выделение границ кадра. Для фиксации границ кадра, канальный уровень помещает специальную последовательность битов в начало и конец кадра. Специальная последовательность битов может представлять собой 01111110 или «запрещенные коды» для данного стандарта; при выделении конца кадра часто применяется битовые и байтовые замены, «запрещенные коды», или размер кадра определяется заранее. 3. Формирование кадра- заполнение полей кадра на основании информации, получаемой от протокола верхнего уровня - сетевого (сетевые адреса, тип сетевого протокола) и подуровня (LLC), такой как адреса источника и назначения, пользовательские данные, признак протокола верхнего уровня, отсылающего эти данные. Модель OSI. Канальный Уровень 4. Обнаружение и коррекция ошибок. Уровень MAC подсчитывает контрольную сумму кадра, суммируя все байты кадра определенным способом и добавляет её к кадру. Контрольная сумма вычисляется по некоторому алгоритму как функция от всех байтов кадра. При приеме кадра, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. При совпадении, кадр принимается, если же нет, то фиксируется ошибка, кадр отбрасывается. 5. Передача кадра через среду. Когда кадр сформирован и доступ к разделяемой среде получен, уровень MAC передает кадр на физический уровень, который побитно передает все поля кадра в среду. Функции физического уровня выполняет передатчик сетевого адаптера, который преобразует байты кадра в последовательность битов. 6. Прием кадра. Уровень MAC каждого узла сети, подключенного к разделяемой среде, проверяет адрес назначения поступившего кадра, и если он совпадает с его собственным адресом, то продолжает его обработку, в противном случае кадр отбрасывается. Далее проверка корректности контрольной суммы кадра. Кадр с корректной контрольной суммой передается уровнем MAC вверх по стеку, на чем функции уровня MAC заканчиваются. Если же контрольная сумма кадра говорит о том, что информация при передаче через среду была искажена, то кадр отбрасывается. 7. Кроме всего, МАС- уровень должен согласовать дуплексный режим работы уровня LLC с полудуплексным режимом работы физического уровня. Для этого он буферизует кадры с тем, чтобы при получении доступа к среде, передать их по назначению. Модель OSI. Канальный Уровень LLC (Logical Link Control) подуровень осуществляет две функции: • управление передачей данных, используя интерфейс с прилегающим к нему сетевым уровнем, с одной стороны и MAC –под(уровень) с другой; • обеспечивает доставку кадров с заданной степенью надежности, проверяя правильность передачи информации по соединению; 1. Интерфейсные функции LLC – передача данных между уровнем MAC и сетевым уровнем. При передаче данных сверху вниз уровень LLC принимает от протокола сетевого уровня пакет (например, IP- или IPX-пакет), в котором уже находятся сетевой адрес (IP или IPX), а также пользовате-льские данные. Полученные от сетевого уровня пакет и аппаратный адрес, уровень LLC передает далее вниз — уровню MAC. 2. Кроме того, LLC при необходимости решает задачу мультиплексирования, передавая данные от нескольких протоколов сетевого уровня единственному протоколу уровня MAC. При передаче данных снизу вверх LLC принимает от уровня MAC пакет сетевого уровня, пришедший из сети и выполняет обратную функцию — демультиплексирование, то есть решает, какому из сетевых протоколов передать полученные от MAC данные. Причем на ПК могут одновременно запущенно, и использоваться несколько различных сетевых протоколов. Таким образом, канальный уровень способен выполнять функции мультиплексирования и демультиплексирования, т.е. передавать и принимать данные от нескольких протоколов сетевого уровня через единственный протокол уровня MAC. Модель OSI. Канальный Уровень LLC (Logical Link Control) IPX IP NetBIOS LLC MAC Физический уровень Рис. 2-07.1. Демультиплексирование кадров протоколом LLC Модель OSI. Канальный Уровень LLC (Logical Link Control) 2. Функции, обеспечивающие доставку кадров с заданной степенью надежности (управления логическим каналом LLC ): В соответствии со стандартом 802.2 - LLC предоставляет верхним уровням три типа процедур: 1. LLC1 - процедура без установления соединения и без подтверждения; 2. LLC2 - процедура с установлением соединения и подтверждением; 3. LLC3 - процедура без установления соединения, но с подтверждением. 1. Процедура без установления соединения и без подтверждения LLC1 средства для передачи данных с минимумом издержек. Это дейтаграммный режим работы. Восстановление ошибочных данных и их упорядочивание, выполняются протоколами вышележащих уровней, поэтому нет нужды дублировать их на уровне LLC. Модель OSI. Канальный Уровень LLC (Logical Link Control) 2.-Процедура с установлением соединений и подтверждением LLC2 -устанавливается логическое соединение перед началом передачи любого блока данных и, если это требуется, выполняются процедуры восстановления после ошибок и упорядочивание потока этих блоков в рамках установленного соединения. Протокол LLC2 работает в режиме скользящего окна. 3. Дополнительная процедура, называемая процедурой без установления соединения, но с подтверждением LLC3. Применяется в тех случаях, когда временные издержки установления логического соединения перед отправкой данных неприемлемы, а подтверждение о корректности приема переданных данных необходимо – в сетях с системами реального времени, управляющих промышленными объектами Модель OSI. Канальный Уровень Для доступа к разделяемой среде в локальных сетях используется два типа методов доступа: • методы случайного доступа, • методы маркерного доступа. 1.Методы случайного доступа основаны на том, что каждая станция сети пытается получить доступ к среде в тот момент времени, когда ей это становится необходимым. Если среда уже занята, то станция повторяет попытки доступа до тех пор, пока очередная попытка не окажется успешной. Из всех методов случайного доступа широко используется только метод технологии Ethernet. 2.Методы маркерного доступа основаны на детерминированной передаче от одного узла сети другому специального кадра информации - маркера (токена) доступа. Маркерные методы доступа используются в сетях Token Ring, ArcNet и FDDI. В таких сетях право на доступ к среде передается циклически от станции к станции по логическому кольцу. Модель OSI. Канальный Уровень • В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень обеспечивает обмен сообщениями между двумя соседними компьютерами, соединенными индивидуальной линией связи. К таким протоколам типа "точка-точка" относятся протоколы PPP, SLIP, LAP-B, LAP-D. Эти протоколы не используют подуровень доступа к среде, но требуют наличия процедур управления потоком кадров, так как промежуточные коммутаторы могут переполниться при слишком высокой интенсивности трафика по некоторым индивидуальным каналам. Кроме того, из-за высокой степени зашумленности глобальных каналов связи в протоколах этих сетей широко используются методы передачи данных с предварительным установлением соединения и повторными передачами кадров при их искажениях и потерях. Модель OSI. Канальный Уровень • Примерами протоколов канального уровня для локальных сетей являются протоколы Token Ring, Ethernet, Fast Ethernet, 100VG-AnyLAN, FDDI. • Для распределенных сетей на канальном уровне работают: • ARCnet • (Attached Resource Computer NETwork) — одна из первых технологий ЛВС, аналогично Ethernet или Token ring -для создания сетей микрокомпьютеров и была очень популярной в 1980-х при автоматизации учрежденческой деятельности. • -X.25 — семейство протоколов сетевого уровня сетевой модели OSI. • Fiber Distributed Data Interface (FDDI) Волоконно-оптический интерфейс передачи данных) — стандарт передачи данных в локальной сети, протянутой на расстоянии до 200 километров. Модель OSI. Канальный Уровень • Для распределенных/глобальных сетей на канальном уровне работают: • Frame relay («ретрансляция кадров», FR) — протокол канального уровня сетевой модели OSI. • HDLC (High-Level Data Link Control) — биториентированный протокол канального уровня сетевой модели OSI, разработанный ISO, может быть использован в соединениях с множественным доступом, но в настоящее время в основном используется в соединениях точка-точка. • PPP ( Point-to-Point Protocol) — двухточечный протокол канального уровня (Data Link) сетевой модели OSI. Обычно используется для установления прямой связи между двумя узлами сети, причем он может обеспечить аутентификацию соединения, шифрование и сжатие данных. Модель OSI. Канальный Уровень • • • • • Для распределенных сетей на канальном уровне работают: Point-to-Point Protocol over Ethernet (PPPoE)— сетевой протокол канального уровня передачи кадров PPP через Ethernet. В основном используется xDSLсервисами. Token ring— Технология локальной вычислительной сети (LAN) кольца с «маркерным доступом» — протокол локальной сети, который находится на канальном уровне (DLL) модели OSI. Он использует специальный трехбайтовый фрейм, названный маркером, который перемещается вокруг кольца. Владение маркером предоставляет право обладателю передавать информацию на носителе. Кадры кольцевой сети с маркерным доступом перемещаются в цикле. ATM (Asynchronous Transfer Mode — асинхронный способ передачи данных) — сетевая высокопроизводительная технология коммутации и мультиплексирования, основанная на передаче данных в виде ячеек (cell) фиксированного размера (53 байта), из которых 5 байтов используется под заголовок. MPLS (Multiprotocol Label Switching) (мультипротокольная коммутация по меткам) представляет собой механизм в высокопроизводительной телекоммуникационной сети, осуществляющий передачу данных от одного узла сети к другому с помощью меток. MPLS позволяет достаточно легко создавать виртуальные каналы между узлами сети. Модель OSI. Сетевой уровень (network layer) • Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей LAN, PAN, MAN, Wi-Fi, просто отдельных компьютеров (host) в единую сеть - называемой составной сетью, ярким примером такой сети является Интернет. Сетевой уровень широко используются в глобальных сетях WAN. • На сетевом уровне - протокольная единица данных. PDU (Protocol Data Unit) носит название пакет (packet). • На рис. 2-07.2 показаны несколько сетей, каждая из которых использует собственную технологию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий каждая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Рис. 2-07. 2Необходимость сетевого уровня Модель OSI. Сетевой уровень (network layer). Технология, позволяющая соединить в единую сеть множество сетей, в общем случае построенных на основе разных технологий, называется технологией межсетевого взаимодействия. Функции сетевого уровня реализуются: • группой протоколов; • специальными устройствами - маршрутизаторами. Функции, выполняемые на сетевом уровне, резко контрастируют с деятельностью канального уровня передачи данных, цель которого была более скромной — просто переместить кадры с одного конца провода на другой. Чтобы добраться до пункта назначения, пакету сетевого уровня может потребоваться преодолеть несколько транзитных участков между маршрутизаторами. Сетевой, уровень должен обладать информацией о топологии подсети связи (то есть о множестве всех маршрутизаторов) и выбирать нужный путь по этой подсети. Он должен также заботиться о том, чтобы нагрузка на маршрутизаторы и линии связи была, по возможности, более равномерной Модель OSI. Сетевой уровень (network layer) Наконец, если источник и приемник находятся в различных сетях, именно сетевой уровень должен уметь решать проблемы, связанные с различиями в сетях. Функции по физическому соединению сетей (LAN, PAN, MAN, Wi-Fi), работающих по разным стандартам, форматам, протоколам, возлагается именно на маршрутизатор. Маршрутизатор имеет несколько сетевых интерфейсов, подобных интерфейсам компьютера, к каждому из которых может быть подключена одна сеть. Таким образом, все интерфейсы маршрутизатора можно считать узлами разных сетей. Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет —PDU сетевого уровня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть, и несет наряду с другой служебной информацией данные об адресе назначения этого пакета. Модель OSI. Сетевой уровень (network layer) Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу составной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными. Каждый узел составной сети, который намерен обмениваться данными с другими узлами составной сети, должен иметь сетевой адрес наряду с адресом, назначенным ему на канальном уровне. Определение маршрута является важной задачей сетевого уровня. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату. Маршрутизатор собирает информацию о топологии связей между сетями и на ее основании строит таблицы коммутации, которые в данном случае носят специальное название таблиц маршрутизации. В соответствии с многоуровневым подходом сетевой уровень для решения своей задачи обращается к нижележащему канальному уровню. Составная сеть - A n i n t e r n e t MAC1 NET-A1 Routing table Ethernet FDDI ID1, ID2 NET-A2 ATM Token Ring Frame Relay Рис. 2-07.2 Пример Составной сети Модель OSI. Сетевой уровень (network layer) Для того чтобы передать пакет через очередную сеть, сетевой уровень помещает его в поле данных кадра соответствующей канальной технологии, указывая в заголовке кадра канальный адрес интерфейса следующего маршрутизатора. Сеть, используя свою канальную технологию, доставляет кадр с инкапсулированным в него пакетом по заданному адресу. Маршрутизатор извлекает пакет из прибывшего кадра и после необходимой обработки передает пакет для дальнейшей транспортировки в следующую сеть, предварительно упаковав его в новый кадр канального уровня в общем случае другой технологии. Сервисы сетевого уровеня (network layer) Сервисы предоставляемые сетевым уровнем транспортному Сетевой уровень предоставляет транспортному уровню сервисы в виде интерфейса между сетевым и транспортным уровнями. При разработке сервисов сетевого уровня ставились следующие задачи (OSI): • Сервисы сетевого уровня не должны зависеть от технологии маршрутизатора. • Транспортный уровень должен быть независим от количества, типа и топологии присутствующих подсетей с маршрутизаторами. • Сетевые адреса, доступные транспортному уровню, должны использовать единую систему нумерации в локальных и глобальных сетях. Реализация сервиса (network layer) • без установления соединения •Если предоставляется сервис без установления соединения, пакеты внедряются в подсеть по отдельности и их маршруты рассчитываются независимо. При этом никакой предварительной настройки не требуется. В этом случае пакеты часто называют дейтаграммами, по аналогии с телеграммами, а подсети, соответственно. — дейтаграммными. На Рис. 2-07.3. показано, что 4-й пакет, продвигается по другому пути. Рис. 2-07.3. Маршрутизация внутри дейтаграммной подсети. Реализация сервиса (network layer) • без установления соединения Рис. 2-07.3. Маршрутизация внутри дейтаграммной подсети. Реализация сервиса (network layer) • Реализация сервиса с установлением соединения Для реализации сервиса с установлением соединения применяется подсеть виртуального канала. Рассмотрим ее работу. В данном случае , маршрут от отправляющей до получающей машины прописывается в настройках системы и хранится в специальных таблицах, встроенных в маршрутизаторы. Один и тот же маршрут используется для всего трафика, проходящего через данное соединение. Когда соединение разрывается, виртуальный канал также прекращает свое существование. При использовании сервиса, ориентированного на установление соединения, каждый пакет включает в себя идентификатор виртуального канала. Рис 2-07.4 Маршрутизация в подсети виртуального канала. Реализация сервиса (network layer) • Реализация сервиса с установлением соединения . Рис 2-07.4 Маршрутизация в подсети виртуального канала. Реализация сервиса (network layer) • Сервис с установлением соединения При использовании сервиса, ориентированного на установление соединения, каждый пакет включает в себя идентификатор виртуального канала. Рассмотрим ситуацию, изображенную на рис. Рис. 2-07.4. Хост H1 установил соединение с хостом Н2. Это соединение запоминается и записывается во всех таблицах маршрутизации. Так, первая строчка таблицы маршрутизатора А говорит о том, что если пакет с идентификатором соединения 1 пришел с хоста H1, то его нужно направить на “С” с идентификатором соединения 1. Точно так же первая запись С направляет пакет на F все с тем же идентификатором соединения 1. Если хост H3 захочет установить соединение с H2. Он выбирает идентификатор соединения 1 (у него просто нет выбора, поскольку это на данный момент единственное существующее соединение) и просит подсеть установить виртуальный канал. Маршрутизатор А еще может отличить пакеты соединения 1, пришедшие с H1 от пакетов соединения 1, пришедших с HЗ, то С такой возможности не имеет. По этой причине А присваивает новый идентификатор соединения исходящему трафику и тем самым создаст второе соединение (см. Рис 2-07.4 ). Эту Процедуру иногда называют коммутацией меток. Функции маршрутизаторов (network layer) Маршрутизаторы помимо рассмотренных основных функций выполняют и другие полезные функции. Так, сетевой уровень решает задачу создания надежных и гибких барьеров на пути нежелательного трафика между сетями. На сетевом уровне определяются два вида протоколов. Первый вид — маршрутизируемые протоколы — реализуют продвижение пакетов через сеть. Второй вид протоколов, который часто относят к сетевому уровню, называется маршрутизирующими протоколами, или протоколами маршрутизации. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений, на основании которой осуществляется выбор маршрута продвижения пакетов. Транспортный уровень На пути от отправителя к получателю пакеты сетевого уровня могут быть искажены или утеряны. Некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень (transport layer) обеспечивает приложениям или верхним уровням стека — прикладному, представления и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транс-портного сервиса от низшего класса от 0 до высшего класса 4. Эти виды сервиса отличаю-тся качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоко-лами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. Транспортный уровень Выбор класса сервиса транспортного уровня зависит: • С одной стороны, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких уровней, чем транспортный. • С другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного, — сетевым, канальным и физическим. Если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, на протоколах более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, включая предваритель-ное установление логического соединения, контроль доставки сообщений по контрольным суммам и циклической нумерации пакетов, установление тайм-аутов доставки и т. п. Транспортный уровень Все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell. Протоколы нижних четырех уровней обобщенно называют сетевым транспортом, или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Оставшиеся три верхних уровня решают задачи предоставления прикладных сервисов, используя нижележащую транспортную подсистему.