Стек TCP/IP состоит из четырех уровней: канальный, межсетевого взаимодействия, транспортный и прикладной.
Рассматривается реализация стека в пределах одного устройства, например, компьютера, ноутбука или смартфона.
Прикладной процесс может взаимодействовать с сетевым уровнем напрямую или через транспортный уровень.
На сетевом уровне основным протоколом является IP, который используется для передачи данных в локальных и глобальных сетях.
На транспортном уровне используются протоколы TCP и UDP.
Протокол ARP определяет адрес канального уровня по известному IP-адресу.
Протокол ARP-R определяет неизвестный IP-адрес по известному адресу канального уровня.
Протокол OSPF используется для обмена сообщениями об ошибках при передаче IP-пакетов.
Протокол IGMP используется для управления группами в Интернете.
Протокол TCP является надежным транспортным протоколом, гарантирующим доставку данных.
Протокол UDP является ненадежным транспортным протоколом, не гарантирующим доставку данных.
Пользовательские процессы могут взаимодействовать с различными протоколами на прикладном уровне.
Стек TCP/IP предоставляется пользователю в составе операционной системы.
Следующий вопрос касается инкапсуляции в стеке TCP/IP.
Пользователь формирует данные, которые отправляются в приложение.
Приложение добавляет заголовок, понятный принимающей стороне.
Данные передаются на транспортный протокол TCP, который добавляет свой заголовок.
TCP сегмент передается на сетевой уровень IP.
IP добавляет заголовок пакета, чтобы принимающая сторона понимала данные.
IP дейтаграмма передается на канальный уровень Ethernet.
Ethernet кадр отправляется в среду передачи.
Данные передаются в виде потока бит по медным парам или оптическому волокну.
Данные опускаются вниз по стеку протоколов TCP/IP.
На каждом уровне добавляется служебная информация.
Информация добавляется путем стыковки заголовка в начало поля данных.
Иногда добавляется завершитель, как в примере с кадром.
Транспортные и прикладные протоколы работают только в оконечных узлах.
Протоколы IP и канального уровня работают на промежуточных узлах.
Заголовок IP обрабатывается на всех маршрутизирующих устройствах.
Кадр канального уровня передается на сетевой уровень.
IP определяет протокол вышележащего уровня и передает данные.
TCP определяет прикладной процесс и передает данные ему.
Прикладной процесс определяет, что делать с данными.
Рассматривается следующий вопрос - демультиплексирование.
Демультиплексирование - это процесс, при котором данные передвигаются вверх по стеку.
На каждом уровне просматривается соответствующий заголовок для определения протокола верхнего уровня.
Определяется, к какому протоколу верхнего уровня необходимо отправить данные.
В заголовке IP-кадра содержится поле "протокол", указывающее на нужный протокол.
Протоколы TCP и UDP работают на транспортном уровне.
В заголовках TCP и UDP содержится поле "номер порта назначения", указывающее на прикладной процесс.
Номера портов TCP и UDP делятся на статические и динамические.
Статические порты от 1 до 1023 закреплены за определенными прикладными процессами.
Протокол передачи файлов использует порт 21.
Протокол передачи гипертекста использует порт 80.
Номера портов от 1024 и выше назначаются динамически.
Динамическая нумерация портов используется от 1024 до 5000 порта.
Номера портов свыше 5000 предназначены для серверов, не зарезервированных в сети Интернет.
Официальные стандарты Интернет публикуются в системе IETF.
Каждый стандарт имеет свой номер и может содержать от одной до двухсот страниц.
Существуют четыре группы, ответственные за технологию Интернет.
Первая группа отвечает за настройку и поддержку роста Интернет.
Вторая группа занимается технической координацией.
Третья группа разрабатывает стандарты.
Четвертая группа занимается долговременными проектами.