Определенно начинать лучше с теории, и затем, плавно, переходить к практике. Поэтому сначала рассмотрим сетевую модель (теоретическая модель), а затем приоткроем занавес на то, как теоретическая сетевая модель вписывается в сетевую инфраструктуру (на сетевое оборудование, компьютеры пользователей, кабели, радиоволны и т.д.).
Итак, сетевая модель - это модель взаимодействия сетевых протоколов. А протоколы в свою очередь, это стандарты, которые определяют каким образом, будут обмениваться данными различные программы.
Поясню на примере: открывая любую страничку в интернете, сервер (где находится открываемая страничка) пересылает в Ваш браузер данные (гипертекстовый документ) по протоколу HTTP. Благодаря протоколу HTTP Ваш браузер, получая данные с сервера, знает, как их требуется обработать, и успешно обрабатывает их, показывая Вам запрашиваемую страничку.
Если Вы еще не в курсе что из себя представляет страничка в интернете, то объясню в двух словах: любой текст на веб-страничке заключен в специальные теги, которые указывают браузеру какой размер текста использовать, его цвет, расположение на странице (слева, справа или по центру). Это касается не только текста, но и картинок, форм, активных элементов и вообще всего контента, т.е. того, что есть на страничке. Браузер, обнаруживая теги, действует согласно их предписанию, и показывает Вам обработанные данные, которые заключены в эти теги. Вы и сами можете увидеть теги этой странички (и этот текст между тегами), для этого зайдите в меню вашего браузера и выберите - просмотр исходного кода.
Не будем сильно отвлекаться, "Сетевая модель" нужная тема для тех, кто хочет стать специалистом. Эта статья состоит из 3х частей и для Вас, Я постарался написать не скучно, понятливо и коротко. Для получения подробностей, или получения дополнительного разъяснения отпишитесь в комментариях внизу страницы, и я непременно помогу Вам.
Мы, как и в Сетевой Академии Cisco рассмотрим две сетевые модели: модель OSI и модель TCP/IP (иногда её называют DOD), а заодно и сравним их.
OSI расшифровывается как Open System Interconnection. На русском языке это звучит следующим образом: Сетевая модель взаимодействия открытых систем (эталонная модель). Эту модель можно смело назвать стандартом. Именно этой модели придерживаются производители сетевых устройств, когда разрабатывают новые продукты.
Сетевая модель OSI состоит из 7 уровней, причем принято начинать отсчёт с нижнего.
Перечислим их:
- 7. Прикладной уровень (application layer)
- 6. Представительский уровень или уровень представления (presentation layer)
- 5. Сеансовый уровень (session layer)
- 4. Транспортный уровень (transport layer)
- 3. Сетевой уровень (network layer)
- 2. Канальный уровень (data link layer)
- 1. Физический уровень (physical layer)
Как говорилось выше, сетевая модель – это модель взаимодействия сетевых протоколов (стандартов), вот на каждом уровне и присутствуют свои протоколы. Перечислять их скучный процесс (да и не к чему), поэтому лучше разберем все на примере, ведь усваиваемость материала на примерах гораздо выше;)
Прикладной уровень
Прикладной уровень или уровень приложений(application layer) – это самый верхний уровень модели. Он осуществляет связь пользовательских приложений с сетью. Эти приложения нам всем знакомы: просмотр веб-страниц (HTTP), передача и приём почты (SMTP, POP3), приём и получение файлов (FTP, TFTP), удаленный доступ (Telnet) и т.д.
Представительский уровень
Представительский уровень или уровень представления данных (presentation layer) – он преобразует данные в соответствующий формат. На примере понять проще: те картинки (все изображения) которые вы видите на экране, передаются при пересылке файла в виде маленьких порций единиц и ноликов (битов). Так вот, когда Вы отправляете своему другу фотографию по электронной почте, протокол Прикладного уровня SMTP отправляет фотографию на нижний уровень, т.е. на уровень Представления. Где Ваша фотка преобразуется в удобный вид данных для более низких уровней, например в биты (единицы и нолики).
Именно таким же образом, когда Ваш друг начнет получать Ваше фото, ему оно будет поступать в виде все тех же единиц и нулей, и именно уровень Представления преобразует биты в полноценное фото, например JPEG.
Вот так и работает этот уровень с протоколами (стандартами) изображений (JPEG, GIF, PNG, TIFF), кодировок (ASCII, EBDIC), музыки и видео (MPEG) и т.д.
Сеансовый уровень
Сеансовый уровень или уровень сессий(session layer) – как видно из названия, он организует сеанс связи между компьютерами. Хорошим примером будут служить аудио и видеоконференции, на этом уровне устанавливается, каким кодеком будет кодироваться сигнал, причем этот кодек должен присутствовать на обеих машинах. Еще примером может служить протокол SMPP (Short message peer-to-peer protocol), с помощью него отправляются хорошо известные нам СМСки и USSD запросы. И последний пример: PAP (Password Authentication Protocol) – это старенький протокол для отправки имени пользователя и пароля на сервер без шифрования.
Больше про сеансовый уровень ничего не скажу, иначе углубимся в скучные особенности протоколов. А если они (особенности) Вас интересуют, пишите письма мне или оставляйте сообщение в комментариях с просьбой раскрыть тему более подробно, и новая статья не заставит себя долго ждать;)
Транспортный уровень
Транспортный уровень (transport layer) – этот уровень обеспечивает надёжность передачи данных от отправителя к получателю. На самом деле всё очень просто, например вы общаетесь с помощью веб-камеры со своим другом или преподавателем. Нужна ли здесь надежная доставка каждого бита переданного изображения? Конечно нет, если потеряется несколько битов из потокового видео Вы даже этого не заметите, даже картинка не изменится (м.б. изменится цвет одного пикселя из 900000 пикселей, который промелькнет со скоростью 24 кадра в секунду).
А теперь приведем такой пример: Вам друг пересылает (например, через почту) в архиве важную информацию или программу. Вы скачиваете себе на компьютер этот архив. Вот здесь надёжность нужна 100%, т.к. если пару бит при закачке архива потеряются – Вы не сможете затем его разархивировать, т.е. извлечь необходимые данные. Или представьте себе отправку пароля на сервер, и в пути один бит потерялся – пароль уже потеряет свой вид и значение изменится.
Таким образом, когда мы смотрим видеоролики в интернете, иногда мы видим некоторые артефакты, задержки, шумы и т.п. А когда мы читаем текст с веб-страницы – потеря (или скжение) букв не допустима, и когда скачиваем программы – тоже все проходит без ошибок.
На этом уровне я выделю два протокола: UDP и TCP. UDP протокол (User Datagram Protocol) передает данные без установления соединения, не подтверждает доставку данных и не делает повторы. TCP протокол (Transmission Control Protocol), который перед передачей устанавливает соединение, подтверждает доставку данных, при необходимости делает повтор, гарантирует целостность и правильную последовательность загружаемых данных.
Следовательно, для музыки, видео, видеоконференций и звонков используем UDP (передаем данные без проверки и без задержек), а для текста, программ, паролей, архивов и т.п. – TCP (передача данных с подтверждением о получении, затрачивается больше времени).
Сетевой уровень
Сетевой уровень (network layer) – этот уровень определяет путь, по которому данные будут переданы. И, между прочим, это третий уровень Сетевой модели OSI, а ведь существуют такие устройства, которые как раз и называют устройствами третьего уровня – маршрутизаторы.
Все мы слышали об IP-адресе, вот это и осуществляет протокол IP (Internet Protocol). IP-адрес – это логический адрес в сети.
На этом уровне достаточно много протоколов и все эти протоколы мы разберем более подробно позже, в отдельных статьях и на примерах. Сейчас же только перечислю несколько популярных.
Как об IP-адресе все слышали и о команде ping – это работает протокол ICMP.
Те самые маршрутизаторы (с которыми мы и будет работать в дальнейшем) используют протоколы этого уровня для маршрутизации пакетов (RIP, EIGRP, OSPF).
Канальный уровень
Канальный уровень (data link layer) – он нам нужен для взаимодействия сетей на физическом уровне. Наверное, все слышали о MAC-адресе, вот он является физическим адресом. Устройства канального уровня – коммутаторы, концентраторы и т.п.
IEEE (Institute of Electrical and Electronics Engineers - Институт инженеров по электротехнике и электронике) определяет канальный уровень двумя подуровнями: LLC и MAC.
LLC – управление логическим каналом (Logical Link Control), создан для взаимодействия с верхним уровнем.
MAC – управление доступом к передающей среде (Media Access Control), создан для взаимодействия с нижним уровнем.
Объясню на примере: в Вашем компьютере (ноутбуке, коммуникаторе) имеется сетевая карта (или какой-то другой адаптер), так вот для взаимодействия с ней (с картой) существует драйвер. Драйвер – это некоторая программа - верхний подуровень канального уровня, через которую как раз и можно связаться с нижними уровнями, а точнее с микропроцессором (железо ) – нижний подуровень канального уровня.
Типичных представителей на этом уровне много. PPP (Point-to-Point) – это протокол для связи двух компьютеров напрямую. FDDI (Fiber Distributed Data Interface) – стандарт передаёт данные на расстояние до 200 километров. CDP (Cisco Discovery Protocol) – это проприетарный (собственный) протокол принадлежащий компании Cisco Systems, с помощью него можно обнаружить соседние устройства и получить информацию об этих устройствах.
Физический уровень
Физический уровень (physical layer) – самый нижний уровень, непосредственно осуществляющий передачу потока данных. Протоколы нам всем хорошо известны: Bluetooth, IRDA (Инфракрасная связь), медные провода (витая пара, телефонная линия), Wi-Fi, и т.д.
Заключение
Вот мы и разобрали сетевую модель OSI. В следующей части приступим к Сетевой модели TCP/IP, она меньше и протоколы те же. Для успешной сдачи тестов CCNA надо провести сравнение и выявить отличия, что и будет сделано.
Для согласования работы устройств сети от разных производителей, обеспечения взаимодействия сетей, которые используют различную среду распространения сигнала создана эталонная модель взаимодействия открытых систем (ВОС). Эталонная модель построена по иерархическому принципу. Каждый уровень обеспечивает сервис вышестоящему уровню и пользуется услугами нижестоящего уровня.
Обработка данных начинается с прикладного уровня. После этого, данные проходят через все уровни эталонной модели, и через физический уровень отправляются в канал связи. На приеме происходит обратная обработка данных.
В эталонной модели OSI вводятся два понятия: протокол и интерфейс .
Протокол – это набор правил, на основе которых взаимодействуют уровни различных открытых систем.
Интерфейс – это совокупность средств и методов взаимодействия между элементами открытой системы.
Протокол определяет правила взаимодействия модулей одного уровня в разных узлах, а интерфейс – модулей соседних уровней в одном узле.
Всего существует семь уровней эталонной модели OSI. Стоит отметить, что в реальных стеках используется меньше уровней. Например, в популярном TCP/IP используется всего четыре уровня. Почему так? Объясним чуть позже. А сейчас рассмотрим каждый из семи уровней в отдельности.
Уровни модели OSI:
- Физический уровень. Определяет вид среды передачи данных, физические и электрические характеристики интерфейсов, вид сигнала. Этот уровень имеет дело с битами информации. Примеры протоколов физического уровня: Ethernet, ISDN, Wi-Fi.
- Канальный уровень. Отвечает за доступ к среде передачи, исправление ошибок, надежную передачу данных. На приеме полученные с физического уровня данные упаковываются в кадры после чего проверяется их целостность. Если ошибок нет, то данные передаются на сетевой уровень. Если ошибки есть, то кадр отбрасывается и формируется запрос на повторную передачу. Канальный уровень подразделяется на два подуровня: MAC (Media Access Control) и LLC (Locical Link Control). MAC регулирует доступ к разделяемой физической среде. LLC обеспечивает обслуживание сетевого уровня. На канальном уровне работают коммутаторы. Примеры протоколов: Ethernet, PPP.
- Сетевой уровень. Его основными задачами являются маршрутизация – определение оптимального пути передачи данных, логическая адресация узлов. Кроме того, на этот уровень могут быть возложены задачи по поиску неполадок в сети (протокол ICMP). Сетевой уровень работает с пакетами. Примеры протоколов: IP, ICMP, IGMP, BGP, OSPF).
- Транспортный уровень. Предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. Выполняет сквозной контроль передачи данных от отправителя до получателя. Примеры протоколов: TCP, UDP.
- Сеансовый уровень. Управляет созданием/поддержанием/завершением сеанса связи. Примеры протоколов: L2TP, RTCP.
- Представительский уровень. Осуществляет преобразование данных в нужную форму, шифрование/кодирование, сжатие.
- Прикладной уровень. Осуществляет взаимодействие между пользователем и сетью. Взаимодействует с приложениями на стороне клиента. Примеры протоколов: HTTP, FTP, Telnet, SSH, SNMP.
После знакомства со эталонной моделью, рассмотрим стек протоколов TCP/IP.
В модели TCP/IP определено четыре уровня. Как видно из рисунка выше – один уровень TCP/IP может соответствовать нескольким уровням модели OSI.
Уровни модели TCP/IP:
- Уровень сетевых интерфейсов. Соответствует двум нижним уровням модели OSI: канальному и физическому. Исходя из этого, понятно, что данный уровень определяет характеристики среды передачи (витая пара, оптическое волокно, радиоэфир), вид сигнала, способ кодирования, доступ к среде передачи, исправление ошибок, физическую адресацию (MAC-адреса). В модели TCP/IP на этом уровне работает протокол Ethrnet и его производные (Fast Ethernet, Gigabit Ethernet).
- Уровень межсетевого взаимодействия. Соответствует сетевому уровню модели OSI. Берет на себя все его функции: маршрутизацию, логическую адресация (IP-адреса). На данном уровне работает протокол IP.
- Транспортный уровень. Соответствует транспортному уровню модели OSI. Отвечает за доставку пакетов от источника до получателя. На данному уровне задействуется два протокола: TCP и UDP. TCP является более надежным, чем UDP за счет создания предварительного соединения, запросов на повторную передачу при возникновении ошибок. Однако, в то же время, TCP более медленный, чем UDP.
- Прикладной уровень. Его главная задача – взаимодействие с приложениями и процессами на хостах. Примеры протоколов: HTTP, FTP, POP3, SNMP, NTP, DNS, DHCP.
Инкапсуляция – это метод упаковки пакета данных, при котором независимые друг от друга служебные заголовки пакета абстрагируются от заголовков нижестоящих уровней путем их включения в вышестоящие уровни.
Рассмотрим на конкретном примере. Пусть мы хотим попасть с компьютера на сайт. Для этого наш компьютер должен подготовить http-запрос на получение ресурсов веб-сервера, на котором хранится нужная нам страница сайта. На прикладном уровне к данным (Data) браузера добавляется HTTP-заголовок. Далее на транспортном уровне к нашему пакету прибавляется TCP-заголовок, содержащий номера портов отправителя и получателя (80 порт – для HTTP). На сетевом уровне формируется IP-заголовок, содержащий IP-адреса отправителя и получателя. Непосредственно перед передачей, на канальном уровне добавляется Ethrnet-заголовок, который содержит физические (MAC-адреса) отправителя и получателя. После всех этих процедур пакет в виде битов информации передается по сети. На приеме происходит обратная процедура. Web-сервер на каждом уровне будет проверять соответствующий заголовок. Если проверка прошла удачно, то заголовок отбрасывается и пакет переходит на верхний уровень. В противном случае весь пакет отбрасывается.
Подписывайтесь на нашу
Эталонная модель OSI
Для наглядности процесс работы сети в эталонной модели OSI разделен на семь уровней. Эта теоретическая конструкция облегчает изучение и понимание довольно сложных концепций. В верхней части модели OSI располагается приложение, которому нужен доступ к ресурсам сети, в нижней - сама сетевая среда. По мере того как данные продвигаются от уровня к уровню вниз, действующие на этих уровнях протоколы постепенно подготавливают их для передачи по сети. Добравшись до целевой системы, данные продвигаются по уровням вверх, причем те же протоколы выполняют те же действия, только в обратном порядке. В 1983 г. Международная организация по стандартизации (International Organization for Standardization, ISO) и Сектор стандартизации телекоммуникаций Международного телекоммуникационного союза (Telecommunication Standardization Sector of International Telecommunication Union, ITU-T) опубликовали документ «The Basic Reference Model for Open Systems Interconnection», где была описана модель распределения сетевых функций между 7 различными уровнями (рис. 1.7). Предполагалось, что эта семиуровневая структура станет основой для нового стека протоколов, но в коммерческой форме он так и не был реализован. Вместо этого модель OSI используется с существующими стеками протоколов в качестве обучающего и справочного пособия. Большая часть популярных в наши дни протоколов появилась до разработки модели OSI, поэтому в точности с ее семиуровневой струк турой они не согласуются. Зачастую в одном протоколе совмещены функции двух или даже нескольких уровней модели, да и границы протоколов часто не соответствуют границам уровней OSI. Тем не менее модель OSI остается отличным наглядным пособием для исследования сетевых процессов, и профессионалы часто связывают функции и протоколы с определенными уровнями.
Инкапсуляция данных
По сути, взаимодействие протоколов, работающих на разных уровнях модели OSI, проявляется в том, что каждый протокол добавляет заголовок (header) или (в одном случае) трейлер (footer) к информации, которую он получил от уровня, расположенного выше. Например, приложение генерирует запрос к сетевому ресурсу. Этот запрос продвигается по стеку протоколов вниз. Когда он достигает транспортного уровня, протоколы этого уровня добавляют к запросу собственный заголовок, состоящий из полей с информацией, специфической для функций данного протокола. Сам исходный запрос становится для протокола транспортного уровня полем данных (полезной нагрузкой). Добавив свой заголовок, протокол транспортного уровня передает запрос сетевому уровню. Протокол сетевого уровня добавляет к заголовку протокола транспортного уровня свой собственный заголовок. Таким образом, для протокола сетевого уровня полезной нагрузкой становятся исходный запрос и заголовок протокола транспортного уровня. Вся эта конструкция становится полезной нагрузкой для протокола канального уровня, который добавляет к ней заголовок и трейлер. Итогом этой деятельности является пакет (packet), готовый для передачи по сети. Когда пакет достигает места назначения, процесс повторяется в обратном порядке. Протокол каждого следующего уровня стека (теперь снизу вверх) обрабатывает и удаляет заголовок эквивалентного протокола передающей системы. Когда процесс завершен, исходный запрос достигает приложения которому он предназначен, в том же виде, в каком он был сгенерирован. Процесс добавления заголовков к запросу (рис. 1.8), сгенериро ванному приложением, называется инкапсуляцией данных (data encapsulation). По сути эта процедура напоминает процесс подготовки письма для отправки по почте. Запрос - это само письмо, а добавление заголовков аналогично вкладыванию письма в конверт, написанию адреса, штемпелеванию и собственно отправке.
Физический уровень
На самом нижнем уровне модели OSI - физическом (physical) - определяются характеристики элементов оборудования сети - сетевая среда, способ установки, тип сигналов, используемых для передачи по сети двоичных данных. Кроме того, на физическом уровне определяется, какой тип сетевого адаптера нужно установить на каждом компьютере и какой использовать концентратор (если это нужно). На физическом уровне мы имеем дело с медным или оптоволоконным кабелем или с каким-либо беспроводным соединением. В ЛВС спецификации физического уровня напрямую связаны с используюемым в сети протоколом канального уровня. Выбрав протокол канального уровня, Вы должны использовать одну из спецификаций физического уровня, поддерживаемую этим протоколом. Например, протокол канального уровня Ethernet поддерживает несколько различных вариантов физического уровня - один из двух типов коаксиального кабеля, любой кабель типа «витая пара», оптоволоконный кабель. Параметры каждого из этих вариантов формируются из многочисленных сведений о требованиях физического уровня, например, к типу кабеля и разъемов, допустимой длине кабелей, числу концентраторов и др. Соблюдение этих требований необходимо для нормальной работы протоколов. Например, в чересчур длинном кабеле система Ethernet может не заметить коллизию пакетов, а если система не в состоянии обнаружить ошибки, она не может и исправить их, результат - потеря данных. Стандартом протокола канального уровня определяются не все аспекты физического уровня. Некоторые из них определяются отдельно. Одна из наиболее часто используемых спецификаций физического уровня описана в документе «Commercial Building Telecommunications Cabling Standard», известном как EIA/TIA 568A. Он опубликован совместно Американским национальным институтом стан дартов (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) (рис. 1.9). Если снова прибегнуть к аналогии с почтой, заголовок и трейлер - это конверт для отправки письма. В них содержатся адреса системы-отправителя и системы-получателя пакета. Для протоколов ЛВС, подобных Ethernet и Token Ring, эти адреса представляют собой 6-байтные шестнадцатеричные строки, присвоенные сетевым адаптерам на заводе-изготовителе. Они, в отличие от адресов, используемых на других уровнях модели OSI, называются аппа
ратными адресами
(hardware address) или МАС-адресами (см. ниже).
Примечание Протоколы различных уровней модели 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).
|
Адресация
Заголовок протокола сетевого уровня, как и заголовок протокола канального уровня, содержит поля с адресами исходной и целевой систем. Однако в данном случае адрес целевой системы принадлежит конечному назначению пакета и может отличаться от адреса получателя в заголовке протокола канального уровня. Например, когда Вы вводите в адресной строке браузера адрес Web-узла, в пакете, сгенерированном Вашим компьютером, в качестве адреса целевой системы сетевого уровня указан адрес Web-сервера, тогда как на канальном уровне на целевую систему указывает адрес маршрутизатора в Вашей ЛВС, обеспечивающего выход в Интернет. В IP используется собственная система адресации, которая совершенно не зависит от адресов канального уровня. Каждому компьютеру в сети с протоколом IP вручную или автоматически назначается 32-битовый IP- адрес, идентифицирующий как сам компьютер, так и сеть, в которой он находится. В IPX же для идентификации самого компьютера используется аппаратный адрес, кроме того, специальный адрес используется для идентификации сети, в которой находится компьютер. В NetBEUI компьютеры различаются по NetBIOS-именам, присваиваемым каждой системе во время ее установки.
Фрагментация
Дейтаграммам сетевого уровня на пути к месту назначения приходится проходить через множество сетей, сталкиваясь при этом со специ фическими свойствами и ограничениями различных протоколов канального уровня. Одно из таких ограничений - максимальный размер пакета, разрешенный протоколом. Например, размер кадра Token Ring может достигать 4500 байт, тогда как размер кадров Ethernet не может превышать 1500 байтов. Когда большая дейтаграмма, сформированная в сети Token Ring, передается в сеть Ethernet, протокол сетевого уровня должен разбить ее на несколько фрагментов размером не более 1500 байт. Этот процесс называется фрагментацией (frag mentation). В процессе фрагментации протокол сетевого уровня разбивает дейтаграмму на фрагменты, размер которых соответствует возможностям используемого протокола канального уровня. Каждый фрагмент становится самостоятельным пакетом и продолжает путь к целевой системе сетевого уровня. Исходная дейтаграмма формируется лишь после того, как места назначения достигнут все фрагменты. Иногда на пути к целевой системе фрагменты, на которые разбита дейтаграмма, приходится фрагментировать повторно.
Маршрутизация
Маршрутизацией (routing) называется процесс выбора в интерсети самого эффективного маршрута для передачи дейтаграмм от системы-отправителя к системе-получателю. В сложных интерсетях, например, в Интернете или больших корпоративных сетях, часто от одного компьютера к другому можно добраться несколькими путями. Проектировщики сетей специально создают избыточные связи, чтобы трафик нашел дорогу к месту назначения даже в случае сбоя одно го из маршрутизаторов. С помощью маршрутизаторов соединяют отдельные ЛВС, входящие в интерсеть. Назначение маршрутизатора - принимать входящий трафик от одной сети и передавать его конкретной системе в другой. В интерсетях различают системы двух видов: оконечные (end systems) и промежуточные (intermediate systems). Оконечные системы являются отправителями и получателями пакетов. Маршрутизатор - промежуточная система. В оконечных системах используются все семь уровней модели OSI, тогда как пакеты, поступающие в промежуточные системы, не поднимаются выше сетевого уровня. Там маршрутизатор обрабатывает пакет и отправляет его вниз по стеку для передачи следующей целевой системе (рис. 1.11).
|
Чтобы верно направить пакет к цели, маршрутизаторы хранят в памяти таблицы с информацией о сети. Эта информация может быть внесена администратором вручную или собрана автоматически с других маршрутизаторов с помощью специализированных протоколов. В состав типичного элемента таблицы маршрутизации входят адрес другой сети и адрес маршрутизатора, через который пакеты должны добираться до этой сети. Кроме того, в элементе таблицы маршрутизации содержится метрика маршрута - условная оценка его эффективности. Если к некой системе имеется несколько маршрутов, маршрутизатор выбирает из них самый эффективный и отправляет дейтаграмму на канальный уровень для передачи маршрутизатору, указанному в элементе таблицы с наилучшей метрикой. В больших сетях маршрутизация может быть необычайно сложным процессом, но чаще всего она осуществляется автоматически и незаметно для пользователя.
Идентификация протокола транспортного уровня
Так же, как в заголовке канального уровня указан протокол сетевого уровня, сгенерировавший и передавший данные, в заголовке сетевого уровня содержится информация о протоколе транспортного уровня, от которого эти данные были получены. В соответствии с этой информацией система-получатель передает входящие дейтаграммы соответствующему протоколу транспортного уровня.
Транспортный уровень
Функции, выполняемые протоколами транспортного (transport) уровня, дополняют функции протоколов сетевого уровня. Часто протоколы этих уровней, используемые для передачи данных, образуют взаи мосвязанную пару, что видно на примере TCP/IP: протокол TCP функционирует на транспортном уровне, IP - на сетевом. В большинстве наборов протоколов имеется два или несколько протоколов транспортного уровня, выполняющих разные функции. Альтернативой TCP является протокол UDP (User Datagram Protocol). В набор протоколов IPX также включено несколько протоколов транспортного уровня, в том числе NCP (NetWare Core Protocol) и SPX (Sequenced Packet Exchange). Разница между протоколами транспортного уровня из определенного набора заключается в том, что некоторые из них ориентированы на соединение, а другие - нет. Системы, использующие протокол, ориентированный на соединение (connection-oriented), перед передачей данных обмениваются сообщениями, чтобы установить связь друг с другом. Это гарантирует, что системы включены и готовы к работе. Протокол TCP, например, ориентирован на соединение. Когда Вы с помощью браузера подключаетесь к серверу Интернета, браузер и сервер для установления связи сначала выполняют так называемое трехшаговое рукопожатие (three-way handshake). Лишь после этого браузер передает серверу адрес нужной Web-страницы. Когда передача данных завершена, системы выполняют такое же рукопожатие для прекращения связи. Кроме того, протоколы, ориентированные на соединение, выполняют дополнительные действия, например, отправляют сигнал подтверждения приема пакета, сегментируют данные, управляют потоком, а также обнаруживают и исправляют ошибки. Как правило, протоколы этого типа используются для передачи больших объемов информации, в которых не должно содержаться ни единого ошибочного бита, например, файлов данных или программ. Дополнительные функции протоколов с ориентацией на соединение гарантируют корректную передачу данных. Вот почему эти протоколы часто называют надежными (reliable). Надежность в данном случае является техническим термином и означает, что каждый передаваемый пакет проверяется на наличие ошибок, кроме того, система-отправитель уведомляется о доставке каждого пакета. Недостаток протоколов этого типа состоит в значительном объеме управляющих данных, которыми обмениваются две системы. Во-первых, дополнительные сообщения передаются при установлении и завершении связи. Во-вторых, заголовок, добавляемый к пакету протоколом с ориентацией на соединение, существенно превосходит по размеру заголовок протокола, не ориентированного на соединение. Например, заголовок протокола TCP/IP занимает 20 байтов, а заголовок UDP - 8 байтов. Протокол, не ориентированный на соединение (connectionless), не устанавливает соединение между двумя системами до передачи данных. Отправитель просто передает информацию целевой системе, не беспокоясь о том, готова ли она принять данные и существует ли эта система вообще. Обычно системы прибегают к протоколам, не ориентированным на соединение, например, к UDP, для коротких транзакций, состоящих только из запросов и ответных сигналов. Ответный сигнал от получателя неявно выполняет функцию сигнала подтверждения о передаче.
Примечание Ориентированные и не ориентированные на соединение протоколы есть не только на транспортном уровне. Например, протоколы сетевого уровня обычно не ориентированы на соединение, по скольку обеспечение надежности связи они возлагают на транспортный уровень.
Протоколы транспортного уровня (как и сетевого и канального уровней) обычно содержат информацию с вышестоящих уровней. Например, в заголовки TCP и UDP включаются номера портов, идентифицирующие приложение, породившее пакет, и приложение, которому он предназначен. На сеансовом (session) уровне начинается существенное расхождение между реально применяемыми протоколами и моделью OSI. В отличие от нижестоящих уровней, выделенных протоколов сеансового уровня не существует. Функции этого уровня интегрированы в протоколы, которые выполняют также функции представительского и прикладного уровней. Транспортный, сетевой, канальный и физический уровни занимаются собственно передачей данных по сети. Протоколы сеансового и вышестоящих уровней к процессу связи отношения не имеют. К сеансовому уровню относятся 22 службы, многие из которых задают способы обмена информацией между системами, включенными в сеть. Наиболее важны службы управления диалогом и разделения диалога. Обмен информацией между двумя системами в сети называется диалогом (dialog). Управление диалогом (dialog control) заключается в выборе режима, в котором системы будут обмениваться сообщениями. Таких режимов два: полудуплексный (two-way alternate, TWA) и дуплексный (two-way simultaneous, TWS). В полудуплексном режиме две системы вместе с данными передают также маркеры. Передавать информацию можно только компьютеру, у которого в данный момент находится маркер. Так удается избежать столкновения сообщений в пути. Дуплексная модель сложнее. Маркеров в ней нет; обе системы могут передавать данные в любой момент, даже одновременно. Разделение диалога (dialog separation) состоит во включении в поток данных контрольных точек (checkpoints), позволяющих синхронизировать работу двух систем. Степень сложности разделения диалога зависит от того, в каком режиме он осуществляется. В полудуп лексном режиме системы выполняют малую синхронизацию, заключающуюся в обмене сообщениями о контрольных точках. В дуплексном режиме системы выполняют полную синхронизацию с помощью главного/активного маркера.
Представительский уровень
На представительском (presentation) уровне выполняется единственная функция: трансляция синтаксиса между различными системами. Иногда компьютеры в сети применяют разные синтаксисы. Представительский уровень позволяет им «договориться» об общем синтаксисе для обмена данными. Устанавливая соединение на представительском уровне, системы обмениваются сообщениями с информа цией о том, какие синтаксисы в них имеются, и выбирают тот, который они будут использовать во время сеанса. У обеих систем, участвующих в соединении, есть абстрактный синтаксис (abstract syntax) - их «родная» форма связи. Абстрактные синтаксисы различных компьютерных платформ могут отличаться. В процессе согласования системы выбирают общий синтаксис передачи данных (transfer syntax). Передающая система преобразует свой абстрактный синтаксис в синтаксис передачи данных, а система-получатель по завершению передачи - наоборот. При необходимости система может выбрать синтаксис передачи данных с дополнительными функциями, например, сжатием или шифрованием данных.
Прикладной уровень
Прикладной уровень - это точка входа, через которую программы получают доступ к модели OSI и сетевым ресурсам. Большинство про токолов прикладного уровня предоставляет службы доступа к сети. Например, протоколом SMTP (Simple Mail Transfer Protocol) большинство программ электронной почты пользуется для отправки сообщений. Другие протоколы прикладного уровня, например, FTP (File Transfer Protocol), сами являются программами. В протоколы прикладного уровня часто включают функции сеансового и представительского уровня. В результате типичный стек протоколов содержит четыре отдельных протокола, которые работают на прикладном, транспортном, сетевом и канальном уровнях.
взаимодействия открытых систем. Иными словами - это определённый стандарт, по которому действуют сетевые технологии.Упомянутая система состоит из семи уровней модели OSI. Каждый протокол работает с протоколами своего уровня либо уровнем ниже, либо выше от себя.
Каждый уровень оперирует определённым типом данных:
- Физический - бит;
- Канальный - кадр;
- Сетевой - пакет;
- Транспортный - сегменты/дейтаграммы;
- Сеансовый - сеанс;
- Представительский - поток;
- Прикладной - данные
Уровни модели OSI
Прикладной уровень (application layer )
Это самый верхний уровень сетевой модели OSI . Его ещё называют уровень приложений. Предназначен для взаимодействия пользователя с сетью. Уровень предоставляет приложениям возможность использования различных сетевых служб.
Функции:
- удалённый доступ;
- почтовый сервис;
- формирование запросов к следующему уровню (уровень представления )
Сетевые протоколы уровня:
- BitTorrent
- HTTP
- SMTP
- SNMP
- TELNET
Уровень представления (presentation layer )
Это второй уровень. По другому называют представительским уровнем. Предназначен для преобразование протоколов, а так же для кодировки и декодировки данных. На данном этапе, запросы доставленные с прикладного уровня, формируются в в вид данных для передачи по сети и наоборот.
Функции:
- сжатие/распаковка данных;
- кодирование/декодирование данных;
- перенаправление запросов
Сетевые протоколы уровня :
- LPP
- NDR
Сеансовый уровень (session layer )
Этот уровень сетевой модели OSI
отвечает за поддержание сеанса связи. Благодаря данному уровню приложения могут взаимодействовать друг с другом на протяжении долгого времени.
Функции:
- предоставление прав
- создание/приостановление/восстановление/завершение связи
Сетевые протоколы уровня :
- ISO-SP
- L2TP
- NetBIOS
- PPTP
- SMPP
Транспортный уровень (transport layer )
Это четвёртый уровень, если вести отсчёт сверху. Предназначен для надёжной передачи данных. При этом, передача не всегда может быть надёжной. Возможны дублирование и недоставка посылки данных.
Сетевые протоколы уровня:
- UDP
- SST
- RTP
Сетевой уровень (network layer )
Данный уровень сетевой модели OSI отвечает за определение наилучшего и кратчайшего маршрута для передачи данных.
Функции:
- присвоение адреса
- отслеживание коллизий
- определение маршрута
- коммутация
Сетевые протоколы уровня:
- IPv4/IPv6
- CLNP
- IPsec
- RIP
- OSPF
Канальный уровень (Data Link layer )
Это шестой уровень, который отвечает за доставку данных между устройствами которые находятся в одной сетевой области.
Функции:
- адресация на уровне аппаратного обеспечения
- контроль за ошибками
- исправление ошибок
Сетевые протоколы уровня:
- SLIP
- LAPD
- IEEE 802.11 wireless LAN,
- FDDI
- ARCnet
Физический уровень (physical layer )
Самый нижний и самый последний уровень сетевой модели OSI . Служит для определения метода передачи данных в физической/электрической среде. Допустим, любой сайт, например "играть онлайн казино http://bestforplay.net ", расположен на каком то сервере, интерфейсы которого тоже передают какой нибудь электрический сигнал по кабелям и проводам.
Функции:
- определение вида передачи данных
- передача данных
Сетевые протоколы уровня:
- IEEE 802.15 (Bluetooth)
- 802.11Wi-Fi
- GSMUm radio interface
- ITU и ITU-T
- EIARS-232
Таблица 7-и уровневой модели OSI
Модель OSI | ||
Тип данных | Уровень | Функции |
Данные | Прикладной | Доступ к сетевым службам |
Поток | Представительский | Представление и шифрование данных |
Сеансы | Сеансовый | Управление сеансом связи |
Сегменты/Дейтаграммы | Транспортный | Прямая связь между конечными пунктами и надежность |
Пакеты | Сетевой | Определение маршрута и логическая адресация |
Кадры | Канальный | Физическая адресация |
Биты | Физический | Работа со средой передачи, сигналами и двоичными данными |
Рис.
5.1.
Взаимодействие узлов локальных сетей происходит на основе протоколов канального уровня. Передача данных в локальных сетях происходит на сравнительно короткие расстояния (внутри зданий или между близко расположенными зданиями), но с высокой скоростью (10 Мбит/с - 100 Гбит/с). Расстояние и скорость передачи данных определяется аппаратурой соответствующих стандартов.
Международным институтом инженеров по электротехнике и радиоэлектронике (Institute of Electrical and Electronics Engineers - IEEE ) было разработано семейство стандартов 802.х, которое регламентирует функционирование канального и физического уровней семиуровневой модели ISO/OSI . Ряд этих протоколов являются общими для всех технологий, например стандарт 802.2, другие протоколы (например, 802.3, 802.3u, 802.5) определяют особенности технологий локальных сетей.
Подуровень LLC реализуется программными средствами . На подуровне LLC существует несколько процедур, которые позволяют устанавливать или не устанавливать связь перед передачей кадров, содержащих данные, восстанавливать или не восстанавливать кадры при их потере или обнаружении ошибок. Подуровень LLC реализует связь с протоколами сетевого уровня , обычно с протоколом IP . Связь с сетевым уровнем и определение логических процедур передачи кадров по сети реализует протокол 802.2. Протокол 802.1 дает общие определения локальных вычислительных сетей, связь с моделью ISO/OSI . Существуют также модификации этого протокола.
Подуровень МАС определяет особенности доступа к физической среде при использовании различных технологий локальных сетей. Каждой технологии МАС-уровня (каждому протоколу: 802.3, 802.3u, 802.3zи др.) соответствует несколько вариантов спецификаций (протоколов) физического уровня ( рис. 5.1). Спецификация технологии МАС-уровня - определяет среду физического уровня и основные параметры передачи данных ( скорость передачи , вид среды, узкополосная или широкополосная).
На канальном уровне передающей стороны формируется кадр , в который инкапсулируется пакет . В процессе инкапсуляции к пакету сетевого протокола, например IP , добавляется заголовок и концевик (трейлер) кадра. Таким образом, кадр любой сетевой технологии состоит из трех частей:
- заголовка ,
- поля данных , где размещен пакет,
- концевика .
На приемной стороне реализуется обратный процесс декапсуляции, когда из кадра извлекается пакет.
Заголовок включает разделители кадров, поля адресов и управления. Разделители кадров позволяют определить начало кадра и обеспечить синхронизацию между передатчиком и приемником. Адреса канального уровня являются физическими адресами. При использовании Ethernet -совместимых технологий адресацию данных в локальных сетях осуществляют МАС-адреса, которые обеспечивают доставку кадра узлу назначения.
Концевик содержит поле контрольной суммы ( Frame Check Sequence - FCS ), которая вычисляется при передаче кадра с использованием циклического кода CRC . На приемной стороне контрольная сумма кадра вычисляется вновь и сравнивается с принятой. Если они совпадают, то считают, что кадр передан без ошибок. При расхождении значений FCS кадр отбрасывается и требуется его повторная передача.
При передаче по сети кадр последовательно проходит целый ряд соединений, характеризующихся разной физической средой. Например, при передаче данных с Узла А на Узел В ( рис. 5.2) данные последовательно проходят через: соединение Ethernet между Узлом А и маршрутизатором А (медь, неэкранированная витая пара ), соединение между маршрутизаторами А и В (волоконно-оптический кабель ), медный кабель последовательного соединения " точка-точка " между маршрутизатором В и беспроводной точкой доступа WAP , беспроводное соединение ( радиоканал ) между WAP и конечным Узлом В. Поэтому для каждого соединения формируется свой кадр специфического формата.
Рис. 5.2.
Пакет, подготовленный Узлом А, инкапсулируется в кадр локальной сети, который передается в маршрутизатор А. Маршрутизатор декапсулирует пакет из принятого кадра, определяет на какой выходной интерфейс передать пакет, затем формирует новый кадр для передачи по оптической среде. Маршрутизатор В декапсулирует пакет из принятого кадра, определяет на какой выходной интерфейс передать пакет, затем формирует новый кадр для передачи по медной среде последовательного соединения " точка-точка ". Беспроводная точка доступа WAP , в свою очередь , формирует свой кадр для передачи данных по радиоканалу на конечный Узел В.
При создании сетей используются различные логические топологии, которые определяют, как узлы общаются через среду, как обеспечивается управление доступом к среде. Наиболее известные логические топологии: " точка-точка " ( point-to-point ), множественного доступа (multiaccess), широковещательная ( broadcast ) и маркерная ( token passing ).
Совместное использование среды несколькими устройствами реализуется на основе двух основных методов:
- метод конкурентного (недетерминированого) доступа (Contention-based Access), когда все узлы сети равноправны, очередность передачи данных не организована. Для передачи данный узел должен прослушать среду, если она свободна, то можно передать информацию. При этом могут возникнуть конфликты (коллизии ), когда два (или более) узла одновременно начинают передачу данных;
- метод контролируемого (детерминированного) доступа (Controlled Access), который обеспечивает узлам очередность доступа к среде для передачи данных.
На ранних этапах создания Ethernet -сетей использовалась топология " шина ", разделяемая среда передачи данных являлась общей для всех пользователей. При этом реализовался метод множественного доступа к общей среде передачи (протокол 802.3). При этом требовался контроль несущей, наличие которой говорило о том, что какой-то узел уже передает данные по общей среде. Поэтому узел, желающий передать данные, должен был дождаться окончания передачи и при освобождении среды попытаться передать данные.
Переданную в сеть информацию может получить любой компьютер , у которого адрес сетевого адаптера NIC совпадает с МАС-адресом назначения передаваемого кадра, или все компьютеры сети при широковещательной передаче. Однако передавать информацию в любой момент времени может только один узел. Прежде чем начать передачу, узел должен убедиться, что общая шина свободна, для чего узел прослушивает среду.
При одновременной передаче данных двумя или более компьютерами возникает конфликт (коллизия ), когда данные передающих узлов накладываются друг на друга, происходит искажение и потеря информации . Поэтому требуется обработка коллизии и повторная передача участвовавших в коллизии кадров.
Подобный метод недетерминированного (ассоциативного) доступа к среде получил название множественного доступа к среде с контролем несущей и обнаружением коллизий ( Carrier Sence Multiply Access