资源描述:
《《传输层之二》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4讲传输层之二本讲目的:Internet传输层的实现和实例教科书参考第8章本讲概述:面向连接的传输:TCP可靠传输流量控制连接管理TCP拥塞控制拥塞控制原则1第4讲传输层之二TCP:概述RFCs:793,1122,1323,2018,2581全双工数据传输:在同一连接上双向传输MSS:maximumsegmentsize(最大段字节数-1500,536,512)面向连接:握手过程(交换控制信息)在交换数据前初始化收发双方的状态,“三次握手”流量控制:发送方的发送速度不得超过接收方的处理速度点对点:一个发送方,一
2、个接收方可靠,按序的字节流:无“报文边界”,无结构但有顺序流水式控制:TCP的拥塞和流量控制,设置窗口大小发送&接收缓存2第4讲传输层之二TCP段格式(p238)sourceport#destport#32bits应用数据(可变长度)sequencenumberacknowledgementnumberrcvrwindowsizeptrurgentdatachecksumFSRPAUheadlennotusedOptions(可变长度-MSS)URG:urgentdata(一般不用)ACK:ACK#validPS
3、H:pushdatanow(一般不用)RST,SYN,FIN:connectionestab(setup,teardowncommands)#bytes接收方愿意接受的按发送数据的字节计算(不是按段数!)Internetchecksum(asinUDP)3第4讲传输层之二TCPseq.#’s和ACKsSeq.#’s:该数据段第一个字节在(整个报文)字节流中“编号”ACKs:seq#为预期从对方发来的“下一个”字节的编号积累的ACKQ:接收方如何接受失序的数据段A:TCP没有定义,-由程序设计者决定HostAHos
4、tBSeq=42,ACK=79,data=‘C’Seq=79,ACK=43,data=‘C’Seq=43,ACK=80Usertypes‘C’hostACKsreceiptofechoed‘C’hostACKsreceiptof‘C’,echoesback‘C’time简单的telnet场景4第4讲传输层之二TCP:可靠数据传输简化的发送方,假设waitforeventwaitforeventevent:datareceivedfromapplicationaboveevent:timertimeoutforse
5、gmentwithseq#yevent:ACKreceived,withACK#ycreate,sendsegmentretransmitsegmentACKprocessing单向数据传输无流量,拥塞控制5第4讲传输层之二TCP:可靠数据传输00sendbase=initial_sequencenumber01nextseqnum=initial_sequencenumber0203loop(forever){04switch(event)05event:datareceivedfromapplicationa
6、bove06createTCPsegmentwithsequencenumbernextseqnum07starttimerforsegmentnextseqnum08passsegmenttoIP09nextseqnum=nextseqnum+length(data)10event:timertimeoutforsegmentwithsequencenumbery11retransmitsegmentwithsequencenumbery12compuenewtimeoutintervalforsegmenty
7、13restarttimerforsequencenumbery14event:ACKreceived,withACKfieldvalueofy15if(y>sendbase){/*cumulativeACKofalldatauptoy*/16cancelalltimersforsegmentswithsequencenumbers8、CKsreceivedfory21if(numberofduplicateACKSreceivedfory==3){22/*TCPfastretransmit*/23resendsegmentwithsequencenumbery24restarttimerforsegmenty25}26}/*endofloopforever*/简化的TCP发送方6第4讲传输层之二TCP