Эталонная модель OSI
Если вы работаете с сетями, то обязательно столкнетесь с моделью OSI, она будет всплывать в обсуждениях, в описаниях сетевого оборудования, каверзные вопросы по ней могут задавать на собеседованиях и т.д. и т.п.
Поэтому сегодня тоже уделим ей немного внимания. Название расшифровывается как The Open Systems Interconnection model – модель взаимосвязи открытых систем. Основная цель ее разработки – создание универсального стандарта, позволяющего организовать сетевое взаимодействие самых различных систем.
Для этого система была разделена на семь уровней абстракции, каждый из которых должен был выполнять свою функцию и представлен собственным набором протоколов. Каждый уровень ничего не знает о том, как работают другие уровни, но может взаимодействовать с низлежащим и вышележащим уровнем.
Модель оперирует протокольными блоками данных (PDU), которые передаются от уровня к уровню инкапсулируясь друг в друга. Таким образом блок данных верхнего уровня последовательно проходит все уровни сверху вниз на хосте-отправителе и снизу вверх – на хосте приемнике.
Но это в теории. Стандарт специально был написан таким образом, чтобы покрыть не только уже существующие протоколы, но и любые новые, которые могут появиться позже. Несмотря на это, на практике стройная картина модели то и дело нарушается. Но об этом поговорим позже.
А пока коротко пробежимся по модели снизу вверх, уровни OSI принято обозначать буквой L и цифрой, соответствующей уровню. Т.е. запись L2 обозначает второй уровень.
🔹 Уровень 1 – физический. Описывает процесс передачи сырых данных в физической среде. На входе мы имеем некоторый набор битов, на выходе физические сигналы (электрические, оптические, электромагнитные). Примеры протоколов этого уровня – это Ethernet или Wi-Fi в их физической части, USB, RS-232 и т.д.
🔹 Уровень 2 – канальный. Отвечает за передачу данных между физическими узлами, соединенными на физическом уровне (L1). На этом уровне для идентификации устройств используются физические адреса оборудования (MAC-адреса), также используются функции контроля целостности передаваемых данных и коррекции ошибок, а также управления скоростью потока.
Типичные протоколы этого уровня, использующиеся в настоящее время, это Ethernet или PPP.
🔹 Уровень 3 – сетевой. Совокупность устройств, объединенных на канальном уровне, образуют сеть. Для передачи данных между сетями используются логические идентификаторы этих сетей – сетевые адреса.
Здесь же появляется понятие маршрутизации – нахождения лучшего пути передачи данных от источника к получателю через несколько сетей.
Самый известный протокол сетевого уровня – IP, но он не является единственным, также сетевым протоколом является IPX из сетей Netware. Кроме них на этом уровне используются протоколы ICMP, IGMP, ARP, BGP, OSPF и другие.
Еще одной важной функцией 3 является фрагментация, позволяющая разбивать протокольные блоки данных большого размера на меньшие и потом обратно их собирать на приемнике.
🔹 Уровень 4 – транспортный. Он отвечает за надежную передачу данных между узлами, а также контроль доставки и целостности.
Основных протоколов транспортного уровня два: TCP и UDP. Последний, правда не совсем соответствует критериям уровня, но деть его в этой модели некуда, поэтому он тут и прижился.
По факту транспортный уровень отвечает за сегментацию, не путать с фрагментацией, т.е. нарезать протокольные блоки верхнего уровня на сегменты TCP или датаграммы UDP и отправить уровнем ниже. А потом или проконтролировать доставку, или забыть про нее.
Если немного отойти в сторону от IP, то в стеке Novell протоколом транспортного уровня был SPX.
Этот уровень, как никакой другой связан с низлежащим, сетевым, поэтому мы обычно говорим о стеке TCP/IP или SPX/IPX.
🤞 На этом сегодняшний разговор о модели OSI завершим, так как на этих уровнях она довольно адекватно ложится на объективную реальность. А вот дальше начинается разброд и шатание, цирк с конями и цыгане с медведями. Но об этом в следующей публикации.
Post #4723
2.56K