📜  计算机网络|传输层(1)

📅  最后修改于: 2023-12-03 14:57:32.695000             🧑  作者: Mango

计算机网络 | 传输层

概述

传输层是OSI参考模型中第四层,主要承担着可靠的数据传输,确保应用层数据的正确性和完整性。传输层有两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。

TCP协议是一种面向连接的、可靠的、基于字节流的传输协议,主要应用于需要可靠数据传输和数据完整性的应用程序。UDP协议是一种无连接的、不可靠的、基于数据报的传输协议,主要应用于需要快速传输数据但对数据完整性要求不高的应用程序。

TCP协议

TCP协议提供了全双工的信道,可以同时进行一对一、一对多、多对多的数据传输,支持流量控制、拥塞控制、数据重传等特性,确保在网络不可靠的情况下依然可以实现可靠的数据传输。

TCP连接

TCP连接是通过三次握手建立的。当客户端请求连接时,会向服务器发送一个SYN数据包,表示要建立连接。服务器接收到SYN数据包后,会回复一个SYN + ACK数据包,表示同意建立连接。客户端接收到SYN + ACK数据包后,再回复一个ACK数据包,表示连接建立成功。

客户端 -> 服务器 : SYN
服务器 -> 客户端 : SYN + ACK
客户端 -> 服务器 : ACK
TCP数据传输

TCP协议通过TCP头部来管理数据的传输。TCP头部包含源端口号、目标端口号、序列号、确认号、窗口大小等重要信息。通过这些信息,TCP协议可以对数据进行可靠的传输管理。

TCP协议将数据划分为MSS(Maximum Segment Size)大小的数据块进行传输,保证数据的可靠性和数据的完整性。

TCP流量控制

TCP协议使用滑动窗口来进行流量控制,确保发送方发送的数据不会超过接收方的处理能力,从而避免数据的丢失和重传。

TCP拥塞控制

TCP协议通过拥塞避免和拥塞控制来防止网络拥塞。拥塞避免通过慢启动和拥塞避免机制来控制数据传输的速率。拥塞控制通过快速恢复和慢启动机制来处理拥塞窗口。

UDP协议

UDP协议是无连接的、不可靠的、基于数据报的传输协议,不保证数据的可靠性和完整性,但可以实现快速传输数据,对于一些数据完整性要求不高的应用程序来说是一种好的选择。

UDP数据传输

UDP协议将数据划分为一个个数据报来进行传输,每个数据报包含了源端口号、目标端口号、长度等信息。UDP协议不保证数据的可靠性和完整性,但传输的速度很快,适用于一些对于数据可靠性和完整性要求不高的应用程序,例如视频、语音传输等。

参考资料
  • 《计算机网络》(第七版) 谢希仁
  • TCP - 维基百科,自由的百科全书
  • UDP - 维基百科,自由的百科全书