第4讲传输层之二内容摘要:
中的 ) 自由缓存空间 RcvWindow TCP 数据段的字段 发送端 : 需要保存已经发送 , unACKed 数据可少于最近收到的RcvWindow 发送端不可发送的太多、太快以至于使得接收端的缓存溢出 流量控制 接收端缓存 RcvBuffer = 接收端的 TCP 缓存大小 RcvWindow = 缓存中空闲的部分 主讲人: 西安交通大学 程向前 第 4讲 传输层之二 410 TCP 交互的往返时间( RTT)和超时 Q: 如何设置 TCP 超时的值 ? 应较 RTT长一点 注意 : RTT 会变哟。 太短了 : 过早出现超时 造成不必要的重传 太长了 : 减缓了对数据段丢失的反应 Q: 如何估算 RTT? SampleRTT: 对数据段发送到收到ACK 回应的时间进行测量 忽略重传 , 积欠 ACKed 数据段 SampleRTT 是会变化的 , 要使得估算的 RTT “更平滑” 使用若干新近的测量结果 , 而不仅仅是最近一次的 SampleRTT 主讲人: 西安交通大学 程向前 第 4讲 传输层之二 411 TCP RTT 和超时 (p246) EstimatedRTT = (1x)*EstimatedRTT + x*SampleRTT 指数加权移动平均( EWMA) 给定样本的影响随指数形式快速递减 X的典型量值 : 1/8 设置超时 EstimtedRTT 加上 “安全边际 (safety margin)” 如果 EstimatedRTT变化较大 加大安全边际 Timeout = EstimatedRTT + 4*Deviation Deviation(偏差 ) = (1x)*Deviation + x*|SampleRTTEstimatedRTT| 主讲人: 西安交通大学 程向前 第 4讲 传输层之二 412 TCP 连接管理 回顾 : TCP 收发双方在数据交换开始之前需要建立连接 初始化 TCP变量 : seq. s 缓存 , 流量控制信息 (. RcvWindow) 客户端 : 连接的发起者 Socket clientSocket = new Socket(hostname,port number)。 JAVA 服务器 : 接受客户端的连接 Socket connectionSocket = ()。 (建立连接 )三次握手 : Step 1: 客户端的 end system向服务器发送 TCP SYN 控制数据段 定义并初始化 seq Step 2: 服务器的 end system接收 SYN, 用 SYNACK控制数据段回答 ACKs 接收到的 SYN 分配缓存 定义 server receiver 初始化 seq. Step 3:客户端的 end system向服务器发送 ACK ACKs 接收到的连接承诺 分配缓存 主讲人: 西安交通大学 程向前 第 4讲 传输层之二 413 TCP 连接管理 (续 ) 关闭连接 : 客户端关闭插口 : ()。 Step 1: 客户端 end system 发送 TCP FIN 控制段给服务器 Step 2: 服务器 收到 FIN, 用 ACK应答 . 关闭连接 , 发送 FIN. client server close close closed timed wait 主讲人: 西安交通大学 程向前 第 4讲 传输层之二 414 TCP 连接管理 (续 ) Step 3: 客户端 收到 FIN, 用 ACK进行应答 . 随着对接收到的 FIN发送ACK同时进入 “timed wait( 计时等待)” Step 4: 服务器 , 接收 ACK. 连接关闭 . 注意 : 稍加修改 ,即可管理同时发生的多个 FINs. client server closing closing closed timed wait closed 主讲人:。第4讲传输层之二
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
第4课嵌入式linux开发基础
$ su bc • startx (start X Window) 权限:所有用户 使用方法: startx 说明:文本方式下启动图形界面 应用示例: $ startx 基本命令(六) • which 权限:所有用户 使用方法: which [程序名 ] 说明:寻找实用程序所在位置 应用示例: $ which who • echo 权限:所有用户 使用方法: echo
第4讲使用类和对象编程二
之为终止器 )实现这些处理。 protected void finalize() { // finalization code } • Java虚拟机提供了一个系统级的垃圾回收器线程,它负责自动回收那些无用对象所占用的内存,这种内存回收的过程被称为垃圾回收 (Garbage Collection)。 垃圾回收 静态变量和静态方法 (一 ) •静态变量是类的特点,不是某个对象具有的。
第4章频率域图像增强
*/)(210/)(210/210lFlFlMFlFlFexfMexfMlMFexfMuFMxljMxMxlMjMxMuxjMx ( 3)平移性质(用于频域中心化操作) )()1)(,()2,2()22()1)(,(vuyxvuFNyMxfNvMuFyxf ,(a) (b) (c) (a) 原图像;(