计算机网络ppt课件第五章传输层

上传人:aa****6 文档编号:54312839 上传时间:2018-09-10 格式:PPT 页数:72 大小:769.50KB
返回 下载 相关 举报
计算机网络ppt课件第五章传输层_第1页
第1页 / 共72页
计算机网络ppt课件第五章传输层_第2页
第2页 / 共72页
计算机网络ppt课件第五章传输层_第3页
第3页 / 共72页
计算机网络ppt课件第五章传输层_第4页
第4页 / 共72页
计算机网络ppt课件第五章传输层_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《计算机网络ppt课件第五章传输层》由会员分享,可在线阅读,更多相关《计算机网络ppt课件第五章传输层(72页珍藏版)》请在金锄头文库上搜索。

1、第五章 传输层,刘 轶 北京航空航天大学 计算机学院,本章内容 5.1 传输层协议概述 5.2 用户数据报协议 UDP 5.3 传输控制协议 TCP 概述 5.4 TCP报文段的首部格式 5.5 TCP可靠传输的实现 5.6 TCP的流量控制 5.7 TCP的拥塞控制 5.8 TCP的连接管理,5.1 传输层协议概述,5.1 传输层协议概述,一、进程之间的通信 传输层(Transport layer)又称为运输层 传输层向它上面的应用层提供通信服务 实现可靠传输:差错控制、顺序控制、拥塞控制等 传输层 vs. 网络层 网络层实现主机之间的逻辑通信 传输层实现应用进程之间的逻辑通信 真正的端到端

2、通信 复用(multiplexing)和解分(demultiplexing) 传输层主要协议 TCP 协议:可靠传输协议 UDP协议:不可靠传输协议,5.1 传输层协议概述,一、进程之间的通信,5.1 传输层协议概述,2009年的一道考研题 在OSI参考模型中,自下而上第一个提供端到端服务的层次是: A. 数据链路层 B. 传输层 C. 会话层 D. 应用层,5.1 传输层协议概述,二、传输层的两个主要协议 传输层的两个主要协议 用户数据报协议UDP (User Datagram Protocol) RFC 768 传输控制协议TCP (Transmission Control Protoco

3、l) RFC 793,传输的数据单位 OSI术语称为TPDU(Transport Protocol Data Unit) TCP/IP体系称为TCP报文段(segment)或UDP用户数据报,5.1 传输层协议概述,二、传输层的两个主要协议 TCP协议 可靠传输协议 提供面向连接的服务 传送数据前要先建立连接,传送结束后释放连接 需进行确认、流量控制、计时器、连接管理等,处理开销较大 基于TCP的典型应用协议:HTTP、FTP、 UDP协议 不可靠传输协议 传送数据时无需建立连接 与TCP相比,效率更高,但可能出现数据错、丢包、顺序错等问题 基于UDP的典型应用协议:DNS、RIP、,5.1

4、传输层协议概述,三、传输层的端口(1/2) 传输层需为多个应用进程提供服务 复用与分用 应用层多个应用进程通过传输层发送数据 复用 传输层收到的数据必须交付给指明的应用进程 分用 传输层必须提供区分上层应用进程的手段:端口(port) 问题:为什么不用进程ID? 进程ID的定义依赖于特定操作系统 一个应用进程常常需要与网络中的多个主机中的进程通信 多条连接 注意:此端口为软件端口,不同于计算机中的硬件I/O端口和交换机/路由器上的物理端口,5.1 传输层协议概述,三、传输层的端口(2/2) TCP/IP协议使用16位整数作为端口号 源端口号、目的端口号 端口号分类 熟知(well-known)

5、端口号或系统端口号:数值一般为 01023 例如:HTTP服务使用80,FTP服务使用21, 登记端口号:数值为102449151 供没有熟知端口号的应用程序使用 须在 IANA 登记,以防重复 客户端口号或短暂端口号:数值为4915265535 客户进程临时使用,RFC1700: Assigned Numbers,5.2 用户数据报协议 UDP,5.2 用户数据报协议 UDP,一、UDP概述 UDP 只在 IP 的数据报服务之上增加了很少一点的功能 端口和差错检测 UDP 为不可靠传输协议,但具有自身特点,与TCP分别面对不同的应用 UDP协议的特点 (1) 无连接,即发送数据之前不需要建立

6、连接 (2) 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制 (3) 是面向报文的。没有拥塞控制,很适合多媒体通信的要求 (4) 支持一对一、一对多、多对一和多对多的交互通信 (5) 首部开销小,只有 8 个字节,5.2 用户数据报协议 UDP,一、UDP概述,IP 数据报的数据部分,IP 首部,IP 层,UDP 首部,UDP 用户数据报的数据部分,传输层,应用层报文,应用层,二、UDP首部格式 UDP数据报包括2个字段:首部和数据字段 首部共4个字段,8字节,首部各字段 (1) 源端口:源端口号 (2) 目的端口:目的端口号 (3) 长度:UDP数据报长度 (4) 校验和:UDP

7、数据报的校验和 伪首部(pseudoheader):仅在计算校验和时使用,不实际传输,5.2 用户数据报协议 UDP,UDP报文示例:DNS请求,校验和的计算:与IP包头校验和计算类似 IP只计算包头校验和,UDP计算整个数据报的校验和 计算校验和时要添加伪头部,奇数字节需填充0字节,5.2 用户数据报协议 UDP,二、UDP首部格式,在接收方,如果在目的端口号上没有应用进程接收数据,则向源主机返回ICMP的“目的不可达”报文 安全问题?可能被扫描软件利用,5.3 传输控制协议 TCP 概述,5.3 传输控制协议 TCP 概述,一、TCP的主要特点 TCP 是面向连接的传输层协议 传输数据前必

8、须先建立连接,数据传输完毕后要释放连接 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一) TCP 提供可靠交付的服务 无差错、不丢失、不重复、按序到达 TCP 提供全双工通信 在一个连接上,通信双方可同时向对方传输数据 面向字节流 认为在TCP连接上传输的是字节流 应用程序以数据块为单位与TCP交互,但TCP将其视为无结构的字节流 结果:发送方应用进程发出的数据块与接收方应用进程收到的数据块可能没有一一对应关系,但数据保证一致,5.3 传输控制协议 TCP 概述,面向流的概念,注意:图中只画出了一个方向的数据流,实际TCP的数据传输是双向的,

9、5.3 传输控制协议 TCP 概述,一、TCP的主要特点 要注意的几点: TCP连接是一条虚连接而不是一条真正的物理连接 TCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的 TCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的) TCP可把太长的数据块划分短一些再传送 TCP也可等待积累有足够多的字节后再构成报文段发送出去,5.3 传输控制协议 TCP 概述,二、TCP 的连接 TCP把连接作为最基本的抽象 每一条TCP连接有两个端点 TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口,

10、TCP 连接的端点叫做套接字(socket)或插口 端口号拼接到(contatenated with) IP 地址即构成了套接字 套接字 socket = (IP地址: 端口号) 每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:TCP 连接 := socket1, socket2 = (IP1: port1), (IP2: port2),5.4 TCP 报文段的首部格式,TCP报文段的首部格式,源端口和目的端口字段:各2字节 序号字段:4字节 在TCP连接中传送的数据流中的每一个字节都有序号 序号字段指本报文段所发送的数据的第一个字节的序号,以字节为单位 确认号字段:

11、4字节,期望收到对方的下一个报文段的数据的第一个字节的序号 例:收到对方的报文段中序号为501,数据长度200字节,则返回报文段确认号=701 TCP连接时全双工,通信双方可互相发送数据,因此应答与数据一同发送给对方,数据偏移(首部长度):4bit,TCP报文段的数据起始位置的偏移,也就是首部的长度,单位是32位字(4字节) 保留字段:6bit,保留 紧急URG:1bit,为1时,紧急指针字段有效,表明有紧急数据,应尽快传送 确认ACK:1bit,为1时,确认号字段有效;为0时,确认号无效 推送PSH:1bit,为1时,接收方将尽快向应用进程交付此报文段,而不是等到整个缓存填满,复位RST:1

12、bit,为1时,表明TCP连接出现严重差错(如由于主机崩溃),须释放连接后重新建立连接 同步SYN:1bit,为1时,表示这是一个连接请求或连接接受报文 终止FIN: 1bit,为1时,表示要求释放TCP连接 窗口大小:2字节,用来让对方设置发送窗口的依据,单位为字节,检验和:2字节,伪首部+首部+数据的校验和 伪首部(pseudoheader)格式与UDP的伪首部相同,紧急指针:2字节,指出本报文段中紧急数据共有多少个字节(紧急数据放在数据的最前面) 选项:长度可变,最长40字节 最早定义的一种选项:最大报文段长度MSS(Maximum Segment Size) 告知对方报文段中数据最大长

13、度,双方可使用不同的MSS,缺省MSS=536字节 后续增加的选项:窗口扩大选项 、时间戳选项、选择确认选项 填充字段:为了使整个首部长度是4字节的整数倍,TCP报文示例:HTTP,5.5 TCP可靠传输的实现,一、以字节为单位的滑动窗口 TCP基于滑动窗口协议实现可靠传输和流量控制,滑动窗口以字节为单位 发送窗口 在没有收到对方应答的情况下,可以连续把窗口内的数据发送出去 即:窗口内的序号是允许发送的序号 窗口大小的确定:对方发来的窗口大小、拥塞控制 根据收到对方的TCP报文段头部中“acknowledge number”字段,窗口向前滑动移动 “acknowledge number”字段表

14、示在此序号之前的数据已被正确接收,A收到B的报文段中“window size”=20,“acknowledge number”=31,据此构造出自己的发送窗口 当对方通知的窗口尺寸变化时,发送窗口前沿可能需要向后收缩,但TCP 标准强烈不赞成这样做,P3 P1 = A 的发送窗口(又称为通知窗口) P2 P1 = 已发送但尚未收到确认的字节数 P3 P2 = 允许发送但尚未发送的字节数(又称为可用窗口),接收窗口 窗口内的数据是允许接收的 窗口后沿以外是已正确接收并交付上层的数据,收到了32和33号数据,但未收到31,应答“确认号”=31 如果后来收到了31号数据,则将31、32、33号数据上

15、交,窗口后沿前移,应答中“确认号”=34,B收到31号数据后,窗口前移3字节,并返回确认号34,假定窗口宽度仍为20 A收到确认号34后,窗口前移3字节 B收到37、38、40号数据,由于数据未按序收全,不能上交,不允许 发送,已发送并收到确认,A 的发送窗口已满,有效窗口为零,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,已发送但未收到确认,56,P1,P2,P3,A将发送窗口中未发送的数据全部发送后,发送窗口满,停止发送 如果未收到B返回的应答,A等待超时后

16、将重发部分数据,直到收到应答为止,2009年考研题 主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是( ) A. 500 B. 700 C. 800 D. 1000,发送缓存用来暂时存放: 发送应用进程传送给TCP,但尚未发出的数据 已发送,但尚未收到确认的数据 接收缓存用来暂时存放: 按序到达的、但尚未被接收应用进程读取的数据 未按序到达的数据 A的发送窗口并不总是和B的接收窗口一样大 TCP要求接收方必须有累积确认的功能,这样可以减小传输开

17、销,5.5 TCP可靠传输的实现,二、超时重传时间的选择 TCP的可靠传输通过校验和+超时重传实现 TCP每发送一个报文段,就对这个报文段设置一次计时器 如果计时器设置的重传时间到,但还没有收到确认,就要重传该报文段 超时时间的设置是一个复杂的问题 IP层提供数据报服务,每个数据报所选择的路由都可能有变化,因而传输层的往返时间变化较大 TCP采用一种自适应算法计算超时重传时间 加权平均往返时间RTTS TCP 保留了RTT的一个加权平均往返时间RTTS(又称为平滑的往返时间) 第一次测量到RTT样本时, RTTS就取为该值 以后每测量到一个新的RTT样本,按下式重新计算: 新的RTTS ( 1 ) 旧的RTTS 新的RTT样本 其中01, 越小,RTT值更新越慢, 越大,RTT值更新越快 RFC 2988 推荐=1/8,即 0.125,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号