История
На заре становления глобальной сети, а конкретнее в 70-х годах прошлого века, разработка технологий и протоколов сетевого взаимодействия была уделом государственных институтов и корпораций, использовавших собственные проприетарные стандарты. Другими словами, царили полный разврат и вакханалия. К счастью, достаточно быстро пришло понимание, что так не годится, и нужны способы «подружить» несовместимые на разных уровнях протоколы. И начиная с 1977 года Международная организация по стандартизации (ИСО) начала кампанию по разработке общих стандартов сетевого взаимодействия.
Модель OSI (the Open Systems Interconnection model), модель взаимодействия открытых систем) была впервые представлена в начальном виде в Вашингтоне, D.C., в 1978 году Хьюбертом Циммерманом, а проект стандарта был опубликован ИСО в 1980 году.
Структура модели
Концепция семислойной модели описывает следующие уровни взаимодействия:
- Физический (Physical);
- Канальный (Data Link);
- Сетевой (Network);
- Транспортный (Transport);
- Сеансовый (Session);
- Презентационный (Presentation);
- Прикладной (Application).
Для запоминания
- A Penguin Said that Nobody Drinks Pepsi
- Фазан Купил Сосиску Теперь Сосет ПиПиську
Уровни
7. Прикладной уровень
Прикладной уровень (Application layer), уровень приложений) - верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью.
- Примеры: HTTP, telnet, FTP.
6. Презентационный уровень
Уровень предоставления, предъявления (Presentation layer) - обеспечивает преобразование протоколов и кодирование/декодирование данных.
Уже становится интереснее. Например, у нас есть запрос от приложения с прикладного уровня, и его надо передать дальше по сети. Что будем делать? Тут нам и поможет уровень представления, который обычно представляет собой промежуточный протокол для преобразования информации из соседних уровней. На нём запросы преобразуются в формат для передачи по сети, а полученные из сети данные преобразуются в формат приложений. Это позволяет осуществлять обмен между приложениями на разнородных компьютерных системах прозрачно для приложений. Уровень представлений обеспечивает форматирование и преобразование кода, которое используется для того, чтобы гарантировать приложению поступление информации для обработки, которая имела бы для него смысл. Стандарты уровня представлений также определяют способы представления графических изображений.
- Примеры: ASCII, TIFF, JPEG, GIF, ESBCDIC, PICT, MPEG, MIDI.
5. Сеансовый уровень
Сеансовый уровень (Session layer) - обеспечивает поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений.
- Примеры: NetBIOS, RPC, SQL.
4. Транспортный уровень
Транспортный уровень (Transport layer) - предназначен для обеспечения надёжной передачи данных от отправителя к получателю. Уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приёма), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности.
UDP (ограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери или дублирования пакета пакетов)
TCP (обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования).
3. Сетевой уровень
Сетевой уровень (Network layer) - предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию. Протоколы сетевого уровня маршрутизируют данные от источника к получателю.
- Примеры: IPv4, IPv6.
2. Канальный уровень
Канальный уровень (Data Link layer) - предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля ошибок, которые могут возникнуть. Полученные с физического уровня биты, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос повреждённого кадра) и отправляет на сетевой уровень.
- Примеры: 802.11, ARP, Ethernet, VLAN.
1. Физический уровень
Физический уровень (Physical layer) - нижний уровень модели, который определяет метод передачи данных, представленных в двоичном виде, от одного устройства к другому. Осуществляют передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. На этом уровне также работают концентраторы, повторители сигнала и медиа конвертеры.
Физический уровень определяет такие виды сред передачи данных как оптоволокно, витая пара, коаксиальный кабель, радиоканал и т.д.
- Примеры: RS-232, RS-485, RJ-45, WiFi.
