举个例子:UDP发送的消息可能先到的例子
UDP比TCP快
这句话本身是非常不严谨的。
已经构造好的数据包在链路上传播时,路由器是不会管你传输层使用了什么协议的(除了出于特殊目的,需要进行流量审查和端口屏蔽),所以理论上UDP和TCP封包的传输时延是一样的。
那么让上面那句话显得有道理的,只能是加上了传输时延以外的时延后的情况。不过这个问题从时延来想的话不太合适。
从UDP和TCP的开销来看,UDP头部占8个字节,而TCP占20个,因此在相同环境下发送同样多的应用层的数据,TCP的开销比UDP大,从而也会产生“慢”的感觉。
从连接特性来看,UDP是无连接的,而TCP是有连接的,TCP需要通过三次握手建立连接后才能正式发送应用层数据,而UDP不需要,额外的握手时间也会产生“慢”的感觉。
从其它特性来看,TCP有自动重传、重整失序数据的功能,例如,使用TCP发送“ABCD”,接收方接收到了“BCD”,而“A”由于丢包等原因暂时没有接收到,TCP就会一直等到“A”也接收到了,才会把“ABCD”一起送到应用层,这样一来,虽然“BCD”早就接收到了,但应用层实际等待的时间会被“A”拖慢,造成整体“慢”的感觉。
具体还是要了解这两个协议本身的特点。
举个例子TCPA:我跟你说件事B:好的,你说A:我要开始说咯A:你是傻逼
A:我说完了B:我知道了,容我三思B:我无话可说A:我知道了
UPDA:你是傻逼
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
这句话本身是非常不严谨的。
已经构造好的数据包在链路上传播时,路由器是不会管你传输层使用了什么协议的(除了出于特殊目的,需要进行流量审查和端口屏蔽),所以理论上UDP和TCP封包的传输时延是一样的。
那么让上面那句话显得有道理的,只能是加上了传输时延以外的时延后的情况。不过这个问题从时延来想的话不太合适。
从UDP和TCP的开销来看,UDP头部占8个字节,而TCP占20个,因此在相同环境下发送同样多的应用层的数据,TCP的开销比UDP大,从而也会产生“慢”的感觉。
从连接特性来看,UDP是无连接的,而TCP是有连接的,TCP需要通过三次握手建立连接后才能正式发送应用层数据,而UDP不需要,额外的握手时间也会产生“慢”的感觉。
从其它特性来看,TCP有自动重传、重整失序数据的功能,例如,使用TCP发送“ABCD”,接收方接收到了“BCD”,而“A”由于丢包等原因暂时没有接收到,TCP就会一直等到“A”也接收到了,才会把“ABCD”一起送到应用层,这样一来,虽然“BCD”早就接收到了,但应用层实际等待的时间会被“A”拖慢,造成整体“慢”的感觉。
具体还是要了解这两个协议本身的特点。
举个例子
TCP
A:我跟你说件事
B:好的,你说
A:我要开始说咯
A:你是傻逼
A:我说完了
B:我知道了,容我三思
B:我无话可说
A:我知道了
UPD
A:你是傻逼