传输层协议详解

一、传输层的概念和服务
1、传输层的基本概念
  • 传输层负责端到端之间的数据传输控制
  • 传输层依赖于网络层的服务,对应用层提供传输服务
2、传输层的功能

跟踪会话

  • 跟踪源主机和目的主机上应用程序间的每次通信

数据分段

  • 将数据分段,并管理每个分段

数据重组

  • 将数据重组,并管理每个片段

标识应用程序

  • 标识不同的应用程序
3、因特网传输层提供的服务
  • 无连接不可靠的服务(UDP)
  • 面向连接可靠的传输服务(TCP)

因特网传输层不能提供的服务

  • 实时性保证
  • 带宽承诺
  • 可靠的广播通信
二、UDP协议
1、UDP协议概述

特性:

  • “最简单的”Internet传输协议
  • 提供不可靠的数据传输,又称“尽力而为”的服务,其本质是宁缺毋滥,尽力传输

UDP协议允许:

  • 数据丢失
  • 应用数据乱序到达
  • 在UDP收发双方之间,无需握手建立连接
  • 每个UDP数据段的操作都互相独立
2、UDP协议的首部
三、可靠传输协议
1、可靠传输协议概述

概念:

  • 可靠传输协议保证接收方接收到的数据一定是正确、按序

注意:

  • 可靠传输协议不能保证数据一定到达

应用层次:

  • 可靠传输协议的机制可以用于数据链路层、网络层、传输层和应用层
2、停止等待协议的设计

定义:

  • SW(stop and wait)停止等待协议
  • 发送方每发送一个报文,必须收到接收方的回复确认后才能发送下一个报文

停止等待协议1.0的讨论

差错的方法

  • 校验和、CRS冗杂检验等

从错误中恢复的方法

  • 使用确认(ACKs)和否认(NAKs)机制
  • 若收到NAK,重传分组(缓存机制)

停等协议的设计缺陷?
ACK/NAK出错
重复分组
……

所以引入了序号机制

停等协议2.0

停等协议3.0
前提:数据可能出错丢失

数据丢失的处理方法:

  • 发送方对发送的分组定义一个超时时间(定时器),若在超时时间里没有收到ACK,则认为数据丢失。
  • 数据超时则直接重传数据

停等协议3.0超时讨论

问题:

  • 数据超时是否一定丢失?

结论:

  • 数据超时并非一定丢失了,可能确认丢失,也可能分组或确认延迟了
  • 超时未丢失将导致重复分组问题,使用序号解决重复分组问题

进一步思考:

  • 超时时间如何确定,固定的还是变化的?

结论:

  • 超时时间应当根据RTT(往返时间)动态变化
  • 超时时间应当大于历史分组的RTT

更特殊的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值