第七章传输层协议.ppt
《第七章传输层协议.ppt》由会员分享,可在线阅读,更多相关《第七章传输层协议.ppt(66页珍藏版)》请在三一文库上搜索。
1、第七章 传输层协议,7.1 进程通信与端口 7.2 UDP协议 7.3 TCP协议,7.1 进程通信与端口,网络层或互联网层提供主机通信服务 传输层提供程通信服务 为了提供进程通信功能,TCP/IP协议族提出了端口(port)的概念,用于标识进程。,传输层与网络层或互联网层的关系,网络层与互联网层 功能:主机通信 协议:IP、 CLNP (ISO/OSI) 特点:hop-by-hop 传输层 功能:进程通信 协议:UDP和TCP、 TP04 (ISO/OSI) 特点:end-to-end,IP地址和端口,端口分配方法,第一种叫全局分配 这是一种集中控制方式,由IANA进行统一分配,并将结果公布
2、于众。 众所周知端口就是属于这一类。 第二种是本地分配 注册端口 动态分配 动态绑定,TCP/UDP 众所周知端口号,7.2 UDP协议,提供主机通信 IP服务特性 报文可能丢失 报文可能出错 报文可能乱序到达 报文在网络上可能被延迟任意长时间 支持多路复用,提供进程通信 UDP服务特性 报文可能丢失 报文可能出错 报文可能乱序到达 报文在网络上可能被延迟任意长时间 支持多路复用,IP与UDP关系,IP 提供主机通信 通信对象命名是IP 地址 IP地址定位到主机,UDP 提供进程通信 通信对象命名是Port 号 Port号定位到进程,1、报文格式,2、多路复用,3、伪头部,7.3 TCP协议,
3、7.3.1 服务特性 7.3.2 报文格式 7.3.3 连接建立和终止 7.3.4 差错控制 7.3.5 重传定时器,7.3.6 流量控制 7.3.7 拥塞控制 7.3.8 TCP扩展 7.3.9 触发传输 7.3.10 记录边界,7.3.1 服务特性(1),面向连接 全双工 点到点 可靠 字节流服务 多路复用,服务特性(2),流量控制 保证发送方不要“淹没”接收方 拥塞控制 保证发送方不要“淹没”网络,字节流(1),字节流(2),1) 发送和接受,TCP都使用缓存 2) 应用进程发送的数据首先保留在TCP发送缓存中,当数据量达到一个报文段大小时,TCP就向外发送数据。 3) 应用进程的多个发
4、送请求,可能对应一个TCP数据发送;,字节流(3),4) 可以使用PUSH机制使应用进程的每个发送请求都对应一个TCP数据发送; 5) TCP收到保文后存放在接收缓存中,等待应用进程读取; 6) 一个TCP发送可以对应多个TCP读操作;多个TCP发送可以对应一个读操作。,7.3.2 报文格式,字段含义(1),(1)源端口和目的端口 各2个字节,表示源和目的端口号。 (2)发送序号 4字节,指出报文中数据在发送方的数据流中的位置(以字节编号)。 (3)确认序号 4字节,指接收方希望下一次接收的字节序号。 (4)TCP头长 4比特,指出以32比特为单位的报文头部长度。该域是针对变长的“选项”域设计
5、的。,字段含义(2),(5)同步标志位SYN, 当SYN=1而ACK=0时,表明这是一个建立连接请求报文,若对方同意建立该连接,则应在发回的报文中使将SYN和ACK标志位同时置1。 (6)确认标志位ACK 只有当ACK=1时确认序号字段才有意义。当ACK=0时,确认序号没有意义。 (7)终止标志位FIN(FINal) 当FIN1时,表明数据已经发送完毕,并请求释放连接。,字段含义(3),(8)重建标志位RST(ReSeT) 当RST=1时,表明出现严重差错,必须释放连接,然后重新建立连接。 (9)紧急标志位URG(URGent) 当URG=1时,表明此报文是紧急数据,应尽快传送出去。 (10)
6、急迫标志位PSH(PuSH) 当PSH=1时,请求接收方TCP协议将该报文立即交给应用程序。,字段含义(4),(11)通告窗口 2字节。该字段实际上是接收方告诉发送方它的接收窗口大小,其单位为字节。通告窗口字段主要是用于流量控制。 (12)校验和 2字节。校验和字段检验的范围包括TCP报文的头部和数据区这两部分。 (13)可选项 长度可变。最常用的选项,即最大报文长度MSS(Maximum Segment Size)。,7.3.3 连接建立和终止,TCP状态变换图,7.3.4 差错控制,字节编号 字节确认 超时重传,1、字节编号,每个TCP连接传输的字节数据由TCP进行随机编号,即每个TCP连
7、接开始时第一个TCP报文段第一字节数据的编号是随机选取的(避免初始序列号ISN攻击)。,举例,假设某条TCP连接要传送5000字节的文件,TCP对第一个字节的编号从10001(随机选取的)开始。假设这个文件分为5个TCP报文段进行传送,每个TCP报文段携带1000字节,那么每个TCP报文段的字节编号如下所示: 报文段1 顺序号: 10,001 (范围: 10,001 到 11,000) 报文段2 顺序号: 11,001 (范围: 11,001 到 12,000) 报文段3 顺序号: 12,001 (范围: 12,001 到 13,000) 报文段4 顺序号: 13,001 (范围: 13,00
8、1 到 14,000) 报文段5 顺序号: 14,001 (范围: 14,001 到 15,000),2、字节确认,TCP采用的是字节确认,一般情况下,接收方确认已收到的最长的、连续的字节计数,TCP报文的每个确认序号字段指出下一个希望接收的字节,实际上就是对已经收到的所有字节的确认。 字节确认的优点是即使确认丢失也不一定导致发送方重传。,3、超时重传,发送方TCP为了恢复丢失或者损坏的报文段,必须对丢失或者损坏的报文段进行重传。事实上,发送方TCP每发送一个TCP报文段,就启动一个重传定时器,如果在规定的时间之内没有收到接收方TCP返回的确认报文,重传定时器超时,与于是发送重传该TCP报文。
9、,7.3.5 重传定时器,1、原始算法 2、Karn/Partridge算法,1、原始算法,EstimatedRTT = EstimatedRTT + (1-) SampleRTT 因子决定了EstimatedRTT对延迟变化的反应速度;当接近1时,短暂的延迟变化对EstimatedRTT几乎不起作用;而当接近0时,EstimatedRTT紧随延迟的变化而变化。原始的TCP协议规范建议值在0.8到0.9之间。,超时定时器计算,TimeOut = EstimatedRTT 当接近1时,TCP能迅速检测到报文丢失并及时重传,从而减少等待时间,但可能引起不必要的重传。当太大时,重传报文的数目减少,但
10、等待确认的时间太长。作为折衷,原始的TCP协议规范一般推荐取2。,2、Karn/Partridge算法,产生超时后,当重传一个报文时,TCP停止计算机RTT采样值;TCP只为没有重传的报文测量RTT采样值。 即每当TCP有超时重传时,它下次的超时定时器的值设置成上次的两倍,而并不以上次的EstimatedRTT为基础。,7.3.6 流量控制,1、滑动窗口机制 2、坚持定时器 3、保持定时器,1、滑动窗口机制,与数据链路层不同的是:TCP不是使用一个固定大小的滑动窗口,而是由接收方通过TCP报文头部的通告窗口AdvertisedWindow字段向发送方通告它的窗口大小。 发送方在任意时刻没有确认
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 传输 协议
链接地址:https://www.31doc.com/p-2568468.html