网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

可靠数据传输协议的原则

更新时间:2026年03月27日   作者:spoto   标签(Tag):
传输层协议是分层架构中的核心组成部分,它们负责实现应用程序之间逻辑上的通信。 这些过程利用了逻辑通信方式,将数据从传输层传输到网络层。这种数据传输方式必须既可靠又安全。 数据是以数据包的形式进行传输的,但问题在于数据的可靠传输方面存在一些问题。 数据传输问题不仅发生在传输层,也发生在应用层以及链路层。 这个问题发生在可靠的服務运行在不可靠的服務之上的情况下。例如,TCP(传输控制协议)是一种可靠的数据传输协议,但它实际上是在不可靠的互联网协议之上实现的。也就是说,互联网协议本身就是一个端到端的网络层协议。图:关于可靠数据传输的研究在这个模型中,我们为协议中的发送方和接收方设计了可靠的通信机制。 在可靠的数据传输过程中,该层会从上一层接收数据。它会将数据分割成多个片段,并在每个片段上添加头部信息,然后再进行传输。 在底层,这些段被接收进来后,会去除每个段中的头部信息。然后,通过添加头部信息,将这些段转化为一个完整的数据包。 从上述层传输下来的数据,没有出现任何数据位损坏或丢失的情况。所有数据都是以与发送时相同的顺序被传递到下一层。这是一种可靠的数据传输协议。 这种服务模式是由TCP为那些需要传输数据的互联网应用程序所提供的。图:关于不可靠的数据传输的研究 同样地,在不可靠的通信信道中,我们也需要对发送端和接收端进行设计。 该协议的发送方会从上述层调用 rdt_send() 函数。之后,该数据会被传递给接收方的应用层。这里的 rdt_send() 是一个用于发送数据的函数,其中 rdt 表示可靠的数据传输协议,而 _send() 则用于发送方。 在接收端,当从不可靠通道的接收端接收到数据包时,会调用 rdt_rcv() 函数。其中,-rcv() 是用于接收端的函数。 当 RDT 协议想要将数据传递给应用层时,它会通过调用 deliver_data() 函数来实现这一功能。其中,deliver_data() 是一个用于将数据传递给上层的功能函数。在可靠的数据传输协议中,我们只考虑单向数据传输的情况,即数据从发送方传输到接收方的情况。 只能朝一个方向进行。 在双向数据传输的情况下(即数据可以在双方之间同时传输),从概念上讲,处理起来会更为复杂。 虽然我们只考虑单向的数据传输,但需要注意的是,我们的协议中的发送方和接收方都需要双向地传输数据包,如上图所示。为了交换需要传输的数据包,RTD的发送方和接收方都需要双向地交换控制数据包。RTD的双方都可以通过调用udt_send()函数来向对方发送数据包(udt_send()函数用于向对方发送数据,其中udt表示不可靠的数据传输协议)。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料