
Это вторая часть Основы сетевого взаимодействия, здесь мы будем рассматривать поля заголовка IP-пакета, передаваемых на сетевом уровне.
Начнем мы именно с сетевого уровня. Что можно сказать про сетевой уровень? На сетевом уровне «бегают» IP-пакеты. IP-пакет представляет из себя некий заголовок, состоящий из служебных полей в которую включена адресация, некие служебные параметры и данные, спущенные сверху с вышележащих уровней.
Поле Sourse Address и Destination Address (Основы сетевого взаимодействия

Адресация — есть два 32 -х битных (ip-адрес в двоичном формате занимает 32 бита) поля ip-пакета, в котором находятся источник (Sourse Address) и получатель (Destination address) в каждом из которых находятся некий адрес и адрес этот выглядит обычным и привычным для нас образом. Например адрес может быть 10.0.0.1 у отправителя и 192.168.34.5 у получателя.
Поле Time to Live (TTL)
Time to Live (TTL) — это поле внедрено в заголовок ip для того чтобы на сетевом уровне не случалось бесконечных петель. Под «бесконечными петлями» подразумевается: представьте себе какую-то большую сеть, в которой между отправителем с IP-адресом 10.0.0.1 и получателем с IP-адресом 192.168.34.5 находится несколько маршрутизаторов. Отправитель отсылает некий IP-пакет. Пакет проходит Маршрутизатор 1 и тут случается сбой сети. Пакет вместо того, чтобы пройти Маршрутизатор 2 и идти дальше к Получателю, зацикливается между Маршрутизатором 1 и Маршрутизатором 2.

Если бы не было поля TTL, этот пакет «бегал» бы в этом кольце, образованном двумя маршрутизаторами, вечно. Все дело в том, что каждый маршрутизатор, пропуская через себя IP-пакет, уменьшает значение поля TTL на единицу. Это делает каждый маршрутизатор. Если мы посмотрим на таблицу 1.1 (IP-пакет), то мы увидим что размер поля TTL- 1 байт (8 бит). Это означает что максимальное (теоретически возможное) значение поля TTL — 255. И пакет, попавший в это кольцо, в самом худшем случае «пробежит» 255 «кругов» пока его значение TTL не станет равно нолю. Как только маршрутизатор «увидит» значение поля TTL IP-пакета равное нулю, маршрутизатор такой пакет «отбрасывает». В следствие чего, «бесконечных петель» в сетях на сетевом уровне не бывает.
Начальное значение поля TTL определяется операционной системой, отправившей этот IP-пакет. В зависимости от ОС, значение бывает 64, 128.
Поле Protocol
В заголовке IP-пакета есть ещё достаточно важное поле Protocol. Суть этого поля в том, что в прямо в заголовке сетевого уровня содержится информация о том, какой протокол у нас внутри заинкапсулирован. То есть, «глядя» на это поле, наш сетевой уровень будет «знать» кому этот пакет отдавать: либо UDP, либо TCP. В поле Protocol кодируется информация для транспортного уровня.
Дополнительная информация. (Основы сетевого взаимодействия)
Еще хочется добавить общую информацию о маршрутизаторах. Маршрутизатор, как устройство сетевого уровня, анализирует проходящие через него пакеты для того, чтобы доставить пакет к получателю. Маршрутизаторы, принимая решение куда им отправить пакет, «смотрят» только на одно поле: Destination Address. У каждого маршрутизатора есть своя собственная таблица маршрутизации или Routing Table, в которой есть записи типа: «пакеты для такой сети отправлять то кому-то соседу». В случае, если маршрутизатор «знает» куда ему отправить пакет для этой сети, он его отправляет соответствующим «соседу».
Решение по каждому IP- пакету каждым маршрутизатором принимается независимо: во-первых — от всех предыдущих пакетов, во-вторых — независимо от «мнения» всех соседних маршрутизаторов, которые находятся в сети.
IP протокол сам по себе не обладает свойством гарантированной доставки и у него нет никакой предварительной процедуры установки соединения. IP-пакеты, отправленные конечной системой, просто по очереди пересылаются каждым маршрутизатором своему «соседу» в зависимости от текущего состояния его собственной таблицей маршрутизации. Если есть запись в таблице маршрутизации данного маршрутизатора куда отправить данный пакет, пакет передаётся соответствующему «соседу»; нет записи в таблице маршрутизации у нашего маршрутизатора для поля Destination Address этого пакета в данный момент, этот пакет будет «отброшен». Таким образом, ориентируясь только на поле Destination Address и «глядя» в поле Time to Live для того чтобы уменьшить негативные последствия возникновения «бесконечной петли», маршрутизаторы доставляют пакеты оригинальным получателям.