UDP、TCP特性

1.简介

在传输层中,最重要的两个协议就是UDP协议和TCP协议,其中TCP协议更为重要。

对于TCP协议,其性质为有连接可靠传输面向字节流全双工

对于UDP协议,其性质为无连接不可靠传输面向数据报全双工

下面针对这几个性质展开对比讨论。

2.有连接 vs 无连接

该连接指的不是物理上的连接,而是逻辑上的、抽象的连接,用车一根网线将两台设备连起来的连接时物理上的连接,TCP的连接指的是通信双方都保存了对端的信息,就相当于A与B进行网络通信,A保存了B的信息,B也保存了A的信息,这就是逻辑上的连接;

对于UDP而言,是不保存对方的信息的,这就是无连接。

3.可靠传输 vs 不可靠传输

在进行网络通信时,光信号/电信号都容易收到外界的干扰,传输的数据可能会出现丢失的情况(丢包,当数据发生变化时,变化的部分就会被丢弃),这就使得接收方接收到的数据是不完整的。

对于可靠传输与不可靠传输,数据丢失的根本情况不会改变,不会因为可靠传输就使得数据不会丢失。二者区别在于当数据发生丢失或者由于外界因素导致数据发生改变时,可靠传输会感知到丢包情况,并尽可能提高传输成功的概率,但不可靠传输只负责传输,至于数据在传输过程中发生了什么变化,就不会干涉了。

无论是可靠传输还是不可靠传输,数据都不能保证100%的到达。

虽然表面上看起来可靠传输比不可靠传输好,但可靠传输的效率不如不可靠传输。

4.面向字节流 vs 面向数据报

对于TCP而言,面向字节流即在读写数据时,是以字节为单位进行读写的;

对于UDP而言,面向数据报即在读写时是以一个数据报为单位进行读写的;

进而TCP读写时就可以按照任意长度进行读写,但会存在粘包问题,而UDP只能按照一个数据报进行读写,而不是半个数据报,就不会存在粘包问题。

5.全双工 vs 半双工

对于全双工而言,在读取数据的同时能写数据,在写数据的同时也能读取数据;

对于半双工而言,读取数据与写数据只能做一件事,不能同时进行。

相关推荐
开开心心_Every3 分钟前
电脑网速加速工具,无线有线叠加网络
网络·游戏·微信·pdf·电脑·excel·语音识别
霍格沃兹测试学院-小舟畅学4 分钟前
Playwright测试超时管理:全局与局部超时设置
运维·服务器·网络
tryxr9 分钟前
UDP 的报文结构和注意事项
网络·网络协议·udp
码刘的极客手记12 分钟前
vSphere 4.1 三大实用实战:vCenter 告警自动化、SIOC 无 License 启用及 Dropbox 存储运行 VM
运维·服务器·网络·自动化·虚拟机
BD同步14 分钟前
双模PCIE总线授时板卡选型指南
大数据·网络·eclipse
上海云盾-小余15 分钟前
高防 IP 详解:构建企业网络安全的第一道防线
网络协议·tcp/ip·web安全
崎岖Qiu19 分钟前
【计算机网络 | 第二篇】三种交换方式和互联网的核心部分
网络·笔记·计算机网络·路由器
一位搞嵌入式的 genius22 分钟前
深入理解浏览器中的 JavaScript:BOM、DOM、网络与性能优化
前端·javascript·网络·性能优化
开开心心就好23 分钟前
免费批量抠图软件大模型,复杂倒影精准去除
网络·windows·pdf·计算机外设·电脑·硬件架构·材料工程
Re.不晚27 分钟前
JAVA进阶之路——网络通信的层级密码:Socket切入,理解TCP与HTTP协议
java·tcp/ip·http