TCP решает задачу надежного обмена данными путем установления логических соединений. Соединение однозначно идентифицируется парой сокетов.

TCP-соединение является дуплексным, оно устанавливается в результате переговорного про­цесса о максимальном размере единицы передачи, максимальном объеме данных, которые можно передавать без получения подтверждения, о начальном порядковом номере байта, с которого начинается отсчет потока данных в рамках данного соединения. При создании соединения ОС выделяет каждой стороне определенные системные ресурсы для организации буферов, таймеров, счетчиков.

Процедура приема протоколами TCP/UDP данных, поступающих от различных прикладных служб, называется мультиплексированием. Обратная процедура распределения протоколом TCP/UDP поступающих от сетевого уровня пакетов между набором высокоуровневых служб называется демультиплексированием. Протокол UDP реализует демультиплексирование с по­мощью сокетов, a TCP — с помощью соединений.

Для управления потоком в рамках TCP-соединения используется специфический вариант ал­горитма скользящего окна. Сторона-получатель передает стороне-отправителю размер окна приема в байтах. При этом она исходит из того, с какой скоростью сможет обрабатывать при­сылаемые данные. Однако управлять окном приема может и отправитель. Если отправитель фиксирует ненадежную работу линии связи, то он может по собственной инициативе умень­шить окно.

Протоколы маршрутизации генерируют для каждого маршрутизатора согласованные таблицы маршрутизации, то есть такие, которые позволят обеспечить доставку пакета по рационально­му маршруту от исходной сети в сеть назначения за конечное число шагов. Для этого маршру­тизаторы сети обмениваются специальной информацией о топологии составной сети.

Различают статическую и адаптивную (динамическую) маршрутизацию:

при статической маршрутизации таблицы составляются и вводятся в память каждого мар­шрутизатора вручную администратором сети;

адаптивная (динамическая) маршрутизация обеспечивает автоматическое обновление таб­лиц маршрутизации после изменения конфигурации сети.

Адаптивные протоколы маршрутизации делятся на две группы, каждая из которых связана с одним из следующих типов алгоритмов:

в дистанционно-векторных алгоритмах каждый маршрутизатор периодически и широкове­щательно рассылает по сети вектор, компонентами которого являются расстояния отдан­ного маршрутизатора до всех известных ему сетей;

алгоритмы состояния связей обеспечивают каждый маршрутизатор информацией, доста­точной для построения точного графа связей сети.

Протоколы маршрутизации Интернета делятся на внешние и внутренние. Внешние протоколы (EGP) переносят маршрутную информацию между автономными системами, а внутренние (IGP) применяются только в пределах определенной автономной системы.

Протокол RIP является наиболее старым протоколом маршрутизации сетей TCP/IP. Несмотря на его простоту, определенную простотой дистанционно-векторного алгоритма, RIP успешно работает в небольших сетях с количеством промежуточных маршрутизаторов не более 15.

RIP-маршрутизаторы при выборе маршрута обычно используют самую простую метрику — ко­личество промежуточных маршрутизаторов между сетями, то есть хопов.

В сетях, работающих по протоколу RIP и имеющих петлевидные маршруты, могут наблюдать­ся достаточно длительные периоды нестабильной работы, когда пакеты «зацикливаются» в маршрутных петлях и не доходят до адресатов. Для борьбы с этими явлениями в RIP-маршру- тизаторах предусмотрено несколько приемов (расщепление горизонта, замораживание изме­нений, триггерные обновления), которые сокращают в некоторых случаях периоды нестабиль­ности.

Протокол OSPF был разработан для эффективной маршрутизации IP-пакетов в больших сетях со сложной топологией, включающей петли. Он основан на алгоритме состояния связей, кото­рый устойчив к изменениям топологии сети.