1、什么是TCP?
TCP是一种传输层协议,允许数据包从一个位置发送到另一个位置。
TCP是面向连接的协议,也就是说它在网络计算机单元之间的任何通信之间建立连接。
TCP是一种可靠的协议,接收方总是会给发送方提供一条关于数据包的确认消息,要么肯定要么否定,所以发送方总是能知道数据包是否到达目的地,是否需要被重新发送。
TCP支持全双工服务器,既可以当接受者,也可以当发送者,以点对点的客户端/服务器方式运行。
2、TCP是怎么工作的?
TCP的主要任务是从应用层收集数据,它将数据拆分成多个数据包,为每个数据包分配一个编号,然后将这些数据包发送到它们的目的地。同样,在将数据包发送到应用层之前,它会重新组合数据包。因为TCP是面向连接的协议,所以这个连接将一直保持,直到发送方和接收方完成数据交换。
3、TCP是怎么保证数据的有序性?
TCP为了保证数据能到达其目的地,而且到达的顺序和发送时的顺序相同,它内置了一套错误检查和恢复体系,负责提供端到端通信。TCP还提供对流量控制和服务质量的访问。
4、什么是UDP?
UDP是TCP/IP协议套的最基本的传输层通信协议,它使用最低限度的通信机制。
UDP被认为是一种不可靠的传输协议,但它通过使用IP服务来完成其工作,提供了一种尽力而为的传递方法。
UDP不保证数据包的有序传递,它是无状态的,不提供任何拥塞控制机制。
5、UDP使用场景?
如果确认是否接收到数据这点并不是很重要,我就可以使用UDP,它适用于单向数据流的场景,最适合给予查询的通信。在UDP中,接收方不生成数据包的确认,发送方也不等待数据包的确认,正是如此,使得该协议虽不可靠但是易于处理。
TCP与UDP的区别
1、UDP是一种无连接协议,而TCP是一种面向连接的协议。
2、UDP对丢失的数据包不进行重传,TCP对丢失的数据包进行重传。
3、UDP无法确保数据的有序性,TCP可以确保数据的有序性。
4、UDP是以数据包的形式传输的,TCP是以字节流的形式传输的。
5、UDP支持广播,TCP不支持广播,TCP接收方和发送方必须先建立一条连接。