第6章-传输层协议及分析课件.ppt
《第6章-传输层协议及分析课件.ppt》由会员分享,可在线阅读,更多相关《第6章-传输层协议及分析课件.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章传输层协议及分析1/12/20231重点和难点n重点q传输层的功能qTCP协议和UDP协议n难点qTCP协议的理解1/12/20232nOSI体系结构中的传输层nInternet体系中的传输层1/12/202336.1 OSI体系结构中的传输层n传输层位于开放系统互连模型中的第四层。n是衔接由物理层、数据链路层及网路层构成的通信子网和包含会话层、表示层及应用层的资源子网的桥梁,起到承上启下的作用。传输层对高层用户起到了屏蔽作用,使高层用户的同等实体在交互过程中不会受到下层数据通信技术细节的影响。1/12/20234传输层与其上下层之间的关系的 OSI表示法 传输实体传输实体传输协议传输层
2、层接口 传输服务用户(应用层实体)传输服务用户(应用层实体)层接口 网络层(或网际层)应用层主机 A主机 B传输层服务访问点TSAP网络层服务访问点NSAP1/12/20235n从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。物理层网络层传输层应用层数据链路层面向信息处理面向通信用户功能网络功能6.1 OSI体系结构中的传输层1/12/20236传输层为相互通信的应用进程提供了逻辑通信 54321传输层提供应用进程间的逻辑通信应用进程应用进程IP 层AP1AP2AP4端口端口54321AP3主机 A主机 B路由器 1路由器
3、2AP1LAN2WANAP2AP3AP4LAN1IP 协议的作用范围传输层协议 TCP 和 UDP 的作用范围1/12/20237应用进程之间的通信n两个主机进行通信实际上就是两个主机中的应用进程互相通信。n应用进程之间的通信又称为端到端的通信端到端的通信。n传输层的一个很重要的功能就是复复用用和和分分用用。应用层不同进程的报文通过不同的端口向下交到传输层,再往下就共用网络层提供的服务。n传输层提供应用进程间的逻辑通信,这里“逻辑通信”的意思是:传传输输层层之之间间的的通通信信好好像像是是沿沿水水平平方方向向传传送送数数据据。但事实上这两个传输层之间并没有一条水平方向的物理连接。1/12/20
4、238端口的概念n端口就是运输层服务访问点 TSAP。n端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。n从这个意义上讲,端口是用来标志应用层的进程。1/12/20239端口在进程之间的通信中所起的作用 应用层传输层网络层TCP 报文段UDP用户数据报应用进程TCP 复用IP 复用UDP 复用TCP 报文段UDP用户数据报 应用进程端口端口TCP 分用UDP 分用IP 分用发送方接收方1/12/202310端口 n端口用一个 16 bit 端口号进行标志。n端口号只具有本地意义,即端口号只是为了
5、标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。1/12/202311两类端口 n一类是熟知端口,其数值一般为 01023,保留给诸如HTTP(80)、FTP(21)等熟知协议的。当一种新的应用程序出现时,必须为它指派一个熟知端口。n另一类则是一般端口,用来随时分配给请求通信的客户进程。1/12/202312插口(socket)nTCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将 TCP 连接的端点称为插口(socket),或套接字、套接口。n插口和端口、IP 地址的关系是:IP 地址131.6.23.13 端口号1500 131.6.23.13,1
6、500插口(socket)1/12/2023136.2 Internet体系中的传输层在Internet网络上,传输层有两个并列的协议,一个是TCP,一个是UDP。TCP即传输控制协议,它是面向连接的,可提供高可靠的服务。UDP即用户数据报协议,它是面向无连接的,可提供高效率的服务。1/12/202314传输层向上提供可靠的和不可靠的逻辑通信信道?应用层传输层发送进程接收进程接收进程数据数据全双工可靠信道数据数据使用 TCP 协议使用 UDP 协议不可靠信道发送进程1/12/2023156.2.1 TCP协议nTCP的主要功能p完成对数据报的确认、流量控制和网络拥塞的处理。p数据报自动检测、提
7、供错误自动重发功能。p将多条路径传送的数据报按照原序排列,并对重复数据进行择取。p控制超时重发、自动调整超时值。p提供自动恢复丢失数据的功能1/12/202316n TCP的数据传送过程pTCP是一种面向数据流的协议,操作过程分为三个阶段:建立TCP连接、传送数据和结束TCP连接。应用层传输层网络层网络接口层Ethernet用户报文TCP数据报IP数据报以太帧用户数据用户数据数 据FTPH数 据TCPHIPH TCPHTCPHIPH以太帧头FTPH数 据FTPH数 据FTPH数 据TCP的报文传送目的地址 源地址帧头包类型包数 据CRC校验1/12/20231718n TCP数据报的格式20
8、字节的固定首部TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充1/12/20231819TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。n TCP数据报的格式1/12/2023
9、1920TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节在整个报文字节流中的序号。n TCP数据报的格式1/12/20232021TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 1
10、6 24 31填 充确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。n TCP数据报的格式1/12/202321TCP的数据编号与确认 nTCP 协议是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。n在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。n TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。1/12/202322pTCP序列
11、号和确认序列号 示例 主机 A主机 BSeq=42,ACK=79,data=CSeq=79,ACK=43,data=CSeq=43,ACK=80用户键入用户键入C主机确认收到主机确认收到回显的回显的 C主机确认收到主机确认收到C,回显回显C时间n TCP数据报的格式1/12/2023233.5 面向连接的传输:TCP报文格式TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充首部长度占 4 bit,它指示以32bit为单位的TCP首部长度。1/
12、12/202324TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充保留字段占 6 bit,保留为今后使用,但目前应置为 0。3.5 面向连接的传输:TCP报文格式1/12/202325TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充紧急比特 URG 当 URG 1 时,表明紧急指针字段有
13、效。它告诉系统此报文段中有紧急数据,应尽快传送。(一般不使用)3.5 面向连接的传输:TCP报文格式1/12/202326TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。3.5 面向连接的传输:TCP报文格式1/12/202327TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FI
14、N32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。3.5 面向连接的传输:TCP报文格式1/12/202328TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须
15、释放连接,然后再重新建立运输连接。3.5 面向连接的传输:TCP报文格式1/12/202329TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。3.5 面向连接的传输:TCP报文格式1/12/202330TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHA
16、CKURG比特 0 8 16 24 31填 充终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。3.5 面向连接的传输:TCP报文格式1/12/202331TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充窗口字段窗口字段 占占 2 字节。窗口字段用来控制对方发送的数据量,字节。窗口字段用来控制对方发送的数据量,单位为字节。单位为字节。TCP 连接的一端根据设置的缓存空
17、间大小确定自己连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。3.5 面向连接的传输:TCP报文格式1/12/202332TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部(源IP地址(4字节)、目的IP地址(
18、4字节)、0(1字节)、6(TCP协议号,1字节)、TCP长度(2字节)。3.5 面向连接的传输:TCP报文格式1/12/202333TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。3.5 面向连接的传输:TCP报文格式1/12/202334TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号
19、保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充选项字段 长度可变。定义了最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”此外还定义了时间戳选项。MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。1/12/202335TCP首部目 的 端 口首部长度检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比
20、特 0 8 16 24 31填 充填充字段 这是为了使整个首部长度是 4 字节的整数倍。3.5 面向连接的传输:TCP报文格式1/12/202336TCP 的流量控制nTCP流量控制流量控制q背景nTCP接收方有一个缓存,所有上交的数据全部缓存在里面n应用进程从缓冲区中读取数据可能很慢q目标n发送方不会由于传得太多太快而使得接收方缓存溢出q手段n接收方在反馈时,将缓冲区剩余空间的大小填充在报文段首部的窗口字段中,通知发送方1/12/202337q窗口值的计算空闲空间空闲空间缓存中的缓存中的TCP数据数据RcvWindow来自来自IP的数据的数据应用进程应用进程RcvBufferLastByte
21、Rcvd LastByteRead RcvBuffer接收方:接收方:RcvWindows=RcvBuffer LastByteRcvd-LastByteRead发送方:发送方:LastByteSent LastByteAcked RcvWindow接收端窗口rwnd和拥塞窗口cwnd1/12/202338Thursday,January 12,2023393.5 面向连接的传输:TCPq一种特殊的情况n接收方通知发送方RcvWindow为0,且接收方无任何数据传送给发送方n发送方持续向接受方发送只有一个字节数据的报文段,目的是试探1/12/202339收到确认即可前移100200300400
22、5006007008009001012013014015016017018011发送窗口可发送不可发送指针n发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。n发送端只要收到了对方的确认,发送窗口就可前移。n发送 TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。1/12/202340n发送端已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。n现在发送端还可发送 300 字节。收到确认即可前移1002003004005006007008009001012013014015016
23、017018011可发送不可发送指针1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针发送窗口前移已发送并被确认已发送但未被确认1/12/202341n发送端收到了对方对前 400 字节数据的确认,但对方通知发送端必须把窗口减小到 400 字节。n现在发送端最多还可发送 400 字节的数据。1002003004005006007008009001012013014015016017018011已发送并被确认已发送但未被确认可发送不可发送指针10020030040050060070080090010120130140
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输 协议 分析 课件
限制150内