1 / 100

计算机网络技术

计算机网络技术. 第 8 章 传输层. 8.1 传输层概述 8.2 TCP/IP 的传输层 8.3 用户数据报协议 UDP 8.4 传输控制协议 TCP. 第 8 章 传输层. 8.1 传输层概述. 传输层的地位 传输层提供的服务和功能 网络服务的类型 OSI 传输协议. 从通信和信息处理的角度看,传输层向上层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 传输层应当为高层用户建立 端到端的可靠的逻辑连接. Application. Transport. Network. Data Link. Physical.

opal
Download Presentation

计算机网络技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机网络技术 第8章 传输层

  2. 8.1 传输层概述 8.2 TCP/IP的传输层 8.3 用户数据报协议UDP 8.4 传输控制协议TCP 第8章 传输层

  3. 8.1 传输层概述 • 传输层的地位 • 传输层提供的服务和功能 • 网络服务的类型OSI传输协议

  4. 从通信和信息处理的角度看,传输层向上层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。从通信和信息处理的角度看,传输层向上层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 传输层应当为高层用户建立端到端的可靠的逻辑连接 Application Transport Network Data Link Physical 1. 传输层的地位 面向信息处理 用户功能 面向通信 网络功能 传输虚电路

  5. 网络层协议的目标是使一个主机发出的报文能够穿越通信子网送达另一个主机;网络层协议的目标是使一个主机发出的报文能够穿越通信子网送达另一个主机; 网络层协议与通信子网的实现细节密切相关。 传输层协议的目标是利用网络层提供的服务实现位于不同主机上的进程之间的通信。 传输层协议不涉及通信子网的实现细节。 传输层协议与网络层协议的区别

  6. AP1 AP2 AP3 AP4 5 进程间端到端的通信 5 ( ) ( ) ( ) ( ) 传输层 4 4 网络层 3 3 2 2 AP1 AP3 主机A 主机B 1 1 LAN1 WAN LAN2 AP2 AP4 网络层协议的作用范围 传输层协议的作用范围 传输层提供的通信服务 TSAP TSAP NSAP NSAP

  7. 两台主机之间的通信实际上是两台主机中的应用进程之间的通信。 应用进程之间的通信又称为端到端的通信。 事实上,两个系统的传输层之间并不存在一条水平方向的物理连接。 因此,应用进程之间的通信是一种逻辑通信。 应用进程之间的通信

  8. 用户要求高速传输,网络的吞吐量、传输速率和传输延迟等性能不能满足;用户要求高速传输,网络的吞吐量、传输速率和传输延迟等性能不能满足; 用户要求较低的传输费用,对于传输延时要求不高,网络的吞吐量、传输速率和传输延迟很好,但费用太高,不能满足。 网络的传输差错率不能满足用户的要求; 网络层的分组长度不一定适配用户数据的长度; 网络的数据流量不一定能满足用户的要求,等等。 网络的性能和用户的要求之间的差异

  9. 传输层位于网络层和会话层之间,是通信子网和资源子网的接口,起着承上启下的作用。传输层位于网络层和会话层之间,是通信子网和资源子网的接口,起着承上启下的作用。 传输层的最终目标是利用网络层提供的服务向其用户提供有效、可靠且价格合理的服务。 它对上层屏蔽了通信子网的细节,向高层提供两个传输实体之间的端到端的可靠的逻辑连接。 传输层可以检测到网络层发生的差错和故障,因此可以进行差错恢复。 传输层的地位和作用

  10. 传输层的服务质量: 传输层提供的服务必须满足上层实体对服务质量(QoS)的要求。 用户对传输延迟、吞吐量、残留差错率、优先级等方面的要求 传输层实体可以根据用户对服务质量的要求决定是否采用分流、复用等技术。 2. 传输层提供的服务和功能

  11. 传输连接管理 建立、标识、维护和释放传输连接。 寻址 定义传输地址(TSAP)以区分目标用户进程与其它用户进程。 多路复用 向上多路复用:若干条不同的传输连接使用同一条网络层虚电路。 向下多路复用:一个传输连接分解到若干条不同的网络层虚电路上实现。 可靠传输 通过差错控制、顺序控制、丢失控制和重复控制实现端到端的可靠传输。 流量控制 采用滑动窗口技术控制流量。 传输层向上层提供的服务

  12. 传输层的功能是:采用一些技术手段弥补用户的要求与网络可向用户提供的服务二者之间存在的差异,屏蔽通信子网的实现细节,使用户获得相对稳定的数据传输服务。 为了给上层用户提供QoS保障,传输层通常要采用以下技术手段: 分流/合流 复用/解复用 分段/合段 差错检测和恢复 流量控制技术 传输层的功能

  13. 目的:使得具有低吞吐量、低速率和高传输延迟的网络可以支持用户高速传输数据的要求。目的:使得具有低吞吐量、低速率和高传输延迟的网络可以支持用户高速传输数据的要求。 原理:利用多条网络连接来支持一条传输连接上的数据传输(向下多路复用),提高数据传输速度。 分流/合流

  14. 目的:使得具有高吞吐量、高速率和低传输延迟、且高费用的网络可以支持用户的低传输成本的要求。目的:使得具有高吞吐量、高速率和低传输延迟、且高费用的网络可以支持用户的低传输成本的要求。 复用/解复用技术的原理:将多条传输连接上的数据汇集到一条网络连接上传输(向上多路复用) 。 复用/解复用

  15. 目的:使得传输有限长度用户数据(分组)的网络可以支持用户的无限长数据的传输。目的:使得传输有限长度用户数据(分组)的网络可以支持用户的无限长数据的传输。 原理:将一个长的传输服务数据单元(用户数据)分成若干个传输协议数据单元进行传输。 分段/合段

  16. 差错检测和恢复在数据单元中增加序号和冗余的差错检测编码,与差错控制协议配合,采取出错重传、超时重传等措施,使得差错率较高的网络可以支持用户高可靠性的数据传输要求。差错检测和恢复在数据单元中增加序号和冗余的差错检测编码,与差错控制协议配合,采取出错重传、超时重传等措施,使得差错率较高的网络可以支持用户高可靠性的数据传输要求。 流量控制采用滑动窗口和捎带确认等机制,对连续传输的协议数据单元个数进行限制,避免网络拥塞。 差错控制和流量控制

  17. 连接建立延迟 连接建立失败的概率 传输延迟 吞吐量 优先级 残留差错率 故障告知率 衡量网络服务质量的主要指标 • 从传输服务用户要求建立连接到收到连接确认之间所经历的时间; • 它包括了远端传输实体的处理延迟; • 连接建立延迟越短,服务质量越好。 • 在最大连接建立延迟时间内,连接未能建立的可能性; • 由于网络拥塞,缺少缓冲区或其他原因造成的失败。 • 传输延迟是指从源主机传输用户发送报文开始到目的主机传输用户接收到报文为止的时间; • 每个方向的传输延迟是不同的。 • 吞吐量是在某个时间间隔内测得的每秒钟传输的用户数据的字节数; • 每个传输方向的吞吐量可能不同。 • 用以表明哪些传输连接更为重要; • 当发生拥塞事件时,确保高优先级的连接先获得服务。 • 网络的残留差错指网络协议没有检测到的报文丢失、乱序或误码,从而未能纠正的差错。 • 残留差错率是未检出的差错报文数占整个发送的报文数的百分比。 • 网络协议检测出的无法纠正的故障,应通知传输实体予以纠正。 • 网络的故障告知率是指无法纠正的故障占所有可检测出的故障的百分比。

  18. A型网络 具有可接受的低残留差错率和低故障告知率。 提供完善的、理想的、可靠的网络服务,实现较高质量的数据传输。 B型网络 具有可接受的低残留差错率和不可接受的高故障告知率。 具有较好的差错检测能力,但差错恢复能力较差。 C型网络 具有不可接受的残留差错率和高故障告知率。 提供的服务质量较差。 网络服务的类型

  19. 基于不同类型的网络,ISO定义了五类面向连接的传输协议:基于不同类型的网络,ISO定义了五类面向连接的传输协议: TP0(简单类) TP1(基本差错恢复类) TP2(复用类) TP3(差错恢复和复用类) TP4(差错检测和恢复类) 传输协议的内容取决于网络层所提供的服务质量,其设计的简易与否,直接与通信子网所提供的服务有关。 OSI传输协议

  20. 0类传输协议(TP0)——简单类 为一个传输建立一个连接,提供最简单的端到端的连接与释放机制,仅支持分段/合段功能。 假定网络无差错,不进行排序和流量控制。 适用于A型网络。 1类传输协议(TP1)——基本差错恢复类 在TP0的基础上增加拼接/分割、差错恢复的功能,满足用户可靠传输的要求。 当网络出现差错时,传输层可以从被告知的网络故障中恢复。 适用于B型网络。 传输协议的分类(1)

  21. 2类传输协议(TP2)——多路复用类 在TP0的基础上增加复用/解复用的功能,可对传输复用进行流量控制。 通常在用户使用高质量的网络,并要求低通信费用时选用。 适用于A型网络。 3类传输协议(TP3)——差错恢复与复用类 结合TP1和TP2的功能,满足用户低成本、高可靠性的要求。 适用于B型网络。 传输协议的分类(2)

  22. 4类传输协议(TP4)——差错检测与复用类 在TP3的基础上,增加差错检测和分流/合流能力,能处理分组的丢失、重复、残损、N-RESET等任何网络错误,保证高可靠性的数据传送。 适用于C型网络。 传输协议的分类(3)

  23. 8.2 TCP/IP的传输层 • TCP/IP的传输层协议 • 端口和套接字的概念

  24. TCP/IP Transport layer • Transmission Control Protocol (TCP) • User Datagram Protocol (UDP) 1. TCP/IP的传输层协议 Application Transport Internet NetworkInterface • 传输控制协议TCP——面向连接的、可靠的传输协议。 • 用户数据报协议UDP——无连接的、不可靠的传输协议。 Hardware

  25. 传输协议数据单元 TPDU (Transport Protocol Data Unit)是两个对等传输实体在通信时传送的数据单元。 TCP 传送的协议数据单元(PDU)是 TCP 报文段(segment) UDP 传送的协议数据单元(PDU)是 UDP 报文即用户数据报(User Datagram) 传输层的协议数据单元

  26. UDP——无连接、不可靠。 在传送数据报文之前不需要先建立连接。对方的传输层在收到 UDP 报文后,不需要给出任何确认。 虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。 TCP ——面向连接、可靠。 为了提供可靠的、面向连接的传输服务,不可避免地增加了许多的开销。 不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 TCP 与 UDP

  27. 传输层的UDP用户数据报与网际层的IP数据报有很大区别:传输层的UDP用户数据报与网际层的IP数据报有很大区别: IP 数据报要经过互连网中许多路由节点的存储转发,而UDP用户数据报是在传输层的端到端抽象的逻辑信道中传送的。 TCP 报文段是在传输层抽象的端到端逻辑信道中传送,但这种信道是可靠的全双工信道。但这样的信道却不知道究竟经过了哪些路由节点。 端到端的逻辑信道

  28. AP1 AP2 AP3 AP4 5 进程间端到端的通信 5 ( ) ( ) ( ) ( ) 4 4 3 3 2 2 AP1 AP3 主机A 主机B 1 1 LAN1 WAN LAN2 AP2 AP4 网络层协议的作用范围 传输层协议的作用范围 传输服务的访问点 TSAP TSAP

  29. 端口(Port)是TCP/IP体系中的传输服务访问点TSAP 。 应用层的各种应用进程是通过端口将其数据向下交付给传输层的,而传输层则将其收到的报文段中的数据向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标志应用层的进程。 端口用一个 16 bit 整数表示,取值范围0~65535 。 注意:端口仅具有本地意义。 端口号只是为了标志本计算机应用层中的各进程。 在互联网中不同计算机的相同端口号是没有联系的。 端口的概念

  30. 在TCP/IP协议体系中,不同进程间的相互通信采用客户/服务器(Client/Server)模式 ; 客户与服务器分别表示相互通信的两个应用程序的进程; 主动发起连接建立的应用进程叫做客户(client)。 被动等待连接建立的应用进程叫做服务器(server)。 客户向服务器发出服务请求,服务器响应客户的请求,提供客户机所需要的服务。 客户服务器方式

  31. 端口分为两大类: 熟知端口(well-known-port):是已定义的固定端口,取值范围0~1023 ,在RFC1700中定义。 由因特网管理机构分配给一些常用的应用服务进程。0~255的端口是最常用的熟知端口。 一般端口:取值范围:1024~65535 动态地分配给请求通信的客户进程。 端口的分类

  32. 每一个客户进程都知道相应的服务器进程的熟知端口号。每一个客户进程都知道相应的服务器进程的熟知端口号。 FTP TELNET SMTP HTTP DNS TFTP SNMP Application Layer Port Numbers 20 21 23 25 80 53 69 161 Transport Layer TCP UDP 熟知端口号

  33. 端口仅具有本地意义。 端口号只是为了标志本计算机应用层中的各进程。 在互联网中不同计算机的相同端口号是没有联系的。 注意

  34. 协议 端口号 服务进程 描述 UDP 42 NAME Server 主机名字服务器 UDP 53 DOMAIN 域名服务器 UDP 67 BOOTP Client 客户端引导协议服务 UDP 68 BOOTP Server 服务器端引导协议服务 UDP 69 TFTP 简单文件传输协议 UDP 111 RPC 远程过程调用 UDP 161 SNMP 简单网络管理协议 TCP 20 FTP Data 文件传输服务器(数据连接) TCP 21 FTP Control 文件传输服务器(控制连接) TCP 23 Telnet 远程终端服务器 TCP 25 SMTP 简单邮件传输协议 TCP 80 HTTP 超文本传输协议 TCP 110 POP 邮局协议 常见的熟知端口

  35. SourcePort Dest. Port ........ SP DP 1028 23 ........ TCP端口号示例 Dest. port = 23. Send packet to my Telnet application. Telnet Z A Z

  36. 132.6.23.1 128.1.12.1 端口:1500 端口:1501 端口: 25 A B C 128.1.12.1 端口:1500 套接字的概念 • 套接字(插口,Socket) • 是TCP/IP体系中传输层的通信端点(endpoint) • 套接字包括32位的IP地址和16位的端口号,它唯一地标识了一台主机上的一个应用进程。

  37. 客户进程是一次通信过程中的发起方; 服务器进程是接受通信请求,提供服务的一方; 每一次通信由客户进程随机启动,而服务器进程处于等待状态,及时响应客户服务请求。 所有传输服务都是通过套接字来完成的。 SOCKET SOCKET BIND LISTEN ACCEPT CONNECT RECEIVE SEND CLOSE CLOSE 传输服务模式 服务器端: 等待通信 客户端: 发起通信

  38. . 协议 原语 含义 . TCP SOCKET 创建新的通信端点Socket BIND 为Socket分配一个本地地址(名字) LISTEN 声明愿意接收连接,给出等待队列最大长度 ACCEPT 阻塞服务进程,直至连接请求到达 CONNET 在一个Socket上主动发起连接 SEND 在一个Socket连接上发送数据 RECEIV 在一个Socket连接上接收数据 . CLOSE 释放连接 . UDP SOCKET 创建新的通信端点 BIND 为Socket分配一个本地地址(名字) SENDTO 发送数据 . RECVFROM 接收数据 . TCP/UDP套接字原语

  39. UDP采取无连接的方式提供高层协议间的事务处理服务,允许它们互相发送数据报。即,UDP是在计算机上规定用户以数据报方式进行通信的协议,可供应用进程直接使用。UDP采取无连接的方式提供高层协议间的事务处理服务,允许它们互相发送数据报。即,UDP是在计算机上规定用户以数据报方式进行通信的协议,可供应用进程直接使用。 UDP协议是基于IP协议的,只在IP数据报的服务之上增加了一点点功能,即端口和差错检测的功能。因此UDP可以识别应用进程。 8.3 用户数据报协议UDP

  40. UDP提供的是无连接、不可靠的,但尽最大努力去交付的服务。UDP提供的是无连接、不可靠的,但尽最大努力去交付的服务。 UDP保留上层应用程序产生的报文的边界,即它不会对报文合并或分段处理,这样使得接收方收到的报文与发送时的报文大小完全一致。 许多应用协议是基于UDP的,如: DNS、RIP、TFTP、SNMP、NFS等。 UDP提供的服务

  41. 虽然UDP用户数据报只能提供不可靠的交付,但UDP 在某些方面有其特殊的优点: 发送数据之前不需要建立连接 UDP的主机不需要维持复杂的连接状态表。 UDP用户数据报只有8个字节的首部开销。 网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。 UDP协议的特点

  42. 注意:UDP数据报的伪首部仅仅用于计算校验和。注意:UDP数据报的伪首部仅仅用于计算校验和。 4 4 1 1 2 字节 源 IP 地址 目的IP地址 0 17 UDP长度 2 字节 12 2 2 2 校验和 伪首部 源端口 目的端口 UDP长度 首部 数据 UDP 数据报 UDP 数据报的格式

  43. 153.19.8.104 12 字节 伪首部 171.3.14.11 全 0 17 15 1087 13 15 全 0 数据 数据 数据 数据 数据 数据 数据 全 0 8 字节 UDP 首部 7 字节 数据 填充 UDP校验和的计算示例 10011001 00010011 → 153.19 00001000 01101000 → 8.104 10101011 00000011 → 171.3 00001110 00001011 → 14.11 00000000 00010001 → 0 和 17 00000000 00001111 → 15 00000100 00111111 → 1087 00000000 00001101 → 13 00000000 00001111 → 15 00000000 00000000 → 0(检验和) 01010100 01000101 → 数据 01010011 01010100 → 数据 01001001 01001110 → 数据 01000111 00000000 → 数据和 0(填充) 10010110 11101011 → 求和得出的结果 01101001 00010100 → 校验和 按二进制反码运算求和 将得出的结果求反码

  44. 8.4 传输控制协议TCP • 传输控制协议TCP • TCP的数据编号与捎带确认 • TCP的流量控制与拥塞控制 • TCP的差错控制 • TCP的计时器 • TCP传输连接的管理 • 一个TCP/IP数据包实例

  45. TCP是面向连接的传输协议,提供可靠的全双工服务。TCP是面向连接的传输协议,提供可靠的全双工服务。 TCP的数据传送单元,称为报文段(Segment),由应用层的数据加上TCP首部构成。 1. 传输控制协议TCP

  46. 0 8 16 24 31 源端口SP 目的端口DP 序 号Seq 确 认 号Ack TCP首部 首部长度HLAN 保留Res U R G A C K P S H R S T S Y N F I N 窗口大小Win 校验和Chksum 紧急指针Urgent 选项Opt(长度可变) 填充Pad 数据Data… TCP 报文段的格式 IP • 源端口(Source Port)和目的端口(Dest. Port) :各占 16位, 2 字节。分别标识相互通信的的两个应用进程 。

  47. 0 8 16 24 31 源端口SP 目的端口DP 序 号Seq 确 认 号Ack TCP首部 首部长度HLAN 保留Res U R G A C K P S H R S T S Y N F I N 窗口大小Win 校验和Chksum 紧急指针Urgent 选项Opt(长度可变) 填充Pad 数据Data… TCP 报文段的格式 • 序号(Seq):占32位,4个字节,是本报文段的第一个数据字节的编号。

  48. 0 8 16 24 31 源端口SP 目的端口DP 序 号Seq 确 认 号Ack TCP首部 首部长度HLAN 保留Res U R G A C K P S H R S T S Y N F I N 窗口大小Win 校验和Chksum 紧急指针Urgent 选项Opt(长度可变) 填充Pad 数据Data… TCP 报文段的格式 • 确认号(Seq):占32位,4个字节,是期望收到对方的下一个报文段的序号。

  49. 0 8 16 24 31 源端口SP 目的端口DP 序 号Seq 确 认 号Ack TCP首部 首部长度HLAN 保留Res U R G A C K P S H R S T S Y N F I N 窗口大小Win 校验和Chksum 紧急指针Urgent 选项Opt(长度可变) 填充Pad 数据Data… TCP 报文段的格式 • 首部长度(HLEN):也称为数据偏移,占4位,以4字节字长为单位,缺省值为5。

  50. 0 8 16 24 31 源端口SP 目的端口DP 序 号Seq 确 认 号Ack TCP首部 首部长度HLAN 保留Res U R G A C K P S H R S T S Y N F I N 窗口大小Win 校验和Chksum 紧急指针Urgent 选项Opt(长度可变) 填充Pad 数据Data… TCP 报文段的格式 • 保留字段(Reserved):共6位,未使用。

More Related