, TCP IP 

[ Pobierz całość w formacie PDF ]
.This chapter looks at several components of TCP/IP that help automate deviceconfiguration, reduce the number of IP addresses allocated, and/or cope with thedemands of the mobile user.7.1 Bootstrap Protocol (BOOTP)BOOTP is a draft standard protocol.Its status is recommended.The BOOTPspecifications can be found in RFC 951  Bootstrap Protocol.There are also updates to BOOTP, some relating to interoperability with DHCP (see7.2,  Dynamic Host Configuration Protocol (DHCP) on page 406), described inRFC 1542  Clarifications and Extensions for the Bootstrap Protocol, whichupdates RFC 951 and RFC 2132  DHCP Options and BOOTP VendorExtensions.These updates to BOOTP are draft standards with a status of electiveand recommended respectively.The BOOTP protocol was originally developed as a mechanism to enable disklesshosts to be remotely booted over a network as workstations, routers, terminalconcentrators and so on.It allows a minimum IP protocol stack with noconfiguration information to obtain enough information to begin the process ofdownloading the necessary boot code.BOOTP does not define how thedownloading is done, but this process typically uses TFTP (see also 4.5,  TrivialFile Transfer Protocol (TFTP) on page 180) as described in RFC 906  BootstrapLoading Using TFTP.Although still widely for this purpose by diskless hosts,BOOTP is also commonly used solely as a mechanism to deliver configurationinformation to a client that has not been manually configured.The BOOTP process involves the following steps:1.The client determines its own hardware address; this is normally in a ROM onthe hardware.© Copyright IBM Corp.1989, 1998 401 2.A BOOTP client sends its hardware address in a UDP datagram to the server.The full contents of this datagram are shown in Figure 236 on page 403.Ifthe client knows its IP address and/or the address of the server, it should usethem, but in general BOOTP clients have no IP configuration data at all.If theclient does not know its own IP address, it uses 0.If the client does notknow the server's IP address, it uses the limited broadcast address(255.255.255.255).The UDP port number is 67.3.The server receives the datagram and looks up the hardware address of theclient in its configuration file, which contains the client's IP address.The serverfills in the remaining fields in the UDP datagram and returns it to the clientusing UDP port 68.One of three methods may be used to do this:If the client knows its own IP address (it was included in the BOOTPrequest), then the server returns the datagram directly to this address.It islikely that the ARP cache in the server's protocol stack will not know thehardware address matching the IP address.ARP will be used to determineit as normal.If the client does not know its own IP address (it was 0.0 in the BOOTPrequest), then the server must concern itself with its own ARP cache.ARP on the server cannot be used to find the hardware address of theclient because the client does not know its IP address and so cannot replyto an ARP request.This is called the  chicken and egg problem.Thereare two possible solutions: If the server has a mechanism for directly updating its own ARP cachewithout using ARP itself, it does so and then sends the datagramdirectly. If the server cannot update its own ARP cache, it must send abroadcast reply.4.When it receives the reply, the BOOTP client will record its own IP address(allowing it to respond to ARP requests) and begin the bootstrap process.402 TCP/IP Tutorial and Technical Overview 0 8 16 24 31code HWtype length hopstransaction IDseconds flags fieldclient IP addressyour IP addressserver IP addressrouter IP addressclient hardware address(16 bytes)server host name(64 bytes)boot file name(128 bytes)vendor-specific area(64 bytes)3376\3376F5D1Figure 236.BOOTP Message Formatcode Indicates a request or a reply.1 Request2 ReplyHWtype The type of hardware, for example:1 Ethernet6 IEEE 802 Networks :Refer to STD 2  Assigned Internet Numbers for a complete list.length Hardware address length in bytes.Ethernet and token-ring both use 6,for example.hops The client sets this to 0.It is incremented by a router that relays the request to another serverand is used to identify loops.RFC 951 suggests that a value of 3indicates a loop.Transaction IDA random number used to match this boot request with the response itgenerates.Seconds Set by the client.It is the elapsed time in seconds since the clientstarted its boot process.Flags fieldThe most significant bit of the flags field is used as a broadcast flag.Allother bits must be set to zero; they are reserved for future use.Chapter 7.Dynamic IP, Mobile IP and Network Computers 403 Normally, BOOTP servers attempt to deliver BOOTREPLY messagesdirectly to a client using unicast delivery.The destination address in theIP header is set to the BOOTP your IP address and the MAC address isset to the BOOTP client hardware address.If a host is unable toreceive a unicast IP datagram until it knows its IP address, then thisbroadcast bit must be set to indicate to the server that the BOOTREPLYmust be sent as an IP and MAC broadcast.Otherwise this bit must beset to zero.Client IP addressSet by the client.Either its known IP address, or 0.Your IP addressSet by the server if the client IP address field was 0.Server IP addressSet by the server.Router IP addressThis is the address of a BOOTP relay agent, not a general IP router tobe used by the client.It is set by the forwarding agent when BOOTPforwarding is being used (see 7.1.1,  BOOTP Forwarding onpage 405).Client hardware addressSet by the client and used by the server to identify which registeredclient is booting.Server host nameOptional server host name terminated by X'00'.Boot file nameThe client either leaves this null or specifies a generic name, such asrouter indicating the type of boot file to be used.The server returns thefully qualified filename of a boot file suitable for the client.The value isterminated by X'00'.Vendor-specific areaOptional vendor-specific area.It is recommended that clients always fillthe first four bytes with a  magic cookie. If a vendor-specific magiccookie is not used the client should use 99.130.83.99 followed by anend tag (255) and set the remaining bytes to zero.The vendor-specificarea can also contain BOOTP Vendor extensions.These are optionsthat can be passed to the client at boot time along with its IP address.For example, the client could also receive the address of a defaultrouter, the address of a domain name server and a subnet mask.BOOTP shares the same options as DHCP, with the exception ofseveral DHCP-specific options.Please see RFC 2132 for full details.Once the BOOTP client has processed the reply, it may proceed with the transferof the boot file and execute the full boot process.See RFC 906 for thespecification of how this is done with TFTP.In the case of a diskless host, the fullboot process will normally replace the minimal IP protocol stack, loaded from ROM,and used by BOOTP and TFTP, with a normal IP protocol stack transferred as partof the boot file and containing the correct customization for the client.404 TCP/IP Tutorial and Technical Overview 7.1.1 BOOTP ForwardingThe BOOTP client uses the limited broadcast address for BOOTP requests, whichrequires the BOOTP server to be on the same subnet as the client.BOOTPforwarding is a mechanism for routers to forward BOOTP requests across subnets.It is a configuration option available on most routers [ Pobierz caÅ‚ość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • anikol.xlx.pl