Ограниченный кратчайший путь первым (CSPF) — это расширение алгоритмов кратчайшего пути. Путь, вычисленный с помощью CSPF, является кратчайшим путем, удовлетворяющим набору ограничений. Это просто означает, что он запускает алгоритм кратчайшего пути после обрезки тех ссылок, которые нарушают заданный набор ограничений. Ограничением может быть минимальная пропускная способность, требуемая для каждой ссылки (также известная как ограничение гарантированной полосы пропускания), сквозная задержка, максимальное количество пройденных ссылок, включение/исключение узлов. CSPF широко используется в проектировании трафика MPLS [ требуется ссылка ] . Маршрутизация с использованием CSPF известна как маршрутизация на основе ограничений (CBR).
Путь, вычисленный с использованием CSPF, может быть точно таким же, как и вычисленный с использованием OSPF и IS-IS , или может быть совершенно другим в зависимости от набора ограничений, которые необходимо выполнить.
Рассмотрим сеть справа, где маршрут должен быть вычислен от маршрутизатора A до маршрутизатора C, удовлетворяя ограничению полосы пропускания в x единиц, а стоимость соединения для каждого соединения основана на количестве переходов (т. е. 1).
Если x = 50 единиц, то CSPF даст путь A → B → C.
Если x = 55 единиц, то CSPF даст путь A → D → E → C.
Если x = 90 единиц, то CSPF даст путь A → D → E → F → C.
Во всех этих случаях OSPF и IS-IS приведут к пути A → B → C.
Однако, если стоимость соединения в этой топологии различна, CSPF может соответственно определить другой путь. Например, предположим, что, как и прежде, количество переходов используется в качестве стоимости соединения для всех соединений, кроме A → B и B → C, для которых стоимость равна 4. В этом случае:
Если x = 50 единиц, то CSPF даст путь A → D → E → C.
Если x = 55 единиц, то CSPF даст путь A → D → E → C.
Если x = 90 единиц, то CSPF даст путь A → D → E → F → C.