《计算机网络-CH5-传输层(V08)解读》由会员分享,可在线阅读,更多相关《计算机网络-CH5-传输层(V08)解读(90页珍藏版)》请在金锄头文库上搜索。
1、计算机网络 主讲:魏培阳 第 5 章 运 输 层 主要内容 5.1 运输层协议概述 5.2 TCP/IP 体系中的运输层 5.3 用户数据报协议 UDP 5.4 传输控制协议 TCP 基本要求 l 充分了解运输层的作用和地位 l 掌握端口的概念 l 掌握运输层的TCP和UDP协议的基本特点 、 基本原理 5.1 运输层协议概述 运输层的作用是在源主机和目的主 机之间提供端到端(进程-进程)的, 性能可靠的数据传输。 从通信和信息处理的角度看,运输 层向它上面的应用层提供通信服务 运输层的功能和地位 运输层提供端到端(进程-进程)的可靠通信,即向 高层用户屏蔽通信子网的细节,提供通用的传输接口。
2、 1. 主要功能 运输层为应用进程之间提供端到端的逻辑通信(网络层 是为主机之间提供逻辑通信) 对收到的报文进行差错检测 流量控制和拥塞控制 传输连接管理 运输层需要有两种不同的传输协议,即面向连接的 TCP 和无连接的 UDP。 5.1 运输层协议概述 运输层为相互通信的应用进程提供了逻辑通信 5 4 3 2 1 运输层提供应用进程间的逻辑通信 主机 A主机 B 应用进程应用进程 路由器 1路由器 2 AP1 LAN2WA N AP2 AP3 AP4 IP 层 LAN1 AP1 AP2 AP4 端口 端口5 4 3 2 1 IP 协议的作用范围 运输层协议 TCP 和 UDP 的作用范围 A
3、P3 5.1 运输层协议概述 应用进程之间的通信 两个主机进行通信实际上就是两个主机中的应用进程 互相通信。 应用进程之间的通信又称为端到端的通信。 运输层的一个很重要的功能就是复用和分用。应用层 不同进程的报文通过不同的端口向下交到运输层,再往下 就共用网络层提供的服务。 5.1 运输层协议概述 运输层协议和网络层协议的主要区别 应用进程 应用进程 IP 协议的作用范围 (提供主机之间的逻辑通信) TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信) 因 特 网 5.1 运输层协议概述 运输层向上提供可靠的和不可靠的逻辑通信信道 应 用 层 传 输 层 发 送 进 程 接 收 进
4、程 接 收 进 程 数据数据 全双工可靠信道 数据数据 使用 TCP 协议 使用 UDP 协议 不可靠信道 发 送 进 程 运输层提供的服务分为:面向连接的传输服务和无连接传 输服务。 5.1 运输层协议概述 2. 运输层的地位 运输层 Transport 运输层 Transport 应用层 应用层 OSI下三层OSI下三层 用户进程管理 通信子网 向上提供标准的传输服务 向下屏蔽不同的通信子网 5.1 运输层协议概述 地位 运输层在网络分层结构中起承上启下的作用。 无论通信子网服务和QoS如何,总可以利用运 输层对它加以屏蔽,将通信子网的技术、设计和各 种不尽人意的地方与上层隔离开来,向上提
5、供一个 标准的、相当完善的服务界面,从而为编写通用、 高效的网络应用程序提供可能。 5.1 运输层协议概述 运输层协议设计 因通信子网种类很多,每种各具特色,故运 输层协议的设计需与这些“特色”相适应。 定性来看,通信子网提供的的服务越可靠, 传输协议就可以越简单。 5.1 运输层协议概述 总结: 本质上,运输层的目的是加强和弥补通信子网的服 务。“加强”是对QoS而言,指提高服务的可靠性, “弥补”是对服务类型而言,运输层提供端到端进程 通信,而通信子网仅提供点到点通信。 5.1 运输层协议概述 QoS:Quality of Service,服务质量 TCP/IP的运输层有两个不同的协议:
6、(1) 用户数据报协议 UDP (User Datagram Protocol) (2) 传输控制协议 TCP (Transmission Control Protocol) 一、运输层中的两个协议 5.2 TCP/IP 体系中的运输层 TCPUDP IP 应用层 与各种网络接口 运输层 lTCP 传送的协议数据单位是 TCP 报文段(segment) lUDP 传送的协议数据单位是 UDP 报文或用户数据报。 lUDP 在传送数据之前不需要先建立连接。对方的运输层在 收到 UDP 报文后,不需要给出任何确认。 lTCP 提供面向连接的服务。TCP 不提供广播或多播服务。 由于 TCP 要提供
7、可靠的、面向连接的运输服务,因此不可 避免地增加了许多的开销。 TCP 与 UDP 5.2 TCP/IP 体系中的运输层 二、端口的概念 端口就是运输层服务访问点 TSAP。 端口的作用:(两方面考虑) l发送方:让应用层的各种应用进程都能将其数据 通过端口向下交付给运输层 l接收方:让运输层知道应当将其报文段中的数据 向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标志应用层的进程。 5.2 TCP/IP 体系中的运输层 端口在进程之间通信中所起的作用 应 用 层 运 输 层 网 络 层 TCP 报文段 应用进程 TCP 复用 IP 复用 UDP 复用 TCP 报文段 应用进
8、程 端口 TCP 分用UDP 分用 IP 分用 IP 数据报IP 数据报 发送方 接收方 端口 UDP 用户数据报 UDP 用户数据报 5.2 TCP/IP 体系中的运输层 端口的复用和分用功能 l端口将应用层的不同进程区分开; l使用复用和分用技术,使得运输层和网络层 的交互看不见各种应用进程,而只有TCP报 文段或UDP数据报; lIP层也使用类似的复用和分用技术,因而网 络层和数据链路层的交互也只有IP数据报。 5.2 TCP/IP 体系中的运输层 TCP/IP端口 l端口用一个 16 bit 端口号进行标志。 l端口号只具有本地意义,即端口号只是为 了标志本计算机应用层中的各进程。在因
9、 特网中不同计算机的相同端口号是没有联 系的。 5.2 TCP/IP 体系中的运输层 端口分类 服务器端使用的端口号 l熟知端口:数值一般为 01023。以全局方式分配。 不同机器上同样的服务器,其端口号相同。 l登记端口号:数值为102449151,为没有熟知端口 号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。 客户端使用的端口号 也称短暂端口号,数值为4915265535,留给客户进程 选择暂时使用。以本地方式分配。 当服务器进程收到客户进程的报文时,就知道了客 户进程所使用的动态端口号。通信结束后,这个端口号 可供其他客户进程以后使用。 5.2 TCP/IP
10、 体系中的运输层 常用的端口号举例 端口号应用层服务描述 20FTP data port文件传输服务器(数据) 21FTP Control Port文件传输服务器(控制) 23Telnet远程终端服务器 25SMTP简单邮件服务器 42Host Name Server(nameserver) 主机名字服务器 53Domain Name Server域名服务器 80World Wide WebWeb服务器 110Post Office Protocol (POP3)POP3服务器 TCP熟知端口示例 5.2 TCP/IP 体系中的运输层 端口号应用层服务描述 42Host Name Server
11、(nameserver)主机名字服务器 53Domain Name Server域名服务器 67BooTP启动协议服务 69TFTP简单文件传输 80World Wide WebWeb服务器 110Post Office Protocol (POP3)POP3服务器 161SNMP简单网络管理协议 UDP熟知端口示例 5.2 TCP/IP 体系中的运输层 端口 500 端口 501 IP=131.6.23.13 A 端口 500 IP=128.36.1.22 B 端口 25 IP=130.42.85.15 C 连接1 连接2 连接3 与主机C的SMTP建立三个连接 A与C先建立第一个连接,端口
12、500端口25 A与C后建立第二个连接,端口501端口25 同样,B与C建立第三个连接,端口500端口25 端口使用说明 5.2 TCP/IP 体系中的运输层 端口使用说明(续) l同一主机可以运行不同的应用进程,其端口号必 须局部唯一。 例如,上例中主机A的500和501 l各主机独立分配端口号,故可能相同,由于将端 口号和主机的IP地址结合在一起使用,因此通信 时不会发生混乱。 例如,上例中主机A和B的连接1和连接3,各自 分别都在500端口连接,但不会出错 5.2 TCP/IP 体系中的运输层 端口号与IP地址结合使用 为了在通信时不致发生混乱,必须将端口号与主机的IP地址结合 在一起使
13、用; TCP使用“连接”作为最基本的抽象,一个连接由它的两个端点来 标识,这样的端点称为插口(socket),就是我们常说的“套接字” ; 插口包括:IP地址(32比特)和端口号(16比特),共48比特; 在整个因特网中,在运输层通信的一对插口必须是唯一的; 从上例可知:使用面向连接的TCP,就是建立一条端到端的连接 。形成一对插口(131.6.23.13;501)和(130.42.85.15;25) 5.2 TCP/IP 体系中的运输层 UDP 只在 IP 的数据报服务之上增加了很 少一点的功能,即端口的功能和差错检测的 功能。 虽然 UDP 用户数据报只能提供不可靠的 交付,但 UDP 在
14、某些方面有其特殊的优点。 一、UDP 概述 5.3 用户数据报协议 UDP UDP 的主要特点 lUDP 是无连接的。发送数据之前不需要建立连接 lUDP 使用尽最大努力交付。不保证可靠交付,同 时也不使用拥塞控制。 lUDP 是面向报文的。UDP 没有拥塞控制,很适合 多媒体通信的要求。 lUDP 支持一对一、一对多、多对一和多对多的交 互通信。 lUDP 的首部开销小,只有 8 个字节。 5.3 用户数据报协议 UDP 解释“UDP是面向报文的” n发送方 UDP 对应用程序交下来的报文,在添 加首部后就向下交付 IP 层。UDP 对应用层交 下来的报文,既不合并,也不拆分。 n应用层交给
15、 UDP 多长的报文,UDP 就照样发 送,即一次发送一个报文。 n接收方 UDP 对 IP 层交上来的 UDP 用户数据 报,在去除首部后就原封不动地交付上层的应 用进程,一次交付一个完整的报文。 n应用程序必须选择合适大小的报文。 5.3 用户数据报协议 UDP IP 数据报的数据部分IP 首部 IP 层 UDP 首部UDP 用户数据报的数据部分 运输层 应用层报文 应用层 5.3 用户数据报协议 UDP 二、UDP 用户数据报的首部格式 伪首部源端口目的端口长 度检验和 数 据IP首部 UDP长度源 IP 地址目的 IP 地址017 IP 数据报 字节 44112 122222字节 发送
16、在前 数 据 UDP首部UDP 用户数据报 5.3 用户数据报协议 UDP UDP用户数据报 有两个字段:数据字段和首部字段。首部字段 有 8 个字节,由 4 个字段组成,每个字段都是两个字节。 伪首部源端口目的端口长 度检验和 数 据IP首部 UDP长度源 IP 地址目的 IP 地址017 IP 数据报 字节 44112 122222字节 发送在前 数 据 UDP 用户数据报 UDP首部 5.3 用户数据报协议 UDP 在计算校验和时,临时把“伪首部”和 UDP 用户数据报连接 在一起。伪首部仅仅是为了计算校验和。 伪首部源端口目的端口长 度检验和 数 据IP首部 UDP长度源 IP 地址目的 IP 地址017 IP 数据报 字节 44112 122222字节 发送在前 数 据 UDP 用户数据报 校验和的计算方法类似于IP数据报,但是对首部和数据都校验 UDP首