浅聊一下计算机网络模型
作为程序员,咱们日常写的代码、用的应用,背后都离不开计算机网络的支撑。今天就从最基础的 Internet 讲起,再深入到网络分层模型,把这些核心知识掰开揉碎了说清楚,不管是刚入门还是想巩固基础的朋友,都能看懂~
一、先搞懂:什么是 Internet?
咱们常说的 “互联网”,其实就是 Internet 的中文翻译。但它可不是简单把几台电脑连起来就行,得先明确它的定义:计算机网络是两台或更多计算机组成的网络,同一网络里任意两台电脑能直接通信;而 Internet 是把无数个计算机网络连起来,形成全球统一的大网,所有设备都得遵守同一套网络协议。
1.1 Internet 的 3 个核心特点
这三点能帮你快速抓住互联网的本质,咱们结合例子说:
- 全球性连接:打破地理限制!不管是你手里的手机、家里的电脑,还是公司的数据中心服务器,只要连了网,就能和全球任何一个接入点通信。比如咱们在国内能刷到美国的视频,给欧洲的朋友发邮件,靠的就是这个。
- 基于统一协议:所有设备都得遵守 “TCP/IP 协议”(传输控制协议 / 网际协议),这就像大家都讲同一种语言,才能互相听懂。其中 TCP 负责 “保证数据靠谱”—— 比如把大文件拆成小块,传完了还会校验有没有丢;IP 负责 “找路”—— 就像导航一样,确定数据从哪里发到哪里。
- 资源共享与交互:互联网的核心价值就在这!既能共享资源(比如看新闻、用云存储、借云计算的算力),还能双向交互 —— 你不光能刷短视频,自己也能发;不光能网购,还能开店卖东西。
1.2 Internet 的组成:硬件 + 层次 + 关键设施
互联网能跑起来,靠的是 “硬件打底、层次搭架、设施保障”,咱们一步步拆:
(1)硬件基础:这些设备是 “骨架”
没有硬件,互联网就是空架子。主要分三类,都是咱们多少听过的:
- 核心网络设备:相当于 “交通枢纽”,负责转发大量数据
- 骨干路由器:由电信、移动、联通这些运营商部署,比如华为 NE 系列、中兴 ZXR10 系列,专门负责跨区域传输,比如把北京用户的请求转发到上海的服务器。
- 国际出入口路由器:集中在北上广这些大城市,是中国互联网连全球的 “闸门”,对接国际海底光缆和国外的网络。
- 传输线路:相当于 “信息高速公路”,传数据全靠它
- 国内骨干传输网:以光纤为主,铺成了 “八纵八横” 的干线,比如 “京汉广光缆”“沪宁杭光缆”,覆盖全国 31 个省市,传输速率从 100G 到 400G 不等,国内大数据交互全靠它撑着。
- 国际连接线:主要是海底光缆(比如中日海底光缆、亚太直达光缆 APG)和卫星,截至 2023 年,中国国际光缆总带宽超过 100Tbps,是连全球的 “桥梁”。
- 接入层设备:相当于 “最后一公里”,帮咱们连上网
- 城域网设备:在城市里部署,比如汇聚交换机、接入服务器,负责把小区、公司的网络接入骨干网(比如家里装的电信 “光猫 + OLT” 设备)。
- 终端接入设备:就是咱们身边的设备,比如家里的路由器、光猫,手机连的 4G/5G 基站、WiFi 热点,没有这些,咱们的手机电脑就没法上网。
(2)网络层次:互联网是 “网中网”
互联网不是 “一张平网”,而是分层搭建的,就像盖楼从地基到顶楼一样,分三层:
- 国家级骨干网:国内最高层的网,由电信、移动、联通、广电四大运营商建的,比如电信的 “163 骨干网”、移动的 “CMNet 骨干网”,覆盖全国省会和重要节点,负责省际、国际数据传输。而且骨干网之间有 “国家互联网交换中心”(北京、上海、广州这些地方有),比如联通用户访问电信服务器,不用绕远路,直接通过交换中心转发,更快。
- 省级 / 城域骨干网:中间层,承上启下
- 省级骨干网:每个省建一个,把省内城市的网汇聚起来,再接入国家级骨干网,比如江苏的省级骨干网,会把南京、苏州的网连起来,再连到国家网。
- 城域网:只覆盖一个城市,负责本地数据交换,比如南京用户访问南京本地的服务器,不用走国家级骨干网,直接走城域网,延迟更低。
- 接入网:直接连咱们用户的网,比如家里的光纤(FTTH)、公司的专线、手机的 4G/5G、WiFi。举个例子:你家的光纤连到小区的 OLT 设备,再接入城域网,最后连到骨干网,这样你就能上网了。
(3)关键基础设施:保障互联网 “靠谱运行”
这几个设施虽然咱们平时看不到,但少了它们可不行:
- DNS 根服务器镜像与国内 DNS 体系:负责把 “域名”(比如www.taobao.com)转换成 “IP 地址”(比如一串数字),不然电脑找不到要访问的服务器。国内部署了国际 DNS 根服务器的镜像节点,还有自己的 DNS(比如 114.114.114.114、119.29.29.29),保证咱们解析域名更快。
- 数据中心(IDC):相当于 “互联网的仓库和工厂”,分两种:
- 超大型数据中心:比如阿里云张北数据中心、腾讯天津数据中心,存海量数据,跑云计算、大数据分析这些核心服务。
- 边缘数据中心:分布在各个城市,负责就近处理本地请求,比如短视频缓存、游戏实时数据,这样你刷视频、打游戏延迟更低。
- 网络安全设施:比如国家互联网应急中心(CNCERT)、运营商的 DDoS 防护系统,负责防网络攻击(比如流量攻击)、过滤违法信息,保证网络安全。
(4)软件与服务:互联网的 “灵魂”
有了硬件和设施,还得有软件和服务才能用。咱们平时用的功能,都是这些服务提供的:
- 基础服务:比如微信、QQ(即时通讯),网易邮箱、QQ 邮箱(电子邮件),阿里云、华为云(云服务),这些服务的服务器大多在国内数据中心,访问延迟低。
- 特色应用:比如支付宝、微信支付(移动支付),靠稳定的网络实现实时交易;抖音、快手(短视频),靠边缘节点缓存内容,刷起来更流畅;在线教育、远程医疗,靠高速宽带和低延迟网络支撑互动。
- 跨境服务接入:咱们访问国外的网站(比如国际学术网站),数据会通过国际出入口路由器传出去;国外用户访问国内的阿里国际站,数据会通过国际光缆接入中国骨干网。
二、网络分层模型:把复杂问题拆解开
网络通信是个超级复杂的事儿 —— 从你在手机上点 “发送”,到数据传到对方手机,要做 “打包、标地址、选路线、查错误、转格式” 等一堆操作。要是把这些操作全堆在一个模块里,改一个小地方就可能崩整个系统,根本没法维护。
所以,网络分层模型就来了 ——本质是 “把复杂问题拆成一个个小问题”,每一层只干自己的活,不用管其他层。比如 OSI 七层模型、TCP/IP 四层模型,都是这么设计的。
先明确两个关键概念:
- 接口:上下层之间交互的约定,比如上层告诉下层 “我要传数据,你按这格式接”。
- 协议:同一层之间交互的约定,比如两台电脑的传输层,都按 TCP 协议传数据。
2.1 OSI 七层模型:理论上的 “标准分层”
OSI(Open System Interconnect)是 ISO 组织定义的理论模型,目的是简化网络操作、提供标准接口,从上到下共 7 层,每层的职责很明确:
| 层级 | 名称 | 核心职责 |
|---|---|---|
| 7 | 应用层 | 直接给用户提供服务,比如微信、浏览器就是在这一层工作 |
| 6 | 表示层 | 处理数据格式,比如编解码(把文字转成二进制)、加密解密(比如 HTTPS 的加密)、压缩解压缩 |
| 5 | 会话层 | 管理应用之间的会话,比如建立连接、维持连接、断了重连 |
| 4 | 传输层 | 负责两台主机的进程之间通信,保证数据传得靠谱(或高效) |
| 3 | 网络层 | 选路线、标地址,决定数据从 A 到 B 走哪条路 |
| 2 | 数据链路层 | 管理相邻设备之间的数据通信,比如两个路由器之间传数据 |
| 1 | 物理层 | 提供传输介质(比如光纤、网线),实现相邻设备之间的比特流传输 |
不过 OSI 只是理论模型,实际互联网用的是更简洁的 TCP/IP 模型。
2.2 为什么要分层?举个例子就懂
要是不分层,就像用一个程序管 “快递打包 + 运输 + 配送 + 签收” 全流程:
- 要是打包规格改了(比如从纸箱换成信封),运输、配送的流程都得改;
- 要是配送员换了路线,打包、运输的程序也可能受影响。
分层之后就不一样了:
- 应用层(比如微信)只负责生成消息,不管数据是走光纤还是 5G;
- 物理层只负责传信号,不管信号里是文字还是图片;
- 改某一层的逻辑,其他层完全不用动 —— 比如传输层从 TCP 换成 UDP,应用层和物理层都不用改。
这种 “分工明确” 的设计,让复杂的网络通信变得可实现、可维护。
三、TCP/IP 模型:互联网实际在用的 “简化版分层”
TCP/IP 模型是 OSI 的简化版,共 4 层(也有说 5 层的,核心一样),互联网所有设备都遵循这个模型。咱们从上层到下层,一步步说清楚每一层的作用和常见协议。
先看 TCP/IP 和 OSI 的对应关系,帮你理解:
| TCP/IP 模型 | 对应 OSI 模型 | 核心职责 |
|---|---|---|
| 应用层 | 应用层 + 表示层 + 会话层 | 给用户提供服务,处理数据格式、管理会话 |
| 传输层 | 传输层 | 负责两台主机进程之间的通信,提供可靠 / 高效的数据传输 |
| 网络层 | 网络层 | 路由和寻址,决定数据传输路径 |
| 网络接口层 | 数据链路层 + 物理层 | 处理相邻设备通信,提供物理介质传输比特流 |
3.1 应用层:给用户 “干活” 的一层
应用层是最贴近用户的一层,负责基于特定协议给用户提供功能,不用管数据怎么传,只需要把数据包交给传输层就行—— 就像你把快递包好,交给快递小哥,剩下的不用管。
常见的应用层协议,都是咱们日常会接触到的:
- DNS(域名系统):把域名(比如www.baidu.com)转换成 IP 地址(比如 180.101.49.11),不然电脑不知道要访问哪个服务器。
- HTTP 协议:超文本传输协议,咱们刷网页、用 APP 看内容,大多靠它 —— 比如打开淘宝、看公众号文章,背后都是 HTTP 在传数据。
- 电子邮件协议:发邮件靠的就是它,常用的有 SMTP(发邮件)、POP3(收邮件,下载到本地)、IMAP4(收邮件,同步到多个设备)。
- Telnet 协议:远程登录协议,能让你登录到远程主机,比如运维工程师远程管理服务器,可能会用到它。
- FTP 协议:文件传输协议,用于在网络上传文件,比如把本地文件传到服务器,或者从服务器下载文件。
应用层会生成 “消息 / 报文(message)”,然后发给传输层。
3.2 传输层:保证数据 “传对、传好”
传输层的核心是定义两台主机的进程之间怎么通信—— 比如你用微信给朋友发消息,微信的进程和你朋友微信的进程之间,就是靠传输层连接的。
传输层有两个常用协议,特点完全不同,咱们对比着看:
| 协议 | 核心特点 | 适用场景 |
|---|---|---|
| TCP | 面向连接、可靠传输 | 要求数据不丢、不错的场景,比如微信 / QQ 发消息、传文件,网购支付 |
| UDP | 无连接、不可靠传输 | 要求实时性、效率的场景,比如腾讯会议(视频通话)、网络游戏、爱奇艺刷视频 |
TCP 为什么可靠?因为它有 “流量控制”(根据对方接收能力调整发送速度)、“超时重传”(没收到确认就重发)、“拥塞控制”(避免网络堵了还发数据)这些机制。
UDP 虽然不可靠,但它速度快、延迟低 —— 比如刷视频,丢一两个数据包不影响观感,要是等 TCP 重传,反而会卡顿。
传输层会把应用层的 “报文(message)” 拆分成若干个 “TCP 报文段(TCP Segment)” 或 “UDP 数据报”,然后发给网络层。
3.3 网络层:给数据 “找路” 的一层
咱们的电脑和目标服务器之间,可能要经过很多路由器、很多网络(比如你家的网→小区的网→城域网→骨干网→服务器的网)。网络层的核心就是选一条合适的路,把数据从源设备传到目标设备。
网络层最核心的协议就是 “IP 协议”(网际协议),主要干两件事:
- IP 寻址:给每个设备分配一个唯一的 “IP 地址”(比如 192.168.1.1),就像给房子编门牌号,让数据知道要发给谁。
- 路由选择:通过路由器,选择从源 IP 到目标 IP 的最优路径 —— 比如从北京发数据到上海,是走天津→济南→南京→上海,还是走石家庄→郑州→合肥→上海,由路由协议决定。
网络层会在传输层的 “TCP 报文段” 或 “UDP 数据报” 前面,加上 “IP 报头”(里面包含源 IP、目标 IP 等信息),生成 “IP 数据包(Packet)”,然后发给网络接口层。
3.4 网络接口层:把数据 “送出门” 的一层
网络接口层是最底层,负责把网络层的 “IP 数据包” 发到物理网络上。但这里有个问题:以太网(咱们平时用的局域网、宽带网大多是以太网)不认识 IP 地址,只认识 “MAC 地址”(每个网卡的唯一地址,比如 00-1A-2B-3C-4D-5E)。
所以网络接口层要做两件事:
- 通过 “ARP 协议”(地址解析协议),根据目标 IP 地址,找到对方的 MAC 地址;
- 在 “IP 数据包” 前面加上 “MAC 报头”(里面包含源 MAC、目标 MAC),生成 “数据帧(Data Frame)”;
- 把 “数据帧” 通过物理介质(比如光纤、网线、无线电波)发送出去,传给相邻的设备。
到这里,数据就从你的设备发出去了,然后通过一个个路由器转发,最终传到目标设备,再从下往上一层层解包(去掉 MAC 报头→去掉 IP 报头→去掉 TCP/UDP 报头→拿到应用层的消息),对方就能收到你发的内容了。
最后:数据传输的完整流程(帮你串起所有知识点)
咱们以 “用微信给朋友发一条文字消息” 为例,走一遍 TCP/IP 模型的全流程,帮你巩固:
- 应用层:你在微信输入文字,点击发送,微信(应用层)按自己的格式生成 “消息报文”,发给传输层;
- 传输层:传输层用 TCP 协议,把 “消息报文” 拆成小的 “TCP 报文段”,加上 TCP 报头(包含源端口、目标端口,比如微信的进程端口),发给网络层;
- 网络层:网络层用 IP 协议,给 “TCP 报文段” 加上 IP 报头(包含你的手机 IP、朋友手机的 IP),生成 “IP 数据包”,发给网络接口层;
- 网络接口层:通过 ARP 协议找到你家路由器的 MAC 地址,给 “IP 数据包” 加上 MAC 报头,生成 “数据帧”,通过 WiFi(物理介质)发给路由器;
- 路由器转发:路由器收到 “数据帧”,去掉 MAC 报头,看 IP 报头里的目标 IP,选一条路转发给下一个路由器,直到传到朋友手机所在的网络;
- 朋友手机解包:朋友的手机收到 “数据帧”,从下往上一层层解包(去掉 MAC 报头→去掉 IP 报头→去掉 TCP 报头),拿到原始消息,微信显示出来。
整个过程,每一层只干自己的活,互不干扰,这就是网络分层模型的魅力~
希望这篇文章能帮你把计算机网络的基础串明白,要是有疑问,欢迎在评论区交流~
更多推荐


所有评论(0)