TCP(Transmission Control Protocol)意思是:传输控制协。通过TCP协议的传输,得到的是一个顺序无差别的数据流。在发送方和接收方成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收数据。 UDP(User Dategram Protocol)意思是:用户数据报协议,是一种无连接的协议。UDP和TCP位于同一个传输层,但它对于数据包的顺序或重发没有TCP可靠。每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
以下做简单的比较: 传输效率 使用UDP协议时,每个数据报中都给出了完整的地址信息,因此无须尽力发送方和接收方的连接。对于TCP协议,由于TCP协议,由于它是面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP协议中多了一个连接建立的时间。 传输大小 使用UDP协议传输时是有大小限制的,每个被传输的数据报必须在64kB之内。而TCP协议一旦建立连接,双方的socket就可以按统一的格式传输大量的数据。 可靠性 UDP是不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。TCP协议是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。 用非可靠的UDP协议原因: 可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP协议传输效率没有UDP协议高。在许多应用中并不需要严格的传输可靠性,比如视频会议系统,并不要求音频和视频数据绝对的正确,只要保证连贯性就可以了,这种情况下就用UDP好!
|