详细阐述 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 等。
比喻解释协议作用
- TCP 像快递包裹
- 快递员(TCP)会确保包裹(数据)完整无误地送到你手中。如果包裹丢失,快递公司会重新发送(重传)。你需要签收(ACK 确认),且包裹按顺序送达(有序性)。
- UDP 像广播通知
- 学校广播(UDP)直接播放通知,不关心每个学生是否听到(无确认)。即使有人没听到(丢包),广播也不会重播。适合快速传递信息(如运动会成绩)。
- 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 是网络的“信号灯和路标”,通过类型/代码传递控制信息。
- 防火墙 像“海关”,根据协议、端口、方向等规则决定是否放行流量。