关于可靠传输与不可靠传输

有确认的一定是可靠传输吗?那电路交换和分组交换里的虚电路交换是可靠传输吗?可靠传输的协议和方式都有哪些?非可靠传输呢?

回答引自chatgpt
确认对于网络传输来说并不意味着一定是可靠的。确认只是一种机制,用于发送方向接收方获取数据传输的确认信息。可靠传输是指数据的发送方和接收方能够保证数据的正确、完整和有序传输的机制。

在电路交换和分组交换中,虚电路交换是一种可靠传输的方式。虚电路交换建立了一个预留的通路,数据在此通路上按顺序传输,并在传输过程中进行确认和错误检测,确保数据的可靠性。

可靠传输的协议和方式有很多,以下是一些常见的可靠传输协议和方式:

1 停止等待协议:发送方发送数据后,等待接收方的确认。只有当接收方发送确认后,发送方才会发送下一个数据。如果发送方在一定时间内没有1收到确认,会重传数据。

2 回退N协议(GBN):发送方可以连续发送多个数据,每个数据都有一个序号。接收方接收到数据后发送确认,如果发送方在一定时间内没有收到确认,会超时重传未确认的数据。

3 选择重传协议(SR):发送方可以连续发送多个数据,每个数据都有一个序号。接收方接收到数据后发送确认,如果发送方在一定时间内没有收到确认,会根据接收方发送的确认,只重传丢失的数据。

4 自动重传请求(ARQ):发送方发送数据后,等待接收方的确认。如果发送方在一定时间内没有收到确认,会重传数据。

5 前向纠错:在发送数据时,通过添加冗余信息,使接收方可以检测和纠正数据中的错误,从而实现可靠传输。

非可靠传输指的是在数据传输过程中,没有进行确认、重传和错误检测等机制,无法保证数据的可靠性。一些非可靠传输的方式包括简单的发送数据、不进行确认和错误检测的传输。在某些特定的应用场景下,如实时音视频传输等,可能会选择非可靠传输方式,以追求更高的传输效率而不关注数据的完整性。

可靠传输是指在数据传输过程中,能够保证数据的完整性、顺序性和可靠性。

第一个问题:确认并不一定代表可靠传输。确认只是一种机制,用于接收方向发送方发送一个确认消息,以表示接收到了数据。

第二个问题:在电路交换和分组交换中,虚电路交换是一种提供可靠传输的方式。虚电路交换建立了一个预先分配的路径,通过该路径传输数据,并在每个节点上进行确认和错误检测,以确保数据的可靠性。

第三个问题:常见的可靠传输协议和方式包括:

  • 停止等待协议(Stop-and-Wait Protocol):发送方发送一个数据包后等待接收方的确认消息,接收方收到数据后发送确认消息。
  • 连续ARQ(Automatic Repeat Request)协议:包括选择重传(Selective Repeat)和回退N帧(Go-Back-N)等方式,在发生错误时进行重传。
  • 奇偶校验:通过在数据中添加校验位来检测错误,并进行纠正。
  • 循环冗余检验(CRC):通过计算校验值来检测错误,并进行纠正。
  • 前向纠错编码(Forward Error Correction, FEC):在发送端添加冗余信息,在接收端使用冗余信息进行错误检测和纠正。

第四个问题:非可靠传输指的是在数据传输过程中,不保证数据的完整性和可靠性。例如,在无线通信中,由于信道的不稳定性,数据包可能会丢失或损坏,因此无线通信常常采用非可靠传输方式。
非可靠传输的方式包括:

  • 无差错传输:不进行错误检测和纠正,直接将数据发送出去。
  • 丢弃重传:发生错误时直接丢弃数据包,不进行重传。
  • 停止等待协议(Stop-and-Wait Protocol):发送方发送一个数据包后等待接收方的确认消息,但不进行重传。

可靠传输就是传输过程中有应答机制,如果没有传输成功,会有重传机制。不可靠传输,就是传输过程没有重传机制的!打个比方:不可靠传输相当于两个人说话,A对B说话,不管B有没有在听,A说完就不管了。可靠传输相当于A提前告诉B,我准备说话了,你注意听,然后说完还会询问B是否听懂了,没听懂,再说一遍!不知道这样描述能否理解?

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/647461
  • 你也可以参考下这篇文章:网络工程师岗位的职责和理解以及所需要掌握的技术有哪些?
  • 除此之外, 这篇博客: 计算机网络类别?性能指标?你都会吗?中的 计算机网络性能指标: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1,速率:

    连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称为data rate(数据率)或bit rate(比特率);单位是b/s,kb/s,Mb/s,Gb/s;

    2,带宽:

    数据通信领域中,数字信道所传送的最高数据率,就是理论上的上限;单位是b/s,kb/s,Mb/s,Gb/s;

    3,吞吐量:

    即在单位时间内通过某个网络的数据量;单位是b/s,Mb/s等;

    4,时延:

    分为发送时延,传播时延,处理时延和排队时延;

    发送时延:

    发送数据时,数据块从结点进入到传输媒体所需要的的时间;
    也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间

     就像火车从进站到出站,准备出发的一个过程,叫发送时延;                           

    传播时延:

    电磁波在信道中需要传播一定的距离而花费的时间;

    就像火车从站A到站B的这个过程,叫传播时延;

    处理时延:

    交换结点为存储转发而进行一些必要的处理所花费的时间;
    就像你排队轮到你买票的时候,工作人员为你办理票的这个过程,叫处理时延;

    排队时延:

    结点缓存队列中分组排队所经历的时延;
    就像你买票的这个排队的过程,叫排队时延;

    数据经历的总时延就是这4个时延之和:
    总时延=发送时延+传播时延+处理时延+排队时延


    数据链路上能够承载的数据量就叫做时延带宽积;
    链路的时延带宽积又称为以比特为单位的链路长度;

    比方说从站A到站B,这段路停满车辆的时候有多少辆车,就是时延带宽积;

    从发送方发送数据开始,到发送方收到接受方确认所花费的的时间;

    信道利用率:

    网络利用率:

    信道利用率的加权平均值;

  • 您还可以看一下 Abel小智老师的嵌入式开发系统学习路线 从基础到项目 精品教程 工程师必备课程 物联网课程中的 如何使用回调函数?小节, 巩固相关知识点