Изучаем сеть: Инкапсуляция данных
• Мы уже разобрали модели OSI и TCP/IP, однако пока не связывали их уровни в единый процесс. Сегодня посмотрим, что происходит с данными при их передаче по сети.
• Инкапсуляция — это процесс последовательного добавления служебной информации к данным, при котором каждый уровень сетевой модели добавляет собственный заголовок.
• Допустим, браузер отправляет HTTP-запрос серверу:
• Прикладной уровень формирует данные, например HTTP-запрос.
• Транспортный уровень добавляет номера портов и другую служебную информацию, в результате получается TCP-сегмент или UDP-датаграмма, в зависимости от используемого протокола.
• Сетевой уровень добавляет IP-заголовок с адресами отправителя и получателя, превращая полученные данные в IP-пакет.
• Канальный уровень добавляет заголовок и окончание кадра, содержащие MAC-адреса и контрольную сумму, после чего получается Ethernet-кадр.
• Физический уровень преобразует кадр в последовательность битов, которая передаётся по кабелю, оптоволокну или радиоканалу.
• В итоге получается следующая цепочка:
Данные -> TCP-сегмент/UDP-датаграмма -> IP-пакет -> Ethernet-кадр -> биты• На стороне получателя происходит обратный процесс — декапсуляция, устройство последовательно удаляет заголовки, проверяет их и передаёт исходные данные нужному приложению.
• При этом IP-адреса указывают конечные узлы, порты определяют приложения, а MAC-адреса используются для доставки кадра внутри текущего участка локальной сети. Поэтому при прохождении через маршрутизатор Ethernet-кадр собирается заново и получает другие MAC-адреса.
• Теперь уровни сетевых моделей можно представить не как отдельные определения, а как этапы одного процесса передачи данных. В следующий раз разберём, из чего именно состоит Ethernet-кадр. Удачи!
#ИзучаемСеть
• Поддержать автора монеткой: @v_meshke
