家庭网络
2025-11-08 11:05:45
在运营商购买宽带服务,接入光猫,一般来说这样就可以上网了,但仅限于有线连接,所以还会接入一台路由器,使用网线与路由器的 "wan" 口连接,光猫通过ppoe拨号获取运营商分配的公网ip,路由器获取到光猫分配的内网ip (仅是举例,实则两个获取到的都是内网ip,运营商级NAT)
对于网关来说,谁拨号获取到ip,谁就是网关,在这里光猫就是网关,而路由器则是NAT
当一台主机要连接到网络,插上网线后,DHCP协议开始工作,电脑的DHCP客户端发起一个DHCP请求,用来获取IP,请求会被层层封装
以 "TCP/IP四层模型" 为例 应用层 传输层 网络层 网路接口层
过程
1 | 数据来到 '传输层',传输层指定 DHCP 请求通过(?)协议,发往(?)端口 |
层层封装的数据包会从电脑的网卡接口顺着网线来到 路由器的LAN1 普通的家用路由器只能解析 网络接口层 的设备,也就是说除了MAC地址 ,IP、端口 都看不懂
路由器内部有一个 MAC地址映射表 记录每个接口对应的 MAC 地址,用来转发数据
从 LAN1 接收到数据后,把源MAC地址保存到映射表,查看目标MAC是一个广播MAC地址,会给每个连接的接口发送一份(主机网口,路由器WAN口)
当主机收到数据包根据网络模型解封装,网络接口层看到是广播MAC地址,接受
网络层看到目标是广播IP地址,接受
传输层看到是UDP方式 从主机的68号端口发往路由器的67端口,但电脑没必要开67端口,丢弃
可能传输层会觉得混淆,正常情况是 ‘主机68’ -> ‘路由器DHCP67’ ,为什么后面要加一句“电脑没必要开…….“是因为路由器LAN口看到是广播MAC地址干脆把连接口都发一遍(它不知道要发给路由器所以也给主机发了一份)
<———以上是将数据包发给主机———->
1 | 同样的数据来到路由器,网络接口层和网络层会接受,传输层看到目标是UDP67端口,数据包交给DHCP服务,收到后会从IP池中分配一个未被占用的IP地址,还要子网掩码、网关、DNS、租期等 |