-
目录
复用——发送方不同的应用进程都可以使用同一个运输层协议传送数据
分用——接收方的运输层在剥去报文首部后能够把这些数据正确交付目的应用进程
拥塞征兆:分组被丢弃时,发送这一分组的远点会重传这一份组,甚至很多次
拥塞控制:防止过多的数据植入网络中,是网络中的路由器或链路不至于过载
拥塞判断:1.超时重传计时器启动 2.收到3个重复的确认报文
三报文握手,防止已失效的连接请求报文段突然传送到了B,TCP连接建立错误
分用:根据UDP用户数据报首部的目的端口号,将数据报分别传送到相应接口,一边应用进程读取
协议端口(软件端口——应用层的各类协议进程与运输实体交互地点)
-
运输层重要功能
-
屏蔽作用
- 为高层屏蔽下面网络核心细节,是进程看起来类似端到端逻辑通信信道
-
复用——发送方不同的应用进程都可以使用同一个运输层协议传送数据
- 收发室向各部门发送文件
- 应用进程通过运输层再传送到IP层
-
分用——接收方的运输层在剥去报文首部后能够把这些数据正确交付目的应用进程
- 收发室收到文件,递发给相应部门
- 收到IP层发送的数据后,交付给指明各应用进程
- 网络层为主机之间的通信提供服务,运输层在网络层的基础上,为应用进程之间的通信提供服务
- 对接收的报文提供差错检测,IP数据报只检测首部
-
-
端口号
- 问题:进程创建和撤销是动态的,发送方无法识别其他进程
- 方法:将端口设为通信的抽象终点
- TCP/IP端口使用一个16位端口号进行标志
- 只有本地意义,标志本计算机应用层中的各进程
-
两个主要协议
-
面向连接的TCP协议——全双工可靠信道
- 用户数据报协议
- 单位协议:TCP报文段
- 点对点
- 面向字节流
- 流入/出的字节序列
- 不保证接收方应用程序所受到的与发出的数据块大小对应关系
- 但是字节流一样
-
与UDP区别
- 先建立连接,不提供广播和多播服务
- 交互,开销大
- 首部20个字节
-
可靠传输工作原理
- IP网络提供不可靠运输
-
停止等待协议
- 每发送完,一个分组就停止发送,待对方确认,无误,下一个
-
三种情况
-
1.无差错情况
- 发送分组,停止发送,等待确认ACK
-
2.出现差错
- 超时重传
- 注意
- A发送完分组后,必须暂时保留已发送的分组副本,收到确认后删除
- 分组和确认分组必须进行编号
- 重传时间比数据在分组传输的平均往返时间更长
-
3.确认丢失和迟到
- 丢失
- B发送的确认丢失了,无法判断是否已送达,还是。。。A重传
- 丢弃重复的分组M1
- 向A发送确认
- 迟到
- A收到后丢弃,什么都不做,B也一样,然后重传确认分组
- 丢失
-
-
信道利用率
- U=TD/(TD+RTT+TA)
- RTT>>TD利用率低
- 流水线传输
-
要点
- 停止等待
- 暂存
- 编号
- 超时重传
-
连续ARQ协议
-
滑动窗口
- 发送方每收到一个确认,就将发送窗口向前滑动一个分组位置
-
累计确认
- 优:易实现,即使丢失也不必重传
- 缺:无法及时回复
- 回退N
-
-
特点
- 面向连接的运输层协议
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
- 可靠交付服务
- 全双工通信
- 面向字节流
- 流入到进程或从进程流出的字节序列
- TCP将数据看成一连串无结构的字节流
-
套接字
- 套接字(插口)socket=(IP地址:端口号)——TCP连接的端点
- 每一条TCP连接唯一的被通信两端的两个端点所确定
- TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}
- 端点可一对多
- 同一IP地址和同一端口号均可出现不同的TCP连接
-
报文段首部格式
- 传送数据单元是报文段
- 首部+数据
- 前20字节固定,后4n字节按需分配
- 最小长度20字节
- 下面网络层有IP首部,TCP首部无IP
- 确认号=N,表明:到序号N-1为止的所有数据已正确收到
- 数据偏移的单位:32位字=4字节
- 紧急URG,URG=1,紧急字段有效,尽快传送
- 确认ACK=1,确认字段有效
- 复位RST=1,TCP出现严重差错,释放连接,重新建立
- 同步SYN
- SYN=1,ACK=0,连接请求报文段
- 同意建立连接SYN=ACK=1
- 窗口
- 从本报文段首部中的确认号算起,接收方允许对方发送的数据量(单位:字节)
- 动态变化
- 最大报文长度MSS——每一个TCP报文段中的数据字段的最大长度(不包括首部)
- 与接收窗口值无关
- 检验和:+12字节伪首部
- 可靠运输实现
- 发送方的应用进程把字节流写入TCP的发送缓存
- 发送缓存——暂时存放:
- 发送应用程序传送给发送方TCP准备发送的数据
- TCP已发送但未收到确认的数据
- 发送缓存——暂时存放:
- 接收方的应用进程从TCP的接收缓存中读取字节流
- 存放已到达尚未接受读取的数据
- 未按序到达的数(待字节流所缺少的字节收到后,按序交付上层的应用进程)
- 发送方的应用进程把字节流写入TCP的发送缓存
-
超时重传时间选择
-
滑动窗口以字节为单位
- 太短,不必要的重传
- 太长,空闲时间增大,降低运输效率
- 自适应法,记录一个报文段发出的时间和收到确认的时间
- 时间差RTT
-
保留加权平均往返时间RTTS,平滑往返时间
- 新RTTS=(1-a)(旧的RTTS)+a(新的RTTS样本) a=0.125
- 第一次RTTS=RTT的样本值
- a->0新旧差不大,对新的RTT样本影响不大,更新慢
- 新RTTS=(1-a)(旧的RTTS)+a(新的RTTS样本) a=0.125
-
超时重传时间RTO=RTTS+4RTTD
- RTTD是RTT的偏差的加权平均值
- 第一次测量时,RTTD=1/2RTT
- 新RTTD=(1-b)(旧的RTTD)+b*|RTTS-新的RTT样本|
- b推荐 0.25
- RTTD是RTT的偏差的加权平均值
- 超过重传时间,未收到报文段确认,重传,后面收到的是哪个时候的确认
- 收到重传报文段确认,但认作原来报文段确认,计算的RTTS和RTO均偏大
- 后面重传RTO越长
- 计算加权平均RTTS时,只要报文段重传,不采用往返时间样本,Karm算法
- 改进:每重传一次,RTO增大
- 是运输层区分开有效和无效的往返时间样本,改进时间估测
- 收到重传报文段确认,但认作原来报文段确认,计算的RTTS和RTO均偏大
-
- 选择确认SACK,报告收到的不连续的字节块边界
-
流量控制
- 目的:发送方的发送速率适中,接收方来得及接受
- 滑动窗口机制
- 窗口单位:字节
-
拥塞
- 对资源的需求的集合>可用资源
- 不能单纯添加存储容量,输出链路容量和处理机处理速度未提高,导致等待时间过大,超时重传,资源浪费
-
拥塞征兆:分组被丢弃时,发送这一分组的远点会重传这一份组,甚至很多次
-
拥塞控制:防止过多的数据植入网络中,是网络中的路由器或链路不至于过载
- 前提:网络能承受现有的网络负荷
- 全局性
- 动态问题
-
拥塞判断:1.超时重传计时器启动 2.收到3个重复的确认报文
-
方法:
-
慢开始、拥塞避免
- 目的:检测网络负载能力或拥塞程度
- 由小到大增大拥塞窗口数值,指数增加
- 把初拥塞窗口cwnd不超过2到4个SMSS数值(发送方最大报文段)
- 收到一个对新报文段的确认后,cwnd每次的增加值=min(N,SMSS)
- 慢开始门限ssthresh状态变量
- cwnd<ssthresh慢开始算法
- >拥塞避免
- 使cwnd缓慢增大
- 每往返一个RTT,cwnd+1
- =均可
-
快重传、快恢复
- 快重传:尽早知道发生个别报文段的丢失,立即发送确认
- 连续收到3个重复确认,少收到一个报文段,立即重传
- 加法增大AI
- 乘法减小MD
- 快重传:尽早知道发生个别报文段的丢失,立即发送确认
-
- 流量控制:点对点通信量控制,端到端问题
- 一直发送端发送数据的速率,是接收端能及时接收
- 开环控制:考虑到所有产生拥塞的原因,避免拥塞
- 闭环控制:给予反馈环路的概念,消除拥塞
- 监测网络系统
- 传送拥塞信息
- 调整网络系统
- 主动队列管理AQM
- 拥塞控制影响最大的为分组丢弃策略
- FIFO丢弃策略,队列已满,后面全丢
- 使TCP进入拥塞控制慢开始状态
-
TCP运输连接管理
- 客户服务器方式:主动发起连接-----客户,被动等待连接——服务器
-
连接建立
-
三报文握手,防止已失效的连接请求报文段突然传送到了B,TCP连接建立错误
-
-
数据传送
-
连接释放
-
2MSL
- 保证A发送的最后一个ACK报文段能够到达B
- 防止已经失联的连接请求报文段
-
-
1.无连接的UDP协议——不可信道
- 传输控制协议
-
单位协议:UDP用户数据报
-
特点
- 无连接,不可靠
- 传送数据前不需要先建立连接,收到不用发确认
- 2.尽最大努力交付
- 3.面向报文——添加首部交付给IP层
- 4.无拥塞控制
- 5.支持1:1,1:n,m:n的交互通信
- 6.首部开销小,只有8个字节
-
与端口号关系
-
复用:UDP用户数据报组装成不同的IP数据报,发到互联网
-
分用:根据UDP用户数据报首部的目的端口号,将数据报分别传送到相应接口,一边应用进程读取
-
-
首部格式
- 首部
- 源端口,需要回信选用
- 目的端口
- 重点交付保温必须使用
- 若不正确,则丢弃,由ICMP发送“端口不可达”差错报文
- 长度——UDP数据报的长度最小值为8
- 检验和
- 伪首部
- 目的:计算检验和——将UDP的首部和数据部分一起检验
- 12字节
- 伪首部
- 首部
- 对等运输实体在通信时传送的数据单位——运输协议数据单元TPDU
-
-
协议端口(软件端口——应用层的各类协议进程与运输实体交互地点)
- 进程创建和撤销是动态的
- 识别重点
- 了解这个功能进程是哪一个
- 通信了解端口号和IP地址
计算机网络第五章运输层知识点整理(含思维导图)
最新推荐文章于 2024-12-04 10:57:01 发布