当前位置:文档之家› 传输层协议

传输层协议


4 第 端到端通信概述 6 章 • 在TCP/IP的网络层中,通过引入IP地址和IP数 据报,屏蔽了不同通信网络之间的差异,有效地 传 解决了信源机到信宿机之间的数据传输,即实现 输 了点到点的通信。 层 协 • 人们需求的数据传输不仅是信源机到信宿机之间 议 点到点通信,而往往是两个不同应用进程之间的 数据传输。在TCP/IP的传输层中,引入了端口 的概念,每个端口都有一个端口号,利用不同的 端口号来标识不同的应用进程,从而能够把数据 分送给不用的应用进程,实现了应用进程之间的 通信。
8 第 传输控制协议 6 章 • 传输控制协议(Transmission Control Protocol,TCP)提供一种面向连接的、可靠的 传 数据传输服务,保证了端到端数据传输的可靠性。 输 层 协 议
9 第 传输控制协议 6 章 • 主要特点 向应用进程提供面向连接的服务,两个需要通过TCP 传 进行数据传输的应用进程之间首先必须建立一个TCP 输 连接,并且在数据传输完成后要释放连接。一般将请 层 求连接的应用进程称为客户机进程,而响应连接请求 协 的应用进程称为服务器进程,即TCP连接的建立采用 议 的是一种客户机/服务器工作模型。
22 第 传输控制协议 6 章 • TCP流量控制 Clark算法:主要针对接收方接收处理数据较慢,而 传 造成频繁发送确认报文的情况。即只要接收方的接收 输 缓冲区已满,则每次接收到TCP报文后返回窗口值为 层 0的确认报文,以停止发送方的数据发送,直到接收 协 缓冲区的空闲区域已经能容纳最大长度的报文段或有 议
19
20 第 传输控制协议 6 章 • TCP流量控制 当发送应用进程产生数据很慢,或者接收应用进程接 传 收处理数据很慢时,或者两种情况都存在时,在滑动 输 窗口的操作中有可能出现发送方每次只发送包含一个 层 字节(或较小字节数)的报文段,同时接收方每次也 协 仅对接收到的包含一个字节(或较小字节数)的报文 议
第 端到端通信概述 6 章 传 输 层 协 议
5
6 第 端到端通信概述 6 章 • 端口是一种抽象的软件结构,它既是通信进程的标识, 也是进程访问传输服务的入口点。每个端口都有一个 传 16bit的端口号,其分配方式有两种 输 统一分配:采用集中控制方式由权威机构IANA分给特定应用程 层 序端口号并公开发布出来,所有协议软件都遵守这种分配,因此 协 又称为熟知端口。其分配的范围为0~1 023。其缺点是不能适 用大量且变化迅速的端口使用环境。 议 本地分配:根据应用软件的需要动态分配端口号。如当某个应用 进程需要与远程的某个已知端口服务器进行通信时,向本地操作 系统动态提出申请,操作系统返回一个本地唯一的端口号。所申 请的端口号又称为临时端口号。当通信完成后,该端口号就释放 掉。这种分配方式的特点是灵活方便,而缺点是其他主机难于得 知其端口号。大多数TCP/IP应用中,临时端口号的分配范围为 1 024~5 000,大于5 000的端口号一般为其他服务预留。
26 第 传输控制协议 6 章 • TCP拥塞控制 拥塞避免算法 传 为了避免拥塞窗口过快增长,尽量避免拥塞现象的 输 出现。当拥塞窗口大小达到一个门限值时,便采取 层 拥塞避免算法来改变拥塞窗口的大小,其方法是每 协 收到一个确认报文,拥塞窗口大小增加一个MSS, 议
即使该确认报文是针对多个报文段的,拥塞窗口也 只增加一个MSS。这样,拥塞窗口大小的增长就 变成了线性增长,增长速度减缓了。当然,由于拥 塞窗口依然在增长,最终仍然可能导致拥塞。
一半以上的接收缓空间已经空闲,再发送一个窗口值 不为0的确认窗口,以重新更新发送方的滑动窗口大 小,使发送方可以继续发送报文段。
23 第 传输控制协议 6 章 • TCP流量控制 延迟确认算法:当接收方收到报文段后,并不马上回 传 复确认报文,而是等接收缓冲区已经有一定数量的空 输 闲空间后,再回送确认报文段。这样便可减慢发送方 层 滑动窗口的滑动速度,进而降低数据的发送速度。同 协 时也减少了确认报文的数量,进而减少了通信量。但 议
16Biblioteka 第 传输控制协议 6 章 • TCP连接管理 释放连接 传 输 层 协 议
17
18 第 传输控制协议 6 章 • TCP流量控制 通过流量控制来定义发送方在收到接收方的确认报文 传 之前可以发送的数据量。滑动窗口是TCP实现流量控 输 制的关键技术。 层 协 议
第 传输控制协议 6 章 • TCP流量控制 利用可变窗口大小进行流量控制 传 输 层 协 议
序列号,也就是期望接收对方的下一个报文段首部的 序列号字段的值。同时,确认号也表明在确认号之前 的所有数据接收方都已经收到。 首部长度字段占4位,用来标识TCP报文段首部的长 度共有多少个32位字块构成,因此首部的长度一定是 32位的整数倍。
12 第 传输控制协议 6 章 • TCP报文段结构与封装 保留字段目前未用,供将来使用。其后面的6位是控 传 制字段,用于TCP的流量控制、连接的建立和终止以 输 及表示数据的传送方式等。各位的具体含义如下: 层 URG:当该位为1时,表明紧急指针有效,否则无 协 效。 议
段进行确认。这样势必大大降低网络带宽的使用效率, 此时通常也称为出现了傻瓜窗口综合症。为此,在 TCP中主要引入了3种策略予以改进。
21 第 传输控制协议 6 章 • TCP流量控制 Nagle算法:主要针对发送方产生数据比较慢,而造 传 成发送报文段包含数据量比较小的情况,其主要思想 输 是强迫发送方等待,让它收集发送数据,以便发送大 层 块数据,即通过降低发送次数来加大每次发送的数据 协 量。 议
否正确地传递到了信宿机,在计算校验和时引入了伪 首部的概念,其包括信源机IP地址和信宿机IP地址。
14 第 传输控制协议 6 章 • TCP报文段结构与封装 紧急指针字段的值是一个相对于当前序列号的字节偏 传 移值。把这个值和TCP首部中的序列号值相加就得到 输 报文段数据部分中最后一个紧急字节的序列号,即该 层 序列号之前的数据都是紧急数据。 协 通过选项使TCP可以提供一些额外的功能。每个选项 议
ACK:当该位为1时,表明确认序号有效,即该报 文段是一个确认报文段,否则无效。 PSH:其值为1时表示接收方应尽快将这个报文段 交给应用层处理。 RST:重建连接标志。 SYN:同步序号标志,其值为1时用来发起一个连 接。 FIN:其值为1时表示发送端完成发送任务。
13 第 传输控制协议 6 章 • TCP报文段结构与封装 窗口大小用来配合TCP中的流量控制算法实现流量控 传 制,该字段的值用来定义通信对方必须维持的以字节 输 为单位的窗口值,以实现对对方发送数据量的控制。 层 校验和字段用来校验整个TCP报文段的所有数据的正 协 确性,包括TCP首部和数据。为了校验TCP数据报是 议
是延迟确认的延迟时间过长有可能迫使发送方重传没 有确认的报文,因此延迟确认的时间不能太长,一般 不能超过500ms。
24 第 传输控制协议 6 章 • TCP拥塞控制 中间路由器或物理链路的超载势必也会引起数据传输 传 的严重延时,即网络拥塞。如何处理? 输 在TCP中引入了慢启动和拥塞避免两种策略机制来实 层 现对拥塞窗口大小的控制,进而来避免和消除网络拥 协 塞。 议
29 第 用户数据报协议 6 章 • 用户数据报协议(User Datagram Protocol, UDP)是传输层的两个主要协议之一,相对TCP 传 来说,UDP是一种非常简单的协议,在网络层 输 的基础上实现了应用进程之间端到端的通信。 层 协 • UDP提供的是一种无连接的、不可靠的数据传 议 输方式,在数据传输过程中没有流量控制和确认 机制,数据报可能会丢失、延迟、乱序到达信宿。 UDP只是提供了利用校验和检查数据完整性的 简单差错控制,属于一种尽力而为的数据传输方 式。
27 第 传输控制协议 6 章 • TCP拥塞控制 重传定时器 传 由于上述两种策略都将使拥塞窗口变得很大,进而 输 造成网络拥塞的发生。为此,TCP/IP中引入了重 层 传定时器。当由于网络拥塞使重传定时器超时的时 协 候,发送方则进入拥塞解决阶段。发送方在进行 议
TCP报文段重传的同时,将拥塞窗口的门限值调整 为拥塞窗口的一半,并将拥塞窗口恢复成一个 MSS,然后进入新一轮的调整。
由选项类型、选项总长度和选项值组成。
15 第 传输控制协议 6 章 • TCP报文段结构与封装 在实现传输时,TCP报文段被封装在IP数据报中,整 传 个TCP报文段作为IP数据报的数据被封装在IP数据报 输 中。 层 协 议
第 传输控制协议 6 章 • TCP连接管理 建立连接 传 输 层 协 议
提供全双工数据传输服务,只要建立了TCP连接,就 能在两个应用进程间进行双向的数据传输服务,但是 这种传输只是端到端的传输,不支持广播和多播。 提供面向字节流的服务,即TCP的数据传输是面向字 节流的,两个建立了TCP连接的应用进程之间交换的 是字节流。发送进程以字节流形式发送数据,接收进 程也把数据作为字节流来接收。端到端之间不保留数 据记录的边界,也就是说在传输的层面上不存在数据 记录的概念。
25 第 传输控制协议 6 章 • TCP拥塞控制 慢启动算法 传 在建立连接时,发送方将拥塞窗口大小初始化为一 输 个最大报文段的大小MSS,然后每收到一个接收 层 方的对新报文段确认报文,拥塞窗口的大小就增加 协 一个MSS,即对每一个发送方所发送的新报文段 议
的确认都将使拥塞窗口的大小增加一个MSS。这 样,接收方的确认报文返回的越快,表明网络通信 能力越强,因此拥塞窗口大小就增长得越快。而且 拥塞窗口大小的增长实际上是一种指数型增长,如 果对其增长速度不控制,拥塞窗口很快就将变得很 大。
TCP/IP—协议分析与应用编程
1
第六章 传输层协议
第 主要内容 6 章 • 端到端通信概述 传 • 传输控制协议 输 • 用户数据报协议 层 协 议
2
3 第 学习目标 6 章 • 理解端到端通信的概念。 传 • 了解UDP报文传输服务的特点、报文形式和封 装形式。 输 层 • 了解TCP格式的主要字段及其含义和功能。 协 议 • 掌握TCP连接的建立与关闭过程,滑动窗口机制 的工作原理和拥塞控制机制。 • 掌握TCP中超时重发原理和差错控制机制。
相关主题