第05讲 传输层协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第五讲传输层协议Internet技术与应用第五讲传输层协议2传输层协议概况概况:UDP标准协议,建议标准,STD-6RFC768:UDP协议TCP标准协议,推荐标准,STD-7RFC793:TCP协议RFC3168:更新TCP的拥塞控制等Internet技术与应用第五讲传输层协议3传输层和网络层的区别网络层协议:实现主机之间的数据传输只需要协议地址即可确定目的地传输层协议:实现应用程序之间的数据传输除协议地址外,还需要其他标识信息,以便确定参与通信的应用程序其他传输控制功能Internet技术与应用第五讲传输层协议4传输层如何标识应用程序主机上进程的标识:进程标识符进程启动时动态分配对不同主机、不同操作系统不统一传输层上进程的标识:端口号不同传输层协议的端口号独立网络上进程的标识:套接字Internet技术与应用第五讲传输层协议5端口端口长度:16bits端口类型:公用端口(熟知端口)由IANA分配给标准服务端口范围:1~256临时端口由操作系统动态自由分配端口范围:1024~65535Internet技术与应用第五讲传输层协议6套接字套接字的概念:是一种特殊的文件句柄,进程用它来向操作系统请求网络服务套接字的表示:三元组:协议,协议地址,进程标识TCP/IP中的套接字:TCP,IP地址,端口号或者UDP,IP地址,端口号Internet技术与应用第五讲传输层协议7关联和半关联关联:一个关联用来标识两个进程之间的通信两个套接字可以唯一地表示一个关联前提:使用相同的协议表示:五元组协议,本地协议地址,本地进程标识,远端协议地址,远端进程标识半关联:是构成关联的一半,亦即套接字Internet技术与应用第五讲传输层协议8UDP基于端口的多路去复用Internet技术与应用第五讲传输层协议9UDP数据报格式Internet技术与应用第五讲传输层协议10UDP应用编程接口三个主要的应用编程接口:建立新接收端口接收操作发送操作Internet技术与应用第五讲传输层协议11TCP提供的功能TCP具有如下为应用提供的功能:流式数据传输可靠性流量控制多路复用逻辑连接全双工Internet技术与应用第五讲传输层协议12TCP通信进程间的连接Internet技术与应用第五讲传输层协议13简单的确认重传缺点:浪费传输带宽Internet技术与应用第五讲传输层协议14窗口机制Internet技术与应用第五讲传输层协议15窗口机制改善带宽利用率窗口机制保证了:可靠的传输更好地利用了网络带宽支持流量控制Internet技术与应用第五讲传输层协议16TCP中的窗口原则TCP使用改进的窗口原则:每个字节分配一个序列号,窗口大小用字节数表示。建立连接时由接收方确定窗口大小,并且在数据传输过程中可能发生变化。字节分为报文段,一个TCP报文只携带本报文段中第一个字节的序列号。Internet技术与应用第五讲传输层协议17TCP中的窗口机制Internet技术与应用第五讲传输层协议18TCP报文段格式Internet技术与应用第五讲传输层协议19TCP伪头部Internet技术与应用第五讲传输层协议20TCP选项Internet技术与应用第五讲传输层协议21确认和重传Internet技术与应用第五讲传输层协议22变长超时间隔超时机制:为了不至于无限期的等待确认,采用超时机制,为发送的每个报文段设置一个超时间隔。TCP中的变长超时间隔:由于网络特性动态变化,超时间隔也应该动态改变。计算发送报文段和接收确认报文之间的时间差,以时间差的加权平均作为要被发送的下一个报文段的超时间隔值。Internet技术与应用第五讲传输层协议23TCP连接的建立三次握手过程Internet技术与应用第五讲传输层协议24TCP连接的关闭关闭连接的两种方法:通过调用close()显式关闭通过设置FIN标志位隐式关闭注意:由于TCP连接是双向的,必须在两端都进行关闭后才能真正关闭一个TCP连接。Internet技术与应用第五讲传输层协议25TCP应用编程接口六个主要的应用编程接口:Open:建立一个连接Send:使用已建立的连接发送数据Receive:将接收数据拷贝到用户缓冲区Close:关闭一个连接Status:返回一个已建立的连接的信息Abort:异常结束Internet技术与应用第五讲传输层协议26TCP拥塞控制算法拥塞算法:防止发送方以超出网络的容量的速率发送数据,以适应网络容量。TCP目前实现的4个拥塞和流控算法:慢速启动拥塞避免快速重传快速恢复Internet技术与应用第五讲传输层协议27慢速启动控制流量的两个窗口值:公告窗口:接收方确定拥塞窗口:发送方确定(不超过前者)慢速启动算法:发送方将拥塞窗口初始化为一个报文段的大小。每次接收到一个确认后,将拥塞窗口增加一倍。慢速启动是在连接上采取的流量控制Internet技术与应用第五讲传输层协议28慢速启动示意图Internet技术与应用第五讲传输层协议29拥塞避免拥塞:中间路由器丢失报文段的现象处理丢失报文的方法称为拥塞避免算法拥塞避免算法:减慢向网络发送报文的速率激活慢速启动过程判断拥塞的依据:发生超时(需要好的RTT算法)接收到重复的ACKInternet技术与应用第五讲传输层协议30慢速启动+拥塞避免两个独立的算法联合使用,维护两个变量:拥塞窗口(cwnd)慢速启动阈值(ssthresh)Internet技术与应用第五讲传输层协议31慢速启动+拥塞避免组合算法组合算法(设报文段大小为segsize):1.初始化连接:cwnd=segsize,ssthresh=655352.最多发送cwnd字节未确认的数据3.发生拥塞后:ssthresh=max(2*segsize,cwnd/2)4.新发送数据被确认后,若cwndssthresh:则执行慢速启动:cwnd=min(cwnd*2,ssthresh)否则执行拥塞避免:cwnd=cwnd+segsize*segsize/cwndInternet技术与应用第五讲传输层协议32慢速启动+拥塞避免组合算法示意图Internet技术与应用第五讲传输层协议33快速重传快速重传:对拥塞避免进行改进,使丢失报文在超时到来前被重传。Internet技术与应用第五讲传输层协议34快速恢复快速恢复:在快速重传发送了丢失的报文并收到确认后,执行拥塞避免而非慢速启动。因为重复ACK不仅意味着报文的丢失,而且意味着在丢失的报文之后还接收到其后的报文,即网络上仍然有数据流动,采用突然降低发送速率的慢速启动,不利于充分利用带宽。Internet技术与应用第五讲传输层协议35快速重传+快速恢复组合算法组合算法:1.当接收到第3个重复ACK时:ssthresh=max(2*segsize,cwnd/2)重传丢失的报文cwnd=ssthresh+3*segsize2.每当接收到另一个重复ACK时:cwnd=cwnd+segsize若新cwnd允许,则发送一个报文段3.新ACK到来时进行拥塞避免:cwnd=ssthresh/2Internet技术与应用第五讲传输层协议36思考题1.端口的作用是什么?如何理解基于端口的多路复用?2.套接字的作用是什么?说明TCP/IP套接字中三元组的必要性。3.什么是关联?关联与套接字有何关系?4.为什么UDP和TCP在计算校验和时要引入伪头部?5.为什么要在TCP中引入超时机制?TCP的超时间隔有何特点和优点?UDP需要超时机制吗?为什么?6.为什么TCP头部有一个头部长度字段而UDP却没有?7.UDP报文中的源端口号可以为0,那么,TCP报文中的源端口号是否也可以为0?为什么?8.解释说明窗口原则。窗口机制能够提供哪些功能?TCP中的窗口机制有哪些改进?9.慢速启动和拥塞避免的区别是什么?如何组合使用?10.在确认和重传机制下,为何还引入快速重传?

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功