1. tcp: 传输控制协议。(Transmission Control Protocol)它是一个面向连接,可靠的传输协议。
2. udp: 用户数据报协议。 (User Datagram Protocol) 它不是面向连接,不是可靠的传输协议,udp协议传输速度快。
3. tcp 和 udp 都是传输层的两个传输协议
4. tcp特点: 面向连接,间接验证对方ip的有效性;
应答机制: 发送数据包完成以后,对方收到数据底层会回复;
超时重传: 发送数据以后对方没有进行回复,会隔一段时间再次给对方发送数据,如果对方一直没有回复,会认为 对方已经掉线了;
错误校验: 如果收到的数据和之前发送数据包的序号不一致,会自动根据需要排序,然后收到重复的数据包,会把 重复的数据包删除;
流量控制: 使用tcp能保证接收数据的时候电脑不会卡死。
5. tcp和udp对比: tcp面向连接,udp不面向连接;
tcp能保证数据有效和有序的传输,udp保证不了;
tcp有超时重传,udp没有;
tcp有错误校验,如果出现数据包顺序不一致会自动排序,还有如果收到数据包重复会自动删除重复的数据 包,udp没有;
tcp有流量控制,udp没有;
tcp需要建立连接然后需要资源开销较大,udp不需要建立连接,资源开销小 。
6. 扩展:tcp适合发送大量的数据,tcp每次发送的数据包理论上没有上限控制,udp每次发送的数据包不能超过64k
tcp应用场景: 文件上传和下载,浏览器上网,绝大多数应用程序都是用tcp协议。
udp应用场景: 发送广播消息(飞秋上线),音视频传输(qq和微信),包括共屏软件
tcp 发送数据的时候需要建立连接,udp不需要建立连接,udp发送给速度比tcp发送速度快。