生物医学工程计算机网络运输层

上传人:好** 文档编号:105767869 上传时间:2019-10-13 格式:PPT 页数:128 大小:1.33MB
返回 下载 相关 举报
生物医学工程计算机网络运输层_第1页
第1页 / 共128页
生物医学工程计算机网络运输层_第2页
第2页 / 共128页
生物医学工程计算机网络运输层_第3页
第3页 / 共128页
生物医学工程计算机网络运输层_第4页
第4页 / 共128页
生物医学工程计算机网络运输层_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《生物医学工程计算机网络运输层》由会员分享,可在线阅读,更多相关《生物医学工程计算机网络运输层(128页珍藏版)》请在金锄头文库上搜索。

1、计算机网络,第 5 章 运输层,网络与多媒体教研室:关继夫,2,数据通信研究的主要内容 -网络层广域网通信,体系层次:网络层 数据通信范围:各个局域网之间 通信通路端点:主机端到主机端 编址、寻址方案:IP 地址 传输单元:IP 数据报 通信方法:IP 协议族,3,运输层的作用,问题1:网络层负责把数据报传输到目的主机,此时数据通信结束了么? 此时数据停留在网络层,并没有最终上交到应用层,数据通信没有结束。 问题2:真正进行通信的实体是主机么? 真正进行通信的实体是主机中的进程。 因此,运输层存在是必要的,作用是为相互通信的应用进程提供逻辑通信。,4,数据通信研究的主要内容 -主机间进程,主机

2、间进程数据通信研究的内容 体系层次:运输层 数据通信范围是什么呢? 通信通路端点是什么呢? 编址、寻址方案是什么呢? 传输单元是什么呢? 通信方法又是什么呢? 另外,运输层还要解决拥塞问题,又该如何解决呢?,5,第 5 章 运输层,5.1 运输层协议概述 5.2 用户数据报协议 UDP 5.3 传输控制协议 TCP 5.4 拥塞控制原理 5.5 TCP的拥塞控制,6,5.1 运输层协议概述 5.1.1 进程之间的通信,运输层提供的服务 运输层向应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 运输层工作的位置 只有主机的协议栈才有运输层, 路由器在转发分组时只用到下

3、三层的功能。,如何理解运输层的逻辑通信,5 4 3 2 1,运输层提供应用进程间的逻辑通信,主机 A,主机 B,应用进程,应用进程,路由器 1,路由器 2,AP1,LAN2,WAN,AP2,AP3,AP4,IP 层,LAN1,AP1,AP2,AP4,端口,端口,5 4 3 2 1,IP 协议的作用范围,运输层协议 的作用范围,AP3,8,应用进程之间的通信,逻辑通信:两个运输层之间并没有一条水平方向的物理连接。 两个主机进行通信,实际是两个主机中的应用进程互相通信。 运输层具有复用和分用的功能(如上面的例子,收发室)。 应用层不同进程的报文向下交到运输层 网络层也具有复用和分用功能,9,网络层

4、为主机之间提供逻辑通信;运输层为应用进程之间提供端到端的逻辑通信。 网络层只对 IP 数据报首部校验,运输层对收到的报文进行差错检测。 网络层只提供一种协议服务,运输层根据应用程序的需求不同,提供了面向连接的和无连接的两种(TCP/UDP)不同协议服务。,运输层协议和网络层协议的 主要区别,10,两种不同的运输协议,运输层向应用层屏蔽(逻辑通信屏蔽下层细节)了下面网络核心的细节(如网络拓扑、路由选择等) 。 当采用面向连接的 TCP 协议时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。 当采用无连接的 UDP 协议时,这种逻辑通信信道是一条不可靠信道。,11,TC

5、P/IP 的运输层有两个不同的协议: (1) 用户数据报协议 UDP (User Datagram Protocol) (2) 传输控制协议 TCP (Transmission Control Protocol) 为什么需要不同的运输层协议? 根据服务需求的不同提供可靠和不可靠的传输服务。,5.1.2 因特网的运输层协议,12,TCP和UDP是运输层两个对等的协议。 运输层传送的数据单元 从整个运输层来看传送的数据单位 叫作运输协议数据单元 TPDU (Transport Protocol Data Unit) 从运输层协议来看传送的数据单元 TCP 传送的数据单位是 TCP 报文段 UDP

6、传送的数据单位是 UDP 报文或用户数据报,TCP 与 UDP,13,TCP/IP 体系中的运输层协议,TCP,UDP,IP,应用层,与各种网络接口,运输层,14,TCP 与 UDP,UDP 提供无连接的服务,在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。UDP 不提供可靠交付。 TCP 提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此增加了许多的开销。如,首部增大很多,占用更多的处理机资源。,15,使用UDP协议的应用层协议,应用层,传输层,IP 电话,DHCP,TFTP,SNMP,DNS,Por

7、t,UDP,16,使用TCP协议的应用层协议,应用层,传输层,SMTP,TELNET,HTTP,FTP,Port,TCP,17,5.1.3 运输层的复用与分用,什么是复用和分用。 复用:应用层的应用进程都可以通过运输层将数据再传送到 IP 层。 分用:运输层可以从 IP 层收到数据后,再将数据交付给指明的应用进程。,18,运输层的端口,复用和分用,19,运输层的端口,运输层如何实现复用和分用? 使用与操作系统无关的协议“端口号”对不同的应用进程进行标识。 为什么不使用单个计算机中的进程标识符在因特网上标识应用进程? 因特网上各个计算机的操作系统不同,而不同的操作系统又使用不同的进程标识符。 要

8、对不同的进程标识符进行转换非常困难。,20,协议端口号简称为端口(port)。即在本计算机内为每个应用进程分配一个唯一的端口号。 端口号是抽象出来的,用数字表示。 (举例:犯人 编号 9527) 通信的终点是应用进程,但只要把传送的报文交付到目的主机的目的端口即可,可以把端口想象为通信的终点。 (举例:楼-房间号-本人),运输层的端口,21,运输层的端口,端口用一个 16 位的字符串进行标志。取值范围是 065535。 端口号只具有本地意义,即端口号只是为了标志本计算机中的各个进程。在因特网中不同计算机的相同端口号是没有联系的。 如:同为 80 端口,但提供不一样的 WEB 服务。 因此,在互

9、联网内对通信终点即应用进程的唯一标识是(IP地址+端口号)。,22,端口的划分,因特网上的计算机通信常常采用客户/服务器方式,运输层端口据此进行划分。 服务器端使用的端口 熟知端口:数值一般为 01023。分配给服务器端熟知应用进程。如:HTTP(80)、FTP(21) 登记端口:数值为102449151,为没有熟知端口号的应用程序使用。可在 IANA登记。,23,端口的划分,动态端口号(客户端口号) : 数值为4915265535, 留给客户进程选择暂时使用。 一是用于唯一标识此主机的进程。 二是用于接收服务器端报文。 通信结束后,这个端口号可供其他客户进程以后使用。,24,5.2 用户数据

10、报协议 UDP (User Datagram Protocol),5.2.1 UDP 概述 5.2.2 UDP 的首部格式,25,5.2.1 UDP 概述,UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。 UDP 提供不可靠的交付(不建立连接),同时也不使用拥塞控制,但UDP在某些方面有其特殊的优点。,26,UDP 的主要特点,UDP 优点: UDP 是无连接的,减少了开销和时延。 UDP 没有流量和拥塞控制(发送速度平稳),很适合多媒体通信的要求。 UDP 的首部开销小,只有 8 个字节。 UDP 支持一对一、一对多、多对一和多对多的交互通信。 UDP

11、 是面向报文的。对应用层交下来的报文,既不合并,也不拆分。添加首部后就交付给IP层(应用程序应选择合适大小的报文),27,UDP 的主要特点,UDP 缺点 数据可能丢失。 没有拥塞控制的,当很多高速率的实时多媒体数据流在网络传送时,容易造成网络拥塞。,28,5.2.2 UDP 的首部格式,源端口,目的端口,长 度,检验和,数 据,首 部,IP 数据报,2,2,2,2,字节,发送在前,数 据,首 部,UDP 用户数据报,源端口:需要回信时选用。 目的端口:终点交付报文时必须使用。 长度:UDP 用户数据报长度。 检验和:检验 UDP 用户数据报是否出错。,伪首部,源端口,目的端口,长 度,检验和

12、,数 据,首 部,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP 用户数据报,计算检验和时要在UDP数据报前增加12字节的伪首部: 伪首部:不是 UDP 数据报真正的首部,只在计算校验和时临时添加在 UDP 用户数据报前面。伪首部不参与数据传送。,30,5.3 传输控制协议 TCP,5.3.1 TCP 最主要的特点 5.3.2 TCP 的报文结构 5.3.3 TCP 的可靠数据传输 5.3.4 流量控制 5.3.5 TCP 的连接管理,31,TCP 是面向连接。 每一条 TCP 连接只

13、能有两个端点,即“一对一” 。 TCP 提供可靠交付的服务。 TCP 提供全双工通信。TCP 连接的两端设有发送缓存和接收缓存。 TCP面向字节流 (回顾UDP),5.3.1 TCP的主要特点,32,5.3.1 TCP 的主要特点,面向字节流的含义: 虽然应用程序和 TCP 的交互是一次一个数据块,但TCP把数据看成是一连串的字节流。 TCP 不保证接收方应用程序所收到的数据块和发送方的应用程序所发出数据块一一对应(数据可以合并和拆分)。 但接收方应用程序收到的字节流和发送方应用程序发出的字节流完全一样。,33,TCP 面向字节流的概念,发送 TCP 报文段,发送方,接收方,把字节写入 发送缓

14、存,从接收缓存 读取字节,应用进程,应用进程,18,17,16,15,14,H,加上 TCP 首部 构成 TCP 报文段,TCP,TCP,字节流,字节流,H,表示 TCP 报文段的首部,x,表示序号为 x 的数据字节,TCP 连接,34,TCP 面向流的概念,TCP引入“面向字节流”概念的探讨 应用程序和 TCP 交互的是数据块,但数据块本身是由许多的字节数据组成的(可行)。 发送的TCP 报文段大小不一样的需求(需要)。 TCP 会根据实际的情况(流量和拥塞)将应用程序交下来的数据进行合并和拆分,合并和拆分的时候以字节为单位(原因)。 为什么 UDP 没用引入字节流的概念? 数据不进行合并和

15、拆分。,35,应当注意,TCP 连接是一条虚连接。 通信是全双工方式。 TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的。 TCP 根据 接收方 和 当前的网络情况 来决定一个 TCP 报文段应包含多少个字节。,36,应当注意,TCP 可把太长的数据块划短再传。也可积累足够多的字节后再发送。 大概过程 发送方的进程按照自己产生数据的规律,不断地把数据块写入到 TCP 发送缓存中。 TCP 再从发送缓存中取出一定数量的数据 组成报文段再发送出去。 接收方收到报文段后,先暂存在接收缓存中,然后接收方的进程将数据块逐个读取。,37,TCP 的连接,问题: 既然TCP 是面向连接的,

16、那么连接的端点是什么? 是主机?(概念太广,没有标识) 是主机的IP 地址?(数据的终点是应用进程) 是应用进程?(TCP 连接为进程提供服务的) 是运输层的协议端口。(所有的主机都可能用到相同的端口) 答案:连接的端点叫做套接字(socket) 端口号拼接到 IP 地址即构成了套接字。,38,套接字 (socket),套接字 socket =: (IP地址: 端口号) 每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即: TCP 连接 := socket1, socket2 = (IP1: port1), (IP2: port2),39,5.3.2 TCP 报文段结构,TCP 报文段分为首部和数据两部分。 首部中各字段的作用可以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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