




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
可靠數(shù)據(jù)傳輸PrinciplesofReliabledatatransferimportantinapp.,transport,linklayerstop-10listofimportantnetworkingtopics!characteristicsofunreliablechannelwilldeterminecomplexityofreliabledatatransferprotocol(rdt)PrinciplesofReliabledatatransferimportantinapp.,transport,linklayerstop-10listofimportantnetworkingtopics!characteristicsofunreliablechannelwilldeterminecomplexityofreliabledatatransferprotocol(rdt)PrinciplesofReliabledatatransferimportantinapp.,transport,linklayerstop-10listofimportantnetworkingtopics!characteristicsofunreliablechannelwilldeterminecomplexityofreliabledatatransferprotocol(rdt)Reliabledatatransfer:gettingstartedsendsidereceivesiderdt_send():
calledfromabove,(e.g.,byapp.).Passeddatatodelivertoreceiverupperlayerudt_send():
calledbyrdt,totransferpacketoverunreliablechanneltoreceiverrdt_rcv():
calledwhenpacketarrivesonrcv-sideofchanneldeliver_data():
calledbyrdttodeliverdatatoupperReliabledatatransfer:gettingstartedWe’ll:incrementallydevelopsender,receiversidesofreliabledatatransferprotocol(rdt)consideronlyunidirectionaldatatransferbutcontrolinfowillflowonbothdirections!usefinitestatemachines(FSM)tospecifysender,receiverstate1state2eventcausingstatetransitionactionstakenonstatetransitionstate:wheninthis“state”nextstateuniquelydeterminedbynexteventeventactionsRdt1.0:reliabletransferoverareliablechannelunderlyingchannelperfectlyreliablenobiterrorsnolossofpacketsseparateFSMsforsender,receiver:sendersendsdataintounderlyingchannelreceiverreaddatafromunderlyingchannelRdt2.0:channelwithbiterrorsunderlyingchannelmayflipbitsinpacketchecksumtodetectbiterrorsthequestion:howtorecoverfromerrors:acknowledgements(ACKs):receiverexplicitlytellssenderthatpktreceivedOKnegativeacknowledgements(NAKs):receiverexplicitlytellssenderthatpkthaderrorssenderretransmitspktonreceiptofNAKnewmechanismsinrdt2.0(beyondrdt1.0):errordetectionreceiverfeedback:controlmsgs(ACK,NAK)rcvr->senderrdt2.0:FSMspecificationrdt2.0:operationwithnoerrorsWaitforcallfromabovesnkpkt=make_pkt(data,checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt)&¬corrupt(rcvpkt)rdt_rcv(rcvpkt)&&isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt)&&isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt)&&corrupt(rcvpkt)WaitforACKorNAKWaitforcallfrombelowrdt_send(data)Lrdt2.0:errorscenarioWaitforcallfromabovesnkpkt=make_pkt(data,checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt)&¬corrupt(rcvpkt)rdt_rcv(rcvpkt)&&isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt)&&isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt)&&corrupt(rcvpkt)WaitforACKorNAKWaitforcallfrombelowrdt_send(data)LWhathappensifACK/NAKcorrupted?senderdoesn’tknowwhathappenedatreceiver!can’tjustretransmit:possibleduplicateHandlingduplicates:senderretransmitscurrentpktifACK/NAKgarbledsenderaddssequencenumbertoeachpktreceiverdiscards(doesn’tdeliverup)duplicatepktrdt2.0hasafatalflaw!Sendersendsonepacket,thenwaitsforreceiverresponsestopandwaitrdt2.1:sender,handlesgarbledACK/NAKsrdt2.1:receiver,handlesgarbledACK/NAKsrdt2.2:aNAK-freeprotocolsamefunctionalityasrdt2.1,usingACKsonlyinsteadofNAK,receiversendsACKforlastpktreceivedOKreceivermustexplicitlyincludeseq#ofpktbeingACKedduplicateACKatsenderresultsinsameactionasNAK:retransmitcurrentpktrdt2.2:sender,receiverfragmentsrdt3.0:channelswitherrorsandlossNewassumption:underlyingchannelcanalsolosepackets(dataorACKs)checksum,seq.#,ACKs,retransmissionswillbeofhelp,butnotenoughApproach:senderwaits“reasonable”amountoftimeforACKretransmitsifnoACKreceivedinthistimeifpkt(orACK)justdelayed(notlost):retransmissionwillbeduplicate,b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 43708-2025科學數(shù)據(jù)安全要求通則
- GB/T 19343-2025巧克力及巧克力制品、代可可脂巧克力及代可可脂巧克力制品質量要求
- 公司資金貸款合同范本
- 公司變造勞動合同范本
- 醫(yī)療器械保險銷售合同范本
- alc工程合同范本
- 從屬許可合同范本
- 保姆英語合同范本
- 上海遮光窗簾加盟合同范本
- 臨時活動勞務派遣合同范例
- 回彈法測試原始記錄表
- 中建綜合支吊架施工方案
- 干部檔案目錄樣表
- 建筑施工規(guī)范大全
- 幼兒園開學家長會PPT模板(含完整內容)
- 表冷器更換施工方案
- 創(chuàng)意美術課3歲-12歲大師課《彼埃.蒙德里安》課件
- 瀝青集料篩分反算計算表格(自動計算)
- 哲學與人生(中職)PPT完整全套教學課件
- 惡性高熱課件
- 社區(qū)免費使用房屋協(xié)議書
評論
0/150
提交評論