运输层笔记–简介
@(TCP/IP)[运输层]
1. 运输层服务
1.1 进程到进程的通信
网络层负责计算机级的通信(主机到主机的通信),运输层协议负责把报文交付给合适的进程
1.2 编址:端口号
客户-服务器范式
- 本地主机:IP地址定义
- 本地进程:端口号:临时端口号
- 远程主机:IP地址
- 远程进程:端口号:熟知端口号,或通过特别的分组请求得到
套接字地址:IP地址和端口号的组合
1.3 封装和解封
封装发生在发送方,递交内容包括一对套接字和其他信息
解封发生在接收方。
1.4 复用和分用
源点的运输层接受来自多个源的输入,是复用;终点运输层将数据交付到多个源,为分用
1.5 流量控制
需要两种情况的流控:从发送方的运输层到发送方的应用层以及从接收方的运输层到发送方的运输层
1.6 差错控制
大多数时间由接收方的运输层来管理差错控制
序号+确认
1.7 流量控制和差错控制的组合
序号是模2^m的,所以从0至2^m-1的序号表示,窗口假设为7
1.8 拥塞控制
- 开环拥塞控制:拥塞发生之前预防拥塞
- 重传策略
- 窗口策略
- 确认策略
- 闭环拥塞控制:在拥塞发生后缓解拥塞的程度
- 控制窗口大小
拥塞控制和流量控制区别
网络拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机制。拥塞控制的任务是确保子网能够承载所到达的流量。这是一个全局性问题,涉及到各方面的行为,包括所有的主机、所有的路由器、路由器内部的存储转发处理过程,以及所有可能会削弱子网承载容量的其它因素。
流量控制是数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失。它与特定的发送方和特定的接收方之间的点到点流量有关。它的任务是,确保一个快速的发送方不会持续地以超过接收方吸收能力的速率传输数据。流控制通常涉及到的做法是,接收方向发送方提供某种直接的反馈,以便告诉发送方别人一端的情形到底怎么样。
1.9 无连接的和面向连接的服务
网络层:无连接服务意味着属于同一报文的多个数据报采取了不同的路径
运输层:无连接服务表示分组和分组之间是互相独立的,而面向连接的服务意味着它们相互之间有联系
无连接服务:
无连接服务下没有哪种流量控制、差错控制和拥塞控制策略能够有效实施
面向连接的服务:
有限状态机(FSM)表示
2. 运输层协议
2.1 简单协议
简单协议是一个无连接协议,既没有流量控制,也没有差错控制 —-> UDP协议的基础
2.2 停止等待协议
停止等待协议是一种面向连接的协议,提供了流量控制和差错控制。发送发和接收方都使用了大小为1的滑动窗口。
序号:模2运算
确认号:准备接收的下一个分组的序号
2.3 返回N协议
关键:受到确认之前能够发送多个分组,但接收方只能缓存一个分组
序号:模m运算
确认号:准备接收的下一个分组的序号
发送窗口大小必须小于
2m
,接收窗口始终为1
只使用一个计时器
停止等待协议是返回N协议的一种。
2.4 选择重传协议
序号:模m运算
* 窗口:发送窗口–>
2m−1
,接收窗口与发送窗口一样大 *
为每个待确认的分组使用一个计时器
确认号定义了无差错地接收到的-那一个分组-的序号