1、路由表
路由:将数据从一个点传输到另一个点(中间会有很多其他点)的决策过程。
网关:节点,负责传播数据段或数据包
路由表:存储互联网的结构信息或拓扑信息,它为每个路由器如何到达网关存储一个条目
SPF路由:最短路径路由,每个路由器都维护有自己的网路图,以便计算自身与其他节点之间的最短路径来更新其路由表。
//paths最短路径生成的数,每个节点包含d 和父节点信息;destination:目的节点
//paths是头结点到所有节点的最短路径
int route(LIST_ATTRITIVE *paths, PathVertex *destination, PathVertex **next, int (*match)(const void *key1, const void *key2))
{
PathVertex *temp, *parent;
LIST_ELEMENT *element;
int found = 0;
//找到目的节点
for(element = list_head(paths); element != NULL; element = list_next(element))
{
if(match(list_data(element), destination))
{
temp = list_data(element);
parent =<