Инкапсуляция – Практика по курсу ‘Компьютерные сети
Исследуем в Wireshark, как сообщения разных сетевых протоколов вложены друг в друга.
Инкапсуляция – это вложение сообщения протокола вышестоящего уровня в сообщение протокола нижестоящего уровня.
Сообщение при передаче по сети состоит из трех частей: заголовок + данные + концевик (не обязателен).
Пакет протокола HTTP имеет следующую структуру:
1. Заголовок канального уровня Ethernet.
2. Заголовок протокола сетевого уровня IP.
3. Заголовок протокола транспортного уровня TCP.
4. Заголовок протокола прикладного уровня HTTP и его данные.
Сообщение HTTP вложено в сообщение TCP, то в свою очередь вложено в сообщение IP, которое вложено в сообщение Ethernet. Это и есть инкапсуляция.
В пакете не обязательно должны присутствовать сообщения всех уровней. Например, в пакете ARP всего два уровня: канальный Ethernet и затем сразу ARP (управляющий протокол сетевого уровня).
Важная особенность в том, что эталонные модели OSI и TCP/IP являются рекомендациями, а не жесткими требованиями. Поэтому на практике сообщения протоколов могут быть вложены друг в друга с нарушениями уровней моделей. Например, сообщения протокола ICMP вкладываются в сообщения протокола сетевого уровня IP. Но это не значит, что ICMP – протокол транспортного уровня.
Похожая ситуация с DHCP, сообщения которого вкладываются в сообщения протокола транспортного уровня UDP. Однако это не означает, что DHCP – протокол прикладного уровня, он не предоставляет никакой полезной функциональности сетевым приложениям. DHCP нужен для автоматического назначения IP-адресов сетевым устройствам, это вспомогательный протокол сетевого уровня.









