1.TCP和UDP 1)TCP是面向连接的,tcp建立连接需要建立三次握手,断开连接需要四次挥手。而UDP不需要建立连接直接发起。 2)TCP的连接是可靠的,它的可靠由其中各种机制维持,其中包括: 校验和:发送端填充, CRC校验。如果接收端校验不通过, 则认为数据有问题。此处的检验和不光包含TCP首部, 也包含TCP数据部分。 定时器:发送方如果发送放在一定时间内没有收到接收方反馈的ACK则会触发超时重传机制,这个等待时间就是由定时器设置的。 假设发送发的起始地址为200,大小为300字节数据,则接收方在反馈时会返回500(下一次发送的起始地址) seq序列号:200,该序列号也用于TCP给包排序,使其具有有序性。 确认应答ACK:500; 否定确认:当接受方发现校验和校验出问题,要求发送方重新发送数据包,则会将刚才发送方发来的初始地址(200)返回,即否认确定。 窗口及流水线:即拥塞克制和流量控制。 而UDP仅仅使用源端口,目的端口和目的IP进行数据传输,因此它是不可靠的,且无流量控制亦无序。 3)TCP是面向字节流的,UDP是面向数据报文的。 TCP应用于效率要求相对低,对准确性要求相对高的场景,如文件传输; UDP应用于效率要求相对高,对准确性要求相对低的场景,如视频通话。