- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 9.3.4 TCP的传输策略 建立在TCP协议上的协议可以分为两类: 1. TCP的交互数据流 捎带ACK Nagle算法 2. TCP的成块数据流 传输数据时确认的问题 滑动窗口 数据拥塞控制 * 9.3.5 TCP的拥塞控制 拥塞发生的原因是“需求”大于“供给” 主机如何知道拥塞 收到ICMP的源抑制报文 因报文丢失引起的超时 TCP的拥塞控制由以下4个核心部分组成: 慢启动(Slow Start) 拥塞避免(Congestion Avoidance) 快速重传(Fast Retransmit) 快速恢复(Fast Recovery) * 拥塞控制相关的参数 拥塞窗口cwnd(Congestion Widnow):拥塞控制的关键参数,它描述发送方根据自己估计的网络拥塞情况设置一次最多能发送的数据包数量。 接收方窗口rwnd(Receiver Window):又叫通知窗口Awin(Advertised Window),是接收方根据目前自己的接收缓存大小给发送方预设的最新窗口大小。 发送窗口:发送方每次实际发送数据的窗口大小,其上限值是接收窗口和拥塞窗口的较小值。 慢启动阈值(ssthresh):拥塞控制中慢启动阶段和拥塞避免阶段的分界点。初始值通常设置为65535字节。 往返时延(RTT):一个TCP数据包从发送方发送到接收方,发送方收到接收方确认的时间间隔。 * 拥塞控制策略 慢启动与拥塞避免 在不清楚环境的情况下向网络传送数据,要求TCP缓慢地探测网络以确定可用流量。拥塞窗口被初始化为一个数据包大小,发送方按发送窗口大小发送数据,每收到一个ACK确认,cwnd就增加一个数据包发送量。显然,cwnd的增长随RTT呈指数级增长 。 若cwnd≤ssthresh,TCP重新进入慢启动过程。 若cwndssthresh, TCP执行拥塞避免算法。 拥塞避免是指在拥塞避免阶段使拥塞窗口按线性规律增长,使网络不容易出现拥塞。 * 快速重传和快速恢复 快速重传和快速恢复规定,不必等到超过,只要发送方收到3个或3个以上重复ACK时,就确定数据报已经被丢失,并重传数据报,同时将ssthresh设置为当前cwnd的一半(这和慢启动过程相同),但是cwnd不再设置为1,而是ssthresh+n×MSS。如果发送窗口还允许发送报文段,就按拥塞避免算法继续发报送文段。如果收到了确认新的报文的ACK,就将cwnd缩小到ssthresh。也就是说,采用快速恢复过程时,慢启动算法只在TCP建立连接时才使用。 * 慢启动 超时 超时 拥塞避免 cwnd cwnd1 重传及恢复 ssthresh =cwnd1/2 (a)慢启动和拥塞避免 超时 (b)快速重传和恢复 cwnd 时间 时间 拥塞避免和快速恢复 * 9.4 用户数据报协议UDP UDP提供的是不可靠的、无连接的数据传输服务。 使用UDP为传输层协议的网络应用其可靠性的问题需要由使用UDP的应用程序来解决 。 * 伪首部 源端口 目的端口 长 度 检验和 数 据 首 部 UDP长度 源 IP 地址 目的 IP 地址 0 17 IP 数据报 字节 4 4 1 1 2 12 2 2 2 2 字节 发送在前 数 据 首 部 UDP 用户数据报 UDP 用户数据报的首部格式 * UDP与TCP相比较: 两者在如何实现信息的可靠传递方面有所不同。 TCP包含了可靠性保证机制,而UDP不提供数据传送的保证机制。 TCP在实际执行的过程中会占用大量的系统开销,严重地影响到传输速度。而UDP不考虑可靠性,将安全和排序等功能移交给上层应用来完成,极大地减少了时间,使速度得到了保证。 * 9.5 套 接 字 编 程 9.5.1 套接字接口 套接字API是用于构造网络应用程序的编程接口,它定义了应用程序与操作系统中传输协议进行交互时使用的一组操作,如图所示: * Windows Sockets规范 一套开放的、支持多种协议的Windows 下的网络编程接口,现在已成为Windows 网络编程的事实上的标准。 应用程序 高层 Windows Sockets API 网络协议栈(TCP/IP) 低层 网络接口卡 * 9.5.2 套接字API的实现与读写过程 1. socket过程 descriptor = socket(protofamily,type,protocol) 2. close过程 close(socket) 3.bind过程 bind(socket, localaddr,addrlen) * 4. listen过程 listen(socket, queuesize) 5. accept 过程 newsock =
您可能关注的文档
最近下载
- 光伏电站组件安装前测试记录及电源并网前单位工程调试报告(记录).doc VIP
- QCR 749.1-2020 铁路桥梁钢结构及构件保护涂装与涂料 第1部分:钢梁.docx VIP
- MTBE生产技术知识问答.pdf VIP
- (2025春新版本)部编版一年级语文下册《 端午粽》PPT课件.pptx VIP
- 第20课 第一次工业革命 课件(共25张PPT).pptx VIP
- 颖川陈氏经秀族谱目录.doc VIP
- 2025年河北省国富农业投资集团有限公司人员招聘笔试备考试题及答案解析.docx VIP
- 新人教版五年级数学上册《★掷一掷》部级优课陈萍老师—省级公开课课件.ppt VIP
- 古野GPS操作说明书中文_GP170.PDF VIP
- TT310系列超声波测厚仪.PDF VIP
原创力文档


文档评论(0)