详述IP数据包的转发流程

 IP数据包的转发流程
1)IP数据包到达网络层之后,首先根据目的IP地址得到目的网络号,然后决定是直接交付还是转发数据包。如果网络号不匹配,需要转发数据包,则跳到3);
2)将数据包转发给目的主机;
3)首先根据目的IP地址在路由表(转发表)中查找下一跳IP地址;
4)然后在路由器的ARP高速缓存表中查找下一跳IP地址对应的MAC地址,如果找到下一跳路由器的MAC地址,则将查到的MAC地址填入数据帧的首部6 字节(即更新链路层的数据帧);如果ARP高速缓存表中不存在此IP地址,则通过向当前局域网内广播一个ARP分组来请求下一跳路由器的MAC地址。 ARP请求分组广播出去后,只有下一跳路由器会对此请求分组做出响应,所有其它的主机和路由器都将忽略此ARP广播分组。
5)根据得到的下一跳路由器MAC地址来更新数据链路层的数据帧,即帧头的目的MAC地址字段;
6)转发数据包;

注意:2)步骤中数据包的直接交付时,如果当前路由器的ARP高速缓存表中找不到相应的匹配项,则也需要向当前局域网广播ARP请求分组来获取相应主机的MAC地址。

你可能感兴趣的:(驱动开发)