Перейти к содержимому
На этой странице

Модели сетей

Все темы C++ Developer

Какие бывают модели сетей?

Модели сетей описывают, как передаются данные по сети, и обеспечивают стандарты для взаимодействия сетевых устройств. Основные модели сетей:

  1. Модель OSI (Open Systems Interconnection):

    • 7 уровней:

      1. Физический (Physical): Передача битов по физическим средствам (кабели, оптика).

      2. Канальный (Data Link): Формирование кадров и контроль ошибок.

      3. Сетевой (Network): Маршрутизация пакетов между узлами (IP).

      4. Транспортный (Transport): Надёжная доставка данных (TCP, UDP).

      5. Сеансовый (Session): Управление сеансами связи.

      6. Представительский (Presentation): Преобразование данных и шифрование.

      7. Прикладной (Application): Приложения и протоколы (HTTP, FTP).

    • Обеспечивает стандартизацию сетевых взаимодействий.

  2. Модель TCP/IP (Интернет-модель):

    • 4 уровня:

      1. Канальный (Link): Объединяет физический и канальный уровни OSI.

      2. Интернет (Internet): Соответствует сетевому уровню OSI (IP).

      3. Транспортный (Transport): Надёжная доставка данных (TCP, UDP).

      4. Прикладной (Application): Приложения и протоколы (HTTP, FTP).

    • Практическая модель, широко используемая в интернете.

Основные различия:

  • Модель OSI: Теоретическая модель, служит эталоном для разработки сетевых протоколов.

  • Модель TCP/IP: Практическая модель, используемая в реальных сетях, включая интернет.


Расскажите об уровнях модели OSI.

Уровни модели OSI:

  1. Физический (Physical):

    • Задачи: Передача битов по физическим средствам (кабели, оптика, радиосигналы).

    • Устройства: Концентраторы, повторители, сетевые кабели.

    • Примеры: Ethernet, USB.

  2. Канальный (Data Link):

    • Задачи: Формирование кадров, управление доступом к среде, обнаружение и исправление ошибок.

    • Устройства: Коммутаторы, сетевые карты.

    • Примеры: Ethernet, PPP, Frame Relay.

  3. Сетевой (Network):

    • Задачи: Маршрутизация пакетов между узлами, логическая адресация.

    • Устройства: Маршрутизаторы.

    • Примеры: IP, ICMP, IPSec.

  4. Транспортный (Transport):

    • Задачи: Надёжная доставка данных, управление потоком и контроль ошибок.

    • Примеры: TCP, UDP.

  5. Сеансовый (Session):

    • Задачи: Управление сеансами связи, установление, поддержка и завершение сеансов.

    • Примеры: NetBIOS, RPC.

  6. Представительский (Presentation):

    • Задачи: Преобразование данных, шифрование, сжатие.

    • Примеры: SSL/TLS, JPEG, ASCII.

  7. Прикладной (Application):

    • Задачи: Поддержка сетевых приложений и протоколов.

    • Примеры: HTTP, FTP, SMTP, DNS.

Основные функции каждого уровня:

  • Физический: Определяет электрические и физические характеристики.

  • Канальный: Обеспечивает надёжную передачу данных по физическому каналу.

  • Сетевой: Определяет маршрутизацию данных.

  • Транспортный: Обеспечивает надёжную передачу данных между узлами.

  • Сеансовый: Управляет диалогами и сессиями.

  • Представительский: Форматирует и обрабатывает данные.

  • Прикладной: Поддерживает конечные сетевые приложения.


Расскажите об уровнях модели TCP/IP.

Уровни модели TCP/IP :
  1. Канальный (Link):

    • Задачи: Управление физическим доступом к сети, передача фреймов данных между узлами в одной сети.

    • Примеры: Ethernet, Wi-Fi, PPP.

  2. Интернет (Internet):

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

    • Примеры: IP (Internet Protocol), ICMP (Internet Control Message Protocol), ARP (Address Resolution Protocol).

  3. Транспортный (Transport):

    • Задачи: Надёжная доставка данных, управление потоком и контроль ошибок.

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

  4. Прикладной (Application):

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

    • Примеры: HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System).

Основные функции каждого уровня:

  • Канальный: Обеспечивает передачу данных между узлами в одной сети, управление доступом к физической среде.

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

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

  • Прикладной: Предоставляет протоколы и службы, необходимые для выполнения сетевых приложений.

Собеседования: C++

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

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

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: C++-разработчик, Разработчик системного ПО. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.