传输层概述
传输层
说明
- 如果只想关注计算机网络的应用:
- 熟悉:应用场景,端口号
- 了解:传输层功能,特性。
- 如果想深入学习计算机网络:
- 熟悉:传输层功能,特性。
- 熟悉:端口号
传输层功能
- 实现端到端的通信
- 复用分用:
- 复用(从上到下):在发送数据的时候,多个进程可以使用同一个传输层协议
- 分用(从下到上):在接收数据的时候,传输层可以把数据正确的交给应用层目的进程。
- 差错检测:
- TCP检测出差错后立即丢弃数据。
- UDP检测出错误后直接丢弃数据,且不通知发送方。
- 想传输层提供两种服务:
- 面向连接的、可靠的端到端传输服务(TCP):确保数据无差错,不丢失。开销大,实时性差。
- 无连接的,不可靠的端到端传输服务(UDP):数据可能出错、丢失,但是速度快,开销小。
端口号
作用:通过端口号标识一个特定进程:
- 注意:每台主机的端口号是相互独立的。
- 注意:TCP、UDP两种协议的端口号是独立的。
通过TCP/UDP协议,通过Socket套接字 = { IP地址 : 端口号 },唯一的标识网络一台主机上的应用进程。
端口号分类:
- 服务器使用的端口号:
- 熟知端口号
0~1023
:通常只能用于被熟知的重要应用程序。 - 登记端口号:
1024~49151
- 熟知端口号
- 客户端使用的端口号
- 短暂端口号:
49152~65535
- 短暂端口号:
==端口号分类只是一个建议标准,不是一定要遵守的规范。==
进程、端口号、传输层协议之间的关系
- 同一个端口可以建立多个TCP连接,但是每一对TCP连接都仅支持一对一通信。
有连接传输和无连接传输
有连接传输和无连接传输
应用场景
TCP应用场景
可靠性要求高的数据传输
• 网页浏览(HTTP/HTTPS):TCP的可靠传输机制(如数据重传、序列号确认)确保网页内容完整加载,避免数据丢失或错乱。
• 文件传输(FTP):大文件传输需要保证数据完整性和顺序性,TCP的流量控制和拥塞控制机制可避免传输中断或数据损坏。
• 电子邮件(SMTP/POP3):邮件内容不可丢失或乱序,TCP的可靠性和有序性满足这一需求。
• 远程登录(SSH/Telnet):命令执行需保证逐条响应,TCP的按序交付和重传机制确保操作的准确性。需要复杂交互的场景
• 数据库访问(如MySQL):事务性操作需严格保证数据一致性,TCP的可靠传输和流控制机制可避免数据冲突或丢失。
• 金融交易系统:交易数据的原子性和完整性依赖TCP的确认机制,确保每笔操作准确无误。特殊场景
• 网络监控(SNMP):虽然SNMP默认使用UDP,但部分需要高可靠性的监控数据(如配置更新)会切换至TCP。
• 分布式计算:如云计算任务调度,TCP确保计算节点间的数据同步和任务执行的可靠性。
UDP应用场景
实时性优先的应用
- 实时音视频通信(Zoom、VoIP):UDP的低延迟特性(无需握手和确认)更适合语音和视频流传输,用户对偶发丢包的容忍度高于延迟。例如,VoIP允许丢包率1%-2%,但延迟需控制在150毫秒内。
- 在线游戏(《王者荣耀》):玩家操作需毫秒级响应,UDP避免了TCP的重传和拥塞控制延迟,即使偶现丢包也不显著影响体验。
简单请求-响应模型
- DNS查询:DNS请求通常短小且需快速响应,UDP的轻量级头部(仅8字节)和无需连接的特性使其效率远超TCP。
- DHCP/NTP:动态IP分配和时间同步协议依赖UDP的快速广播/单播能力,无需复杂握手流程。
广播与多播场景
- 流媒体直播(IPTV):UDP支持一对多传输,适合大规模直播场景,如体育赛事或音乐会实时转播。
- 物联网设备群控:UDP可同时向多个设备发送指令(如智能家居控制),避免TCP单播连接的开销。
自定义可靠性协议
- QUIC协议(HTTP/3):基于UDP实现快速连接建立,同时加入应用层重传和拥塞控制机制,兼顾速度与可靠性。
- 自定义传输逻辑:开发者可在应用层实现轻量级校验或重传机制(如游戏状态同步),灵活适应特定需求。
选择依据与对比总结
特性 | TCP适用场景 | UDP适用场景 |
---|---|---|
可靠性 | 必须保证数据完整(文件、邮件) | 允许偶发丢包(视频、游戏) |
延迟敏感性 | 容忍较高延迟(秒级) | 要求极低延迟(毫秒级) |
连接方式 | 一对一稳定连接 | 支持广播/多播、无连接 |
协议开销 | 头部较大(20-60字节) | 头部极小(8字节) |
典型协议/应用 | HTTP、SSH、FTP | DNS、QUIC、RTP、在线游戏 |
补充说明:
- 混合使用场景:部分应用同时依赖TCP和UDP。例如:
- DNS:常规查询用UDP,区域传输(Zone Transfer)用TCP保证大数据量传输的可靠性。
- 视频会议:控制信令(如连接建立)用TCP,音视频流用UDP。
- 新兴技术趋势:基于UDP的改进协议(如QUIC)正在融合TCP的可靠性优势,未来可能在更多场景替代传统TCP。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 MyAKDreamのBlog!