Advertisement
kn0tsel

BOOTP-01

Nov 21st, 2012
382
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Logtalk 27.43 KB | None | 0 0
  1. Network Working Group                   Bill Croft (Stanford University)
  2. Request for Comments: 951                John Gilmore (Sun Microsystems)
  3.                                                           September 1985
  4.                        BOOTSTRAP PROTOCOL (BOOTP)
  5. 1. Status of this Memo
  6.    This RFC suggests a proposed protocol for the ARPA-Internet
  7.    community, and requests discussion and suggestions for improvements.
  8.    Distribution of this memo is unlimited.
  9. 2. Overview
  10.    This RFC describes an IP/UDP bootstrap protocol (BOOTP) which allows
  11.    a diskless client machine to discover its own IP address, the address
  12.    of a server host, and the name of a file to be loaded into memory and
  13.    executed.  The bootstrap operation can be thought of as consisting of
  14.    TWO PHASES.  This RFC describes the first phase, which could be
  15.    labeled ’address determination and bootfile selection’.  After this
  16.    address and filename information is obtained, control passes to the
  17.    second phase of the bootstrap where a file transfer occurs.  The file
  18.    transfer will typically use the TFTP protocol [9], since it is
  19.    intended that both phases reside in PROM on the client.  However
  20.    BOOTP could also work with other protocols such as SFTP [3] or
  21. FTP [6].
  22.    We suggest that the client’s PROM software provide a way to do a
  23.    complete bootstrap without ’user’ interaction.  This is the type of
  24.    boot that would occur during an unattended power-up.  A mechanism
  25.    should be provided for the user to manually supply the necessary
  26.    address and filename information to bypass the BOOTP protocol and
  27.    enter the file transfer phase directly.  If non-volatile storage is
  28.    available, we suggest keeping default settings there and bypassing
  29.    the BOOTP protocol unless these settings cause the file transfer
  30.    phase to fail.  If the cached information fails, the bootstrap should
  31.    fall back to phase 1 and use BOOTP.
  32.    Here is a brief outline of the protocol:
  33.       1. A single packet exchange is performed.  Timeouts are used to
  34.       retransmit until a reply is received.  The same packet field
  35.       layout is used in both directions.  Fixed length fields of maximum
  36.       reasonable length are used to simplify structure definition and
  37.       parsing.
  38.       2. An ’opcode’ field exists with two values.  The client
  39.       broadcasts a ’bootrequest’ packet.  The server then answers with a
  40.       ’bootreply’ packet.  The bootrequest contains the client’s
  41.       hardware address and its IP address, if known.
  42. Croft & Gilmore                                                 [Page 1]
  43. RFC 951                                                   September 1985
  44. Bootstrap Protocol
  45.       3. The request can optionally contain the name of the server the
  46.       client wishes to respond.  This is so the client can force the
  47.       boot to occur from a specific host (e.g. if multiple versions of
  48.       the same bootfile exist or if the server is in a far distant
  49.       net/domain).  The client does not have to deal with name / domain
  50.       services; instead this function is pushed off to the BOOTP server.
  51.       4. The request can optionally contain the ’generic’ filename to be
  52.       booted.  For example ’unix’ or ’ethertip’.  When the server sends
  53.       the bootreply, it replaces this field with the fully qualified
  54.       path name of the appropriate boot file.  In determining this name,
  55.       the server may consult his own database correlating the client’s
  56.       address and filename request, with a particular boot file
  57.       customized for that client.  If the bootrequest filename is a null
  58.       string, then the server returns a filename field indicating the
  59.       ’default’ file to be loaded for that client.
  60.       5. In the case of clients who do not know their IP addresses, the
  61.       server must also have a database relating hardware address to IP
  62.       address.  This client IP address is then placed into a field in
  63.       the bootreply.
  64.       6. Certain network topologies (such as Stanford’s) may be such
  65.       that a given physical cable does not have a TFTP server directly
  66.       attached to it (e.g. all the gateways and hosts on a certain cable
  67.       may be diskless).  With the cooperation of neighboring gateways,
  68.       BOOTP can allow clients to boot off of servers several hops away,
  69.       through these gateways.  See the section ’Booting Through
  70.       Gateways’ below.  This part of the protocol requires no special
  71.       action on the part of the client.  Implementation is optional and
  72.       requires a small amount of additional code in gateways and
  73.       servers.
  74. 3. Packet Format
  75.    All numbers shown are decimal, unless indicated otherwise.  The BOOTP
  76.    packet is enclosed in a standard IP [8] UDP [7] datagram.  For
  77.    simplicity it is assumed that the BOOTP packet is never fragmented.
  78.    Any numeric fields shown are packed in ’standard network byte order’,
  79.    i.e. high order bits are sent first.
  80.    In the IP header of a bootrequest, the client fills in its own IP
  81.    source address if known, otherwise zero.  When the server address is
  82.    unknown, the IP destination address will be the ’broadcast address’
  83.    255.255.255.255.  This address means ’broadcast on the local cable,
  84.    (I don’t know my net number)’ [4].
  85. Croft & Gilmore                                                 [Page 2]
  86. RFC 951                                                   September 1985
  87. Bootstrap Protocol
  88.    The UDP header contains source and destination port numbers.  The
  89.    BOOTP protocol uses two reserved port numbers, ’BOOTP client’ (68)
  90.    and ’BOOTP server’ (67).  The client sends requests using ’BOOTP
  91.    server’ as the destination port; this is usually a broadcast.  The
  92.    server sends replies using ’BOOTP client’ as the destination port;
  93.    depending on the kernel or driver facilities in the server, this may
  94.    or may not be a broadcast (this is explained further in the section
  95.    titled ’Chicken/Egg issues’ below).  The reason TWO reserved ports
  96.    are used, is to avoid ’waking up’ and scheduling the BOOTP server
  97.    daemons, when a bootreply must be broadcast to a client.  Since the
  98.    server and other hosts won’t be listening on the ’BOOTP client’ port,
  99.    any such incoming broadcasts will be filtered out at the kernel
  100.    level.  We could not simply allow the client to pick a ’random’ port
  101.    number for the UDP source port field; since the server reply may be
  102.    broadcast, a randomly chosen port number could confuse other hosts
  103.    that happened to be listening on that port.
  104.    The UDP length field is set to the length of the UDP plus BOOTP
  105.    portions of the packet.  The UDP checksum field can be set to zero by
  106.    the client (or server) if desired, to avoid this extra overhead in a
  107.    PROM implementation.  In the ’Packet Processing’ section below the
  108.    phrase ’[UDP checksum.]’ is used whenever the checksum might be
  109.    verified/computed.
  110.       FIELD   BYTES   DESCRIPTION
  111.       -----   -----   -----------
  112. op 1 htype 1
  113. hlen 1 hops 1
  114. xid 4
  115. secs 2
  116. Croft & Gilmore
  117. packet op code / message type.
  118. 1 = BOOTREQUEST, 2 = BOOTREPLY
  119. hardware address type,
  120. see ARP section in "Assigned Numbers" RFC.
  121. 1= 10mb ethernet
  122. hardware address length
  123. (eg ’6’ for 10mb ethernet).
  124. client sets to zero,
  125. optionally used by gateways
  126. in cross-gateway booting.
  127. transaction ID, a random number,
  128. used to match this boot request with the
  129. responses it generates.
  130. filled in by client, seconds elapsed since
  131. client started trying to boot.
  132. [Page 3]
  133. RFC 951
  134. Bootstrap Protocol
  135. -- 2 ciaddr 4
  136. yiaddr 4
  137.          siaddr  4
  138.          giaddr  4
  139.          chaddr  16
  140.          sname   64
  141.          file    128
  142. vend 64
  143. 4. Chicken / Egg Issues
  144. September 1985
  145. unused
  146. client IP address;
  147. filled in by client in bootrequest if known.
  148. ’your’ (client) IP address;
  149. filled by server if client doesn’t
  150. know its own address (ciaddr was 0).
  151. server IP address;
  152. returned in bootreply by server.
  153. gateway IP address,
  154. used in optional cross-gateway booting.
  155. client hardware address,
  156. filled in by client.
  157. optional server host name,
  158. null terminated string.
  159. boot file name, null terminated string;
  160. ’generic’ name or null in bootrequest,
  161. fully qualified directory-path
  162. name in bootreply.
  163. optional vendor-specific area,
  164. e.g. could be hardware type/serial on request,
  165. or ’capability’ / remote file system handle
  166. on reply.  This info may be set aside for use
  167. by a third phase bootstrap or kernel.
  168.    How can the server send an IP datagram to the client, if the client
  169.    doesnt know its own IP address (yet)?  Whenever a bootreply is being
  170.    sent, the transmitting machine performs the following operations:
  171.       1. If the client knows its own IP address (’ciaddr’ field is
  172.       nonzero), then the IP can be sent ’as normal’, since the client
  173.       will respond to ARPs [5].
  174.       2. If the client does not yet know its IP address (ciaddr zero),
  175.       then the client cannot respond to ARPs sent by the transmitter of
  176.       the bootreply.  There are two options:
  177.          a. If the transmitter has the necessary kernel or driver hooks
  178. Croft & Gilmore                                                 [Page 4]
  179. RFC 951                                                   September 1985
  180. Bootstrap Protocol
  181.          to ’manually’ construct an ARP address cache entry, then it can
  182.          fill in an entry using the ’chaddr’ and ’yiaddr’ fields.  Of
  183.          course, this entry should have a timeout on it, just like any
  184.          other entry made by the normal ARP code itself.  The
  185.          transmitter of the bootreply can then simply send the bootreply
  186.          to the client’s IP address.  UNIX (4.2 BSD) has this
  187.          capability.
  188.          b. If the transmitter lacks these kernel hooks, it can simply
  189.          send the bootreply to the IP broadcast address on the
  190.          appropriate interface.  This is only one additional broadcast
  191.          over the previous case.
  192. 5. Client Use of ARP
  193.    The client PROM must contain a simple implementation of ARP, e.g. the
  194.    address cache could be just one entry in size.  This will allow a
  195.    second-phase-only boot (TFTP) to be performed when the client knows
  196.    the IP addresses and bootfile name.
  197.    Any time the client is expecting to receive a TFTP or BOOTP reply, it
  198.    should be prepared to answer an ARP request for its own IP to
  199.    hardware address mapping (if known).
  200.    Since the bootreply will contain (in the hardware encapsulation) the
  201.    hardware source address of the server/gateway, the client MAY be able
  202.    to avoid sending an ARP request for the server/gateway IP address to
  203.    be used in the following TFTP phase.  However this should be treated
  204.    only as a special case, since it is desirable to still allow a
  205.    second-phase-only boot as described above.
  206. 6. Comparison to RARP
  207.    An earlier protocol, Reverse Address Resolution Protocol (RARP) [1]
  208.    was proposed to allow a client to determine its IP address, given
  209.    that it knew its hardware address.  However RARP had the disadvantage
  210.    that it was a hardware link level protocol (not IP/UDP based).  This
  211.    means that RARP could only be implemented on hosts containing special
  212.    kernel or driver modifications to access these ’raw’ packets.  Since
  213.    there are many network kernels existent now, with each source
  214.    maintained by different organizations, a boot protocol that does not
  215.    require kernel modifications is a decided advantage.
  216.    BOOTP provides this hardware to IP address lookup function, in
  217.    addition to the other useful features described in the sections
  218.    above.
  219. Croft & Gilmore                                                 [Page 5]
  220. RFC 951                                                   September 1985
  221. Bootstrap Protocol
  222. 7. Packet Processing
  223.    7.1. Client Transmission
  224.       Before setting up the packet for the first time, it is a good idea
  225.       to clear the entire packet buffer to all zeros; this will place
  226.       all fields in their default state.  The client then creates a
  227.       packet with the following fields.
  228.       The IP destination address is set to 255.255.255.255.  (the
  229.       broadcast address) or to the server’s IP address (if known).  The
  230.       IP source address and ’ciaddr’ are set to the client’s IP address
  231.       if known, else 0.  The UDP header is set with the proper length;
  232.       source port =BOOTP client’ port destination port =BOOTP
  233.       server’ port.
  234.       ’op’ is set to ’1’, BOOTREQUEST.  ’htype’ is set to the hardware
  235.       address type as assigned in the ARP section of the "Assigned
  236.      Numbers" RFC. ’hlen’ is set to the length of the hardware address,
  237.       e.g. ’6’ for 10mb ethernet.
  238.       ’xid’ is set to a ’random’ transaction id.  ’secs’ is set to the
  239.       number of seconds that have elapsed since the client has started
  240.       booting.  This will let the servers know how long a client has
  241.       been trying.  As the number gets larger, certain servers may feel
  242.       more ’sympathetic’ towards a client they don’t normally service.
  243.       If a client lacks a suitable clock, it could construct a rough
  244.       estimate using a loop timer.  Or it could choose to simply send
  245.       this field as always a fixed value, say 100 seconds.
  246.       If the client knows its IP address, ’ciaddr’ (and the IP source
  247.       address) are set to this value.  ’chaddr’ is filled in with the
  248.       client’s hardware address.
  249.       If the client wishes to restrict booting to a particular server
  250.       name, it may place a null-terminated string in ’sname’.  The name
  251.       used should be any of the allowable names or nicknames of the
  252.       desired host.
  253.       The client has several options for filling the ’file’ name field.
  254.       If left null, the meaning isI want to boot the default file for
  255.       my machine’.  A null file name can also mean ’I am only interested
  256.       in finding out client/server/gateway IP addresses, I dont care
  257.       about file names’.
  258.       The field can also be a ’generic’ name such as ’unix’ or
  259. Croft & Gilmore                                                 [Page 6]
  260. RFC 951                                                   September 1985
  261. Bootstrap Protocol
  262.       ’gateway’; this means ’boot the named program configured for my
  263.       machine’.  Finally the field can be a fully directory qualified
  264.       path name.
  265.       The ’vend’ field can be filled in by the client with
  266.       vendor-specific strings or structures.  For example the machine
  267.       hardware type or serial number may be placed here.  However the
  268.       operation of the BOOTP server should not DEPEND on this
  269.       information existing.
  270.       If the ’vend’ field is used, it is recommended that a 4 byte
  271.       ’magic number’ be the first item within ’vend’.  This lets a
  272.       server determine what kind of information it is seeing in this
  273.       field.  Numbers can be assigned by the usual ’magic number’
  274.       process --you pick one and it’s magic.  A different magic number
  275.       could be used for bootreply’s than bootrequest’s to allow the
  276.       client to take special action with the reply information.
  277.       [UDP checksum.]
  278.    7.2. Client Retransmission Strategy
  279.       If no reply is received for a certain length of time, the client
  280.       should retransmit the request.  The time interval must be chosen
  281.       carefully so as not to flood the network.  Consider the case of a
  282.       cable containing 100 machines that are just coming up after a
  283.       power failure.  Simply retransmitting the request every four
  284.       seconds will inundate the net.
  285.       As a possible strategy, you might consider backing off
  286.       exponentially, similar to the way ethernet backs off on a
  287.       collision.  So for example if the first packet is at time 0:00,
  288.       the second would be at :04, then :08, then :16, then :32, then
  289.       :64.  You should also randomize each time; this would be done
  290.       similar to the ethernet specification by starting with a mask and
  291.       ’and’ing that with with a random number to get the first backoff.
  292.       On each succeeding backoff, the mask is increased in length by one
  293.       bit.  This doubles the average delay on each backoff.
  294.       After the ’average’ backoff reaches about 60 seconds, it should be
  295.       increased no further, but still randomized.
  296.       Before each retransmission, the client should update the ’secs’
  297.       field. [UDP checksum.]
  298. Croft & Gilmore                                                 [Page 7]
  299. RFC 951                                                   September 1985
  300. Bootstrap Protocol
  301.    7.3. Server Receives BOOTREQUEST
  302.       [UDP checksum.]  If the UDP destination port does not match the
  303.       ’BOOTP server’ port, discard the packet.
  304.       If the server name field (sname) is null (no particular server
  305.       specified), or sname is specified and matches our name or
  306.       nickname, then continue with packet processing.
  307.       If the sname field is specified, but does not match ’us’, then
  308.       there are several options:
  309.          1. You may choose to simply discard this packet.
  310.          2. If a name lookup on sname shows it to be on this same cable,
  311.          discard the packet.
  312.          3. If sname is on a different net, you may choose to forward
  313.          the packet to that address.  If so, check the ’giaddr’ (gateway
  314.          address) field.  If ’giaddr’ is zero, fill it in with my
  315.          address or the address of a gateway that can be used to get to
  316.          that net.  Then forward the packet.
  317.       If the client IP address (ciaddr) is zero, then the client does
  318.       not know its own IP address.  Attempt to lookup the client
  319.       hardware address (chaddr, hlen, htype) in our database.  If no
  320.       match is found, discard the packet.  Otherwise we now have an IP
  321.       address for this client; fill it into the ’yiaddr’ (your IP
  322.       address) field.
  323.       We now check the boot file name field (file).  The field will be
  324.       null if the client is not interested in filenames, or wants the
  325.       default bootfile.  If the field is non-null, it is used as a
  326.       lookup key in a database, along with the client’s IP address.  If
  327.       there is a default file or generic file (possibly indexed by the
  328.       client address) or a fully-specified path name that matches, then
  329.       replace the ’file’ field with the fully-specified path name of the
  330.       selected boot file.  If the field is non-null and no match was
  331.       found, then the client is asking for a file we dont have; discard
  332.       the packet, perhaps some other BOOTP server will have it.
  333.       The ’vend’ vendor-specific data field should now be checked and if
  334.       a recognized type of data is provided, client-specific actions
  335.       should be taken, and a response placed in the ’vend’ data field of
  336.       the reply packet.  For example, a workstation client could provide
  337. Croft & Gilmore                                                 [Page 8]
  338. RFC 951                                                   September 1985
  339. Bootstrap Protocol
  340.       an authentication key and receive from the server a capability for
  341.       remote file access, or a set of configuration options, which can
  342.       be passed to the operating system that will shortly be booted in.
  343.       Place my (server) IP address in the ’siaddr’ field.  Set the ’op’
  344.       field to BOOTREPLY.  The UDP destination port is set to ’BOOTP
  345.       client’.  If the client address ’ciaddr’ is nonzero, send the
  346.       packet there; else if the gateway address ’giaddr’ is nonzero, set
  347.       the UDP destination port to ’BOOTP server’ and send the packet to
  348.       ’giaddr’; else the client is on one of our cables but it doesnt
  349.       know its own IP address yet --use a method described in the ’Egg
  350.       section above to send it to the client. IfEggis used and we
  351.       have multiple interfaces on this host, use the ’yiaddr’ (your IP
  352.       address) field to figure out which net (cable/interface) to send
  353.       the packet to.  [UDP checksum.]
  354.    7.4. Server/Gateway Receives BOOTREPLY
  355.       [UDP checksum.]  If ’yiaddr’ (your [the client’s] IP address)
  356.       refers to one of our cables, use one of the ’Egg’ methods above to
  357.       forward it to the client.  Be sure to send it to the ’BOOTP
  358.       client’ UDP destination port.
  359.    7.5. Client Reception
  360.       Don’t forget to process ARP requests for my own IP address (if I
  361.       know it).  [UDP checksum.]  The client should discard incoming
  362.       packets that: are not IP/UDPs addressed to the boot port; are not
  363.       BOOTREPLYs; do not match my IP address (if I know it) or my
  364.       hardware address; do not match my transaction id.  Otherwise we
  365.       have received a successful reply. ’yiaddr’ will contain my IP
  366.       address, if I didnt know it before.  ’file’ is the name of the
  367.       file name to TFTP ’read request’.  The server address is in
  368.       ’siaddr’.  If ’giaddr’ (gateway address) is nonzero, then the
  369.       packets should be forwarded there first, in order to get to the
  370.       server.
  371. 8. Booting Through Gateways
  372.    This part of the protocol is optional and requires some additional
  373.    code in cooperating gateways and servers, but it allows cross-gateway
  374.    booting.  This is mainly useful when gateways are diskless machines.
  375.    Gateways containing disks (e.g. a UNIX machine acting as a gateway),
  376.    might as well run their own BOOTP/TFTP servers.
  377.    Gateways listening to broadcast BOOTREQUESTs may decide to forward or
  378.    rebroadcast these requests ’when appropriate’.  For example, the
  379. Croft & Gilmore                                                 [Page 9]
  380. RFC 951                                                   September 1985
  381. Bootstrap Protocol
  382.    gateway could have, as part of his configuration tables, a list of
  383.    other networks or hosts to receive a copy of any broadcast
  384.    BOOTREQUESTs.  Even though a ’hops’ field exists, it is a poor idea
  385.    to simply globally rebroadcast the requests, since broadcast loops
  386.    will almost certainly occur.
  387.    The forwarding could begin immediately, or wait until the ’secs’
  388.    (seconds client has been trying) field passes a certain threshold.
  389.    If a gateway does decide to forward the request, it should look at
  390.    the ’giaddr’ (gateway IP address) field.  If zero, it should plug its
  391.    own IP address (on the receiving cable) into this field.  It may also
  392.    use the ’hops’ field to optionally control how far the packet is
  393.    reforwarded. Hops should be incremented on each forwarding.  For
  394.    example, if hops passes ’3’, the packet should probably be discarded.
  395.    [UDP checksum.]
  396.    Here we have recommended placing this special forwarding function in
  397.    the gateways.  But that does not have to be the case.  As long as
  398.    some ’BOOTP forwarding agent’ exists on the net with the booting
  399.    client, the agent can do the forwarding when appropriate.  Thus this
  400.    service may or may not be co-located with the gateway.
  401.    In the case of a forwarding agent not located in the gateway, the
  402.    agent could save himself some work by plugging the broadcast address
  403.    of the interface receiving the bootrequest into the ’giaddr’ field.
  404.    Thus the reply would get forwarded using normal gateways, not
  405.    involving the forwarding agent.  Of course the disadvantage here is
  406.    that you lose the ability to use the ’Egg’ non-broadcast method of
  407.    sending the reply, causing extra overhead for every host on the
  408.    client cable.
  409. 9. Sample BOOTP Server Database
  410.    As a suggestion, we show a sample text file database that the BOOTP
  411.    server program might use.  The database has two sections, delimited
  412.    by a line containing an percent in column 1.  The first section
  413.    contains a ’default directory’ and mappings from generic names to
  414.    directory/pathnames.  The first generic name in this section is the
  415.    ’default file’ you get when the bootrequest contains a null ’file’
  416.    string.
  417.    The second section maps hardware addresstype/address into an
  418.    ipaddress. Optionally you can also overide the default generic name
  419.    by supplying a ipaddress specific genericname.  A ’suffix’ item is
  420.    also an option; if supplied, any generic names specified by the
  421.    client will be accessed by first appending ’suffix’ to the ’pathname’
  422. Croft & Gilmore                                                [Page 10]
  423. RFC 951                                                   September 1985
  424. Bootstrap Protocol
  425.    appropriate to that generic name.  If that file is not found, then
  426.    the plain ’pathname’ will be tried.  This ’suffix’ option allows a
  427.    whole set of custom generics to be setup without a lot of effort.
  428.    Below is shown the general format; fields are delimited by one or
  429.    more spaces or tabs; trailing empty fields may be omitted; blank
  430.    lines and lines beginning with ’#’ are ignored.
  431.       # comment line
  432.       homedirectory
  433.       genericname1    pathname1
  434.       genericname2    pathname2
  435.       ...
  436.       % end of generic names, start of address mappings
  437.       hostname1 hardwaretype hardwareaddr1 ipaddr1 genericname suffix
  438.       hostname2 hardwaretype hardwareaddr2 ipaddr2 genericname suffix
  439.       ...
  440.    Here is a specific example.  Note the ’hardwaretype’ number is the
  441.    same as that shown in the ARP section of the ’Assigned NumbersRFC.
  442.    The ’hardwaretype’ and ’ipaddr’ numbers are in decimal;
  443.    ’hardwareaddr’ is in hex.
  444. # last updated by smith
  445. /usr/boot
  446. vmunix          vmunix
  447. tip             ethertip
  448. watch           /usr/diag/etherwatch
  449. gate            gate.
  450. % end of generic names, start of address mappings
  451. hamilton
  452. burr
  453. 101-gateway
  454. mjh-gateway
  455. welch-tipa
  456. welch-tipb
  457. 1 02.60.8c.06.34.98
  458. 1 02.60.8c.34.11.78
  459. 1 02.60.8c.23.ab.35
  460. 1 02.60.8c.12.32.bc
  461. 1 02.60.8c.22.65.32
  462. 1 02.60.8c.12.15.c8
  463. 36.19.0.5
  464. 36.44.0.12
  465. 36.44.0.32
  466. 36.42.0.64
  467. 36.47.0.14
  468. 36.46.0.12
  469. gate 101
  470. gate mjh
  471. tip
  472. tip
  473.    In the example above, if ’mjh-gateway’ does a default boot, it will
  474.    get the file ’/usr/boot/gate.mjh’.
  475. Croft & Gilmore                                                [Page 11]
  476. RFC 951                                                   September 1985
  477. Bootstrap Protocol
  478. 10. Acknowledgements
  479.    Ross Finlayson (et. al.) produced two earlier RFC’s discussing TFTP
  480.    bootstraping [2] using RARP [1].
  481.    We would also like to acknowledge the previous work and comments of
  482.    Noel Chiappa, Bob Lyon, Jeff Mogul, Mark Lewis, and David Plummer.
  483. REFERENCES
  484.    1.  Ross Finlayson, Timothy Mann, Jeffrey Mogul, Marvin Theimer.  A
  485.        Reverse Address Resolution Protocol.  RFC 903, NIC, June, 1984.
  486.    2.  Ross Finlayson.  Bootstrap Loading using TFTP.  RFC 906, NIC,
  487.        June, 1984.
  488.    3.  Mark Lottor.  Simple File Transfer Protocol.  RFC 913, NIC,
  489.        September, 1984.
  490.    4.  Jeffrey Mogul.  Broadcasting Internet Packets.  RFC 919, NIC,
  491.        October, 1984.
  492.    5.  David Plummer.  An Ethernet Address Resolution Protocol.  RFC
  493.        826, NIC, September, 1982.
  494.    6.  Jon Postel.  File Transfer Protocol.  RFC 765, NIC, June, 1980.
  495.    7.  Jon Postel.  User Datagram Protocol.  RFC 768, NIC, August, 1980.
  496.    8.  Jon Postel.  Internet Protocol.  RFC 791, NIC, September, 1981.
  497.    9.  K. R. Sollins, Noel Chiappa.  The TFTP Protocol.  RFC 783, NIC,
  498.        June, 1981.
  499. Croft & Gilmore                                                [Page 12]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement