- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章-传输层协议及分析
第六章传输层协议及分析 OSI体系结构中的传输层 Internet体系中的传输层 端口的概念 端口就是运输层服务访问点 TSAP。 端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标志应用层的进程。 端口在进程之间的通信中所起的作用 端口 端口用一个 16 bit 端口号进行标志。 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。 两类端口 一类是熟知端口,其数值一般为 0~1023。当一种新的应用程序出现时,必须为它指派一个熟知端口。 另一类则是一般端口,用来随时分配给请求通信的客户进程。 插口(socket) TCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将 TCP 连接的端点称为插口(socket),或套接字、套接口。 插口和端口、IP 地址的关系是: TCP 的数据编号与确认 TCP 协议是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。 在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。 TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。 TCP 的流量控制与拥塞控制1. 滑动窗口的概念 TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。 在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。 发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。 发送端只要收到了对方的确认,发送窗口就可前移。 发送 TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。 发送端已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。 现在发送端还可发送 300 字节。 利用可变窗口大小进行流量控制双方确定的窗口值是 400 2. 慢开始和拥塞避免 发送端的主机在确定发送报文段的速率时,既要根据接收端的接收能力,又要从全局考虑不要使网络发生拥塞。 因此,每一个 TCP 连接需要有以下两个状态变量: 接收端窗口 rwnd (receiver window) 又称为通知窗口(advertised window)。 拥塞窗口 cwnd (congestion window)。 接收端窗口 rwnd 和拥塞窗口 cwnd (1) 接收端窗口 rwnd 这是接收端根据其目前的接收缓存大小所许诺的最新的窗口值,是来自接收端的流量控制。接收端将此窗口值放在 TCP 报文的首部中的窗口字段,传送给发送端。 (2) 拥塞窗口 cwnd (congestion window) 是发送端根据自己估计的网络拥塞程度而设置的窗口值,是来自发送端的流量控制。 发送窗口的上限值 发送端的发送窗口的上限值应当取为接收端窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定: 发送窗口的上限值 ? Min [rwnd, cwnd] 当 rwnd < cwnd 时,是接收端的接收能力限制发送窗口的最大值。 当 cwnd < rwnd 时,则是网络的拥塞限制发送窗口的最大值。 慢开始算法的原理 在主机刚刚开始发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS 的数值。 在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个 MSS 的数值。 用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理。 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 慢开始和拥塞避免算法的实现举例 乘法减小(multiplicative decrease) “乘法减小“是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢
文档评论(0)