1

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

Мне было интересно на узле назначения, происходит ли сборка кадров в дейтаграммы на канальном уровне или сетевом уровне? Передает ли канальный уровень кадры или дейтаграммы на сетевой уровень?

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

В узле назначения при переходе от нижнего уровня к более высокому уровню происходит ли повторная сборка меньших блоков данных в большие блоки данных на нижнем или верхнем уровне?

Спасибо и всего наилучшего!

2 ответа2

1

Сетевой уровень нуждается в качестве входного IP-адреса источника / назначения и порта источника / назначения, то есть он должен представлять собой последовательность байтов в стандартной форме IP-пакета. Таким образом, верхние и нижние колонтитулы Ethernet должны быть удалены перед тем, как их получит сетевой уровень, в противном случае, когда сетевой уровень просматривает определенные смещения для нужных ему данных, таких как IP-адрес источника и т.д., Он может получить их неправильно.

Нет ничего, что "помечает" поля в IP-пакете, они идентифицируются по позиции в пакете. Поэтому нижнему уровню необходимо предоставить сетевому уровню поток данных, совместимый с IP, а не поток данных, совместимый с Ethernet.

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

Что касается передачи, то применяется то же самое. Карта NIC нуждается в MAC-адресе источника и назначения, который появляется в определенных местах в кадре Ethernet. Таким образом, если сетевой уровень напрямую отправит пакет на NIC, произойдет сбой, поскольку к нему не будет подключен заголовок Ethernet, содержащий MAC-адрес источника / назначения.

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .