Важным свойством протокола TCP/IP при работе в межсетевых соединениях и Internet является возможность выполнения маршрутизации. Маршрутизация − целенаправленная передача пакетов из одной сети (или подсети) в другую, процесс выбора пути для передачи пакета в сети. Путь (маршрут) − последовательность маршрутизаторов, через которые проходит пакет по пути к узлу-назначению. Маршрутизатор − выделенное устройство или компьютер, выполняющий функции маршрутизатора, должен принадлежать как минимум двум сетям. Маршрутизаторы имеют по несколько портов (не менее двух). Каждый порт маршрутизатора можно рассматривать как отдельный узел сети − он имеет собственный сетевой адрес и собственный локальный адрес в той подсети, которая к нему подключена.
Задачу выбора маршрута решают маршрутизаторы, а также конечные узлы. Когда требуется отправить пакет узлу с определенным IP-адресом, то узел-отправитель выделяет с помощью маски подсети из собственного IP-адреса и IP-адреса получателя номера сетей. Далее номера сетей сравниваются и если они совпадают, то пакет направляется непосредственно получателю, в противном случае - маршрутизатору, чей адрес указан в настройках протокола IP. Выбор пути на маршрутизаторе осуществляется на основе информации, представленной в таблице маршрутизации. Таблица маршрутизации − это специальная таблица, которая представляет собой базу данных, содержащую пути к различным сетям; сопоставляющая IP-адресам сетей адреса следующих маршрутизаторов, на которые следует отправлять пакеты с целью их доставки в эти сети. Обязательной записью в таблице маршрутизации является так называемый маршрут по умолчанию, содержащий информацию о том, как направлять пакеты в сети, адреса которых отсутствуют в таблице, поэтому нет необходимости описывать в таблице маршруты для всех сетей. Таблицы маршрутизации могут строиться «вручную» администратором или динамически, на основе обмена информацией, который осуществляют маршрутизаторы с помощью специальных протоколов − протоколов динамической маршрутизации, например, RIP, OSPF.