传输层协议
一、传输层的基本概念及功能
基本概念
- 传输层负责
端(主机)到端(主机)
之间的数据传输控制 - 传输层依赖于网络层的服务,对应用层提供传输服务
传输层的功能
跟踪会话
- 跟踪源主机和目的主机上应用程序间的每次通信;
数据分段
- 将数据分段,并管理每个片段;
数据重组
- 将数据重组,并管理每个片段;
标识应用程序
- 标识不同的应用程序
应用层标识-分用和复用
- 分用:接收方传输层根据端口号分用到不同的应用层进程
- 复用:发送方不同的应用层进程根据不同端口号复用到同一传输层中
二、因特网传输层提供的服务
- 无连接不可靠的服务(UDP)
- 面向连接可靠的传输服务(TCP)
因特网传输层不能提供的服务
- 实时性保证
- 带宽承诺
- 可靠的广播通信
三、UDP协议概述
特性:
- ”最简单的“ Internet传输协议
- 提供不可靠的数据传输,又称“尽力而为的 try best effort” 的服务,其本质是
宁缺毋滥,尽力传输
UDP协议允许: - 数据丢失
- 应用数据乱序到达
- 在UDP收发双方之间,无需握手建立连接
- 每个UDP数据段的操作都互相独立
四、可靠传输协议
概念
可靠传输协议保证接收方接收到的数据一定是正确、按序的。
注意:
可靠传输协议不能保证数据一定到达
停止等待协议的设计
定义:
- SW(stop and wait)停止等待协议
- 发送方每发送一个报文,必须收到接收方的回复确认后才能发送下一个报文。
- 这种情况下乱序不存在
停止等待协议1.0
查错的方法
- 校验和、CRS冗余检验等
从错误中恢复的方法
- 使用
确认(ACKs)
和否认(NAKs)机制 - 若收到NAK,
重传分组(缓存机制)
停止等待协议2.0
停止等待协议3.0
前提
:数据可能出错和丢失
数据丢失的处理方法
:发送方对发送的分组定义一个超时时间(定时器),数据超时则重传数据
- 数据超时并非一定丢失了,也可能确认丢失,也可能分组或确认延迟了。
- 超时未丢失将导致重复分组问题,使用序号解决重复分组问题
- 超时时间应当根据RTT(往返时间)动态变化。超时时间应当大于历史分组的RRT