计算机网络基础与应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
–UDP 传送的数据单位协议是 UDP 报文或用户 数据报。
School of Management Tianjin University
SLIDE 12
运输层
– TCP 与 UDP
1. UDP 在传送数据之前不需要先建立连接。对 方的运输层在收到 UDP 报文后,不需要给 出任何确认。虽然 UDP 不提供可靠交付, 但在某些情况下 UDP 是一种最有效的工作 方式。
School of Management Tianjin University
SLIDE 27
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充
20 字节
固定
首部
数据偏移——占 4 bit,它指出 TCP 报文段的数据起 始处距离 TCP 报文段的起始处有多远。“数据偏移” 的单位不是字节而是 32 bit 字(4 字节为计算单位)。
School of Management Tianjin University
SLIDE 29
运输层
比特 0
8
16
24
31
源端口
目的端口
TCP 首部 数据
偏移
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
窗口 紧急指针
20 字节
固定
首部
选 项 (长 度 可 变)
填充
紧急比特 URG —— 当 URG 1 时,表明紧急指 针字段有效。它告诉系统此报文段中有紧急数据, 应尽快传送(相当于高优先级的数据)。
SLIDE 8
运输层
–运输层的主要功能
• 运输层为应用进程之间提供端到端的逻辑 通信(但网络层是为主机之间提供逻辑通 信)。
• 运输层还要对收到的报文进行差错检测。 • 运输层需要有两种不同的运输协议,即面
向连接的 TCP 和无连接的 UDP。
School of Management Tianjin University
School of Management Tianjin University
SLIDE 18
运输层
–套接字(socket)
• TCP 使用“连接”(而不仅仅是“端口”) 作为最基本的抽象,同时将 TCP 连接的端 点称为插口(socket),或套接字、套接口。
• 插口和端口、IP 地址的关系是:
• 从这个意义上讲,端口是用来标志应用层 的进程。
School of Management Tianjin University
SLIDE 15
运输层
–端口的概念(cont)
• 端口号只具有本地意义,即端口号只是为 了标志本计算机应用层中的各进程。在因 特网中不同计算机的相同端口号是没有联 系的。
2. TCP 则提供面向连接的服务。TCP 不提供广 播或多播服务。由于 TCP 要提供可靠的、 面向连接的运输服务,因此不可避免地增加 了许多的开销。这不仅使协议数据单元的首 部增大很多,还要占用许多的处理机资源。
School of Management Tianjin University
SLIDE 13
检验和
选 项 (长 度 可 变)
目的端口
窗口 紧急指针
填充
20 字节
固定
首部
源端口和目的端口字段——各占 2 字节。端口是运 输层与应用层的服务接口。运输层的复用和分用功能 都要通过端口才能实现。
School of Management Tianjin University
SLIDE 25
运输层
比特 0
–端口的表示
• 端口用16位来表示,即一个主机共有65536 个端口。序号0-1023端口(1K)称为熟知 端口,是Internet管理机构保留了一块端 口号用于标准的TCP/IP应用。
School of Management Tianjin University
SLIDE 16
运输层
–端口的表示(cont)
School of Management Tianjin University
SLIDE 23
运输层
–TCP报文段的首部
比特 0
32 bit
8
16
TCP 首部
数据 偏移
源端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
24
31
目的端口
窗口 紧急指针
报文段
报文段
…
发送TCP 报文段
School of Management Tianjin University
报文段
SLIDE 22
运输层
– TCP的最主要特点 1. TCP是面向连接的运输层协议 2. 每一条TCP连接只能有两个端点 3. TCP提供可靠交付的服务,无差错、不
丢失、不重复 4. TCP提供全双工通信 5. 面向字节流
2011
SLIDE 2
SLIDE 3
SLIDE 4
SLIDE 5
SLIDE 6
运输层
–运输层为相互通信的应用进程提供了逻辑通 信
• 两个主机进行通信实际上就是两个主机中的应用 进程互相通信,应用进程之间的通信又称为端到 端的通信。
• 运输层的一个很重要的功能就是复用和分用。应 用层不同进程的报文通过不同的端口向下交到运 输层,再往下就共用网络层提供的服务。
School of Management Tianjin University
SLIDE 31
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
填充
20 字节的 固定首部
TCP 报文段
发送在前 IP 首部
TCP 首部
TCP 数据部分
School of MIPan数ag据e部me分nt
Tianjin University
SLIDE 24
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
School of Management Tianjin University
SLIDE 26
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充
20 字节
固定
首部
确认号字段——占 4 字节,是期望收到对方的下一 个报文段的数据的第一个字节的序号。
运输层
– TCP 与 UDP(cont)
3. 运输层的 UDP 用户数据报与网际层的IP数据 报有很大区别。IP 数据报要经过互连网中 许多路由器的存储转发,但 UDP 用户数据报 是在运输层的端到端抽象的逻辑信道中传送
4. TCP 报文段是在运输层抽象的端到端逻辑信 道中传送,这种信道是可靠的全双工信道。 但这样的信道却不知道究竟经过了哪些路由 器,而这些路由器也根本不知道上面的运输 层是否建立了 TCP 连接。
• “运输层提供应用进程间的逻辑通信”。“逻辑 通信”的意思是:运输层之间的通信好像是沿水 平方向传送数据。但事实上这两个运输层之间并 没有一条水平方向的物理连接。
School of Management Tianjin University
SLIDE 7
运输层
5AP1 AP2 4 3 2 1
应用进程
应用进程
端口 运输层提供应用进程间的逻辑通 端口 信
IP 层
AP3 AP45 4 3 2 1
主机 A
AP1 AP2
路由器 1
路由器 2
LAN1
WAN
LAN2
IP 协议的作用范围 运输层协议 TCP 和 UDP 的作用范围
School of Management Tianjin University
主机 B AP3 AP4
• 应用编程接口API(Application Programming Interface)是运输层与应用 层之间的接口的通用名称。
A
IP = 202.112.103.47
端口500
C
端口501
连
B
接
IP = 202.112.103.47
端口500
IP = 202.112.103.225 端口25
图:与主机C的SMTP建立三个连接
• 另一类则是一般端口,用来随时分配给请 求通信的客户进程。
应用层 传输层
FTSDTS
T eMNFN
P
l n e
T P
S
T P
M P
t
21
23
25
53
69 161
TCP
UDP
School of Management Tianjin University
SLIDE 17
运输层
–套接字(socket)
School of Management Tianjin University
SLIDE 14
运输层
–端口的概念
• 端口就是运输层服务访问点 TSAP。 • 端口的作用就是让应用层的各种应用进程
都能将其数据通过端口向下交付给运输层, 以及让运输层知道应当将其报文段中的数 据向上通过端口交付给应用层相应的进程。
原语
含义
LISTEN
阻塞,直到有客户试图连接
CONNECT
建立一个连接的活动尝试
SEND
发送信息
RECEIVE
阻塞,直到有数据到达
DISCONNECT
释放连接
School of Management Tianjin University
SLIDE 20
运输层
–TCP 概述 TCP的服务 实现可靠性
School of Management Tianjin University
SLIDE 11
运输层
–两个对等运输实体在通信时传送的数据单位 叫作运输协议数据单元TPDU (Transport Protocol Data Unit)。
–TCP 传送的数据单位协议是 TCP 报文段 (segment)
SLIDE 9
运输层
–运输层向上提供可靠的和不可靠的逻辑 通信信道
应 发
用送 层进
程 数据
接
收 进 程 数据
运 输
全双工可靠信道
层
使用 TCP 协议
发
送 进 程 数据
接
收
?
进
程 数据
不可靠信道 使用 UDP 协议
School of Management Tianjin University
SLIDE 10
School of Management Tianjin University
SLIDE 30
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充
20 字节
固定
首部
确认比特 ACK —— 只有当 ACK 1 时确认号字 段才有效。当 ACK 0 时,确认号无效。
运输层
–运输层中的两个协议
TCP/IP的运输层有两个不同的协议: (1)用户数据报协议UDP(User Datagram
Protocol) (2)传输控制协议TCP(Transmission Control
Protocol ) –UDP和TCP都使用IP协议
应有层
TCP
UDP
IP 与各种网络的接口
IP 地址
131.6.23.13
端口号
1500
插口(socket) 131.6.23.13,
1500
School of Management Tianjin University
SLIDE 19
运输层
–套接字(socket)
• 传输层为上一层的应用程序提供一个标准 的原语集,为服务提供者和用户之间进行 可靠的数据传输架起了一座“桥梁”。
School of Management Tianjin University
SLIDE 28
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充ห้องสมุดไป่ตู้
20 字节
固定
首部
保留字段——占 6 bit,保留为今后使用,但目前 应置为 0。
• 包丢失重发机制 • 流量控制 • 拥塞控制 • 三次握手
TCP的报文格式
School of Management Tianjin University
SLIDE 21
运输层
–TCP概述
发送端
应用进程
接收端
应用进程
… …
端口
向发送缓存 写入数据块
从接收缓存 读取数据块
端口
TCP
发送缓存
TCP
接收缓存
8
16
24
31
源端口
目的端口
TCP 首部 数据
偏移
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
窗口 紧急指针
20 字节
固定
首部
选 项 (长 度 可 变)
填充
序号字段——占 4 字节。TCP 连接中传送的数据流 中的每一个字节都编上一个序号。序号字段的值则指 的是本报文段所发送的数据的第一个字节的序号。
School of Management Tianjin University
SLIDE 12
运输层
– TCP 与 UDP
1. UDP 在传送数据之前不需要先建立连接。对 方的运输层在收到 UDP 报文后,不需要给 出任何确认。虽然 UDP 不提供可靠交付, 但在某些情况下 UDP 是一种最有效的工作 方式。
School of Management Tianjin University
SLIDE 27
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充
20 字节
固定
首部
数据偏移——占 4 bit,它指出 TCP 报文段的数据起 始处距离 TCP 报文段的起始处有多远。“数据偏移” 的单位不是字节而是 32 bit 字(4 字节为计算单位)。
School of Management Tianjin University
SLIDE 29
运输层
比特 0
8
16
24
31
源端口
目的端口
TCP 首部 数据
偏移
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
窗口 紧急指针
20 字节
固定
首部
选 项 (长 度 可 变)
填充
紧急比特 URG —— 当 URG 1 时,表明紧急指 针字段有效。它告诉系统此报文段中有紧急数据, 应尽快传送(相当于高优先级的数据)。
SLIDE 8
运输层
–运输层的主要功能
• 运输层为应用进程之间提供端到端的逻辑 通信(但网络层是为主机之间提供逻辑通 信)。
• 运输层还要对收到的报文进行差错检测。 • 运输层需要有两种不同的运输协议,即面
向连接的 TCP 和无连接的 UDP。
School of Management Tianjin University
School of Management Tianjin University
SLIDE 18
运输层
–套接字(socket)
• TCP 使用“连接”(而不仅仅是“端口”) 作为最基本的抽象,同时将 TCP 连接的端 点称为插口(socket),或套接字、套接口。
• 插口和端口、IP 地址的关系是:
• 从这个意义上讲,端口是用来标志应用层 的进程。
School of Management Tianjin University
SLIDE 15
运输层
–端口的概念(cont)
• 端口号只具有本地意义,即端口号只是为 了标志本计算机应用层中的各进程。在因 特网中不同计算机的相同端口号是没有联 系的。
2. TCP 则提供面向连接的服务。TCP 不提供广 播或多播服务。由于 TCP 要提供可靠的、 面向连接的运输服务,因此不可避免地增加 了许多的开销。这不仅使协议数据单元的首 部增大很多,还要占用许多的处理机资源。
School of Management Tianjin University
SLIDE 13
检验和
选 项 (长 度 可 变)
目的端口
窗口 紧急指针
填充
20 字节
固定
首部
源端口和目的端口字段——各占 2 字节。端口是运 输层与应用层的服务接口。运输层的复用和分用功能 都要通过端口才能实现。
School of Management Tianjin University
SLIDE 25
运输层
比特 0
–端口的表示
• 端口用16位来表示,即一个主机共有65536 个端口。序号0-1023端口(1K)称为熟知 端口,是Internet管理机构保留了一块端 口号用于标准的TCP/IP应用。
School of Management Tianjin University
SLIDE 16
运输层
–端口的表示(cont)
School of Management Tianjin University
SLIDE 23
运输层
–TCP报文段的首部
比特 0
32 bit
8
16
TCP 首部
数据 偏移
源端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
24
31
目的端口
窗口 紧急指针
报文段
报文段
…
发送TCP 报文段
School of Management Tianjin University
报文段
SLIDE 22
运输层
– TCP的最主要特点 1. TCP是面向连接的运输层协议 2. 每一条TCP连接只能有两个端点 3. TCP提供可靠交付的服务,无差错、不
丢失、不重复 4. TCP提供全双工通信 5. 面向字节流
2011
SLIDE 2
SLIDE 3
SLIDE 4
SLIDE 5
SLIDE 6
运输层
–运输层为相互通信的应用进程提供了逻辑通 信
• 两个主机进行通信实际上就是两个主机中的应用 进程互相通信,应用进程之间的通信又称为端到 端的通信。
• 运输层的一个很重要的功能就是复用和分用。应 用层不同进程的报文通过不同的端口向下交到运 输层,再往下就共用网络层提供的服务。
School of Management Tianjin University
SLIDE 31
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
填充
20 字节的 固定首部
TCP 报文段
发送在前 IP 首部
TCP 首部
TCP 数据部分
School of MIPan数ag据e部me分nt
Tianjin University
SLIDE 24
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
School of Management Tianjin University
SLIDE 26
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充
20 字节
固定
首部
确认号字段——占 4 字节,是期望收到对方的下一 个报文段的数据的第一个字节的序号。
运输层
– TCP 与 UDP(cont)
3. 运输层的 UDP 用户数据报与网际层的IP数据 报有很大区别。IP 数据报要经过互连网中 许多路由器的存储转发,但 UDP 用户数据报 是在运输层的端到端抽象的逻辑信道中传送
4. TCP 报文段是在运输层抽象的端到端逻辑信 道中传送,这种信道是可靠的全双工信道。 但这样的信道却不知道究竟经过了哪些路由 器,而这些路由器也根本不知道上面的运输 层是否建立了 TCP 连接。
• “运输层提供应用进程间的逻辑通信”。“逻辑 通信”的意思是:运输层之间的通信好像是沿水 平方向传送数据。但事实上这两个运输层之间并 没有一条水平方向的物理连接。
School of Management Tianjin University
SLIDE 7
运输层
5AP1 AP2 4 3 2 1
应用进程
应用进程
端口 运输层提供应用进程间的逻辑通 端口 信
IP 层
AP3 AP45 4 3 2 1
主机 A
AP1 AP2
路由器 1
路由器 2
LAN1
WAN
LAN2
IP 协议的作用范围 运输层协议 TCP 和 UDP 的作用范围
School of Management Tianjin University
主机 B AP3 AP4
• 应用编程接口API(Application Programming Interface)是运输层与应用 层之间的接口的通用名称。
A
IP = 202.112.103.47
端口500
C
端口501
连
B
接
IP = 202.112.103.47
端口500
IP = 202.112.103.225 端口25
图:与主机C的SMTP建立三个连接
• 另一类则是一般端口,用来随时分配给请 求通信的客户进程。
应用层 传输层
FTSDTS
T eMNFN
P
l n e
T P
S
T P
M P
t
21
23
25
53
69 161
TCP
UDP
School of Management Tianjin University
SLIDE 17
运输层
–套接字(socket)
School of Management Tianjin University
SLIDE 14
运输层
–端口的概念
• 端口就是运输层服务访问点 TSAP。 • 端口的作用就是让应用层的各种应用进程
都能将其数据通过端口向下交付给运输层, 以及让运输层知道应当将其报文段中的数 据向上通过端口交付给应用层相应的进程。
原语
含义
LISTEN
阻塞,直到有客户试图连接
CONNECT
建立一个连接的活动尝试
SEND
发送信息
RECEIVE
阻塞,直到有数据到达
DISCONNECT
释放连接
School of Management Tianjin University
SLIDE 20
运输层
–TCP 概述 TCP的服务 实现可靠性
School of Management Tianjin University
SLIDE 11
运输层
–两个对等运输实体在通信时传送的数据单位 叫作运输协议数据单元TPDU (Transport Protocol Data Unit)。
–TCP 传送的数据单位协议是 TCP 报文段 (segment)
SLIDE 9
运输层
–运输层向上提供可靠的和不可靠的逻辑 通信信道
应 发
用送 层进
程 数据
接
收 进 程 数据
运 输
全双工可靠信道
层
使用 TCP 协议
发
送 进 程 数据
接
收
?
进
程 数据
不可靠信道 使用 UDP 协议
School of Management Tianjin University
SLIDE 10
School of Management Tianjin University
SLIDE 30
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充
20 字节
固定
首部
确认比特 ACK —— 只有当 ACK 1 时确认号字 段才有效。当 ACK 0 时,确认号无效。
运输层
–运输层中的两个协议
TCP/IP的运输层有两个不同的协议: (1)用户数据报协议UDP(User Datagram
Protocol) (2)传输控制协议TCP(Transmission Control
Protocol ) –UDP和TCP都使用IP协议
应有层
TCP
UDP
IP 与各种网络的接口
IP 地址
131.6.23.13
端口号
1500
插口(socket) 131.6.23.13,
1500
School of Management Tianjin University
SLIDE 19
运输层
–套接字(socket)
• 传输层为上一层的应用程序提供一个标准 的原语集,为服务提供者和用户之间进行 可靠的数据传输架起了一座“桥梁”。
School of Management Tianjin University
SLIDE 28
运输层
比特 0
8
16
24
31
TCP 首部 数据
偏移
源端口
目的端口
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
选 项 (长 度 可 变)
窗口 紧急指针
填充ห้องสมุดไป่ตู้
20 字节
固定
首部
保留字段——占 6 bit,保留为今后使用,但目前 应置为 0。
• 包丢失重发机制 • 流量控制 • 拥塞控制 • 三次握手
TCP的报文格式
School of Management Tianjin University
SLIDE 21
运输层
–TCP概述
发送端
应用进程
接收端
应用进程
… …
端口
向发送缓存 写入数据块
从接收缓存 读取数据块
端口
TCP
发送缓存
TCP
接收缓存
8
16
24
31
源端口
目的端口
TCP 首部 数据
偏移
序号
确认号
保留
U AP RSF R CS SY I G KH T NN
检验和
窗口 紧急指针
20 字节
固定
首部
选 项 (长 度 可 变)
填充
序号字段——占 4 字节。TCP 连接中传送的数据流 中的每一个字节都编上一个序号。序号字段的值则指 的是本报文段所发送的数据的第一个字节的序号。