一.核心基础
1.什么是计算机网络
简单来说 : 将多台计算机通过"传输介质"(网络等)和"协议"(规则)连接起来 , 实现数据交换和资源共享的系统
比如 : 手机连 WIFI 发消息 , 电脑连网逛网页 , 本质都是多态设备通过网络进行网络对话
网络原理 =「分层打包」(五层模型)+「组件协作」(终端 + 设备 + 介质)+「协议规范」(TCP/IP 等),本质是让不同设备 “按规矩” 高效传数据,就像快递系统让不同住户 “按规矩” 收发快递
2.网络通信基础
一台客户端设备通过网络 , 向另一台服务端设备发送"请求" , 服务端处理后返回"响应"
① 客户端 / 服务器
- 关键 : 编程中一般情况下 前端代码(HTML/JS/CSS)都是"客户端" , 后端代码(Java/Python)运行在"服务端"
| 角色 | 定义 | 场景举例 |
| 客户端 | 发起请求的设备 / 程序(主动方) | 浏览器(访问网页)、手机 APP、你的本地代码 |
| 服务端 | 接收并处理请求、返回响应的设备 / 程序(被动方) | 阿里云服务器、GitHub 服务器、后端接口服务 |
② IP 地址 (网络身份证)
IP 地址是设备在网络中的唯一标识
私有 IP : 局域网(LAN)内的地址 , 比如 192.168.1.100 , 只能在内部访问(比如办公室电脑访问机房服务器)
公网 IP : 广域网(WAN)内的地址 , 比如服务器的 120.78.168.xx , 全网唯一 , 能被全球访问
域名 : IP 的别名 , 比如 www.baidu.com 对应百度服务器的 IP , 通过"DNS"解析把域名转换成 IP
③ 端口 (设备上的应用门牌号)
一台设备(比如服务器)可能会运行多个服务(网页服务,数据库服务,文件服务) , 端口用来区分"哪个服务处理请求"
端口是数字(0~65535),其中 1~1023 是知名端口(约定俗成):
- 80 端口:HTTP 服务(网页默认端口)
- 443 端口:HTTPS 服务(加密网页)
- 3306 端口:MySQL 数据库服务
- 8080 端口:常用的开发测试端口
访问http://192.168.1.100:8080 表示 “向 192.168.1.100 这台设备的 8080 端口发送 HTTP 请求”
④ 协议 (通信规范手册)
网络协议是网络数据传输经过的所有网络设备都必须共同遵从的一组约定
协议体现在网络传输的数据包的格式上
| 协议 | 用途 | 编程场景 |
| HTTP | 超文本传输协议(明文),用于网页 / 接口通信 | 浏览器访问网页、前端调用后端接口 |
| HTTPS | HTTP 的加密版本(安全) | 登录、支付、涉及隐私数据的请求 |
| TCP | 面向连接的可靠协议(保证数据不丢、顺序正确) | HTTP/HTTPS 基于 TCP,文件传输 |
| UDP | 无连接的快速协议(不保证可靠,但速度快) | 视频通话、直播、游戏实时数据 |
⑤ 五元组
在 TCP/IP 协议中 , 用五元组来标识一个网络通信
- 源 IP : 标识源主机
- 源端口号 : 标识援助据中该次通信发送数据的进程
- 目的 IP : 标识目的主机
- 目的端口号 : 标识目的主机中该次接收数据的进程
- 协议号 : 标识发送进程和接收进程双方约定的数据格式

⑥网络通信的核心流程(以网页为例)
- 输入网址 : 在浏览器中输入网址 https://www.xxx.com (客户端发起请求的起点)
- DNS 解析 : 浏览器会把域名 www.xxx.com 转换成服务器的公网 IP
- 建立连接 : 浏览器和服务器的端口(HTTPS)建立 TCP 连接
- 发送请求 : 浏览器向服务器发送"请求报文"(包含: 请求方法 , 将要访问的资源 , 请求头 , 请求参数等)
- 服务端处理 : 服务端接收请求 , 解析参数 , 处理逻辑 (比如读取数据库,生成网页内容)
- 返回响应 : 服务器向浏览器发送"响应报文"(包含: 状态码 , 响应头 , 响应内容)
- 渲染页面 : 浏览器接收响应 , 解析 HTML/CSS/JS , 渲染出你看到的网页
- 断开连接 : 通信完成 , TCP 连接断开
3.协议分层
协议分层式网络通信的核心设计思路 , 典型代表是 OSI 七层模型和 TCP/IP 五(或四)层模型 , 核心逻辑是"分层负责 , 各司其职" , 让复杂的网络通信拆解为简单的分层任务
简单记忆 : 应用层(发什么) -> 传输层(怎么传可靠) -> 网络层(往哪传) -> 物理层(传出去)
① OSI 七层模型(复杂不实用)
| 分层名称 | 功能描述 | 每层功能概览 |
| 7. 应用层 | 针对特定应用的协议 | 为不同应用提供专属协议(如电子邮件协议、远程登录协议、文件传输协议) |
| 6. 表示层 | 设备固有数据格式和网络标准数据格式的转换 | 接收文字、图像、声音等不同形式的信息,转换为网络标准格式 |
| 5. 会话层 | 通信管理,负责建立 / 断开通信连接,管理传输层以下分层 | 控制连接的建立、断开时机及保持时长,管理通信逻辑通路 |
| 4. 传输层 | 管理两个节点之间的数据传输,确保数据可靠传送至目标地址 | 检查数据是否丢失,保障数据传输的可靠性 |
| 3. 网络层 | 地址管理与路由选择 | 确定数据通过哪个路由传递到目标地址,管理网络地址 |
| 2. 数据链路层 | 互连设备之间传送和识别数据帧 | 实现数据帧与比特流的转换,对数据进行分段转发 |
| 1. 物理层 | 以 “0”“1” 表示电压高低、灯光闪灭,界定连接器和网线的规格 | 实现比特流与电子信号的切换,定义连接器、网线等硬件的物理规格 |
② TCP/IP 五(或四)层模型
| 分层名称 | 核心功能 | 对应协议 / 技术举例 | 编程关联场景 |
| 5. 应用层 | 为具体应用提供通信规则,直接和用户 / 程序交互 | HTTP、HTTPS、FTP(文件传输)、DNS(域名解析)、SMTP(邮件) | 浏览器访问网页、接口调用 |
| 4. 传输层 | 负责端到端的数据传输,保障可靠性 / 效率 | TCP(可靠传输)、UDP(快速传输) | 前端用 发请求(基于 TCP) |
| 3. 网络层 | 负责跨网络的地址管理、路由选择(决定数据走哪条路) | IP(IPv4/IPv6)、ICMP(网络诊断,如 ping) | 域名解析成 IP(网络层寻址) |
| 2. 数据链路层 | 负责同一网络内的设备通信,传输数据帧、识别物理地址 | 以太网、WiFi(802.11)、MAC 地址 | 本地 WiFi 连接、网线传输 |
| 1. 物理层 | 定义硬件的物理连接规则(电 / 光信号、接口、线缆) | 网线(RJ45)、光纤、电压标准 | 网线接口、WiFi 信号硬件 |
- 注意 : 如果是四层 , 其实是将链路层和物理层合并
1)TCP/IP 通讯过程

2)TCP/IP 跨网段的主机的文件传输 :

③ 核心协议 :
协议就是设备之间的"对话规则"
1)应用层协议
- HTTP : 超文本传输协议 , 用于访问网页
- HTTPS : HTTP + SSL 加密 , 安全版网页协议
- DNS : 域名解析协议 (将域名解析为 IP 地址)
- FTP : 文件传输协议 (用于在电脑之间传文件)
2)传输层协议
| 协议 | 特点 | 适用场景 |
| TCP | 可靠、有序、慢(三次握手) | 聊天、文件传输、网页加载(不允许丢数据) |
| UDP | 不可靠、无序、快(无握手) | 直播、游戏、视频通话(允许偶尔丢包,追求速度) |
3)网络层协议
- IP 协议:给每台设备分配 "网络身份证"(IP 地址) , 比如 192.168.1.1(局域网),223.5.5.5(公网)
- ICMP 协议:网络报错协议 , 比如 "ping 不通" 就是 ICMP 返回的错误信息
4.关键概念
① IP 地址/MAC 地址
IP 地址 : 网络层标识 , 用于"跨网段找设备"
MAC 地址 : 数据链路层标识 , 是网卡的物理地址 , 属于同一网段内通信
② 路由器/交换机
路由器 : 工作在网络层 , 负责"跨网段转发数据"
交换机 : 工作在数据链路层 , 负责"同一局域网"内设备通信
③ 局域网和广域网
局域网(LAN) :
小范围的"内部私有网络"(公司或学校等的自建机房)
内网 : 局域网内的主机之间能方便的进行网络通信
局域网和局域网之间在没有连接的情况下是无法通信的
局域网组建的方式 : 基于网线直连 , 基于集线器组建 , 基于交换机组键 , 基于交换机和路由器组建
广域网(WAN) :

大范围的"跨区域网络"(比如互联网)
广域网内部的局域网属于其子网
④ 宽带/网速
宽带 : 网络的传输能力上限
网速 : 实际传输的速度
5.分层通信的 “封装 / 解封装” 过程(以发送消息为例)
- 不同的协议层对数据包会有不同的称谓 , 在传输层叫做段(segment) , 在网络层叫做数据报(datagram) , 在链路层叫做帧(frame)
- 应用层数据通过协议栈发送到网络上时 , 每层协议都要加上一个数据首部(header) , 称为封装(Encapsulation)
- 首部信息中包含了一些类似于首部有多长 , 载荷(payload)有多长 , 上层协议是什么等信息
- 数据封装成帧后发到传输介质上 , 到达目的的主机后每层意义在剥掉相应的首部 , 根据首部中的"上层协议字段"将数据交给对应的上层协议处理
① 封装(发送端):
数据从上层到下层,每一层会添加 “本层的头部信息”(类似快递包装,每一层贴自己的标签):
- 应用层:生成 “数据”(比如你发的消息内容)
- 传输层:添加 “端口号”(标记目标应用),形成 “段”
- 网络层:添加 “IP 地址”(标记目标设备),形成 “包”
- 数据链路层:添加 “MAC 地址”(标记物理设备),形成 “帧”
- 物理层:转成 “电 / 光信号”,通过硬件发送
数据封装过程 :

② 解封装(接收端):
数据从下层到上层,每一层会剥离 “本层的头部信息”,只把数据传给上层:
- 物理层:把电 / 光信号转成 “帧”
- 数据链路层:剥离 MAC 地址,把 “包” 传给网络层
- 网络层:剥离 IP 地址,把 “段” 传给传输层
- 传输层:剥离端口号,把 “数据” 传给应用层
- 应用层:展示最终数据(比如你收到的消息)
6. 组件协作:网络组件 ↔ 快递系统角色
网络中的 “终端、设备、介质”,对应快递系统的核心参与者:
| 网络组件类型 | 具体例子(网络场景) | 快递系统对应角色 | 作用类比 |
| 终端(数据源 / 目的地) | 电脑、手机、服务器(比如百度服务器) | 寄件人、收件人(用户)+ 商家仓库(服务器) | 寄件人(手机)产生 “包裹”(数据,比如发消息、请求网页),收件人(服务器)接收包裹并处理 |
| 网络设备(转发 / 交换) | 路由器、交换机 | 转运中心(路由器)、小区网点(交换机) | 路由器(转运中心)负责跨区域转发,交换机(小区网点)负责同一局域网内设备通信 |
| 传输介质(物理通道) | 网线、光纤、Wi-Fi 信号、卫星链路 | 道路、航线、电梯、楼道(物理通道) | 提供 “包裹运输的通道”,没有通道,包裹(数据)无法移动 |
7. 协议规范:网络协议 ↔ 快递系统规则
网络中的协议(TCP/IP、HTTP 等),对应快递系统的 “行业规则”,确保所有角色协同工作:
| 网络协议类型 | 具体例子(网络场景) | 快递系统对应规则 | 作用类比 |
| 应用层协议 | HTTP(网页)、HTTPS(安全网页)、DNS(域名解析) | 快递 APP 下单规则、物流查询规则 | HTTP 协议规定 “浏览器怎么请求网页、服务器怎么返回数据”,就像快递 APP 规定 “用户怎么下单、怎么查物流” |
| 传输层协议 | TCP(可靠传输)、UDP(快速传输) | 顺丰 “次日达”(可靠,慢)、普通快递 “经济型”(快速,偶尔延迟) | TCP 像 “次日达”,确保包裹(数据)不丢、不乱序;UDP 像 “经济型快递”,追求速度,允许偶尔丢包(比如直播、游戏) |
| 网络层协议 | IP(IP 地址)、ICMP(ping 报错) | 快递地址格式(省 / 市 / 区 / 街道)、丢件报错规则 | IP 协议规定 “设备的地址格式”(比如 192.168.1.1),就像快递规定 “收件地址必须写省市区街道”,否则无法配送 |
| 数据链路层协议 | 以太网协议、Wi-Fi 协议 | 小区网点交接规则、快递员签收规则 | 规定 “相邻设备怎么通信”,就像快递员和小区网点之间 “怎么交接包裹、怎么签收” |
1079





