通工专业-现代通信网.ppt_第1页
通工专业-现代通信网.ppt_第2页
通工专业-现代通信网.ppt_第3页
通工专业-现代通信网.ppt_第4页
通工专业-现代通信网.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,1,现代通信网,2012秋季专业课,主讲 杨武军 , 8688166348 通信工程系 通信与信息工程学院 西安邮电大学,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,2,第六章 Internet,6.1 Internet概述 6.2 协议与互连的原理 6.3 IP层 6.4 运输层 6.5 应用层 6.6 IPv6,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,3,第十章 Internet的运输层,问题:1)IP层只提供Besteffort的服务,如果用户需要可靠的服务怎么办? 2) 主机上正在通信的一对进程相互间如何寻址?,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,4,Internet传输层协议概述,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,5,TCP/UDP报文段格式,0,8,16,24,31,16位源端口,16位目的端口,16位UDP校验和,数据,UDP报文段格式,TCP报文段格式,16位UDP长度,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,6,1运输层的协议和服务,两个运输层协议TCP,UDP 运输层提供基于端口号的复用能力。 运输层运行于端系统之上,提供不同主机上进程之间的逻辑通信能力。 TCP在两个进程间提供可靠数据传送服务 TCP段的结构 接收证实和超时重传 流量控制 连接管理 拥塞控制,但TCP不保证时延和带宽,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,7,TCP保证可靠服务的机制,数据报丢失:引入接收确认,重传机制 错序:在段中引入顺序号,使在最终目的地可以进行分段的重装。 Checksum:保证识别传输中的差错 慢的接收者:引入流控机制,使接收者可控制发送者的速率。 网络拥塞:控制源端的发送量,使之不超过网络的处理能力。 并发复用:引入端口号来区分不同的连接,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,8,2 TCP报文段的格式,源端口号,目的端口号,32 bits,应用数据 (可变长),顺序号,确认号,接收窗口,紧急指针,校验和,F,S,R,P,A,U,头部 长度,保 留,可选项(变长),20字节,小于40字节,64k字节,顺序号:当SYN1,代表初始序号ISN;其它时候SN表示该段中第一个数据字节的序号。 确认号:代表TCP接收实体期望接收的下一个字节的序号。 头部长度:以32bit为单位。 接收窗口:由接收方给出的愿意接受的字节数量,起始序号由确认号字段给出。 校验和:对整个报文段进行校验。,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,9,紧急指针:该字段的值加上报文段的序号后,代表紧急数据序列的最后一个字节,它使收方能够知道共有多少紧急数据到来。 URG:置位代表紧急指针字段有意义。 ACK: 确认号字段有意义。 PSH:强制交付 RST:重建连接 SYN:序号同步和连接建立。 FIN:本端不再发送数据,连接释放,参数含义,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,10,3 TCP的连接管理,面向连接:为实现一对进程之间可靠的数据通信,TCP采用了面向连接的方式,即在进程间先建立连接,再传输数据。 连接是实现可靠传输机制的基础 连接的标识:IP地址端口号(运输层)连接,该连接又被称为套接字Socket。 TCP连接是主机到主机的连接,即只在直接通信的两个主机上维持连接状态。 套接字是一个全双工连接 A-B =【(本地IP,本地端口),(远端IP,远端端口)】,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,11,Socket的概念,进程,进程,Internet,OS控制,程序员控制,TCP层,SocketB,SocketA,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,12,基于套接字的多路分解,Client IP:B,client IP: A,server IP: C,SP: 9157,DP: 80,P4,D-IP:C,S-IP: A,D-IP:C,S-IP: B,D-IP:C,S-IP: B,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,13,TCP保留端口号,R I P,应用层,传输层,在C/S模式下,提供特定服务的服务器必须公开其服务端口号,所有的Internet标准服务都有自己的保留端口号,这些端口号被称为well-known port,一般1024以内的端口将被OS保留。,所有的Internet服务使用的周知端口列表可在找到,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,14,连接的建立过程:三次握手,每一方通知对方自己将要使用的初始SN。 为什么不简单的用 0? 每一方确认对方的SN SYN-ACK: 确认 SN + 1 第二个SYN可以和第一个ACK合并,SYN: SNx,ACK: ANx+1 SYN: SNy,ACK: ANy+1,Client,Server,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,15,连接的释放过程,每一方独立发起释放过程 发送 FIN 消息 “Im not going to send any more data” 另一方可以继续发送数据 单向连接 确认必须继续 确认 FIN 确认最后的 SN + 1,释放过程看成两个独立的单工连接来理解,A,B,FIN, SNa,ACK, AN=a+1,ACK,Data,ACK, AN=B+1,FIN,SN=B,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,16,4 TCP的流量控制,问题:如何限制发送者的速率以实现收发速率匹配? 链路层采用固定窗口大小的流量控制。 TCP采用由接收方在ACK中通知发送方可用窗口大小(信用量)流控机制。 。但主机到主机的往返时延RTT(round-trip time)变化大。 为什么要引入这种复杂性?,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,17,滑动窗口协议中的发送方,顺序号:Seq,发送方必须在分组头中包含一个顺序号。 窗口尺寸:W,允许的连续发送未被证实的分组的最大个数。 证实信号:Ack(i);证实0i1的分组被正确接受,累计证实策略。 定时器: 重传机制:当发生丢失时,进行重发纠错。,13,14,15,16,17,18,19,20,21,22,23,24,已发送且证实的,已发送未证实的,目前可发送的,TCP窗口W,SendBase,NextSeq,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,18,acknowledged,sent,可以发送的,超出window的,Source Port,Dest. Port,Sequence Number,Acknowledgment,HL/Flags,Window,D. Checksum,Urgent Pointer,Options,Source Port,Dest. Port,Sequence Number,Acknowledgment,HL/Flags,Window,D. Checksum,Urgent Pointer,Options.,Packet Sent,Packet Received,TCP发送侧:流量控制参数,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,19,TCP中的信用量流控机制,确认与流控分离的思想: 涉及三个字段:顺序号SN,确认号AN,窗口尺寸W 传输的每个字节均分配一个SN。 当发送方收到一个返回的报文段ANi,Wj,它的含义是: 序号0i-1的字节都被确认,下一个期望接收的字节是i. 发送方新的窗口大小为Wj,合法的窗口内的序号为ij-1。,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,20,信用量机制示例,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,21,TCP的窗口大小,确定合理的W值是实现高效率流量控制的关键。W的取值显然与RTT有关,也与接收端可分配的缓冲区数量有关。(为简化分析,先不考虑缓冲区的限制) 设往返时延RTT,线路速率Rbps,分组长度=L。 则当W (RTTR)/L时,不会造成发送端因等待确认信号,所引起的线路空闲。 直观上,W与RTT成正比。但实际上W太大无意义,只会增加缓冲区的开销。 但在Internet上,端到端的时延变化很大,如何确定RTT?,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,22,确定RTT,由于Internet的状态随时间在变,固定的RTT值对实际的网络情况就可能有时显得太长,有时又太短。因此TCP采用观察最近的报文段的往返时延的方法来估计RTT,然后设定一个大一些的值。 TCP的RTT估值公式 估计RTT(1)估计RTT 样本RTT 其中, 在【RFC2988】的参考值 0.125。 含义是,使RTT对短暂的时延变化不敏感。,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,23,结论:TCP的窗口值,在发送一侧,TCP的窗口WminCwin,RcvWin,其中RcvWin由接收方在ACK中给出, 而Cwin由发送方根据网络的状态确定。 因此,发送方的最大吞吐量 minCwin,RcvWin/RTT,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,24,TCP的丢失重传机制,由于网络层不提供反馈信息,为保证可靠传输,TCP必须采用超时/重传机制来处理报文段的丢失问题。 丢失的定义:超时或连续收到三个冗余的ACK。 问题的关键:如何设定超时定时器RTO? 显然,RTO必须大于RTT,否则会造成不必要的重传。,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,25,RTO的估算公式,显然,RTO也不应比RTT的估值大太多,否则当出现丢失时,TCP将不能很快地重传该报文段。 估值RTO估值RTT4DevRTT(偏差) DevRTT(1) DevRTT |当前RTT估值RTT均值) 推荐值0.25.,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,26,TCP: 重传示例,Host A,Seq=100, 20 bytes data,ACK=100,premature timeout,Host B,Seq=92, 8 bytes data,ACK=120,Seq=92, 8 bytes data,ACK=120,Host A,Seq=92, 8 bytes data,ACK=100,loss,timeout,lost ACK scenario,Host B,X,Seq=92, 8 bytes data,ACK=100,time,Seq=92 timeout,SendBase = 100,SendBase = 120,SendBase = 120,Sendbase = 100,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,27,TCP 丢失重传 2,Host A,Seq=92, 8 bytes data,ACK=100,loss,timeout,Cumulative ACK scenario,Host B,X,Seq=100, 20 bytes data,ACK=120,time,SendBase = 120,结论: 实际中,RTO的值一般为1秒左右。 一旦发生超时,TCP将重传序号最小的未被确认的报文段,并将RTO值加倍。 发送端只为最小的未被确认的报文段启动一个超时定时器,每收到一个ACK,执行一次复位。,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,28,5 TCP的拥塞控制,概述 原因:流进网络的数据量超过了网络的处理能力 信源不能知道网络的实时状态。 信源彼此之间互相不知道对方的行为 流量控制的区别:控制机制相似,但触发的原因与目的不同。 拥塞导致的现象:分组丢失,时延加大,网络吞吐量下降,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,29,拥塞控制技术的分类,端到端的拥塞控制: 没有来自网络的显式拥塞反馈指示 端系统只能通过观测loss, delay等推测拥塞 TCP采用次方案,网络辅助的拥塞控制: 路由器给端系统提供拥塞指示 单比特拥塞指示位 指明发送者应该使用的发送速率 问题: 导致路由器行为复杂化,根据网络层是否为运输层提供显式的拥塞状态信息来分类,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,30,TCP拥塞控制要解决 的3个问题,1)如何限制一个已发生拥塞的连接的发送速率? 2)TCP发送方如何确定发生了拥塞? 3)当确定发生了拥塞后,采用什么算法来改变发送速率?,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,31,发送方如何调整发送速率?,接收窗口RcvWin的值由接收方确定,然后通知发送方,它用来防止接收方缓存溢出。但没有提供网络的拥塞状况。 网络的状况,由发送方探测确定,并记为拥塞窗口Cwin。 在任何时候,发送方实际的窗口大小应为CWin和RcvWin中的最小值,即满足: LastByteSent-LastByteAcked=minCWin,RcvWin. 为分析方便,我们忽略RcvWin,则得到发送方的发送速率RCWin/RTT。 显然,在发送方调整CWin,就可以调整发送速率。,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,32,拥塞的确定与控制算法,在TCP发送方,如果超时,或连续受到三个冗余 的ACK,则认为发生分组丢失事件,从而判定拥塞。 TCP的拥塞控制算法: 加性增,乘性减AIMD(additive-increase and multiplicative-decrease) 慢启动(slowstart) 超时反应,2019/6/10,Yang Wu-Jun,xian University of Post and Telecommuniations,33,Cwin在不同阶段的变化方式,慢启动阶段:每经过1个RTT,Cwin加倍。 即每收到一个Ack,执行CwinCwin1。 拥塞避免阶段:在没有发生丢失事件下,每经过1个RTT,Cwin加1。而当发生丢失事件后,则将Cwin减半,2019/6/10,Yang Wu-Jun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论