tftp介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1TFTPTFTPTrivialFileTransferProtocolTrivialFileTransferProtocolReferences:References:RFC783RFC783TFTPUsageandDesignTFTPUsageandDesign„„Transferfilesbetweenprocesses.Transferfilesbetweenprocesses.„„Minimaloverhead(nosecurity)Minimaloverhead(nosecurity)„„DesignedforUDP,althoughcouldbeusedDesignedforUDP,althoughcouldbeusedwithmanytransportprotocols.withmanytransportprotocols.„„EasytoimplementEasytoimplement„„SmallSmall--possibletoincludeinfirmwarepossibletoincludeinfirmware„„OftenusestobootstrapworkstationsandOftenusestobootstrapworkstationsandnetworkdevices.networkdevices.2TFTPProtocolTFTPProtocol„„55messagetypesmessagetypes––ReadrequestReadrequest––WriterequestWriterequest––DataData––ACK(acknowledgment)ACK(acknowledgment)––ErrorErrorReadRequestReadRequest0101filenamefilename00modemode0022bytebyteopcodeopcodenetworkbyteordernetworkbyteordernullterminatednullterminatedasciiasciistringstringcontainingnameoffilecontainingnameoffilenullterminatednullterminatedasciiasciistringstringcontainingtransfermodecontainingtransfermodevariablelengthfields!variablelengthfields!3WriteRequestWriteRequest0202filenamefilename00modemode0022bytebyteopcodeopcodenetworkbyteordernetworkbyteordernullterminatednullterminatedasciiasciistringstringcontainingnameoffilecontainingnameoffilenullterminatednullterminatedasciiasciistringstringcontainingtransfermodecontainingtransfermodevariablelengthfields!variablelengthfields!TFTPDataPacketTFTPDataPacket0303block#block#data0to512bytesdata0to512bytes22bytebyteopcodeopcodenetworkbyteordernetworkbyteorder22byteblocknumberbyteblocknumbernetworkbyteordernetworkbyteorderalldatapacketshave512bytesalldatapacketshave512bytesexceptthelastone.exceptthelastone.4TFTPAcknowledgmentTFTPAcknowledgment0404block#block#22bytebyteopcodeopcodenetworkbyteordernetworkbyteorder22byteblocknumberbyteblocknumbernetworkbyteordernetworkbyteorderTFTPErrorPacketTFTPErrorPacket0505errcodeerrcodeerrstringerrstring22bytebyteopcodeopcodenetworkbyteordernetworkbyteorder22byteerrorcodebyteerrorcodenetworkbyteordernetworkbyteordernullterminatednullterminatedasciiasciierrorstringerrorstring00ErrorCodes0-notdefined1-Filenotfound2-Accessviolation3-Diskfull4-IllegalTFTPoperation5-Unknownport6-Filealreadyexists7-nosuchuserErrorCodesErrorCodes00--notdefinednotdefined11--FilenotfoundFilenotfound22--AccessviolationAccessviolation33--DiskfullDiskfull44--IllegalTFTPoperationIllegalTFTPoperation55--UnknownportUnknownport66--FilealreadyexistsFilealreadyexists77--nosuchusernosuchuser5TFTPtransfermodesTFTPtransfermodes„„““netasciinetascii””:fortransferringtextfiles.:fortransferringtextfiles.––alllinesendwithalllinesendwith\\rr\\n(CR,LF).n(CR,LF).––providesstandardformatfortransferringtextprovidesstandardformatfortransferringtextfiles.files.––bothendsresponsibleforconvertingto/frombothendsresponsibleforconvertingto/fromnetasciinetasciiformat.format.„„““octetoctet””:fortransferringbinaryfiles.:fortransferringbinaryfiles.––notranslationdone.notranslationdone.LostDataPacketsLostDataPackets--OriginalProtocolSpecificationOriginalProtocolSpecification„„SenderusesatimeoutwithSenderusesatimeoutwithrestransmissionrestransmission..––sendercouldbeclientorserver.sendercouldbeclientorserver.„„DuplicatedatapacketsmustberecognizedDuplicatedatapacketsmustberecognized(ignored)andACKretransmitted.(ignored)andACKretransmitted.„„ThisoriginalprotocolsuffersfromtheThisoriginalprotocolsuffersfromthe““sorcerersorcerer’’sapprenticesyndrome.sapprenticesyndrome.6SorcererSorcerer’’sApprenticeSyndromesApprenticeSyndromesendDATA[n](timeout)restransmitDATA[n]receiveACK[n]sendDATA[n+1]receiveACK[n](dup)sendDATA[n+1](dup)...receiveDATA[n]sendACK[n]receiveDATA[n](dup)sendACK[n](dup)receiveDATA[n+1]sendACK[n+1]receiveDATA[n+1](dup)sendACK[n+1](dup)TheFixTheFix„„SendershouldnotSendershouldnotresendresendadatapacketinadatapacketinresponsetoaduplicateACK.responsetoaduplicateACK.„„IfsenderreceivesACK[n]IfsenderreceivesACK[n]--dondon’’tsendtsendDATA[n+1]iftheACKwasaduplicate.DATA[n+1]iftheACKwasaduplicate.

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功