大家好,我是你们的小白网安伙伴!上一篇我们聊了MAC地址、IP地址、交换机、路由器、ARP、DNS等基础概念,今天继续深入,走进网络通信模型传输层核心协议TCP/UDP,绝对干货满满!

(本文基于个人学习笔记整理,如有错误欢迎指正)

一、为什么需要网络通信模型?

想象一下,如果让全球不同厂商生产的设备(电脑、手机、服务器)自由通信,没有统一标准,那简直是一场灾难。网络通信模型就是为了解决这个问题,将复杂的网络通信拆分成多个层次,每一层只干自己擅长的事,层与层之间通过标准接口协作。这样无论硬件软件如何变化,只要遵循相同的分层规则,就能无障碍通信。

目前有两种主流模型:OSI七层模型(理论标准) 和 TCP/IP四层模型(实际应用标准)

二、OSI七层模型:网络通信的“理论蓝图”

OSI(Open Systems Interconnection)是国际标准化组织制定的理想化模型,共7层,从上到下依次为:

层级 名称 核心功能
7 应用层 直接为应用程序提供网络服务(如HTTP、FTP)
6 表示层 数据格式转换、加密、压缩
5 会话层 建立、管理、终止会话
4 传输层 端到端可靠传输(TCP/UDP)、端口号
3 网络层 路由寻址、IP地址
2 数据链路层 局域网帧传输、MAC地址
1 物理层 比特流传输、物理介质

虽然OSI模型很完整,但实际互联网采用的是更简化的TCP/IP模型

三、TCP/IP四层模型:互联网的“实战标准”

TCP/IP模型将OSI七层合并为四层,是现在所有网络设备遵循的核心规范。

TCP/IP层级 对应OSI层级 核心功能 关键协议/设备
4.应用层 应用层+表示层+会话层 为应用程序提供接口,处理数据格式、加密、会话管理 HTTP、HTTPS、DNS、FTP
3.传输层 传输层 端到端可靠/快速传输,通过端口号区分应用 TCP、UDP
2.网络层(网际层) 网络层 跨网段路由转发,IP地址定位设备 IP、ICMP、ARP、路由器
1网络接口层(链路层) 数据链路层+物理层 局域网帧传输,物理介质比特流 以太网、MAC地址、交换机

💡 数据封装过程:应用层数据 → 传输层加TCP/UDP头部(端口号) → 网络层加IP头部(IP地址) → 网络接口层加MAC头部(MAC地址) → 最终通过物理介质发送。接收方则逆向解封装。

四、传输层两大核心:TCP & UDP

传输层是网络通信的“枢纽”,负责数据从源到目标的端到端传输。TCP和UDP是这层的两个主角,一个稳如泰山,一个快如闪电。

📦 TCP(传输控制协议)—— 可靠的面向连接协议

核心特点
  • 面向连接:通信前必须通过三次握手建立连接,结束后四次挥手释放连接。

  • 可靠传输:通过序列号、确认应答、重传机制、流量控制、拥塞控制,确保数据无丢失、无重复、按序到达。

  • 缺点:效率较低,延迟较高(因连接建立,确认应答机制)。

关键机制:三次握手(建立连接)
  1. 客户端发送 SYN(同步序列号)报文,请求连接。

  2. 服务器回复 SYN+ACK(确认+同步),表示收到请求并同意。

  3. 客户端回复 ACK(确认),连接建立。

比喻:就像打电话——A说“喂,能听到吗?”(SYN),B说“能听到,你能听到我吗?”(SYN+ACK),A说“能听到,我们开始聊吧”(ACK)。

关键机制:四次挥手(释放连接)
  1. 客户端发送 FIN(结束)报文,表示数据发送完毕。

  2. 服务器回复 ACK,表示收到结束请求,但可能还有数据要发。

  3. 服务器发送 FIN,表示数据也发完了。

  4. 客户端回复 ACK,连接彻底关闭(客户端等待一段时间确保服务器收到ACK)。

比喻:就像挂电话——A说“我说完了”(FIN),B说“知道了”(ACK),B说“我也说完了”(FIN),A说“好,挂了吧”(ACK)。

适用场景

对可靠性要求高的应用:网页访问(HTTP/HTTPS)、文件传输(FTP)、邮件(SMTP)、数据库连接。

🚀 UDP(用户数据报协议)—— 快速的无连接协议

核心特点
  • 无连接:无需建立连接,直接发送数据,发完即止。

  • 不可靠传输:无确认、无重传、无流量控制,数据可能丢失、乱序。

  • 优点:效率高、延迟低、开销小。

适用场景

对实时性要求高、可容忍少量丢失的应用:视频直播、语音通话、在线游戏、DNS查询。

TCP与UDP核心对比

TCP UDP
连接方式 面向连接(三次握手) 无连接(直接发送)
可靠性 可靠(无丢失、无重复、有序) 不可靠(可能丢失、乱序)
传输效率 低(开销大、延迟高) 高(开销小、延迟低)
头部大小 20-60字节 8字节
典型应用 网页、文件、邮件、数据库 直播、语音、游戏、DNS

五、知识点串联:数据如何从你的电脑传到服务器?

  1. 应用层:浏览器(HTTP)生成请求数据。

  2. 传输层:TCP将数据分段,添加端口号(如80)。

  3. 网络层:IP添加源和目标IP地址,选择路由。

  4. 网络接口层:添加源和目标MAC地址,封装成帧。

  5. 物理层:通过网线、WiFi等介质发送比特流。

  6. 接收端:逐层解封装,最终交给服务器应用。

六、总结

  • OSI是理论模型,TCP/IP是实际标准,分层思想让网络更灵活。

  • TCP可靠但慢,适合网页、文件传输;UDP快但不可靠,适合直播、游戏。

  • 三次握手建立连接,四次挥手释放连接,这是TCP的核心机制。

  • 数据封装过程体现了各层协作,理解它对网络排障和攻击分析很有帮助。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐