数据通信与网络 第5章 运输层.ppt
《数据通信与网络 第5章 运输层.ppt》由会员分享,可在线阅读,更多相关《数据通信与网络 第5章 运输层.ppt(141页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章 运输层运输层运输层在层次体系结构中的地位运输层在层次体系结构中的地位面向信息处理面向信息处理 面向通信面向通信 用户功能用户功能 网络功能网络功能54321运输层为通信的应用进程提供逻辑通信运输层为通信的应用进程提供逻辑通信 54321主机 A主机 B应用进程应用进程AP1AP2AP4端口端口IP 协议的作用范围路由器 1路由器 2LAN2WANLAN1运输层协议 TCP 和 UDP 的作用范围AP3IP 层AP1AP2AP3AP4“逻辑通信”运输层之间的通信似乎是沿水平方向传送数据事实上运输层之间并没有一条水平方向的物理连接运输层协议和网络层协议的主要区别运输层协议和网络层协
2、议的主要区别 应用进程 应用进程 IP 协议的作用范围(提供主机之间的逻辑通信)TCP 和 UDP 协议的作用范围(提供进程之间的逻辑通信)因 特 网为什么需要运输层为什么需要运输层 在一个网络连接上复用多对进程的通信 控制网络层及下两层自身不能解决的传输错误 解决多互连的通信子网 通信协议和提供的服务功能的差异运输层与上下层之间的关系运输层与上下层之间的关系 运输实体运输实体运输实体运输实体 运输协议运输协议应用层应用层网络层网络层(或网际层或网际层)主机A运输服务用户运输服务用户(应用层实体应用层实体)主机B 运输服务用户运输服务用户 (应用层实体应用层实体)运输层服务访问点运输层服务访问
3、点TSAP网络层服务访问点网络层服务访问点NSAP运输层运输层层接口层接口层接口层接口TCP/IP体系中的运输层协议体系中的运输层协议 UDP(User Datagram Protocol)用户数据报协议:提供面向无连接的服务此时逻辑通信信道是一条不可靠信道此时逻辑通信信道是一条不可靠信道 TCP(Transmission Control Protocol)传输控制协议:提供面向连接的服务尽管下面的网络不可靠(尽最大努力服务)尽管下面的网络不可靠(尽最大努力服务)但逻辑通信信道相当于一条全双工的可靠信道但逻辑通信信道相当于一条全双工的可靠信道 运输层的端口运输层的端口 (port)w 操作系统
4、用进程标识符来标志运行在计算机中的进程w 但因特网上不同操作系统使用不同格式的进程标识符w 必须用统一方法对 TCP/IP 体系的应用进程进行标志w 进程动态创建和撤销,发送方无法识别其他机器上的进程w 端口号只具有本地意义,标志本计算机应用层中的各进程w 通信的终点是应用进程,但可以想象通信终点是端口w 在协议栈层间的抽象的协议端口是软件端口w 路由器或交换机上的端口是硬件端口三类端口三类端口 w熟知端口(01023)w登记端口号(102449151)为没有熟知端口号的应用程序使用的使用该端口号必须在 IANA 登记,以防重复w客户端口号或短暂端口号(4915265535)留给客户进程选择暂
5、时使用通信结束后,该端口号可供其他客户进程使用 UDPUDPw传送的协议数据单元是 UDP 报文或用户数据报w无连接方式,发送数据之前不需要建立连接w尽最大努力交付,不保证可靠交付,也不使用拥塞控制w面向报文,没有拥塞控制,适合多媒体通信w支持一对一、一对多、多对一和多对多的交互通信w 8 个字节首部,开销小 IP首部面向报文的面向报文的 UDPIP 数据报的数据部分IP 层UDP 首部UDP 用户数据报的数据部分运输层应用层报文应用层发送方 UDP 对应用程序交下来的报文在添加首部后就向下交付 IP 层一次发送一个报文一次交付一个完整的报文UDP UDP 首部格式首部格式 伪首部源端口目的端
6、口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报UDP UDP 基于端口分用基于端口分用 IP 层UDP 数据报到达端口 2端口 3端口 1UDP 分用用户数据报 UDP 有两个字段:数据字段和首部字段首部字段由4个字段共8字节组成,每个字段都是两个字节伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报在计算检验和时临时把“伪首部”和 UDP 用户数据报连接在一起伪首部仅仅
7、是为了计算检验和伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报TCPTCPw面向连接的运输层协议,提供可靠交付的服务w传送的协议数据单元是 TCP 报文段(segment)w每条 TCP 连接只能有两个端点(endpoint)w每一条 TCP 连接只能是点对点的wTCP 提供全双工通信w面向字节流 面向字节流的面向字节流的 TCPTCP7 68H 发送 TCP 报文段发送方接收方把字节写入发送缓存从接收缓存读取字节应用进程应用进程123018171615141920214
8、513 12 11 H10 9 H加上 TCP 首部构成 TCP 报文段TCPTCP字节流字节流TCP 连接敬请关注敬请关注w是一条虚连接而不是一条真正的物理连接w不关心应用进程一次把多长的报文发送到TCP 缓存中w根据对方给出的窗口值和当前网络拥塞程度来决定一个报文段应包含多少个字节w可把太长的数据块划分短一些再传送w也可等待积累有足够多的字节后再构成报文段发送出去 TCP TCP 的连接的连接 wTCP 把连接作为最基本的抽象w每一条连接有两个端点wTCP 连接的端点不是主机、应用进程,或运输层协议端口wTCP 连接的端点叫做套接字(socket)或插口w端口号拼接到 IP 地址即构成了套
9、接字 TCP 连接:=socket1,socket2 =(IP1:port1),(IP2:port2)套接字 socket=(IP地址:端口号)套接字套接字 (socket)每一条 TCP 连接唯一地被通信两端套接字所确定可靠传输之停止等待协议(a)无差错情况A发送 M1确认 M1B发送 M2发送 M3确认 M2确认 M3A发送 M1B超时重传 M1发送 M2确认 M1丢弃有差错的报文(b)超时重传tttt发送完一个分组后,必须暂时保留已发送的分组副本分组和确认分组都必须进行编号超时计时器的重传时间应略长于分组传输平均往返时间可靠传输之停止等待协议(c)确认丢失A发送 M1B发送 M1丢弃重复
10、M1重传M1确认tttt确认 M1超时重传 M1可靠传输之停止等待协议 丢弃重复M1重传M1确认(d)确认迟到超时重传 M1A发送 M1B发送 M2确认 M1收下迟到确认但什么也不做tt停止等待协议的实现w使用确认和重传机制,可以在不可靠的传输网络上实现可靠通信w该可靠传输协议称为自动重传请求ARQ(Automatic Repeat reQuest)wARQ 表明重传的请求是自动进行的w接收方不需要请求发送方重传某个出错的分组 停止等待协议的信道利用率 优点:简单缺点:信道利用率太低TDRTTATD+RTT+TAB分组确认tt分组确认流水线传输 w发送方可连续发送多个分组w不必每发完一个分组就
11、停顿下来等待对方的确认w信道上不间断地传送数据,可获得很高的信道利用率B分组ttAACK发送窗口可靠传输之连续 ARQ 协议 123456789101112(a)发送方维持发送窗口(发送窗口是 5)发送窗口(b)收到一个确认后发送窗口向前滑动向前123456789101112可靠传输之连续 ARQ 协议w接收方一般采用累积确认的方式w并不逐个确认,只对按序到达的最后一个分组发送确认w优点:容易实现,即使确认丢失也不必重传w缺点:不能向发送方反映接收方已正确收到所有分组的信息wGo-back-N:需要再退回来重传已发送过的 N 个分组w当通信线路质量不好时,连续 ARQ 协议会带来负面影响连续
12、ARQ 协议的实现 wTCP 连接的每一端都设有窗口一个发送窗口和一个接收窗口wTCP 的可靠传输机制用字节序号进行控制wTCP 所有的确认都是基于序号而不是基于报文段wTCP 两端的四个窗口经常处于动态变化之中wTCP连接的往返时间 RTT 也不是固定不变的,需要特定算法估算 IP IP 数数 据据 部部 分分源 端 口目 的 端 口序 号确 认 号数据偏移保 留URG窗 口检 验 和紧 急 指 针选 项(长 度 可 变)填 充ACKPSHRSTSYNEIN32bitTCP首部首部20字节字节固定固定首部首部 TCP报文段报文段发送在前发送在前TCP报文段首部TCPTCP首部首部TCP TC
13、P 数数 据据 部部 分分IPIP首首 部部TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充源端口和目的端口字段各占 2 字节端口是运输层与应用层的服务接口运输层的复用和分用功能都要通过端口才能实现序号字段占 4 字节TCP 连接传送的数据流中每一个字节都编上一个序号序号字段的值指出本报文段所发送的数据的第一个字节的序号 TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可
14、变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充确认号字段占 4 字节期望收到对方的下一个报文段的数据的第一个字节的序号 TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充数据偏移(即首部长度)占 4 位,以 4 字节为计算单位指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (
15、长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充保留字段占 6 位保留为今后使用,目前应置为 0 TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充紧急 URG当 URG 1 时,表明紧急指针字段有效告诉系统此报文段中有紧急数据(高优先级数据),应尽快传送TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口
16、序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充紧急指针字段 占 16 位指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充确认 ACK当 ACK 1 时,确认号字段有效 当 ACK 0 时,确认号字段无效 TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口
17、序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充推送 PSH(PuSH)接收 TCP 收到 PSH=1 的报文段,就尽快地交付接收应用进程不再等到整个缓存都填满了后再向上交付TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留SYNRSTPSHACKURG填 充复位 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错必须释放连接,然后再重新建立运输连接 TCP首部20字节固定首部FIN位位 0 8 16 24 31目 的 端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据通信与网络 第5章 运输层 数据通信 网络 运输
限制150内