通工专业-现代通信网课件_第1页
通工专业-现代通信网课件_第2页
通工专业-现代通信网课件_第3页
通工专业-现代通信网课件_第4页
通工专业-现代通信网课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

现代通信网2012秋季专业课主讲

杨武军

wujun@,86-88166348通信工程系通信与信息工程学院西安邮电大学9/16/20231Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations第六章InternetInternet概述协议与互连的原理IP层运输层应用层IPv69/16/20232Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations第十章Internet的运输层applicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicallogical

end-end

transport问题:1)IP层只提供Best-effort的服务,如果用户需要可靠的服务怎么办?2)

主机上正在通信的一对进程相互间如何寻址?9/16/20233Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsInternet传输层协议概述应用层传输层网络层网络接入层TCPUDP11/27/20234Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations1运输层的协议和服务两个运输层协议TCP,UDP运输层提供基于端口号的复用能力。运输层运行于端系统之上,提供不同主机上进程之间的逻辑通信能力。TCP在两个进程间提供可靠数据传送服务TCP段的结构接收证实和超时重传流量控制连接管理拥塞控制但TCP不保证时延和带宽11/27/20236Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsTCP保证可靠服务的机制11/27/20237Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations数据报丢失:引入接收确认,重传机制错序:在段中引入顺序号,使在最终目的地可以进行分段的重装。Checksum:保证识别传输中的差错慢的接收者:引入流控机制,使接收者可控制发送者的速率。网络拥塞:控制源端的发送量,使之不超过网络的处理能力。并发复用:引入端口号来区分不同的连接2

TCP报文段的格式源端口号目的端口号顺序号确认号头部长度保留UAPRSF接收窗口校验和紧急指针可选项(变长)应用数据(可变长)32

bits20字节11/27/20238Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations小于40字节64k字节顺序号:当SYN=1,代表初始序号ISN;其它时候SN表示该段中第一个数据字节的序号。确认号:代表TCP接收实体期望接收的下一个字节的序号。头部长度:以32bit为单位。接收窗口:由接收方给出的愿意接受的字节数量,起始序号由确认号字段给出。校验和:对整个报文段进行校验。紧急指针:该字段的值加上报文段的序号后,代表紧急数据序列的最后一个字节,它使收方能够知道共有多少紧急数据到来。URG:置位代表紧急指针字段有意义。ACK:确认号字段有意义。PSH:强制交付RST:重建连接SYN:序号同步和连接建立。FIN:本端不再发送数据,连接释放11/27/20239Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations参数含义3

TCP的连接管理11/27/202310Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations面向连接:为实现一对进程之间可靠的数据通信,TCP采用了面向连接的方式,即在进程间先建立连接,再传输数据。连接是实现可靠传输机制的基础连接的标识:IP地址+端口号(运输层)=连接,该连接又被称为套接字Socket。TCP连接是主机到主机的连接,即只在直接通信的两个主机上维持连接状态。套接字是一个全双工连接A->B=【(本地IP,本地端口),(远端IP,远端端口)】Socket的概念进程进程InternetOS控制程序员控制TCP层SocketBSocketA11/27/202311Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations基于套接字的多路分解ClientIP:BP1clientIP:

AP2serverIP:

CSP:

9157SP:

9157P4P1P3DP:80S-IP:

AD-IP:CDP:

80S-IP:

BD-IP:CSP:

5775DP:80S-IP:

BD-IP:C11/27/202312Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsTCPFTSDTSTEMNFNPLTSTMNPPPEUDP21T23255369161520TCP保留端口号RIP11/27/202313Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations应用层传输层在C/S模式下,提供特定服务的服务器必须公开其服务端口号,所有的

Internet标准服务都有自己的保留端口号,这些端口号被称为well-known

port,一般

1024以内的端口将被OS保留。所有的Internet服务使用的周知端口列表可在找到连接的建立过程:三次握手每一方通知对方自己将要使用的初始SN。为什么不简单的用0?每一方确认对方的SNSYN-ACK:确认SN+1第二个SYN可以和第一个ACK合并SYN:

SN=xACK:

AN=x+1SYN:

SN=yACK:

AN=y+111/27/202314Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsClientServer连接的释放过程每一方独立发起释放过程发送FIN

消息“I’m

not

going

to

sendany

moredata”另一方可以继续发送数据单向连接确认必须继续确认FIN确认最后的SN+1释放过程看成两个独立的单工连接来理解ABFIN,

SN=aACK,

AN=a+1ACK,DataACK,

AN=B11/27/202315Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations+1FIN,SN=B4

TCP的流量控制11/27/202316Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations问题:如何限制发送者的速率以实现收发速率匹配?链路层采用固定窗口大小的流量控制。TCP采用由接收方在ACK中通知发送方可用窗口大小(信用量)流控机制。。但主机到主机的往返时延RTT(round-triptime)变化大。为什么要引入这种复杂性?滑动窗口协议中的发送方131415161718192021222324已发送未证实的目前可发送的顺序号:Seq,发送方必须在分组头中包含一个顺序号。窗口尺寸:W,允许的连续发送未被证实的分组的最大个数。证实信号:Ack(i);证实0~i-1的分组被正确接受,累计证实策略。定时器:重传机制:当发生丢失时,进行重发纠错。已发送且证实的TCP窗口WSendBase11/27/202317Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsNextSeqacknowledgedsent可以发送的超出window的Source

PortDest.

PortSequence

NumberAcknowledgmentHL/FlagsD.ChecksumWindowUrgent

PointerOptions…Source

PortDest.

PortSequence

NumberAcknowledgmentHL/FlagsWindowD.ChecksumUrgent

PointerOptions...Packet

SentPacket

ReceivedTCP发送侧:流量控制参数11/27/202318Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsTCP中的信用量流控机制11/27/202319Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations确认与流控分离的思想:涉及三个字段:顺序号SN,确认号AN,窗口尺寸W传输的每个字节均分配一个SN。当发送方收到一个返回的报文段AN=i,W=j,它的含义是:序号0~i-1的字节都被确认,下一个期望接收的字节是i.发送方新的窗口大小为W=j,合法的窗口内的序号为i~j-1。信用量机制示例11/27/202320Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsTCP的窗口大小11/27/202321Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations确定合理的W值是实现高效率流量控制的关键。W的取值显然与RTT有关,也与接收端可分配的缓冲区数量有关。(为简化分析,先不考虑缓冲区的限制)设往返时延RTT,线路速率=Rbps,分组长度=L。则当W≧(RTT×R)/L时,不会造成发送端因等待确认信号,所引起的线路空闲。直观上,W与RTT成正比。但实际上W太大无意义,只会增加缓冲区的开销。但在Internet上,端到端的时延变化很大,如何确定RTT?确定RTT11/27/202322Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations由于Internet的状态随时间在变,固定的RTT值对实际的网络情况就可能有时显得太长,有时又太短。因此TCP采用观察最近的报文段的往返时延的方法来估计RTT,然后设定一个大一些的值。TCP的RTT估值公式估计RTT=(1-а)×估计RTT+а×样本RTT其中,在【RFC2988】а的参考值а=0.125。含义是,使RTT对短暂的时延变化不敏感。结论:TCP的窗口值11/27/202323Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations在发送一侧,TCP的窗口W=min{Cwin,RcvWin},其中RcvWin由接收方在

ACK中给出,而Cwin由发送方根据网络的状态确定。因此,发送方的最大吞吐量=min{Cwin,RcvWin}/RTTTCP的丢失重传机制11/27/202324Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations由于网络层不提供反馈信息,为保证可靠传输,TCP必须采用超时/重传机制来处理报文段的丢失问题。丢失的定义:超时或连续收到三个冗余的ACK。问题的关键:如何设定超时定时器RTO?显然,RTO必须大于RTT,否则会造成不必要的重传。RTO的估算公式11/27/202325Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations显然,RTO也不应比RTT的估值大太多,否则当出现丢失时,TCP将不能很快地重传该报文段。估值RTO=估值RTT+4×DevRTT(偏差)DevRTT=(1-ß)×DevRTT+ß×|当前

RTT估值-RTT均值)ß推荐值=0.25.TCP:重传示例Host

ASeq=100,

20

bytes

dataACK=100timepremature

timeoutHost

BSeq=92,

8

bytesdataACK=120Seq=92,

8

bytesdataSeq=92

timeoutACK=120Host

ASeq=92,

8

bytesdataACK=100losstimeoutlost

ACK

scenarioHost

BXSeq=92,

8

bytesdataACK=100timeSeq=92

timeoutSendBase=

10011/27/202326Yang

Wu-Jun,xi'an

University

of

Post

and

TelecommuniationsSendbase=

100SendBase=

120SendBase=

120TCP

丢失重传-2Host

ASeq=92,

8

bytesdataACK=100losstimeouttimeCumulative

ACK

scenarioHost

BXSeq=100,

20

bytes

dataACK=120SendBase=

12011/27/202327Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations结论:实际中,RTO的值一般为1秒左右。一旦发生超时,TCP将重传序号最小的未被确认的报文段,并将RTO值加倍。发送端只为最小的未被确认的报文段启动一个超时定时器,每收到一个

ACK,执行一次复位。5

TCP的拥塞控制概述原因:流进网络的数据量超过了网络的处理能力信源不能知道网络的实时状态。信源彼此之间互相不知道对方的行为流量控制的区别:控制机制相似,但触发的原因与目的不同。拥塞导致的现象:分组丢失,时延加大,网络吞吐量下降10

Mbps1.5

Mbps100

Mbps11/27/202328Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations拥塞控制技术的分类端到端的拥塞控制:没有来自网络的显式拥塞反馈指示端系统只能通过观测loss,delay等推测拥塞TCP采用次方案网络辅助的拥塞控制:11/27/202329Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations路由器给端系统提供拥塞指示单比特拥塞指示位指明发送者应该使用的发送速率问题:导致路由器行为复杂化根据网络层是否为运输层提供显式的拥塞状态信息来分类TCP拥塞控制要解决的3个问题11/27/202330Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations如何限制一个已发生拥塞的连接的发送速率?TCP发送方如何确定发生了拥塞?当确定发生了拥塞后,采用什么算法来改变发送速率?发送方如何调整发送速率?11/27/202331Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations接收窗口RcvWin的值由接收方确定,然后通知发送方,它用来防止接收方缓存溢出。但没有提供网络的拥塞状况。网络的状况,由发送方探测确定,并记为拥塞窗口Cwin。在任何时候,发送方实际的窗口大小应为CWin和RcvWin中的最小值,即满足:LastByteSent-LastByteAcked<=min{CWin,RcvWin}.为分析方便,我们忽略RcvWin,则得到发送方的发送速率R=CWin/RTT。显然,在发送方调整CWin,就可以调整发送速率。拥塞的确定与控制算法11/27/202332Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations在TCP发送方,如果超时,或连续受到三个冗余的ACK,则认为发生分组丢失事件,从而判定拥塞。TCP的拥塞控制算法:加性增,乘性减AIMD(additive-increase

andmultiplicative-decrease)慢启动(slow-start)超时反应Cwin在不同阶段的变化方式慢启动阶段:每经过1个RTT,Cwin加倍。 即每收到一个Ack,执行Cwin=Cwin+1。拥塞避免阶段:在没有发生丢失事件下,每经过1个RTT,Cwin加1。而当发生丢失事件后,则将Cwin减半11/27/202333Yang

Wu-Jun,xi'an

University

of

Post

and

Telecommuniations慢启动的详解当

温馨提示

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

评论

0/150

提交评论