计算机网络:运输层(2)

一、TCP可靠传输原理

网络层的IP协议仅做到尽最大努力交付。TCP协议必须采取一些措施才能使传输变得可靠。

1. 理想传输条件

理想传输条件下,不需要任何措施就可以实现可靠传输:

  1. 传输信道不产生差错
  2. 无论发送方以多快的速度发送数据,接收方总是来得及处理收到的数据

实际的网络不可能满足这两个条件。因此,TCP协议需要解决这两个问题,以保证可靠传输。

2. 停止等待协议

全双工信道的双方既是发送方,也是接收方。因此将发送TCP报文的称为发送方,而接收报文并回送确认的称为接收方
停止等待协议就是每发送一个TCP分组后,等待对方回送确认,再发送下一个分组。
假设一个TCP连接中,端口A向端口B发送报文。下面分析停止等待协议中出现的情况:

  1. 全无差错
    在全无差错的情况下,A发送分组M1,发送完成后暂停发送,等待B收到分组后,回送确认;A在收到B发回的确认后,再发送下一个分组。
    无差错情况
  2. 分组发送出现差错
    分组出现差错可以分为分组丢失分组出错两种情况。无论哪种,B都不会回送确认。
    为解决此问题,A中设有超时计时器,每当发送一个分组后,就要设置超时计时器开始计时。若在超时前收到了确认,即无差错情况,则撤销超时计时器;若在规定的时间内没有收到确认,就将此前的报文重传一次。这就是超时重传机制
    超时重传
    由此需要注意:
    ● 发送分组后,发送端需要暂时保留已发送的副本,留作重发使用。收到确认后才将副本清除。
    ● 分组和确认分组需要进行编号,明确收到确认的分组和没有收到确认的分组。
    ● 超时计时器的超时时间需要比平均往返时间稍长,具体的设置受大量不确定因素影响,将在实现部分讨论。
  3. 确认出现差错
    B中收到了分组,但是回送的确认出现了差错。这里可以分成两种情况:
    确认丢失:发送的确认发生了丢失的情况。此时A认为分组没有成功发送,会重发一次。当B收到重发的分组后,做两项操作:丢弃重复的分组重新向A发送确认
    确认丢失
    确认迟到:发送的确认由于网络状况的原因,确认在超时后才到达。
    对于B而言,需要进行的操作不变;而对A而言,将会收到重复的确认。对于重复的确认,只需要丢弃即可

利用上面所述的确认重传机制,可以实现在不可靠的传输网络上进行可靠的通信
这样的可靠传输协议常称为自动重传请求

信道利用率
停止等待协议的优点是实现简单,但缺点是信道利用率太低。
假设A和B之间有一条直通的信道传输分组:
信道利用率表示
A发送分组的时间是TD,B发送确认的时间是TA,往返时间为RTT。忽略接收分组的处理时延和发送确认的等待时延,发送分组共需要的时间为T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值