计算机网络(2)

计算机网络(2)

学习内容:

1、 TCP协议如何保证可靠传输
2、 ARQ协议
3、 滑动窗口和流量控制
4、拥塞控制


学习时间:

1、 周一至周五晚上 7 点—晚上10点
2、 周六上午 9 点-上午 11 点
3、 周日下午 3 点-下午 6 点


3.1.3TCP协议如何保证可靠传输

1、应用数据被分割成 tcp 认为合适发送的数据块
2、tcp 给发送的每一包进行编号,接收方对数据进行排序,把有序数据传送给应用层
3、校验和: TCP 将保持它⾸部和数据的检验和。这是⼀个端到端的检验和,⽬的是检测数据在传
输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报⽂段和不确认收到此报⽂段。
4、tcp 接收端会丢弃掉重复的数据
5、流量控制: TCP 连接的每⼀⽅都有固定⼤⼩的缓冲空间,TCP的接收端只允许发送端发送接收端
缓冲区能接纳的数据。当接收⽅来不及处理发送⽅的数据,能提示发送⽅降低发送的速率,防⽌包丢
失。TCP 使⽤的流量控制协议是可变⼤⼩的滑动窗⼝协议。 (TCP 利⽤滑动窗⼝实现流量控制)
6、拥塞控制:当网络拥塞时,减少数据的发送
7、ARQ协议: 也是为了实现可靠传输的,它的基本原理就是每发完⼀个分组就停⽌发送,等待对⽅
确认。在收到确认后再发下⼀个分组。
8、超时重传: 当 TCP 发出⼀个段后,它启动⼀个定时器,等待⽬的端确认收到这个报⽂段。如果
不能及时收到⼀个确认,将重发这个报⽂段。

3.1.4 ARQ协议

⾃动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之
⼀。它通过使⽤确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送⽅在发
送后⼀段时间之内没有收到确认帧,它通常会重新发送。ARQ包括停⽌等待ARQ协议和连续ARQ协议。

停⽌等待ARQ协议
1、停⽌等待协议是为了实现可靠传输的,它的基本原理就是每发完⼀个分组就停⽌发送,等待对⽅
确认(回复ACK)。如果过了⼀段时间(超时时间后),还是没有收到 ACK 确认,说明没有发送
成功,需要重新发送,直到收到确认后再发下⼀个分组;
2、在停⽌等待协议中,若接收⽅收到重复分组,就丢弃该分组,但同时还要发送确认;

优点: 简单
缺点: 信道利⽤率低,等待时间⻓

  1. ⽆差错情况:
    发送⽅发送分组,接收⽅在规定时间内收到,并且回复确认.发送⽅再次发送。
  2. 出现差错情况(超时重传):
    停⽌等待协议中超时重传是指只要超过⼀段时间仍然没有收到确认,就重传前⾯发送过的分组(认为刚
    才发送过的分组丢失了)。因此每发送完⼀个分组需要设置⼀个超时计时器,其重传时间应⽐数据在分
    组传输的平均往返时间更⻓⼀些。这种⾃动重传⽅式常称为 ⾃动重传请求 ARQ 。另外在停⽌等待协议
    中若收到重复分组,就丢弃该分组,但同时还要发送确认。连续 ARQ 协议 可提⾼信道利⽤率。发送维
    持⼀个发送窗⼝,凡位于发送窗⼝内的分组可连续发送出去,⽽不需要等待对⽅确认。接收⽅⼀般采⽤
    累积确认,对按序到达的最后⼀个分组发送确认,表明到这个分组位置的所有分组都已经正确收到了。
  3. 确认丢失和确认迟到
    确认丢失 :确认消息在传输过程丢失。当A发送M1消息,B收到后,B向A发送了⼀个M1确认消
    息,但却在传输过程中丢失。⽽A并不知道,在超时计时过后,A重传M1消息,B再次收到该消息
    后采取以下两点措施:1. 丢弃这个重复的M1消息,不向上层交付。 2. 向A发送确认消息。(不
    会认为已经发送过了,就不再发送。A能重传,就证明B的确认消息丢失)。
    确认迟到 :确认消息在传输过程中迟到。A发送M1消息,B收到并发送确认。在超时时间内没有
    收到确认消息,A重传M1消息,B仍然收到并继续发送确认消息(B收到了2份M1)。此时A收到了B
    第⼆次发送的确认消息。接着发送其他数据。过了⼀会,A收到了B第⼀次发送的对M1的确认消息
    (A也收到了2份确认消息)。处理如下:1. A收到重复的确认后,直接丢弃。2. B收到重复的M1
    后,也直接丢弃重复的M1。

连续ARQ协议
连续 ARQ 协议可提⾼信道利⽤率。发送⽅维持⼀个发送窗⼝,凡位于发送窗⼝内的分组可以连续发送
出去,⽽不需要等待对⽅确认。接收⽅⼀般采⽤累计确认,对按序到达的最后⼀个分组发送确认,表明
到这个分组为⽌的所有分组都已经正确收到了。
优点: 信道利⽤率⾼,容易实现,即使确认丢失,也不必重传。
缺点: 不能向发送⽅反映出接收⽅已经正确收到的所有分组的信息。 ⽐如:发送⽅发送了 5条 消
息,中间第三条丢失(3号),这时接收⽅只能对前两个发送确认。发送⽅⽆法知道后三个分组的下
落,⽽只好把后三个全部重传⼀次。这也叫 Go-Back-N(回退 N),表示需要退回来重传已经发送过的
N 个消息。

3.1.5 滑动窗⼝和流量控制

TCP 利⽤滑动窗⼝实现流量控制。流量控制是为了控制发送⽅发送速率,保证接收⽅来得及接收。 接
收⽅发送的确认报⽂中的窗⼝字段可以⽤来控制发送⽅窗⼝⼤⼩,从⽽影响发送⽅的发送速率。将窗⼝
字段设置为 0,则发送⽅不能发送数据。

3.1.6 拥塞控制

在某段时间,若对⽹络中某⼀资源的需求超过了该资源所能提供的可⽤部分,⽹络的性能就要变坏。这
种情况就叫拥塞。*拥塞控制就是为了防⽌过多的数据注⼊到⽹络中,这样就可以使⽹络中的路由器或链
路不致过载。*拥塞控制所要做的都有⼀个前提,就是⽹络能够承受现有的⽹络负荷。拥塞控制是⼀个全
局性的过程,涉及到所有的主机,所有的路由器,以及与降低⽹络传输性能有关的所有因素。相反,流
量控制往往是点对点通信量的控制,是个端到端的问题。流量控制所要做到的就是抑制发送端发送数据
的速率,以便使接收端来得及接收。

为了进⾏拥塞控制,TCP 发送⽅要维持⼀个 拥塞窗⼝(cwnd) 的状态变量。拥塞控制窗⼝的⼤⼩取决于
⽹络的拥塞程度,并且动态变化。发送⽅让⾃⼰的发送窗⼝取为拥塞窗⼝和接收⽅的接受窗⼝中较⼩的
⼀个。

TCP的拥塞控制采⽤了四种算法,即 慢开始 、 拥塞避免 、快重传 和 快恢复。在⽹络层也可以使路
由器采⽤适当的分组丢弃策略(如主动队列管理 AQM),以减少⽹络拥塞的发⽣。

慢开始: 慢开始算法的思路是当主机开始发送数据时,如果⽴即把⼤量数据字节注⼊到⽹络,
那么可能会引起⽹络阻塞,因为现在还不知道⽹络的符合情况。经验表明,较好的⽅法是先探测
⼀下,即由⼩到⼤逐渐增⼤发送窗⼝,也就是由⼩到⼤逐渐增⼤拥塞窗⼝数值。cwnd初始值为
1,每经过⼀个传播轮次,cwnd加倍。
拥塞避免: 拥塞避免算法的思路是让拥塞窗⼝cwnd缓慢增⼤,即每经过⼀个往返时间RTT就把发
送放的cwnd加1.
快重传与快恢复: 在 TCP/IP 中,快速重传和恢复(fast retransmit and recovery,FRR)是
⼀种拥塞控制算法,它能快速恢复丢失的数据包。没有 FRR,如果数据包丢失了,TCP 将会使⽤
定时器来要求传输暂停。在暂停的这段时间内,没有新的或复制的数据包被发送。有了 FRR,如
果接收机接收到⼀个不按顺序的数据段,它会⽴即给发送机发送⼀个重复确认。如果发送机接收
到三个重复确认,它会假定确认件指出的数据段丢失了,并⽴即重传这些丢失的数据段。有了
FRR,就不会因为重传时要求的暂停被耽误。当有单独的数据包丢失时,快速重传和恢复(FRR)
能最有效地⼯作。当有多个数据信息包在某⼀段很短的时间内丢失时,它则不能很有效地⼯作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值