tcp和udp
2020 M12 20
TCP可靠的原因
可靠不是百分百,TCP虽然采用诸多机制尽可能保证传输可靠,但在某些极端情况下,超过最大重传次数,还是会有数据丢失。
排序机制:TCP数据段以字节为单位对数据段的"数据"部分进行一一编号,确保每一个字节的数据都可以有序传送和接收。
数据段确认机制:接收端一但接收数据段,必须向发送端返回确认数据段,其中的确认号表示已经正确接收的数据段序号。
超时重传机制:发送数据段的同时开启重传定时器,如果定时器过期之时还没返回确认,视为数据包丢失,定时器停止,重传。
选择性确认机制:只重传缺少部分的数据,不会重传那些已经正确接收的数据。
数据段确认机制:接收端一但接收数据段,必须向发送端返回确认数据段,其中的确认号表示已经正确接收的数据段序号。
超时重传机制:发送数据段的同时开启重传定时器,如果定时器过期之时还没返回确认,视为数据包丢失,定时器停止,重传。
选择性确认机制:只重传缺少部分的数据,不会重传那些已经正确接收的数据。
为什么TCP传输速度比UDP慢?
TCP传输前要进行三次握手建立连接,且具有数据包重传机制,都比较耗时,UDP没有这些。
不可靠的UDP应用场景是什么?
在追求速度但对可靠性不是很在意的场景,如在线视频,直播,游戏等场景,适合UDP,即便网络卡顿造成丢帧也能接受。