资源预览内容
第1页 / 共90页
第2页 / 共90页
第3页 / 共90页
第4页 / 共90页
第5页 / 共90页
第6页 / 共90页
第7页 / 共90页
第8页 / 共90页
第9页 / 共90页
第10页 / 共90页
亲,该文档总共90页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机网络基础知识,主讲:朱毅 zhuyi,第 5 章 传 输 层,主要内容,5.1 传输层协议概述 5.2 TCP/IP 体系中的传输层 5.3 用户数据报协议 UDP 5.4 传输控制协议 TCP,基本要求 充分了解传输层的作用和地位 掌握端口的概念 掌握传输层的TCP和UDP协议的基本特点、 基本原理,5.1 传输层协议概述,传输层的作用是在源主机和目的主机之间提供端到端的,性能可靠的数据传输。 从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,传输层的功能和地位 传输层提供端到端(进程-进程)的可靠通信,即向高层用户屏蔽通信子网的细节,提供通用的传输接口 1. 主要功能 传输层为应用进程之间提供端到端的逻辑通信(网络层是为主机之间提供逻辑通信) 对收到的报文进行差错检测 流量控制和拥塞控制 传输连接管理 传输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。,5.1 传输层协议概述,传输层为相互通信的应用进程提供了逻辑通信,5.1 传输层协议概述,应用进程之间的通信,两个主机进行通信实际上就是两个主机中的应用进程 互相通信。 应用进程之间的通信又称为端到端的通信。 传输层的一个很重要的功能就是复用和分用。应用层 不同进程的报文通过不同的端口向下交到传输层,再往下 就共用网络层提供的服务。,5.1 传输层协议概述,传输层协议和网络层协议的主要区别,应用进程,应用进程,IP 协议的作用范围 (提供主机之间的逻辑通信),TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信),因 特 网,5.1 传输层协议概述,传输层向上提供可靠的和不可靠的逻辑通信信道,?,应 用 层,传 输 层,发 送 进 程,接 收 进 程,接 收 进 程,数据,数据,全双工可靠信道,数据,数据,使用 TCP 协议,使用 UDP 协议,不可靠信道,发 送 进 程,传输层提供的服务分为:面向连接的传输服务和 无连接传输服务。,5.1 传输层协议概述,2. 传输层的地位,5.1 传输层协议概述,地位 传输层在网络分层结构中起承上启下的作用。 无论通信子网服务和QoS如何,总可以利用传输层对它加以屏蔽,将子网的技术、设计和各种不尽人意的地方与上层隔离开来,向上提供一个标准的、相当完善的服务界面,从而为编写通用、高效的网络应用程序提供可能。,5.1 传输层协议概述,传输层协议设计 因通信子网种类很多,每种各具特色,故传输层协议的设计需与这些“特色”相适应。 定性来看,通信子网提供的的服务越可靠,传输协议就可以越简单。,5.1 传输层协议概述,总结: 本质上,传输层的目的是加强和弥补通信子网的服务。“加强”是对QoS而言,指提高服务的可靠性,“弥补”是对服务类型而言,传输层提供端到端进程通信,而子网仅提供点到点通信。,5.1 传输层协议概述,TCP/IP的传输层有两个不同的协议: (1) 用户数据报协议 UDP (User Datagram Protocol) (2) 传输控制协议 TCP (Transmission Control Protocol),一、传输层中的两个协议,5.2 TCP/IP 体系中的传输层,TCP,UDP,IP,应用层,与各种网络接口,传输层,TCP 传送的协议数据单位是 TCP 报文段(segment) UDP 传送的协议数据单位是 UDP 报文或用户数据报。 UDP 在传送数据之前不需要先建立连接。对方的传输层在收到 UDP 报文后,不需要给出任何确认。 TCP 提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。,TCP 与 UDP,5.2 TCP/IP 体系中的传输层,二、端口的概念,端口就是传输层服务访问点 TSAP。 端口的作用:(两方面考虑) 发送方:让应用层的各种应用进程都能将其数据 通过端口向下交付给传输层 接收方:让传输层知道应当将其报文段中的数据 向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标志应用层的进程。,5.2 TCP/IP 体系中的传输层,端口在进程之间通信中所起的作用,应 用 层,传 输 层,网 络 层,TCP 报文段,应用进程,TCP 复用,IP 复用,UDP 复用,TCP 报文段,应用进程,端口,TCP 分用,UDP 分用,IP 分用,发送方,接收方,端口,UDP 用户数据报,UDP 用户数据报,5.2 TCP/IP 体系中的传输层,端口的复用和分用功能,端口将应用层的不同进程区分开; 使用复用和分用技术,使得传输层和网络层的交互看不见各种应用进程,而只有TCP报文段或UDP数据报; IP层也使用类似的复用和分用技术,因而网络层和数据链路层的交互也只有IP数据报。,5.2 TCP/IP 体系中的传输层,端口,端口用一个 16 bit 端口号进行标志。 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。,5.2 TCP/IP 体系中的传输层,端口分类,服务器端使用的端口号 熟知端口:数值一般为 01023。以全局方式分配。不同机器上同样的服务器,其端口号相同。 登记端口号:数值为102449151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。 客户端使用的端口号 也称短暂端口号,数值为4915265535,留给客户进程选择暂时使用。以本地方式分配。 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。,5.2 TCP/IP 体系中的传输层,常用的端口号举例,TCP熟知端口示例,5.2 TCP/IP 体系中的传输层,UDP熟知端口示例,5.2 TCP/IP 体系中的传输层,A与C先建立第一个连接,端口500端口25 A与C后建立第二个连接,端口501端口25 同样,B与C建立第三个连接,端口500端口25,端口使用说明,5.2 TCP/IP 体系中的传输层,端口使用说明(续) 同一主机可以运行不同的应用进程,其端口号必须局部唯一。 例如,上例中主机A的500和501 各主机独立分配端口号,故可能相同,由于将端口号和主机的IP地址结合在一起使用,因此通信时不会发生混乱。 例如,上例中主机A和B的连接1和连接3,各自分别都在500端口连接,但不会出错,5.2 TCP/IP 体系中的传输层,端口号与IP地址结合使用,为了在通信时不致发生混乱,必须将端口号与主机的IP地址结合在一起使用; 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 在某些方面有其特殊的优点。,一、UDP 概述,5.3 用户数据报协议 UDP,UDP 的主要特点,UDP 是无连接的。发送数据之前不需要建立连接 UDP 使用尽最大努力交付。不保证可靠交付,同时也不使用拥塞控制。 UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。 UDP 支持一对一、一对多、多对一和多对多的交互通信。 UDP 的首部开销小,只有 8 个字节。,5.3 用户数据报协议 UDP,解释“UDP是面向报文的”,发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分。 应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。 接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。 应用程序必须选择合适大小的报文。,5.3 用户数据报协议 UDP,5.3 用户数据报协议 UDP,二、UDP 用户数据报的首部格式,伪首部,源端口,目的端口,长 度,检验和,数 据,IP首部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,UDP首部,UDP 用户数据报,5.3 用户数据报协议 UDP,UDP用户数据报 有两个字段:数据字段和首部字段。首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。,伪首部,源端口,目的端口,长 度,检验和,数 据,IP首部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,UDP 用户数据报,UDP首部,5.3 用户数据报协议 UDP,在计算校验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算校验和。,伪首部,源端口,目的端口,长 度,检验和,数 据,IP首部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,UDP 用户数据报,校验和的计算方法类似于IP数据报,但是对首部和数据都校验,UDP首部,5.3 用户数据报协议 UDP,TCP 最主要的特点,TCP 是面向连接的传输层协议 每一条 TCP 连接只能有两个端点(Endpoint),每一条 TCP 连接只能是一对一的 TCP 提供可靠交付的服务。(无差错、不丢失、不重复、不失序) TCP 提供全双工通信。(双方应用进程在任何时候都能发送数据。双方都有发送缓存和接收缓存) 面向字节流,一、TCP 概述,5.4 传输控制协议 TCP,应用程序和TCP的交互是一次一个数据块(大小不等),但TCP将应用程序交下来的数据看成是一串无结构的字节流。 TCP不关心字节流的含义。 不保证接收方应用程序收到的数据块和发送方应用程序所发送的数据块具有对应大小的关系。 接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。 TCP中每个字节都对应有一个序号,面向字节流的概念,5.4 传输控制协议 TCP,面向字节流的概念(续),发送 TCP 报文段,发送方,接收方,把字节写入 发送缓存,从接收缓存 读取字节,应用进程,应用进程,18,17,16,15,14,H,加上 TCP 首部 构成 TCP 报文段,TCP,TCP,字节流,字节流,H,表示 TCP 报文段的首部,x,表示序号为 x 的数据字节,TCP 连接,5.4 传输控制协议 TCP,图中 TCP 连接是一条虚连接而不是一条真正的物理连接。 TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的。 TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。 TCP 可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成报文段发送出去。,5
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号