第6章 传输层(第3版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章主要内容 6.1 传输层提供的服务 6.2 传输层控制协议TCP 6.3 用户数据报协议
1
计算机网络基础(第三版)
第六章 传输层
6.1 传输层提供的服务
6.1.1 传输层概述
6.1.2 传输层要素 6.1.3 TCP/IP协议中的传输层 6.1.4 端口
2
2
传输层关注的是:数据包在通信双方的终端上是如何 知道将数据发送给哪个应用程序的呢
12
6.1.4 端口
单位A收发员
主机(终端系统)=A/B单位 网络层协议=邮寄服务(包括邮递员) 传输层协议=单位收发员 进程=单位员工 端口=单位员工的姓名 应用程序消息=信封里的信
应 用 程 序 1 应 用 程 序 2
单位B收发员
接收端主机
应 用 程 序 3 应 用 程 序 4 应 用 程 序 5
3 2 1
DL PH
IP
PH
路由器
发送端
接收端
5
5
计算机网络基础(第三版)
第六章 传输层
6.1.1 传输层概述
传输层所处的位置
应用层 传输层 网络层 数据链路层 物理层
用户功能
网络功能
6
6
计算机网络基础(第三版)
第六章 传输层
6.1.2 传输层要素 传输层需要完成的几个工作: 传输层寻址、连接管理、差错控制和流量控制 1.传输层寻址
服务器端启动协议服务 简单文件传输协议 微系统公司RPC 文件传输服务器(数据连接)
TCP
TCP TCP TCP
21
23 25 80
FTP Control
Telnet SMTP HTTP
文件传输服务器(控制连接)
远程终端服务器 简单邮件传输协议 超文本传输协议
24
动态分配的端口
这种端口的端口号一般都大于1024。这一类的端 口没有固定的使用者,它们可以被动态地分配给应用 程序使用。也就是说,在使用应用软件访问网络的时 候,应用软件可以向系统申请一个大于1024的端口号 临时代表这个软件与传输层交换数据,并且使用这个
熟知端口 21 23 25 53 69 80 110 161
传输层协议 TCP TCP TCP TCP/UDP UDP TCP TCP UDP
服务功能描述 文件传输服务 远程登录服务 简单邮件传输服务 域名服务 简单文件传输服务 超文本传输服务 邮局协议 简单网络管理协议
6.1.4 端口
常用的熟知端口
临时的端口与网络上的其他主机通信。
netstat命令查看端口使用情况
25
6.1.4 端口
TCP/IP协议--源/目的端口号
主机 A 主机 B
源端口
1028 23 …
目的端口
目的端口号为所进行的操作。如telnet为23。
26
6.1.4 端口 套接字(Socket)与连接
A IP=124.33.13.55
第六章 传输层
6.2 传输控制协议TCP
6.2.1 TCP的报文格式
6.2.2 TCP拥塞控制 6.2.3 显式拥塞指示 6.2.4 TCP的差错控制 6.2.5 TCP的定时机制 6.2.6 TCP数据包分析 6.2.7 TCP的传输连接管理
29
29
传输控制协议TCP
传输层在主机应用进程之间规定了端到端的连接。 传输层TCP协议包括以下几项基本的服务: • 对上层的应用数据进行分段; • 建立端到端的操作; • 把数据段从一个终端发送到另外一个终端上; • 确保数据的完整性; • 提供流量控制;
应用层 传输层 网络层 数据链路层 物理层 5 应用1 应用2 4 3 2 1 TCP/UDP IP 传输层通过接口 区分不同的服务 传输协议为进程之间提供通信 IP协议为主机之间提供通信 TCP/UDP IP DL 应用1 应用2 5 4 3 2 1 应用层 传输层 网络层 数据链路层 物理层
计算机网络基础(第三版)
每种应用层协议或应用程序都具有与传
输层唯一连接的端口,并且使用唯一的端口 号将这些端口区分开来。
21
协议端口的分配与熟知端口
● 端口分配有两种基本方式
统一分配
动态分配
中央管理机构发布分配的所有端口号的列表, 大家都遵从。也称熟知端口或保留端口。
应用程序需要使用端口时临时指定一个端口。通信 双方使用请求与应答的方式知道对方的端口号。
端口
接收缓存 报文段
H1 5 4 3 2 1 主机 H1 间接交付
网络层与传输层的关系
R1 R2 R3
3
2 1 R1 间接交付 2 1 R2 2 1
3
2 1 2 1 R3 间接交付
3
2 1
R5
R5 3 2 2 1 1
间接交付
R4 R4 3 2 2 1 1
主机 H2
5 4 3 2 1
H2
分组在互联网中的传送
9
9
计算机网络基础(第三版)
第六章 传输层
6.1.2 传输层要素
4.流量控制与缓冲机制
数据 转发 失败 网络 繁忙
网络负载过重造成转发失败
接收缓冲区溢出造成数据丢失
数据 数据 数据 拒绝 接收 „„ 数据 数据 接收缓 存已满
10
10
• TCP/IP参考模型与协议栈
11
网络层的IP协议提供的是不可靠、数据报的服务, TCP和UDP建立在该服务的基础上,应用程序调用TCP或U DP传输数据,而不是直接调用IP。 TCP是可靠的、面向连接的。TCP进行传输层寻址、 连接管理、差错控制和流量控制。 UDP是不可靠的、无连接的,即在进行数据传输之 前不需要建立连接,而目的主机收到数据报后也不需要 发回确认。这种协议提供了一种高效的传输服务,但其 可靠性由应用程序来提供。
端口的作用就是让应用层的各种应
用进程都能将其数据通过端口向下交付 给传输层(发送方),以及让传输层知 道应当将其报文段中的数据向上通过端 口交付给应用层相应的进程(接收方)。
从这个意义上讲,端口是用来标志应用层的进程的。
17
6.1.4 端口
对于一次通信可以 通过一个五元组来 标识其唯一性
客户端A ① Internet 客户端B ② ③ 客户端C 服务器B 服务器A
3
2 1
主机 A
主机 B 路由器 1 LAN1 WAN IP 协议的作用范围 传输层协议 TCP 和 UDP 的作用范围 路由器 2 LAN2
AP1 AP2
AP3
AP4
计算机网络基础(第三版)
第六章 传输层
6.1.2 传输层要素 2.连接管理 通过连接管理,传输层保证了数据近顺序、 不重复地传输。 3.差错控制 传输层一般使用确认和超时重传的机制保证 数据正确传输。
33
带有 TCP 协议的计算机 向用户提供可靠交付
TCP 协议
TCP
对有差错的 分组重发, 产生了时延
TCP
分组交换的因特网 不保证可靠交付
传输层是通信部分的最高层,又是用户 功能中的最低层。向应用层提供通信服务。
34
TCP报文段的首部
比特0 4 8 源端口 16 9 24 目的端口 31 20字节 的固定 首部
源IP地址 目的IP地址 协议 源端口号 目的端口号
18
6.1.4 端口
端 口 1
端 口 2
端 口 3
端 口 4
端 口 1
端 口 2
端 口 3
端 口 4
主机A ()()()()
主机B
()()
主机C
()()
连接1
连接2
19
连接3
连接4
端口在进程之间的通信中所起的作用
发送方 应用进程 应 用 层 传 输 层
TCP/IP的做法
混合方式:
熟知端口
一般端口
被管理机构指定的端 口,数值一般在0~ 1023之间,用于常用 的服务器应用程序。
大于1023的端口 号,用来随时分 配给请求通信的 客户程序。
保留端口
22
动态端口
常用应用程序的熟知端口号列表
应用程序 FTP TELNET SMTP DNS TFTP HTTP POP3 SNMP
协议 UDP UDP 端口号 42 53 关键字
插口或套接字(Socket)
描 述 主机名字服务器 域名服务器
NAME SERVER DOMAIN
UDP
UDP UDP UDP TCP
67
68 69 111 20
BOOTP Client
BOOTP Server TFTP RPC FTP Data
客户端启动协议服务
30
传输控制协议TCP
TCP的特点
(1)可靠的传输。 (2)面向连接。 (3)数据流式的传输。 (4)全双工。
31
传输控制协议TCP
发送端 接收端 应用进程
TCP
应用进程
TCP
端口
向发送缓存 写入数据块
从接收缓存 读取数据块
发送缓存 报文段 报文段 发送 TCP 报文段
…
…
…
发送序号 接收(确认)序号 TCP 窗口 首部 数据偏移 保留 编码位 校验和 紧急指针 任选项 填充 TCP首部
TCP数据部分 TCP数据报
IP首部
IP数据部分
35
比特0
4
8 源端口
16
9
24 目的端口
31
发送序号
TCP 首部
接收(确认)序号
数据偏移 保留
UAPRS F RCSS Y I GKHT N N
应传给哪个应用处理呢? 数据部分 IP首部
发送端发送的数据
13
应该投给谁呢
6.1.4 端口
多任务操作系统,允许多个应用程序同时执行,
每个正在运行的程序都会产生一个或更多进程。
两个主机通信实际上是主机 中的应用进程之间互相通信
两种情况
IP地址只能标识一个主机,不标识应用进 程,则IP协议只能把分组送到目的主机。 而进程可以看作一条报文的最终目的地。
15
进一步理解协议端口
● 各层都有该层协议使用的地址
网络接口层使用物理地址寻址 IP协议使用IP地址寻址 UDP和TCP协议通过协议端口寻址
• 为了能够与外部端口通信,发送方不仅要知道 目的机器的IP地址,还要知道该机器内的协议 端口号。
除目的端口号外, 还有源端口号。
16
6.1.4 端口
• 主机如何将接收的数据正确地交付到目的进程?
14
最终目的地是什么?
将具体进程名称作为最终目的地,从技术上实现较为困难。
TCP/IP 的做法
没有把进程看作通信的最终目的地。 把每台机器上的进程看作是一系列抽象的目的点, 称为协议端口(protocol port)。 协议端口由一个正整数标识。 本地的操作系统提供一个接口机制,进程通过它来 指定并接入到协议端口。
接收方
应用进程
端口 TCP 复用 TCP 报文段 UDP 复用 UDP 用户数据报 IP 复用
端口 TCP 分用 TCP 报文段 IP 分用 UDP 分用 UDP 用户数据报
网 络 层
IP 数据报
IP 数据报
6.1.4 端口
在TCP/IP传输层,定义了一个 16位长度的二进制作为端口标 识,即有216个端口(0~65535)
4
传输层使得应用层感觉通信的两个进程就如同直接 第六章 传输层 相连的一样,根本感觉不到网络传输的复杂性。 6.1.1 传输层概述 传输层屏蔽了与传输有关的细节,上层应用无须关 心传输的过程而只关心传输的内容 传输层主要是在网络层在通信两端已经建立连接的基础上实现端到端的传输
传输层所处的位置
3
传输层是TCP/IP网络体系结构中至关重要的
一层,它的主要作用就是保证端对端数据传输的可 靠性。在IP互联网中,传输控制协议(TCP,Transpo rt Control Protocol)和用户数据报协议(UDP,Us er Datagram Protocol)是传输层最重要的两种协 议,它们为上层用户提供不同级别的通信可靠性。
端口 200 端口 201
wk.baidu.com
连接1 连接2
C
IP=126.45.21.51
端口 25
B
IP=125.35.89.10
端口 200
连接3
27
6.1.4 端口
A
套接字(Socket)与连接 把端口号和主机的IP 地址结合起来使用,称为 插口或套接字(Socket)
IP=124.33.13.55
端口 200 端口 201
连接1 连接2
C
IP=126.45.21.51
端口 25
B
IP=125.35.89.10
端口 200
连接3
插口包括IP地址(32位)和端口号(16位),共48位。 如图所示的(124.33.13.55,200)和(126.45.21.51, 25)就是一对插口
通信的一对插口称作连接
28
28
计算机网络基础(第三版)
20字节 的固定 首部 窗口
目前操作系统大多为多任务系统,可同时运行多个应 用程序。网络层地址(如IP地址)只能定位某台主机,为 了进一步标明发送的数据和接收数据的进程,传输层需要 区分同一主机上的不同进程。
AP1 网络1 AP2 网络2 AP4 AP3
多进程通信的示意图
7
7
传输层为相互通信的应用进程提供了逻辑通信
5 4 3 2 1 IP 层 AP1 AP 2 应用进程 应用进程 端口 传输层提供应用进程间的逻辑通信 端口 AP3 AP4 5 4
1
计算机网络基础(第三版)
第六章 传输层
6.1 传输层提供的服务
6.1.1 传输层概述
6.1.2 传输层要素 6.1.3 TCP/IP协议中的传输层 6.1.4 端口
2
2
传输层关注的是:数据包在通信双方的终端上是如何 知道将数据发送给哪个应用程序的呢
12
6.1.4 端口
单位A收发员
主机(终端系统)=A/B单位 网络层协议=邮寄服务(包括邮递员) 传输层协议=单位收发员 进程=单位员工 端口=单位员工的姓名 应用程序消息=信封里的信
应 用 程 序 1 应 用 程 序 2
单位B收发员
接收端主机
应 用 程 序 3 应 用 程 序 4 应 用 程 序 5
3 2 1
DL PH
IP
PH
路由器
发送端
接收端
5
5
计算机网络基础(第三版)
第六章 传输层
6.1.1 传输层概述
传输层所处的位置
应用层 传输层 网络层 数据链路层 物理层
用户功能
网络功能
6
6
计算机网络基础(第三版)
第六章 传输层
6.1.2 传输层要素 传输层需要完成的几个工作: 传输层寻址、连接管理、差错控制和流量控制 1.传输层寻址
服务器端启动协议服务 简单文件传输协议 微系统公司RPC 文件传输服务器(数据连接)
TCP
TCP TCP TCP
21
23 25 80
FTP Control
Telnet SMTP HTTP
文件传输服务器(控制连接)
远程终端服务器 简单邮件传输协议 超文本传输协议
24
动态分配的端口
这种端口的端口号一般都大于1024。这一类的端 口没有固定的使用者,它们可以被动态地分配给应用 程序使用。也就是说,在使用应用软件访问网络的时 候,应用软件可以向系统申请一个大于1024的端口号 临时代表这个软件与传输层交换数据,并且使用这个
熟知端口 21 23 25 53 69 80 110 161
传输层协议 TCP TCP TCP TCP/UDP UDP TCP TCP UDP
服务功能描述 文件传输服务 远程登录服务 简单邮件传输服务 域名服务 简单文件传输服务 超文本传输服务 邮局协议 简单网络管理协议
6.1.4 端口
常用的熟知端口
临时的端口与网络上的其他主机通信。
netstat命令查看端口使用情况
25
6.1.4 端口
TCP/IP协议--源/目的端口号
主机 A 主机 B
源端口
1028 23 …
目的端口
目的端口号为所进行的操作。如telnet为23。
26
6.1.4 端口 套接字(Socket)与连接
A IP=124.33.13.55
第六章 传输层
6.2 传输控制协议TCP
6.2.1 TCP的报文格式
6.2.2 TCP拥塞控制 6.2.3 显式拥塞指示 6.2.4 TCP的差错控制 6.2.5 TCP的定时机制 6.2.6 TCP数据包分析 6.2.7 TCP的传输连接管理
29
29
传输控制协议TCP
传输层在主机应用进程之间规定了端到端的连接。 传输层TCP协议包括以下几项基本的服务: • 对上层的应用数据进行分段; • 建立端到端的操作; • 把数据段从一个终端发送到另外一个终端上; • 确保数据的完整性; • 提供流量控制;
应用层 传输层 网络层 数据链路层 物理层 5 应用1 应用2 4 3 2 1 TCP/UDP IP 传输层通过接口 区分不同的服务 传输协议为进程之间提供通信 IP协议为主机之间提供通信 TCP/UDP IP DL 应用1 应用2 5 4 3 2 1 应用层 传输层 网络层 数据链路层 物理层
计算机网络基础(第三版)
每种应用层协议或应用程序都具有与传
输层唯一连接的端口,并且使用唯一的端口 号将这些端口区分开来。
21
协议端口的分配与熟知端口
● 端口分配有两种基本方式
统一分配
动态分配
中央管理机构发布分配的所有端口号的列表, 大家都遵从。也称熟知端口或保留端口。
应用程序需要使用端口时临时指定一个端口。通信 双方使用请求与应答的方式知道对方的端口号。
端口
接收缓存 报文段
H1 5 4 3 2 1 主机 H1 间接交付
网络层与传输层的关系
R1 R2 R3
3
2 1 R1 间接交付 2 1 R2 2 1
3
2 1 2 1 R3 间接交付
3
2 1
R5
R5 3 2 2 1 1
间接交付
R4 R4 3 2 2 1 1
主机 H2
5 4 3 2 1
H2
分组在互联网中的传送
9
9
计算机网络基础(第三版)
第六章 传输层
6.1.2 传输层要素
4.流量控制与缓冲机制
数据 转发 失败 网络 繁忙
网络负载过重造成转发失败
接收缓冲区溢出造成数据丢失
数据 数据 数据 拒绝 接收 „„ 数据 数据 接收缓 存已满
10
10
• TCP/IP参考模型与协议栈
11
网络层的IP协议提供的是不可靠、数据报的服务, TCP和UDP建立在该服务的基础上,应用程序调用TCP或U DP传输数据,而不是直接调用IP。 TCP是可靠的、面向连接的。TCP进行传输层寻址、 连接管理、差错控制和流量控制。 UDP是不可靠的、无连接的,即在进行数据传输之 前不需要建立连接,而目的主机收到数据报后也不需要 发回确认。这种协议提供了一种高效的传输服务,但其 可靠性由应用程序来提供。
端口的作用就是让应用层的各种应
用进程都能将其数据通过端口向下交付 给传输层(发送方),以及让传输层知 道应当将其报文段中的数据向上通过端 口交付给应用层相应的进程(接收方)。
从这个意义上讲,端口是用来标志应用层的进程的。
17
6.1.4 端口
对于一次通信可以 通过一个五元组来 标识其唯一性
客户端A ① Internet 客户端B ② ③ 客户端C 服务器B 服务器A
3
2 1
主机 A
主机 B 路由器 1 LAN1 WAN IP 协议的作用范围 传输层协议 TCP 和 UDP 的作用范围 路由器 2 LAN2
AP1 AP2
AP3
AP4
计算机网络基础(第三版)
第六章 传输层
6.1.2 传输层要素 2.连接管理 通过连接管理,传输层保证了数据近顺序、 不重复地传输。 3.差错控制 传输层一般使用确认和超时重传的机制保证 数据正确传输。
33
带有 TCP 协议的计算机 向用户提供可靠交付
TCP 协议
TCP
对有差错的 分组重发, 产生了时延
TCP
分组交换的因特网 不保证可靠交付
传输层是通信部分的最高层,又是用户 功能中的最低层。向应用层提供通信服务。
34
TCP报文段的首部
比特0 4 8 源端口 16 9 24 目的端口 31 20字节 的固定 首部
源IP地址 目的IP地址 协议 源端口号 目的端口号
18
6.1.4 端口
端 口 1
端 口 2
端 口 3
端 口 4
端 口 1
端 口 2
端 口 3
端 口 4
主机A ()()()()
主机B
()()
主机C
()()
连接1
连接2
19
连接3
连接4
端口在进程之间的通信中所起的作用
发送方 应用进程 应 用 层 传 输 层
TCP/IP的做法
混合方式:
熟知端口
一般端口
被管理机构指定的端 口,数值一般在0~ 1023之间,用于常用 的服务器应用程序。
大于1023的端口 号,用来随时分 配给请求通信的 客户程序。
保留端口
22
动态端口
常用应用程序的熟知端口号列表
应用程序 FTP TELNET SMTP DNS TFTP HTTP POP3 SNMP
协议 UDP UDP 端口号 42 53 关键字
插口或套接字(Socket)
描 述 主机名字服务器 域名服务器
NAME SERVER DOMAIN
UDP
UDP UDP UDP TCP
67
68 69 111 20
BOOTP Client
BOOTP Server TFTP RPC FTP Data
客户端启动协议服务
30
传输控制协议TCP
TCP的特点
(1)可靠的传输。 (2)面向连接。 (3)数据流式的传输。 (4)全双工。
31
传输控制协议TCP
发送端 接收端 应用进程
TCP
应用进程
TCP
端口
向发送缓存 写入数据块
从接收缓存 读取数据块
发送缓存 报文段 报文段 发送 TCP 报文段
…
…
…
发送序号 接收(确认)序号 TCP 窗口 首部 数据偏移 保留 编码位 校验和 紧急指针 任选项 填充 TCP首部
TCP数据部分 TCP数据报
IP首部
IP数据部分
35
比特0
4
8 源端口
16
9
24 目的端口
31
发送序号
TCP 首部
接收(确认)序号
数据偏移 保留
UAPRS F RCSS Y I GKHT N N
应传给哪个应用处理呢? 数据部分 IP首部
发送端发送的数据
13
应该投给谁呢
6.1.4 端口
多任务操作系统,允许多个应用程序同时执行,
每个正在运行的程序都会产生一个或更多进程。
两个主机通信实际上是主机 中的应用进程之间互相通信
两种情况
IP地址只能标识一个主机,不标识应用进 程,则IP协议只能把分组送到目的主机。 而进程可以看作一条报文的最终目的地。
15
进一步理解协议端口
● 各层都有该层协议使用的地址
网络接口层使用物理地址寻址 IP协议使用IP地址寻址 UDP和TCP协议通过协议端口寻址
• 为了能够与外部端口通信,发送方不仅要知道 目的机器的IP地址,还要知道该机器内的协议 端口号。
除目的端口号外, 还有源端口号。
16
6.1.4 端口
• 主机如何将接收的数据正确地交付到目的进程?
14
最终目的地是什么?
将具体进程名称作为最终目的地,从技术上实现较为困难。
TCP/IP 的做法
没有把进程看作通信的最终目的地。 把每台机器上的进程看作是一系列抽象的目的点, 称为协议端口(protocol port)。 协议端口由一个正整数标识。 本地的操作系统提供一个接口机制,进程通过它来 指定并接入到协议端口。
接收方
应用进程
端口 TCP 复用 TCP 报文段 UDP 复用 UDP 用户数据报 IP 复用
端口 TCP 分用 TCP 报文段 IP 分用 UDP 分用 UDP 用户数据报
网 络 层
IP 数据报
IP 数据报
6.1.4 端口
在TCP/IP传输层,定义了一个 16位长度的二进制作为端口标 识,即有216个端口(0~65535)
4
传输层使得应用层感觉通信的两个进程就如同直接 第六章 传输层 相连的一样,根本感觉不到网络传输的复杂性。 6.1.1 传输层概述 传输层屏蔽了与传输有关的细节,上层应用无须关 心传输的过程而只关心传输的内容 传输层主要是在网络层在通信两端已经建立连接的基础上实现端到端的传输
传输层所处的位置
3
传输层是TCP/IP网络体系结构中至关重要的
一层,它的主要作用就是保证端对端数据传输的可 靠性。在IP互联网中,传输控制协议(TCP,Transpo rt Control Protocol)和用户数据报协议(UDP,Us er Datagram Protocol)是传输层最重要的两种协 议,它们为上层用户提供不同级别的通信可靠性。
端口 200 端口 201
wk.baidu.com
连接1 连接2
C
IP=126.45.21.51
端口 25
B
IP=125.35.89.10
端口 200
连接3
27
6.1.4 端口
A
套接字(Socket)与连接 把端口号和主机的IP 地址结合起来使用,称为 插口或套接字(Socket)
IP=124.33.13.55
端口 200 端口 201
连接1 连接2
C
IP=126.45.21.51
端口 25
B
IP=125.35.89.10
端口 200
连接3
插口包括IP地址(32位)和端口号(16位),共48位。 如图所示的(124.33.13.55,200)和(126.45.21.51, 25)就是一对插口
通信的一对插口称作连接
28
28
计算机网络基础(第三版)
20字节 的固定 首部 窗口
目前操作系统大多为多任务系统,可同时运行多个应 用程序。网络层地址(如IP地址)只能定位某台主机,为 了进一步标明发送的数据和接收数据的进程,传输层需要 区分同一主机上的不同进程。
AP1 网络1 AP2 网络2 AP4 AP3
多进程通信的示意图
7
7
传输层为相互通信的应用进程提供了逻辑通信
5 4 3 2 1 IP 层 AP1 AP 2 应用进程 应用进程 端口 传输层提供应用进程间的逻辑通信 端口 AP3 AP4 5 4