在互连网络中,数据包的传输路径受网络状态影响,可在源节点和目标节点间的多条传输路径中选择到达目标节点的路径,由于源节点和目标节点之间有多条路径可选择,数据包可以根据当前的网络状态来避开网络拥塞或网络中的故障区,选择空闲的通道。该概念源于20世纪80年代提出的动态路由算法,自适应路由是对这一类算法的统称。
自适应路由算法根据网络中的链路状态进行路由选择,其通过两个函数来实现:路由函数和选择函数。路由函数根据当前节点和目标节点的位置选出一组输出通道。而选择函数根据这些输出通道的状态从中选择一个通道(通常是空闲的通道)作为转发数据包的输出通道。在自适应路由下,数据包从源节点转发到目标节点的路径是不固定的,因而有更大的灵活性。
自适应路由主要解决了网络拥塞和容错问题。自适应路由减少了网络的阻塞延迟,提高了网络的利用率。相对于确定性路由而言,自适应路由具有负载均衡性好,容错性能好的特点,但实现难度较大。一方面,同一对源节点和目的节点之间的数据包可能选择不同的传输路径,数据包之间可能乱序到达目的节点;另一方面,自适应路由有可能造成网络的死锁。