Протоколы TCP/IP
Протоколом называется набор правил, задающих форматы сообщений и процедуры, которые позволяют компьютерам и прикладным программам обмениваться информацией. Эти правила соблюдаются каждым компьютером в сети, в результате чего любой хост-получатель может понять отправленное ему сообщение. Набор протоколов TCP/IP можно рассматривать как многоуровневую структуру.
На этом рисунке показан стек протоколов TCP/IP. Он делится на следующие уровни (начиная с верхнего): прикладной, транспортный, сетевой, интерфейсный и аппаратный.

В протоколе TCP/IP строго зафиксированы правила передачи информации от отправителя к получателю. Сообщение или поток данных приложения отправляется протоколу Internet транспортного уровня, то есть Протоколу пользовательских дейтаграмм ( UDP) или Протоколу управления передачей (TCP). Получив данные от приложения, эти протоколы разделяют всю информацию на небольшие блоки, которые называются пакетами. К каждому пакету добавляется адрес назначения, а затем пакет передается на следующий уровень протоколов Internet, то есть сетевой уровень.
На сетевом уровне пакет помещается в дейтаграмму протокола Internet (IP), к которой добавляется заголовок и концевик. Протокол сетевого уровня определяет адрес следующего пункта назначения IP-дейтаграммы (она может быть передана сразу получателю или на промежуточный шлюз) и отправляют ее на уровень сетевого интерфейса.
Уровень сетевого интерфейса принимает IP-дейтаграммы и передает их в виде кадров с помощью аппаратного обеспечения, такого как адаптер Ethernet или Token-Ring.

Кадры доставляются на компьютер получателя, после чего они проходят все уровни протоколов в обратном порядке. На каждом уровне удаляются соответствующие этому уровню заголовки, после чего данные передаются на уровень приложения.

Кадры передаются на уровень сетевого интерфейса (в данном случае, адаптеру Ethernet). Уровень сетевого интерфейса отбрасывает заголовок Ethernet и отправляет дейтаграмму на верхний сетевой уровень. На сетевом уровне Протокол Internet отбрасывает IP-заголовок и отправляет пакет на верхний транспортный уровень. Протокол транспортного уровня (в данном случае - TCP) удаляет заголовок TCP и передает данные на верхний уровень приложения.
Хосты в сети получают и передают информацию одновременно. На рисунке Рис. 4 показан процесс взаимодействия хостов.
