详细阐述 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 是网络的"信号灯和路标",通过类型/代码传递控制信息。
  • 防火墙 像"海关",根据协议、端口、方向等规则决定是否放行流量。
相关推荐
lenkco1 小时前
WiFiMouseServer手机等作为远程输入
c语言·c++·tcp/ip
阿沁QWQ5 小时前
传输层协议UDP
网络·网络协议·udp
上海云盾-高防顾问8 小时前
高防IP能够防御CC攻击吗?它具备哪些显著优势?
网络·tcp/ip·安全
June`16 小时前
计算机网络基础:从协议到通信全解析(大致框架)
网络·网络协议·tcp/ip·mac
kfepiza1 天前
`/etc/samba/smb.conf`笔记250720
linux·网络协议·tcp/ip
kfepiza1 天前
`/etc/samba/smb.conf` 的 `guest ok` 和 `map to guest` 和 `guest account`
linux·网络协议·tcp/ip
MediaTea1 天前
Python:简易的 TCP + SSL 服务端与客户端示例
开发语言·python·网络协议·tcp/ip·ssl
HHRL-yx1 天前
C++网络编程 4.UDP套接字(socket)编程示例程序
网络·c++·udp
tan77º1 天前
【Linux网络编程】应用层协议 - HTTP
linux·服务器·网络·c++·http·https·tcp