计算机网络课件第7章传输层.ppt
《计算机网络课件第7章传输层.ppt》由会员分享,可在线阅读,更多相关《计算机网络课件第7章传输层.ppt(87页珍藏版)》请在三一办公上搜索。
1、计算机网络Computer Network,2023年9月15日,2,计算机网络-刘桂江,课程目录,第1章概述第2章物理层与数据通信基础第3章数据链路层第4章局域网第5章网络层第6章网络互联技术第7章传输层第8章应用层第9章网络管理与信息安全第10章网络新技术专题,3,计算机网络-刘桂江,本章提纲,第7章传输层,7.1 传输层概述7.2 互联网传输协议,4,计算机网络-刘桂江,7.1 传输层概述,7.1.1 提供给高层的服务7.1.2 服务质量7.1.3 多路复用技术,5,计算机网络-刘桂江,传输层与其上下层之间的关系,7.1.1 提供给高层的服务,传输层向高层提供两种类型的服务:面向连接的传
2、输服务和无连接的传输服务。,完成传输层功能的硬件或软件,6,计算机网络-刘桂江,7.1.2 服务质量,传输层服务质量是指在传输两节点之间看到的某些传输连接的特征,是传输层性能的度量,反映了传输质量及服务的可用性。传输层服务质量参数表传输层服务质量不是由单方面决定的,一般它需要连接的双方有一个协商的过程。,7,计算机网络-刘桂江,(a)向上多路复用(b)向下多路复用,7.1.3 多路复用技术,向上复用的使用往往是出于费用上的考虑;向下复用的目的是为了提高吞吐量。,8,计算机网络-刘桂江,7.2 互联网传输协议,7.2.1 TCP简介7.2.2 TCP服务模型7.2.3 TCP协议7.2.4 TC
3、P报文段头7.2.5 TCP连接管理7.2.6 TCP传输策略7.2.7 TCP流量控制和拥塞控制7.2.8 TCP计时器7.2.9 UDP协议简介,9,计算机网络-刘桂江,TCP(传输控制协议)是TCP/IP体系中面向连接的传输层协议,它提供全双工的服务。TCP提供差错控制和排序的功能,提供可靠的端到端字节流的传输服务。,7.2.1 TCP简介,10,计算机网络-刘桂江,TCP是使用连接来进行通信的。当一个应用进程希望与另一个远程的应用进程建立连接的时候,除了要知道对方的主机地址外,它还必须知道要连接到对方哪个应用进程上,从而实现端到端的通信。,7.2.2 TCP服务模型(1/5),传输层提
4、供端到端的服务,54321,传输层提供应用进程间的逻辑通信,应用进程,应用进程,IP 层,AP1,AP2,AP4,端口,端口,54321,AP3,11,计算机网络-刘桂江,在传输层上通常使用的方法是为那些能够监听连接请求的进程定义TSAP;在Internet中,这些访问点就被称为端口。同样,在网络层上的访问点被称为NSAP。IP地址就是NSAP的特例。,NSAP、TSAP和传输连接之间的关系,7.2.2 TCP服务模型(2/5),12,计算机网络-刘桂江,客户机上的应用进程如何知道服务器上的服务器进程是被关联到某个特定端口上的呢?,常用的方法有两种:(1)对于一些少数且关键的服务器进程(例如W
5、eb服务器),它们被连接请求的频率高,而且一旦连接上以后维持的时间一般也比较长,则将这些典型服务器进程与熟知的TSAP永久地关联起来。且这些关键服务进程和对应的熟知TSAP往往被罗列在某个文件中。(2)采用名字服务器或目录服务器。,7.2.2 TCP服务模型(3/5),13,计算机网络-刘桂江,7.2.2 TCP服务模型(4/5),为了区分不同主机中的进程,TCP/IP协议簇将主机的IP地址与端口结合起来,定义为通信的一个端点,称之为套接字。套接字、端口和IP 地址的关系是:,套接字(socket),14,计算机网络-刘桂江,(1)熟知端口,其数值为01023。这一类端口由ICANN负责分配给
6、一些常用的应用层程序固定使用。(2)登记端口,其数值为102449151。这类端口是ICANN控制的,使用这个范围的端口必须在ICANN登记,以防止重复。(3)动态端口,其数值为4915265535。这类端口是留给客户进程选择作为临时端口。,7.2.2 TCP服务模型(5/5),三类端口,15,计算机网络-刘桂江,在TCP协议中需要关注的几个问题:(1)TCP连接上的每个字节都是有编号的,即都有它自己独有的32位序列号。(2)TCP报文段的结构(3)滑动窗口协议(4)错序问题,7.2.3 TCP协议,16,计算机网络-刘桂江,一个TCP报文段分为首部和数据两部分。TCP首部由固定首部和可选的附
7、加选项组成。TCP数据部分理论上长度最多可达65495个字节。无任何数据的TCP报文段也是合法的,它通常被用于确认或控制消息。TCP的全部功能都体现在它首部中各字段的作用。,7.2.4 TCP报文段头,17,计算机网络-刘桂江,TCP首部,20 字节的固定首部,目 的 端 口,数据偏移,检 验 和,附 加 选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口 大 小,确 认 序 号,保 留,FIN,32 bit,SYN,RST,PSH,ACK,URG,比特0 8 16 24 31,填 充,TCP 数据部分,TCP 首部,TCP 报文段,IP 数据部分,IP 首部,发送在前,TC
8、P报文段首部结构图,18,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,附 加 选 项(长 度 可 变),源 端 口,序 号,紧 急 指 针,窗 口 大 小,确 认 序 号,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,源端口和目的端口各占2个字节。端口是传输层与应用层的服务接口,它们分别与源IP地址和目的IP地址一起标识一个TCP连接的两个端点,传输层的复用和分用功能都要通过端口才能实现。,19,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号
9、,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),20,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确认序号字段占 4 字节,是期望收到对方的下一个报文段
10、的数据的第一个字节的序号。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),21,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,数据偏移占4bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 32 bit字(即4字节为计算单位)。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),22,计算机网络-刘桂江,TCP首部,20字节固定首
11、部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,保留字段占 6 bit,保留为今后使用,但目前都置为 0。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),23,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,紧急比特 URG 紧急标志位。当 URG 1 时,表明紧急指针字段有效。它
12、告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),24,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确认比特 ACK 确认标志位。当ACK=1时表明报文段中确认序号字段有效,这时可以理解当前发送的报文段为确认报文;当ACK=0时表明确认序号字段无效。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),25,计算机网络-刘桂
13、江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,推送PSH(Push)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),26,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0
14、 8 16 24 31,填 充,复位RST(Reset)复位标志。当RST=1时表明TCP连接中出现严重差错(例如主机崩溃),这时必须释放当前连接然后再重新建立一个新的传输连接。另外RST置1还可以用来拒绝接收一个非法报文段,或拒绝建立一个连接。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),27,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,同步SYN 建立连接标志。建立连接过程中,在客户端发出请求建
15、立连接的报文段中:SYN=1,ACK=0;在服务器端表示接收建立连接的报文段中:SYN=1,ACK=1;所以可用SYN来区分与建立连接有关的报文段,而用ACK进一步区分是连接请求还是连接接收。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),28,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,终止FIN(Final)释放连接标志。当FIN=1时表示此报文段的发送方的数据发送已经结束,并要求释放传输连接。注
16、意这是个单方面请求释放连接,即仍然还允许对方发送数据过来。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),29,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),窗口大小字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。,3
17、0,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,检验和占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),31,计算机网络-刘桂江,在计算检验和时,临时把“伪首部”和TCP报文段连接在一起,得到一个临时的TCP报文段。检验和就针对这个临时的TCP报文段来计算的。伪首部既不向下传送也不向
18、上递交,而仅仅是为了计算检验和。,TCP报文段伪首部结构图,32,计算机网络-刘桂江,在发送方,首先是把全零放入检验和字段,再把伪首部以及TCP报文段看成是由许多16位的字串接起来。若TCP报文段的数据部分长度不是4N(N为正整数)字节的整数倍,则要填充全零字串在后面直至长度为4N字节。然后按二进制反码计算出这些16位字的和,将此和的二进制反码写入检验和字段后,发送该TCP报文段。在接收方,把收到的TCP报文段增加伪首部(以及可能的填充全零字节)一起,按二进制反码计算出这些16位字的和。当无差错时其结果应为全1;否则就表明出现传输错误,接收方应丢弃这个错误的TCP报文段(当然也可以上交给应用层
19、,但附上出现了差错的警告)。,TCP计算检验和的具体方法:,33,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,紧急指针字段 占 16 bit。紧急指针指出在本报文段中,紧急数据一共有多少个字节。它和紧急标志位URG配合使用。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),34,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验 和,源 端 口,序 号,紧 急 指 针,保
20、 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,附加选项字段 长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”附加选项是可选的,如果主机没有使用这个选项,则缺省使用MSS的默认值是536。另外,一个连接两个方向上的最大数据段长度MSS可以不相同。,附 加 选 项(长 度 可 变),确 认 序 号,窗 口 大 小,35,计算机网络-刘桂江,TCP首部,20字节固定首部,目 的 端 口,数据偏移,检 验
21、 和,源 端 口,序 号,紧 急 指 针,保 留,FIN,SYN,RST,PSH,ACK,URG,比特 0 8 16 24 31,填 充,填充字段 这是为了使整个首部长度是 4 字节的整数倍。,确 认 序 号,窗 口 大 小,附 加 选 项(长 度 可 变),36,计算机网络-刘桂江,TCP协议中使用三次握手方法建立连接。,7.2.5 TCP连接管理(1/8),三次握手法,1建立TCP连接,ACK=0,37,计算机网络-刘桂江,释放连接有两种方式:非对称释放和对称释放。(1)非对称释放,7.2.5 TCP连接管理(2/8),2释放TCP连接,该方法较为粗暴,可能会导致数据丢失。,主机,B,发送
22、确认,主机,A,连接建立,时间,时间,DATA 1,ACK,发送第一,个数据,发送第二,个数据,撤消连接,在一方断开连接后不再,接收数据,数据丢失,DATA 2,主机,B,发送确认,主机,A,连接建立,时间,时间,DATA 1,ACK,发送第一,个数据,发送第二,个数据,撤消连接,DATA 2,38,计算机网络-刘桂江,(2)对称释放方法,7.2.5 TCP连接管理(3/8),FIN=1,,,seq,=x,主机,B,ACK=1,,,seq,=y,,,ack,=x,+,1,ACK=1,,,seq,=x+1,,,ack,=y,+,2,通知主机,进程并发,送确认,发送确认,主机,A,释放请求即,A,
23、不再发送,数据,时间,时间,半关闭状态,FIN=1,,,seq,=y+1,,,ack,=x,+,1,关闭状态,释放请求即,B,也不再发,送数据,39,计算机网络-刘桂江,不过,对称释放协议并不总是可以正确地工作。它存在两军队问题。,7.2.5 TCP连接管理(4/8),两军队问题,用“断开连接”来代替军队的“发起进攻”。如果任何一方一定要在确定另一方已经做好了断开连接的准备之后才准备断开连接的话,那么,断开连接的操作将永远都不可能发生。,40,计算机网络-刘桂江,建立连接和释放连接所要求的步骤可以用一个有限状态机来表达。该状态机有11种状态,在每一种状态中,都存在一些合法的事件。当合法事件发生
24、的时候,可能需要采取某个动作;当其他事件发生的时候,则报告一个错误。,7.2.5 TCP连接管理(5/8),*3有限状态机,41,计算机网络-刘桂江,7.2.5 TCP连接管理(6/8),TCP有限状态机中存在的状态,42,计算机网络-刘桂江,每个连接都从CLOSED状态开始。当它执行了一个被动的打开操作(LISTEN),或者一个主动的打开操作(CONNECT)的时候,它就离开CLOSED状态。如果另一端执行了相对应的操作,则连接被建立起来,当前状态变成ESTABLISHED;连接的释放过程可以由任何一方发起,当释放完成的时候,状态又回到了CLOSED。,7.2.5 TCP连接管理(7/8),
25、43,计算机网络-刘桂江,TCP的有限状态机,44,计算机网络-刘桂江,TCP 协议是面向字节流的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。TCP 发送的确认报文段是对接收到的数据的最高序号表示确认。接收端返回的确认序号是已收到的数据的最高序号加 1。也就是说,确认序号表示接收端期望下次收到的数据中的第一个数据字节的序号。,7.2.6 TCP传输策略(1/5),45,计算机网络-刘桂江,在TCP发送一个报文段时,它同时也在自己的重传队
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课件 传输
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6024126.html