第4章 运输层
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UDP的差错检测 UDP的差错检测
• • UDP提供了首部校验和字段来检测UDP数据报在传输过程中 的错误。一旦检测出错误,UDP会丢弃出错的UDP数据报。 UDP首部校验和的计算比较特殊,在计算校验和之前,要 在UDP报文前面添加一个伪首部。
TCP
• TCP是TCP/IP协议体系中运输层的重要协议。 • TCP为应用层提供面向连接的、可靠的数据 传递服务。 • 在提供数据可靠性的同时,TCP还为应用层 提供了全双工的数据传输服务。 • TCP还具有流量控制和拥塞控制的功能。
第四章 运输层
概述
• 网络层、运输层和应用层关系。
运输层的功能
• 运输层要为应用层提供一条逻辑通道,好 像在两个应用进程间连接了一个管道,数 据从管道的一端进去,从另外一端出来。 运输层的主要功能
− − − − 应用进程寻址 提供数据的可靠传递 流量控制 拥塞控制
•
TCP/IP的运输层 TCP/IP的运输层
TCP报文段的组成和封装 TCP报文段的组成和封装
• TCP接收应用层的数据,添加TCP首部后形成 TCP报文段。 • TCP报文段需要被下层的IP协议封装,发送 到目的地。
TCP报文段结构 TCP报文段结构
TCP连接 TCP连接
• TCP提供面向连接的传输服务。 • 利用TCP通信的两个应用进程要首先建立连接。这个 连接是软件意义上的连接,并不是一条实际的物理 线路。 • 建立连接的目的是使通信双方在开始传输数据前建 立联系,使双方都确定对方愿意与之通信;同时在 建立连接的过程中传递和协商一些必要的参数(如 发送字节的起始编号和MSS),为后面的数据传递打 下基础。 • 建立连接的过程是两端的TCP交换一些特殊的TCP报 文段来完成的。
流量控制
• 在建立连接时,TCP连接的每一端都会为这 个连接分配一定数量的缓存。当收到正确的 字节后,就会将数据放入缓存。 • 如果发送进程发送数据的速度超过接收进程 取走数据的速度,那么接收缓存就会被充满, 最后溢出。 • 需要有一种机制来控制发送方发送数据的速 度,保证接收缓存不溢出,这种机制称为流 量控制。
应用 应用层协议 运输层协议 域名解析 DNS UDP
网络管理
SNMP
UDP
路由信息交换
RIP
UDP
简单文件传输
TFTP
UDP
网络文件系统
NFS
UDP
IP电话
专有协议
UDP
流式多媒体
专有协议
UDP
UDP数据报格式 UDP数据报格式
• UDP数据报由UDP首部和其封装的应用层数据 组成,是UDP协议的传输单元。
ห้องสมุดไป่ตู้
确认和重传机制
数据出错的四种情况和处理
• (1)TCP报文段丢失 。发送方定时器超时, 重传。 • (2) TCP报文段里的数据出错。接收方丢弃 出错报文段,不发送确认。发送方定时器超 时,重传。 • (3)TCP报文段的重复。接收方直接丢弃重复 报文段,同时发送确认。 • (4) TCP报文段的乱序。TCP通常会选择缓存 这些乱序的报文,将其排序再上传给应用进 程。
UDP特点 UDP特点
• UDP不提供可靠的数据服务 ,数据可能会丢 失、乱序和重复。 • UDP采用无连接的工作方式 , UDP比较简单, 应用层的数据能够被迅速、及时地发送出 去 。 • UDP的效率比较高,适合于对实时性要求高, 但能够容忍部分数据丢失的应用,如视频会 议,音频数据传输等。
使用UDP的应用层协议 使用UDP的应用层协议 UDP
使用TCP传输数据的过程 使用TCP传输数据的过程 TCP
• 1.建立连接。 • 2.传输应用层数据。 • 3.关闭连接。
TCP建立连接过程 TCP建立连接过程
• TCP建立连接的过程称为“三次握 手”(three-way handshanke)
数据的可靠性传输
• IP协议不能提供可靠的数据传输服务 ,IP 报文可能会丢失、重复或者乱序。 • TCP报文段也会遇到同样的问题。 • TCP主要使用确认、重传机制实现数据的可 靠性传输。
流量控制
• TCP利用首部中的窗口字段将自己接收缓存 大小通知对方,从而保证数据不会溢出。
流量控制
确认和重传机制
• 每一方的TCP都要为所传输的数据编号,编 号以字节为单位。 • 如果收到了编号正确的数据,那么就要给对 方发送确认。 • 确认也可能在中途丢失,从而造成对方无法 收到确认的情况。在发出一个TCP报文段后, 就启动一个定时器,如果定时器时间到了但 确认还没有来,那么就重传一次这个报文。
• 在TCP/IP协议体系中,运输层有两个协议:
− 传输控制协议(Transfer Control Protocol,TCP) − 用户数据报协议(User Datagram Protocol, UDP)
TCP/IP的运输层 TCP/IP的运输层
• UDP只提供应用进程寻址和简单的差错检测 功能,它不能向应用层保证数据传输的可靠 性 。 • TCP除了应用进程寻址的功能外,还能为应 用层提供可靠的数据传输服务,并具有流量 控制和拥塞控制的能力。
端口机制——应用进程寻址 应用进程寻址 端口机制
• 运输层是为应用层服务的,多个应用层协议 可能会使用同一个运输层协议。 • 运输层如何将收到的数据交给正确的应用层 进程? • TCP/IP提供了端口机制来解决这个问题。
UDP
• 用户数据报协议(UDP)是TCP/IP协议体系 中运输层协议之一,在RFC 768中定义。 • UDP为应用层提供了无连接的数据传输服务, 利用端口机制为应用程序提供多路复用和多 路分解,并支持简单的差错检测 。 • UDP不能向应用层提供可靠的数据传输,也 没有流量控制和拥塞控制的功能。
UDP数据报格式 UDP数据报格式
• 源端口是指发送方应用进程对应的端口号。 • 目的端口是指接收方应用进程对应的端口号。 • 长度字段的值给出了UDP数据报(包括首部 和数据)的字节数。 • 校验和用来检测UDP报文在传输中的错误。 • UDP报文的校验是可选的,如果校验和的值 为0,则表示没有校验。