计算机网络第3章传输层协议与进程通信_第1页
计算机网络第3章传输层协议与进程通信_第2页
计算机网络第3章传输层协议与进程通信_第3页
计算机网络第3章传输层协议与进程通信_第4页
计算机网络第3章传输层协议与进程通信_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章传输层协议与进程通信设置传输层的原因传输层的主要功能TCP协议的主要特点UDP协议的主要特点实现传输层进程通信的设计方法3.1传输层的基本概念3.1.1传输层的基本功能根本目的:在网络层提供的数据通信服务基础上,实现主机进程间可靠服务,“端到端”服务(主机-主机→端-端)两大功能:加强、弥补网络层提供的网络服务进一步提供进程通信机制3.1.1传输层的基本功能3.1.2传输层与应用层、网络层之间的关系3.1.3应用进程、传输层接口与套接字传输层协议在本地主机操作系统控制下,为应用程序提供确定的服务网络层解决IP地址,传输层解决进程标识套接字:建立网络应用程序的可编程接口(应用编程接口API)3.1.4网络环境中的应用进程标识1.应用进程标识的基本方法传输层进程寻址:通过TCP/UDP端口号实现3.1.4网络环境中的应用进程标识2.端口号的分配方法表5-1UDP常用的熟知端口号表5-2TCP常用的熟知端口号端口号服务进程说明端口号服务进程说明53Domain域名服务20FTP文件传输(数据连接)67/68DHCP动态主机配置协议21FTP文件传输(控制连接)69TFTP简单文件传输协议23TELNET网络虚拟终端协议111RPC远程过程调用25SMTP简单邮件传输协议123NTP网络时间协议80HTTP超文本传输协议161/162SNMP简单网络管理协议119NNTP网络新闻传输协议520RIP路由信息协议179BGP边界路由协议3.1.4网络环境中的应用进程标识3.网络环境中的进程识别进程标识五元组:协议、本地地址、本地端口、远程地址、远程端口号3.1.5传输层的多路复用与多路分解运行TCP/IP协议主机可能同时运行不同应用层协议和应用程序3.2传输层协议特点与比较3.2.1TCP/UDP协议比较的关系表5-3TCP与UDP协议比较特征/描述TCPUDP一般描述允许应用程序可靠地发送数据,功能齐全简单、高速,只负责将应用层与网络层衔接起来面向连接与无连接面向连接,在TPDU传输之前需要建立TCP连接无连接,在TPDU传输之前不需要建立UDP连接与应用层的数据接口基于字节流,应用层不需要规定特点的数据格式基于报文,应用层需要将数据分成包来传送可靠性与确认可靠报文传输,对所有的数据均要确认不可靠,不需要对传输的数据确认,尽力而为地交付重传自动重传丢失的数据不负责检查是否丢失数据和重传开销低,但高于UDP很低传输速率高,但低于UDP很高适用的数据量从少量到几个GB的数据从少量到几百个字节的数据适用的应用类型对数据传输可靠性要求较高的应用,例如文件与报文传输发送数量比较少,对数据传输可靠性要求低的应用,例如IP电话、视频会议、多播与广播3.2.2TCP/UDP协议与应用层协议的关系3.3用户数据报协议UDP3.3.1UDP协议的主要特点无连接、不可靠的传输协议(开销低、尽力而为)。面向报文的传输层协议(保留原报文)3.3.2UDP数据报格式3.3.3UDP校验和计算校验和计算:伪报头+UDP数据报伪报头验证UDP数据报是否正确传送到目的进程伪报头结构3.3.3UDP校验和计算校验和计算方法3.3.4UDP协议适用的范围对性能的要求高于对数据完整性的要求视频播放实时交付的要求高于对数据交付可靠性要求(可丢失个别数据包)需要“简短快捷”的数据交换简单的请求与应答报文交互需要多播和广播的应用源主机以恒定速率发送报文,拥塞发生时允许丢弃部分报文3.4传输控制协议TCP3.4.1TCP协议的主要特点支持面向连接的传输服务(打电话)支持字节流传输(管道,按序)支持全双工服务(双向,捎带确认)支持建立多个并发的TCP连接(服务器同时响应多个连接)支持可靠传输服务(确认机制,拥塞控制)3.4.1TCP协议的主要特点3.4.2TCP报文格式3.4.2TCP报文格式标志说明SYN当SYN=l,而ACK=0时,表明这是一个建立连接请求报文,若对方同意建立该连接,则应在发回的报文中将SYN和ACK标志位同时置1。实质上,就是用SYN来代表ConnectionRequest和ConnectionAccepted,用ACK位来区分这两种情况。ACK确认号字段的值有效。只有当ACK=l时,确认序号字段才有意义。当ACK=0时,确认序号没有意义。FIN终止连接。当FIN=1时,表明数据已经发送完毕,并请求释放连接。RST连接必须复位。当RST=l时,表明出现严重差错,必须释放连接,然后重新建立连接。URG此报文是紧急数据,应尽快传送出去。此标志位要与紧急指针字段配合使用,由紧急指针指出在本报文段中的紧急数据的最后一个字节的编号。PSH将数据推向前。当PSH=l时,请求接收方TCP软件将该报文立即推送给应用程序。3.4.3TCP连接建立、释放1)(经历3次握手)2)报文传输(双向传输)3)连接释放(经历4次握手)连接建立/释放过程3.4.3TCP连接建立、释放保持定时器、时间等待定时器TCP的4个定时器:重传定时器、坚持定时器、保持定时器、时间等待定时器保持定时器(激活定时器)用来防止TCP连接长时间处于空闲状态时间等待定时器连接终止期间使用,TCP关闭连接,并不马上真正关闭,在时间等待期间,连接处于一种过渡状态3.4.4TCP滑动窗口与确认重传机制TCP设计思想应用进程将数据以字节流发送,无需考虑发送数据字节长度,由TCP负责将字节流分段打包依靠TCP连接传送字节流,按序的,无差错、不丢失、不重复提供差错控制功能,保证正确接收字节流(通过差错检测、确认、重传实现)滑动窗口概念字节为单位控制字节流的发送、接收、确认、重传过程3.4.4TCP滑动窗口与确认重传机制理解滑动窗口,注意几个问题2个缓存、2个窗口(控制字节流传输过程)发送方缓存:用于存储准备发送的数据发送窗口:窗口值不为0,可以发送报文段接收方缓存:将正确接收的字节流写入缓存,等待接收读取接收窗口:窗口值=接收缓存可以接收的字节流字节流分段,按段(序号)传输,捎带确认(确认号)通过滑动窗口跟踪、记录发送状态,实现差错控制3.4.4TCP滑动窗口与确认重传机制3.4.4TCP滑动窗口与确认重传机制3.4.4TCP滑动窗口与确认重传机制选择重发策略回退方式假设丢失了第2个报文段,不管之后的报文段是否已正确接收,从第2个报文段的第1个字节序号151开始,重发所有的4个报文段。显然,效率低下。择重发方式接收方收到不连续的字节时,如果这些字节的序号都在接收窗口之内,则首先接收缓存这些字节,并将丢失的字节流序号通知发送方,发送方只需重发丢失的报文段,而不需要重发已经接收的报文段。3.4.4TCP滑动窗口与确认重传机制选择重发策略3.4.4TCP滑动窗口与确认重传机制重传定时器

处理报文确认与等待重传的时间。发送一个报文,将其副本放入重传队列3.4.5TCP窗口与

流量控制、拥塞控制1.TCP窗口与流量控制由发送方控制发送速率,使之不超过接收速率,防止接收方来不及接收字节流,而出现报文丢失现象。流量控制过程接收方从缓存中读取速度大于等于字节到达速度,接收方在每个确认中发出一个非零窗口通告。如果发送方发送速度比接收方读取速度快,将造成缓冲区被全部占用,之后到达的字节因缓冲区溢出而丢弃。此时,接收方必须发出一个“零窗口”的通告。告知当发送方停止发送(直到接收“非零窗口”通告为止)。接收方需要接收能力给出一个合适的接收窗口,并将它写入TCP报头中,通知发送方。3.4.5TCP窗口与

流量控制、拥塞控制1.TCP窗口与流量控制坚持定时器接收方发出了“零窗口”通告之后,发送方停止发送,直到接收方再发出“非零窗口”通告为止。问题:如果“非零窗口”通告丢失,发送方将无休止地等待接收方通知,才能继续发送报文段,造成死锁。解决:设置“坚持定时器”发送方收到“零窗口”通告为零的确认时,启动“坚持定时器”。坚持定时器时间到时,发送方发生探测报文(提示接收方,确认已丢失,必须重传)。3.4.5TCP窗口与

流量控制、拥塞控制传输效率问题必须解决好“什么时候”发送,要发送“多长”报文段受应用进程产生数据速度、接收方要求发送速度的影响(很复杂问题)

提高传输效率Nagle算法当数据以每次1B的方式进入发送方时,第1次发送方只发送1B,其他的字节存入缓冲区。当第1个报文段被确认,再把缓冲区中数据放入第2个报文段中发送,这样一边发送/等待确认,一边缓存待发送数据(可有效提高传输效率)。当缓存的数据字节数达到发送窗口的1/2(接近MSS),立即将它们作为一个报文段发送。3.4.5TCP窗口与

流量控制、拥塞控制传输效率问题糊涂窗口综合症现象:造成传输效率极低Clark算法解决思想禁止接收方发送1B的窗口更新报文,让接收方等待一段时间,使接收缓存有足够的空间接收一个较长的报文段。如果通知窗口长度达到空闲空间,再发送窗口更新报文。接收方等待一段时间对发送方有好处(积累一定长度的数据字节,发送长报文也有利于提高传输效率。3.4.5TCP窗口与

流量控制、拥塞控制2.TCP窗口与拥塞控制∑对网络资源的需求>网络可用资源3.4.5TCP窗口与

流量控制、拥塞控制2.TCP窗口与拥塞控制实现拥塞控制最基本手段:TCP滑动窗口技术。发送数据,既要考虑接收能力,又要避免网络发生拥塞发送窗口计算发送窗口=Min(通知窗口,拥塞窗口)通知窗口rwnd:接收方允许接收的能力,来自接收方流量控制(将“通知窗口”值放在TCP报头中,传送给发送端)。拥塞窗口cwnd:发送方根据网络拥塞情况得出的窗口值,来自发送方的流量控制。未发生拥塞情况下,接收方“通知窗口”和“拥塞窗口”是一致的3.4.5TCP窗口与

流量控制、拥塞控制2.TCP窗口与拥塞控制拥塞窗口cwnd:发送方根据网络拥塞情况动态调整。网络没有出现拥塞,逐渐增大拥塞窗口;出现拥塞时,拥塞窗口立即减少。拥塞控制方法:慢开始、拥塞避免、快重传、快恢复慢开始方法思想开始发送数据时,用试探方法,由小到大逐步增大cwnd值以二进制指数方式慢速增长(2n)3.4.5TCP窗口与

流量控制、拥塞控制慢开始阈值SST:为避免拥塞窗口增长过快引起网络拥塞当cwnd<SST时,使用慢开始算法。当cwnd>SST时,停止使用慢开始算法,使用拥塞避免算法。当cwnd=SST时,既可以使用慢开始算法,也可使用拥塞避免算法。慢开始阶段,若出现超时,发送方将S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论