第五章传输层协议-PPT精品

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 若其已不想建立这个连接,则可以发送一 个将RST置为“1”的应答数据连接的关 闭过程是一个四 次握手的过程。
图5-9 四次握手拆除TCP 连接
• 当主机1 的数据 已发送完毕时, 其在等待确认 的同时可发送 一个将控制字 段FIN 置“1”的 数据段给主机2, 表示请求中断 主机1到主机2 的连接。
当请求建立连接的SYN数据段发出时, 连接建立定时器就开始计时,如果在75秒 内未收到响应,则连接建立失败。
三、ACK延时定时器(Delayed ACK Timer)
当TCP实体收到数据时它必须返回确认, 但并不需要立即回复,它可以在200亳秒内 发送ACK报文,如果在这段时间内它恰好 有数据要发送,它就可以在数据内包含确 认信息,因此需要ACK延时定时器。
• 校验和:用于对数据段头和数据进行校验, 以判断接收的数据是否有错。
• 紧急指针:给出从当前段序号到紧急数据 位置的偏移量。
• 任选项:提供一种增加额外设置的方法, 如最大TCP 分段的大小的约定。
• 填充:当任选项字段长度不足32 位字长时, 需要加以填充。
• 数据:来自高层即应用层的协议数据。
四、持续定时器(Persistence Timer)
防止死锁事情发生,发送方在收到接收 方发来一个窗口为0的数据时,就启动持续 定时器,等到该定时器超时还没有收到对 方修改窗口大小的数据段时,发送方就发 一个探测数据,对接收方对该探测数据的 响应应包含了窗口大小,若仍为0,则定时 器清0,重复以上步骤,否则则可以发送数 据。
• 5. 伪首部:
– 该字段只用于计算校验和,不会在UDP数据报 中发送。它由源IP地址、目的IP地址、UDP协 议号(17)和UDP长度组成。
二、UDP数据报最大长度
由UDP数据报格式可知,UDP数据报没有标 识数据分段的字段,因而接收端无从知道所接收 的数据报是否发生混序,是否是重复发送的数据 报。为了避免这种情况发生,UDP协议常用于一 次性传输数据量较小的网络应用,这样UDP实体 就不用对数据进行分段,而这种数据传送方式就 是前面讨论的报文交换方式。
• 但是,此时在相反方向 上,主机2 仍然可以向 主机1 发送数据,直到 主机2 数据发送完毕并
要求关闭连接。这个方
向上连接的拆除同样要 经过(1)、(2)两步, 由主机2发起FIN段,主 机1应答确认ACK,拆 除另一方向的TCP连接。
图5-9 四次握手拆除TCP 连接
5.2.3.确认和超时重传
5.2.4.TCP定时器
TCP设置多个定时器帮助其完成所承担的 服务。
一、重传定时器(Connection Establishment Timer)
重发定时器是TCP发送数据时设置的, 如果在定时器超时前该数据段被确认,就 关闭该定时器,否则,一旦超时则重发该 数据段。
二、连接建立定时器(Connection Establishment Timer)
5.2.6.TCP的拥塞控制
为了解决因网络传输能力导致拥塞的问 题,TCP对流量控制方法进行了改进,增 加了一个拥塞窗口。这样发送方TCP就有 两个窗口:一是接收方通告窗口,反映的 是接收方的数据接收能力;一是拥塞窗口, 反映的是网络的传输能力。而发送方可以 发送的字节数,即发送窗口的大小取这两 个窗口的最小值。
• 1023 以上端口未做限定,即作为自由端口,以本 地方式进行分配。
5.2. TCP协议
5.2.1.TCP协议概述 TCP,即传输控制协议,它提供面向连接
的、可靠的(没有数据重复或丢失)、全双工 的数据流传输服务。
• TCP的协议数据单元被称为段(Segment)
• 数据段分为两部分,即段头和数据
control protocol,简称TCP)和用户数据报协议 (user datagram protocol,简称UDP)
TCP协议是一个可靠的面向连接的传输层协议。 UDP协议将可靠性问题交给应用程序解决
指标 TCP UDP
是否 面向 无连 连连接 接接
传输 可靠 不可




速度 较慢 较快
• 从0 到255 被规定作为公共应用服务的端口,如 WWW、FTP、DNS 和电子邮件服务等,又被称 为著名端口 (Well-known ports)。这些端口所对应 的服务是固定、公开的,因此可以通过访问这些 端口来访问对应的服务。
• 从256 到1023 的端口,被保留用作商业性的应用 开发,如一些网络设备厂商专用协议的通信端口 等。
5.1.2.端口和套接字
一台主机中同时会有多个应用进程进行 通信,传输层必须将它们区分开来。因此网 络通信的最终地址应不仅包括主机地址,还 要包括可描述网络进程的某种标识。
这种标识称作传输层服务访问点,
即端口。
TCP/IP 定义一个16Bit长度的整数作为 端口标识,也就是说可定义2e16个端口, 其端口号从 0到 2e16-1。
图5-9 四次握手拆除TCP 连接
• 若主机2 已正确接 收主机1 的所有分 段,则会发送一个
数据段正确接收的
确认段,同时通知
本地相应的应用程
序,对方要求关闭
连接,接着再发送 一个对主机1 所发 送的FIN段进行确 认的应答段。由此
便拆除了一个方向 的TCP连接。
图5-9 四次握手拆除TCP 连接
用? 6. TCP如何进行流控,那一方主导流控。
– ①SYN=0表示数据段第一个数据字节的序号, 即该数据段在发送方的数据流中的位置;
– ②SYN=1表示建立本次连接的初始序号。
• 确认序号(ACK):下一个期望接收的 TCP 数据段号,顺序号和确认号共同用于 TCP 服务中的确认、差错控制。
• 头长:TCP头长,以32 位字长为单位。实 际上相当于给出数据在数据段中的开始位 置。
• 资源子网中的端用户依靠在自己主机上所 增加的这个传输层来检测分组的丢失或数 据的残缺并采取相应的补救措施。
二、传输层功能
• 在网络层所提供的源到目标的分组传输服 务的基础上,向上层提供可靠的源主机到 目标主机的数据传输。
• 当上层的协议数据包的长度超过网络互联 层所能承载的最大数据传输单元时,提供 分段和合并分段的功能。
• 主机2 收到该分段, 若同意建立连接,则
发送一个连接接受的
应答数据段,其中控 制字段的SYN 和ACK 均被置“1”,指示对 第一个SYN 报文段的 确认,以继续握手操 作;否则,主机2 要 发送一个将RST置为 “1”的应答数据段, 表示拒绝建立连接。
• 主机1 收到主机 2 发来的同意建 立连接数据段后, 还有再次进行选 择的机会,若其 确认要建立这个 连接,则向主机 2 发送确认数据 段,用来通知主 机2 双方已完成 建立连接;
• 目的端口字段:
– 该字段是16 位长度的接收端UDP协议端口号。
• 长度字段:
– 该字段标记该数据报的长度,以8位长的字节为长度单 位,包括报头和用户数据。
• 校验和字段:
– 该字段是可选择的,如该字段值为0 则表明不 进行校验。一般说来,使用校验和字段是必要 的。检查和的计算除了包括报头和用户数据外, 还要加上12字节的伪首部。
5.2.5.流量控制与滑动窗口机制
• TCP实体在端设备中为每个连接开设两个 缓冲区,
– 一个是接收缓冲区,用来接收对方发送来的数 据。
– 第二个是发送缓冲区,TCP实体从应用进程接 收数据,存贮在发送缓冲区。
为了防止由于发送端与接收端之间的不 匹配而引起数据丢失,TCP采用滑动窗口 进行流量控制。
• 提供多路复用机制,由于同时存在多个高 层应用,因此要求传输层能够同时为多个 高层应用服务,将多个高层应用复用到一 个网络层连接上。传输层是通过端口来实 现这一功能的。
三、端到端的传输
• 传输层就是为上三层提供端到端的传输服 务
声音信号 电信号
点到点
端到端 点到点
声音信号 电信号
点到点
四、TCP/IP 的传输层 两个主要的协议即传输控制协议(transport
第五章 传输层协议
• 重点
– 端口 – TCP连接的建立和拆除的握手机制 – 计时器 – 流量控制 – 拥塞控制
5.1.传输层
5.1.1. 传输层概述 一、传输层的作用 • 弥补网络层所提供的服务质量的不足,以
便为高层提供可靠的端到端通信。
计算机网络在逻辑上分为资源子网和通信 子网
• 资源子网中的设备才有传输层,通信子 网中的设备一般只具备OSI下面三层的功 能。
• 预留:未用的6 位,为将来的应用而保留, 目前置为“0”。
• 控制字段(CTL):共6个控制字段,每个 占一位bit。TCP 数据段有多种应用,如建 立或关闭连接、传输数据、携带确认等, 这些控制字段用于给出与数据段的作用及 处理相关的控制信息。字段位值=1时有效。
• 窗口:窗口的大小表示本方可以接收的数 据量,以八位字长为计量单位。TCP使用 可变大小的滑动窗口来进行流量控制。
– 段头一般长20字节(如有选项部分另加),是 TCP 为了实现端到端可靠传输所加上的控制信 息。
– 而数据则是指由高层即应用层来的数据。数据 段的大小必须首先满足65535字节的IP包数据 长度限制。
• 源端口:主叫方的TCP 端口号。 • 目标端口:被叫方的TCP 端口号。 • 发送序号(SEQ):
5.2.2.TCP的连接管理
TCP实现的是面向连接的数据传输服务, 即是一种虚电路的数据交换方式,在数据 传输以前需要在源主机和目标主机之间创 建相应的虚电路连接。
一、连接的建立
TCP 使用 三次握手协议 来建立连接。
• 主机1 首先发 起TCP 连接 请求,并在所 发送的数据段 中将控制字段 中的SYN置为 “1”、ACK置 为“0”。
5.3. UDP协议
5.3.1. UDP协议 与TCP 相反,TCP/IP 传输层的另一大
协议UDP提供的是不可靠的面向无连接的 数据传输服务。
一、UDP数据报格式
图5-13 UDP数据报格式
• 源端口字段:
– 该字段是16 位长度的发送端UDP协议端口号。在UDP 协议中也采用与TCP 中类似的端口概念来标识同一主 机上的不同网络进程,并且两者在分配方式上也是类 似的。应用程序使用UDP协议而不直接采用原始IP协 议发送数据,最主要的原因就UDP协议提供了标识进 程的端口号。
五、保活定时器(The Keepalive Timer )
当一个连接长时间闲置会造成保持存活 定时器会超时,这时就会发送一个空数据 段检测另一方是否仍然存在(即连接是否 依然激活),如果它未得到响应,便终止 该连接 。
六、闲置定时器(The Quiet Timer)
当TCP连接断开后,为防止该连接上的 数据还在网络上,并被后续打开的具有相 同五元组的连接接收,要设置闲置定时器 以防止刚刚断开连接的端口号被立即重新 使用。
许多UDP应用程序的设计中,其应用程序数 据被限制成512字节或更小。
习题
1. 试述传输层协议的三个功能。 2. 如果报文中是请求报文,如何使用端口号?试举
出三个已知TCP服务的端口号。 3. TCP协议利用什么功能保证可靠的连接? 4. 绘图说明TCP连接建立的规程。 5. TCP如何防止拥塞现象发生?由哪一方起主导作
相关文档
最新文档