第3章 传输层协议及进程通信_第1页
第3章 传输层协议及进程通信_第2页
第3章 传输层协议及进程通信_第3页
第3章 传输层协议及进程通信_第4页
第3章 传输层协议及进程通信_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、 第第3章章 传输层协议与传输层协议与进程通信进程通信v 设置传输层的原因设置传输层的原因v 传输层的主要功能传输层的主要功能v TCP协议的主要特点协议的主要特点v UDP协议的主要特点协议的主要特点v 实现实现传输层进程通信的设计传输层进程通信的设计方法方法3.1 传输层的基本概念传输层的基本概念3.1.1 传输层的基本功能传输层的基本功能根本目的:根本目的:在网络层提供的数据通信服务基础上,实现主机进程间可靠服务,v “端到端”服务(主机-主机 端-端)v 两大功能:两大功能:加强、弥补网络层提供的网络服务进一步提供进程通信机制3.1.1 传输层的基本功能传输层的基本功能3.1.2 传输

2、层与应用层、网络层之间的关系传输层与应用层、网络层之间的关系3.1.3应用进程、传输层接口与套接字应用进程、传输层接口与套接字 传输层协议在本地主机操作系统控制下,为应用程序提供确定的服务 网络层解决IP地址,传输层解决进程标识 套接字:建立网络应用程序的可编程接口(应用编程接口API)3.1.4 网络环境中的应用进程标识网络环境中的应用进程标识1 应用进程标识的基本方法应用进程标识的基本方法 传输层进程寻址:通过TCP/UDP端口号实现3.1.4 网络环境中的应用进程标识网络环境中的应用进程标识2端口号的分配方法端口号的分配方法表5-1 UDP常用的熟知端口号表5-2 TCP常用的熟知端口号

3、端口号服务进程说 明端口号服务进程说 明53Domain域名服务20FTP文件传输(数据连接)67/68DHCP动态主机配置协议21FTP文件传输(控制连接)69TFTP简单文件传输协议23TELNET网络虚拟终端协议111RPC远程过程调用25SMTP简单邮件传输协议123NTP网络时间协议80HTTP超文本传输协议161/162SNMP简单网络管理协议119NNTP网络新闻传输协议520RIP路由信息协议179BGP边界路由协议3.1.4 网络环境中的应用进程标识网络环境中的应用进程标识3 网络环境中的进程识别网络环境中的进程识别进程标识五元组:进程标识五元组:协议、本地地址、本地端口、远

4、程地址、远程端口号3.1.5 传输层的多路复用与多路分解传输层的多路复用与多路分解运行TCP/IP协议主机可能同时运行不同应用层协议和应用程序3.2 传输层协议特点与比较传输层协议特点与比较3.2.1 TCP/UDP协议协议比较比较的关系的关系表5-3 TCP与UDP协议比较特征特征/描述描述TCPUDP一般描述允许应用程序可靠地发送数据,功能齐全简单、高速,只负责将应用层与网络层衔接起来面向连接与无连接面向连接,在TPDU传输之前需要建立TCP连接无连接,在TPDU传输之前不需要建立UDP连接与应用层的数据接口基于字节流,应用层不需要规定特点的数据格式基于报文,应用层需要将数据分成包来传送可

5、靠性与确认可靠报文传输,对所有的数据均要确认不可靠,不需要对传输的数据确认,尽力而为地交付重传自动重传丢失的数据不负责检查是否丢失数据和重传开销低,但高于UDP很低传输速率高,但低于UDP很高适用的数据量从少量到几个GB的数据从少量到几百个字节的数据适用的应用类型对数据传输可靠性要求较高的应用,例如文件与报文传输发送数量比较少,对数据传输可靠性要求低的应用,例如IP电话、视频会议、多播与广播3.2.2 TCP/UDP协议与应用层协议协议与应用层协议的关系的关系3.3 用户数据报协议用户数据报协议UDP 3.3.1 UDP协议的主要特点协议的主要特点 无连接、不可靠的传输协议(开销低、尽力而为)

6、。 面向报文的传输层协议(保留原报文)3.3.2 UDP数据报格式数据报格式3.3.3 UDP校验和计算校验和计算校验和计算:校验和计算:伪报头+UDP数据报v 伪报头伪报头验证UDP数据报是否正确传送到目的进程v 伪报头伪报头结构结构3.3.3 UDP校验和计算校验和计算校验和计算方法校验和计算方法3.3.4 UDP协议适用的范围协议适用的范围v 对性能的要求高于对数据完整性的要求对性能的要求高于对数据完整性的要求视频播放实时交付的要求高于对数据交付可靠性要求(可丢失个别数据包)v 需要需要“简短快捷简短快捷”的数据交换的数据交换简单的请求与应答报文交互v 需要多播和广播的应用需要多播和广播

7、的应用源主机以恒定速率发送报文,拥塞发生时允许丢弃部分报文3.4 TCP : Transmission Control Protocol,传输控制协议传输控制协议目标:目标:提供可靠的流传输服务问题:问题: 不可靠的无连接分组交付的问题(IP/网络层提供的服务)包错误、丢失、无序、重复、延迟缺乏拥塞控制TCP的解读:的解读:静态结构:静态结构:报文结构动态行为:动态行为:连接的建立与释放机制;确认重传机制;流量控制机制;拥塞控制机制性能优化:性能优化:自适应重传算法(Karn)、拥塞避免的路由器随机早期丢弃算法(RED)、避免糊涂窗口综合征的Nagle和Clark算法等3.4.1 TCP协议的

8、主要特点协议的主要特点v支持面向连接的传输服务(虚电路连接,打电话)v支持字节流传输(管道,按序)v支持全双工服务(双向,捎带确认,火星通讯)v支持建立多个并发的TCP连接(服务器同时响应多个连接)v支持可靠传输服务(确认机制,拥塞控制)3.4.1 TCP协议的主要特点协议的主要特点3.4.2 TCP报文格式报文格式3.4.2 TCP报文格式报文格式标志标志说说 明明SYN当SYNl,而ACK0时,表明这是一个建立连接请求报文,若对方同意建立该连接,则应在发回的报文中将SYN和ACK标志位同时置1。实质上,就是用SYN来代表Connection Request和Connection Accep

9、ted,用ACK位来区分这两种情况。ACK确认号字段的值有效。只有当ACKl时,确认序号字段才有意义。当ACK0时,确认序号没有意义。FIN终止连接。当FIN1时,表明数据已经发送完毕,并请求释放连接。RST连接必须复位。当RSTl时,表明出现严重差错,必须释放连接,然后重新建立连接。URG此报文是紧急数据,应尽快传送出去。此标志位要与紧急指针字段配合使用,由紧急指针指出在本报文段中的紧急数据的最后一个字节的编号。PSH将数据推向前。当PSHl时,请求接收方TCP软件将该报文立即推送给应用程序。3.4.3 TCP连接建立连接建立、释放释放1)(经历3次握手)2)报文传输(双向传输)3)连接释放

10、(经历4次握手)连接建立/释放过程3.4.3 TCP连接建立连接建立、释放释放保持定时器保持定时器、时间等待定时器时间等待定时器TCP的的4个定时器:个定时器:重传定时器、坚持定时器、保持定时器、时间等待定时器v 保持定时器保持定时器(激活定时器激活定时器)用来防止TCP连接长时间处于空闲状态v 时间等待定时器时间等待定时器连接终止期间使用,TCP关闭连接,并不马上真正关闭,在时间等待期间,连接处于一种过渡状态3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制TCP设计思想设计思想v 应用进程将数据以字节流发送,无需考虑发送数据字节长度,由TCP负责将字节流分段打包v 依靠TCP连

11、接传送字节流,按序的,无差错、不丢失、不重复v 提供差错控制功能,保证正确接收字节流(通过差错检测、确认、重传实现)滑动窗口概念滑动窗口概念字节为单位控制字节流的发送、接收、确认、重传过程3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制理解理解滑动窗口滑动窗口,注意几个问题,注意几个问题v 2个缓存、2个窗口(控制字节流传输过程)发送方缓存:用于存储准备发送的数据发送窗口:窗口值不为0,可以发送报文段接收方缓存:将正确接收的字节流写入缓存,等待接收读取接收窗口:窗口值=接收缓存可以接收的字节流v 字节流分段,按段(序号)传输,捎带确认(确认号)v 通过滑动窗口跟踪、记录发送状态,

12、实现差错控制3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制 选择重发策略选择重发策略v 回退方式假设丢失了第2个报文段,不管之后的报文段是否已正确接收,从第2个报文段的第1个字节序号151开始,重发所有的4个报文段。显然,效率低下。v 择重发方式接收方收到不连续的字节时,如果这些字节的序号都在接收窗口之内,则首先接收缓存这些字节,并将丢失的字节流序号通知发送方,发送方只需重发丢失的报文段,而不需要重发已经接收的报文段。3.4.4 TCP滑动窗口与确认重传机

13、制滑动窗口与确认重传机制 选择重发策略选择重发策略3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制重传定时器重传定时器 处理报文确认与等待重传的时间。发送一个报文,将其副本放入重传队列3.4.5 TCP窗口与窗口与 流量控制、拥塞控制流量控制、拥塞控制1TCP窗口与流量控制窗口与流量控制 由发送方控制发送速率,使之不超过接收速率,防止接收方来不及接收字节流,而出现报文丢失现象。流量控制过程流量控制过程v 接收方从缓存中读取速度大于等于字节到达速度,接收方在每个确认中发出一个非零窗口通告。v 如果发送方发送速度比接收方读取速度快,将造成缓冲区被全部占用,之后到达的字节因缓冲区溢出而

14、丢弃。此时,接收方必须发出一个“零窗口”的通告。告知当发送方停止发送(直到接收“非零窗口”通告为止)。v 接收方需要接收能力给出一个合适的接收窗口,并将它写入TCP报头中,通知发送方。3.4.5 TCP窗口与窗口与 流量控制、拥塞控制流量控制、拥塞控制1TCP窗口与流量控制窗口与流量控制坚持定时器坚持定时器接收方发出了“零窗口”通告之后,发送方停止发送,直到接收方再发出“非零窗口”通告为止。问题:问题:如果“非零窗口”通告丢失,发送方将无休止地等待接收方通知,才能继续发送报文段,造成死锁。解决:解决:设置“坚持定时器”发送方收到“零窗口”通告为零的确认时,启动“坚持定时器”。坚持定时器时间到时

15、,发送方发生探测报文(提示接收方,确认已丢失,必须重传)。3.4.5 TCP窗口与窗口与 流量控制、拥塞控制流量控制、拥塞控制传输效率问题传输效率问题必须解决好“什么时候”发送,要发送“多长”报文段受应用进程产生数据速度、接收方要求发送速度的影响(很复杂问题) 提高传输效率提高传输效率Nagle算法算法v 当数据以每次1B的方式进入发送方时,第1次发送方只发送1B,其他的字节存入缓冲区。v 当第1个报文段被确认,再把缓冲区中数据放入第2个报文段中发送,这样一边发送/等待确认,一边缓存待发送数据(可有效提高传输效率)。v 当缓存的数据字节数达到发送窗口的1/2(接近MSS),立即将它们作为一个报

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

17、、拥塞控制流量控制、拥塞控制2TCP窗口与拥塞控制窗口与拥塞控制v 实现拥塞控制最基本手段:TCP滑动窗口技术。v 发送数据,既要考虑接收能力,又要避免网络发生拥塞v 发送窗口计算发送窗口 = Min(通知窗口,拥塞窗口 )v 通知窗口通知窗口rwnd:接收方允许接收的能力,来自接收方流量控制(将“通知窗口”值放在TCP报头中,传送给发送端)。v 拥塞窗口拥塞窗口cwnd:发送方根据网络拥塞情况得出的窗口值,来自发送方的流量控制。v 未发生拥塞情况下,接收方“通知窗口”和“拥塞窗口”是一致的3.4.5 TCP窗口与窗口与 流量控制、拥塞控制流量控制、拥塞控制2TCP窗口与拥塞控制窗口与拥塞控制v 拥塞窗口cwnd:发送方根据网络拥塞情况动态调整。网络没有出现拥塞,逐渐增大拥塞窗口;出现拥塞时,拥塞窗口立即减少。v 拥塞控制方法:慢开始、拥塞避免、快重传、快恢复慢开始慢开始方法思想方法思想v 开始发送数据时,用试探方法,由小到大逐步增大cwnd值v 以二进制指数方式慢速增长(2n)3.4.5 TCP窗口与窗口与 流量控制、拥塞控制流量控制、拥塞控制慢开始阈值慢开始阈值SST:为避免拥塞窗口增长过快引起网络拥塞 当cwndSST时,停止使用慢开始算法,使用拥塞避免算法。 当cwnd=SST时,既可以使用慢开始算法,也可使用拥塞避免算法。v 慢开始阶段,若出现超时,发

温馨提示

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

评论

0/150

提交评论