数据通信与计算机网络课件 数据通信与计算机网络第十四章.ppt
《数据通信与计算机网络课件 数据通信与计算机网络第十四章.ppt》由会员分享,可在线阅读,更多相关《数据通信与计算机网络课件 数据通信与计算机网络第十四章.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据通信与计算机网络电信学院信通系 洪伟第第 7 章章 运输层运输层*7.1 运输层协议概述运输层协议概述*7.2 TCP/IP 体系中的运输层体系中的运输层7.2.1 运输层中的两个协议运输层中的两个协议7.2.2 端口的概念端口的概念*7.3 用户数据报协议用户数据报协议 UDP 7.3.1 UDP 概述概述7.3.2 UDP 用户数据报的首部格式用户数据报的首部格式第第 7 章章 运输层(续)运输层(续)7.4 传输控制协议传输控制协议 TCP*7.4.1 TCP 概述概述*7.4.2 TCP 报文段的首部报文段的首部*7.4.3 TCP 的数据编号与确认的数据编号与确认*7.4.4 T
2、CP 的流量控制与拥塞控制的流量控制与拥塞控制*7.4.5 TCP 的重传机制的重传机制 7.4.6 采用随机早期丢弃采用随机早期丢弃 RED 进行拥塞控制进行拥塞控制 *7.4.7 TCP 的运输连接管理的运输连接管理 7.4.8 TCP 的有限状态机的有限状态机 7.1 运输层协议概述运输层协议概述 n从从通通信信和和信信息息处处理理的的角角度度看看,运运输输层层向向它它上上面面的的应应用用层层提提供供通通信信服服务务,它它属属于于面面向向通通信信部部分分的最高层,同时也是用户功能中的最低层。的最高层,同时也是用户功能中的最低层。物理层物理层网络层网络层运输层运输层应用层应用层数据链路层数
3、据链路层面向信息处理面向信息处理面向通信面向通信用户功能用户功能网络功能网络功能应用进程之间的通信应用进程之间的通信n两两个个主主机机进进行行通通信信实实际际上上就就是是两两个个主主机机中中的的应应用进程互相通信。用进程互相通信。n应用进程之间的通信又称为端到端的通信。应用进程之间的通信又称为端到端的通信。n运运输输层层的的一一个个很很重重要要的的功功能能就就是是复复用用和和分分用用。应应用用层层不不同同进进程程的的报报文文通通过过不不同同的的端端口口向向下下交交到运输层,再往下就共用网络层提供的服务。到运输层,再往下就共用网络层提供的服务。n“运运输输层层提提供供应应用用进进程程间间的的逻逻
4、辑辑通通信信”。“逻逻辑辑通通信信”的的意意思思是是:运运输输层层之之间间的的通通信信好好像像是是沿沿水水平平方方向向传传送送数数据据。但但事事实实上上这这两两个个运运输输层层之间并没有一条水平方向的物理连接。之间并没有一条水平方向的物理连接。运输层协议和网络层协议运输层协议和网络层协议的主要区别的主要区别 应用进程应用进程 应用进程应用进程 IP 协议的作用范围协议的作用范围(提供主机之间的逻辑通信)(提供主机之间的逻辑通信)TCP 和和 UDP 协议的作用范围协议的作用范围(提供进程之间的逻辑通信)(提供进程之间的逻辑通信)因因 特特 网网运输层的主要功能运输层的主要功能 n运运输输层层为
5、为应应用用进进程程之之间间提提供供端端到到端端的的逻逻辑辑通通信信(但网络层是为主机之间提供逻辑通信)。(但网络层是为主机之间提供逻辑通信)。n运输层还要对收到的报文进行差错检测。运输层还要对收到的报文进行差错检测。n运运输输层层需需要要有有两两种种不不同同的的运运输输协协议议,即即面面向向连连接的接的 TCP 和无连接的和无连接的 UDP。运输层与其上下层之间的关系运输层与其上下层之间的关系的的 OSI 表示法表示法 运输实体运输实体运输实体运输实体运输协议运输协议运输层运输层层接口层接口 运输服务用户运输服务用户(应用层实体)(应用层实体)运输服务用户运输服务用户(应用层实体)(应用层实体
6、)层接口层接口 网络层网络层(或网际层)(或网际层)应用层应用层主机主机 A主机主机 B运输层服务访问点运输层服务访问点TSAP网络层服务访问点网络层服务访问点NSAP运输层向上层提供可靠的和不可靠的逻辑通信信道TCP/IP的运输层有两个不同的协议:的运输层有两个不同的协议:(1)用户数据报协议用户数据报协议 UDP (User Datagram Protocol)(2)传输控制协议传输控制协议 TCP (Transmission Control Protocol)7.2 TCP/IP 体系中的运输层体系中的运输层7.2.1 运输层中的两个协议运输层中的两个协议n两个对等运输实体在通信时传送的
7、数据单位叫作两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元运输协议数据单元 TPDU(Transport Protocol Data Unit)。nTCP 传送的数据单位协议是传送的数据单位协议是 TCP 报文段报文段(segment)n UDP 传送的数据单位协议是传送的数据单位协议是 UDP 报文报文或或用户数用户数据报据报。TCP 与与 UDP TCP/IP 体系中的运输层协议体系中的运输层协议 TCPUDPIP应用层与各种网络接口运输层TCP 与与 UDP nUDP 在在传传送送数数据据之之前前不不需需要要先先建建立立连连接接。对对方方的的运运输输层层在在收收到到 UDP
8、报报文文后后,不不需需要要给给出出任任何何确确认认。虽虽然然 UDP 不不提提供供可可靠靠交交付付,但但在在某些情况下某些情况下 UDP 是一种最有效的工作方式。是一种最有效的工作方式。nTCP 则则提提供供面面向向连连接接的的服服务务。TCP 不不提提供供广广播播或或多多播播服服务务。由由于于 TCP 要要提提供供可可靠靠的的、面面向向连连接接的的运运输输服服务务,因因此此不不可可避避免免地地增增加加了了许许多多的的开开销销。这这不不仅仅使使协协议议数数据据单单元元的的首首部部增增大大很多,还要占用许多的处理机资源。很多,还要占用许多的处理机资源。还要强调两点还要强调两点 n运运输输层层的的
9、 UDP 用用户户数数据据报报与与网网际际层层的的IP数数据据报报有有很很大大区区别别。IP 数数据据报报要要经经过过互互连连网网中中许许多多路路由由器器的的存存储储转转发发,但但 UDP 用用户户数数据据报报是是在在运输层的端到端抽象的逻辑信道中传送的。运输层的端到端抽象的逻辑信道中传送的。nTCP 报报文文段段是是在在运运输输层层抽抽象象的的端端到到端端逻逻辑辑信信道道中中传传送送,这这种种信信道道是是可可靠靠的的全全双双工工信信道道。但但这这样样的的信信道道却却不不知知道道究究竟竟经经过过了了哪哪些些路路由由器器,而而这这些些路路由由器器也也根根本本不不知知道道上上面面的的运运输输层层是
10、是否否建立了建立了 TCP 连接。连接。7.2.2 端口的概念端口的概念n端口就是运输层服务访问点端口就是运输层服务访问点 TSAP。n端口的作用就是让应用层的各种应用进程都能将端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。付给应用层相应的进程。n从这个意义上讲,端口是用来标志应用层的进程。从这个意义上讲,端口是用来标志应用层的进程。端口在进程之间的通信中所起的作用端口在进程之间的通信中所起的作用 应用层运输层
11、网络层TCP 报文段UDP用户数据报应用进程TCP 复用IP 复用UDP 复用TCP 报文段UDP用户数据报 应用进程端口端口TCP 分用UDP 分用IP 分用发送方接收方端口端口 n端口用一个端口用一个 16 bit 端口号进行标志。端口号进行标志。n端端口口号号只只具具有有本本地地意意义义,即即端端口口号号只只是是为为了了标标志志本本计计算算机机应应用用层层中中的的各各进进程程。在在因因特特网网中中不不同同计计算算机机的的相相同同端端口口号号是是没没有有联联系的。系的。两类端口两类端口 n一类是熟知端口,其数值一般为一类是熟知端口,其数值一般为 01023。当。当一种新的应用程序出现时,必
12、须为它指派一个一种新的应用程序出现时,必须为它指派一个熟知端口。熟知端口。n另一类则是一般端口,用来随时分配给请求通另一类则是一般端口,用来随时分配给请求通信的客户进程。信的客户进程。插口插口(socket)nTCP 使使用用“连连接接”(而而不不仅仅仅仅是是“端端口口”)作作为为最最基基本本的的抽抽象象,同同时时将将 TCP 连连接接的的端端点点称称为为插插口口(socket),或套接字、套接口。或套接字、套接口。n插口和端口、插口和端口、IP 地址的关系是:地址的关系是:IP 地址地址131.6.23.13 端口号端口号1500 131.6.23.13,1500插口插口(socket)同一
13、个名词同一个名词 socket有多种不同的意思有多种不同的意思 n应用编程接口应用编程接口 API 称为称为 socket API,简称为简称为 socket。nsocket API 中使用的一个函数名也叫作中使用的一个函数名也叫作socket。n调用调用 socket 函数的端点称为函数的端点称为 socket。n调调用用 socket 函函数数时时其其返返回回值值称称为为 socket描描述述符符,可简称为可简称为 socket。n在在操操作作系系统统内内核核中中连连网网协协议议的的 Berkeley 实实现现,称称为为 socket 实现。实现。7.3 用户数据报协议用户数据报协议 UD
14、P 7.3.1 UDP 概述概述 nUDP 只只在在 IP 的的数数据据报报服服务务之之上上增增加加了了很很少少一一点的功能,即端口的功能和差错检测的功能。点的功能,即端口的功能和差错检测的功能。n虽虽然然 UDP 用用户户数数据据报报只只能能提提供供不不可可靠靠的的交交付付,但但 UDP 在某些方面有其特殊的优点。在某些方面有其特殊的优点。n发送数据之前不需要建立连接发送数据之前不需要建立连接nUDP 的主机不需要维持复杂的连接状态表。的主机不需要维持复杂的连接状态表。nUDP 用户数据报只有用户数据报只有8个字节的首部开销。个字节的首部开销。n网网络络出出现现的的拥拥塞塞不不会会使使源源主
15、主机机的的发发送送速速率率降降低低。这这对对某某些些实实时时应用是很重要的。应用是很重要的。端口是用报文队列来实现端口是用报文队列来实现 UDP 端口端口 51000UDP 端口端口 69 出队列出队列入队列入队列出队列出队列入队列入队列TFTP 服务器服务器TFTP 客户客户UDP 用户数据报用户数据报应应用用层层运运输输层层TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0
16、 8 16 24 31填填 充充源端口和目的端口字段源端口和目的端口字段各占各占 2 字节。端口是运输字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。要通过端口才能实现。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。TC
17、P首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充数据偏移数据偏移占占 4 bit,它指出它指出 TCP 报文段的数据起报文段的数据起始处距离始处距离 TCP
18、报文段的起始处有多远。报文段的起始处有多远。“数据偏移数据偏移”的单位不是的单位不是字节字节而是而是 32 bit 字字(4 字节为计算单位)。字节为计算单位)。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充保留字段占 6 bit,保留为今后使用,但目前应置为 0。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG
19、比特 0 8 16 24 31填 充紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
20、INSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。TCP首部20字节固定首部目 的
21、 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。TCP首
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据通信与计算机网络课件 数据通信与计算机网络第十四章 数据通信 计算机网络 课件 第十四
限制150内