• Уровни эталонной модели osi в правильном порядке. Как работает модель OSI

    Современный мир ИТ - огромная ветвящаяся сложная для понимания структура. Чтобы упростить понимание и улучшить отладку ещё на этапе проектирования протоколов и систем была использована архитектура модульности. Нам гораздо проще выяснить, что проблема в видеочипе, когда видеокарта идет отдельным от остального оборудования устройством. Или заметить проблему в отдельном участке сети, чем перелопачивать всю сеть целиком.

    Отдельно взятый пласт ИТ - сеть - тоже построена модульно. Модель функционирования сети назывется сетевая модель базовой эталонной модели взаимодействия открытых систем ISO/OSI. Кратко - модель OSI.

    Модель OSI состоит из 7 уровней. Каждый уровень абстрагирован от других и ничего не знает о их существовании. Модель OSI можно сравнить с устройством автомобиля: двигатель выполняет свою работу, создавая крутящий момент и отдавая его коробке передач. Двигателю абсолютно без разницы что дальше будет происходить с этим крутящим моментом. Будет он крутить колесо, гусеницу или пропеллер. Точно так же как и колесу нет никакого дела откуда к нему пришел этот крутящий момент - от двигателя или рукоятки, которую крутит механик.

    Здесь необходимо добавить понятие полезной нагрузки. Каждый уровень несет в себе какое-то количество информации. Часть этой информации является служебной для этого уровня, например, адрес. IP-адрес сайта не несет для нас никакой полезной информации. Нам важны только котики, которых нам показывает сайт. Так вот эта полезная нагрузка переносится в той части уровня, который называется protocol data unit (PDU).

    Уровни Модели OSI

    Рассмотрим каждый уровень Модели OSI подробнее.

    1 уровень. Физический (physical ). Единицей нагрузки (PDU ) здесь является бит. Кроме единиц и нулей физический уровень не знает ничего. На этом уровне работают провода, патч панели, сетевые концентраторы (хабы, которые сейчас уже сложно найти в привычных нам сетях), сетевые адаптеры. Именно сетевые адаптеры и ничего более из компьютера. Сам сетевой адаптер принимает последовательность бит и передает её дальше.

    2 уровень. Канальный (data link ). PDU - кадр (frame ). На этом уровне появляется адресация. Адресом является MAC адрес. Канальный уровень ответственен за доставку кадров адресату и их целостность. В привычных нам сетях на канальном уровне работает протокол ARP. Адресация второго уровня работает только в пределах одного сетевого сегмента и ничего не знает о маршрутизации - этим занимается вышестоящий уровень. Соответственно, устройства, работающие на L2 - коммутаторы, мосты и драйвер сетевого адаптера.

    3 уровень. Сетевой (network ). PDU пакет (packet ). Наиболее распространенным протоколом (дальше не буду говорить про “наиболее распространенный” - статья для новичков и с экзотикой они, как правило, не сталкиваются) тут является IP. Адресация происходит по IP-адресам, которые состоят из 32 битов. Протокол маршрутизируемый, то есть пакет способен попасть в любую часть сети через какое-то количество маршрутизаторов. На L3 работают маршрутизаторы.

    4 уровень. Транспортный (transport ). PDU сегмент (segment )/датаграмма (datagram ). На этом уровне появляются понятия портов. Тут трудятся TCP и UDP. Протоколы этого уровня отвечают за прямую связь между приложениями и за надежность доставки информации. Например, TCP умеет запрашивать повтор передачи данных в случае, если данные приняты неверно или не все. Так же TCP может менять скорость передачи данных, если сторона приема не успевает принять всё (TCP Window Size).

    Следующие уровни “правильно” реализованы лишь в RFC. На практике же, протоколы описанные на следующих уровнях работают одновременно на нескольких уровнях модели OSI, поэтому нет четкого разделения на сеансовый и представительский уровни. В связи с этим в настоящее время основным используемым стеком является TCP/IP, о котором поговорим чуть ниже.

    5 уровень. Сеансовый (session ). PDU данные (data ). Управляет сеансом связи, обменом информации, правами. Протоколы - L2TP, PPTP.

    6 уровень. Представительский (presentation ). PDU данные (data ). Преставление и шифрование данных. JPEG, ASCII, MPEG.

    7 уровень. Прикладной (application ). PDU данные (data ). Самый многочисленный и разнообразный уровень. На нем выполняются все высокоуровненвые протоколы. Такие как POP, SMTP, RDP, HTTP и т.д. Протоколы здесь не должны задумываться о маршрутизации или гарантии доставки информации - этим занимаются нижестоящие уровни. На 7 уровне необходима лишь реализации конкретных действий, например получение html-кода или email-сообщения конкретному адресату.

    Заключение

    Модульность модели OSI позволяет проводить быстрое нахождение проблемных мест. Ведь если нет пинга (3-4 уровни) до сайта, нет смысла копаться в вышележащих слоях (TCP-HTTP), когда не отображается сайт. Абстрагировавшись от других уровней проще найти ошибку в проблемной части. По аналогии с автомобилем - мы ведь не проверяем свечи, когда проткнули колесо.

    Модель OSI является эталонной моделью - эдаким сферическим конем в вакууме. Разработка её велась очень долго. Параллельно с ней разрабатывался стек протоколов TCP/IP, акивно применяемый в сетях в настоящее время. Соответственно, можно провести аналогию между TCP/IP и OSI.

    Только начали работать сетевым администратором? Не хотите оказаться сбитым с толку? Наша статья вам пригодится. Слышали, как проверенный временем администратор говорит о сетевых неполадках и упоминает какие-то уровни? Может вас когда-нибудь спрашивали на работе, какие уровни защищены и работают, если вы используете старый брандмауэр? Чтобы разобраться с основами информационной безопасности, нужно понять принцип иерархии модели OSI. Попробуем увидеть возможности данной модели.

    Уважающий себя системный администратор должен хорошо разбираться в сетевых терминах

    В переводе с английского - базовая эталонная модель взаимодействия открытых систем. Точнее, сетевая модель стека сетевых протоколов OSI/ISO. Введена в 1984 году в качестве концептуальной основы, разделившей процесс отправки данных во всемирной паутине на семь несложных этапов. Она не является самой популярной, так как затянулась разработка спецификации OSI. Стек протоколов TCP/IP выгоднее и считается основной используемой моделью. Впрочем, у вас есть огромный шанс столкнуться с моделью OSI на должности системного администратора или в IT-сфере.

    Создано множество спецификаций и технологий для сетевых устройств. В таком разнообразии легко запутаться. Именно модель взаимодействия открытых систем помогает понимать друг друга сетевым устройствам, использующим различные методы общения. Заметим, что наиболее полезна OSI для производителей программного и аппаратного обеспечения, занимающихся проектированием совместимой продукции.

    Спросите, какая же в этом польза для вас? Знание многоуровневой модели даст вам возможность свободного общения с сотрудниками IT-компаний, обсуждение сетевых неполадок уже не будет гнетущей скукой. А когда вы научитесь понимать, на каком этапе произошёл сбой, сможете легко находить причины и значительно сокращать диапазон своей работы.

    Уровни OSI

    Модель содержит в себе семь упрощённых этапов:

    • Физический.
    • Канальный.
    • Сетевой.
    • Транспортный.
    • Сеансовый.
    • Представительский.
    • Прикладной.

    Почему разложение на шаги упрощает жизнь? Каждый из уровней соответствует определённому этапу отправки сетевого сообщения . Все шаги последовательны, значит, функции выполняются независимо, нет необходимости в информации о работе на предыдущем уровне. Единственная необходимая составляющая - способ получения данных с предшествующего шага, и каким образом пересылается информация на последующий шаг.

    Перейдём к непосредственному знакомству с уровнями.

    Физический уровень

    Главная задача первого этапа - пересылка битов через физические каналы связи. Физические каналы связи - устройства, созданные для передачи и приёма информационных сигналов. К примеру, оптоволокно, коаксиальный кабель или витая пара. Пересылка может проходить и через беспроводную связь. Первый этап характеризуется средой передачи данных: защитой от помех, полосой пропускания, волновым сопротивлением. Так же задаются качества электрических конечных сигналов (вид кодирования, уровни напряжения и скорость передачи сигнала) и подводятся к стандартным типам разъёмов, назначаются контактные соединения.

    Функции физического этапа осуществляются абсолютно на каждом устройстве, подключённом к сети. Например, сетевой адаптер реализовывает эти функции со стороны компьютера. Вы могли уже столкнуться с протоколами первого шага: RS -232, DSL и 10Base-T, определяющими физические характеристики канала связи.

    Канальный уровень

    На втором этапе связываются абстрактный адрес устройства с физическим устройством, проверяется доступность среды передачи. Биты сформировываются в наборы - кадры. Основная задача канального уровня - выявление и правка ошибок. Для корректной пересылки перед и после кадра вставляются специализированные последовательности битов и добавляется высчитанная контрольная сумма . Когда кадр достигает адресата, вновь высчитывается контрольная сумма, уже прибывших данных, если она совпадает с контрольной суммой в кадре, кадр признаётся правильным. В ином случае появляется ошибка, исправляемая через повторную передачу информации.

    Канальный этап делает возможным передачу информации, благодаря специальной структуре связей. В частности, через протоколы канального уровня работают шины, мосты, коммутаторы. В спецификации второго шага входят: Ethernet, Token Ring и PPP. Функции канального этапа в компьютере исполняют сетевые адаптеры и драйверы к ним.

    Сетевой уровень

    В стандартных ситуациях функций канального этапа не хватает для высококачественной передачи информации. Спецификации второго шага могут передавать данные лишь между узлами с одинаковой топологией, к примеру, дерева. Появляется необходимость в третьем этапе. Нужно образовать объединённую транспортную систему с разветвлённой структурой для нескольких сетей, обладающих произвольной структурой и различающихся методом пересылки данных.

    Если объяснить по-другому, то третий шаг обрабатывает интернет-протокол и исполняет функцию маршрутизатора: поиск наилучшего пути для информации. Маршрутизатор - устройство, собирающее данные о структуре межсетевых соединений и передающее пакеты в сеть назначения (транзитные передачи - хопы). Если вы сталкиваетесь с ошибкой в IP-адресе, то это проблема, возникшая на сетевом уровне. Протоколы третьего этапа разбиваются на сетевые, маршрутизации или разрешения адресов: ICMP, IPSec, ARP и BGP.

    Транспортный уровень

    Чтобы данные дошли до приложений и верхних уровней стека, необходим четвёртый этап. Он предоставляет нужную степень надёжности передачи информации. Значатся пять классов услуг транспортного этапа. Их отличие заключается в срочности, осуществимости восстановления прерванной связи, способности обнаружить и исправить ошибки передачи. К примеру, потеря или дублирование пакетов.

    Как выбрать класс услуг транспортного этапа? Когда качество каналов транспортировки связи высокое, адекватным выбором окажется облегчённый сервис. Если каналы связи в самом начале работают небезопасно, целесообразно прибегнуть к развитому сервису, который обеспечит максимальные возможности для поиска и решения проблем (контроль поставки данных, тайм-ауты доставки). Спецификации четвёртого этапа: TCP и UDP стека TCP/IP, SPX стека Novell.

    Объединение первых четырёх уровней называется транспортной подсистемой. Она сполна предоставляет выбранный уровень качества.

    Сеансовый уровень

    Пятый этап помогает в регулировании диалогов. Нельзя, чтобы собеседники прерывали друг друга или говорили синхронно. Сеансовый уровень запоминает активную сторону в конкретный момент и синхронизирует информацию, согласуя и поддерживая соединения между устройствами. Его функции позволяют возвратиться к контрольной точке во время длинной пересылки и не начинать всё заново. Также на пятом этапе можно прекратить соединение, когда завершается обмен информацией. Спецификации сеансового уровня: NetBIOS.

    Представительский уровень

    Шестой этап участвует в трансформации данных в универсальный распознаваемый формат без изменения содержания. Так как в разных устройствах утилизируются различные форматы, информация, обработанная на представительском уровне, даёт возможность системам понимать друг друга, преодолевая синтаксические и кодовые различия. Кроме того, на шестом этапе появляется возможность шифровки и дешифровки данных, что обеспечивает секретность. Примеры протоколов: ASCII и MIDI, SSL.

    Прикладной уровень

    Седьмой этап в нашем списке и первый, если программа отправляет данные через сеть. Состоит из наборов спецификаций, через которые юзер , Web-страницам. Например, при отправке сообщений по почте именно на прикладном уровне выбирается удобный протокол. Состав спецификаций седьмого этапа очень разнообразен. К примеру, SMTP и HTTP, FTP, TFTP или SMB.

    Вы можете услышать где-нибудь о восьмом уровне модели ISO. Официально, его не существует, но среди работников IT-сферы появился шуточный восьмой этап. Всё из-за того, что проблемы могут возникнуть по вине пользователя, а как известно, человек находится у вершины эволюции, вот и появился восьмой уровень.

    Рассмотрев модель OSI, вы смогли разобраться со сложной структурой работы сети и теперь понимаете суть вашей работы. Всё становится довольно просто, когда процесс разбивается на части!

    Понятие “открытая система” и проблемы стандартизации

    Универсальный тезис о пользе стандартизации, справедливый для всех отраслей, в компьютерных сетях приобретает особое значение. Суть сети - это соединение разного оборудования, а значит, проблема совместимости является одной из наи­более острых. Без принятия всеми производителями общепринятых правил пост­роения оборудования прогресс в деле “строительства” сетей был бы невозможен. Поэтому все развитие компьютерной отрасли в конечном счете отражено в стан­дартах - любая новая технология только тогда приобретает “законный” статус, когда ее содержание закрепляется в соответствующем стандарте.

    В компьютерных сетях идеологической основой стандартизации является мно­гоуровневый подход к разработке средств сетевого взаимодействия. Именно на основе этого подхода была разработана стандартная семиуровневая модель взаи­модействия открытых систем, ставшая своего рода универсальным языком сетевых специалистов.

    Многоуровневый подход. Протокол. Интерфейс. Стек протоколов

    Организация взаимодействия между устройствами в сети является сложной зада­чей. Как известно, для решения сложных задач используется универсальный при­ем - декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей (рис. 1.20). Процедура декомпозиции включает в себя четкое определение функций каждого модуля, решающего отдельную задачу, и интер­фейсов между ними. В результате достигается логическое упрощение задачи, а кроме того, появляется возможность модификации отдельных модулей без изменения остальной части системы.

    При декомпозиции часто используют многоуровневый подход. Он заключается в следующем. Все множество модулей разбивают на уровни. Уровни образуют иерар­хию, то есть имеются вышележащие и нижележащие уровни (рис. 1.21). Множе­ство модулей, составляющих каждый уровень, сформировано таким образом, что для выполнения своих задач они обращаются с запросами только к модулям не­посредственно примыкающего нижележащего уровня. С другой стороны, результа­ты работы всех модулей, принадлежащих некоторому уровню,могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая деком­позиция задачи предполагает четкое определение функции каждого уровня и интерфейсов между уровнями. Интерфейс определяет набор функций, которые нижележащий уровень предоставляет вышележащему. В результате иерархической декомпозиции достигается относительная независимость уровней, а значит, и воз­можность их легкой замены.

    При этом модули нижне­го уровня могут, например, решать все вопросы, связанные с надежной передачей электрических сигналов между двумя соседними узлами. Модули более высокого уровня организуют транспортировку сообщений в пределах всей сети, пользуясь для этого средствами упомянутого нижележащего уровня. А на верхнем уровне работают модули, предоставляющие пользователям доступ к различным службам - файловой, печати и т. п. Конечно, это только один из множествавозможных вариантов деления общей задачи организации сетевого взаимодействия на частные под­задачи.

    Многоуровневый подход к описанию и реализации функций системы применя­ется не только в отношении сетевых средств. Такая модель функционирования используется, например, в локальных файловых системах, когда поступивший за­прос на доступ к файлу последовательно обрабатывается несколькими программ­ными уровнями (рис. 1.22). Запрос вначале анализируется верхним уровнем, на котором осуществляется последовательный разбор составного символьного имени файла и определение уникального идентификатора файла. Следующий уровень находит по уникальному имени все основные характеристики файла: адрес, атри­буты доступа и т. п. Затем на более низком уровне осуществляется проверка прав доступа к этому файлу, а далее, после расчета координат области файла, содержа­щей требуемые данные, выполняется физический обмен с внешним устройством с помощью драйвера диска.

    Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют две машины, то есть в данном случае необходимо организовать согласованную работу двух “иерархий”. При передаче сообщений оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах контроля достоверности и т. п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого - уровня передачи битов - до самого высокого, реализующего сервис для пользователей сети.

    На рис. 1.23 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями. Процедура взаимо­действия этих двух узлов может быть описана в виде набора правил взаимодей­ствия каждой пары соответствующих уровней обеих участвующих сторон.

    Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколом.

    Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом. Интерфейс определяет набор сервисов, предо­ставляемый данным уровнем соседнему уровню.

    В сущности, протокол и интер­фейс выражают одно и то же понятие, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия моду­лей одного уровня в разных узлах, а интерфейсы - модулей соседних уровней в одном узле.

    Средства каждого уровня должны отрабатывать, во-первых, свой собственный протокол, а во-вторых, интерфейсы с соседними уровнями.

    Иерархически организованный набор протоколов, достаточный для организа­ции взаимодействия узлов в сети, называется стеком коммуникационных прото­колов.

    Коммуникационные протоколы могут быть реализованы как программно, так и аппаратно. Протоколы нижних уровней часто реализуются комбинацией программ­ных и аппаратных средств, а протоколы верхних уровней - как правило, чисто программными средствами.

    Программный модуль, реализующий некоторый протокол, часто для краткости также называют “протоколом”.При этом соотношение между протоколом - фор­мально определенной процедурой и протоколом - программным модулем, реали­зующим эту процедуру, аналогично соотношению между алгоритмом решения некоторой задачи и программой, решающей эту задачу.

    Понятно, что один и тот же алгоритм может быть запрограммирован с разной степенью эффективности. Точно так же и протокол может иметь несколько про­граммных реализации. Именно поэтому при сравнении протоколов следует учиты­вать не только логику их работы, но и качество программных решений. Более того, на эффективность взаимодействия устройств в сети влияет качество всей совокуп­ности протоколов, составляющих стек, в частности, насколько рационально рас­пределены функции между протоколами разных уровней и насколько хорошо определены интерфейсы междуними.

    Модель OSI

    Из того, что протокол является соглашением, принятым двумя взаимодействую­щими объектами, в данном случае двумя работающими в сети компьютерами, со­всем не следует, что он обязательно является стандартным. Но на практике при реализации сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты.

    В начале 80-х годов ряд международных организаций по стандартизации - ISO, ITU-T и некоторые другие, разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection , OSI ) или моделью OSI. Модель OSI определя­ет различные уровни взаимодействия систем, дает им стандартные имена и указы­вает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютер­ных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.

    В модели OSI (рис. 1.25) средства взаимодействия делятся на семь уровней:

      Прикладной

      Представительный

      Сеансовый

      Транспортный

      Сетевой

      Канальный

      Физический.

    Каждый уровень имеет дело с одним определенным аспектом взаимо­действия сетевых устройств.

    Модель OSI описывает только системные средства взаимодействия, реализуе­мые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Свои собственные протоколы взаимодействия приложения реали­зуют, обращаясь к системным средствам. Поэтому необходимо различать уровень взаимодействия приложений и прикладной уровень.

    Следует также иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI. Например, некоторые СУБД имеют встро­енные средства удаленного доступа к файлам. В этом случае приложение, выпол­няя доступ к удаленным ресурсам, не использует системную файловую службу: оно обходит верхние уровни модели OSI и обращается напрямую к системным средствам, ответственным за транспортировку сообщений по сети, которые распо­лагаются на нижних уровнях модели OSI.

    Итак, пусть приложение обращается с запросом к прикладному уровню, напри­мер к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата. Обычное сооб­щение состоит из заголовка и поля данных. Заголовок содержит служебную информацию, которую необходимо передать через сеть прикладному уровню ма­шины-адресата, чтобы сообщить ему, какую работу надо выполнить. В нашем слу­чае заголовок, очевидно, должен содержать информацию о месте нахождения файла и о типе операции, которую необходимо над ним выполнить. Поле данных сообще­ния может быть пустым или содержать какие-либо данные, например те, которые необходимо записать в удаленный файл. Но для того чтобы доставить эту ин­формацию по назначению, предстоит решить еще много задач, ответственность за которые несут нижележащие уровни.

    После формирования сообщения прикладной уровень направляет его вниз по стеку представительному уровню. Протокол представительного уровня на основа­нии информации, полученной из заголовка прикладного уровня, выполняет требу­емые действия и добавляет к сообщению собственную служебную информацию - заголовок представительного уровня, в котором содержатся указания для протоко­ла представительного уровня машины-адресата. Полученное в результате сообще­ние передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок, и т. д. (Некоторые реализации протоколов помещают служебную ин­формацию не только в начале сообщения в виде заголовка, но и в конце, в виде так называемого “концевика”-.) Наконец, сообщение достигает нижнего, физического уровня, который собственно и передает его по линиям связи машине-адресату. К этому моменту сообщение “обрастает” заголовками всех уровней (рис. 1.26).

    Когда сообщение по сети поступает на машину-адресат, оно принимается ее физическим уровнем и последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует и обрабатываетзаголовок своего уровня, выполняя соответствующие данному уровню функции, а затем удаляет этот заголовок и пе­редает сообщение вышележащему уровню.

    Наряду с термином сообщение (message ) существуют и другие термины, приме­няемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которымиимеют дело протоколы разных уровней, используется общее название протокольный блок данных ( Protocol Data Unit , PDU ). Для обозначения блоков данных определенныхуровней- часто используются специальные названия: кадр (frame), пакет (packet), дейта­грамма (datagram), сегмент (segment).

    В модели OSI различаются два основных типа протоколов.В протоколах с установлением соединения (connection - oriented ) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать неко­торые параметры протокола, которые они будут использовать приобмене данны­ми.После завершения диалога они должны разорвать этосоединение. Телефон - это примервзаимодействия, основанного на установлениисоединения.

    Вторая группа протоколов - протоколы без предварительного установления со­единения (connectionless ). Такие протоколы называются также дейтаграммнылш про­токолами. Отправитель просто передает сообщение, когда оно готово. Опускание письма в почтовый ящик - это пример связи без предварительного установления соединения. При взаимодействии компьютеров используются протоколы обоих типов.

    Уровни модели OSI

    Физический уровень

    физический уровень (Physical layer) имеет дело с передачей битов по физическим каналам связи, таким, например, как коаксиальный кабель, витая пара, оптоволо­конный кабель или цифровой территориальный канал. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, передающих диск­ретную информацию, например, крутизна фронтов импульсов, уровни напряже­ния или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме этого, здесь стандартизуются типы разъемов и назначение каждого контакта.

    Функции физического уровня реализуются во всех устройствах, подключен­ных к сети. Со стороны компьютера функции физического уровнявыполняютсясетевым адаптером или последовательным портом.

    Примером протокола физического уровняможет служить спецификация1OBase- Tтехнологии Ethernet, которая определяет в качестве используемого кабеля неэкра­нированную витую пару категории 3 с волновым сопротивлением100 Ом, разъемRJ-45, максимальную длину физического сегмента 100 метров,манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов.

    Канальный уровень

    На физическом уровне просто пересылаются биты. При этом не учитывается, что в некоторых сетях, в которых линии связи используются (разделяются) поперемен­но несколькими парами взаимодействующих компьютеров, физическая среда пе­редачи может быть занята. Поэтому одной из задач канального уровня (Data Link layer) является проверка доступности среды передачи. Другой задачей канальногоуровня является реализация механизмов обнаружения и коррекции ошибок.Дляэтого на канальном уровне биты группируются в наборы, называемые кадрами (frames ). Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и конец каждого кадра, для его выделения, а также вычисляет контрольную сумму, обрабатывая всебайтыкадра определенным способом и добавлял контрольную сумму к кадру. Когда кадр приходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпада­ют, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. Канальный уровеньможет не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров. Необходимо отметить, что функция исправления ошибок не является обя­зательной для канального уровня, поэтому в некоторых протоколах этого уровня она отсутствует, например, в Ethernet и frame relay.

    В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологи­ей связей, именно той топологией, для которой он был разработан. К таким типо­вым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда, а также структуры, полученные из них с помощью мостов и коммутаторов. Примерами протоколов канального уров­ня являются протоколы Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.

    В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канально­го уровня реализуются совместными усилиями сетевых адаптеров и их драйверов.

    В глобальных сетях, которые редко обладают регулярной топологией, каналь­ный уровень часто обеспечивает обмен сообщениями только между двумя соседни­ми компьютерами, соединенными индивидуальной линией связи. Примерами протоколов “точка-точка” (как часто называют такие протоколы) могут служить широко распространенные протоколы РРР и LAP-B. В таких случаях для достав­ки сообщений между конечными узлами через всю сеть используются средства сетевого уровня. Именно так организованы сети Х.25. Иногда в глобальных сетях функции канального уровня в чистом виде выделить трудно, так как в одном и том же протоколе они объединяются с функциями сетевого уровня. Примерами такого подхода могут служить протоколы технологий АТМ и frame relay.

    В целом канальный уровень представляет собой весьма мощный и законченный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня оказываются самодостаточными транспортными средствами и могут допускать работу поверх них непосредственно протоколов при­кладного уровня или приложений, без привлечения средств сетевого и транспорт­ного уровней. Например, существует реализация протокола управления сетью SNMP непосредственно поверх Ethernet, хотя стандартно этот протокол работает поверх сетевого протокола IP и транспортного протокола UDP. Естественно, что примене­ние такой реализации будет ограниченным - она не подходит для составных сетей разных технологий, например Ethernet и Х.25, и даже для такой сети, в которой во всех сегментах применяется Ethernet, но между сегментами существуют петлевид-ные связи. А вот в двухсегментной сети Ethernet, объединенной мостом, реализа­ция SNMP над канальным уровнем будет вполне работоспособна.

    Тем не менее, для обеспечения качественной транспортировки сообщений в се­тях любых топологий и технологий функций канального уровня оказывается недо­статочно, поэтому в модели OSI решение этой задачи возлагается на два следующих уровня - сетевой и транспортный.

    Сетевой уровень

    Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причемэти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Начнем их рассмотрение на примере объединения локальных сетей.

    Протоколы канального уровня локальных сетей обеспечивают доставку данных между любыми узлами только в сети с соответствующей типовой топологией, на­пример топологией иерархической звезды. Это очень жесткое ограничение, кото­рое не позволяет строить сети с развитой структурой, например, сети, объединяющие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых существуют избыточные связи между узлами. Можно было бы усложнять прото­колы канального уровня для поддержания петлевидных избыточных связей, но принцип разделения обязанностей между уровнями приводит к другому решению. Чтобы с одной стороны сохранить простоту процедур передачи данных для типо­вых топологии, а с другой допустить использование произвольных топологий, вво­дится дополнительный сетевой уровень.

    На сетевом уровне сам термин сеть наделяют специфическим значением. В дан­ном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии.

    Внутри сети доставка данных обеспечивается соответствующим канальным уров­нем, а вот доставкой данных между сетями занимается сетевой уровень, который и поддерживает возможность правильного выбора маршрута передачи сообщения даже в том случае, когда структура связей между составляющими сетями имеет характер, отличный от принятого в протоколах канального уровня.

    Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор - это устройство, которое собирает инфор­мацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно со­вершить некоторое количество транзитных передач между сетями, или хопов (от hop - прыжок), каждый раз, выбирая подходящий маршрут. Таким образом, марш­рут представляет собой последовательность маршрутизаторов, через которые про­ходит пакет.

    На рис. 1.27 показаны четыре сети, связанные тремя маршрутизаторами. Меж­ду узлами А и В данной сети пролегают два маршрута: первый через маршрутиза­торы 1 и 3, а второй через маршрутизаторы 1,2 и 3.

    Проблема выбора наилучшего пути называется маршрутизацией, и ее решение является одной из главных задач сетевого уровня. Эта проблема осложняется тем, что самый короткий путь не всегда самый лучший. Часто критерием при выборе маршрута является время передачи данных по этому маршруту; оно зависит от пропускной способности каналов связи и интенсивности графика, которая может изменяться с течением времени. Некоторые алгоритмы маршрутизации пытаются приспособиться к изменению нагрузки, в то время как другие принимают решения на основе средних показателей за длительное время. Выбор маршрута может осу­ществляться и по другим критериям, например надежности передачи.

    В общем случае функции сетевого уровня шире, чем функции передачи сооб­щений по связям с нестандартной структурой, которые мы сейчас рассмотрели на примере объединения нескольких локальных сетей. Сетевой уровень решает также задачи согласования разных технологии, упрощения адресации в крупных сетях и создания надежных и гибких барьеров на пути нежелательного трафика между сетями.

    Сообщения сетевого уровня принято называть пакетами (packets ). При органи­зации доставки пакетов на сетевом уровне используется понятие “номер сети”. В этом случае адрес получателя состоит из старшей части - номера сети и млад­шей - номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину “сеть” на сетевом уровне можно дать и другое, более формальное определение: сеть - это совокупность узлов, сетевой ад­рес которых содержит один и тот же номер сети.

    На сетевом уровне определяются два вида протоколов. Первый вид - сетевые протоколы (routedprotocols ) - реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршру­тизации (routing protocols ). С помощью этих протоколов маршрутизаторы собира­ют информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также" программ­ными и аппаратными средствами маршрутизаторов.

    На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов - Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют их сути.

    Примерами протоколов сетевого уровня являются протокол межсетевого взаи­модействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

    Транспортный уровень

    На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие,которые предпочитают сразу иметь дело с надежнымсоедине­нием. Транспортный уровень (Transport layer) обеспечивает приложениям или верх­нимуровням стека - прикладному и сеансовому - передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между раз­личными прикладными протоколами через общий транспортный протокол, а глав­ное - способностью к обнаружению и исправлению ошибок передачи,таких как искажение, потеря и дублирование пакетов.

    Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими прило­жениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного - сетевым, канальным и физическим. Так, например, если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уров­ня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней изначально очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя макси­мум средств, для обнаружения и устранения ошибок, - с помощью предвари­тельного установления логического соединения, контроля доставки сообщений по контрольным суммам и циклической нумерации пакетов, установления тайм-аутов доставки и т. п.

    Как правило, все протоколы, начиная с транспортного уровня и выше, реализу­ются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно при­вести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

    Протоколы нижних четырех уровней обобщенно называют сетевым транспор­том или транспортной подсистемой, так как они полностью решают задачу транс­портировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имею­щейся транспортной подсистемы.

    Сеансовый уровень

    Сеансовыйуровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней конт­рольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоко­лов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.

    Представительный уровень

    Представительный уровень (Presentation layer) имеет дело с формой представле­ния передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной си­стемы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне может выполняться шифрование и де­шифрование данных, благодаря которому секретность обмена данными обеспечи­вается сразу для всех прикладных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сооб­щениями для протоколов прикладного уровня стека TCP/IP.

    Прикладной уровень

    Прикладной уровень (Application layer) - это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают до­ступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помо­щью протокола электронной почты. Единица данных, которой оперирует приклад­ной уровень, обычно называется сообщением (message ).

    Существует очень большое разнообразие служб прикладного уровня. Приведем в качестве примера хотя бы несколько наиболее распространенных реализации файловых служб: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

    Сетезависимые и сетенезависимые уровни

    Функции всех уровней модели OSI могут быть отнесены к одной из двух групп:

    либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями.

    Три нижних уровня - физический, канальный и сетевой - являются сетезависимыми, то есть протоколы этих уровней тесно связаны с технической реализаци­ей сети и используемым коммуникационным оборудованием. Например, переход на оборудование FDDI означает полную смену протоколов физического и каналь­ного уровней во всех узлах сети.

    Три верхних уровня - прикладной, представительный и сеансовый - ориенти­рованы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют какие бы то ни было изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet на высокоскоростную технологию lOOVG-AnyLAN не по­требует никаких изменений в программных средствах, реализующих функции при­кладного, представительного и сеансового уровней.

    Транспортный уровень является промежуточным, он скрывает все детали функ­ционирования нижних уровней от верхних. Это позволяет разрабатывать прило­жения, не зависящие от технических средств непосредственной транспортировки сообщений.

    На рис. 1.28 показаны уровни моделиOSI, на которых работают различные элементы сети. Компьютер с установленной на нем сетевой ОС взаимодейству­ет с другим компьютером с помощью протоколов всех семи уровней.Этовзаимодействие компьютеры осуществляют опосредовано через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа коммуникационное устройство может работать либо только на физическом уровне (повторитель), либо на физическом и канальном (мост), либо на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор).

    На рис. 1.29 показано соответствие функций различных коммуникационных устройств уровням модели OSI.

    Модель OSI представляет хотя и очень важную, но только одну из многих мо­делей коммуникаций. Эти модели и связанные с ними стеки протоколов могут отличаться количеством уровней, их функциями, форматами сообщений, службами, поддерживаемыми на верхних уровнях, и прочими параметрами.

    Для согласования работы устройств сети от разных производителей, обеспечения взаимодействия сетей, которые используют различную среду распространения сигнала создана эталонная модель взаимодействия открытых систем (ВОС). Эталонная модель построена по иерархическому принципу. Каждый уровень обеспечивает сервис вышестоящему уровню и пользуется услугами нижестоящего уровня.

    Обработка данных начинается с прикладного уровня. После этого, данные проходят через все уровни эталонной модели, и через физический уровень отправляются в канал связи. На приеме происходит обратная обработка данных.

    В эталонной модели 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. В статье будут ещё рисунки, но первый предлагаю считать основным:



    Таблица состоит из двух колонок, на первоначальном этапе нас интересует лишь правая. Читать таблицу будем снизу вверх (а как иначе:)). На самом деле это не моя прихоть, а делаю так для удобства усвоения информации - от простого к сложному. Поехали!


    В правой части вышеозначенной таблицы снизу вверх показн путь данных, передаваемых по сети (например, от вашего домашнего роутера до вашего комьютера). Уточнение - уровни OSI снизу вверх, то это будет путь данных на принимающей стороне, если сверху вниз, то наоборот - отправляющей. Надеюсь, пока понятно. Чтобы развеять окончательно сомнения, вот вам ещё схемка для наглядности:



    Чтобы проследить путь данных и происходящие с ними изменения по уровням, достаточно представить, как они движутся вдоль синей линии на схеме, сначала продвигаясь сверху вниз по уровням OSI от первого компьютера, затем снизу вверх ко второму. Теперь более детально разберём каждый из уровней.


    1) Физический (phisical) - к нему относится так называемая "среда передачи данных", т.е. провода, оптический кабель, радиоволна (в случае безпроводных соединений) и подобные. Например, если ваш компьютер подключен к интернету по кабелю, то за качество передачи данных на первом, физическом уровне, отвечают провода, контакты на конце провода, контакты разъёма сетевой карты вашего компьютера, а также внутренние электрические схемы на платах компьютера. У сетевых инженеров есть понятие "проблема с физикой" - это означает, что специалист усмотрел виновником "непередачи" данных устройство физического уровня, например где-то оборван сетевой кабель, или низкий уровень сигнала.


    2) Канальный (datalink) - тут уже намного интереснее. Для понимания канального уровня нам придётся сначала усвоить понятие MAC-адреса, поскольку именно он будет главным действующим лицом в этой главе:). MAC-адрес ещё называют "физическим адресом", "аппаратным адресом". Представляет он собой набор из 12-и символов в шестнадцатиричной системе исчисления, разделённые на 6 октетов тире или двоеточием, например 08:00:27:b4:88:c1. Нужен он для однозначной идентификации сетевого устройства в сети. Теоритически, MAC-адрес является глобально уникальным, т.е. нигде в мире такого адреса быть не может и он "зашивается" в сетевое устройство на стадии производства. Однако, есть несложные способы его сменить на произвольный, да к тому же некоторые недобросовестные и малоизвестные производители не гнушаются тем, что клепают например, партию из 5000 сетевых карт с ровно одним и тем же MAC`ом. Соответственно, если как минимум два таких "брата-акробата" появятся в одной локальной сети, начнутся конфликты и проблемы.


    Итак, на канальном уровне данные обрабатываются сетевым устройством, которое интересует лишь одно - наш пресловутый MAC-адрес, т.е. его интересует адресат доставки. К устройствам канального уровня относятся например, свитчи (они же коммутаторы) - они держат в своей памяти MAC-адреса сетевых устройств, с которыми у них есть непосредственная, прямая связь и при получении данных на свой принимающий порт сверяют MAC-адреса в данных с MAC-адресами, имеющимися в памяти. Если есть совпадения, то данные передаются адресату, остальные попросту игнорируются.


    3) Сетевой (network) - "священный" уровень, понимание принципа функционирования которого большей частью и делает сетевого инженера таковым. Здесь уже железной рукой правит "IP-адрес", здесь он - основа основ. Благодаря ниличию IP-адреса становится возможным передача данных между компьютерами, не входящими в одну локальную сеть. Передача данных между разными локальными сетями называется маршрутизацией, а устройства, позволяющие это делать - маршрутизаторами (они же роутеры, хотя в последние годы понятие роутера сильно извратилось).


    Итак, IP-адрес - если не вдаваться в детали, то это некий набор 12 цифр в десятеричной ("обычной") системе исчисления, разделённые на 4 октета, разделённых точкой, который присваиватеся сетевому устройству при подключении к сети. Тут нужно немного углубиться: например, многим известен адрес из ряда 192.168.1.23. Вполне очевидно, что тут никак не 12 цифр. Однако, если написать адрес в полном формате, всё становится на свои места - 192.168.001.023. Ещё глубже копать не будем на данном этапе, поскольку IP-адресация - это отдельная тема для рассказа и показа.


    4) Транспортный уровень (transport) - как следует из названия, нужен именно для доставки и отправки данных до адресата. Проведя аналогию с нашей многострадальной почтой, то IP-адрес это собственно адрес доставки или получения, а транспортный протокол - это почтальон, который умеет читать и знает, как доставить письмо. Протоколы бывают разные, для разных целей, но смысл у них один - доставка.


    Транспортный уровень последний, который по большому счёту интересует сетевых инженеров, системных администраторов. Если все 4 нижних уровня отработали как надо, но данные не дошли до пункта назначения, значит проблему нужно искать уже в программном обеспечении конкретного компьютера. Протоколы так называемых верхних уровней сильно волнуют программистов и иногда всё же системных администраторов (если он занимается обслуживанием серверов, например) . Поэтому дальше я опишу назначение этих уровней вскользь. К тому же, если посмотреть на ситуацию объективно, чаще всего на практике функции сразу нескольких верхних уровней модели OSI берёт на себя одно приложение или служба, и невозможно однозначно сказать, куда её отнести.


    5) Сеансовый (session) - управляет открытием, закрытием сеанса передачи данных, проверяет права доступа, контролиует синхронизацию начала и окончания передачи. Например, если вы качаете какой-нибудь файл из интернета, то ваш браузер (или через что вы там скачиваете) отправляет запрос серверу, на котором находится файл. На этом моменте включаются сеансовые протоколы, которые и обеспечивают успешное скачивание файла, после чего по идее автоматически выключаютя, хотя есть варианты.


    6) Представительский (presentation) - подготавливает данные к обработке конечным приложением. Например, если это текстовый файл, то нужно проверить кодировку (чтобы не получилось "крякозябров"), возможно распаковать из архива.... но тут как-раз явно прослеживается то, о чём я писал ранее - очень тяжело отделить, где заканчивается представительский уровень, а где начинается следующий:


    7) Прикладной (Приложения (application)) - как видно из названия, уровень приложений, которые пользуются полученными данными и мы видим результат трудов всех уровней модели OSI. Например, вы читаете этот текст, потому что его открыл в верной кодировке, нужным шрифтом и т.д. ваш браузер.


    И вот теперь, когда у нас есть хотя бы общее понимание технологии процесса, считаю необходимым поведать о том, биты, кадры, пакеты, блоки и данные. Если помните, в начале статьи я просил вас не обращать внимание на левую колонку в основной таблице. Итак, настало её время! Сейчас мы пробежимся снова по всем уровням модели OSI и узрим, как простые биты (нули и единицы) превращаются в данные. Идти будем так же снизу вверх, дабы не нарушать последовательности усвоения материала.


    На физическом уровне мы имеем сигнал. Он может быть электрическим, оптическим, радиоволновым и т.п. Пока что это даже не биты, но сетевое устройство анализирует получаемый сигнал и преобразует его в нули е единицы. Этот процесс называется "аппаратное преобразование". Дальше, уже внутри сетевого устройства, биты объединяются в (в одном байте восемь бит), обрабатываются и передаются на канальный уровень.


    На канальном уровне мы имеем так называемый кадр. Если грубо, то это пачка байт, от 64 до 1518-и в одной пачке, из которых коммутатор читатет заголовок, в котором записаны MAC-адреса получателя и отправителя, а также техническая информация. Увидев совпадения MAC-адреса в заголовке и в своей таблице коммутации (памяти), коммутатор передаёт кадры с такими совпадениями устройству назначения


    На сетевом уровне ко всему этому добру ещё добавляются IP-адреса получателя и отправителя, которые извлекаются всё из того же заголовка и называется это пакет .


    На транпортном уровне пакет адресуется соответствующему протоколу, код которому указан в служебной информации заголовка и отдаётся на обслуживание протоколам верхних уровней, для которых уже это и есть полноценные данные, т.е. информация в удобоваримой, пригодной для использования приложениями форме.


    На схеме ниже это будет видно более наглядно: