文章目录
- 一、网络结构体系
-
- [1.1 OSI七层模型(理论标准)](#1.1 OSI七层模型(理论标准))
- [2. TCP/IP 四层模型(实际应用)](#2. TCP/IP 四层模型(实际应用))
- 二、计算机网络设备
- 三、网络的分类及IP地址介绍
-
- [3.1 网络分类](#3.1 网络分类)
- [3.2 IP地址介绍](#3.2 IP地址介绍)
- 四、常见协议
-
- [4.1 TCP协议与UDP协议](#4.1 TCP协议与UDP协议)
-
- [4.1.1 TCP协议](#4.1.1 TCP协议)
- [4.1.2 UDP协议](#4.1.2 UDP协议)
- [4.1.3 TCP与UDP的区别](#4.1.3 TCP与UDP的区别)
- [4.2 Http协议与Https协议](#4.2 Http协议与Https协议)
-
- [4.2.1 Http协议](#4.2.1 Http协议)
- [4.2.2 Https协议](#4.2.2 Https协议)
- [4.2.3 HTTP 与 HTTPS 的核心区别(表格对比)](#4.2.3 HTTP 与 HTTPS 的核心区别(表格对比))
- [4.3 常见协议的端口号](#4.3 常见协议的端口号)
- 五、网络常见名词解释
一、网络结构体系
目前最具影响力的是OSI 七层模型和TCP/IP 四层模型,两者均基于分层思想,但应用场景不同。
1.1 OSI七层模型(理论标准)
OSI(Open Systems Interconnection,开放系统互连)模型由国际标准化组织(ISO)提出,是网络通信的理论框架,分为从低到高 7 层,具体详细介绍[]:
层次 | 名称 | 核心功能 | 典型协议/设备 |
---|---|---|---|
7 | 应用层 | 为用户应用程序提供网络服务(如文件传输、邮件收发) | HTTP、FTP、SMTP、DNS |
6 | 表示层 | 处理数据格式转换(如加密、压缩、编码),确保接收方能理解数据 | JPEG、ASCII、SSL/TLS |
5 | 会话层 | 建立、管理和终止两个设备间的通信会话(如断点续传的会话维持) | RPC(远程过程调用) |
4 | 传输层 | 负责端到端的数据传输控制(如流量控制、差错校验、确保数据完整到达) | TCP、UDP |
3 | 网络层 | 确定数据传输的路径(路由选择),实现不同网络之间的通信 | IP、ICMP、路由协议(RIP、OSPF) |
2 | 数据链路层 | 将原始比特流封装为帧,处理物理层的差错(如MAC地址识别、冲突检测) | Ethernet(以太网)、PPP |
1 | 物理层 | 定义物理设备的电气、机械特性(如电压、接口类型),传输原始比特流 | 网线、光纤、网卡物理接口 |
2. TCP/IP 四层模型(实际应用)
TCP/IP 模型是互联网的实际通信标准,因 TCP 和 IP 协议是其核心而得名,简化为 4 层(或 5 层,将数据链路层和物理层合并为网络接口层):
层次 | 对应OSI层次 | 核心功能 | 典型协议 |
---|---|---|---|
应用层 | 应用层+表示层+会话层 | 同OSI应用层,直接为应用程序提供服务 | HTTP、FTP、SMTP、DNS |
传输层 | 传输层 | 同OSI传输层,负责端到端数据传输控制 | TCP、UDP |
网络层 | 网络层 | 同OSI网络层,负责路由选择和跨网络通信 | IP、ICMP、ARP |
网络接口层 | 数据链路层+物理层 | 负责物理介质上的数据传输,处理帧封装和硬件地址 | Ethernet、Wi-Fi、PPP |
二、计算机网络设备
底层的网络设备 (主要指网络模型网络层、数据链路层、物理层)主要包含路由器 (网络层数据流转),交换机 (二层交换机在数据链路层数据的流转,三层交换机同时具备网络层数据的流转),防火墙、AC、AP。
对比维度 | 路由器(Router) | 交换机(Switch) |
---|---|---|
工作层次 | 主要工作在网络层(OSI第3层) | 主要工作在数据链路层(OSI第2层) |
转发依据 | IP地址(如192.168.1.1) | MAC地址(硬件地址,如00:1A:2B:3C:4D:5E) |
核心功能 | 实现不同网络间的通信(跨网段路由)、隔绝广播域 | 实现同一网络内的设备互联(局域网内数据交换)、分割冲突域 |
广播处理 | 隔绝广播域(不转发广播包到其他网段) | 转发广播包到所有端口(同一广播域内) |
端口类型 | 多为WAN口(广域网口)+ LAN口(局域网口) | 多为LAN口(部分交换机含少量SFP光口) |
IP地址配置 | 每个网段接口需配置独立IP(如LAN口配192.168.1.1) | 通常无需配置IP(仅管理IP用于远程维护) |
适用场景 | 局域网接入互联网、多网段互联(如公司总部与分部) | 局域网内设备扩展(如办公室电脑、打印机互联) |
数据转发效率 | 相对较低(需解析IP、查询路由表) | 相对较高(基于MAC地址表转发,多为线速转发) |
安全功能 | 支持防火墙、NAT地址转换、访问控制列表(ACL)等 | 基本无安全功能(部分高级交换机支持简单ACL) |
三、网络的分类及IP地址介绍
3.1 网络分类
按照覆盖范围分类
- 局域网(LAN):局限于较小的地理范围内,如家庭、学校或公司内部的网络。
- 城域网(MAN):覆盖范围比局域网大,通常覆盖一个城市或地区。
- 广域网(WAN):覆盖范围广泛,可以跨越多个城市、国家或地区,甚至全球。
3.2 IP地址介绍
IP地址由网络部分和主机部分组成,是由一个32位的二进制位组成,通常用点分十进制形式表示。总共分为a、b、c、d、e五类。
- A 类地址:网络位 8 位,主机位 24 位。范围:1.0.0.0~126.255.255.255(默认子网掩码255.0.0.0),适用于大型网络(支持约 1600 万台主机)。
- B 类地址:网络位 16 位,主机位 16 位。范围:128.0.0.0~191.255.255.255(默认子网掩码255.255.0.0),适用于中型网络(支持约 6 万台主机)。
- C 类地址:网络位 24 位,主机位 8 位。范围:192.0.0.0~223.255.255.255(默认子网掩码255.255.255.0),适用于小型网络(支持 254 台主机)。
- D 类地址:多播地址(范围224.0.0.0~239.255.255.255),用于一组设备的通信(如视频会议)。
- E 类地址:保留地址(范围240.0.0.0~255.255.255.255),用于科研和实验。
根据IP地址类型可以将IP分为公网地址 和私网地址:
- 公网 IP 地址:由互联网服务提供商(ISP)分配,全球唯一,可直接访问互联网(如服务器的 IP 地址)。
- 私有 IP 地址:仅用于局域网内部,不能直接访问互联网,需通过 NAT(网络地址转换)与公网 IP 转换通信。常见私有 IP 范围:
- A 类:10.0.0.0~10.255.255.255
- B 类:172.16.0.0~172.31.255.255
- C 类:192.168.0.0~192.168.255.255(家庭、办公局域网常用)
- 回环地址:127.0.0.0~127.255.255.255(主要是127.0.0.1),用于设备自身测试(如本地服务器访问)
关于IP地址的补充介绍详见链接
关于IP地址VLSM(可变长子网掩码)也是常见的技术之一,感兴趣的可以看看[Hcia]No.3 VLSM
四、常见协议
4.1 TCP协议与UDP协议
TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是 TCP/IP 协议簇中两种核心的传输层协议,分别适用于不同的网络通信场景。
4.1.1 TCP协议
TCP(Transmission Control Protocol)即传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP工作方式:
建立连接的"三次握手"
断开连接的"四次挥手"
具体过程见链接[Hcia]No.6 TCP 协议。
4.1.2 UDP协议
UDP(User Datagram Protocol)用户数据报协议。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。
4.1.3 TCP与UDP的区别
特性 | TCP(传输控制协议) | UDP(用户数据报协议) |
---|---|---|
连接方式 | 面向连接(需三次握手建立连接) | 无连接(直接发送数据,无需建立连接) |
可靠性 | 可靠传输(通过确认、重传机制保证数据完整有序到达) | 不可靠传输(不保证数据到达,可能丢失或乱序) |
传输速度 | 较慢(因需要处理确认、重传等机制) | 较快(无额外处理机制,开销小) |
数据报大小 | 无固定大小限制(根据MTU分片) | 每个数据报最大65535字节 |
拥塞控制 | 有(通过慢启动、拥塞避免等算法调节发送速率) | 无(不控制发送速率,可能导致网络拥塞) |
适用场景 | 对可靠性要求高的场景(如文件传输、网页浏览、邮件) | 对实时性要求高的场景(如视频通话、直播、DNS查询) |
首部开销 | 较大(固定20字节,可扩展) | 较小(固定8字节) |
有序性 | 保证数据按顺序到达 | 不保证数据顺序 |
流量控制 | 有(通过滑动窗口机制控制接收方处理能力) | 无 |
4.2 Http协议与Https协议
HTTP(HyperText Transfer Protocol,超文本传输协议)和 HTTPS(HyperText Transfer Protocol Secure,超文本传输安全协议)是用于在网络上传输数据的应用层协议,主要用于浏览器与服务器之间的通信。
4.2.1 Http协议
- 定义: HTTP 是一种基于请求 - 响应模式的无状态协议,用于在客户端(如浏览器)和服务器之间传输超文本(如 HTML、图片、视频等)。
- 工作原理:
1.客户端向服务器发送请求(如访问网页),请求包含方法(GET、POST 等)、URL、头部信息等。
2.服务器接收请求后,处理并返回响应(如网页内容),响应包含状态码(如 200 表示成功、404 表示未找到)、响应头和响应体。 - 特点:
- 无状态:协议本身不记录请求之间的关联,每次请求都是独立的(需通过 Cookie、Session 等机制实现状态保持)。
- 明文传输:数据在传输过程中未加密,容易被窃听、篡改或伪造(存在安全隐患)。
4.2.2 Https协议
- 定义: HTTPS 是在 HTTP 基础上加入 SSL/TLS(Secure Sockets Layer/Transport Layer Security)加密层的安全协议,用于保障数据传输的机密性和完整性。
- 工作原理:
1.握手阶段:客户端与服务器建立连接时,通过 SSL/TLS 协议协商加密算法、交换公钥,并验证服务器身份(依赖数字证书)。
2.数据传输:握手完成后,双方使用协商好的对称密钥对传输的数据进行加密,确保数据仅能被收发双方解密。 - 特点:
- 加密传输:通过 SSL/TLS 对数据进行加密(对称加密)和身份验证(非对称加密),防止数据被窃听、篡改或伪造。
- 身份验证:服务器需配置数字证书(由权威 CA 机构颁发),客户端可验证服务器身份,避免 "中间人攻击"。
- 性能开销:加密和解密过程会增加服务器和客户端的计算资源消耗,相比 HTTP 速度略慢(但现代技术已大幅优化)。
PS:HTTPS 的加密机制补充
HTTPS 的安全性依赖于 SSL/TLS 的混合加密方式:
1.非对称加密: 握手阶段使用,服务器向客户端发送公钥,客户端用公钥加密 "对称密钥" 并发送给服务器,服务器用私钥解密得到对称密钥(确保对称密钥的安全传输)。
2.对称加密: 数据传输阶段使用,双方使用握手阶段协商的对称密钥对数据进行加密和解密(效率高,适合大量数据传输)。
此外,数字证书用于验证服务器身份,证书中包含服务器公钥和 CA 签名,客户端通过验证签名确认证书合法性,避免 "中间人" 伪造服务器公钥。
4.2.3 HTTP 与 HTTPS 的核心区别(表格对比)
对比维度 | HTTP | HTTPS |
---|---|---|
安全性 | 明文传输,安全性低,易被攻击 | 基于SSL/TLS加密,安全性高 |
端口 | 默认80端口 | 默认443端口 |
证书需求 | 无需证书 | 需由权威CA机构颁发的数字证书(部分场景可用自签名证书,但浏览器会提示风险) |
速度 | 无加密开销,速度较快 | 握手阶段需加密协商,速度略慢(可通过HTTPS优化技术缓解) |
URL标识 | 以http:// 开头 |
以https:// 开头,浏览器通常显示锁形图标 |
核心用途 | 传输非敏感数据 | 传输敏感数据(如账号、密码、交易信息等) |
4.3 常见协议的端口号
端口号的主要作用是表示一台计算机中的特定进程所提供的服务。网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供很多个服务,如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务。
- 知名端口号的范围是0到1023,这些端口一般固定分配给一些服务
- 动态端口号的范围是1024到65535,当运行一个程序默认都会有一个端口号,当程序退出时所占用的这个端口号就会被释放
协议名称 | 端口号 | 传输协议 | 用途说明 |
---|---|---|---|
HTTP | 80 | TCP | 用于普通网页浏览(明文传输) |
HTTPS | 443 | TCP | 用于加密的网页浏览(基于SSL/TLS) |
FTP | 20 | TCP | FTP的数据端口,用于实际文件传输 |
FTP | 21 | TCP | FTP的控制端口,用于建立连接和发送命令 |
SFTP | 22 | TCP | 基于SSH的安全文件传输协议 |
SSH | 22 | TCP | 用于通过命令行远程安全访问服务器 |
SMTP | 25 | TCP | 用于发送邮件(传统明文端口) |
SMTP | 587 | TCP | 用于发送邮件,通常支持STARTTLS加密 |
SMTP | 465 | TCP | 用于安全加密邮件传输(SSL/TLS直接加密) |
POP3 | 110 | TCP | 用于接收邮件(未加密版本) |
POP3S | 995 | TCP | 用于接收邮件(SSL/TLS加密版本) |
IMAP | 143 | TCP | 用于接收邮件(未加密版本) |
IMAPS | 993 | TCP | 用于接收邮件(SSL/TLS加密版本) |
DNS | 53 | TCP/UDP | 用于域名解析(将域名转换为IP地址) |
DHCP | 67 | UDP | DHCP服务器端口,用于分配IP地址 |
DHCP | 68 | UDP | DHCP客户端端口 |
RDP | 3389 | TCP | 用于Windows远程桌面连接 |
VNC | 5900 | TCP | 用于远程桌面共享 |
X11 | 6000 | TCP | 用于图形化界面的远程访问 |
MySQL | 3306 | TCP | MySQL数据库的默认端口 |
SQL Server | 1433 | TCP | SQL Server数据库的默认端口 |
Oracle | 1521 | TCP | Oracle数据库的默认端口 |
PostgreSQL | 5432 | TCP | PostgreSQL数据库的默认端口 |
MongoDB | 27017 | TCP | MongoDB数据库的默认端口 |
Redis | 6379 | TCP | Redis数据库的默认端口 |
Memcached | 11211 | TCP/UDP | 用于缓存服务 |
Elasticsearch | 9200 | TCP | Elasticsearch搜索引擎的默认端口 |
BitTorrent | 6881-6889 | TCP/UDP | 用于点对点文件共享 |
Docker | 2375 | TCP | Docker非加密API端口(远程管理) |
Docker | 2376 | TCP | Docker加密API端口 |
Squid代理服务器 | 3128 | TCP | 用于实现内网穿透与代理访问 |
SNMP | 161 | UDP | 用于简单网络管理 |
SNMP Trap | 162 | UDP | 用于SNMP陷阱消息传输 |
BGP | 179 | TCP | 用于边界网关协议(自治系统间路由) |
L2TP | 1701 | UDP | 用于二层隧道协议(常与IPsec结合实现VPN) |
PPTP | 1723 | TCP | 用于点对点隧道协议(VPN的一种) |
五、网络常见名词解释
- 虚拟专用网络(Virtual Private Network,VPN):是指依靠ISP或其他NSP在公用网络基础设施之上构建的专用的安全数据通信网络,只不过这个专线网络是逻辑上的而不是物理的,所以称为虚拟专用网。
- DNS-域名:由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。
- url:(Uniform Resource Locator, 统一资源定位器)俗称"网址";
- CDN的全称是Content DeliveryNetwork,即内容分发网络。基本思路:是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
- 代理:也称网络代理,是一种特殊的网络服务。它允许客户端通过这个服务与服务器进行连接。简单的来说,可以把代理理解为一种网络中间商。