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

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

Итак, давайте разберемся с базовой информацией.

Модель OSI (Open Systems Interconnection) — это эталонная модель, разработанная для описания функций телекоммуникационных или вычислительных систем, необходимых для сетевого взаимодействия. Она разделяет процесс сетевого взаимодействия на семь взаимосвязанных уровней. Каждый уровень выполняет специфические функции и взаимодействует с уровнями непосредственно выше и ниже.

Модель OSI
Модель OSI

Звучит сложно?

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

Модель OSI — это эталонная модель, которая, к сожалению, не нашла широкого применения в реальном мире. Поэтому появилась модель TCP/IP, по которой работает вся наша текущая сеть. Однако, когда два сетевика общаются между собой, они используют более распространенную модель OSI для лучшего понимания.

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

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

Физический уровень L1 (Physical Layer):

  • Функции: определяет электрические, механические, процедурные и функциональные характеристики для активации, поддержания и деактивации физических соединений между конечными системами.

  • Примеры: кабели, разъемы, электрические напряжения, физические топологии сетей.

  • Необходимые для этого уровня понятия: RS-232, RJ45, V.34, 100BASE-TX, SDH, DSL, 802.11.

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

Если совсем просто, это нули и единицы, передающиеся в кабелях с помощью электрических сигналов (витая пара) или света (оптоволоконные кабели).

Канальный уровень L2 (Data Link Layer):

  • Функции: обеспечивает надежную передачу данных через физический канал. Включает задачи по обнаружению и исправлению ошибок, а также управление доступом к среде передачи.

  • Примеры: Ethernet, MAC-адреса, фреймы, коммутаторы.

Необходимые для этого уровня понятия: Ethernet, 802.11, MAC/LLC, VLAN, ATN, HDP, Fibre Channel, FrameReplay, HDLC, PPP, Q.921, Token Ring.

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

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

Сетевой уровень L3 (Network Layer):

  • Функции: отвечает за маршрутизацию пакетов данных между узлами сети. Обеспечивает логическую адресацию и определяет пути передачи данных через различные сети.

  • Примеры: IP-адресация, маршрутизаторы, IP-протокол.

  • Необходимые для этого уровня понятия: IP, ARP, IPsec, ICMP, IGMP, OSPF.

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

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

Транспортный уровень L4 (Transport Layer):

  • Функции: обеспечивает надежную передачу данных, контроль ошибок, сегментацию и повторную сборку данных. Гарантирует, что данные передаются без потерь и дубликатов.

  • Примеры: TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

  • Необходимые для этого уровня понятия: TCP, UDP, SCTP, SSL, TLS.

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

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

Сеансовый уровень L5 (Session Layer):

  • Функции: управляет сеансами связи между приложениями. Обеспечивает установку, поддержание и завершение сеансов, а также синхронизацию и управление обменом данными.

  • Примеры: управление сеансами, контроль диалога.

Необходимые для этого уровня понятия: Session establishment in TCP, SIP, RTP, RPC-Named pipes.

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

Если совсем просто, то осуществляется установление, управление и завершение сеансов связи между приложениями с помощью протоколов.

Представительный уровень L6 (Presentation Layer):

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

  • Примеры: шифрование, кодирование данных, преобразование форматов.

  • Необходимые для этого уровня понятия: HTML, DOC, JPEG, MP3, AVI, Sockets.

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

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

Прикладной уровень L7 (Application Layer):

  • Функции: обеспечивает доступ приложений к сетевым услугам. Реализует протоколы, которые поддерживают конечные пользовательские процессы и сетевые приложения.

  • Примеры: HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol).

  • Необходимые для этого уровня понятия: DNS, WWW, HTTP, P2P, EMAIL, POP, SMTP, TELNET, SSH, FTP, TFTP.

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

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

Теперь, познакомившись с моделью OSI, перейдем к модели TCP/IP. Эта модель почти полностью повторяет эталонную, но имеет свои особенности.

  • Первый уровень – канальный. В данной модели он объединяет L1 и L2 уровни модели OSI.

  • Второй уровень – межсетевой. Он идентичен сетевому уровню L3 модели OSI.

  • Третий уровень – транспортный. Он идентичен транспортному уровню L4 модели OSI.

  • Четвертый уровень – прикладной. Он объединяет L5 – L7 уровни модели OSI.

Сравнение моделей OSI и TCP/IP
Сравнение моделей OSI и TCP/IP

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

Комментарии (31)


  1. AndreyAf
    08.06.2024 13:41
    +3

    Самое главное нужно пояснить что когда сетевой кабель выдергивают это затрагивает только физический уровень, и если он не передаёт своё состояние выше, то TCP/IP никак про это не узнает (для него специально для этого придумали KeepAlive)


    1. ProstoKirReal Автор
      08.06.2024 13:41

      Хорошее замечание, учту при написании следующих статей.


  1. duke_alba
    08.06.2024 13:41
    +5

    А физический уровень точно работает с нулями и единицами? Я всегда думал, что он работает на уровне электрических импульсов, а нули с единицами - это то, что у него на выходе.


    1. ProstoKirReal Автор
      08.06.2024 13:41

      Именно так и есть


  1. Milanovru
    08.06.2024 13:41

    Про канальный уровень я бы еще добавил ARP.


    1. ProstoKirReal Автор
      08.06.2024 13:41

      На самом деле ARP это самый важный для меня протокол. В следующих статьях уделю ему немного больше времени)


  1. kaaman
    08.06.2024 13:41
    +3

    По моему скромному субъективному мнению, серия постов "сети для самых маленьких", лучшее что я читал на хабре


    1. ProstoKirReal Автор
      08.06.2024 13:41
      +1

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


  1. lexa
    08.06.2024 13:41
    +3

    Нормальный вопрос на понимание: "в каких местах TCP/IP противоречат модели OSI"


    1. ProstoKirReal Автор
      08.06.2024 13:41

      Хороший вопрос


  1. max-himik
    08.06.2024 13:41
    +1

    Мда... статья а-ля "напиши неправильно, и куча олдов за тебя все поправят"! Хитро, ничего не скажешь, но не оригинально - баян


  1. MaksimusDecius
    08.06.2024 13:41
    +1

    Статья полезная, но есть небольшое замечание названиям уровней в стеке tcp/ip - они называются не так, лучше написать фактические названия и просто сопоставить с уровнями модели osi.


    1. ProstoKirReal Автор
      08.06.2024 13:41
      +1

      Брал названия с Википедии. Она получается врет)


  1. Gay_Lussak
    08.06.2024 13:41
    +1

    • Функции: обеспечивает надежную передачу данных, контроль ошибок, сегментацию и повторную сборку данных. Гарантирует, что данные передаются без потерь и дубликатов.

    • Примеры: TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

    UDP не относится ни к чему, что приведено в функциях.


    1. Raegdan
      08.06.2024 13:41

      Сегментацию и сборку разве UDP не обеспечивает?


      1. lexa
        08.06.2024 13:41

        На уровне IP происходит


        1. Raegdan
          08.06.2024 13:41

          Могу ошибаться, но вроде ведь UDP-пакет может разбиваться на несколько IP-пакетов, IP-пакеты имеют право приходить вразнобой по времени, но при этом в пакете UDP перемешивания данных не происходит. Разве нет?


          1. lexa
            08.06.2024 13:41
            +1

            Фрагментация-сборка происходят на уровне IP, как я и написал выше

            Ну или не происходят, если флажок DF стоит у IP-пакета


  1. syrus_the_virus
    08.06.2024 13:41

    Эталонная модель OSI не нашла применения в мире - ложное утверждение, которое говорит, что вы не до конца поняли стек. Именно модель OSI используется везде и повсюду, как в традиционной реализации, так и в виде модификации, вроде TCP/IP. OSI - это базовый класс библиотеки, от которого наследуются все другие, если говорить языком языка программирования с++.


    1. JustANickName
      08.06.2024 13:41
      +1

      Вы не правы, и в свою очередь приводите ненужную, ложную, даже мешающую аналогию про классы. TCP/IP не является ни наследованием, ни реализацией OSI, как и многие другие стеки. Как раз именно реализации модели OSI вроде и нет.

      Модель OSI, если не подводит память, планировалась изначально именно реализовывать. Но по факту - осталась именно как удобная модель для изучения / пояснения. А в реализациях совсем не она: и уровней может быть другое число, и разделение может быть совсем по-другому.


  1. Raegdan
    08.06.2024 13:41
    +2

    Физический с канальным очень даже разделены. У Ethernet, Wi-Fi и оптики совершенно разный физический - электричество, радио и свет соответственно; но в целом одинаковый канальный - MAC адреса и Ethernet фреймы.


  1. Foggy4
    08.06.2024 13:41
    +1

    Мне непонятно, почему некоторые исследователи относят протокол SSL/TLS к транспортному уровню, если он работает поверх протоколов транспортного уровня TCP/UDP и об этом сказано даже в RFC 5246. Когда я учился, вроде принято было относить его к presentation layer (в английской википедии он по-прежнему к нему и относится).


    1. KirSecurity
      08.06.2024 13:41

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

      Но SSL/TLS сугубо протоколы шифрования и с надежностью доставки в данном контексте не связаны.


  1. rionekb
    08.06.2024 13:41

    VALN? Может VLAN?


    1. ProstoKirReal Автор
      08.06.2024 13:41

      Действительно) исправил


  1. simust
    08.06.2024 13:41

    Спасибо за статью! Ждём следующие части :)


    1. ProstoKirReal Автор
      08.06.2024 13:41

      Спасибо) скоро будут


  1. Magic_Mamaliga
    08.06.2024 13:41
    +1

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


    1. ProstoKirReal Автор
      08.06.2024 13:41

      Спасибо!


  1. Kotik_Kung-Fu
    08.06.2024 13:41

    Большое спасибо за хорошую статью, ранее при обучении в колледже когда объясняли модель OSI было все как то мутно и не понятно, у вас очень хорошо описаны уровни, главное понятно и простым языком :)


  1. Evgenchick
    08.06.2024 13:41

    Добрый день, а мне кажется на иллюстрации в модели ошибка, данные сначала нужно сделать zip а уже после зашифровать . А там нарисовано наоборот.