1、明白TCP的定义:
保证可靠性和流控制机制的数据, 包括 socket ,序列号 以及窗口大小
TCP 建立 需要三次握手 有效的避免了历史错误连接的建立,减少通信双方的不必要的资源消耗, 三次握手能够帮助通信双方获取初始化序列号,他们能够保证传输数据包的不重不丢,还能保证他们的传输顺序, 不会因为网络传输问题发生混乱,这里为啥不使用【两次握手】和【四次握手】的原因已经非常清楚了;
【两次握手】:无法 避免历史错误连接的初始化,浪费接受方的资源;
【四次握手】:TCP协议的设计可以让我们同时传递ACK 和 SYN 两个控制信息,减少通信次数,所以不需要使用更多的通信次数传输相同的信息;
合并成下面
TCP 和UDP的区别
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道