运输层

运输层:

通信的实体是两台主机中的进程之间通信。

提供应用进程之间端到端的逻辑通信【网络层是为主机之间提供逻辑通信】、对报文进行差错检测【网络层只检测首部】、TCP(传输控制协议)/UDP(用户数据报协议)

功能:

  1. 复用:发送不同的应用进程都可以使用同一个传输协议传送数据
  2. 分用:接收方的运输层在剥去报文的首部后能够把这些数据正确交付目地的应用进程

TCP\UDP

TCP

主要特点:

面向连接(类似打电话)、点对点、可靠交付、全双工通信(TCP连接两端具有发送缓存和接受缓存)、面向字节流

TCP连接的端点叫【socket(IP地址加端口号)】

报文段首部格式详解:

https://blog.csdn.net/ArchyLi/article/details/75577055?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-4&spm=1001.2101.3001.4242

可靠传输的工作 原理

理想的传输条件有两点传输信道不产生差错,不管发送方以多块的速度发送数据,接收方总是来得及处理收到的数据

  1. 停止等待协议(自动重传请求ARQ协议)

优点:协议简单

缺点:信道利用率太低

  • 无差错情况

  • 出现差错

如图(b)出现错误时发生超时重传;

整个内容如下图:

 

  • 确认丢失和迟到

B向A发送的确认M1消息丢失或者迟到,导致A在超时重传时间内没有收到确认消息,因此A会再次重传M1

;当A再次收到M1时会采取两个行动(1、丢弃重复分组M1;2、向A发送确认消息)

  1. 连续ARQ协议

如图(a),表示发送方维持的发送窗口。它的意义是:位于发送窗口内的 5 个分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。

图(b),有一个时间坐标(但以后往往省略这样的时间坐标)。按照习惯,“向前“是指向着时间增大的方向,而”向后“则是向着时间减少的方向。分组发送是按照分组序号从小到大发送。

连续 ARQ 协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

图(b)表示发送方收到了对第 1 个分组的确认,于是把发送窗口向前移动一个分组的位置。如果原来已经发送了前 5 个分组,那么现在就可以发送窗口内的第 6 个分组了。

接收方一般都是采用累积确认的方式。也就是说,接收方不必对收到的分组逐个发送确认,而是在收到几个分组后,对按序到达的最后一个分组发送确认。这就表示:到这个分组为止的所有分组都已正确收到了。

累积确认有优点也有缺点。优点是:容易实现,即使确认丢失也不必重传。但缺点是不能向发送方反映出接收方已经正确收到的所有分组的信息。

例如,如果发送方发送了前 5 个分组,而第 3 个分组丢失了。此时接收方只能对前两个分组发出确认,因为接收方只能对按需到达的最后一个分组发送确认。发送方无法知道后面三个分组的下落,只好把后面的三个分组都再重传一次。这就叫做Go-back-N(回退N),表示需要再退回来重传已发送过的 N 个分组。

可见当通信线路质量不好时,连续 ARQ 协议会带来负面的影响。

  1. 滑动窗口协议

UDP

主要特点:

无连接、进最大努力交付、面向报文、没有用塞控制、支持一对一、一对多、多对一和多对多的交互通信、首部开销小(8个字节)

首部格式:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值