В общедоступном значении слова маршрутизация означает передвижение информации от источника к пункту назначения через сеть. При этом, как правило, на пути информационного пакета встречается по крайней мере один узел. Маршрутизация включает в себя два основных компонента: определение оптимальных трактов маршрутизации и транспортировка информационных пакетов через сеть или коммутация.
Алгоритмы коммутации сравнительно просты и, в основном, одинаковы для большинства протоколов маршрутизации. Получив определенным способом адрес маршрутизатора, хост - источник сообщения отправляет пакет, адресованный специально в физический адрес роутера (уровень MAC), содержащий, кроме всего прочего, адрес (сетевой уровень) машины пункта назначения. После проверки адреса протокола пункта назначения пакета маршрутизатор определяет, знает ли он, как передать этот пакет к следующему роутеру. Если роутер не знает, как переслать пакет, - пакет, как правило, игнорируется. В первом случае роутер отсылает пакет к следующему роутеру путем замены физического адреса пункта назначения на физический адрес следующего роутера и последующей передачи пакета. По мере того, как пакет продвигается через сеть, его физический адрес меняется, однако сетевой адрес получателя остается неизменным.
Определение маршрута может базироваться на различных показателях, например, длина маршрута, ширина полосы пропускания или стоимость канала связи, и их комбинациях. Алгоримы маршрутизации подсчитывают значения таких показателей и определяют оптимальные маршруты. Алгоритмы маршрутизации создают и поддерживают таблицы, в которых содержится маршрутная информация.
Алгоритмы маршрутизации заполняют маршрутные таблицы информацией о маршрутах. Ассоциации «пункт назначения - следующая пересылка» сообщают роутеру, что определенный пункт назначения может быть оптимально достигнут путем отправки пакета в определенный роутер, представляющий «следующую пересылку» на пути к конечному пункту назначения. В маршрутных таблицах может содержаться также и другая информация, как правило, это - различные характеристики канала (способа пересылки данных). Значения полей «характеристик» содержит информацию о желательности какого-либо канала или тракта. Роутеры сравнивают эти показатели, чтобы определить оптимальные маршруты. Показатели отличаются друг от друга в зависимости от используемой схемы алгоритма маршрутизации.
Маршрутизаторы взаимодействуют друг с другом (и поддерживают свои маршрутные таблицы) путем передачи различных сообщений. Анализируя информацию сообщений, поступающую от всех маршрутизаторов, любой из них может построить детальную картину топологии сети. После того, как топология сети становится понятной, маршрутизаторы могут определить оптимальные маршруты к пунктам назначения и использовать их при передаче данных.
Алгоритмы маршрутизации можно классифицировать, основываясь на нескольких характеристиках Во-первых, на работу результирующего протокола маршрутизации влияют конкретные задачи, которые решает разработчик алгоритма. Во-вторых, существуют различные типы алгоритмов маршрутизации, и каждый из них по-разному влияет на сеть и ресурсы маршрутизации. И наконец, алгоритмы маршрутизации используют разнообразные показатели, которые влияют на расчет оптимальных маршрутов.