计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章

上传人:w****i 文档编号:94519272 上传时间:2019-08-08 格式:PPT 页数:145 大小:1.92MB
返回 下载 相关 举报
计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章_第1页
第1页 / 共145页
计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章_第2页
第2页 / 共145页
计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章_第3页
第3页 / 共145页
计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章_第4页
第4页 / 共145页
计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章_第5页
第5页 / 共145页
点击查看更多>>
资源描述

《计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章》由会员分享,可在线阅读,更多相关《计算机网络 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 周炎涛 胡均平 第5章(145页珍藏版)》请在金锄头文库上搜索。

1、第5章 Internet,Internet,1961: Kleinrock 使用排队论证明分组交换网络在数据通信方面的优越性 1964: Baran 在军用网络中实现分组交换 1967: DARPA构思了ARPAnet 1969: 首个ARPAnet 结点运行,1972: ARPAnet 向公众展示 NCP (Network Control Protocol) 第一个主机间通信的协议 首个电子邮件程序运行 ARPAnet有了15结点,1961-1972: 早期的分组交换原理,Internet,1970: ALOHAnet 卫星网络, Hawaii 1973: Metcalfe在其博士论文中建议

2、了Ethernet 1974: Cerf 和 Kahn 提出网络互连的体系结构 late70s: 厂家标准: DECnet, SNA, XNA late 70s: 交换固定长度的分组 (ATM的先驱) 1979: ARPAnet有了 200 结点,Cerf和Kahns 网络互连的原则: minimalism, autonomy - no internal changes required to interconnect networks best effort service model stateless routers decentralized control 定义了今天因特网的体系结构

3、,1972-1980: 网络互连, 新型和厂商网络,Internet,1983: 开始使用 TCP/IP 1982: 定义了smtp e-mail 协议 1983: 定义了DNS 用于 name-to-IP-address 转换 1985: 定义了ftp 协议 1988: TCP 拥塞控制,新的国家级网络: Csnet, BITnet, NSFnet, Minitel 100,000 台主机加入到网络联盟中,1980-1990: 新的协议, 网络的大量增殖,Internet,Early 1990s: ARPAnet 退役 1991: NSF 取消了禁止商业化使用 NSFnet的限制 (退役,

4、1995) early 1990s: WWW 超文本链接 Bush 1945, Nelson 1960s HTML, http: Berners-Lee 1994: Mosaic, later Netscape late 1990s: WWW的商业化,Late 1990s: 估计因特网中有5千万台主机接入 估计1亿个网络用户 主干链路的运行速率在 1 Gb/s,1990s: 商业化, WWW,Internet拓扑结构,点: 端接系统(PC、服务器、PDA等) 交换/节点设备(路由器、集中器、交换机等) 边: 通信链路(光纤、线缆、无线链路等) 因特网服务提供商(ISP)提供网络接入,TCP/I

5、P,5.1 传输层协议,Internet 传输服务: 可靠, 按序点对点递交 (TCP) 拥塞控制 流量控制 连接建立 不可靠的 (“尽力而为”), 无序的点对点或广播递交: UDP 不能提供的服务: 实时性 带宽承诺 可靠的广播通信,5.1.1 TCP RFCs: 793, 1122, 1323, 2018, 2581,全双工数据传输: 在同一连接上双向传输 MSS: maximum segment size(最大段字节数-1500,536,512) 面向连接: 握手过程 (交换控制信息) 在交换数据前初始化收发双方的状态,“三次握手” 流量控制: 发送方的发送速度不得超过接收方的处理速度,

6、点对点: 一个发送方, 一个接收方 可靠, 按序的字节流 : 无 “报文边界”,无结构但有顺序 流水式控制: TCP的拥塞和流量控制,设置窗口大小 发送& 接收缓存,TCP 段格式,URG: urgent data (一般不用),ACK: ACK # valid,PSH: push data now (一般不用),RST, SYN, FIN: connection estab (setup, teardown commands),# bytes 接收方愿意接受的,按发送数据的字节计算 (不是按段数!),Internet checksum (as in UDP),TCP seq. #s 和 AC

7、Ks,Seq. #s: 该数据段第一个字节在(整个报文)字节流中 “编号” ACKs: seq #为预期从对方发来的“下一个”字节的编号 积累的 ACK Q: 接收方如何接受失序的数据段 A: TCP 没有定义, - 由程序设计者决定,Host A,Host B,Seq=42, ACK=79, data = C,Seq=79, ACK=43, data = C,Seq=43, ACK=80,User types C,host ACKs receipt of echoed C,host ACKs receipt of C, echoes back C,简单的 telnet 场景,TCP: 可靠数

8、据传输,简化的发送方, 假设,wait for event,wait for event,event: data received from application above,event: timer timeout for segment with seq # y,event: ACK received, with ACK # y,create, send segment,retransmit segment,ACK processing,单向数据传输 无流量, 拥塞控制,TCP: 可靠数据传输,00 sendbase = initial_sequence number 01 nextse

9、qnum = initial_sequence number 02 03 loop (forever) 04 switch(event) 05 event: data received from application above 06 create TCP segment with sequence number nextseqnum 07 start timer for segment nextseqnum 08 pass segment to IP 09 nextseqnum = nextseqnum + length(data) 10 event: timer timeout for

10、segment with sequence number y 11 retransmit segment with sequence number y 12 compue new timeout interval for segment y 13 restart timer for sequence number y 14 event: ACK received, with ACK field value of y 15 if (y sendbase) /* cumulative ACK of all data up to y */ 16 cancel all timers for segme

11、nts with sequence numbers y 17 sendbase = y 18 19 else /* a duplicate ACK for already ACKed segment */ 20 increment number of duplicate ACKs received for y 21 if (number of duplicate ACKS received for y = 3) 22 /* TCP fast retransmit */ 23 resend segment with sequence number y 24 restart timer for s

12、egment y 25 26 /* end of loop forever */,简化的 TCP 发送方,TCP ACK 规则 RFC 1122, RFC 2581,事件 有序数据段到达, 没有缺失的段, 所有其他数据段已经 ACKed 有序数据段到达, 没有缺失的段, 有一个延迟 ACK 等待 失序数据段到达 seq. # 高于预期值 测到间隔 到达的数据段部分或全部填满了缺失的段,TCP 接收方的动作 延迟 ACK. 等待 500ms 看是否还有数据段到达. 如果没有, 发送ACK 立即发送一个 积欠的 ACK 发送重复的 ACK, 说明 seq. # 为下一个期望的字节 立即 ACK,如

13、果数据段处于缺失的段的较低端,TCP: 重传场景,Host A,Seq=100, 20 bytes data,ACK=100,Seq=92 timeout,过早超时, 积欠 ACKs,Host B,Seq=92, 8 bytes data,ACK=120,Seq=92, 8 bytes data,Seq=100 timeout,ACK=120,TCP 流量控制,接收端: 显式通知发送端 (动态变化中的) 自由缓存空间 RcvWindow TCP 数据段的字段 发送端: 需要保存已经发送, unACKed 数据可少于最近收到的RcvWindow,发送端不可发送的太多、太快以至于使得接收端的缓存溢

14、出,接收端缓存,RcvBuffer = 接收端的 TCP 缓存大小 RcvWindow = 缓存中空闲的部分,TCP 交互的往返时间(RTT)和超时,Q: 如何设置 TCP 超时的值? 应较RTT长一点 注意: RTT 会变哟! 太短了: 过早出现超时 造成不必要的重传 太长了: 减缓了对数据段丢失的反应,Q: 如何估算 RTT? SampleRTT: 对数据段发送到收到ACK 回应的时间进行测量 忽略重传, 积欠 ACKed 数据段 SampleRTT 是会变化的, 要使得估算的 RTT “更平滑” 使用若干新近的测量结果, 而不仅仅是最近一次的 SampleRTT,TCP RTT 和超时

15、(p246),EstimatedRTT = (1-x)*EstimatedRTT + x*SampleRTT,指数加权移动平均(EWMA) 给定样本的影响随指数形式快速递减 X的典型量值: 0.125或1/8,设置超时 EstimtedRTT 加上 “安全边际(safety margin)” 如果 EstimatedRTT变化较大 - 加大安全边际,Timeout = EstimatedRTT + 4*Deviation,Deviation(偏差) = (1-x)*Deviation + x*|SampleRTT-EstimatedRTT|,TCP 连接管理,回顾: TCP 收发双方在数据交换开始之前需要建立连接 初始化 TCP变量: seq. #s 缓存, 流量控制信息 (e.g. RcvWindow) 客户端: 连接的发起者 Socket clientSocket = new Socket(“hostname“,“port number“); -JAVA 服务器: 接受客户端的连接 Socket connectionSocket = welcomeSocket.accept();,(建立连接)三次握手: Step 1:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号