关于TCP协议的面筋整理
TCP和UDP的特征及区别、分别适用于那些场景 特征 TCP:面向连接、面向字节流、提供拥塞控制、全双工、一对一通信、首部开销大(固定首部20字节)、提供可靠交付服务 UDP:无连接、面向报文、无拥塞控制、支持一对一、一对多、多对一、多对多的交互模式、头部开销小(仅8字节)、不可靠、时延小、实时性强 TCP报文段、UDP数据报首部相同部分:源端口、目的端口、校验和 区别 TCP是面向连接的;而UDP是无连接的,发送数据前不需要建立连接 面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道(TCP三次握手建立连接),连接双方要为连接分配内核资源。在通信过程中,整个连接的情况一直可以被实时地 监控和管理 非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。 TCP提供可靠的服务,即通过TCP连接传送的数据无差错、不丢失、不重复且按序到达;UDP只是尽最大努力交付,不保证可靠【可能丢包、不保证有序】 TCP面向字节流;UDP面向报文段 TCP连接只能点对点,而UDP支持一对一、一对多、多对一、多对多的交互模式 TCP数据传输慢;UDP数据传输快 TCP首部开销大;UDP首部开销小 TCP逻辑通信是全双工的可靠通信;UDP是不可靠通信