版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,TCP-IP网络基础,第5章 TCP-IP协议,2,5.2 TCP-IP传输层协议,学习目标 掌握TCP相关基本概念,了解TCP提供的服务,了解TCP段格式 掌握TCP可靠传输与流量控制 了解TCP端口概念及熟知端口号码 学习重点和难点 TCP段格式 TCP可靠传输与流量控制,3,传输层的地位,从通信和信息处理的角度看,传输层向上层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 传输层应当为高层用户建立端到端的可靠的逻辑连接,面向信息处理,面向通信,用户功能,网络功能,传输虚电路,4,应用进程之间的通信,两台主机之间的通信实际上是两台主机中的应用进程之间的通信。 应
2、用进程之间的通信又称为端到端的通信。 事实上,两个系统的传输层之间并不存在一条水平方向的物理连接。 因此,应用进程之间的通信是一种逻辑通信。,5,运输层协议和网络层协议的主要区别,应用进程,应用进程,IP 协议的作用范围 (提供主机之间的逻辑通信),TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信),因 特 网,6,传输层的地位和作用,传输层位于网络层和会话层之间,是通信子网和资源子网的接口,起着承上启下的作用。 传输层的最终目标是利用网络层提供的服务向其用户提供有效、可靠且价格合理的服务。 它对上层屏蔽了通信子网的细节,向高层提供两个传输实体之间的端到端的可靠的逻辑连接。 传输层
3、可以检测到网络层发生的差错和故障,因此可以进行差错恢复。,7,传输层的功能,传输层的功能是:采用一些技术手段弥补用户的要求与网络可向用户提供的服务二者之间存在的差异,屏蔽通信子网的实现细节,使用户获得相对稳定的数据传输服务。 为了给上层用户提供QoS保障,传输层通常要采用以下技术手段: 分流/合流 复用/解复用 分段/合段 差错检测和恢复 流量控制技术,8,网络的性能和用户的要求之间的差异,用户要求高速传输,但是网络的吞吐量、传输速率和传输延迟等性能不能满足; 用户要求较低的传输费用,对于传输延时要求不高,但是网络的吞吐量、传输速率和传输延迟很好,但费用太高,不能满足。 网络的传输差错率不能满
4、足用户的要求; 网络层的分组长度不一定适配用户数据的长度; 网络的数据流量不一定能满足用户的要求,等等。,9,分流/合流,目的:使得具有低吞吐量、低速率和高传输延迟的网络,可以支持用户高速传输数据的要求。 原理:利用多条网络连接,来支持一条传输连接上的数据传输(向下多路复用),提高数据传输速度。,10,复用/解复用,目的:使得具有高吞吐量、高速率和低传输延迟、且高费用的网络,可以支持用户的低传输成本的要求。 复用/解复用技术的原理:将多条传输连接上的数据汇集到一条网络连接上传输(向上多路复用) 。,11,分段/合段,目的:使得传输有限长度用户数据(分组)的网络可以支持用户的无限长数据的传输。
5、原理:将一个长的传输服务数据单元(用户数据)分成若干个传输协议数据单元进行传输。,12,差错控制和流量控制,差错检测和恢复在数据单元中增加序号和冗余的差错检测编码,与差错控制协议配合,采取出错重传、超时重传等措施,使得差错率较高的网络可以支持用户高可靠性的数据传输要求。 流量控制采用滑动窗口和捎带确认等机制,对连续传输的协议数据单元个数进行限制,避免网络拥塞。,13,TCP/IP的传输层协议,TCP/IP Transport layer,Transport,Hardware,NetworkInterface,Internet,Application,传输控制协议TCP面向连接的、可靠的传输协议
6、。 用户数据报协议UDP无连接的、不可靠的传输协议。,14,端口的概念,端口(Port)是TCP/IP体系中的传输服务访问点TSAP 。 应用层的各种应用进程是通过端口将其数据向下交付给传输层的,而传输层则将其收到的报文段中的数据向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标志应用层的进程。 端口用一个 16 bit 整数表示,取值范围065535 。 注意:端口仅具有本地意义。 端口号只是为了标志本计算机应用层中的各进程。 在互联网中不同计算机的相同端口号是没有联系的。,15,端口的分类,端口分为两大类: 熟知端口(well-known-port):是已定义的固定端口,取
7、值范围01023 ,在RFC1700中定义。 由因特网管理机构分配给一些常用的应用服务进程。0255的端口是最常用的熟知端口。 一般端口:取值范围:102465535 动态地分配给请求通信的客户进程。,16,熟知端口号,每一个客户进程都知道相应的服务器进程的熟知端口号。,17,常见的熟知端口,18,TCP端口号示例,A,Z,Telnet Z,Dest. port = 23. Send packet to my Telnet application.,19,注意,端口仅具有本地意义。 端口号只是为了标志本计算机应用层中的各进程。 在互联网中不同计算机的相同端口号是没有联系的。,20,套接字的概念
8、,套接字(插口,Socket) 是TCP/IP体系中传输层的通信端点(endpoint) 套接字包括32位的IP地址和16位的端口号,它唯一地标识了一台主机上的一个应用进程。,21,5.2.1 传输控制协议TCP,(1)传输控制协议TCP (2)TCP的数据编号与捎带确认 (3)TCP的差错控制 (4)TCP的流量控制与拥塞控制 (5)TCP传输连接的管理,22,(1)传输控制协议TCP,TCP是面向连接的传输协议,提供可靠的全双工服务。 TCP的数据传送单元,称为报文段(Segment),由应用层的数据加上TCP首部构成。,发送 TCP 报文段,23,TCP 报文段的格式,源端口(Sourc
9、e Port)和目的端口(Dest. Port) :各占 16位, 2 字节。分别标识相互通信的的两个应用进程 。,24,TCP 报文段的格式,序号(Seq):占32位,4个字节,是本报文段的第一个数据字节的编号。,25,TCP 报文段的格式,确认号(Seq):占32位,4个字节,是期望收到对方的下一个报文段的序号。,26,TCP 报文段的格式,首部长度(HLEN):也称为数据偏移,占4位,以4字节字长为单位,缺省值为5。,27,TCP 报文段的格式,保留字段(Reserved):共6位,未使用。,28,TCP 报文段的格式,标志字段,共有6个标志,每个占1位 。,29,TCP 报文段的格式,
10、紧急比特URG:置1时表示紧急指针有意义。它告诉系统此报文段中有紧急数据,应尽快交付。,30,TCP 报文段的格式,确认比特ACK:置1时表示确认号有意义。,31,TCP 报文段的格式,推送比特PSH:置1时表示本报文段为需要立即交付的紧急数据。,32,TCP 报文段的格式,复位比特RST:置1时表示 TCP 连接中出现严重差错(如主机崩溃或其他原因),必须释放连接,然后再重新建立传输连接。,33,TCP 报文段的格式,同步比特SYN:置1时表示本报文段是一个连接请求或连接接受的同步段,要使序号同步。,34,TCP 报文段的格式,终止比特FIN:置1时表示本方数据已发送完毕,准备释放传输连接。
11、,35,TCP 报文段的格式,窗口大小(Windows):占 2 字节。表示本方接收窗口的大小,单位为字节。它是本方能够接收的从确认号所指示的字节开始的数据字节数。它用来控制对方发送的数据量。,36,TCP 报文段的格式,检验和(Checksum):占 2 字节。检验的范围不仅包括TCP首部和数据这两部分,而且包括一个12字节的伪首部。,37,TCP 报文段的格式,紧急指针(Urgent):占 2 字节。与紧急比特配合使用处理紧急情况,指出在本报文段中的紧急数据的最后一个字节的序号 。,38,TCP 报文段的格式,选项(Option)+填充(Pad) :长度为32位的倍数。,39,(2)TCP
12、的数据编号与捎带确认,TCP 协议是面向字节的,将上层的各种数据报文一律视为无结构的字节流来传输。对每一个字节赋予一个序号。 TCP 报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。 在连接建立时,双方要商定初始序号。 TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加 1。,40,传输控制协议TCP面向字节流,发送 TCP 报文段,发送方,接收方,把字节写入 发送缓存,从接收缓存 读取字节,应用进程,应用进程,18,17,16,15,14,H,加上 TCP 首部 构成 TCP 报文段,TCP,TCP,字节流,字节流,H,表示
13、 TCP 报文段的首部,x,表示序号为 x 的数据字节,TCP 连接,41,TCP 传输的可靠是由于使用了序号和确认,副本与重传:TCP将发送出去的每一个报文段副本保存在自己的发送缓存中。若超时且未收到确认,则重传之;若未超时就收到确认,可删除此副本。 捎带确认:TCP能提供全双工通信,因此通信中的每一方都不必专门发送确认报文段,而可以在传送数据时顺便把确认信息捎带传送,这样作可以提高传输效率。,42,TCP 的数据编号与确认,我刚发送了 10号数据,1028,23,10,0,收到10号数据, 现需11号数据.,1028,23,11,1,1028,23,11,2,43,(3)TCP的差错控制,
14、(1)差错检测和纠正 TCP中的差错检测是通过三种简单机制来完成的:校验和、确认和超时重传。 每一个报文段都包括检验和字段,用来检查受损的报文段;若报文段受到损伤,就由目的TCP将其丢弃。 TCP使用确认的方法来证实收到了某些报文段。 TCP不使用否认。若一个报文段在超时截止期之前未被确认,则被认为是已受损伤或丢失。,44,TCP 的可靠传输,TCP的可靠数据流传输服务的基础是 带重传的肯定确认技术 技术要点: 发送方在送出一个报文段后启动一个重传定时器RTO (retransmission timer); 接收方收到正确的报文段后向发送方回送确认信息Ack; 发送方发出的报文段得到确认Ack
15、后,发送窗口可以向前滑动;窗口未满时才能继续发送。 当发送方在限定的 时限内而没有收到确认信息Ack时,重发原报文段(超时重传); 接收方删除重复的报文段;,45,TCP的差错控制,(2) 报文段受损或丢失的纠正 采用超时重发机制。 (3)重复的报文段 当目的端TCP收到的报文段与先前收到的报文段含有同样的序号,丢弃当前的报文段。 (4)失序的报文段 对失序的报文段不确认,直到收到所有它以前的报文段为止。 (5)丢失的确认 丢失的确认可能不会被源站点发现。,46,可靠传输的工作原理停止等待协议,(a) 无差错情况,A,发送 M1,确认 M1,B,发送 M2,发送 M3,确认 M2,确认 M3,
16、A,发送 M1,B,超时重传 M1,发送 M2,确认 M1,丢弃有差错 的报文,(b) 超时重传,t,t,t,t,47,确认丢失和确认迟到,A,发送 M1,B,超时 重传 M1,发送 M2,丢弃 重复的 M1 重传确认 M1,(a) 确认丢失,确认 M1,A,发送 M1,B,超时 重传 M1,发送 M2,丢弃 重复的 M1 重传确认M1,(b) 确认迟到,确认 M1,收下迟到 的确认 但什么也不做,t,t,t,t,48,信道利用率,停止等待协议的优点是简单,但缺点是信道利用率太低。,TD,RTT,A,TD + RTT + TA,B,分组,确认,t,t,分组,确认,49,流水线传输,发送方可连续
17、发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。,B,分组,t,t,A,ACK,50,(4)TCP的流量控制与拥塞控制,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。 在TCP报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(增大或减小)。,51,滑动窗口机制,发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500
18、字节。 发送端只要收到了对方的确认,发送窗口就可前移。 发送 TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。,收到确认即可前移,可发送,不可发送,指针,52,滑动窗口机制,发送端已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。 现在发送端还可发送 300 字节。,可发送,不可发送,53,滑动窗口机制,发送端收到了对方对前 400 字节数据的确认,但对方通知发送端必须把窗口减小到 400 字节。 现在发送端最多还可发送 400 字节的数据。,可发送,不可发送,54,累积确认,接收方一般采用累积确认的方式。即不必对收到的分组逐个发送
19、确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。 累积确认有的优点是:容易实现,即使确认丢失也不必重传。缺点是:不能向发送方反映出接收方已经正确收到的所有分组的信息。,55,利用可变窗口机制进行流量控制,双方确定的初始窗口值是 400,主机 A,主机 B,允许 A 再发送 300 字节(序号 201 至 500),A 还能发送 200 字节,A 还能发送 200 字节(序号 301 至 500),A 还能发送 300 字节,A 还能发送 100 字节(序号 401 至 500),A 超时重发,但不能发送序号 500 以后的数据,允许 A 再发送
20、200 字节(序号 501 至 700),A 还能发送 100 字节(序号 501 至 700),不允许 A 再发送(到序号 600 的数据都已收到),56,拥塞控制,发送端的主机在确定发送报文段的速率时,既要考虑接收端的接收能力,又要考虑网络的使用情况,以避免拥塞。 为了实现拥塞控制,TCP 引入以下概念: 接收端窗口 rwnd (receiver window) 又称为通知窗口(advertised window)。 拥塞窗口 cwnd (congestion window)。,57,接收端窗口和拥塞窗口,接收端窗口 rwnd :是接收端根据其目前的接收缓存大小所许诺的最新的窗口值,是来自
21、接收端的流量控制。接收端将此窗口值放在 TCP 报文的首部中的窗口字段,传送给发送端。 拥塞窗口 cwnd (congestion window) : 是发送端根据自己估计的网络拥塞程度而设置的窗口值,是来自发送端的流量控制。,58,发送窗口的上限值,发送端的发送窗口的上限值应当取为接收端窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即: 发送窗口的上限值 Min rwnd, cwnd 当 rwnd cwnd 时,是接收端的接收能力限制发送窗口的最大值。 当 cwnd rwnd 时,则是网络的拥塞限制发送窗口的最大值。,59,(5)TCP传输连接的管理,TCP传输连接分为三个阶
22、段,即:连接建立、数据传送和连接释放。 传输连接的管理就是使传输连接的建立和释放都能正常地进行。 连接建立过程中要解决以下三个问题: 要使每一方能够确知对方的存在。 要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。 能够对传输实体资源(如缓存大小,连接表中的项目等)进行分配。,60,TCP 三次握手机制/建立连接,Host A,Host B,61,TCP 三次握手机制/建立连接,主机A向主机B发送1个同步TCP段请求建立连接。例如,TCP段中序号=X,控制码:SYN=1(建立同步连接的标志) 、ACK=0 主机B将确认主机A的请求,并同时向主机A发出同步请求。TCP段中序
23、号= Y, 控制码:SYN=1、ACK=1 (确认号字段有效标志) ,确认号=X+1 主机A将确认主机B的请求,即向主机B发送确认TCP段。TCP段中序号= X+1,控制码: SYN=0, ACK=1,确认号=Y+1 主机A在已建立的连接上开始传输TCP数据段: TCP段中序号= X+1,控制码: SYN=0, ACK=1,确认号=Y+1,DATA,62,TCP传输连接的释放,Host A,Host B,通知应用进程,63,TCP传输连接的释放,TCP使用修改的三次握手机制关闭连接: 主机A端发送完数据,向主机B端发FIN报文段,请求释放连接。即通知对方:我方不再发送数据,准备释放连接,但你若
24、有数据,我仍接收。FIN=1,=x; 主机B收到后,立即发出确认段:ACK=1,=y;同时通知上层相应的应用进程,对方要求关闭连接,此后不再接收主机A的数据;但若B端的数据未发完,可继续发送。 主机B的应用进程若同意关闭连接,则向主机A发送FIN报文段:FIN=1,=y,=x+1; 主机A收到后回送一个确认报文段: ACK=1 ,=y+1,主机B收到后即可关闭连接。,64,TCP传输服务的特征,面向连接的传输三次握手建立虚电路连接; 全双工的通信一个TCP连接支持两个通信的高层协议之间的双向数据传递; 定时机制当系统的条件不能按用户定义的超时参数及时传递数据时,TCP通知高层协议服务失败;,65,TCP传输服务的特征,连续保序的传输TCP按照发方高层的数据顺序连续保序地传输; 无结构的流传输TCP将上层的各种数据报文(一律是为视为无结构的字节流来传输。用户数据的边界由收发双方约定并在用户进程中实现。 流量控制TCP使用滑动窗口技术调整流量,控制拥塞; 差错控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年小学三年级英语第二学期期末考试卷及答案
- 2026年质量管理培训考试试题及答案
- Web 网页设计技术考试题及答案
- 病历质量考试题及答案
- 国开(本科)《金融学》1-5章形考答案
- 新材料在汽车上的应用
- 日常生活中的生物技术
- 硝基咪唑类药物使用注意事项
- 机械图样的基本表示法
- T/CWEMS 030-2025健康陪诊服务规范
- 领航工厂案例集(2026版)
- 淘宝代理网上销售合同
- 禁毒专干面试试题及答案
- 护理临床带教技巧
- 医院改造工程施工方案投标文件(技术标)
- 铸造车间管理制度培训
- 2026完整版离婚协议书
- 2026年质量工程师《质量专业理论与实务(中级)》题库及答案
- 大跨度网架拆除及安装施工方案
- 铁路安全幼儿园课件
- 2026年法律职业资格之法律职业客观题考试题库及完整答案【各地真题】
评论
0/150
提交评论