简介
网络协议(Network Protocol)是计算机网络中用于规范设备之间通信和数据交换的规则和标准。网络协议是网络基础中占比很大的部分,很重要的知识,接下来我来介绍一下网络协议的优缺点。
一.http/https
http/https是TLS/SSL 加密的 HTTP 协议,默认端口 443。
优点
- *数据加密
- 传输内容(如登录信息、支付数据)无法被窃听。
- 身份认证
- 通过数字证书验证服务器真实性(防止钓鱼)。
- 完整性保护
- 数据防篡改(如植入广告或恶意代码)。
- SEO 优势
- 搜索引擎优先收录 HTTPS 网站。
- 兼容现代技术
- HTTP/2、WebSocket 等要求 HTTPS。
缺点
- 性能开销
- 加密/解密消耗 CPU 资源(但现代硬件已优化)。
- 配置复杂
- 需申请和维护 SSL 证书(如 Let's Encrypt)。
- 成本
- 企业级证书可能需要付费。
这个是最为了解的网络协议,https因为安全性的原因在大部分的网站运用较多,而http协议的应用正在减少。
二.ftp/sftp/ftps
1. FTP(File Transfer Protocol)
基本特性
- 端口:命令端口 21,数据端口 20(主动模式)或随机端口(被动模式)。
- 传输方式:明文传输(无加密)。
优点
- 广泛兼容
- 所有操作系统和网络设备默认支持。
- 简单易用
- 命令行和图形化工具(如 FileZilla)支持完善。
- 高效传输大文件
- 支持断点续传和批量传输。
缺点
- 安全性极低
- 用户名、密码、文件内容均为明文传输,易被窃听。
- 防火墙不友好
- 主动模式需要开放多个端口,可能被防火墙拦截。
- 无完整性校验
- 数据可能被篡改且无法察觉。
应用场景
- 内网环境:如公司内部文件共享(无外网暴露风险)。
- 匿名下载:公共文件服务器(如开源软件镜像站)。
2、SFTP(SSH File Transfer Protocol)
基本特性
- 协议基础:基于 SSH(Secure Shell)协议,端口默认 22。
- 传输方式:所有数据(包括认证和文件)通过 SSH 加密通道传输。
优点
- 高安全性
- 加密所有流量,支持密钥认证(无需密码)。
- 防火墙友好
- 仅需一个端口(22),适合严格网络环境。
- 功能丰富
- 支持文件权限管理、符号链接操作等。
缺点
- 性能较低
- 加密/解密消耗资源,传输速度略慢于 FTP。
- 配置复杂
- 需管理 SSH 密钥,对新手不友好。
应用场景
- 敏感数据传输:如企业财务报告、医疗记录。
- 远程服务器管理:Linux 系统管理员常用工具。
3、FTPS(FTP over SSL/TLS)
基本特性
- 协议基础:FTP + SSL/TLS 加密,端口默认 990(隐式) 或 21(显式) 。
- 传输方式:支持显式(
AUTH TLS)和隐式加密模式。
优点
- 安全性高
- 加密认证和文件内容,支持证书验证。
- 兼容 FTP 工具
- 传统 FTP 客户端(如 WinSCP)可直接支持。
- 灵活性
- 可选择仅加密登录凭证或全程加密。
缺点
- 端口管理复杂
- 被动模式需动态开放多个端口,防火墙配置麻烦。
- 证书成本
- 需维护 SSL/TLS 证书(如企业级 CA 签发)。
应用场景
- 合规性要求场景:如金融、政府机构文件交换。
- 传统企业系统:需兼容旧版 FTP 但要求加密的场景
三.smtp
1、SMTP 简介
SMTP 是用于发送电子邮件的标准协议,工作在 TCP 25 端口(加密版本如 SMTPS 使用 465 或 587)。
- 核心功能:将邮件从发件人传输到收件人的邮件服务器(如
user@example.com→user@gmail.com)。 - 常见搭配:
- POP3/IMAP:用于接收邮件(SMTP 仅负责发送)。
- MIME:扩展支持附件和富文本。 2、SMTP 的优点
- 简单高效
- 协议设计简洁,命令少(如
HELO,MAIL FROM,RCPT TO,DATA),适合快速传输文本。
- 协议设计简洁,命令少(如
- 广泛兼容
- 所有邮件服务器(如 Gmail、Outlook)和编程语言(如 Python、PHP)均支持。
- 可靠性高
- 基于 TCP,支持重传机制,确保邮件不丢失。
- 扩展性强
- 支持加密(SMTPS、STARTTLS)、身份验证(SMTP-AUTH)和反垃圾邮件机制(SPF、DKIM)。
3、SMTP 的缺点
- 明文传输(默认)
- 原始 SMTP 不加密,内容可能被窃听(需通过 STARTTLS 或 SMTPS 加密)。
- 无内置身份验证
- 早期 SMTP 允许匿名发送,易被滥用(需配合 SMTP-AUTH 或 IP 白名单)。
- 垃圾邮件问题
- 开放中继(Open Relay)可能导致服务器被用于发送垃圾邮件。
- 复杂性增加
- 现代 SMTP 需配置加密、SPF/DKIM/DMARC 等反垃圾邮件策略。
4、SMTP 的应用场景 1. 邮件发送服务
- 用户注册/通知邮件:
- 如验证码、订单确认(通过
mail()函数或第三方 API 调用 SMTP)。
- 如验证码、订单确认(通过
- 企业邮件系统:
- 内部员工使用 Outlook、Thunderbird 等客户端通过 SMTP 发信。 2. 自动化运维
- 服务器告警:
- 监控系统(如 Zabbix、Prometheus)通过 SMTP 发送报警邮件。
- 日志报告:
- 定期将系统日志以附件形式邮件发送给管理员。 3. 开发者工具
- 测试环境:
- 使用本地 SMTP 服务器(如 MailHog、FakeSMTP)调试邮件功能。
- 事务性邮件:
- 通过 SendGrid、Mailgun 等第三方服务(基于 SMTP 接口)发送批量邮件。
四.DNS
1、DNS 简介
DNS(域名系统)是互联网的“电话簿”,负责将域名(如 google.com)解析为 IP 地址(如 142.250.190.46) ,基于 UDP 53 端口(少数情况下使用 TCP)。
- 核心功能:
- 域名 ↔ IP 地址映射(正向解析)。
- IP 地址 → 域名查询(反向解析)。
- 负载均衡(通过轮询多个 IP)。
2、DNS 的优点
- 高效分布式架构
- 全球层级化部署(根域名服务器 → TLD → 权威 DNS),避免单点故障。
- 快速响应
- 基于 UDP 协议,查询延迟低(通常 <100ms)。
- 灵活性高
- 支持动态更新(如 DDNS)、负载均衡、故障转移。
- 透明兼容
- 所有操作系统、浏览器和网络设备默认支持。
3、DNS 的缺点
- 安全性风险
- 默认无加密(原始 DNS 为明文),易受 DNS 劫持、缓存投毒攻击。
- 解决方案:DNSSEC(签名验证)、DoH/DoT(加密传输)。
- 单点依赖
- 本地 DNS 服务器故障会导致全网访问中断(如运营商 DNS 宕机)。
- 延迟问题
- 跨地域递归查询可能增加解析时间(可通过 CDN 或本地缓存优化)。
4、DNS 的应用场景 1. 基础域名解析
- 用户访问网站:
- 浏览器输入
example.com→ DNS 返回 IP → 建立 TCP 连接。
- 浏览器输入
- 企业内部网络:
- 解析内网服务域名(如
printer.corp.local)。 2. 负载均衡与高可用
- 解析内网服务域名(如
- 轮询解析(Round Robin) :
- 一个域名对应多个 IP,分散流量(如
api.example.com→IP1, IP2, IP3)。
- 一个域名对应多个 IP,分散流量(如
- 地理定位解析(GeoDNS) :
- 根据用户位置返回最近的服务器 IP(如 CDN 节点)。 3. 安全与监控
- DNS 防火墙:
- 拦截恶意域名(如广告、钓鱼网站)。
- 网络故障诊断:
- 使用
nslookup、dig工具检查解析是否正常。
- 使用
如果本地要部署dns解析的话可以更改电脑文件夹下的hosts文件,将网址和ip地址匹配起来,因为优先级的缘故,电脑会先查询本地dns解析,这样也可以通过将网址定位到不存在的IP地址从而达到屏蔽访问网站的需求。
五.DHCP协议
1、DHCP 简介
DHCP(动态主机配置协议)是一种自动分配IP地址和其他网络参数的协议,基于 UDP 67(服务器)和 68(客户端)端口,属于应用层协议。
2、DHCP 的核心功能
- 自动分配IP地址
- 避免手动配置,减少IP冲突。
- 提供网络参数
- 包括子网掩码、默认网关、DNS服务器、租期等。
- 支持动态和静态分配
- 动态分配(临时IP)和静态分配(固定IP)。
3、DHCP 的优点
| 优点 | 说明 |
|---|---|
| 简化管理 | 无需手动配置IP,适合大型网络。 |
| 减少错误 | 自动分配避免IP冲突。 |
| 灵活性强 | 支持动态和静态分配。 |
| 节省IP资源 | 通过租期回收未使用的IP。 |
4、DHCP 的缺点
| 缺点 | 说明 |
|---|---|
| 单点故障 | DHCP服务器宕机导致客户端无法获取IP。 |
| 安全性风险 | 可能遭受DHCP欺骗攻击(如伪造服务器)。 |
| 依赖网络 | 需要网络连通性,否则无法获取IP。 |
由于ipv4的IP地址的缺少,网络上开始将ip地址划分为公网ip和私网IP,私网IP通过路由器将私网IP转换为公网IP才能向外进行数据包发送。其中如果不进行设置的话私网ip就会有dhcp服务程序进行动态分配。
六.SNMP协议
一、SNMP简介
SNMP(简单网络管理协议)是用于监控和管理网络设备(如路由器、交换机、服务器等)的标准协议,工作在 UDP 161(Agent)和162(Trap)端口,属于应用层协议。
二、SNMP的核心功能
- 设备监控
- 获取CPU、内存、接口流量等性能数据。
- 配置管理
- 远程修改设备参数(如接口状态、路由表)。
- 故障告警
- 通过Trap消息主动上报异常(如端口宕机)。
三、SNMP的优缺点
优点
- 广泛兼容
- 支持几乎所有网络设备(Cisco、华为、Linux等)。
- 轻量高效
- 基于UDP,资源占用低。
- 灵活扩展
- 通过MIB定义自定义监控项。
缺点
- 安全性差(v1/v2c)
- 明文传输,易被窃听(v3解决)。
- 无数据持久化
- 需额外工具(如Zabbix)存储历史数据。
七.SSH协议
一、SSH简介
SSH(安全外壳协议)是一种加密的网络协议,用于安全远程登录和文件传输,默认使用 TCP 22端口。它替代了不安全的Telnet和FTP协议。linux在登陆中常常会用ssh远程连接来进行操作。
二、SSH的核心功能
- 加密远程登录
- 通过命令行安全访问服务器(如Linux、网络设备)。
- 文件传输
- 通过SFTP(SSH File Transfer Protocol)或SCP(Secure Copy)加密传输文件。
- 端口转发/隧道
- 加密其他协议的流量(如通过SSH隧道访问内网数据库)。
三、SSH的优缺点
优点
- 高安全性
- 加密所有流量(包括密码),防止窃听和中间人攻击。
- 灵活认证
- 支持密码、公钥、证书等多种方式。
- 跨平台
- 所有操作系统(Linux、Windows、macOS)和网络设备(如路由器)均支持。
缺点
- 配置复杂度
- 密钥管理对新手不友好(如
~/.ssh/config)。
- 密钥管理对新手不友好(如
- 可能被暴力破解
- 若开放公网访问且使用弱密码,需配合Fail2Ban防护。
八.NTP
一、NTP简介
NTP(网络时间协议)是用于同步计算机系统时钟的标准协议,使用 UDP 123端口。它通过分层(Stratum)架构提供高精度时间同步,误差可控制在毫秒甚至微秒级。
- *
二、NTP的核心功能
- 时间同步
- 将设备时钟与权威时间源(如原子钟、GPS)对齐。
- 时钟漂移修正
- 补偿本地时钟的累积误差(如晶振偏差)。
- 冗余支持
- 支持多时间源投票机制,避免单点故障。
三、NTP的优缺点
优点
| 优点 | 说明 |
|---|---|
| 高精度 | 局域网内误差通常<1ms,广域网<10ms |
| 分层架构 | Stratum层级保证可扩展性和可靠性 |
| 跨平台 | 支持所有操作系统和网络设备 |
缺点
| 缺点 | 说明 |
|---|---|
| UDP无连接 | 可能因网络抖动影响同步质量 |
| 安全风险 | 旧版本(如NTPv3)易受放大攻击 |
| 配置复杂 | 需合理选择时间源和层级 |
九.IMAP
一、IMAP简介
IMAP(互联网消息访问协议)是用于从邮件服务器访问和管理电子邮件的应用层协议,默认使用 TCP 143端口(加密版本IMAPS使用 993端口)。与POP3不同,IMAP支持邮件在服务器端的双向同步。
二、IMAP的核心功能
- 双向同步
- 客户端操作(如删除、移动邮件)实时同步到服务器。
- 多设备访问
- 在手机、电脑等多设备上保持邮件状态一致。
- 文件夹管理
- 支持服务器端自定义文件夹(如“工作”、“个人”)。
- 部分下载
- 可仅下载邮件头或附件,节省带宽。
三、IMAP的优缺点
优点
| 优点 | 说明 |
|---|---|
| 多设备同步 | 适合现代多终端办公场景 |
| 服务器存储 | 邮件长期保留在服务器,本地空间占用少 |
| 高效搜索 | 支持在服务器端快速检索邮件 |
缺点
| 缺点 | 说明 |
|---|---|
| 依赖网络 | 离线环境下访问受限 |
| 服务器负载高 | 频繁同步增加服务器压力 |
| 配置复杂 | 需维护服务器端存储空间 |