news 2026/4/24 18:05:36

通信网络基础(下篇):TCP/IP网络参考模型与传输层协议深度解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通信网络基础(下篇):TCP/IP网络参考模型与传输层协议深度解析

上篇我们聊了网络设备、类型与拓扑,本篇将深入网络的核心——TCP/IP参考模型,重点拆解传输层TCP与UDP的工作机制,帮助读者理解数据如何在网络中可靠或高效地传输。


一、TCP/IP网络参考模型概述

TCP/IP模型是互联网事实上的标准架构,采用四层结构,相比OSI七层模型更加简洁实用。各层各司其职,共同完成端到端的数据通信。


二、应用层:用户与网络的接口

应用层直接为应用程序提供网络访问接口,用户通过这些端口访问各类网络服务。以下是三种最常见的应用层协议:

1. HTTP / HTTPS

  • 功能:提供网页访问功能
  • 区别:HTTPS在HTTP基础上增加了SSL/TLS加密,保障数据传输安全
  • 端口:80(HTTP)、443(HTTPS)

2. Telnet

  • 功能:提供远程登录功能,常用于网络设备的命令行管理
  • 特点:明文传输,安全性较低,逐渐被SSH替代
  • 端口:23

3. FTP / TFTP

  • 功能:提供文件传输功能(如图片、文本等)
  • 对比
    • FTP:功能完善,支持认证、目录操作,基于TCP
    • TFTP:轻量级,无认证机制,基于UDP,常用于网络设备配置文件传输


三、传输层:可靠与效率的权衡

传输层是TCP/IP模型中最关键的一层,它提供了端到端的通信能力。该层包含两个核心协议:TCPUDP,分别代表了两种不同的传输哲学。


四、TCP:面向连接的可靠传输

TCP(Transmission Control Protocol,传输控制协议)是面向连接的传输层协议,能够提供稳定、可靠的数据传输。TCP通过以下四大机制确保可靠性:

1. 三次握手(建立连接)

TCP在传输任何数据前,都必须通过三次握手建立会话。这个过程确保通信双方的发送和接收能力都正常。

  • 第一次:客户端发送SYN报文
  • 第二次:服务端回复SYN + ACK报文
  • 第三次:客户端发送ACK报文,连接建立

💡为什么是三次而不是两次?三次握手能够防止已失效的连接请求报文突然到达服务端造成错误,是同步序列号和确认双方收发能力的最小代价。

2. 确认与重传机制

  • 接收方收到TCP数据包后,会采用ack seq进行确认(通常为序列号+1的确认方式)
  • 如果发送方在规定时间内未收到确认(ACK),则会自动重传该数据包
  • 该机制确保了数据在传输过程中不会丢失

3. 滑动窗口(流量控制)

  • 滑动窗口机制用于动态控制TCP的传输速率
  • 接收方通过窗口大小(Window Size)告知发送方当前可接收的数据量
  • 发送方根据窗口大小调整发送速率,既能提升传输效率,又能减少不必要的重传
    !

4. 四次挥手(释放连接)

TCP完成数据传输后,必须通过四次挥手释放会话,确保双方数据都已完整传输。

  • 第一次:客户端发送FIN报文,表示不再发送数据
  • 第二次:服务端回复ACK报文,确认收到断开请求
  • 第三次:服务端发送FIN报文,表示也不再发送数据
  • 第四次:客户端回复ACK报文,进入TIME_WAIT状态后关闭

TCP适用场景

TCP适合对可靠性要求高的业务,例如:

  • FTP(文件传输协议):确保文件完整不损坏
  • Telnet/SSH(远程登录):确保命令准确送达
  • HTTPS(超文本传输安全协议):确保网页数据完整

五、UDP:高效的无连接传输

UDP(User Datagram Protocol,用户数据报协议)是面向无连接的传输层协议,提供高效传输,但不保证可靠性

UDP的核心特点

  • 无连接:发送数据前不需要建立连接,减少延迟
  • 无确认机制:不保证数据一定到达,也不保证顺序
  • 开销小:首部仅8字节,远小于TCP的20字节
  • 高效:没有重传等待,传输效率高

UDP适用场景

UDP适合对可靠性要求较低,但对延迟要求较高的业务,例如:

  • 语音通话(VoIP):偶尔丢包不影响整体通话质量,但延迟高会严重影响体验
  • 视频直播/流媒体:允许少量丢帧,但要求实时性
  • 在线游戏:需要低延迟传输位置、操作等数据

六、TCP vs UDP:全面对比

特性维度TCPUDP
连接方式面向连接(三次握手)无连接
可靠性✅ 可靠传输,有确认和重传机制❌ 不可靠,无确认机制
传输效率相对较低(握手、确认、重传开销)高效(无额外控制机制)
数据顺序保证数据按序到达不保证顺序
流量控制✅ 滑动窗口机制❌ 无
首部开销20字节8字节
典型应用HTTP/HTTPS、FTP、SSH、邮件视频直播、VoIP、DNS、在线游戏

七、网络层与数据链路层简介

网络层(Network Layer)

  • 核心功能:提供IP地址服务
  • 主要职责:寻址转发、定位设备、路由选择
  • 关键协议:IP、ICMP、ARP

数据链路层(Data Link Layer)

  • 核心功能:根据物理端口选择数据链路层的封装方式
  • 常见标准
    • 以太网:802.3标准、Ethernet II
    • 光纤链路:PPP、HDLC、ATM

八、总结

TCP/IP模型是理解现代互联网的钥匙:

  1. 应用层直接面向用户,提供HTTP、Telnet、FTP等服务接口
  2. 传输层是核心战场,TCP用可靠性换取信任,UDP用效率换取速度
  3. 网络层负责寻址和路由,让数据找到正确的目的地
  4. 数据链路层处理物理介质的封装,完成最终的数据帧传输

掌握TCP三次握手、四次挥手及滑动窗口机制,是网络工程师面试和排障的必备技能。理解TCP与UDP的适用场景,则能帮助我们在实际项目中做出正确的协议选型。


📚推荐阅读

  • 《计算机网络:自顶向下方法》
  • Wireshark抓包实战:通过真实报文观察TCP三次握手全过程

本文基于通信网络基础资料整理,如有疑问欢迎留言交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 18:04:31

uni-app官方tabBar动态化踩坑实录:为什么setTabBarItem改不了pagePath?

uni-app动态tabBar深度解析:为什么官方API无法修改pagePath? 第一次在uni-app项目中尝试实现动态tabBar时,我信心满满地打开了官方文档。毕竟,uni.setTabBarItem这个API看起来就是为这种场景设计的——直到我发现无论如何调用&…

作者头像 李华
网站建设 2026/4/24 18:03:37

酒店报事系统有哪些功能,哪款更适合酒店日常运营

酒店报事系统是专门用于处理客房设施、公共区域、后厨设备等各类报修及服务请求的数字化工具。酒店场景下,报事来源多样(客房服务员、前台、工程部自查、客人电话),要求响应快、派单准、可追溯,并常与房态管理联动。一…

作者头像 李华
网站建设 2026/4/24 18:02:18

炒股不做“冤大头”:看懂资金流向的底层逻辑

引言:如果能回到28岁,我会这样教自己炒股如果时光倒流,让我回到28岁重新开启投资生涯,我绝不会去钻研那些看似高深莫测的技术指标。相反,我会只对自己讲三句话——这其中第一句的含金量,就足以救回你日后可…

作者头像 李华
网站建设 2026/4/24 17:59:19

Zotero插件市场:如何3分钟内完成插件一键安装和管理

Zotero插件市场:如何3分钟内完成插件一键安装和管理 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 想象…

作者头像 李华
网站建设 2026/4/24 17:56:20

NX二次开发避坑指南:处理表达式(Expression)TAG时内存泄漏怎么办?

NX二次开发内存管理实战:表达式操作中的资源释放陷阱与解决方案 在NX二次开发领域,表达式(Expression)操作是构建参数化模型的核心技术之一。许多开发者能够熟练使用UF_MODL_ask_exps_of_feature等函数获取表达式数据,却常常忽视背后的内存管…

作者头像 李华