TITLE
    Mac OS X Server: What Is bootp?
Article ID:
Created:
Modified:
60058
3/2/99
10/30/00

TOPIC

    This article describes bootstrap protocol (bootp).


DISCUSSION

    Bootp is the bootstrap protocol. It can be used to transfer an IP configuration image to a client; in addition it can also transfer an operating system image to run diskless clients. These are two separate steps so that a client can get an IP address without having to boot from the server. This is the basically the same procedure as NetBooting.

    When a client makes a bootp request, it broadcasts its Ethernet address. This is the address for the computer's network interface card(s). Specifically, it is referred to as a MAC (Media Access Control) address. The network interface may be built into the logic board, or it may come from a card that has been added to the computer. A bootp server recognizes a client via its Ethernet address. The server will ignore all bootp broadcasts that come from Ethernet addresses that are not in its configuration table.

    If a bootp server is in the same subnet as the client making the request the server will return the IP configuration of the client. It will also return the name and location of the file used to boot diskless clients. Note: bootp packets do not travel across subnets, but some routers have the extensions to allow this, check with the router manufacturer. In normal operation it is not a good idea to allow bootp packets to cross subnets.

    If the client is going to boot from its hard drive, bootp will quit and the normal boot sequence will continue. However, if the client is going to boot from the server it will need to download the operating system image file. This is done by bootp and TFTP (trivial file transfer protocol). TFTP is a simple version of FTP that operates via UDP instead of TCP. UDP is a much lower level process than TCP and requires fewer resources to operate.

    The bootp client will pass the location of the bootfile image to the TFTP client. The TFTP client will then request that the image be downloaded from the server. Once the image has been downloaded, bootp will load the image into memory (including virtual memory) and booting will continue.

    Bootp Daemons

    Two daemons should be running on a bootp server. These are bootpd and bootparamd. The easiest way to confirm this is to open the ProcessViewer and visually inspect that both the processes are running. Another way is to type " ps -aux | grep bootp " at the command line. This searches the currently running processes for these processes. This command will also show the user that the owner of these processes is root.

    Both the bootpd and bootparamd must be running for bootp and NetBooting services to work properly.

    NetInfo Bootp Properties

    If a Netinfo server is also a bootp server the configuration information for the clients will have to be in NetInfo, so that bootp can do its job. There are five properties that must be present in the NetInfo database. The table below shows these properties and theoretical values associated with them.

    Here is a table of the five properties and their values:
    name Skye
    bootfile mach
    ip_address 192.168.1.1
    en_address 0:5:b:3b:f6:7
    bootparams root=scotland:/bootimages/MXS private=scotland:/bootimages/MXS/private

    These properties and values tell the server which IP configuration to assign to a client based on its MAC address. The en_address is the MAC address and is used for identification of authorized clients. The name and ip_address properties are assigned to the client, thus configuring it for TCP/IP network access.

    The server also returns the values for bootfile and bootparams. The bootfile is the file that contains the operating system the client will boot from. The bootparams property is the location of the operating system image. The client will only use these values if it is booting from the server.

    NetBoot uses a modified version of bootp. For information about the NetBooting implementation of bootp, please see the following article:

    Article 60080 " Mac OS X Server: NetBoot Theory Of Operation ."

Document Information
Product Area: Mac OS System Software
Category: Mac OS X Server
Sub Category: General Topics

Copyright © 2000 Apple Computer, Inc. All rights reserved.