第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 主讲人:。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。