TCP拥塞控制 ppt课件
第4章TCPIP协议簇3精品PPT课件
事件
TCP 接收方的动作
有序数据段到达, 没有缺失的段, 所有其他数据段已经 ACKed
延迟 ACK. 等待 500ms 看是否还有数据段到达. 如果没有, 发送ACK
有序数据段到达, 没有缺失的段, 有一个延迟 ACK 等待
立即发送一个 积欠的 ACK
失序数据段到达
seq. # 高于预期值 测到间隔
发送方
接收方
udt_send(): 由rdt调用, 将分组通过不可靠的信道传 到接收方
rdt_rcv(): 当数据到达接收方 时调用
可靠数据传输: 开始起步
逐步发展收发双方的可靠数据传输协议 (rdt) 仅考虑单向的数据传输
✓ 但控制信息将双向流动! 使用有限状态机 (FSM) 来定义发送方,接收方
Rdt2.0:在可能发送出错的信道上传输
问题:如何从错误中恢复 ✓ 正向确认 (ACKs):由接收方发送报文向发送方 进行确认 ✓ 负向确认 (NAKs):由接收方发送报文向发送方 进行否认,说明分组有错 ✓ 发送方在收到NAK后进行分组重传
rdt2.0的新机制 (在 rdt1.0基础之上) ✓ 错误检测 ✓ 接收方的反馈:控制信息 (ACK,NAK)
丢失 ACK 场景
time
过早超时
可靠数据传输原理
不可靠传输通道的特性将决定可靠数据传输协 议(rdt)的复杂性。
可靠数据传输:开始起步
rdt_send(): 由上层进行调用 (e.g., 应用进程.),将数据传入 发送方并由其传给接收方的上层
deliver_data(): 由 rdt调用将数据递交给上层
4.3 传输层协议及应用
传输层与网络层的关系
Internet中的传输 层充当“收发室 ”的角色;
TCP拥塞控制
计算机网络
往返时延RTT优化
往返时间RTT
往返时间:
往返时间(RTT)是指从数据段发送开始,到接 收到该数据段对应应答所经历的时间,主要由链路传播时 间、端系统处理时间和路由器排队/处理时间组成。 对同一个TCP连接,链路传播时间、端系统处理 时间相对固定,因此,网络拥塞情况可通过路由器排队/ 处理时间的变化而推断。
其中: pi为第i条路径的丢包率, RTTi为第i条路径的往返时延, b为每个ACK应答的分组数, pktsize为分组的大小, n为路径的总数。
基于MFD的多路径算法
可见, 要在给定的网络条件下提高端到端吞吐率, 必须减小往返时延RTTi。路径的往返时延是正向路径时延 以及反向路径时延之和。 第i条路径对应的正向路径时延为fi, 反向路径时延 为ri.不失一般性,假设ri≤ri +1(1≤i≤n)。如果采取MTCP算法, 则RTTi =fi+ri。 为了提高吞吐率,可以采用最小反馈时延MFD的多径 传输协议, 即选取时延最小的反向路径来传输应答分组。 MFD可以减少各条路径的往返时延 RTT‘i=fi+r1<fi+ri=RTTi ,从而提高端到端的吞吐率, 降低拥塞。
Freeze-TCP
Freeze-TCP用于解决主机移动所引起的丢包. 主要思想: 让移动主机监测无线信号的能量,并检测出即将发生 的主机切换事件.当切换即将发生时,移动主机向发送者 发送一个通告窗口为零的反馈,从而迫使发送者进入零窗 口探测模式. 在零窗口探测模式中,发送者不会改变它的拥塞窗口 和超时计时器的时长.
RTT分析
在无线环境下,忽略链路传播时延的前提下,在误码 丢包的作用下,RTT呈现无规律变化,且有趋小趋势. 因此,在无线环境下,考察RTT的变化区分误码丢 包与拥塞丢包进行发送速率的调整是可行的:在RTT变 小时,说明网络拥塞丢包风险小,拥塞窗口向下调整幅度 应较小;在RTT变大时,说明网络拥塞丢包风险大,拥 塞窗口向下调整幅度应较大,是符合无线网络实际情况的。
《TCP的拥塞控制》课件
慢开始和拥塞避免算法的实现举例
拥塞窗口 cwnd
24 20
ssthresh 的初始值16
拥塞避免 “加法增大”
网络拥塞
拥塞避免 “加法增大” “乘法减小”
新的 ssthresh 值12
慢开始
8
4
指数规律增长
传输轮次
0
0 2 4 6 8 10 12 14 16 18 20 22
慢开始
慢开始
发送端的发送窗口不能超过拥塞窗口 cwnd 和接收端 窗口 rwnd 中的最小值。我们假定接收端窗口足够大, 因此现在发送窗口的数值等于拥塞窗口的数值。
● 使用慢开始算法后,每经过一个传输轮次,拥塞窗 口 cwnd 就加倍。
● 一个传输轮次所经历的时间其实就是往返时间 RTT。
●“传输轮次”更加强调:把拥塞窗口 cwnd 所允许 发送的报文段都连续发送出去,并收到了对已发送 的最后一个字节的确认。
● 例如,拥塞窗口 cwnd = 4,这时的往返时间 RTT 就是发送方连续发送 4 个报文段,并收到这 4 个报 文段的确认,总共经历的时间。
慢开始算法的原理
●在主机刚刚开始发送报文段时可先设置拥塞 窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值。
●在 每 收 到 一 个 对 新 的 报 文 段 的 确 认 后 , 将 拥 塞窗口加 1,即增加一个 MSS 的数值。
●用 这 样 的 方 法 逐 步 增 大 发 送 端 的 拥 塞 窗 口 cwnd,可以使分组注入到网络的速率更加合 理。
cwnd = 1 cwnd = 2
发送方每收到一个对新报文段的确认 (重传的不算在内)就使 cwnd 加 1。
发送方
接收方
发送 M1
传输控制协议TCPppt课件
δ = 1/8,ρ = 1/4,η= 8
精选ppt课件
19
(3) Karn算法和定时器补偿
确认二义性:对于重传的报文段,收到确认后是对 哪一次传输的确认无法确定。
结果:RTT样本值无法使用 ;
Karn算法:
思想:当超时重传发生时,不再更新RTT估计值,忽 略重传样本。
定时器补偿:
超时重传发生,加大定时时限: RTO ← γ*RTO
Netstat –o:列出与每个端口相关的进程 Netstat –r: 显示路由表
精选ppt课件
10
7.4 提供可靠性
1. 防丢失 – 带重传的肯定确认技术
数据发送方
发送分组
接收确认 发送分组
超时重传 接收确认
数据接收方
接收分组 发送确认
① 接收方收到 数据后向源站发 确认(ACK);
接收分组 发送确认
时机:目的主机缓冲区变小而不能接收源主机更多的 数据时,就要进行流量控制。
TCP技术:可随时改变窗口大小。目的主机在确认时, 向源主机告知目的主机接收缓冲区的大小。
…101 … 200 201 …
发送窗口,初 320 321…399 始时400
确认(200)
窗口通告(120)
发送窗口,变 为120
说明:接收方使用0窗口通告来停止所有的传输。此 时,除了紧急数据和窗口试探报文外,不发其它数据 。
WindowSize=8
分组流
1 2 3 4 5 6 7 8 9 10 11 12 13
已发并 已发未 得到确认 得到确认
未发但 可以发
不能发送
精选ppt课件
21
2. TCP的滑动窗口技术
TCP的滑动窗口按字节操作而不是按报文段或 分组操作。
TCP系列54—拥塞控制—17、AQM及ECN
TCP系列54—拥塞控制—17、AQM及ECN⼀、概述ECN的相关内容是在RFC3168中定义的,这⾥我简单描述⼀下RFC3168涉及的主要内容。
1、AQM和RED⽬前TCP中多数的拥塞控制算法都是通过缓慢增加拥塞窗⼝直到检测到丢包来进⾏慢启动的,这就会导致数据包在路由器缓存队列堆积,当路由器没有复杂的调度和缓存管理策略的时候,路由器⼀般简单的按照先进先出(FIFO)⽅式处理数据包,并在缓存队列满的时候就会丢弃新数据包(drop tail),这种FIFO/drop tail的路由器称为passive路由器,会导致多个TCP流同时检测到丢包,削减拥塞窗⼝,并进⾏对应的数据包重传流程。
⽽active的路由器则会有相对⾼级的调度和队列缓存策略,这种路由器⽤来管理缓存队列的⽅法就称为AQM(active queue management)机制。
路由器的AQM机制则会在路由器队列满之前探测到拥塞,并提供⼀个拥塞指⽰。
AQM可以使⽤丢包或者本⽂后⾯要介绍的IP头中的Congestion Experienced (CE) codepoint来指⽰拥塞,这样就削减了丢包重传的影响,降低了⽹络延迟。
之所以把CE 指⽰放到IP头中是因为多数路由器对IP头的处理效率要⾼于对IP选项的处理效率。
Random Early Detection (RED)则是AQM机制中⽤来探测拥塞和控制拥塞标记的⼀种⽅法。
RED中有两个门限⼀个是minthresh,另外⼀个是maxthresh,当平均队列长度⼩于minthresh的时候,这个数据包总是会被接收处理,当平均队列长度超过maxthresh的时候,这个数据包总是会被⽤来指⽰拥塞(可能通过丢包或者设置CE来指⽰拥塞),当平均队列长度位于⼆者之间的时候,则会有⼀定的概率这个数据包被⽤来指⽰拥塞。
RED算法是很多⽤在路由器和交换机中类似变种的基础,例如思科的WRED。
2、ECNECN(Explicit Congestion Notification)则是在AQM机制的基础上,路由器显式指⽰TCP发⽣拥塞的的⼀种机制,中⽂⼀般称呼为显式拥塞通告或者显式拥塞通知。
TCP拥塞控制
发送 M6
发送 M7
t
t
快速重传阶段
在快速重传阶段,当源端收到3 个或3 个以上重复的 ACK 时,就判定数据包丢失,同时ssthresh 设置为当
前cwnd的一半,并重传丢失的包,进入快速恢复阶段。
07
快速恢复阶段
当快速重传算法重传了可能丢失的分组之后,如果TCP 重新进入慢启动阶段,将会使拥塞窗口减为1,重新开 始探测网络带宽,从而严重影响网络吞吐量,因此快速
01
Vegas 算法
对快速重传机制的改进
TCP Vegas主要在两个方面对快速重传进行了改进,使 得探测丢包现象变得更及时,且能进一步减少超时情况 的发生。 第一个改进措施是,当TCP Vegas收到重复的确认包时, 计算从发送该数据包时刻到当前时刻的时问间隔,比较 是否大于RTO,如果是,Vegas就重传该数掘包而不用 等到第2、3个重复确认包的到达,如下图所示。而且在 TCP Vegas中使用了比TCP Reno更为精确的计时器,可 以测得更加准确的RTT以及其他的一些时间数据,对RTT 的估计将更加准确,同样也能得到更加精确的超时时间。
基本概念
•拥塞窗口(cwnd ):拥塞控制的关键参数,控制 源端在拥塞情况下一次最多能发送多少数据包。 •接收窗口(rwnd):接收端对源端发送窗口大小所 做的限制,在建立连接时山接收方通过ACK确认 带给源端 •慢启动阀值(ssthresh ):拥塞控制中用来限制发 送窗口大小的门限值,它是慢启动阶段与拥塞避 免阶段的分界点,初始值设为65535 bytes或 awnd的大小。
否则发送端会一直等待直到超时,其过程如下图所示:
04
t
t
Vegas 算法
拥塞避免机制的改进
《TCP拥塞控制报告》课件
拥塞控制的优化
1
拥塞控制算法的优化
为了提高网络传输性能,拥塞控制算法可以通过改进和优化来提升效率和响应速 度。
2
拥塞控制的机制改进
除了算法的优化,网络设备和协议也可以进行改进,以更好地支持拥塞控制。
实验结果
实验环境介绍
介绍了实验所使用的网络环 境、设备和测量方法,为结 果的分析提供了背景信息。
实验设置及流程
确定合理的传输速率。
3
快重传和快恢复算法
快重传和快恢复算法是一种快速恢复网 络丢包的机制,通过接收到重复的确认 信息来进行快速恢复。
拥塞控制的实现
TCP拥塞控制的实现方式
TCP拥塞控制可以通过多种方式实现,包括基于算法的实现和基于标志位的实现。
拥塞控制标志位的定义及使用方法
拥塞控制标志位用于在TCP数据包的头部中指示包含的拥塞控制信息,协助网络设备进行拥 塞控制。
解释了实验的设置和流程, 包括拥塞控制算法的参数设 置和测试过程的步骤。
实验结果分析与总 结
对实验数据进行分析,并结 合实验目标进行总结,提出 相关改进和优化建议。
应用及展望
TCP拥塞控制在网络传输中的应用
TCP拥塞控制在现代网络中被广泛应用,用于优化 数据传输和提高网络性能。
TCP拥塞控制的未来发展方向
TCP拥塞控制的背景和意义
TCP拥塞控制是一种机制,用于在网络拥塞时调整数据传输的速率,以避免网络负载过重导 致丢包和延迟。
拥塞控制算法
1
慢启动算法
慢启动算法是TCP拥塞控制的一种机制,
拥塞避免算法
2
它通过逐渐增加传输速率来避免网络过 载。
拥塞避免算法通过动态调整传输速率来
避免网络拥塞的发生,基于网络状况来
tcpip拥塞控制、重传、丢包、优化
tcpip拥塞控制、重传、丢包、优化弱⽹环境是丢包率较⾼的特殊场景,TCP 在类似场景中的表现很差,当 RTT 为 30ms 时,⼀旦丢包率达到了 2%,TCP 的吞吐量就会下降89.9%[3],从下⾯的表中我们可以看出丢包对 TCP 的吞吐量极其显著的影响:概念理解4种计时器1.重传计时器:Retransmission Timer A发报⽂时创建计时器,计时器到期内收到回报⽂ACK,就撤销计时器2.持久计时器:Persistent Timer B告诉A,接收窗⼝填满了(0窗⼝通报),告诉A停⽌发送,进⼊等待,直到B发送报⽂告诉A已有“⾮零窗⼝”,但此时若这个报⽂丢失,B⾃⼰不知道,等着A发数据过来,双⽅都进⼊等待死锁,解决这个问题要在A端创建持久计时器,当收到B发送过来的0窗⼝通报报⽂后,计时器启动,计时器过期后,A发⼀个探测报⽂给B,询问是否有⾮0窗⼝,如果超时还没ack恢复则发探查报⽂,如果超时前收到到ack回复依然是0窗⼝,则将计时器复位并且翻倍时间值(1,2,4,8最⼤60s),如此循环,直到收到B的重开窗⼝确认包。
3.保活计时器:Keeplive Timer 长连接中A发送数据给B,发送⼏个数据包之后,A出故障了,B等待2⼩时后发10个探测报⽂段(每个75分钟发⼀次),如果没有响应就终⽌连接4.时间等待计时器:Timer_Wait Timer time_wati状态下发出的给被关闭端ack报⽂后等待时间(30~120s),⼀般设置⼀个msl(最长报⽂寿命)是60s包重传的原因tcp可靠性通过序列号和ack确认包保障,当tcp发送包之后,将这个包的副本数据段放到重传队列上启动重传计时器1、如果对⽅反馈ack,则销毁数据段和计时器2、如果对⽅没有反馈ack,则在计时器到期后发起重传快速重传:A向B发送4个tcp报⽂段(n1,n2,n3,n4),B只收到(n1,n2,n4),其中n3丢失(也许只是延时到达),B发现失序⽴即⽣成重复ACK包(重复确认n3),且发送三次给A,A重传该数据包超时重传:定时器超时之后,重传包,计时器的时间为“⼤于平均往返延迟”伪超时和重传:过早的判断了超时时间,导致发送⽅触发重传,RTT(连接往返时间)增长超过RTO(重传超时时间)包失序:ip层的包没有按顺序传输,严重失序时,接收⽅误以为包丢失,通知发送端重传,需要设置合理的重传阀值解决包重复:重传包含⼀个数据包,以及两个副本,多次重复会导致B收到过多重复包,从⽽B⽣成重复的ack,容易触发伪快速重传,使⽤sack 避免sack:当出现包失序、⽹络丢包导致的接收⽅数据序队列出现空洞,sack选项可以提供确认信息(描述乱序、空洞),帮助A⽅有效的重传。
ch2(TCP拥塞控制)_987508285
7
Why do We Care About Congestion Control?
Otherwise you get to congestion collapse How might this happen? - Assume network is congested (a router drops packets) - You learn the receiver didn’t get the packet • either by ACK, NACK, or Timeout - What do you do? retransmit packet - Still receiver didn’t get the packet - Retransmit again - …. and so on … - And now assume that everyone is doing the same!
2
Overview
Window Flow Control Analysis of TCP Congestion Control Tahoe, Reno, NewReno, Sack, Vegas Beyond TCP Congestion Control
3
Problem
Flow control - make sure that the receiver can receive as fast as you send Congestion control - make sure that the network delivers the packets to the receiver
6
Source rate
Limit the number of packets in the network to window W Source rate =
TCP系列39—拥塞控制—2、拥塞相关算法及基础知识
TCP系列39—拥塞控制—2、拥塞相关算法及基础知识⼀、拥塞控制的相关算法早期的TCP协议只有基于窗⼝的流控(flow control)机制⽽没有拥塞控制机制,因⽽易导致⽹络拥塞。
1988年Jacobson针对TCP在⽹络拥塞控制⽅⾯的不⾜,提出了“慢启动(Slow Start)”和“拥塞避免(Congestion Avoidance)”算法。
1990年Jacobson⼜做了两个修正。
在这⼆⼗来年的发展过程中,与拥塞控制相关的有四个⽐较重要的版本:TCP Tahoe、TCP Reno、TCP NewReno和TCP SACK。
TCP Tahoe是早期的TCP版本,它包括了3个最基本的算法-“慢启动”、“拥塞避免”和“快速重传(Fast Retransmit)”,但是在Tahoe版本中对于超时重传和快速重传的处理相同,⼀旦发⽣重传就会开始慢启动过程。
TCP Reno则在TCP Tahoe基础上增加了“快速恢复(Fast Recovery)”算法,针对快速重传作出特殊处理,避免了⽹络拥塞不严重时采⽤“慢启动”算法⽽造成过度减⼩发送窗⼝尺⼨的现象。
TCP NewReno对TCP Reno中的“快速恢复”算法进⾏了修正,它考虑了⼀个发送窗⼝内多个数据包丢失的情况。
在Reno版中,发送端收到⼀个新的ack number后就退出“快速恢复” 阶段,⽽在NewReno版中,只有当所有的数据包都被确认后才退出“快速恢复”阶段。
TCP SACK关注的也是⼀个窗⼝内多个数据包丢失的情况,它避免了之前版本的TCP重传⼀个窗⼝内所有数据包的情况,包括那些已经被接收端正确接收的数据包,⽽只是重传那些被丢弃的数据包。
传统的TCP拥塞控制算法主要就由慢启动、拥塞避免、快速重传、快速恢复这4个基础算法组成,这四个基础算法在RFC5681规范中进⾏了描述。
后续我们将会分别对这些拥塞控制相关的算法做介绍,在介绍这些拥塞控制的相关算法之前我们先介绍⼀下拥塞控制中的数据包守恒原则和linux中拥塞控制的背景知识,以⽅便后⾯进⾏更进⼀步的介绍。
网络层 拥塞控制PPT课件
网络层主要内容
网络层概述
网络层的地位 网络层需要解决的问题 数据报和虚电路 网络层提供的服务
拥塞控制算法
拥塞控制的基本原理 开环控制
拥塞预防策略 通信量整形(漏桶和令牌桶) 流说明
闭环控制
虚电路网络中的拥塞控制 抑制分组 负载丢弃
路由算法
最优化原则 最短路径路由算法 洪泛算法 基于流量的路由算法 距离向量路由算法 链路状态路由算法 分级路由
路由算法分类
非自适应算法(静态路由算法):按照预先计算好的(off-line)信息进 行路由。
自适应算法(动态路由算法):根据网络拓扑结构,通信量等地变化 来改变路由。
最优化原则
最优化原则(optimality principle)
如果路由器 J 在路由器 I 到 K 的最优路由上,那么从 J 到 K 的最优路由 会落在同一路由上。
这两个结点就这样一直互相僵持着,谁也无法成功地发送出一个分 组。
拥塞控制
死锁主要有两种:一种是直接死锁,另一种重装死锁. (1)直接死锁:即由互相占用了对方需要的资源而造成的死锁.
⑥丢掉B 发来的 分组
⑤节点A 的缓存已
满
A
分组1 分组2 分组3
①发送分组 ④发送分组
B
分组1 分组2 分组3
③丢掉A 发来的 分组
流量控制与点到点的通信量有关,主要解决快速发送方与慢速接 收方的问题,是局部问题,一般都是基于反馈进行控制的。
拥塞控制
2. 拥塞控制与流量控制的关系
吞吐量 子网的最大 传输容量
网络吞吐量 =网络负载
0
理想的流 量控制
吞吐量饱和
轻度拥塞
拥塞
图 拥塞控制所起的作用
TCP IP协议PPT课件-第10章 TCP协议
--
5
Review: Process-to-Process Comm.
进程 Process
端点(endpoint)
协议端口(port) IP地址
进程 Process
Internet
Domain of IP protocol
Domain of transport protocols
--
6
Review: Port Number
RFC 793,传输控制协议
Application Layer
Transport Layer
TCP
UDP
Network ICMP IGMP Layer
IP
ARP RARP
Network Access Layer
--
LANs
MANs
WANs
4
10.1 TCP Services
Process-to-process communication Stream delivery Full-duplex service Connection-oriented service Reliable service
Connection: (202.115.12.6, 80) and (202.115.12.34, 16250)
--
12
Connection-Oriented Concurrent Server
--
13
10.1.4 Reliable Service
Reliability
Order, without error, and without any part lost or duplicated
9
10.1.2 Full-Duplex Service
计算机网络 拥塞控制与避免 ppt
基于左图的网络拓扑结构,采 用Dijkstra算法,计算以节点1 为源节点的最短通路的过程.
1
表中带圆圈的数字表示 的是: 在每一次执行步 骤(2)时, 所寻找到的具 有最小值的D(w)值.
4
5
{1,2,3,4,5}
{1,2,3,4,5,6}
2
2
③
3
1
1
2
2
4
④
(3)
2 2 (0) 1 1 4 (1) 1 5 (2) 1 2 (4) 3 (5) 6 目的节点 1 下一站 2 4 4 4 4 目的节点 1 2 下一站 2
需要预知的信息
网络拓扑结构;
通信量矩阵Fij;
线路带宽矩阵Cij;
路由算法(可能是临时的)0
拥塞控制
网络拥塞的原因: (1)网络中某个节点缓存的容量太小,造成到达 该节点的分组因无空间暂存而不得不丢弃. ★若将站点的容量扩展到很大, 所有到达的分组均可在
此节点缓存, 而由于链路的容量和处理机的速度并未提 高,因此分组在队列中的排队时延将会很长, 结果上层软 件只好将它们进行重传(超时重发).所以简单地扩大缓存 的存储空间同样会造成网络资源的严重浪费.
1. 面向虚电路的拥塞控制算法
连接请求分组经过各路 由器时,各路由器记录 流量说明信息. 源主机 确认 连接请求
连接请求分组中包括: (1)最大分组长度 (2)最大传输速率 (3)分组序号 (4)传输模式等 转发 转发 转发 转发 转发 转发 目的主机 确认 连接请求
转发 转发
应答分组 转发 应答分组经过各路由器 时,对各路由器所记录 的发送者流量说明信息 进行确认.
提交的分组 子网的最大 传输容量
完美的
第3章--TCPPPT优秀课件
优先)
38
3.路由选择协议
(1)RIP路由选择信息协议 (2)开放式最短路径优先OSPF
39
3.2.5 子网与超网
1.子网(subnet)
135.13.1. 0
135.13.3. 0
135.13.2. 0
路由器 路由器
28
01 234567
拷贝
选项类
选项号
图3-6 选项代码字节分成长度1、 2、5比特的三个字段
29
整个字段由1比特的拷贝(COPY)标
志、2比特的选项类(OPTION CLASS)
以及5比特的选项号(OPTION NUMBER)
组成。拷贝标志控制路由器在分片过程中
对选项的处理。该比特置1时,说明该选项
数据。TCP的首部包括固定部分有20个字
节、可变部分选项和填充。可变部分的长
度为4个字节的整数倍,但是这一部分是可
选部分,因此TCP报文的首部最小为20个
字节,具体的格式如图3-13所示。
49
TCP 首部
0
16
源端口
序号
确认序号
首部长度 (HLEN)
保留
码元比特
校验和
任选(如果有)
数据 ……
31 目的端口
6
Internet网络用TCP/IP协议来克服网
络体系的异质性问题,使所有加入的机器
都能共享Internet资源。当然TCP/IP协议亦
可用于任何其它(不加入到Internet的)网
络,实现异种机联网或异构网络互联。
7
3.1.2 TCP/IP的内容
TCP是为同一网络上的计算机之间进 行点到点通信而设计的,其详细说明在 RFC 793中可以找到;而IP是为连接在不 同网络或者WAN上的计算机之间能够相互 通信而设计的,其详细说明在RFC 791中 可以找到。
第12章TCP协议PPT课件
24
31
TCP 首部
数据 偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报 文段,就尽快地交付接收应用进程,而不再等到整个 缓存都填满了后再向上交付。
7
2.1 TCP 报文段的首部格式
位0
32 位
8
16
24
31
TCP 首部
数据 偏移
源端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
目的端口
窗口 紧急指针
填充
20 字节的 固定首部
TCP 报文段 TCP 首部
TCP 数据部分
发送在前
IP 首部
IP 数据部分
8
位0
8
16
24
31
TCP 首部
数据 偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
窗口 紧急指针
选 项 (长 度 可 变)
填充
20 字节
固定
首部
源端口和目的端口字段——各占 2 字节。端口是传输 层与应用层的服务接口。传输层的复用和分用功能都 要通过端口才能实现。
第12章 传输控制协议(TCP)
课程目标 ➢TCP协议概述 ➢TCP的报文格式 ➢TCP连接的管理 ➢TCP的流量控制机制 ➢TCP的差错控制机制 ➢TCP的拥塞控制机制
TCP拥塞控制ppt课件
拥塞避免
加速递减 慢启动 拥塞避免
本节结束
加速递减 一旦发现丢失报文段,立即将拥塞窗口的大小减半,直到窗口大小为1。 对于保留在发送窗口中的报文段,其超时定时器的时限增加1倍。
TCP拥塞窗口的控制
拥塞窗口
24 22 20 18 16 14 12 10 8 6 4 2
0
24
慢启动
报文丢失
报文丢失
10 12 14 16 18 20 22
.
许可的窗口
TCP通过滑动窗口机制来控制发送的数据量,窗 口的大小通过一下公式来确定: 许可的窗口=Min(通知窗口, 拥塞窗口) 拥塞窗口则根据报文超时的情况动态调整,用于 避免网络交换节点数据报过载。 TCP许可的窗口大小应该同时满足两个窗口的要 求,因此,取两个窗口大小的较小值
.
TCP拥塞窗口的控制
TCP拥塞控制
拥塞
由于一个或多个交换节点(如路由器)的数据报 过载,出现严重的时延。 当系统出现轻度拥塞时,路由器的队列中有大量 的数据报排队等待路由; 系统严重拥塞时,数据报的总数超过了路由器的 容量,路由器只能丢弃数据报。 由于TCP采用了超时重传机制,因此,如果拥塞 不加以控制,可能导致大量的报文重传,并再度 引起大量的数据报丢弃,直到整个网络瘫痪。这 种现象称为拥塞崩溃
慢启动 当启动一个新的连接或者在拥塞后重新发送报文段时,以一个报文段
作为拥塞窗口的初始值,以后每次收到一个确认之后,将拥塞窗口增 加一倍;
拥塞避免 在慢启动技术的基础上,增加一个拥塞窗口的增加条件。当拥塞窗口
的大小达到上次拥塞是窗口大小的一半时,以后窗口中所有的报文段 都确认后,窗口大小增加1,而不是1倍;
第3章 计算机TCPPPT课件
3.4.2 路由算法举例
• 1。洪泛(flooding)算法 • 2。热土豆(hot potato)算法 • 3。固定路由算法 • 4。距离向量(distance vector)算法
• 4. Internet路由协议
– Internet按运营被划分成许多较小的单位—自治 系统(autonomous system,AS)。每个AS 通常由一个组织中的互联网络构成,由一个单 独的管理机构管理(即由一个ISP运营),有 权自主地决定本系统内部的路由协议。
3.4 路由器协议与路由器配置
3.4.1 自治系统与路由协议分类
• 为了保证各ISP利益,便于进行路由选择, Internet按运营被划分成许多较小的单位— 自治系统(autonomous system,AS)。 每个AS通常由一个组织中的互联网络构成, 由一个单独的管理机构管理(即由一个ISP 运营),有权自主地决定本系统内部的路 由协议。
• (7)其他
– ● 流量控制——采用滑动窗口协议。
– ● 采用全双工的数据传输——可以搭载应答信息。
3.1.3 TCP数据传输过程
• 1. 建立TCP连接 • 三次握手
• 2. TCP数据传输
– (1)确认和超时重传机制 – (2)流量与拥塞控制 – (3)校验和
• 3. 释放TCP连接
• 1)传输正常结束释放
– 当建立一个TCP连接时,连接的每一端分配一个缓冲区来保存输入的数据。通常把缓冲区中的空闲部分称为 窗口。当交付的数据不够填满一个缓冲区时,流服务提供“推(push)”机制,应用程序可以用其进行强迫 传送。
– (6)可靠传输
– 完全可靠性包括以下内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TCP拥塞窗口的控制
拥塞窗口
24 22 20 18 16 14 12 10 8 6 4 2
0
24
慢启动
报文丢失
报文丢失Biblioteka 报文丢失报文丢失传输次数
6 8 10 12 14 16 18 20 22
TCP拥塞控制
TCP拥塞控制
拥塞
由于一个或多个交换节点(如路由器)的数据报 过载,出现严重的时延。 当系统出现轻度拥塞时,路由器的队列中有大量 的数据报排队等待路由; 系统严重拥塞时,数据报的总数超过了路由器的 容量,路由器只能丢弃数据报。 由于TCP采用了超时重传机制,因此,如果拥塞 不加以控制,可能导致大量的报文重传,并再度 引起大量的数据报丢弃,直到整个网络瘫痪。这 种现象称为拥塞崩溃
拥塞避免
加速递减 慢启动 拥塞避免
TCP拥塞窗口的控制
慢启动 当启动一个新的连接或者在拥塞后重新发送报文段时,以一个报文段
作为拥塞窗口的初始值,以后每次收到一个确认之后,将拥塞窗口增 加一倍;
拥塞避免 在慢启动技术的基础上,增加一个拥塞窗口的增加条件。当拥塞窗口
的大小达到上次拥塞是窗口大小的一半时,以后窗口中所有的报文段 都确认后,窗口大小增加1,而不是1倍;
TCP拥塞控制
许可的窗口
TCP通过滑动窗口机制来控制发送的数据量,窗 口的大小通过一下公式来确定: 许可的窗口=Min(通知窗口, 拥塞窗口) 拥塞窗口则根据报文超时的情况动态调整,用于 避免网络交换节点数据报过载。 TCP许可的窗口大小应该同时满足两个窗口的要 求,因此,取两个窗口大小的较小值
TCP拥塞控制