RARP, BOOTP, and DHCP
Let us continue our discussion on this Computer Networking Internet, we are discussingon layer two label or layer two protocols rather some of the protocols are companion forthe higher level protocols namely ARP, RARP, BOOTP, DHCP right. So, already we haddiscussed in our last lecture about ARP and we will try to see other protocols that how ithelps in this overall communication process.(Refer Slide Time: 00:47)
So, just to one or two slides on the recap that any two machines on the network cancommunicate only if each other physical address network address is known. So, unlessyou know the physical address the things cannot be communicated. So, there is a need toresolve the higher level IP to a low level machine address or MAC address so that youknow that the next of the next of things.So, any transmission whether it is host to router, router to router, host to host, router tohost what is required is it trans when the next stop things what is the hardware address ofthe MAC address of the things right; so, that exactly the job of the ARP or AddressResolution Protocol. Also we have discussed about some aspect of proxy ARP, the
different component of the ARP package that which makes is possible like. So, there is aneed of caching of those things so that the next request comes and can be addressed in amuch easier fashion.(Refer Slide Time: 01:59)
So, this is the very popular diagram. So, logical address or the IP address ARP tophysical address, on the physical address RARP to the logical address. So, there isanother companion protocol we or the other protocol means the, protocol with ARP is theRARP, Reverse ARP that is given the MAC address or given the physical address how Ican resolve to the IP address.So, where it may be possible requirement, we have seen that where things may berequire, one of the major thing is that if I have a dumb terminal wants to know what isthe IP address during the boot time etcetera then there may be a reversed resolution. Imay want to know that if I get a request of I want to do a reverse resolution and see that;what is the IP of the thing. So, in case of connecting other things like VPN or some othertype of lines I want to there where the IP address need to be allocated based on thenetwork address and so on and so forth.
(Refer Slide Time: 03:04)
So, finds the logical address for a machine that only know this physical address; thephysical address to the logical address mapping. This is of an encounter on thin clientworkstation, as we have seen thin client workstations no disk. So, when the machine isbooted it needs to know its IP address.So, in case of a thin client workstation if machine wants to know that IP address to begetting connected with the network and so and so forth. RARP request are broadcast aswe have seen in ARP, RARP replies are unicast because you now you know that where tosend the reply. If a thin client workstation needs to know its IP address it is probably alsoneeds to know it subnet mask, router address, DNS address etcetera right. So, if you justrecollect or remember that if you want to do your IP configuration or so to say TCP/IPconfiguration in your windows or Linux machine.Some of the case, what are the different parameters you will be looking at? If werecollect or if you remember say one is that IP address right, IP address what it gives thelogical address to the system, other than I what we require if the subnet mask right. Whywe require this subnet mask? The subnet mask allows me to when I, allows me to findout that whether the other address is within the in my network or not. So, it is a subnetmask. So, there is a gate way address like if the thing is not within my distances within,not in within the network so what should be the next of gateways of that particularpacket.
So, there is other of the DNS. So, if there is a domain and resolution is required then;where is the DNS server is located. So, there are DNS usually primary and secondaryDNS. So, these are the things what we require in the thing. So, subnet mask or router orthe gateway address and DNS address and etcetera.So, when a system boots thin client boots which do not have the memory of memorizingthe or remembering its configuration may wants to note that IP address, subnet mask,DNS addresses and type of things. If we need something more the RARP, other than onlyresolution there are other protocol call BOOTP will come to that, and also a the upgradedor variant of the things which is DHCP which have replace RARP. So, RARP from therewe have BOOTP and type of things. So, all what it knows this physical address rightfrom there it want to populate its network property stack. So, that it start communicatedcommunication in the network.(Refer Slide Time: 06:00)
So, as we have seen in case of a ARP here also that with physical address it givesadvertisement and the logical address is sent to the back to the host. So, there can be aRARP server or some of they will require means the host sends a request the RARPserver sends the response of the on based on the request. If it is continuing that particularhardware address from the logical address can be derived.(Refer Slide Time: 06:37)
And if you look at the packet format it is somewhat similar with that ARP things,operations is 3 is request 4 is a response. And if you see here the sender hardwareaddress is a known; hardware address is known, where as sender protocol address isunknown. So, because I the sender that is thin-client know that what is its hardwareaddress, but the thin-client does not know where what is the IP address that is it islooking for.So, what it says it sends request to that particular RARP server; the sever respond back ifthere can be more than RARP server, the server which is having this things that mappingof MAC address or the hardware address to the IP address respond responds back thatsending the this is the IP address and gets populated to the sender. So, in the previouscase it was there while sending the packet it is looking for that hardware address wherethe frame can be forwarded. In this case it want to know the network address so it getsconnect can get connected to the network right.So, if you look at sender’s hardware address protocol address or IP address is not knownin this IP b 4 for 4 bytes, whereas the target hardware address is known and the targetprotocol address is known. So, where the server is there it is known to the thing.
(Refer Slide Time: 18:08)
And also in case of Ethernet what we have that is goes payload to Ethernet over all isEthernet format and Ethernet packet and Ethernet frame and it goes as a data that iswhether is request of response in case of a RARP. So, what we say that the next step ofon upgraded variant of RARP is the BOOTP.So, which as we are discussing that not only the IP address there are other parameterswhich as equally important for the network. So, to say the parameters like IP yournetwork mask gateway or router address, DNS addresses and these are equallyimportant. So, that the server which is responding to this request should also should alsosend back this are the parameter. So, that the network stack of the originating missing orthe thin-client gets populated so that it can connect to the network right. So, for that theBOOTP server should have this capability.
(Refer Slide Time: 09:37)
So, bootstrap host protocol allows a host configure itself dynamically at boot type. So,that is the basic philosophy where the BOOTP protocol allows a particular host like thinclient and so, to configure itself dynamically at boot time. This protocol provides threeservices, one is IP address assignment as did in RARP detection of the IP address ofserving machine right, it need to know that who will give the IP address and detect thething, the name of the file to be loaded and executed at the client machine.So, it its get loaded and that file to be executed. So, it gets populated by this it helps inpopulating the networks stack BOOTP protocol typically assumed to be neverfragmented. That means you get the whole thing in a one unfragmented message. So, it isnot fragmented. So, it is not like that two three and things are coming. So, this is BOOTPprotocol is not fragmented.
(Refer Slide Time: 10:37)
So, as we are requesting for a service it works on to very well known port, well definedport number one is for 67, where the server works and the port 68 where the BOOTPclient works. So, that is a defined port.Process the BOOTP client broadcast a single packet call BOOTP request packetcontaining the max client MAC address the client waits for the response from the server,if not received within a specified time the client determines the request the serverresponse with a BOOTP, BOOTREPLY right. So, it sends a boot request packetcontaining the MAC address clients MAC address that this is my MAC address you sendme the other details, the client wait for the response from the server. If not receivedwithin a specified time period resends it, it is retransmitted the server responds with aBOOTREPLY packet.
(Refer Slide Time: 11:39)
So, few more basics on BOOTP or few more things the points to note; BOOTP isalternative to RARP which operates at the data link layer for LAN only right. So, it is aalternative to RARP, BOOTP is a UDP/IP based configuration protocol provide muchmore configuration information allows dynamic configuration of the network IP networkconfiguration.So, if you see, these are different companion protocol which has upper layer linkages andalso have needs to deal with the lower layer two level MAC address right. So, that is whywe are trying to look at the when we are discussing this DLL of the layer two levelphenomenon right. So, this is one of the important aspects to be known, to be seen. So,BOOTP any extension become the basis for DHCP protocol right that will come to thatnext upgradation of the BOOTP the DHCP right, DHCP protocol.
(Refer Slide Time: 12:46)
So, if you look at the BOOTP packet format it is much enriched than what we have seenin case of RARP.So, operation code, hardware type, hardware length of account, transaction ID whichrequires where it is sending number of second part it is with some person is and use themis a client IP address, your IP address, client server IP address, gateway IP address andthen what we require that client hardware address server name and so and so forth. Thatmeans what we are and there is a boot filename. So that it is downloaded and executedduring the bootstrap and there are some options (Refer Time: 13:41).Now you see what where it is in this cases is required is I, it required a BOOTP serverwhich will respond to the things. So, the BOOTP server typically holds this MAC or thehardware address to IP address mapping. Or in other sense in some cases if we when youlook at the DHCP will see it is has a pool of addresses from where the IP address beingallocated right.So, it is much more managed and this is well known phenomena what we see when wework; we when we work with thin-clients and the clients which do not have IP addressattached to it right. So, during the boot time it gets the IP address and the configurationand start configuring. So, though there are in first chart we see that the challenges that ishaving a thin client and this thin client of this BOOTP clients may not have the initiallythe IP address, but you see there are if there is centrally manage things. So, the overall
management may be much better when we look at the things right so configuring theoverall network will be much better.In some scenario where you required is dynamic allocation of thing of networkconfiguration files, this are pretty helpful or pretty much needed for this type ofconfigurations.(Refer Slide Time: 15:19)
So, BOOTP if you see operational code the value is one for boot request and boot reply itis to that operation code, hardware type value may be a value is 1 Ethernet toexperimental Ethernet, frame relay ATM it support a variety of layer to layer to level datadriven level protocol like it can be Ethernet, it can be experimental Ethernet, frame relay,ATM and different type of flavors it supports right, then if you look at the operation sothese are the things; and if you look at the operations.
(Refer Slide Time: 16:01)
So, server at 67 port on UDP it keeps a passive open and when there is a request from thething, from the client from port 68 it replies back with the with a UDP and means UDPand reply back UDP packet right. So, as if you see the request with a destination portmeans source port, destination ports, source address destination port goes on and it getsreplies back on those line, right. So, what we see that my source address may be initiallynot known, see if you see that if it is source code is 67, destination port is 68, sourceaddress is the server unicast address and destination address is all 1. So, the clientsunicast address right. So this way it goes in to the things. So, it may be the client may nothave any address or the client may be having a address that all are not that all youremember the previous address and try to conform that way the still address it willcontinue with this address.
RARP, BOOTP, and DHCP- Part 2
If we look at the next or the predominant variant of this MAC to IP configuration is aDHCP Dynamic Host Control Protocol. Now let us look at it, not as a MAC to IPconversions only; it is basically meant for dynamically configuring the network stack ofa particular host right. Being a particular host I want to dynamically configure the things.So, this is not only required for a dumb terminal, but several other scenarios where thisnetwork configuration needs to be dynamic configure when the request come. So, thereare scenarios where in several situations where it is DHCP configure. So, in the machineputs its requests for that keep me IP address and other configuration and it get thenetworks stack of the host gets configured and if you see in today’s several organization.Even in our IIT Kharagpur network labs and other places where number of systemsthere. They are DHCP configured means while booting ideally they request for theDHCP server which is somewhere in the network and it gets that configuration to beloaded. As I was mentioning other than getting the IP address connected this gives aenormous control over that which IP range you want to allocate and what are thegateways you want to push through and it gives a lot of management related handles tothis type of configurations. So, this is a now a very well known practice to have this sortof configuration in to this sort of structure in the start of a protocol or process into place.So, that way the system gets configured dynamically while booting.
(Refer Slide Time: 19:38)
Now, it is used to allocate manage TCP/IP configurations of the client notes as we havementioning right. So, it is centrally allocated and managed TCP/IP, allows aadministrator to define pools of IP address which are then allocated the client computersin the things. So, it can be pool of IP address says CS IIT Khargpur this pool is therefrom there the system can be allocated, this pool of addresses of often known as a DHCPscopes right, not all the addresses is handed out.So also, the related configuration settings like subnet mask, default router of the gateway,DNS server etcetera these are also can be configured. So, the DHCP server per saycontains those informations which can be let out to the things right. So, this is one way oflooking at that DHCP server and it is a as I mentioning practice in several organizationand installation to look at to for dynamic configuration of the network.
(Refer Slide Time: 20:49)
So, how it works? DHCP works across most IP routers, allocates IP address dependingon the subnets and the request came from no need of configure of a PCs that is movefrom one subnet to another.So, it is it event across the thing. So, we when there are concept of DHCP release if it isnot within the DHCP server within the network it goes across the there are DHCP releasewhich can send the request across to some other network. When a DHCP client is firstswitched on it sends a broadcast packet to the network with a DHCP request, there is apicked up by a DHCP server. If there are more than DHCP server that will picked up tothe DHCP server and server allocates an IP address to the PC for one of scopes it has. So,what you say that it is some sort of discovering a server and then getting bind with thatwith that particular IP and other configuration of the server it is having. Now DHCP persay do not allocate a address or addresses permanently.So, it leases the address for a particular time period control by administrator right. So,this for a particular time period and controlled address by a administrator right. So, it isthat how much leasing etcetera is there. So, this is give lot of manageability in to thethings like if you want a particular sector of the things you put a configuration for aparticular set of systems. Then once that time period goes up you can basically take outthose IP out of the things goes the system goes out of the network right or it next day youcan put them on next instant, you can put them separate bundle of IP address blocks. So,
this gives a better manageability of the thing that over all that how you handle andmanage the your internal system within the network and so and so forth.So, DHCP packet as like we have seen in the BOOTP also contained several similarfields there may be some one or two changes, but there is mostly same type of fields andwhat we see if we look at the configuration of the things.(Refer Slide Time: 23:20)
That initially as we are discussing in that over all operation, it that initially when itsystem boots it sends a some sort of a broadcast massage to there to find out that whetherany server are there and not. As I was mentioning that if it is the server is not within thenetwork there is process of relaying the request to the other network there may theDHCP server.So, it is DHCP discover is the process which goes on, then several server can offer that Iam I am ready to serve, I have a IP address that ready to serve more than one server isthere. So, ideally DHCP things selects one of the server and it goes of a DHCP request,that requesting to give the IP address and other network configuration. So, that is one ofthe aspects and on receiving the request DHCP server; the request the DHCP serverallocate a IP and other configuration files right. So, it is DHCP acknowledge, once that isthere it goes on bind with that particular configurations right. So, this is if you look atthis process. So, this is the process of getting and gets configured into the things right.
So, it initializes has to repeat it sends a discover message, the potential server sends adiscover DHCP offer and DHCP request and requesting and DHCP acknowledge and itsends a once that one of the server things are there acknowledge and it sends a DHCPacknowledge and bound to that particular configurations one it is there it is attached withthat particular DHCP server. So, once it is attached to the DHCP server now the nextthings come in to the play as we were discussing that it is not a permanent allocation ofIP address right. So, the IP address or the other configurations are not primarilyallocated. So, in other terms it is a lease to the system, lease to that particular requester ofthe host.Now once that is lease to the things so after the expiry of the lease period things will berecovered or it need to return the things, but there are two situation the DHCP mayrequest for a renewal of the lease right. So, it may request for a renewal of lease, when itcan request (Refer Time: 26:12)? When there is a lease time 50 percent expired, it sendsa typically sends or it at any point of time it can send, but it typically send other DHCPrequest so renewing of the things. So, there may be two operations that is either it isacknowledge, that is renewed and it is gets to bind. So; that means, it sends a after 50percent DHCP request it for the renewing it acknowledges as a positive acknowledge andit goes to the binds and the new time starts right.So, this is may be the one thing and if it not acknowledged positively in a that ifDHCPACK it is not received the lease time 87.5 percent was expired then there is aanother DHCP request right. So, request of DHCP. So, it is rebinding goes in to playright DHCP acknowledge and again bind into the thing right. So, see two aspects arethere, one is after 50 percent it sends a request gets a acknowledge rewind or rebound tothe particular a stack does not have to new IP and the and the things works on a smoothvessel and that can be the thing that it may not be renewing that, may not receive theDHCPACK.Then it gets a after 87.5 percent it sends a fresh request, then again the rebindingoperation goes on. If there is positive acknowledgement it gets again bind to the thingwith the thing and goes on. If it is still not acknowledge that means it is DHCPNACK.So to say, that is the DHCP the lease is not been increased by the server then it goes forthe again initial stage right. So, if it is again requested goes for the initial stage, againrequest for the fresh allocation and the process continues right.
So, this is the way, but there is another connection if you see. If after the binding so thereis the client can release it DHCP release work is over release it or leases cancelled midway. So, that can be may happen, the lease is cancelled mid way in that case also it goesto the initialization state right. So, that again this recovery its discovery of the DHCPserver getting some offer and go and so forth. So, there is one process or it can otherprocess, should see if we look at this whole flow diagram it is it is interesting to see thatthe IP configuration is leased to this client.So, it can be any client right, any serves right like as a mentioning most of the systems inIIT Kharagpur network are on DHCP lease right. So, they request once boot the requestfor the IP; IP is allocated and it goes on IP another configuration is you know and thoselease period after the period defined period goes on reactivity right.(Refer Slide Time: 29:34)
So with this, if we look at again that thing; so, the DHCP server again 6 port 67 withUDP passive open so, that the DHCP discovery as we have seen here, the process comein to play and it offer reply with DHCP offer; again if you look at it is offer then DHCPrequest. And this a DHCP positive acknowledgement or acknowledgement to accept thethings and go in that particular accepting the IPN other configuration at gets bind withthat particular thing.
(Refer Slide Time: 30:11)
Now, after 50 percent of the time a lapse time expires the DHCP request. If the serverdoes not respond the request is repeated after sometime that is the 87.5 percent timeexpire, then it goes for a DHCP request if the server respond with the NACK that is notacknowledgement negative acknowledgement then the client must start all over againthat goes for the initialization and so and so forth the DHCPNACK.So, if the server response with an acknowledgement and the kind as new lease that is thenew lease of the thing and so and so forth. So, there are other options we have seen inhere DHCP release and lease cancelled stuff where it is again goes to the that machinethe DHCP list is released or that for things.So, what we see in this protocols like from ARP RARP BOOTP or DHCP protocol whatwe see these are the protocols which allows this data link layer to have the say so to sayat the connectivity level how things works right given a IP how a hardware address canbe resolved and proved given hardware address I can get the IP configuration. So, it canbe connected to the network. So, there is more of a configuring the network aspects ofthe thing which come in the play.So, these are all important protocol and these are some of what we say border levelprotocol or transition things where which connects that that other part the IP networksand others with the data link layer helps in forwarding the packets right. In some of theliterature they kept is in the IP layer itself some of the things you will get in the border,
but nevertheless it involve both IP and the MAC things and rather more of IP a if youlook at the RARP BOOTP and DHCP it requires IP level configurations and thehardware address things I means from which it can be requested and populated. So, theseaspects are as important as we have seen error control and flow control in data link layer.So, with this let us conclude our lecture today. We will continue our discussion withother aspects of layer two, and also will finally we look at some aspects of layer one orthe physical layer considerations.Thank you.