Следует отметить, что в рамках стека протоколов TCP/IP любая сеть, входящая в составную сеть, рассматривается как средство транспортировки пакетов данных между двумя соседними сетями. Каждый протокол оперирует определенной единицей передаваемых данных, названия которых, как правило, закрепляются в существующих стандартах (см. рис. 1).
Рис. 1. Протокольные единицы данных в TCP/IP
Стек протоколов TCP/IP состоит из 4 основных уровней – прикладного, транспортного, сетевого и уровня сетевых интерфейсов. Каждый из этих уровней соответствует уровням модели OSI (см. рис. 2).
Рис. 2. Соотношение уровней модели OSI и TCP/IP
Прикладной уровень TCP/IP соответствует трем верхним уровням модели OSI (прикладному, представления и сеансовому) и состоит, в частности, из протоколов передачи данных (File Transfer Protocol, FTP), передачи почты (Simple Mail Transferring Protocol, SMTP), передачи гипертекста (Hypertext Transfer Protocol, HTTP).
Транспортный уровень, соотносящийся с транспортным уровнем модели OSI, представлен двумя важнейшими для функционирования сети, в том числе блокчейн, протоколами – протоколом управления передачей (Transmission Control Protocol, TCP) и протоколом пользовательских дейтаграмм (Usar Datagram Protocol, UDP). Для обеспечения надежной доставки данных от пользователя к пользователю протокол TCP предусматривает установление логического соединения, что позволяет ему нумеровать пакеты, подтверждать их прием, в случае потери организовывать повторные передачи, распознавать и уничтожать дубликаты, доставлять на прикладной уровень (например, при использовании FTP) пакеты в том порядке, в котором они были отправлены, что обеспечивает целостность и машиночитае-мость отправляемых данных.
Сетевой уровень, или уровень Интернета, является основным элементом архитектуры TCP/IP. Именно этот уровень обеспечивает перемещение пакетов в пределах составной сети, образованной объединением нескольких подсетей. Основным протоколом сетевого уровня является межсетевой протокол (Internet Protocol, IP). В его задачу входит передвижение пакетов данных между сетями – от одного узла к другому до тех пор, пока данные не попадут в сеть назначения.