IP数据报发送和转发的过程
1. 发送端准备数据
-  
应用程序(比如浏览器)要发送数据,比如访问一个网站。
 -  
应用层(HTTP) → 传输层(TCP/UDP) → 网络层(IP)。
 -  
IP层负责把数据包打包,加上必要的信息,比如:
-  
源IP地址(发件人地址)
 -  
目的IP地址(收件人地址)
 
 -  
 -  
最后形成一个完整的IP数据报。
 
2. 判断目标 IP 地址是内网还是外网
-  
设备检查目的 IP 地址:
-  
如果目标 IP 是同一个局域网(比如同一个家里的电脑),就直接发;
 -  
如果目标 IP 不在本局域网(比如访问外部网站),就交给默认网关(通常是路由器)。
 
 -  
 
3. 通过链路层打包并发送
-  
IP数据报交给链路层(比如以太网协议)。
 -  
链路层加上本机的 MAC 地址和目的地的 MAC 地址,封装成以太网帧。
 -  
最后通过网卡发送出去(比如用网线或WiFi)。
 
4. 路由器收到数据包,开始转发
-  
路由器收到数据包后,解开外面的链路层包,看里面的 IP数据报。
 -  
路由器查路由表:
-  
路由表记录了不同 IP 网段应该往哪个方向走(比如哪个接口转发)。
 
 -  
 -  
根据目的 IP 地址,决定下一跳(下一站)发给谁。
 
5. 转发过程中,逐跳处理
-  
每经过一个路由器,都会进行一次类似的操作:
-  
解封链路层,查看 IP 头部。
 -  
查路由表,决定下一跳。
 -  
重新封装链路层包,继续发送。
 
 -  
 -  
每次转发,IP数据报本身一般不会被修改,只有TTL(生存时间)字段减1,防止数据包永远在网络里循环。
-  
如果TTL减到0,路由器就会丢弃数据包,并通知源设备。
 
 -  
 
6. 到达目标子网
-  
当数据包抵达目标局域网(比如你访问的服务器所在的网络):
-  
路由器把数据包发给具体的目标设备(根据目标 IP)。
 
 -  
 
7. 接收端处理数据
-  
目标设备收到数据包。
 -  
拆开链路层、IP层封装,交给传输层(TCP/UDP)。
 -  
最后交给应用程序(比如网页浏览器)。
 
默认网关
默认网关通常就是你家路由器在局域网内的地址
举个实际的小例子:
假设你家网络情况是这样的:
-  
路由器 LAN口 IP 地址是
192.168.1.1 -  
你的电脑 IP 地址是
192.168.1.100 -  
手机 IP 地址是
192.168.1.101 
那么:
-  
你的电脑和手机的默认网关设置的就是
192.168.1.1 -  
也就是:有出门需求(访问外网)时,都先交给路由器处理。
 


