加载中...

本篇要回答的问题:网络是怎么把两台计算机连起来的?数据从源主机出发,一层层封包、寻址、路由、穿透 NAT,最终如何抵达目标主机?

前几讲讲完了单机操作系统的进程、存储、输入、输出,但单机软件再强也只是"高级计算器"。本讲跨入网络——把计算机连成互联网。核心是用实物快递的物流类比串起 OSI 分层封包、IP/MAC/域名三类地址、相关协议(DNS/DHCP/ARP/ICMP…)以及交换机、路由器、NAT 三种数据传输场景。

数据的封包过程:一层层套信封

网络协议就是"计算机远程沟通的数据格式",本质是数字内容的物流。传一部电影(应用层数据),要像寄快递一样层层封装:

步骤 分层 信封上写什么 解决的问题
分批次 —— 数据不是流,是有大小上限的数据包 单次传输容量有限
套第一层信封 传输层 源端口、目标端口、批次编号 由哪个应用收件 + 传输可靠性
套第二层信封 网络层(IP) 源 IP、目标 IP 跨广域网寻址、跨物流公司标准化
套第三层信封 数据链路层 由具体物流公司说了算 局部一段路程的传输
进入流转 物理层 —— 实际的数字物流系统

关键判断:IP 协议最核心的意义是标准化——越往外层信封越和具体物流公司相关,但拆到 IP 这一层,格式必然统一。这正是"互联网"由所有数字物流公司协作而成的根基。

传输层有两套信封:TCP(写了批次编号,保证送达)和 UDP(没写编号,不保证送达)。

网络协议与三层网络地址

通讯首先要有地址。数字世界的地址分三层,由底到高:

层次 地址 特点
链路层 MAC 地址 跟随网卡,与网络环境无关;从北京搬到上海不变
网络层 IP 地址 类似门牌号,决定路由;IPv4 仅 40 多亿个,故升级 IPv6
应用层 域名 给人记忆用,如 www.qiniu.com

围绕这三类地址,配套了一组辅助协议:

协议 全称 用途
DNS 域名系统 地址簿:域名 → IP 查询
DHCP 动态主机配置协议 接入网络时分配 IP、网关地址、DNS 地址
ARP 地址解析协议 以太网内:IP → MAC
RARP 反向地址转换协议 MAC → IP,已被 DHCP 取代
ICMP 互联网控制报文协议 检测连线状况,ping / traceroute 基于此
IGMP 互联网组管理协议 IP 组播成员管理(本文略过)

数据传输的三种情形

源主机到目标主机经路由器与交换机的传输示意

情形 网络拓扑 核心机制
一·同局域网 交换机连接,以太网协议 ARP 拿到目标 MAC → 交换机基于"MAC→端口"表转发
二·都有公网 IP 经交换机 + 路由器 路由器工作在第三层,按 IP 路由(最佳路径) + 拆包重组
三·有私有 IP 经 NAT 网关 NAT 技术建立 iAddr:port1 ⇔ eAddr:port2 双向映射

交换机工作在第二层,只认 MAC 不认 IP,靠不断学习建立"MAC 地址 → 端口"映射表。其六个动作:

动作 含义
学习 learning 记下源 MAC 在哪个端口
泛洪 flooding 目标端口未知时向其他所有端口转发
转发 forwarding 查表命中后定向转发
过滤 filtering 源与目的同端口则不处理
老化 aging 超时记录被清除

关键洞见:交换机"通讯基本靠吼"——圈子小,吼一段时间路就记住了;但广域网太大没人听得见,所以才需要路由器这种带"导航(路由)"能力的设备,去解决带权有向图上的最佳路径问题。

NAT 穿透:两台都在内网、都无公网 IP 的主机能否直连?答案是不确定——只有目标方是 Full cone NAT(一对一、任何主机都能复用映射)时,中间人服务器才能搭桥成功;其他类型 NAT 对回包主机 IP 有约束,只能由中间人中转。

总结

本讲用快递物流类比把 IP 网络讲透:数据层层封包对应一层层信封,越外层越和具体物流公司相关、越内层(IP)越标准化。寻址有 MAC/IP/域名三层,配套 DNS/DHCP/ARP 等协议;传输则按"同局域网 / 公网 IP / 私有 IP+NAT"三种情形展开,交换机靠学习、路由器靠导航、NAT 靠双向映射。

先把"是什么"回答清楚

概念 一句话说明
网络协议 计算机远程沟通的数据格式,是数字内容的物流
IP 协议 网络层标准化信封,解决跨物流公司寻址
TCP / UDP 传输层两套信封:保证送达 vs. 不保证但开销小
MAC 地址 跟随网卡的唯一身份,无寻址作用
交换机 第二层设备,靠学习 MAC→端口表高速转发
路由器 第三层设备,带路由(导航)能力跨网传输
NAT 让私网主机通过公网 IP"替身"上网的地址转换技术

一句话速记

数据出门要层层套信封,外层认物流公司、内层(IP)必标准化;MAC 靠吼(交换机)、IP 靠导航(路由器)、私网靠替身(NAT)。

几条值得记住的判断

  • 越外层信封越私有,越内层越标准——IP 标准化是互联网得以互联的关键。
  • 交换机不认 IP 只认 MAC,路由器才认 IP 并解决最佳路径。
  • NAT 穿透能否成功取决于 NAT 类型,Full cone 才可直连。

思考题

本讲只讲到 IP 数据包如何抵达,不讲数据重传、也不讲到达应用层后如何处理。回到你自己的系统:当你引入一个"中间人"(代理 / 网关 / NAT)时,它对上下游是透明转发还是有状态映射?这个选择会怎样影响连通性和故障定位?

公告栏
这是我的个人知识库。
记录技术,也记录生活 —— 读过的、试过的、想明白的,都堆在这儿。
最新文章
网站资讯
文章数目 :
5
已运行时间 :
本站总字数 :
15.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
全局知识图谱
当前页面 已访问 文章 标签
ESC 关闭 · 滚轮缩放 · 拖拽移动 · Ctrl+G 开关