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

下载本文档

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

文档简介

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

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

3、熟知端口号表5-2 TCP常用的熟知端口号 端口号服务进程说 明端口号服务进程说 明 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协议与应用层协议协议与应用层协议的关系的

6、关系 3.3 用户数据报协议用户数据报协议UDP 3.3.1 UDP协议的主要特点协议的主要特点 无连接、不可靠的传输协议(开销低、尽力而为)。 面向报文的传输层协议(保留原报文) 3.3.2 UDP数据报格式数据报格式 3.3.3 UDP校验和计算校验和计算 校验和计算:校验和计算:伪报头+UDP数据报 v 伪报头伪报头 验证UDP数据报是否正确传送到目的进程 v 伪报头伪报头结构结构 3.3.3 UDP校验和计算校验和计算 校验和计算方法校验和计算方法 3.3.4 UDP协议适用的范围协议适用的范围 v 对性能的要求高于对数据完整性的要求对性能的要求高于对数据完整性的要求 视频播放实时交付

7、的要求高于对数据交付可靠性要求(可丢失个别数据 包) v 需要需要“简短快捷简短快捷”的数据交换的数据交换 简单的请求与应答报文交互 v 需要多播和广播的应用需要多播和广播的应用 源主机以恒定速率发送报文,拥塞发生时允许丢弃部分报文 3.4 传输控制协议传输控制协议TCP 3.4.1 TCP协议的主要特点协议的主要特点 v 支持面向连接的传输服务(打电话) v 支持字节流传输(管道,按序) v 支持全双工服务(双向,捎带确认) v 支持建立多个并发的TCP连接(服务器同时响应多个连接) v 支持可靠传输服务(确认机制,拥塞控制) 3.4.1 TCP协议的主要特点协议的主要特点 3.4.2 TC

8、P报文格式报文格式 3.4.2 TCP报文格式报文格式 标志标志说说 明明 SYN 当SYNl,而ACK0时,表明这是一个建立连接请求报文,若对方同 意建立该连接,则应在发回的报文中将SYN和ACK标志位同时置1。实 质上,就是用SYN来代表Connection Request和Connection Accepted,用 ACK位来区分这两种情况。 ACK 确认号字段的值有效。只有当ACKl时,确认序号字段才有意义。当 ACK0时,确认序号没有意义。 FIN终止连接。当FIN1时,表明数据已经发送完毕,并请求释放连接。 RST 连接必须复位。当RSTl时,表明出现严重差错,必须释放连接,然后

9、重新建立连接。 URG 此报文是紧急数据,应尽快传送出去。此标志位要与紧急指针字段配合 使用,由紧急指针指出在本报文段中的紧急数据的最后一个字节的编号。 PSH 将数据推向前。当PSHl时,请求接收方TCP软件将该报文立即推送给 应用程序。 3.4.3 TCP连接建立连接建立、释放释放 1)(经历3次握手) 2)报文传输(双向传输) 3)连接释放(经历4次握手) 连接建立/释放过程 3.4.3 TCP连接建立连接建立、释放释放 保持定时器保持定时器、时间等待定时器时间等待定时器 TCP的的4个定时器:个定时器: 重传定时器、坚持定时器、保持定时器、时间等待定时器 v 保持定时器保持定时器(激活

10、定时器激活定时器) 用来防止TCP连接长时间处于空闲状态 v 时间等待定时器时间等待定时器 连接终止期间使用,TCP关闭连接,并不马上真正关闭,在时间等待期间 ,连接处于一种过渡状态 3.4.4 TCP滑动窗口与确认重传机制滑动窗口与确认重传机制 TCP设计思想设计思想 v 应用进程将数据以字节流发送,无需考虑发送数据字节长度,由TCP 负责将字节流分段打包 v 依靠TCP连接传送字节流,按序的,无差错、不丢失、不重复 v 提供差错控制功能,保证正确接收字节流(通过差错检测、确认、重 传实现) 滑动窗口概念滑动窗口概念 字节为单位控制字节流的发送、接收、确认、重传过程 3.4.4 TCP滑动窗

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

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

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

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

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

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

17、控制最基本手段: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 慢开始阶段,若出现超时,发送方将SST值设置为cwnd/2

温馨提示

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

评论

0/150

提交评论