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

Канальный уровень (Link Layer) — это базовый уровень модели TCP/IP, отвечающий за связь в пределах локального сетевого сегмента. Этот уровень зависит от аппаратного обеспечения, работая напрямую с сетевыми картами и физической адресацией.

Кадры и заголовок канального уровня

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

Для построения заголовка канального уровня системе необходимы как MAC-адреса источника, так и назначения. Хотя MAC-адрес источника известен, MAC-адрес назначения для IP-адреса в той же локальной сети должен быть обнаружен. Здесь в игру вступает Протокол разрешения адресов (ARP).

ARP (Протокол разрешения адресов)

ARP — это протокол канального уровня, используемый для поиска MAC-адреса, связанного с определенным IP-адресом в пределах одной сети. Если целевой хост находится в другой сети, пакет будет отправлен на шлюз по умолчанию (маршрутизатор), и ARP будет использоваться для поиска MAC-адреса маршрутизатора.

Системы сначала обращаются к своей таблице поиска ARP, которая кэширует известные сопоставления IP-адресов с MAC-адресами. Если необходимый адрес отсутствует в кэше, система широковещательно рассылает ARP-запрос по всей сети. Это специальное сообщение спрашивает, какой хост имеет определенный IP-адрес, например, 10.10.1.4. Хост с этим IP-адресом отправит ARP-ответ, содержащий свой IP- и MAC-адрес.

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

Перемещение пакета

Вот пошаговое описание того, как пакет перемещается от отправителя (Пита) к получателю (Пэтти):

  1. Пит отправляет Пэтти электронное письмо. Эти данные передаются на транспортный уровень.
  2. Транспортный уровень инкапсулирует данные в заголовок TCP или UDP для формирования сегмента. Он добавляет порты назначения и источника, а затем отправляет сегмент на сетевой уровень.
  3. Сетевой уровень инкапсулирует сегмент в IP-пакет и добавляет IP-адреса источника и назначения. Затем он направляет пакет на канальный уровень.
  4. Пакет достигает канального уровня, где он инкапсулируется в кадр. Добавляется заголовок канального уровня, содержащий MAC-адреса источника и назначения.
  5. Пэтти получает этот кадр данных через свой физический уровень, проверяет кадр на целостность данных, затем декапсулирует его и отправляет IP-пакет на свой сетевой уровень.
  6. Сетевой уровень считывает пакет, чтобы найти IP-адреса источника и назначения. Он подтверждает, что IP-адрес назначения совпадает с его собственным, декапсулирует пакет и отправляет сегмент на транспортный уровень.
  7. Транспортный уровень декапсулирует сегмент, проверяет номера портов TCP или UDP и устанавливает соединение с прикладным уровнем на основе этих портов.
  8. Прикладной уровень получает данные от транспортного уровня на указанном порту и представляет их Пэтти в виде окончательного сообщения электронной почты.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Вот несколько практических лабораторных работ для закрепления вашего понимания канального уровня, MAC-адресов и ARP:

  1. Определение MAC- и IP-адресов в Linux — Практикуйтесь в использовании команды ip a для определения информации о сетевой адресации, включая MAC-адреса, в системе Linux.
  2. Исследование взаимодействия сетевого уровня с ping и arp в Linux — Узнайте, как команды ping и arp работают вместе для сопоставления IP-адресов с MAC-адресами и поймите взаимодействие сетевого уровня.
  3. Анализ Ethernet-кадров с помощью tcpdump в Linux — Получите практический опыт захвата и проверки Ethernet-кадров, включая MAC-адреса, чтобы понять низкоуровневые сетевые коммуникации.

Эти лабораторные работы помогут вам применить концепции в реальных сценариях и повысить уверенность в основах работы с сетью на Канальном уровне.

Тест

Какой протокол используется для поиска MAC-адреса хоста в той же локальной сети? (Пожалуйста, ответьте английской аббревиатурой в верхнем регистре).