Какое аппаратное и программное обеспечение получает / инкапсулирует / отправляет данные, относящиеся к каждому уровню IP / TCP?
Аппаратное обеспечение Ethernet обычно используется только на нижних уровнях, физическом и канальном уровнях. Основываясь на своем MAC-адресе, оборудование будет принимать только одноадресные кадры, которые совпадают. Драйвер устройства Ethernet обычно отвечает за предоставление программного интерфейса для этого устройства. Устройство обычно может считывать и записывать полные кадры Ethernet из и в буферы, расположенные в связанном (круговом) кольце, и драйвер либо обслуживает состояние прерываний, либо опрашивает состояние для любого изменения состояния кольцевого буфера (то есть операция чтения или записи завершена).
Программное обеспечение все вместе известно как стек протоколов. Это набор процедур и функций, встроенных в ядро. Они вызываются как любая иерархия программного обеспечения. Когда пользовательская программа выполняет системный вызов сокета R/W, вызывается подпрограмма верхнего уровня. Эта иерархия подпрограмм / процедур, как и любое другое хорошо продуманное программное обеспечение, обеспечивает модульность, слабую связь и высокую степень согласованности.
Каждый уровень в протоколе выполняется одним или несколькими (вложенными) вызовами процедур до тех пор, пока пакет данных не будет сохранен в буфере кадров, готовом для вывода аппаратным обеспечением. При успешном завершении записи состояние возвращается к вызову пользователя.
Например, на каком уровне работает мой маршрутизатор?
Интернет описывается моделью TCP/IP :
- Прикладной уровень
- Транспортный слой
- Интернет слой
- Слой связи
- Физический слой
Ваш маршрутизатор направляет пакеты на основе IP-адреса, который является интернет-уровнем.
Но у маршрутизатора есть свой собственный стек протоколов для выполнения других сервисов, таких как утилита настройки через Интернет. Каждый хост в сети, вероятно, будет иметь полный стек протоколов; уровни не распределены между сетевыми узлами / устройствами.
Какое программное обеспечение переводит текстовый файл в SMTP?
Ваша почтовая программа взаимодействует с прикладным уровнем.
Что / Где на моем компьютере находится программное обеспечение для управления потоком / транспортировки?
Вероятно, транспортный уровень, где работает TCP.