2

Каждый учебник, который я читаю, рассказывает о том, как слои "общаются" друг с другом, но никогда не упоминает, какое аппаратное / программное обеспечение получает, добавляет и отправляет каждый слой управляющих данных.

Какое аппаратное и программное обеспечение получает / инкапсулирует / отправляет данные, относящиеся к каждому уровню IP / TCP?

Например, на каком уровне работает мой маршрутизатор? Какое программное обеспечение переводит текстовый файл в SMTP? Что / Где на моем компьютере находится программное обеспечение для управления потоком / транспортировки?

2 ответа2

3
Layer 1 - Physical - Signaling 

Layer 2 - Data Link - Switching (Ethernet frames) 

Layer 3 - Network - Routing (IP packets)

Layer 4 - Transport - Multiplexing (TCP segments)

Layer 5 - Session

Layer 6 - Presentation

Layer 7 - Application

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

Конкретное программное и аппаратное обеспечение, которое используется, также сильно различается в реальном мире. Вполне возможно выполнять все функции в программном обеспечении (дешево, но медленно). Также вполне возможно сделать все это аппаратно (быстро, но дорого). Выделенные сетевые устройства, такие как маршрутизаторы Cisco и т.д., Будут выполнять больше аппаратных функций, чем, скажем, ПК под управлением Linux, настроенный в качестве маршрутизатора.

Обычно уровень 1 и в основном уровень 2 гарантированно выполняются аппаратно. Уровень 3 в основном выполняется аппаратно на маршрутизаторе уровня предприятия, таком как Cisco. Многие сетевые адаптеры поставляются с функцией под названием "TCP Offload Engine", которая может ускорять большинство уровней 3 и 4 с помощью аппаратного обеспечения на сетевом адаптере. Маршрутизаторы уровня потребителя от Wal-mart обычно выполняют функцию маршрутизации полностью программно. Уровни 5, 6 и 7 обычно не выполняются аппаратно, и, если это так, устройства, которые делают это, называются "ускорителями".

2

Какое аппаратное и программное обеспечение получает / инкапсулирует / отправляет данные, относящиеся к каждому уровню IP / TCP?

Аппаратное обеспечение Ethernet обычно используется только на нижних уровнях, физическом и канальном уровнях. Основываясь на своем MAC-адресе, оборудование будет принимать только одноадресные кадры, которые совпадают. Драйвер устройства Ethernet обычно отвечает за предоставление программного интерфейса для этого устройства. Устройство обычно может считывать и записывать полные кадры Ethernet из и в буферы, расположенные в связанном (круговом) кольце, и драйвер либо обслуживает состояние прерываний, либо опрашивает состояние для любого изменения состояния кольцевого буфера (то есть операция чтения или записи завершена).

Программное обеспечение все вместе известно как стек протоколов. Это набор процедур и функций, встроенных в ядро. Они вызываются как любая иерархия программного обеспечения. Когда пользовательская программа выполняет системный вызов сокета R/W, вызывается подпрограмма верхнего уровня. Эта иерархия подпрограмм / процедур, как и любое другое хорошо продуманное программное обеспечение, обеспечивает модульность, слабую связь и высокую степень согласованности.

Каждый уровень в протоколе выполняется одним или несколькими (вложенными) вызовами процедур до тех пор, пока пакет данных не будет сохранен в буфере кадров, готовом для вывода аппаратным обеспечением. При успешном завершении записи состояние возвращается к вызову пользователя.

Например, на каком уровне работает мой маршрутизатор?

Интернет описывается моделью TCP/IP :

  • Прикладной уровень
  • Транспортный слой
  • Интернет слой
  • Слой связи
  • Физический слой

Ваш маршрутизатор направляет пакеты на основе IP-адреса, который является интернет-уровнем. Но у маршрутизатора есть свой собственный стек протоколов для выполнения других сервисов, таких как утилита настройки через Интернет. Каждый хост в сети, вероятно, будет иметь полный стек протоколов; уровни не распределены между сетевыми узлами / устройствами.

Какое программное обеспечение переводит текстовый файл в SMTP?

Ваша почтовая программа взаимодействует с прикладным уровнем.

Что / Где на моем компьютере находится программное обеспечение для управления потоком / транспортировки?

Вероятно, транспортный уровень, где работает TCP.

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