Bootp & dhcp

meghnesh

Member
Join Date
Jan 2011
Location
Gujarat
Posts
82
Hi frndz..


Can any1 please guide me on BOOTP/DHCP ?
I am really new to it.
I understand that it allots Dynamic IP address to various controllers from a BOOTP server and then renews back the address.

Please guide me more on how things work !!
Thanks in advance.
 
Bootp/dhcp

The Bootstrap Protocol (BOOTP) is an older Host Configuration Protocol which has been around much longer than Dynamic Host Configuration Protocol (DHCP). Both act very similarly except DHCP adds a few enhancements onto BOOTP. They both provide server assigned IP addressing to BOOTP/DHCP clients. DHCP includes the BOOTP protocol for backward compatibility with legacy devices. So any DHCP server can also receive BOOTP broadcast requests from legacy BOOTP only clients. BOOTP is used more so for assigning static IP addresses, whereas DHCP is used for assigning either static, or leased dynamic IP addresses.

The following is based on using Rockwell Automation's BOOTP/DHCP software v2.3.2...

When a client boots up without an IP address, and has BOOTP enabled, it will broadcast its MAC address onto the network using UDP request packets, seeking out a server to service those requests i.e. assign it an IP address. Once an IP address has been assigned, the client ceases broadcasting requests to the server.

Once a BOOTP server receives a BOOTP request, there are a couple of options as to how it assigns IP addresses.

1. Static IP addressing...

(a) Once the MAC address of the client is visible in the Request History window, you can now select Add to Relations List, and assign an IP address to the client. The relationship is now displayed in the Relation List window showing the MAC address paired with the IP address. If you now select the entry, the option to Disable BOOTP/DHCP will be available. Clicking this button will send a UDP packet back to the client to disable BOOTP. You should see a message at the bottom confirming that BOOTP has been successfully disabled. This way, when the client reboots, it will no longer broadcast its MAC address requesting an IP address from a BOOTP server. Instead, it will load the previously statically assigned IP address now stored in its own internal memory. The BOOTP/DHCP server can now be closed, without saving the Relation List entry, and the client will independently continue to use its stored static IP address.

However, not all client devices retain their static IP addresses upon reboot...

(b) For client devices that clear their static IP address from memory upon reboot - Here you assign a static IP address, but do not Disable BOOTP/DHCP. The Relation List entry must be saved so as to re-establish the relationship between the client's MAC address and the static IP address, each time it may reboot. The BOOTP server must remain open, with the Relation List loaded, and visible to the client on the network at all times should the client reboot.


2. Dynamic IP addressing...

If a client device is DHCP enabled, then within the BOOTP/DHCP software, DHCP will be working as the server to assign the IP address. A similar UDP broadcast request packet, containing the client's MAC address, is sent from the DHCP client. This time the server, recognizing the packet as a DHCP request, will lease the client a dynamic IP address from a user defined pool of addresses. This dynamic IP address will remain with the client until the lease expires. Once it has run out, the client will automatically rebind its leased IP address from the DHCP server, without any need to reboot. If the client is rebooted, then the cache is cleared, and the client resends fresh DHCP requests to the server to renew a dynamically assigned IP address. Again, the DHCP server must be running and visible on the network at all times to facilitate the clients requests.

So, depending on the device(s) broadcasting to it, BOOTP/DHCP can act as either a BOOTP, or DHCP Server, assigning either static or dynamic IP addressing.

NB: Static is the preferred IP addressing schema for deterministic automation control networks. Dynamically assigning IP addressing on such a network could lead to many problems, complications, and potentially dangerous situations.

Regards,
George
 
NB: Static is the preferred IP addressing schema for deterministic automation control networks. Dynamically assigning IP addressing on such a network could lead to many problems, complications, and potentially dangerous situations.

Regards,
George

I would go along with everything George has said, especially that last comment.

What would happen if a power-outage caused breakers to trip in the location where the BOOTP server resides. When the power is restored, all the devices will be screaming "give me an IP address!", and there's no-one there listening....

But I would go further and question the usefulness of use of BOOTP and/or DHCP for the assignment of Static IP addresses based on a broadcast MAC Address.

From a maintenance point of view, it means that you cannot swap-out a comms module, and expect it to receive it's IP Address from a BOOTP server, simply because the new module will not be in the "Relation List" (remember that all MAC addresses are unique, not type dependant). The technician will need to find the machine that is running BOOTP, and edit its relation list to accept the MAC address of the new module, so that it can assign the correct IP to it. This machine may not be easily accessible to the maint. tech., especially at 3 a.m. !!

In my view it is always best to "commission" the comms modules manually, by whatever means available, disable BOOTP/DHCP on the module so that it retains its static IP, and then "put into service".

Everyone should be trained to be able to do this, so that the plant is not reliant on a BOOTP/DHCP server (You can only have one, redundancy is not an option).
 
Many of the issues discussed in this thread are of no concern if the system is setup correctly.

In industrial systems if you want to use DHCP for drives and other components and make use of Automatic device configuration on replacement then you switch connecting the drives and other devices should be your DHCP server.

If a breaker trips and it does not have power the rest of your equipment won't run anyway so it's a moot point.

When you use DHCP in industrial systems you should be using DHCP persistance which gives the same result as using static as it will give the same address everytime on that port.
 
From a maintenance point of view, it means that you cannot swap-out a comms module, and expect it to receive it's IP Address from a BOOTP server, simply because the new module will not be in the "Relation List" (remember that all MAC addresses are unique, not type dependant). The technician will need to find the machine that is running BOOTP, and edit its relation list to accept the MAC address of the new module, so that it can assign the correct IP to it. This machine may not be easily accessible to the maint. tech., especially at 3 a.m. !!

Daba

AFAIK most people don't use BootP in a production enviroment for assigning addresses they use DHCP. Despite popular belief there is a lot of difference between BootP and DHCP.

Seems like you were speaking of MAC address filtering or "allow lists" . I don't know of anyone using this in Manaufaturing or IT. People used to do it for security purposes and I am sure some people still do but it still exists from a flawed understanding of security.

MAC filtering is more annoying than it is secure. Any script kiddie worth his salt can spoof a MAC ID in under 2 minutes that's how flawed MAC filtering / allow lists are.

I fyou run across clients doing this for security inform them that they are wasting their time and only making the system more difficult to service.
 
I have experimented with this on my home lab. my DHCP is "persistent", once it assigns an IP address to a MAC address, it goes into a reservation list, whenever I connect one of my PLCs to the network, it always gets assigned the same IP address based on which VLAN I connect it to, this reservation does not expire, the only way to get it out is to remove it from the list manually.

This was done mostly out of convenience, So I can swap my PLCs between VLANs without having to manually reconfigure the network settings.

I don't think I would want to use this at work though, The network is fairly large, consisting of several 24 port layer 2 switches throughout the plant, many of which are full, besides, the companies Manufacturing IT standard on the matter is all static IPs.
 
None of the last 3 responses have addressed the issue that a new (and hence unknown) piece of ethernet hardware will not receive its IP Address from either BOOTP or DHCP, whether "persistant" or not.

An unconfigured device comes onto the network, and shouts its MAC address, no-one recognises it, so nothing happens.
 
None of the last 3 responses have addressed the issue that a new (and hence unknown) piece of ethernet hardware will not receive its IP Address from either BOOTP or DHCP, whether "persistant" or not.

An unconfigured device comes onto the network, and shouts its MAC address, no-one recognises it, so nothing happens.

It certainly will if there is a properly configured DHCP or BOOTP server running on the network, I have done it many times. Most all of these devices are defaulted to auto-negotiate and DHCP enabled out of the box.

If there is no such server available, what you say is true.

I would also note that many such "DHCP" servers will assign IP addresses to a MAC via DHCP, BOOTP, and a couple other doodads that I am completely unfamiliar with, I personally use a PFSense rack machine as a multiple VLAN router/firewall, it happily assigns IP addresses with either.
 
Last edited:
To me, IMHO, critical devices (like PLC I/O devices) should never be on DHCP.
Static addressing appears far safer and way more deterministic (everything put in its place, no "unknowns" or "to be determined").
In DHCP addressing, everything remote becomes dependent on the DHCP server, when it should be dependent ONLY to the PLC logic or HMI.
 
To me, IMHO, critical devices (like PLC I/O devices) should never be on DHCP.
Static addressing appears far safer and way more deterministic (everything put in its place, no "unknowns" or "to be determined").
In DHCP addressing, everything remote becomes dependent on the DHCP server, when it should be dependent ONLY to the PLC logic or HMI.

I wouldn't either in a production environment, nor did I ever advocate doing so, but for lab and testing purposes it's convenient, reliable and I generally don't have to change any network setting from the NIB defaults.
 
To me, IMHO, critical devices (like PLC I/O devices) should never be on DHCP.
Static addressing appears far safer and way more deterministic (everything put in its place, no "unknowns" or "to be determined").
In DHCP addressing, everything remote becomes dependent on the DHCP server, when it should be dependent ONLY to the PLC logic or HMI.

DHCP setup is better than static when setup correctly. Lowers the amount of downtime when components fail.
 
I wouldn't either in a production environment, nor did I ever advocate doing so, but for lab and testing purposes it's convenient, reliable and I generally don't have to change any network setting from the NIB defaults.

I use it on 13 different process lines that have downtime charges from 20K to 60K per hour. I would not be without it.
 
It certainly will if there is a properly configured DHCP or BOOTP server running on the network, I have done it many times. Most all of these devices are defaulted to auto-negotiate and DHCP enabled out of the box.

If there is no such server available, what you say is true.

I would also note that many such "DHCP" servers will assign IP addresses to a MAC via DHCP, BOOTP, and a couple other doodads that I am completely unfamiliar with, I personally use a PFSense rack machine as a multiple VLAN router/firewall, it happily assigns IP addresses with either.

Done correctly IMHO DHCP services should be run from the main switch in the machine.If it's down your line won't run anyway.

I think DHCP reservations are being confused with persistence. Reservations require the MAC ID and persistence does not.

I setup my devices as static but also make a DHCP persistence entry with the same address this way if bubba needs to replace a drive at 3 am he does not need to call an engineer in to program it. Logix will see the new drive and give it the correct IP and then flash firmware to correct level and download program.
 

Similar Topics

Hello all, I have a 1732ES-IB16 Series A block that I have set the IP address on. I am unable to disable bootp using any method. I have tried...
Replies
9
Views
327
I am not sure what i am doing wrong laptop ip 192.168.1.233 with subnet mask 255.255.255.0 micro820 ip unknown 1) i connected a micro820 and my...
Replies
6
Views
3,848
I had a 1794 AENT ethernet adapter card go bad. Tried to replace and cannot seem to get the replacement to work. I've tried everything I could...
Replies
0
Views
1,864
Hi; To assign an IP to a device, I have installed BOOTP/DHCP server (by Rockwell). By following the instructions, I send IP to a connected...
Replies
8
Views
5,306
I have a Compactlogix with a 1768-L34 Processor and two 768-ENBT network cards. I assign a IP address b adding a relationship and we are good...
Replies
7
Views
3,470
Back
Top Bottom