TCP和UDP的区别

TCP和UDP都是传输层的协议
TCP 面向连接的可靠地数据流服务
UDP 无连接的不可靠的数据报服务
那么为什么 TCP可靠,为什么UDP不可靠呢?也就是是什么保证了TCP是可靠的呢?
共有四点原因:
1、TCP保证数据都能到达对端。是通过 应答确认机制超时重传机制 来保证的。
2、TCP保证数据有序。TCP的每一个报文段都有序号
3、TCP保证数据不失真。TCP报头有16位的冗余检验码
4、滑动窗口拥塞控制来 控制发送流量

那么字节流服务和数据报服务又有什么区别?
首先,字节流 指的是: 应用层发送数据的次数,与接收的次数没有关系。数据会被内核缓存到发送缓冲区中。发送方由内核根据当前网络状况选择发送数据的快慢。缓冲区中的数据可以看成一个整体,没有分段。
数据报,指的是:应用层发送数据的次数,与接收的次数必须相等,并且如果接收端一次没有将一个报文段中的数据获取完则剩余的数据会被丢弃。数据是一段一段的。

那么TCP的UDP的优缺点是什么呢?它们的优劣体现在哪里?
TCP传输效率低,但是可靠性高
UDP发送效率高,但是可靠性低
TCP会传输更多的控制信息

你可能感兴趣的:(Linux网络编程)