主机发送数据包
自身
测试环回接口(127.0.0.1),验证主机上的TCP/IP协议堆栈是否正常工作
测试本机IP地址,验证本机网络参数是否正确
本地主机
目标主机与发送主机位于同一本地网络,这些主机共享同一个网络地址
ARP请求目标主机的MAC地址
远程主机
目标主机是位于远程网络上的主机、和当前主机不再同一个网络
默认网关:可以将流量发送到其他网络的网络设备
ARP请求默认网关的MAC地址
路由器数据包转发决策
路由器的路由表
路由器通过查看路由表来确定将数据包转发到哪里
路由表中的信息
直连路由
来自于活动的路由器接口。当接口配置了IP地址并激活时,路由器会添加直连路由
路由器的每个接口会连接到一个不同的网段
远程路由
来自连接到其他路由器的远程网络。
默认路由
路由器会将默认路由作为最后选用网关
数据包转发过程
首先,主机发出数据包
if 目标地址是相同网络的其他主机地址:
直接发送给相应主机
else if 目标地址时其他网络的主机地址:
发送给默认网关(网关路由器)
if 目标网络在网关路由器路由表中存在直连网络条目:
直接转发给目标主机
else if 目标网络是网关路由器路由表中存在远程网络条目:
发送给下一跳路由器
else if 路由器中存在默认路由:
发往默认路由指定的下一跳路由器
else:
丢弃数据包