传输控制协议TC
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 防丢失 – 带重传的肯定确认技术
数据发送方
发送分组
接收确认 发送分组
超时重传 接收确认
数据接收方
接收分组 发送确认
① 接收方收到 数据后向源站发 确认(ACK);
接收分组 发送确认
.
② 设置定时器, 源站在限定时间 内未收到ACK, 则重发。
两个问题
如何识别和处理重复的数据? –序号 –抛弃
.
2.关闭连接:改进的三次握手
网点1
发送FIN seq=x
接收ACK
接收FIN +ACK 发送ACK y+1
网点2
接收FIN ACK x+1
发送FIN seq=y ACK x+1
接收ACK
说明:
① FIN报文段占用一 个 序 号 ; 单 纯 的 ACK 报文段不占用序号。
② TCP 提 供 了半 关闭 能力:连接的一端在结 束它的发送后还能接收 来自另一端数据。
一对整数:(host IP,port)标识通信一方的一个 应用程序。 (3) 连接
一对端点:表示通信双方应用程序间的一条虚电路。 ① 主动打开 – 去请求 ② 被动打开 – 等待来 (4)说明 ① 一台机器上的一个TCP端口可被多个连接共享; ② TCP、UDP可用相同的端口号,但不会冲突。
.
一个DOS命令:Netstat
.
重传定时时限的计算方法
重传定时时限的计算方法: ① 早期的方法 ② 改进的方法 ③ Karn算法和定时器补偿
.
(1) 早期的方法 R:RTT的估计值 (之前RTT的加权平均值) M:本次测量的RTT值 RTO:定时时限 修改估计值: R ← αR + (1-α)M (0≤α<1,通常取α=0.9) 计算时限: RTO = βR (β早期取2,后改为4) 缺陷:在RTT变化较大的场合,说明网络某处处于拥塞 状态,但上述方法对此反映不敏感,从而造成不必要 的重传,进一步加重网络负担。
③有些编程接口提供 close来关闭TCP连接, 提供shutdown加特殊参 数来实现半关闭。
.
3. TCP连接异常关闭 异常关闭:出现异常情况使得应用程序或网络软件 中断连接。 连接复位 – RST:发起端发RST报文段,双方立即 停 止传输,并退出连接。
.
4. 端口、端点和连接
(1) 端口(21、23、25、53、79、80、88、139、161) (2) 端点
第7章 传输控制协议TCP
要求: 1. 掌握TCP的可靠性机制:确认、重传、序号; 2. 掌握TCP的流控和提高传输效率策略:滑动窗口机 制; 3. 掌握TCP连接的建立与关闭协议:三次握手; 4. 掌握TCP的报文段格式; 5. 掌握TCP的拥塞控制技术; 6. 掌握TCP避免糊涂窗口综合症的技术; 7. 了解紧急数据发送和强迫数据发送。
ISN – 不能取1,为什么? – ISN的设置方法是有一定规律的。
MSS – 为什么要选择MSS? – 如果连接的两端在同一个物理网络中,TCP协议软件 能计算出合适的MSS; – 如果连接的两端不在同一个物理网络中,则把路径上 最小的MTU除去首部后的数据大小作为MSS. – 选择合适的MSS非常困难:太小,网络利用率低;太 大,会降低网络性能。
序号 (seq)
seq1=ISN seqn+1= seqn+第n个报文段的长度(以字节计)
确认号(ACK)
确认号 = 期望接收的下一个报文段的序号
.
可提高效率的捎带累计确认技术
什么是累计确认? – 只确认前面连续收到的报文
什么是捎带确认? – 把对上一个报文的确认信息放到发给发送方 的数据报文中捎带回去。
.
7.2 TCP的特点
可靠传输服务有哪些特点?
① 面向数据流; ② 虚电路连接; ③ 有缓冲的传输; ④ 无结构的数据流; ⑤ 全双工连接。
.
7.3 TCP连接
功能:
1.建立连接 :三次握手
1. 同意连接协商,做 好传输数据的准备;
客户端 服务器
发送SYN seq=x
报文段
REQUEST ACCEPTED
.
3. RTT与重传定时器
对于超时重传的情况,如何设置重传定时器的时限? 时限设置的过大过小会出现什么问题? 网络性能不断变化,定时时限应动态调整
两个概念: ① RTT:往返时间,报文段发出到收到确认信息间的 时间段。 ② 自适应重传算法:监视每个连接的性能,由此推算 出合适的定时时限。当连接的性能变化时,随时修改定 时时限。
.
问题?
IP协议的特点是什么?
– 无连接 – 不保证可靠性 – 尽最大努力传输
应用程序如果要得到高可靠性服务,有哪些途径?
– 在IP层上增加一层功能模块 – 由应用程序自身完成可靠性功能
UDP能否满足应用程序的需求?
.
7.1 概述
要实现可靠的数据流传输服务, 必须解决哪几个问题?
1.可靠性: ①防丢失:确认与重传; ②防重复:报文段序号; 2.传输效率、流量控制:滑动窗口机制; 3.拥塞控制:加速递减与慢启动技术; 4.建立连接:三次握手协议; 5.关闭连接:改进的三次握手协议。
接收SYN 发送SYN seq=y,ACK x+1
接收SYN+ACK 发送ACK y+1
2.协商各自报文段 ISN(初始序列号,不 能为‘1’);
3.Baidu Nhomakorabea协商MSS(只有 SYN报文段能协商 MSS)。
CONFIRM
接收ACK
说明: SYN报文段占用初始
序号,发送数据的第一
字节序号为ISN+1。
.
关于ISN和MSS
定时器时限设置多长?
.
2. 防重复和乱序
❖ 报文段重复产生的原因? “假“丢失:确认丢失或确认延迟(超时)到达, 致使发送方重传造成的。
❖ 解决方法: ① 为每一分组赋予一个序号,用以检测重复。 ② 序号同时保证了分组间的正确顺序。 ③ 确认时通过确认号指明哪些分组已经收到。(累
计确认)
.
序号与确认号
Active Connections
Proto Local Address TCP koukou:1056
Foreign Address State 202.196.56.240:https ESTABLISHED
Netstat –o:列出与每个端口相关的进程 Netstat –r: 显示路由表
.
7.4 提供可靠性
.
(2) 改进的方法 R:RTT的估计值 M:本次测量的RTT值 RTO:定时时限 Diff:本次测量结果与上次RTT估计值的偏差 Dev :平均偏差的估计值
数据发送方
发送分组
接收确认 发送分组
超时重传 接收确认
数据接收方
接收分组 发送确认
① 接收方收到 数据后向源站发 确认(ACK);
接收分组 发送确认
.
② 设置定时器, 源站在限定时间 内未收到ACK, 则重发。
两个问题
如何识别和处理重复的数据? –序号 –抛弃
.
2.关闭连接:改进的三次握手
网点1
发送FIN seq=x
接收ACK
接收FIN +ACK 发送ACK y+1
网点2
接收FIN ACK x+1
发送FIN seq=y ACK x+1
接收ACK
说明:
① FIN报文段占用一 个 序 号 ; 单 纯 的 ACK 报文段不占用序号。
② TCP 提 供 了半 关闭 能力:连接的一端在结 束它的发送后还能接收 来自另一端数据。
一对整数:(host IP,port)标识通信一方的一个 应用程序。 (3) 连接
一对端点:表示通信双方应用程序间的一条虚电路。 ① 主动打开 – 去请求 ② 被动打开 – 等待来 (4)说明 ① 一台机器上的一个TCP端口可被多个连接共享; ② TCP、UDP可用相同的端口号,但不会冲突。
.
一个DOS命令:Netstat
.
重传定时时限的计算方法
重传定时时限的计算方法: ① 早期的方法 ② 改进的方法 ③ Karn算法和定时器补偿
.
(1) 早期的方法 R:RTT的估计值 (之前RTT的加权平均值) M:本次测量的RTT值 RTO:定时时限 修改估计值: R ← αR + (1-α)M (0≤α<1,通常取α=0.9) 计算时限: RTO = βR (β早期取2,后改为4) 缺陷:在RTT变化较大的场合,说明网络某处处于拥塞 状态,但上述方法对此反映不敏感,从而造成不必要 的重传,进一步加重网络负担。
③有些编程接口提供 close来关闭TCP连接, 提供shutdown加特殊参 数来实现半关闭。
.
3. TCP连接异常关闭 异常关闭:出现异常情况使得应用程序或网络软件 中断连接。 连接复位 – RST:发起端发RST报文段,双方立即 停 止传输,并退出连接。
.
4. 端口、端点和连接
(1) 端口(21、23、25、53、79、80、88、139、161) (2) 端点
第7章 传输控制协议TCP
要求: 1. 掌握TCP的可靠性机制:确认、重传、序号; 2. 掌握TCP的流控和提高传输效率策略:滑动窗口机 制; 3. 掌握TCP连接的建立与关闭协议:三次握手; 4. 掌握TCP的报文段格式; 5. 掌握TCP的拥塞控制技术; 6. 掌握TCP避免糊涂窗口综合症的技术; 7. 了解紧急数据发送和强迫数据发送。
ISN – 不能取1,为什么? – ISN的设置方法是有一定规律的。
MSS – 为什么要选择MSS? – 如果连接的两端在同一个物理网络中,TCP协议软件 能计算出合适的MSS; – 如果连接的两端不在同一个物理网络中,则把路径上 最小的MTU除去首部后的数据大小作为MSS. – 选择合适的MSS非常困难:太小,网络利用率低;太 大,会降低网络性能。
序号 (seq)
seq1=ISN seqn+1= seqn+第n个报文段的长度(以字节计)
确认号(ACK)
确认号 = 期望接收的下一个报文段的序号
.
可提高效率的捎带累计确认技术
什么是累计确认? – 只确认前面连续收到的报文
什么是捎带确认? – 把对上一个报文的确认信息放到发给发送方 的数据报文中捎带回去。
.
7.2 TCP的特点
可靠传输服务有哪些特点?
① 面向数据流; ② 虚电路连接; ③ 有缓冲的传输; ④ 无结构的数据流; ⑤ 全双工连接。
.
7.3 TCP连接
功能:
1.建立连接 :三次握手
1. 同意连接协商,做 好传输数据的准备;
客户端 服务器
发送SYN seq=x
报文段
REQUEST ACCEPTED
.
3. RTT与重传定时器
对于超时重传的情况,如何设置重传定时器的时限? 时限设置的过大过小会出现什么问题? 网络性能不断变化,定时时限应动态调整
两个概念: ① RTT:往返时间,报文段发出到收到确认信息间的 时间段。 ② 自适应重传算法:监视每个连接的性能,由此推算 出合适的定时时限。当连接的性能变化时,随时修改定 时时限。
.
问题?
IP协议的特点是什么?
– 无连接 – 不保证可靠性 – 尽最大努力传输
应用程序如果要得到高可靠性服务,有哪些途径?
– 在IP层上增加一层功能模块 – 由应用程序自身完成可靠性功能
UDP能否满足应用程序的需求?
.
7.1 概述
要实现可靠的数据流传输服务, 必须解决哪几个问题?
1.可靠性: ①防丢失:确认与重传; ②防重复:报文段序号; 2.传输效率、流量控制:滑动窗口机制; 3.拥塞控制:加速递减与慢启动技术; 4.建立连接:三次握手协议; 5.关闭连接:改进的三次握手协议。
接收SYN 发送SYN seq=y,ACK x+1
接收SYN+ACK 发送ACK y+1
2.协商各自报文段 ISN(初始序列号,不 能为‘1’);
3.Baidu Nhomakorabea协商MSS(只有 SYN报文段能协商 MSS)。
CONFIRM
接收ACK
说明: SYN报文段占用初始
序号,发送数据的第一
字节序号为ISN+1。
.
关于ISN和MSS
定时器时限设置多长?
.
2. 防重复和乱序
❖ 报文段重复产生的原因? “假“丢失:确认丢失或确认延迟(超时)到达, 致使发送方重传造成的。
❖ 解决方法: ① 为每一分组赋予一个序号,用以检测重复。 ② 序号同时保证了分组间的正确顺序。 ③ 确认时通过确认号指明哪些分组已经收到。(累
计确认)
.
序号与确认号
Active Connections
Proto Local Address TCP koukou:1056
Foreign Address State 202.196.56.240:https ESTABLISHED
Netstat –o:列出与每个端口相关的进程 Netstat –r: 显示路由表
.
7.4 提供可靠性
.
(2) 改进的方法 R:RTT的估计值 M:本次测量的RTT值 RTO:定时时限 Diff:本次测量结果与上次RTT估计值的偏差 Dev :平均偏差的估计值