⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc783.4up.ps

📁 this gives details of the network programming
💻 PS
📖 第 1 页 / 共 4 页
字号:
/d_footer_h 0 def/d_output_w 547 def/d_output_h 779 def/cols 1 def%%EndSetup%%Page: (1-4) 1%%BeginPageSetup_S24 818 translate%Page: (1) 1%BeginPageSetup_S% N-up sub-page 1/40 -392 translate0.490859 dup scale/pagenum 1 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (1) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 1 of 20) def%%EndPageSetupdo_header5 725 M(Network Working Group                                      K. R. Sollins) s5 712 M(Request for Comments: 783                                            MIT) s5 699 M(                                                              June, 1981) s5 686 M(Updates: IEN 133) s5 647 M(                     THE TFTP PROTOCOL \(REVISION 2\)) s5 595 M(                                Summary) s5 569 M(  TFTP  is  a  very  simple protocol used to transfer files.  It is from) s5 543 M(this that its name comes, Trivial File Transfer Protocol or TFTP.   Each) s5 517 M(nonterminal  packet is acknowledged separately.  This document describes) s5 491 M(the protocol and its types of packets.  The document also  explains  the) s5 465 M(reasons behind some of the design decisions.) s_R%Page: (2) 2%BeginPageSetup_S% N-up sub-page 2/4278 -392 translate0.490859 dup scale/pagenum 2 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (2) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 2 of 20) def%%EndPageSetupdo_header5 764 M( ) s5 725 M(                            ACKNOWLEDGEMENTS) s5 686 M(  The  protocol  was  originally  designed  by  Noel  Chiappa,  and  was) s5 660 M(redesigned by him, Bob Baldwin and Dave Clark, with comments from  Steve) s5 634 M(Szymanski.   The current revision of the document includes modifications) s5 608 M(stemming from discussions with and suggestions from  Larry  Allen,  Noel) s5 582 M(Chiappa,  Dave  Clark,  Geoff Cooper, Mike Greenwald, Liza Martin, David) s5 556 M(Reed, Craig Milo Rogers \(of UCS-ISI\), Kathy  Yellick,  and  the  author.) s5 530 M(The  acknowledgement  and retransmission scheme was inspired by TCP, and) s5 504 M(the error mechanism was suggested by PARC's EFTP abort message.) s5 257 M(This research was supported by the Advanced Research Projects Agency  of) s5 231 M(the  Department  of  Defense  and  was  monitored by the Office of Naval) s5 205 M(Research under contract number N00014-75-C-0661.) s_R%Page: (3) 3%BeginPageSetup_S% N-up sub-page 3/40 -794 translate0.490859 dup scale/pagenum 3 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (3) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 3 of 20) def%%EndPageSetupdo_header5 764 M(                                2) s_R%Page: (4) 4%BeginPageSetup_S% N-up sub-page 4/4278 -794 translate0.490859 dup scale/pagenum 4 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (4) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 4 of 20) def%%EndPageSetupdo_header5 725 M(1. Purpose) s5 699 M(  TFTP  is  a simple protocol to transfer files, and therefore was named) s5 673 M(the Trivial File Transfer Protocol or TFTP.  It has been implemented  on) s5 647 M(top  of  the Internet User Datagram protocol \(UDP or Datagram\) [2] so it) s5 621 M(may be used  to  move  files  between  machines  on  different  networks) s5 595 M(implementing   UDP.     \(This  should  not  exlude  the  possibility  of) s5 569 M(implementing TFTP on top of other datagram protocols.\)  It  is  designed) s5 543 M(to  be  small  and  easy  to implement.  Therefore, it lacks most of the) s5 517 M(features of a regular FTP.  The only thing it can do is read  and  write) s5 491 M(files  \(or  mail\)  from/to a remote server.  It cannot list directories,) s5 465 M(and currently has no provisions for user authentication.  In common with) s5 439 M(other Internet protocols, it passes 8 bit bytes of data.) s5 400 M(                                                             1        2) s5 387 M(  Three modes of transfer are currently  supported:  netascii ;  octet ,) s5 361 M(raw  8 bit bytes; mail, netascii characters sent to a user rather than a) s5 335 M(file.  Additional modes can be defined by pairs of cooperating hosts.) s5 179 M(_______________) s5 166 M(  1) s5 153 M(   This is ascii as  defined  in  "USA  Standard  Code  for  Information) s5 140 M(Interchange"  [1]  with  the modifications specified in "Telnet Protocol) s5 127 M(Specification" [3].  Note that it is 8 bit ascii.  The  term  "netascii") s5 114 M(will be used throughout this document to mean this particular version of) s5 101 M(ascii.) s5 88 M(  2) s5 75 M(   This  replaces  the  "binary"  mode  of  previous  versions  of  this) s5 23 M(                                 3) s_R_RS%%Page: (5-8) 2%%BeginPageSetup_S24 818 translate%Page: (5) 5%BeginPageSetup_S% N-up sub-page 1/40 -392 translate0.490859 dup scale/pagenum 5 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (5) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 5 of 20) def%%EndPageSetupdo_header5 725 M(2. Overview of the Protocol) s5 699 M(  Any transsfer begins with a request to read or write a file, which also) s5 673 M(serves  to  request a connection.  If the server grants the request, the) s5 647 M(connection is opened and the file is sent in fixed length blocks of  512) s5 621 M(bytes.    Each  data  packet  contains  one  block  of data, and must be) s5 595 M(acknowledged by an acknowledgment packet before the next packet  can  be) s5 569 M(sent.    A  data  packet of less than 512 bytes signals termination of a) s5 543 M(transfer.  If a packet gets lost in the network, the intended  recipient) s5 517 M(will timeout and may retransmit his last packet \(which may be data or an) s5 491 M(acknowledgment\),   thus  causing  the  sender  of  the  lost  packet  to) s5 465 M(retransmit that lost packet.  The sender has to keep just one packet  on) s5 439 M(hand  for  retransmission, since the lock step acknowledgment guarantees) s5 413 M(that all older packets have been received.  Notice  that  both  machines) s5 387 M(involved  in a transfer are considered senders and receivers.  One sends) s5 361 M(data and receives acknowledgments, the other sends  acknowledgments  and) s5 335 M(receives data.) s5 283 M(  Most  errors  cause  termination  of  the  connection.    An  error is) s5 257 M(signalled by sending an error packet.  This packet is not  acknowledged,) s5 231 M(and  not  retransmitted \(i.e., a TFTP server or user may terminate after) s5 205 M(sending an error message\), so the other end of the  connection  may  not) s5 179 M(get  it.   Therefore timeouts are used to detect such a termination when) s5 153 M(the error packet has been lost.  Errors are caused  by  three  types  of) s5 127 M(events:  not  being  able  to satisfy the request \(e.g., file not found,) s5 101 M(access violation, or no such user\), receiving a packet which  cannot  be) s5 75 M(explained  by a delay or duplication in the network \(e.g. an incorrectly) s5 36 M(                                 4) s_R%Page: (6) 6%BeginPageSetup_S% N-up sub-page 2/4278 -392 translate0.490859 dup scale/pagenum 6 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (6) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 6 of 20) def%%EndPageSetupdo_header5 725 M(formed  packet\),  and  losing access to a necessary resource \(e.g., disk) s5 699 M(full or access denied during a transfer\).) s5 647 M(  TFTP  recognizes  only  one  error  condition  that  does  not   cause) s5 621 M(termination,  the  source port of a received packet being incorrect.  In) s5 595 M(this case, an error packet is sent to the originating host.) s5 543 M(  This  protocol   is   very   restrictive,   in   order   to   simplify) s5 517 M(implementation.    For  example, the fixed length blocks make allocation) s5 491 M(straight forward,  and  the  lock  step  acknowledgement  provides  flow) s5 465 M(control and eliminates the need to reorder incoming data packets.) s5 413 M(3. Relation to other Protocols) s5 387 M(  As mentioned TFTP is designed to be implemented on top of the Datagram) s5 361 M(protocol.    Since  Datagram  is  implemented  on the Internet protocol,) s5 335 M(packets will have an Internet header, a  Datagram  header,  and  a  TFTP) s5 309 M(header.   Additionally, the packets may have a header \(LNI, ARPA header,) s5 283 M(etc.\)  to allow them through the local transport medium.   As  shown  in) s5 257 M(Figure 3-1, the order of the contents of a packet will be:  local medium) s5 231 M(header, if used, Internet header, Datagram header, TFTP header, followed) s5 205 M(by  the  remainder  of  the  TFTP  packet.  \(This may or may not be data) s5 179 M(depending on the type of packet as specified in the TFTP header.\)   TFTP) s5 153 M(does not specify any of the values in the Internet header.  On the other) s5 127 M(hand, the source and destination port fields of the Datagram header \(its) s5 101 M(format  is  given in the appendix\) are used by TFTP and the length field) s5 75 M(reflects the size of the TFTP packet.  The transfer identifiers  \(TID's\)) s5 36 M(                                 5) s_R%Page: (7) 7%BeginPageSetup_S% N-up sub-page 3/40 -794 translate0.490859 dup scale/pagenum 7 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc783.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc783.txt) def% User defined strings:/fmodstr (Thu Oct 15 00:00:00 1992) def/pagenumstr (7) def/user_header_p true def/user_header_left_str (RFC783) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 7 of 20) def%%EndPageSetupdo_header5 725 M(used  by  TFTP  are  passed  to  the Datagram layer to be used as ports;) s5 699 M(therefore they must be between 0 and  65,535.    The  initialization  of) s5 673 M(TID's is discussed in the section on initial connection protocol.) s5 621 M(  The  TFTP header consists of a 2 byte opcode field which indicates the) s5 595 M(packet's type \(e.g., DATA, ERROR, etc.\)  These opcodes and  the  formats) s5 569 M(of  the various types of packets are discussed further in the section on) s5 543 M(TFTP packets.) s5 517 M(                      Figure 3-1: Order of Headers) s5 452 M(          ---------------------------------------------------) s5 439 M(         |  Local Medium  |  Internet  |  Datagram  |  TFTP  |) s5 426 M(          ---------------------------------------------------) s5 374 M(4. Initial Connection Protocol) s5 348 M(  A transfer is established by sending a request \(WRQ to  write  onto  a) s5 322 M(foreign  file  system, or RRQ to read from it\), and receiving a positive) s5 296 M(reply, an acknowledgment packet for write, or the first data packet  for) s5 270 M(read.  In general an acknowledgment packet will contain the block number) s5 244 M(of  the data packet being acknowledged.  Each data packet has associated) s5 218 M(with it a block number; block numbers are  consecutive  and  begin  with) s5 192 M(one.      Since   the  positive  response  to  a  write  request  is  an) s5 166 M

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -