咱们平时刷视频、发消息、逛网页,背后都是计算机网络在 “默默干活”。但很多人一听到 “网络协议”“IP 地址” 就头大,其实这些知识像日常寄快递、打电话一样好理解。今天咱们就用大白话,先搞懂互联网的基础概念,再吃透两个核心协议 ——ARP 和 ICMP,帮你入门计算机网络。

一、先搞懂:互联网的基础概念是啥?

        在讲协议之前,得先明白几个 “入门词汇”,不然后面容易绕晕。咱们用 “小区快递系统” 打比方,你一下子就能懂:

1. 计算机网络:就是 “设备连起来,能传东西”

        简单说,把你家电脑、手机,公司的打印机、服务器,还有路由器、交换机这些设备,用网线、WiFi 连起来,能互相传文件、发消息,这就叫 “计算机网络”。

比如你家 WiFi 连了 3 台手机、1 台电脑,这是 “小网络”(局域网);全国的局域网再连起来,就是 “互联网”—— 相当于把全中国的小区快递站,都连进了一个 “全国快递网”。

2. 两个关键 “地址”:MAC 地址和 IP 地址

        你寄快递时,得写 “收件人地址”(比如 XX 市 XX 区 XX 路 XX 号),还得知道收件人 “身份证号”(确认是这个人)。网络里设备通信,也需要这两个 “标识”:

  1. MAC 地址:设备的 “身份证号”

        每台设备(手机、电脑、路由器)的网卡上,都有一个全球唯一的 MAC 地址,像 “00-1A-2B-3C-4D-5E” 这样的格式。它是硬件出厂时就烧好的,改不了,相当于设备的 “永久身份证”。

作用:在同一个局域网里(比如你家 WiFi 下),设备之间传数据,得靠 MAC 地址确认 “发给谁”—— 就像小区里送快递,快递员靠身份证号找到具体住户。

  1. IP 地址:设备的 “门牌号”

        IP 地址是设备在互联网里的 “逻辑地址”,像 “192.168.1.5”(IPv4 格式),可以手动设置,也能让路由器自动分配(DHCP)。

作用:跨网络传数据(比如你用家里的网访问百度服务器),得靠 IP 地址找 “大方向”—— 就像寄快递到外地,得先按 “XX 市 XX 区” 找到对应的快递站,再靠 MAC 地址找具体设备。

3. 两个 “关键设备”:交换机和路由器

有了地址,还得有 “中间帮手” 帮数据 “指路”,这就是交换机和路由器:

  1. 交换机:局域网里的 “小区快递员”

工作在 “数据链路层”,只管同一个局域网里的数据转发。它有一张 “MAC 地址表”,记录着 “哪个 MAC 地址对应哪个端口”。比如你家电脑发数据给手机,交换机会查表格:“哦,手机的 MAC 地址在 2 号端口”,就直接把数据传到 2 号端口,不瞎传 —— 相当于小区快递员,只在小区里送件,效率高。

  1. 路由器:跨网络的 “全国快递枢纽”

工作在 “网络层”,负责把数据从一个网络传到另一个网络。它有一张 “路由表”,记录着 “去哪个 IP 段,该走哪条路”。比如你访问百度,路由器查表格:“百度的 IP 是 202.108.22.5,得先传到电信的网关”,就把数据转发出去 —— 相当于全国快递枢纽,帮快递跨城市、跨省份传输。

二、ARP 协议:帮设备 “找身份证号” 的 “翻译官”

咱们刚才说,局域网里传数据要靠 MAC 地址,但设备之间一开始只知道对方的 IP 地址(门牌号),不知道 MAC 地址(身份证号)—— 这时候,ARP 协议就该登场了,它的核心作用就是 “把 IP 地址翻译成 MAC 地址”,帮设备找到 “身份证号”。

1. ARP 协议咋工作?举个例子就懂

假设你家局域网里,电脑 A(IP:192.168.1.5,MAC:A1)要给电脑 B(IP:192.168.1.10,MAC:B1)传文件,但电脑 A 只知道电脑 B 的 IP,不知道 MAC,流程是这样的:

  1. 第一步:电脑 A “喊一嗓子”(发 ARP 广播)

电脑 A 会在整个局域网里发一个 “广播消息”,就像在小区里喊:“谁是 192.168.1.10?你要是的话,赶紧告诉我你的 MAC 地址!” 这时候,局域网里所有设备(手机、打印机、电脑 B)都会收到这个消息。

  1. 第二步:电脑 B “搭话”(发 ARP 响应)

其他设备收到消息后,一看 “192.168.1.10” 不是自己的 IP,就不理会;只有电脑 B 一看 “这是我的 IP”,就会单独给电脑 A 发一个 “响应消息”,说:“我是 192.168.1.10,我的 MAC 地址是 B1”—— 这叫 “单播”,只发给电脑 A 一个人。

  1. 第三步:电脑 A “记下来”(存 ARP 缓存表)

电脑 A 收到响应后,会把 “192.168.1.10 → B1” 这个对应关系,存在自己的 “ARP 缓存表” 里。以后再给电脑 B 传数据,就不用再 “喊一嗓子” 了,直接查缓存表拿 MAC 地址,省时间。

2. 注意:ARP 缓存会 “过期”

不过,ARP 缓存表不是永久保存的,一般几分钟到几小时就会 “过期删除”。为啥?因为设备可能会离线、换网卡,MAC 地址可能变;如果缓存不删,下次传数据就会发错 —— 就像快递员记的身份证号,要是住户换了人,旧号码就没用了,得重新问。

三、ICMP 协议:帮网络 “报故障” 的 “维修工”

咱们上网时,偶尔会遇到 “网页打不开”“QQ 发不出消息”,想知道哪儿出问题了 —— 这时候,ICMP 协议就派上用场了,它的核心作用是 “检测网络故障,传递错误信息”,相当于网络里的 “维修工”,告诉你 “哪儿坏了”。

1. ICMP 协议最常用的两个功能:Ping 和 Traceroute

咱们平时排查网络,最常用的两个命令,背后都是 ICMP 协议在工作:

  1. 功能 1:Ping 命令 ——“测试设备通不通”

比如你想知道 “能不能连百度”,在电脑上输 “ping www.baidu.com”,这就是用 ICMP 协议发 “请求包”:

    1. 你的电脑给百度服务器发一个 “ICMP 请求包”(相当于 “喂,百度,你在吗?”);
    2. 如果百度服务器能收到,就会回一个 “ICMP 响应包”(相当于 “我在呢!”);
    3. 要是你收到响应,就说明 “能连百度”;要是收不到,就说明 “连不上”,可能是网络断了、服务器宕机了。
  1. 功能 2:Traceroute 命令 ——“找故障在哪一步”

要是 Ping 不通,想知道 “卡在哪了”,就用 Traceroute 命令(Windows 里叫 tracert)。比如输 “tracert www.baidu.com”,它会显示数据从你电脑到百度服务器,经过了多少个路由器,每个路由器通不通:

    1. 如果第 3 个路由器没响应,就说明 “问题出在第 3 个路由器”—— 可能是这个路由器坏了,或者被屏蔽了;
    2. 相当于快递寄不出去,你查物流,发现 “卡在 XX 快递站”,就知道问题在那儿了。

2. ICMP 协议会传 “错误信息”

除了检测故障,ICMP 还会传递 “错误提示”。比如你访问一个不存在的 IP(比如 192.168.1.1000),路由器会给你发一个 “ICMP 目标不可达包”,告诉你 “这个 IP 不存在,传不过去”—— 就像快递员送件,发现地址是错的,给你回个消息 “地址不对,送不了”。

3. 注意:ICMP 协议可能被 “屏蔽”

有时候,你 Ping 一个网站,会显示 “请求超时”,不一定是网站宕机了,也可能是网站的路由器 “屏蔽了 ICMP 包”—— 比如有些服务器为了安全,不让别人用 Ping 测试自己是否在线,就会把 ICMP 请求包拦截掉,相当于快递员被小区保安拦住,不让进,你就不知道里面有没有人。

四、把所有概念串起来:一次完整的上网流程

咱们把上面的概念串起来,看一次 “你用电脑访问百度” 的完整流程,就全懂了:

  1. 第一步:你输 “www.baidu.com,先转成 IP 地址

电脑不知道 “www.baidu.com” 是啥,得先通过 DNS 协议(域名解析),把它转成 IP 地址(比如 202.108.22.5)—— 相当于你记不住快递地址,先查通讯录,把 “百度” 这个名字,换成 “202.108.22.5” 这个门牌号。

  1. 第二步:判断 IP 是否在本网段,找网关

电脑查自己的 IP(比如 192.168.1.5)和百度的 IP(202.108.22.5),发现不在同一个网段(192.168.1.x 和 202.108.22.x 不是一个小区),就知道 “得找网关路由器(192.168.1.1)帮忙转发”。

  1. 第三步:用 ARP 协议找网关的 MAC 地址

电脑只知道网关的 IP(192.168.1.1),不知道 MAC 地址,就发 ARP 广播:“谁是 192.168.1.1?告诉我你的 MAC!” 网关收到后,回一个 ARP 响应,电脑就拿到网关的 MAC 地址了。

  1. 第四步:数据传给网关,再转发到百度

电脑把 “访问百度的请求数据” 封装成 “数据帧”(源 MAC:电脑 MAC,目标 MAC:网关 MAC;源 IP:192.168.1.5,目标 IP:202.108.22.5),发给交换机;交换机查 MAC 地址表,把数据传给网关。

网关(路由器)收到后,剥掉 MAC 地址(因为跨网络不用 MAC),查路由表,知道 “去 202.108.22.5,得传去电信的下一个路由器”,就把数据转发出去;经过多个路由器转发,最终传到百度服务器。

  1. 第五步:百度回传数据,你看到网页

百度服务器处理请求后,把 “网页数据” 按原路返回:从百度服务器传到网关,网关再用 ARP 找到你电脑的 MAC 地址,通过交换机传给你电脑;电脑收到数据,解析后就显示出百度的网页了。

  1. 如果出问题,ICMP 帮忙排查要是中间某个路由器坏了,数据传不过去,坏的路由器会发一个 “ICMP 目标不可达包” 给你电脑,你用 Traceroute 命令就能看到 “卡在哪个路由器”,知道问题在哪。
  2. 五、总结:入门网络,记住这 4 个核心点

  3. 基础:MAC 是 “身份证”,IP 是 “门牌号”
  4. 局域网内靠 MAC 地址找设备,跨网络靠 IP 地址找方向,缺一不可。

  5. ARP:“门牌号转身份证” 的翻译官
  6. 不知道对方 MAC 地址时,ARP 广播问一声,就能拿到,还会存缓存省时间。

  7. ICMP:“网络故障维修工”
  8. Ping 测通不通,Traceroute 找故障点,出问题时帮你定位原因。

  9. 流程:封装→转发→解封装,原路返回
  10. 数据从你电脑出发,经过交换机、路由器,到目标设备,再按原路回来,中间靠各种协议协同工作。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐