Концептуальная модель OSI, разработанная International Standards Organisation, предназначена для организации взаимодействия между различными коммуникационными устройствами с применением типовых протоколов. Другими словами, OSI представляет собой стандарт, который позволяет общаться между собой компьютерным системам.
Модели OSI могут восприниматься в качестве всеобщего языка для вычислительных сетей. Она основана на понятии разбиения информационной системы на 7 уровней, причем каждый из них частично совпадает с другим.
В границах OSI каждый слой отвечает за свою работу и обеспечивает связь с каналами, расположенными выше и ниже его. DDoS атаки ориентированы на конкретные каналы сетевого подключения: на прикладной уровень нацелены атаки 7-го уровня, а на протокольные каналы нацелены атаки 3-го и 4-го уровней.
Почему модель OSI имеет значение?
Несмотря на то, что современный Интернет не совсем строго придерживается модели OSI (скорее, это более простая модель протоколов Интернета), она все же весьма удобна для устранения проблем в работе сети. Независимо от того, является ли причиной проблемы один пользователь, не имеющий возможности подсоединить свой портативный компьютер к сети Интернет, или сайт, не функционирующий для нескольких тысяч абонентов, - модель OSI позволяет разграничить трудности и определить первоисточник проблемы. Если свести проблему к конкретному слою модели, удастся избавиться от большого количества лишней работы.
Семь уровней модели OSI
Семь уровней абстракции модели OSI можно определить следующим образом, сверху вниз:
7. Прикладной уровень
Именно этот слой напрямую работает с информацией, исходящей от пользователя. Для инициирования коммуникаций такие ПО, как web-браузеры и email-клиенты, опираются на прикладной слой модели. Тем не менее, стоит пояснить, что клиентские приложения не входят в структуру уровня; напротив, прикладной слой несет ответственность за использование протоколов и обработку информации, на которую ориентируется ПО для отображения осмысленных данных пользователю.
Самые известные протоколы прикладного уровня – HTTP и SMTP (простой протокол пересылки почты, обеспечивающий передачу сообщений по электронной почте).
6. Уровень представления
Данный слой отвечает в основном за подготовку информации для использования на прикладном уровне. Уровень представления занимается переводом, кодированием и сжатием информации.
Например, два устройства используют различные способы шифрования, именно шестой слой отвечает за трансляцию поступающих в систему данных в понятном для прикладного слоя синтаксисе.
В случае если между устройствами существует кодированное подключение, уровень представления выполняет задачу шифрования на устройстве отправителя и расшифровки на устройстве получателя. Это действие необходимо для дальнейшей передачи “читабельных” данных на прикладной слой.
И наконец, уровень представления выполняет функции сжатия информации, полученной с прикладного уровня, перед ее отправкой на пятый уровень. Таким образом, увеличивается скорость и надежность процесса обмена информацией за счет сокращения передаваемого объема данных.
5. Сеансовый уровень
На этом слое осуществляется процесс начала и завершения обмена информацией между устройствами. Период между началом и окончанием коммуникации именуется сессией или сеансом. Сеансовый слой заботится о сохранении сеанса в открытом состоянии в течение длительного времени, требуемого для переноса всех данных. По окончании передачи он своевременно завершает сеанс.
Кроме того, сеансовый слой обеспечивает синхронизацию обмена информацией с опорными пунктами. К примеру, в случае переноса файла размером 100 мегабайт сессионный слой может задать контрольную точку на каждые 5 мегабайт. При обрыве или сбое соединения при передаче 52 МБ сессия может возобновиться с прошлой опорной точки, то есть потребуется переслать только еще 50 мегабайт информации. В отсутствие опорных пунктов весь процесс обмена информацией приходилось бы запускать с нуля.
4. Транспортный уровень
Четвертый слой отвечает за обеспечение передачи данных между двумя устройствами Для этого требуется принять информацию с сеансового слоя и фрагментировать ее на сегменты для передачи на третий уровень. На принимающем оборудовании за сборку фрагментов обратно в файлы, используемые на сеансовом слое, отвечает также транспортный слой.
Кроме того, транспортный слой несет ответственность за контроль потока данных и борьбу с ошибками. Регулирование потока позволяет определить наиболее эффективную скорость отправки, с тем чтобы отправитель с высоким уровнем передачи данных не нагружал медленно работающий приемник. На приемном устройстве транспортный слой обеспечивает контроль ошибок, проверяя полноту принимаемых сведений и требуя повторной отправки в ином случае.
Главные протоколы транспортного слоя – TCP и UDP.
3. Сетевой уровень
На сетевом слое реализуется обмен информацией через две разные сети. В случае когда два устройства, обменивающиеся данными, расположены в рамках одной сети, использование данного уровня не требуется. Сетевой слой разделяет сегменты, полученные с транспортного уровня, на более мелкие блоки, именуемые пакетами. Данный процесс происходит на устройстве отправителя, а потом повторяется, но в обратном порядке на устройстве получателя, объединяя пакеты в сегменты. На сетевом уровне происходит выбор физического маршрута для передачи информации к месту доставки, так называемая маршрутизация.
Главные протоколы сетевого слоя IP, Internet Control Message Protocol (ICMP), Internet Group Message Protocol (IGMP), а также IPsec, OSPF.
2. Канальный уровень
Канальный уровень очень похож на сетевой, за исключением того, что канальный уровень обеспечивает передачу данных между двумя устройствами в одной сети. Канальный слой принимает пакеты с сетевого канала и разделяет их на на еще более мелкие части, так называемые кадры. Подобно сетевому, канальный слой выполняет управление передачей кадров и контроль ошибок внутри сети.
Транспортный уровень выполняет только управление потоком и контроль ошибок для межсетевого общения.
1. Физический уровень
На этом слое находится техническое оснащение, участвующее в процессах обмена сообщениями, в том числе кабели и переключатели. На данном этапе происходит преобразование информации в поток битов, представленных в виде 1 и 0. Кроме того, физический уровень обоих устройств должен согласовывать стандарты сигналов, чтобы единицы и нули были одинаково различимы на каждом из устройств.
Как данные перемещаются через модель OSI
При попытке передачи информации по каналу связи между разными устройствами информация проходит через 7 слоев модели OSI на передающем устройстве, а затем поднимается на 7 слоев на получающем устройстве.
Например: Иван хочет отправить Петру электронное письмо. Иван составляет свое сообщение в почтовом приложении на своем ноутбуке и нажимает кнопку "Отправить". Его почтовое приложение передаст сообщение на прикладной уровень, который выберет протокол (SMTP) и передаст данные на уровень представления. Он сожмет данные, после чего они попадут на сеансовый уровень, который инициализирует сеанс связи.
После этого информация переходит на транспортный слой отправки, на котором сегментируется, а затем разделяется на пакеты на уровне сети, которые в свою очередь делятся на фреймы в канальном слое. Далее канальный слой передает эти рамки на физический слой, преобразующий информацию в поток битов, содержащий 1 и 0, и осуществляющий её трансляцию по такой физической оболочке, а именно по кабелю.
После того как компьютер Петра получит битовый поток через физическую среду (например, через Wi-Fi), данные пройдут через ту же серию уровней на его устройстве, но в обратном порядке. Сначала физический уровень преобразует битовый поток из 1 и 0 в кадры, которые передаются на канальный уровень. Затем канальный уровень собирает кадры в пакеты для сетевого уровня. Сетевой уровень формирует из пакетов сегменты для транспортного уровня, который собирает сегменты в один фрагмент данных.
Затем эти данные поступают на сеансовый уровень приемника, который передает их на уровень представления и завершает сеанс связи. Уровень представления удалит сжатие и передаст необработанные данные на прикладной уровень. Прикладной уровень передаст человекочитаемые данные в программу электронной почты Петра, что позволит ему прочитать письмо Ивана на экране своего ноутбука.