找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1583

积分

0

好友

228

主题
发表于 5 天前 | 查看: 13| 回复: 0

假设在人群中,有人喊了一声“罗小浩”,你便会循声转头,发现是老同学贾小龙。接下来便是老友重逢的寒暄与打闹……

网络分层比喻示意图

你为什么会转头?

因为你知道“罗小浩”这个关键词指的是你,它就像一个过滤器(Filter),帮你屏蔽了不相关的杂音。如果喊的是“王小明”,你多半不会理会,因为它已经被过滤掉了。

实际上,我们的大脑本身无法直接“听见”声音。于是,它将“接收(Rx)”声波信号的任务委托给了耳朵。其工作原理大致是:将模拟的声波信号,通过生理结构过滤出感兴趣的信号,并将其转换为生物电信号传递给大脑。这个过程,可以理解为一种特定的输入(Input),简称 I

同理,大脑也无法直接“发出”声音。它将“发送(Tx)”声波信号的任务委托给了嘴巴,将生物电信号转化为声波并传播出去。这个过程,可以理解为一种特定的输出(Output),简称 O

物理层(Physical Layer)

耳朵与嘴巴这一对黄金组合,共同完成了输入/输出(I/O),即Rx/Tx。从感性认知上,这就是物理层。

计算机中的网卡(NIC) 是地地道道的物理层设备,它的核心任务同样是 I/O(Rx/Tx),其工作流程可类比于耳朵和嘴巴。

然而,如果不给网卡配置一个过滤器,它将接收所有经过的信号。这极其糟糕,会导致CPU疲于处理大量不属于自己的数据包。

为了解决上述问题,我们引入数据链路层,并在这一层添加链路层过滤器。对于以太网卡而言,这个过滤器就是 MAC地址

网卡会根据以下规则进行过滤:

  • 目的MAC是本机MAC,则接收。
  • 目的MAC是广播地址,则接收。
  • 目的MAC是感兴趣的组播地址,则接收。
  • 其他MAC地址的数据帧,一律丢弃!

你可能会问:既然链路层已经有了MAC地址过滤器,为什么还需要网络层的过滤器(如IP地址)?

别忘了网络中有路由器这样的设备。

对于一个到达路由器的数据包:

  • 情况一:目的MAC == 路由器MAC 目的IP == 路由器IP → 说明此包就是发给路由器自身的,接收并上交给上层处理。
  • 情况二:目的MAC == 路由器MAC 目的IP ≠ 路由器IP → 说明此包需要路由器进行转发(Forward)
  • 情况三:目的MAC ≠ 路由器MAC(且非广播/感兴趣的组播)→ 丢弃!

通常,网卡硬件负责物理层和大部分数据链路层功能。而操作系统内核中的TCP/IP协议栈,则负责网络层(如IP协议)及以上的处理。

因此,链路层过滤器和网络层过滤器都是必不可少的。本质上,无论是链路层地址(MAC)还是网络层地址(IP),对于发送方而言是“地址”,但对于接收方而言,它们都是“过滤器”。一旦深刻理解了这个核心观点,很多网络基础概念都会变得清晰起来。

数据包被成功交付给网络层的TCP或UDP后,又会经历一个复杂但逻辑清晰的过滤过程(例如通过五元组哈希匹配到正确的Socket)。

从有线网络来看,数据链路层(L2)、网络层(L3)、传输层(L4) 都拥有自己的过滤器机制。理解了“过滤”,就掌握了计算机网络大半的精髓。甚至在无线网络(如Wi-Fi 5/6/7)中,物理层本身也具备初步的过滤能力。

一个生动的比喻

假设王老师想传一张纸条给“罗小浩”,纸条上写着“罗小浩收”。

  1. 王老师将纸条递给队伍的第一位同学。
  2. 第一位同学递给身后的第二位同学。
  3. 第二位同学递给身后的第三位同学。
  4. 第N位同学最终将纸条递给了罗小浩本人。

游戏结束,因为“数据包”已经抵达最终目的地。

故事中第1、2、3…N-1位同学,扮演的就是路由器(Relay) 的角色,负责数据包的转发

  • 为什么中间同学会接收并传递不属于自己的纸条?
    因为纸条上写的当前接收人(类比目的MAC地址)就是他。
  • 为什么中间同学不留下来,而是继续传递?
    因为纸条的最终收件人(类比目的IP地址)是“罗小浩”,而不是他,所以必须转发。

分层设计的必要性

如果大脑自身就具备听说能力,那确实可以不分层,无需耳朵和嘴巴。但现实是,人体通过不同器官(分层)来专精特定功能,实现了高效协作。

计算机网络分层 的设计思想亦是如此!通过清晰的层次划分,每一层专注解决特定问题,并使用标准的接口与上下层交互,从而实现了复杂网络通信系统的模块化、可靠与高效。




上一篇:树莓派CM0 NANO部署Home Assistant与HACS:集成Xiaomi Home实现智能家居本地化
下一篇:PHP魔术方法__debugInfo在免杀Webshell中的创新应用
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 18:57 , Processed in 0.301892 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表