分析LWIP协议栈的文档。
外发的信息包由ip_output()函数处理,该函数使用ip_route()函数查找适当的网络接口来传送信息包。当外发的网络接口确定后,信息包传给以外发网络接口为参数的ip_output_if()函数。在这里,所有的IP包头字段被填充,并且计算IP包头校验和。IP信息包的源及目标地址作为参数被传递给ip_output_if()函数。
ip_route()函数通过线性检索网络接口链表找到适当的网络接口。在检索期间,用网络接口的网络掩码对IP信息包的目标地址进行掩码运算。如果经掩码运算的目标地址等与同样经掩码运算的接口IP 地址(即网络地址相等,同在一个子网中,译者注),则选择这个接口。如果没有找到匹配的,则使用缺省网络接