网络(Network)是 20 世纪的一个重要发明,其使得计算机可以互相连接,提供了无限的可能性。
概念 & 术语
有必要先理清一些概念。

图自:https://blog.csdn.net/fiberroad/article/details/139987286
当我们讨论 “网络” 时,想到的应该是由点、边构成的图,它们有专用术语:
- 网络节点:可以是电脑、手机、路由器、基站、服务器等,总之能接入网络的计算机都算。
- 路由器:一种传递网络数据的设备,可以实现分发、中继等作用。路由器通常不会修改传递的数据流。
- 服务器:提供网络服务的计算机。
- 网络链路:例如网线、光纤、无线链路,起到连接网络节点的作用。
- 网络协议:规定如何传输数据。
还有一些较次要的术语:
- 数据包:在网络上传递的一组数据。
- 流量:有时可以和 “数据包” 互换使用。
谁来提供网络服务?
几台计算机连接起来,互相可以看到其他人的文件,这叫局域网,整个城市的计算机都连接起来,就是城域网,把城市之间连接起来的网就叫骨干网。这些骨干网是国家批准的可以直接和国外连接的互联网。其他有接入功能的ISP(互联网服务提供商)想连到国外都得通过这些骨干网。
骨干网(Backbone Network)是用来连接多个区域或地区的高速网络。每个骨干网中至少有一个和其他骨干网进行互联互通的连接点。不同的网络供应商都拥有自己的骨干网,用以连接其位于不同区域的网络。
摘自:介绍国内四大骨干网与十大ISP服务商-CSDN博客
- 局域网:如家庭、学校、单位内的计算机网络。
- 城域网:顾名思义,就是一个城市的计算机网络。
- 骨干网:连接不同城市的网络,并且可以和国外连接。
目前国内有十大 ISP(互联网服务提供商),下面是 CHINANET(中国公用计算机互联网)的结构图:

图自 https://blog.csdn.net/weixin_48419914/article/details/124950407
在 cmd
中,可以用如下命令查看到指定目标的路由节点:
tracert bilibili.com
IP 地址
简单来说,IP地址就像是互联网上每台设备的“家庭住址”。它是一串唯一的数字标识符,用于在庞大的网络世界中准确地找到并定位某台设备(如电脑、手机、服务器、智能家居设备等),从而实现设备之间的通信。
由 DeepSeek 总结,供参考
目前使用的 IP 地址主要有两种:IPv4 和 IPv6。
IPv4 地址形如:139.159.241.37
,理论上有 43 亿个不同的地址,现在已经耗尽。
IPv6 地址形如:2001:0db8:85a3:0000:0000:8a2e:0370:7334
,理论上有 $10^{38}$ 个地址,根本用不完。
IPv4 和 IPv6 网络
那么为什么我们仍在使用IPv4?
问题就在于IPv4和IPv6无法相互通信。这就是为什么IPv6的集成和适配很复杂。大多数网站或应用程序仅支持IPv4类型的IP地址。想象一下突然更改每个设备的IP地址。用户将无法访问大多数网站或应用程序,而我们在互联网上将陷入一片混乱。从旧的IP类型转换为新的IP类型的过程应分步完成。例如,这两个协议能够并行运行。此功能称为双重堆栈。它允许用户同时访问IPv4和IPv6内容。
摘自:IPv4和IPv6有什么区别? - 知乎
目前的互联网,IPv4 和 IPv6 并存,并没有完全普及 IPv6。上面提到 IPv4 地址已经耗尽,那我们为什么还能正常地使用 IPv4 网络呢?
答案是网络地址转换(NAT)。我们上网时,并不是每个人都有自己的专属 IP 地址,而是一个区域内共用一个 IP 地址,这个地址由运营商的 NAT 分配。
主机名
IP 地址都是一串数字(IPv6 是一串 16 进制数字),不好记。
一般的网站都会有自己的主机名,比如 bilibili.com
,baidu.com
。我们访问这些网站时,先通过 DNS 解析主机名对应的 IP 地址是什么,再通过 IP 地址访问。(粗略地说)
网络协议
如果只有网线,并不能传输数据。我们还需要一定的网络协议。网络协议是一种 “规则” 或 “语言”,规定了使用网络传递数据的方法。
网络协议分层
网络协议分为若干层级,底层的协议最先建立,然后依次向上建立协议。
这样做的目的是:层层抽象,隐藏细节。例如,假如我要连接某网站,我并不关心这条网络路径上的网线用的是什么插头(这个细节对我来说毫无必要)。

图自 https://blog.csdn.net/weixin_42259823/article/details/102577447
这些协议是这样依次建立的:
- 物理层 & 数据链路层:保证了你的计算机和目标计算机(比如目标网站的服务器)之间有(至少一条)可用的网络通路。简单来说就是网线是通的。这一层主要有如下协议:
- 网络层:维持基本的网络连接,简单来说就是我发数据对面可以收到。这一层主要有两个协议:
- IP(网际协议):把你的数据传输到目标计算机。
- ICMP(互联网控制消息协议):用于传递控制消息,例如网络通不通、主机是否可达、路由是否可用等。
- ARP(地址解析协议):根据目标的IP地址,查询其对应的 MAC地址(物理地址,即网卡硬件地址)。
- 传输层:规定如何传输数据。
- TCP(传输控制协议):所谓 “分组依次传输” 的协议,传输前会先 “握手”,传输完成会回复 “收到”。
- UDP(用户数据报协议):只管发送,不关心对方是否收到。
- 应用层:提供具体服务,是面向用户的层。这一层百花齐放,常见的有:
- HTTP / HTTPS:常见的互联网网站使用这两个协议传输网页数据。
- DNS:把主机名翻译成 IP 地址。