售前咨询-朱:19381904226
售前咨询-杨:19381903226 English
前沿资讯 真实、准确的物联网、互联网行业新闻

基于服务元网络体系结构的可靠数据传输机制研究

你的位置: 网站首页 新闻动态 技术应用
基于服务元网络体系结构的可靠数据传输机制研究(下)
2022-07-30 22:22:03 阅读: 发布人:纵横智控

2 SUNA 的数据传输方式

分组交换网络有两种数据传输方式:数据报方式和虚电路方式。TCP/IP协议采用数据报方式传输数据。在数据报方式中,节点间不需要建立从源主机到目的主机的固定连接。源主机所发送的每一个分组都独立地选择一条传输路径。每个分组在通信子网中可以通过不同传输路径,从源主机到达目的主机。由于传输路径不固定,所以数据报传输方式不能保证源主机与目的主机之间的分组按顺序到达。

与TCP/IP协议不同的是,SUNA 采用端到端的虚电路方式传输数据。虚电路就是指从源节点到目标节点之间由软件按网络地址建立起来的通道。而端到端的虚电路意味着,对于具有相同的源、目节点地址而服务类型不同的数据,将构建不同的虚电路来传送。采用虚电路方式在分组发送前,需要在发送方与接收方之间建立一条逻辑通路。每个数据包除了包含数据之外还包含一个虚电路标识符。在预先建好的路径上的每个节点都知道把这些数据包引导到哪里去,不再需要路由选择判定。由于传输路径固定,所以虚电路方式可以保证源主机与目的主机之间的数据包按顺序到达。

3SUNA 的可靠数据传输机制3.1传统的滑动窗口协议存在的问题

TCP/IP协议采用滑动窗口保证数据的可靠传输。如果SUNA的数据传输直接使用传统的TCP/IP滑动窗口机制,则存在着网络利用率不高的问题。这是因为在SUNA 的数据传输过程中,只要数据包不丢失,就不会出现数据包错序,因此接收方只要收到错序的包,就可以判断出有数据包丢失了。若直接使用传统的TCP/IP滑动窗口机制,那么接收方即使知道数据丢失了,也不能通知发送方重传,而必须等到发送方的重传定时器溢出后才重传丢失的帧。

RTU

下面具体说明存在的问题,图4是一个3位滑动窗口的接收窗口。

该接收窗口下界为2,上界为5。此时接收方希望收到2#包,却收到了3#包,接着又收到了4#包、5#包,因为收到的这3个包都在接收窗口内,所以被接收方接收了。接收方又陆续收到了6#包、7#包,由于2#包一直没有收到,所以接收窗口不能向前滑动,而刚收到的6#包和7#包不在接收窗口内,因此把它们丢弃。当发送方超时定时器溢出后,发送方才重传

2#包,收到2#包后,接收窗口向前滚动,可以继续接收6#包,7#包,……

从上面的例子可以看到,如果直接采用传统的TCP/IP的滑动窗口机制,即使接收方知道2#已经丢失,也不能通知发送方重传,而必须等到发送方的重传定时器溢出,导致接收窗口迟迟不能向前滚动,因此只好丢弃窗口外6#包和7#包。这样不但降低了网络吞吐量,而且增加了数据包的传输时延。

从上面的例子可以看到,如果直接采用传统的TCP/IP的滑动窗口机制,即使接收方知道2#已经丢失,也不能通知发送方重传,而必须等到发送方的重传定时器溢出,导致接收窗口迟迟不能向前滚动,因此只好丢弃窗口外6#包和7#包。这样不但降低了网络吞吐量,而且增加了数据包的传输时延。3.2 改进的滑动窗口协议

因为 SUNA是一种无层次的网络体系结构,不存在数据链路层,所以只需使用端到端的滑动窗口机制就可实现可靠数据传输。发送窗口和接收窗口设置在虚电路的两端,分别用于控制发送方发包和接收方收包的节奏。

改进的滑动窗口协议与传统的滑动窗口协议的主要不同在于:接收方可以判断出是否有包丢失,一旦有包丢失,则立即通知发送方重传,而不需要等到发送方重传定时器溢出才重传。接收方是根据数据包序号来判断数据包是否错序的,为了避免重传数据包的干扰,需进行以下改进:在发送方为重传数据包做标记;在接收方设置一个变量CURRENT,用来表示最近收到的非重传包的包号。

首先看接收方的实现机制。假设滑动窗口的大小为8,在传输过程的某一时刻接收方收到包号为r的数据包,当该数据包为非重传数据包,而且包号r在接收窗口内时,接收方的操作与传统的滑动窗口协议是不同的。针对包号r的情况分别进行以下操作:


友情链接