пятница, декабря 14, 2012

Модель OSI

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

Как вы уже наверное понимаете, современные сети устроены очень и очень сложно, в них протекает множество различных процессов, выполняются сотни действий. Для того чтобы упростить процесс описания данного многообразия  функций сети (а что еще более важно упростить процесс дальнейшей разработки данных функций) были предприняты попытке их структурирования. В результате структурирования все функции, выполняемые компьютерной сетью, разделяются на несколько уровней, каждый из которых отвечает только за определенный, узкоспециализированый круг задач. Здесь сетевую модель можно сравнить со структурой компании. Компания разделена на отделы. Каждый отдел выполняет свои функции, но во время работы контактирует с другими отделами.
Разделение функций с помощью сетевой модели
Сетевая модель OSI  разработана таким  образом, чтобы вышестоящие уровни сетевой модели использовали нижестоящие уровни сетевой модели, для передачи своей информации. Правила, с помощью которых общаются уровни модели, называются сетевыми протоколами. Сетевой  протокол определенного уровня модели может общаться либо с протоколами своего уровня, либо  с протоколами соседних уровней. Здесь опять же можно провести аналогию с работой  компании. В компании всегда есть четко установленная иерархия, хотя и не такая строгая как в сетевой модели.  Работники одной ступени иерархии выполняют поручения, полученные от работников более высокого уровня иерархии.
Взаимодействие между уровнями сетевой модели OSI
Каждое устройство, работающее в сети, можно представить в виде системы работающей на соответствующих уровнях модели OSI. Причем данное устройство может использовать в своей работе, как все уровни модели OSI, так и только некоторые нижние ее уровни.  Обычно когда говорят, что устройство работает на некотором уровне модели, то подразумевают, что оно работает на данном уровне сетевой модели и на всех лежащих ниже уровнях. 
Работа не некоторых уровнях сетевой модели OSI
Когда два различных устройства сети общаются между собой, они используют протоколы одних и тех же уровней сетевой модели, при этом в процесс взаимодействия вовлекается как протоколы уровня на котором непосредственно происходит взаимодействие, так  и необходимые протоколы всех нижележащих уровней, так как они используются для передачи данных, полученных от верхних уровней.
Общение двух систем с позиции модели OSI
При передачи информации от верхнего уровня сетевой модели к нижнему уровню сетевой модели, к данной полезной информации добавляется некоторая служебная информация, называемая заголовком (на 2 уровне добавляется не только заголовок, но еще и концевик). Данный процесс добавления служебной информации называется инкапсуляцией. При приеме (передачи информации от нижнего уровня к верхнему) происходит отделение данной служебной информации и получение исходных данных. Такой процесс называется деинкапсуляцией. По своей сути этот процесс очень похож на процесс отправки письма по почте. Представьте, что вы хотите отправить письмо своему другу. Вы пишите письмо – это полезная информация. Отправляя ее по почте, вы упаковываете ее в конверт, надписывая на нем адрес получателя, то есть добавляете к полезной информации некоторый заголовок. По сути это и есть инкапсуляция. Получая ваше письмо, ваш друг его деинкапсулирует – то есть разрывает конверт и достает из него полезную информацию – ваше письмо.
Демонстрация принципа инкапсуляции
Модель OSI подразделяет все функции, выполняемые при взаимодействии систем на 7 уровней: Физический(Physical) - 1, Канальный(Data link) -2, Сетевой(network) – 3, Транспортный(transport) – 4, Сеансовый(Session) -5, Представительский(Presentation) -6 и Прикладной (Application) - 7.
Уровни модели взаимодействия открытых систем
Кратенько рассмотрим назначение каждого из уровней модели взаимодействия открытых систем.








Прикладной уровень
Прикладной уровень является точкой, через которую приложения общаются с сетью (точка входа в модель OSI). С помощью данного уровня модели OSI выполняется следующие задачи: управление сетью, управление занятостью системы, управление передачей файлов, идентификация пользователей по их паролям. Примерами протоколов данного уровня являются: HTTP, SMTP, RDP и д.р. Очень часто протоколы прикладного уровня выполняют одновременно функции протоколов представительского и сеансового уровней.

Представительский уровень
Данный уровень отвечает за формат представления данных. Грубо говоря, он преобразует данные полученные от уровня приложений к формату пригодному для передачи по сети (ну и соответственно выполняет обратную операцию преобразуя информацию, полученную из сети, к формату пригодному для обработки приложениями).

Сеансовый уровень
На данном уровне происходит установление, поддержание и управление сеансом связи между двумя системами. Именно данный уровень отвечает за поддержание связи между системами на весь промежуток времени в течение которого происходит их взаимодействие.

Транспортный уровень
Протоколы данного уровня сетевой модели OSI отвечают за передачу данных от одной системы другой. На данном уровне большие блоки данных разделяются на более мелкие блоки, пригодные для обработки сетевым уровнем (очень мелкие блоки данных объединяются в более крупные), данные блоки соответствующим образом маркируются для их последующего восстановления на принимающей стороне. Так же при использовании соответствующих протоколов данный уровень способен обеспечить контроль доставки пакетов сетевого уровня.  Блок данных, которым оперируют данный уровень  обычно называется сегментом. Примерами протоколов данного уровня являются: TCP, UDP, SPX, ATP и д.р.

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

Канальный уровень
Данный уровень отвечает за физическую адресацию устройств сети (MAC адреса), управлением доступа к среде, а также коррекцией ошибок допущенных физическим уровнем. Блок данных, используемый на канальном уровне принято называть фреймом. К данному уровню относятся следующие устройства: коммутаторы (не все), мосты и д.р. Типичной технологией использующей данный уровень является Ethernet.

Физический уровень
Осуществляет передачу оптических или электрических импульсов по выбранной среде передачи. К устройствам данного уровня можно отнести всевозможные повторители и концентраторы.

Модель OSI сама по себе не является практической реализацией, она лишь предполагает некоторый набор правил по взаимодействию компонентов системы. Практическим примером реализации стека сетевых протоколов является стек протоколов TCP/IP (а так же другие менее распространенные стеки протоколов).

20 коммент.:

Срочно начните читать учебники! Впечатление, будто вы всё это где-то услышали, половину забыли, а написали что осталось. 95% - феерический бред.

Сравнивать модель с работой отделов в компании - запутывать читателя. Это вообще несопоставимые вещи.

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

Дальше в том же духе почти по каждому предложению.

Очень надеюсь, что это никто ещё не читал. У вас каша в голове.

"Сравнивать модель с работой отделов в компании - запутывать читателя. Это вообще несопоставимые вещи.
Модель OSI была придумана НЕ для того, чтобы "упростить процесс описания данного многообразия функций"."

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

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

Да, описания уровней, несмотря на то, что они краткие, тоже заслуживают отдельного описания. Взять хотя бы то, что не все коммутаторы работают на втором уровне. Прочитайте внимательно определение "сетевой коммутатор". Я знаю, что некоторые работают и на третьем, но это не значит что они не работают на втором. Или первое же предложение: "Прикладной уровень является точкой, через которую приложения общаются с сетью (точка входа в модель OSI)." - просто тихий ужас. А взять следующее же:"С помощью данного уровня модели OSI выполняется следующие задачи: управление сетью, управление занятостью системы, управление передачей файлов, идентификация пользователей по их паролям." Некоторые, отдельно взятые программы можно за уши притянуть к этому описанию, но как описание уровня оно никуда не годится.

Ну и так далее, я не буду всё описывать и ко всему придираться.

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

Успехов.

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

Большое спасибо Сергей за ваш комментарий!

"...Или почитайте историю развития сетей, с этого начинаются все книжки..."
Поражает вдохновленная эмоциями начитанность некоего Анонима.
Егор, даже не утруждайте себя ответами на словесный блуд. Все ленивые завистники ведут себя таким образом: даже не напрягшись хотя бы некоей последовательностью рассуждение на известную тему для общей пользы (если грамота на самом деле присутсвует, о чувстве такта и воспитании уж не смею и помышлять) они могут только осуждать двусмысленно, якобы всей грамоте обучены. Однако, создать страничку-другую (кстати, весьма удобную для просмотра) и сделать что-то полезное для других никак не желают. Кстати, чем меньше субъект грамотен, тем более он умен в своей ограниченности.
Вы же, Егор, просто замечательно справляетесь с безграмотностью новичков, и даете возможность хотя бы элементарно охватить любопытствующим мальчишкам необъятные глубины информации о сетях.
Весьма сомневаюсь, что кому-то интересно выслушивать занудство об истории развития сетей, тем более, что в специальной литературе всякий автор норовит рассказать свою историю. Хорошо, хоть не требуют начать повествование о беспрецедентной истории КПСС, которая нв моем веку переписывалась уж десятки раз.
Вы излагаете динамично, интересно для новичка и создаете конкретно полезное представление об излагаемом предмете.
Приятно было случайно зайти к Вам в гости.
Всего доброго, Александр Шкуридин.

Для Александр Шкуридин.
Спасибо большое, за столь лестные комментарий. Действительно приятно когда, кто то оценивает твою работу, если даже она не на 100% правильная.

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

Спасибо, к сожалению данная статья нравится далеко не всем =)

Заметьте, Егор, данная статья не понравилась только одному "критику", который по существу ничего не может аргументировать, но почему то, считает себя экспертом в данном вопросе. Забейте!

Спасибо на добром слове =)

Егор, спасибо! хоть что-то стало понятно! А тем, кто постоянно ругает что-то (будь то футбол, статьи, бестолковых сотрудников) - сделайте лучше, объясните КАК - сравним :)

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

Спасибо за ваше мнение.

К данному уровню относятся следующие устройства: коммутаторы (не все),
---
Мне кажется, что фраза "не все коммутаторы относятся ко второму уровню OSI' неудачна и может вводить в заблуждение. Все(!) коммутаторы, как многопортовые мосты, работают на втором уровне, на канальном, на дейталинке.
Когда в рекламных брошюрках пишут, что свитч относится к классу "2+" или "уровня 3" это просто подчеркивание его дополнительных функций. В первом случае, например, это может быть присвоение айпи-адресов на каждый вилан, что в "просто 2" может не наблюдаться, а во втором это наличие встроенного маршрутизатора. Но в любом случае обычная коммутация остается в каждом устройстве. :)

"воскресенье, ноября 02, 2014"
Согласен, возможно не совсем корректно выразился, этой фразой я как раз и хотел подчеркнуть возможность наличия у коммутатора дополнительных возможностей.

Отправить комментарий