第六章 传输层 传输层的作用是在通信子网提供的服务基 础上,为源主机和目的主机之间提供可靠、透 明和价格合理的数据传输。 传输层的功能与服务 传输层协议等级 Internet中TCP 用户数据报协议UDP
第六章 传输层 ◼ 传输层的功能与服务 ◼ 传输层协议等级 ◼ Internet中TCP ◼ 用户数据报协议UDP 传输层的作用是在通信子网提供的服务基 础上,为源主机和目的主机之间提供可靠、透 明和价格合理的数据传输
第一节 传输层的功能与服务 >传输层的作用: ①在通信子网提供服务的基础上,为源主机和目的主机之间提供可靠的、透明 的、价格合理的数据传输; ②是面向用户的高层和面向通信 应用与表示层 应用与表示层 子网的低层之间的软件接口。 会话层 会话层 6.1.1传输层服务类型 传输股务 用户 1.传输层抽象模型:利用网络层 TSAP TSAP 提供的服务来实现为用户提供 有效、可靠的服务的目标。 传输层协议 传输服务 传输层实体 传输层实体 传输层 *传输实体:传输层为高层提供 提供者 TPDU 服务的软硬件。 NSAP NSAP 2.服务类型:可提供面向连接的 和无连接的两种类型的服务。 低三层
第一节 传输层的功能与服务 ➢传输层的作用: 在通信子网提供服务的基础上,为源主机和目的主机之间提供可靠的、透明 的、价格合理的数据传输; 是面向用户的高层和面向通信 子网的低层之间的软件接口。 6.1.1 传输层服务类型 1.传输层抽象模型:利用网络层 提供的服务来实现为用户提供 有效、可靠的服务的目标。 传输实体:传输层为高层提供 服务的软硬件。 2.服务类型:可提供面向连接的 和无连接的两种类型的服务
第一节传输层的功能与服务 6.1.2传输层服务质量 >传输层的主要功能:增加和优化网络层服务质量。 >传输层协议与通信子网服务的关系: 运输协议1 运输协议2 通信子网提供的服务越少, ■。■■■量量0■■■■8■■■■■ 则传输层协议越复杂! 通信子网1 通信子网2 所提供的服务 >服务质量参数: 所提供的服务 ①建立连接延时:传输服务用户发出传输请求连接到收到确认之间的时间,包括 远端传输实体处理的延时。延时越短,服务质量越好。 ②建立连接失败概率:在最大连接延时时间内不能建立连接的可能性。 ③吞吐率:每秒钟传输的用户数据的字节数。 ④传输延时:从源端传输用户发送报文开始到目的用户接收到报文为止的时间。 ⑤残余误码率:丢失的、错误的报文占全部报文数的百分比。 ⑥优先级:为传输用户提供一种表明连接重要程度的方法。当发生拥塞时,确保高 优先级连接比低优先级连接先获得服务。 ⑦恢复功能:给出因内部原因或拥塞情况下自动终止连接的可能性
第一节 传输层的功能与服务 6.1.2 传输层服务质量 ➢传输层的主要功能:增加和优化网络层服务质量。 ➢传输层协议与通信子网服务的关系: 通信子网提供的服务越少, 则传输层协议越复杂! ➢服务质量参数: 建立连接延时:传输服务用户发出传输请求连接到收到确认之间的时间,包括 远端传输实体处理的延时。延时越短,服务质量越好。 建立连接失败概率:在最大连接延时时间内不能建立连接的可能性。 吞吐率:每秒钟传输的用户数据的字节数。 传输延时:从源端传输用户发送报文开始到目的用户接收到报文为止的时间。 残余误码率:丢失的、错误的报文占全部报文数的百分比。 优先级:为传输用户提供一种表明连接重要程度的方法。当发生拥塞时,确保高 优先级连接比低优先级连接先获得服务。 恢复功能:给出因内部原因或拥塞情况下自动终止连接的可能性。 运输协议1 通信子网1 所提供的服务 运输协议2 通信子网2 所提供的服务
第一节传输层的功能与服务 6.1.3传输服务原语 >套接字(socket)原语:用于客户-服务器模式,通过系统功能调用来实现。 >主要原语有: ①S0CKET服务原语:用于建立发方通信端点,返回一个整数用作为标识。 ②BID服务原语:用于给新建立的通信端点赋予一个地址。 ③CONNECT服务原语:在面向连接的TCP服务中用于在本地端点和远地端点间建立 一条连接,在无连接的UDP服务中是把对方地址存储下来。 ④LISTEN服务原语:服务器为请求连接的客户分配请求连接队列空间,并指定队 列长度(一般为5)。 ⑤ACCEPT服务原语:由服务器执行,等待连接请求的到来,请求到达后,服务器 创建一个新连接端点,并将该端点的标识符返给请求端,接着产生一个进程为该 连接服务,然后再去等待新的连接。 ⑥SEND服务原语:进行发送数据。 ⑦RECV服务原语:进行接收数据。 ⑧CLOSE服务原语:用于释放连接,双方都使用CIOSE原语后,连接即释放
第一节 传输层的功能与服务 6.1.3 传输服务原语 ➢套接字(socket)原语:用于客户-服务器模式,通过系统功能调用来实现。 ➢主要原语有: SOCKET服务原语:用于建立发方通信端点,返回一个整数用作为标识。 BIND服务原语:用于给新建立的通信端点赋予一个地址。 CONNECT服务原语:在面向连接的TCP服务中用于在本地端点和远地端点间建立 一条连接,在无连接的UDP服务中是把对方地址存储下来。 LISTEN服务原语:服务器为请求连接的客户分配请求连接队列空间,并指定队 列长度(一般为5)。 ACCEPT服务原语:由服务器执行,等待连接请求的到来,请求到达后,服务器 创建一个新连接端点,并将该端点的标识符返给请求端,接着产生一个进程为该 连接服务,然后再去等待新的连接。 SEND服务原语:进行发送数据。 RECV服务原语:进行接收数据。 CLOSE服务原语:用于释放连接,双方都使用CIOSE原语后,连接即释放
第一节传输层的功能与服务 >例如,在面向连接的服务中: 1.建立连接阶段: *服务器顺序执行:SOCKET→BIND→LISTEN→ACCEPT *客户顺序执行:SOCKET→BIND→CONNECT 2.数据传输阶段:双方用SEND和RECV原语进行发送和接收数据。 3.释放连接阶段:双方用CL0SE原语后释放连接
第一节 传输层的功能与服务 ➢例如,在面向连接的服务中: 1.建立连接阶段: 服务器顺序执行:SOCKET BIND LISTEN ACCEPT 客户顺序执行:SOCKET BIND CONNECT 2.数据传输阶段:双方用SEND和RECV原语进行发送和接收数据。 3.释放连接阶段:双方用CLOSE原语后释放连接
第二节 传输层协议等级 >传输层提供的服务是通过两端的传输实体之间所用的协议实现的! >传输层协议和数据链路层协议运行环境的差异: *在数据链路层:两个路由器(交换节点)通过数据链路直接通信;建立连接 的过程简单,一个输出线对应一个路由器,且目的路由器一直处于等待连 接状态。 *在传输层:两端的主机通过整个通信子网进行通信;建立连接过程较复杂, 有较复杂的寻址过程,并且经常存在多条连接,连接的数目也动态变化, 因此传输层的缓冲器管理和流量控制较复杂。 交换结点 交换结点 主机 物理通道 (a) (6
第二节 传输层协议等级 ➢传输层提供的服务是通过两端的传输实体之间所用的协议实现的! ➢传输层协议和数据链路层协议运行环境的差异: 在数据链路层:两个路由器(交换节点)通过数据链路直接通信;建立连接 的过程简单,一个输出线对应一个路由器,且目的路由器一直处于等待连 接状态。 在传输层:两端的主机通过整个通信子网进行通信;建立连接过程较复杂, 有较复杂的寻址过程,并且经常存在多条连接,连接的数目也动态变化, 因此传输层的缓冲器管理和流量控制较复杂
第二节 传输层协议等级 6.2.1传输协议的类型 —传输层协议依赖网终层提供的服务。 >网络层服务分类: 本A类:提供完善服务,分组的丢失、重复及乱序情况可忽略不计, 不使用N一RESETI原语。 B类:分组很少丢失,但时常使用N一RESET原语,协议建立新的 网络连接,重新同步,然后继续传输数据。 *C类:提供完全不可靠的服务。用此类服务的传输层协议最复杂。 >传输层协议分类: *0类(A类):最简单类,只提供建立和释放连接的机制。 *1类(B类):基本错误恢复类,提供从N一RESET中恢复,不需要检错、流控。 *2类(A类):多路复用类,比0类增加了多路复用的功能。 *3类(B类):错误恢复和多路复用类,既可采用多路复用又可从N一RESET中 恢复,且使用显式流量控制。 本4类(C类):错误检测和恢复类,能处理分组的丢失、重复,从N一RESET和 其它错误中恢复,以及多路复用等功能,是最复杂的协议
第二节 传输层协议等级 6.2.1 传输协议的类型——传输层协议依赖网络层提供的服务。 ➢网络层服务分类: A类:提供完善服务,分组的丢失、重复及乱序情况可忽略不计, 不使用N-RESET原语。 B 类 : 分 组 很 少 丢 失 , 但 时 常 使 用 N-RESET 原 语 , 协 议 建 立 新 的 网络连接,重新同步,然后继续传输数据。 C类:提供完全不可靠的服务。用此类服务的传输层协议最复杂。 ➢传输层协议分类: 0类(A类):最简单类,只提供建立和释放连接的机制。 1类(B类):基本错误恢复类,提供从N-RESET中恢复,不需要检错、流控。 2类(A类) :多路复用类,比0类增加了多路复用的功能。 3类(B类) :错误恢复和多路复用类,既可采用多路复用又可从N-RESET中 恢复,且使用显式流量控制。 4类(C类) :错误检测和恢复类,能处理分组的丢失、重复,从N—RESET和 其它错误中恢复,以及多路复用等功能,是最复杂的协议
第二节 传输层协议等级 >通信双方协商协议类型的过程: → 连接发起者· 呼叫请求 (提供协议类型) 连接响应者 2 从提供的协议类型种选择一种 不接收所有协议 ↓ ↓ 接受请求 拒绝连接 6.2.2传输协议的功能 1.连接的建立 >一个传输服务用户与另一个远地传输服务用户的连接存在于两个服务访问 点(TSAP)之间;而对等传输实体的连接又存在于两个NSAP之间
第二节 传输层协议等级 ➢通信双方协商协议类型的过程: 连接发起者 连接响应者 从提供的协议类型种选择一种 不接收所有协议 接受请求 拒绝连接 6.2.2 传输协议的功能 1.连接的建立 ➢一个传输服务用户与另一个远地传输服务用户的连接存在于两个服务访问 点(TSAP)之间;而对等传输实体的连接又存在于两个NSAP之间。 呼叫请求 (提供协议类型)
第二节 传输层协议等级 >本地用户进程在与远程用户进程建立连接时必须获取对方的TSAP地址! >获取远端TSAP地址的方法有两种: (1).固定TASP法:一些公共服务或固定不变的服务连到一些固定的用户周知 的TSAP上。 ①远端某一公用进程,将自己连到122号TSAP,处于挂起状态。 ②源端机上的一个进程需查询时间时,发送连接请求原语T一 CONNECT.Request,说明源地址为6号TASP,目标地址是122号TASP。 ③源端机的传输层收到请求后,在源主机和目的主机上选择NSAP,并建立 一个网终连接,通过网络连接两传输实体可以通话。 ④源端机的传输实体用上述网络连接服务传输服务质量参数。 ⑤目标主机传输实体向时间服务进程发出一个T-CONNECT.Indication原 语。如果122号TASP上的报时服务进程同意,就发出连接响应原语,返回 到源端主机后,就建成传输连接
第二节 传输层协议等级 ➢本地用户进程在与远程用户进程建立连接时必须获取对方的TSAP地址! ➢获取远端TSAP地址的方法有两种: (1).固定TASP法:一些公共服务或固定不变的服务连到一些固定的用户周知 的TSAP上。 ①远端某一公用进程,将自己连到122号TSAP,处于挂起状态。 ② 源 端 机 上 的 一 个 进 程 需 查 询 时 间 时 , 发 送 连 接 请 求 原 语 T- CONNECT.Request,说明源地址为6号TASP,目标地址是122号TASP。 ③源端机的传输层收到请求后,在源主机和目的主机上选择NSAP,并建立 一个网络连接,通过网络连接两传输实体可以通话。 ④源端机的传输实体用上述网络连接服务传输服务质量参数。 ⑤目标主机传输实体向时间服务进程发出一个T-CONNECT.Indication原 语。如果122号TASP上的报时服务进程同意,就发出连接响应原语,返回 到源端主机后,就建成传输连接
第二节 传输层协议等级 文件服 务程序 ③, (2).初始连接法:与远端进程 册 程 通过远端的公用传送地址TSAP 用户进程 TSAP 来建立连接。 层 *注册进程:进程连接服务程 序,常驻内存,并与固定ISAP 连接。 >传输服务用户在已知远端进 ② ⑤ 程的TSAP地址后,如何知道该 ⑥ TSAP处于哪台机器上呢? 即如何知道用哪个NSAP建立网络连接呢? *可以由TSAP地址决定NSAP地址: TSAP地址=〈主机>端口> NSAP地址 >传输实体得到一个TSAP地址后,可用其中的NSAP地址建立一个网络连接
第二节 传输层协议等级 (2).初始连接法:与远端进程 通过远端的公用传送地址TSAP 来建立连接。 注册进程:进程连接服务程 序,常驻内存,并与固定TSAP 连接。 ➢传输服务用户在已知远端进 程的TSAP地址后,如何知道该 TSAP处于哪台机器上呢? 即如何知道用哪个NSAP建立网络连接呢? 可以由TSAP地址决定NSAP地址: TSAP地址 = NSAP地址 ➢传输实体得到一个TSAP地址后,可用其中的NSAP地址建立一个网络连接