当前位置: 首页 > news >正文

详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡

详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡

知其然不知其所以然,不然就会死记硬背,如果我们通晓原理我们对知识掌握是非常牢固的,今天优雅草卓伊凡在给甲方新配置项目添加端口信息的时候,想了下这个,有必要深入学习和理解巩固知识,我们通常添加的端口 过的协议都是tcp


并且卓伊凡发现轻量云服务器和云服务器防火墙也是有区别的

1. TCP(传输控制协议)
  • 原理
    TCP 是一种面向连接的、可靠的传输层协议。它通过三次握手建立连接,确保数据包的顺序和完整性,并提供流量控制和拥塞控制机制。如果数据包丢失或损坏,TCP 会重传数据。
  • 特点
    • 可靠性:通过确认、重传和校验机制保证数据正确传输。
    • 有序性:数据包按顺序到达。
    • 面向连接:通信前需建立连接(三次握手),结束后释放连接(四次挥手)。
  • 典型应用:HTTP(网页浏览)、FTP(文件传输)、SSH(安全登录)等。
2. UDP(用户数据报协议)
  • 原理
    UDP 是一种无连接的、不可靠的传输层协议。它直接发送数据包,不建立连接,也不保证数据包的顺序或可靠性,但开销小、延迟低。
  • 特点
    • 无连接:无需握手,直接发送数据。
    • 不可靠:不保证数据包是否到达或顺序正确。
    • 高效:头部开销小(仅 8 字节),适合实时应用。
  • 典型应用:视频流(如 Zoom)、DNS 查询、在线游戏等。
3. ICMPv4(Internet 控制报文协议版本 4)
  • 原理
    ICMPv4 是网络层协议,用于传递控制信息和错误报告(如网络不可达、超时等)。它不传输用户数据,而是辅助 IP 协议(IPv4)运作。
  • 常见报文
    • Echo Request/Reply(ping 命令):测试主机是否可达。
    • Destination Unreachable:目标不可达时返回。
    • Time Exceeded:TTL 超时(如 traceroute 使用)。
  • 特点:无端口概念,通过类型和代码字段区分功能。
4. ICMPv6(Internet 控制报文协议版本 6)
  • 原理
    类似 ICMPv4,但专为 IPv6 设计,功能更复杂(如邻居发现、地址自动配置等)。
  • 新增功能
    • Neighbor Discovery:替代 IPv4 的 ARP,用于解析 MAC 地址。
    • Router Advertisement/Solicitation:路由器发现和地址配置。
  • 常见报文:Echo Request/Reply(ping)、Path MTU Discovery 等。

比喻解释协议作用

  1. TCP 像快递包裹
    • 快递员(TCP)会确保包裹(数据)完整无误地送到你手中。如果包裹丢失,快递公司会重新发送(重传)。你需要签收(ACK 确认),且包裹按顺序送达(有序性)。
  1. UDP 像广播通知
    • 学校广播(UDP)直接播放通知,不关心每个学生是否听到(无确认)。即使有人没听到(丢包),广播也不会重播。适合快速传递信息(如运动会成绩)。
  1. ICMP 像网络交警
    • 交警(ICMP)不运输货物(数据),而是指挥交通。例如,发现道路堵塞(网络不可达)时,交警会通知司机(返回错误报文);ping 则是交警检查某条路是否通畅(Echo Request/Reply)。

形象的逻辑图


防火墙 端口 进出逻辑图

防火墙配置协议与端口的原理

1. 协议与端口的关系
  • TCP/UDP:通过端口号(如 80 for HTTP、443 for HTTPS)区分不同服务。防火墙可基于端口允许/拒绝流量。
    • 示例:放行 TCP 80 端口以允许网页访问。
  • ICMP:无端口概念,防火墙通过类型和代码过滤(如允许 Echo Request 但禁止 Destination Unreachable)。

2. 防火墙配置示例
  • 放行 TCP 22 端口:允许 SSH 连接(可靠登录)。
规则:允许 协议=TCP, 目标端口=22, 方向=入站
  • 放行 UDP 53 端口:允许 DNS 查询(快速解析域名)。
规则:允许 协议=UDP, 目标端口=53, 方向=出站
  • 限制 ICMPv4:仅允许 ping(Echo Request/Reply)。
规则:允许 协议=ICMPv4, 类型=8(Echo Request), 方向=入站  
规则:允许 协议=ICMPv4, 类型=0(Echo Reply), 方向=出站

3. 配置逻辑
  • 状态检测:防火墙会跟踪连接状态(如 TCP 三次握手),仅允许已建立的连接通过。
  • 默认拒绝:通常先禁止所有流量,再按需放行特定协议和端口。
  • ICMP 过滤:需明确允许需要的类型(如 ping),避免被用于网络探测(如禁止 Time Exceeded 防止 traceroute)。

总结

  • TCP/UDP 是传输数据的“交通工具”(可靠卡车 vs. 快速摩托),依赖端口区分服务。
  • ICMP 是网络的“信号灯和路标”,通过类型/代码传递控制信息。
  • 防火墙 像“海关”,根据协议、端口、方向等规则决定是否放行流量。
http://www.lryc.cn/news/593438.html

相关文章:

  • Python高级数据类型:字典(Dictionary)
  • Datawhale 7月学习
  • RK3568 Linux驱动学习——SDK安装编译
  • Oracle为什么需要临时表?——让数据处理更灵活
  • DAY 18 推断聚类后簇的类型
  • 【Project】kafka+flume+davinci广告点击实时分析系统
  • MySQL(145)如何升级MySQL版本?
  • 在服务器(ECS)部署 MySQL 操作流程
  • 基于单片机宠物喂食器/智能宠物窝/智能饲养
  • 手撕Spring底层系列之:注解驱动的魔力与实现内幕
  • Spring AI 1.0版本 + 千问大模型之 文本记忆对话
  • 基于单片机病床呼叫系统/床位呼叫系统
  • C#操作WPS表格
  • 大模型军备竞赛升级!Grok 4 携 “多智能体内生化” 破局,重构 AI 算力与 Agent 2.0 时代
  • 张 关于大语言模型(LLM)置信度研究的经典与前沿论文 :温度缩放;语义熵;自一致性;事实与反思;检索增强;黑盒引导;
  • [MySQL基础3] 数据控制语言DCL和MySQL中的常用函数
  • 一个基于阿里云的C端Java服务的整体项目架构
  • 阿里云ssl证书自动安装及续订(acme)
  • NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化
  • LRU算法及优化
  • SpringBoot五分钟快速入门指南
  • Java行为型模式---访问者模式
  • Nestjs框架: 理解 RxJS响应式编程的核心概念与实践
  • 如何构建未来的人-AI-环境智能教育生态系统
  • OpenCV 官翻 3 - 特征检测 Feature Detection
  • Vue 3 中导出 Excel 文件
  • 【Web APIs】JavaScript 自定义属性操作 ② ( H5 自定义属性 )
  • 光纤收发器上的指示灯各代表的含义
  • 【ChatOpenAI】常用方法详解
  • 如何设计一个软件项目管理系统:架构设计合集(六)