一、1.传输控制协议 TCP
(Transmission Control Protocol
)是面向连接、可靠的传输层协议(传输数据前,必须建立连接)。
2.每一条 TCP
连接只能有两个端点(服务器、客户端),所以每一条 TCP
连接只能是点对点的(一对一,一个发一个收)。
3.TCP
面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的报文段);
4.TCP
具备“可靠性传输”、“流量控制”、“拥塞控制”等功能;
二、1.UDP(User Datagram Protocol
)不提供复杂的控制机制,利用IP
提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。
2.即使是出现网络拥堵的情况下,UDP
也无法进行流量控制等避免网络拥塞的行为。此外,传输途中即使出现丢包,UDP
也不负责重发。甚至当出现包的到达顺序乱掉时也没有纠正的功能。如果需要这些细节控制,那么不得不交由采用UDP
的应用程序去处理。UDP
有点类似于用户说什么听什么的机制,但是需要用户充分考虑好上层协议类型,并制作相应的应用程序。
特点:用户数据报协议UDP
(User Datagram Protocol
) 是传输层的协议,无连接(即发送数据之前不需要建立连接)。
UDP
面向报文传输,不保证可靠交付,同时也不使用拥塞控制,适合多媒体通信的要求。
UDP
支持一对一、一对多、多对一和多对多的交互通信。
UDP
的首部开销小,只有 8 个字节。
三、TCP协议与UDP协议的主要区别有
1.TCP协议是面向链接的,TCP
协议需要建立连接,仅支持一对一通信。UDP是面向无连接的,UDP
协议无需建立连接,支持一对一、一对多、多对一和多对多的交互通信。
2.TCP是可靠的传输层协议,UDP是不可靠的传输协议。TCP
协议通过确认应答、连接管理、流量控制、拥塞控制来确保可靠性传输;UDP不保证可靠性传输。
3.TCP由于要创建链接保证可靠性传输,所以花费的资源开销大于UDP。TCP协议传输效率慢,需要较多的资源开销。UDP协议传输效率快,需要较少的资源开销。
4.TCP的首部开销大于UDP,TCP
协议的首部需要20-60
个字节,UDP
协议只需要8个字节。