计算机网络基础 - 传输层(3)


大家好呀!我是小笙,本章我主要分享计算机网络基础 - 传输层(3)学习总结,希望内容对你有所帮助!!

传输层

面向连接的传输 TCP

可靠数据传输

概述

TCP在IP不可靠的尽力而为服务之上创建了一种可靠数据传输服务

  • 单个重传定时器(定时器的管理需要相当大的开销,类似于 GBN)
  • 累计确认,累计确认 ACK 以前的所有分组(不包括本身,类似于 GBN,但是有区别,区别在于 GBN 包括分组本身的确认)
  • 超时重传的条件
    • 超时,重传具有最小序号但仍未应答的报文段
    • 重复的确认,例如收到同一分组数据的3个重复的 ACK

TCP 发送方事件(以下为为伪代码)

  • 从应用层接收到数据
  • 定时器超时
  • 收到确认号
// 假设发送方不受 TCP流量 和 拥塞控制 的限制,来自上层数据的长度小于 MSS,且数据传送只在一个方向进行
NextSeqNum = InitialSeqNumber
SendBase = InitialSeqNumber
loop(永远){
   
   
    switch(事件)
    	事件:从上面应用程序接收到数据 e
    		生成具有序号 NextSeqNum 的TCP报文段
    		if(定时器当前没有运行)
    			启动定时器
             向IP传递报文段
    		NextSeqNum = NextSeqNum + length(data)
    		break;
    
    	事件:定时器超时
    		重传具有最小序号但仍未应答的报文段(不像 SR,需要重传所有未确认的段)
    		启动定时器
    		break;
    
    	事件:收到ACK,具有ACK字段值 y
    		if(y > SendBase) {
   
   
   				SendBase = y
    			if(当前仍无任何应答报文段)
    				启动定时器
            }
            break;
}
快速重传

超时触发重传存在的问题:当一个报文段丢失时,这种相对较长超时周期迫使发送方延迟重传丢失的分组,因而增加了端到端的时延

快速重传就是在没有超时重传的情况下就进行重传已知丢失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗念笙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值