传输层有哪些常见协议

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。 https://store.amazingmemo.com/chapterDetail/1685324709017001

传输层有两个常见的协议,分别是TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。

1. TCP(Transmission Control Protocol)

TCP是一种面向连接的、可靠的、基于字节流的传输层协议。它提供了数据完整性、顺序性和可靠性的传输,适用于对数据传输要求严格的场景。TCP的特点包括:

  • 可靠性:TCP使用确认、重传和校验机制来保证数据的可靠传输,确保数据不丢失、不重复、按顺序到达。

  • 面向连接:在数据传输前需要建立连接,传输结束后需要释放连接,因此TCP是面向连接的。

  • 流量控制:TCP使用滑动窗口机制来进行流量控制,避免发送方发送速度过快导致接收方无法处理。

  • 拥塞控制:TCP通过拥塞窗口和慢启动等机制来进行拥塞控制,避免网络拥塞导致数据丢失和延迟增加。

2. UDP(User Datagram Protocol)

UDP是一种无连接的、不可靠的传输层协议,它更注重传输效率和实时性。UDP的特点包括:

  • 无连接:UDP不需要建立连接,直接发送数据包,因此传输效率更高。

  • 不可靠性:UDP不保证数据的可靠传输,数据包可能丢失、重复或者无序到达。

  • 轻量级:UDP的头部开销较小,适用于对实时性要求高、对数据可靠性要求不高的场景。

  • 广播和多播:UDP支持广播和多播,可以将数据包发送给多个接收方。

TCP和UDP在不同的场景下有各自的优势和适用性,需要根据具体的应用需求来选择合适的传输层协议。

最后更新于