场景设定
主机A(内网):IP
192.168.1.10, MAC :MAC-A,网关:
192.168.1.1(路由器R1内网口)主机B(另一局域网):IP
202.99.88.77,MAC :MAC-B,网关:
202.99.88.1(路由器R2内网口)两个主机不在同一个网段,中间经过路由器R1、R2。
核心思想一句话:IP全程标识源主机、目的主机(端到端不变);MAC只负责当前一段链路,每经过一台路由器,二层MAC地址全部重写。
第一步:主机A判断目标主机是否在同一网段
主机A要发数据给B(192.168.1.10 → 202.99.88.77) A拿自己的子网掩码,和源IP、目的IP分别做与运算:
-
源网络:192.168.1.0
-
目的网络:202.99.88.0 👉 网络号不一样,判断:B不在同一个局域网!
规则:不同网段,数据包不能直接发给B,必须发给默认网关。 所以A现在需要得到网关192.168.1.1的MAC地址。
第二步:ARP请求,获取网关MAC
主机A发送ARP广播帧:
问:谁是192.168.1.1?请把你的MAC告诉我! 同一局域网内所有设备收到ARP。路由器R1内网口IP匹配,回复ARP单播应答: 我是192.168.1.1,我的MAC是
MAC-R1-in
主机A把【192.168.1.1 ↔ MAC-R1-in】存入ARP缓存表。
第三步:主机A封装数据包(网络层+数据链路层)
-
网络层封装(生成IP数据报)
-
源IP:
192.168.1.10 -
目的IP:
202.99.88.77
✅ IP地址从头到尾不会变(不考虑NAT场景)
-
-
数据链路层封装(生成帧)
-
源MAC:
MAC-A -
目的MAC:
MAC-R1-in(网关MAC,不是主机B的MAC!重点考点) -
FCS校验尾
-
重点区分: 目的IP=最终要找的主机;目的MAC=下一跳设备。
封装完成,帧交给物理层,转换成比特流,发送到局域网。
第四步:路由器R1收到帧,解封装 + 路由查找
-
数据链路层解封装 R1网卡收到比特流,组装成帧。FCS校验,校验无误。 剥掉二层帧头、FCS尾部,取出里面的IP数据报。
到此,二层MAC信息被丢弃,不再保留。
-
网络层处理 读取IP首部:目的IP是202.99.88.77。 查询R1自身路由表,找到去往202.99.88.0网段对应的下一跳(路由器R2外网口)。
-
重新封装二层帧 IP数据报不变,重新封装新的数据链路层帧:
-
源MAC:R1外网口MAC
MAC-R1-out -
目的MAC:R2外网口MAC
MAC-R2-out
IP仍然是:源192.168.1.10,目的202.99.88.77,保持不变。
新帧发送给路由器R2。
第五步:路由器R2接收帧,解封装、路由查找,再次封装
-
R2链路层解封装:拆掉帧头FCS,取出IP数据报。
-
读取目的IP:202.99.88.77。查路由表,发现该网段是R2直连内网。
-
R2需要知道主机B的MAC地址,发送ARP广播到自己内网:
谁是202.99.88.77?请回复MAC。 主机B收到ARP请求,回复ARP单播,告知MAC-B。
-
R2重新封装帧:
-
源MAC:
MAC-R2-in(R2内网口MAC) -
目的MAC:
MAC-B -
IP依旧不变!源IP192.168.1.10,目的IP202.99.88.77
帧发送给主机B。
第六步:主机B接收帧,逐层解封装
-
主机B的数据链路层:校验FCS,拆掉帧头和FCS,取出IP数据报。
-
网络层:读取IP首部,目的IP和本机IP匹配。剥掉IP首部,取出上层传输层数据,交给TCP/UDP。
-
传输层根据端口号,把数据交给对应的应用程序。
✅ 至此,A到B的数据发送完成。
回复过程:B发给A是反向执行一遍整套流程,源IP、目的IP互换;每一跳MAC地址再次重新更换。
设计思想:为什么要IP+MAC双层架构?
很多人疑惑:为什么不只用一个地址完成通信?官方为什么设计双层寻址?
这是计算机网络最经典的分层取舍设计,权衡了灵活性与传输效率:
1. 只用MAC的致命缺陷
MAC是扁平无层级的编号,就像所有人的身份证号乱序排列,没有地域区分。路由器无法通过MAC判断设备所在网络,无法实现路由转发,只能局限小局域网使用。且MAC固定,无法适配网络拓扑变动。
2. 只用IP的致命缺陷
IP是逻辑地址,可随时修改,没有硬件绑定。同一个网段内,无法精准定位具体设备,无法完成相邻节点的精准传输,缺少底层落地传输能力。
3. 双层架构的完美权衡
IP负责宏观路由:靠层级结构搞定“全网找路”,实现跨网段传输,灵活适配网络变更;
MAC负责微观交付:靠硬件唯一标识搞定“隔壁交付”,保证每一段链路的精准传输;
分层设计让路由逻辑和链路传输逻辑解耦,各自独立迭代、互不影响,这是互联网能够全球组网的核心基石。
424



被折叠的 条评论
为什么被折叠?



