traffic generator -recommendations

Jason Brooks jasonbbrooks at gmail.com
Thu Oct 22 19:32:43 UTC 2020


this page really helped to answer dhcp header questions:
https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml

beware of when you are using hex vs decimal...

On Thu, Oct 22, 2020 at 12:31 PM Jason Brooks <jasonbbrooks at gmail.com>
wrote:

> Oh I forgot to add why having a correct commandline was important: it
> makes a difference to the dhcp server: the -f option made it work for me.
>
> I had to use dhtest to generate test packets, capture them, then compare
> them to actual packets arriving on the present dhcp servers.  the -f
> option eluded me for quite a while.
>
> --jason
>
> On Thu, Oct 22, 2020 at 12:28 PM Jason Brooks <jasonbbrooks at gmail.com>
> wrote:
>
>> Hello,
>>
>> you are very welcome!
>>
>> As to the dhtest script: I recommend capturing a session with tcpdump and
>> decoding with wireshark and playing with it back-and-forth until you get
>> the headers to match.
>>
>> here's a sample commandline I used that succeeded:
>>
>> dhtest -f -m 00:50:56:b2:2f:cc -i ens160 -V -c
>> 82,hex,010430313331020B50484E58415A2D41493035 -o "iMG624A" -l 011c030f06
>>
>> -f sets bcast flag on the actual dhcp packet
>> -m mac address of the pseudo endpoint originally asking for an ip address
>> -i is the ethernet port on the linux host to send the packet from
>> -V  == verbose
>> -c is the encoded option 82 "010430313331020B50484E58415A2D41493035"
>>      01 suboption 1: circuit id
>>        04 number of bytes/octets
>>           30313331  --> ascii chars: "0131"
>>      02 suboption 2:remoteid
>>        0B number of bytes/octets (decimal 13)
>>            50484E58415A2D41493035   -> ascii chars: "PHNXAZ-AI05"
>>
>> -o "iMG624A" vendor class identifier string (dhcp option 60)
>>
>> -l 011c030f06  requested parm list (dhcp option 55 in hex)
>>   01 subnetmask
>>   1c broadcast address
>>   03 router ip
>>   0f  domain name
>>   06 dns server
>>
>>
>>
>> On Thu, Oct 22, 2020 at 10:40 AM Ahiya Zadok <ahiya at younity.io> wrote:
>>
>>> Thank Jason, For this detailed answer!!!
>>>
>>> I will try your script.
>>>
>>>
>>>
>>> By the way, I did try the dhtest tool as well and even from a single
>>> VLAN.
>>>
>>> But I always get only "DHCP4_LEASE_ADVERT" messages in the kea log and
>>> no IP allocation accrues.
>>>
>>> I've started earlier today a thread regarding this issue (subject:
>>> address not being allocated).
>>>
>>>
>>>
>>> If you have any idea ill be happy to learn.
>>>
>>>
>>>
>>> thanks
>>>
>>>
>>>
>>> *From:* dhcp-users <dhcp-users-bounces at lists.isc.org> *On Behalf Of *Jason
>>> Brooks
>>> *Sent:* Thursday, October 22, 2020 8:24 PM
>>> *To:* Users of ISC DHCP <dhcp-users at lists.isc.org>
>>> *Subject:* Re: traffic generator -recommendations
>>>
>>>
>>>
>>> Hello Ahiya,
>>>
>>>
>>>
>>> I apologize for the delay in answering you.  The answer is a qualified
>>> yes.
>>>
>>>
>>>
>>> I am replacing a number of remote dhcp servers with isc's
>>> dhcpd configured as an HA pair in local datacenters. But before I alter
>>> 100+ shelf managers' relay agent information, I needed to simulate a large
>>> number of  dhcp requests, both load-wise, and to see if the dhcp servers
>>> handed out the correct ip address ranges based on the criteria.
>>>
>>>
>>>
>>> I have a number of remote dhcp servers handling a large amount of remote
>>> dsl equipment.  Each remote group of dsl equipment  has a set of shelf
>>> managers.  the shelf managers forward relay the dhcp requests to their
>>> respective dhcp servers.  The relevent dhcp values sent to the dhcp servers
>>> are:
>>>
>>>      vendor class identifier (option 60)
>>>
>>>      request parameter list (option 55)
>>>
>>>      Dhcp relay agent info (option 82)
>>>
>>>           circuit id (82, suboption 1)
>>>
>>>           remote id (82, suboption 2)
>>>
>>>
>>>
>>> I learned this information using tcpdump and wireshark to decode actual
>>> packets.  As it happens, the circuit id corresponded to the vlan each dsl
>>> device was connected to.
>>>
>>>
>>>
>>> In order to test, I had a router that would forward requests to both of
>>> my dhcp servers, so all my test host needed to do was send dhcp requests
>>> via broadcast.
>>>
>>>
>>>
>>> The dhtest program I referred to earlier is used to construct raw dhcp
>>> packets and send them, thus there is no need to build additional interfaces
>>> to bind to.
>>>
>>>
>>>
>>> My test script, rundhctest.pl read in a pre-built CSV file with all of
>>> the possible parameters my dhcp servers were to support.  It also read in a
>>> list of 100,000 randomly generated mac addresses.  The rundhtest.pl
>>> script used perl's Parallel::Forkmanager module to choose the number of
>>> children to fork, and the max number of requests to send from each child.
>>>
>>>
>>>
>>> The CSV file has the following format, and the following headers are
>>> important:
>>>
>>> Class;Rid;Cid;Opt82;VCI;Opt55
>>>
>>>      classname as found in the dhcp config files, remoteid, circuit id,
>>> encoded optoni82, vendor class identifier, and option 55 requested parms.
>>>
>>>
>>>
>>> The mac address file is just a list of mac addresses: one per line.
>>>
>>>
>>>
>>> I will include the dhtest.pl script here.
>>>
>>>
>>>
>>> I hope it helps.
>>>
>>>
>>>
>>> --jason
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Oct 13, 2020 at 10:41 PM Ahiya Zadok <ahiya at younity.io> wrote:
>>>
>>> Hi Jason
>>>
>>>
>>>
>>> Thank you for responding.
>>>
>>> So you mean that with parallel processes I could generate requests from
>>> several VLANs simultaneously?
>>>
>>>
>>>
>>> *From:* dhcp-users <dhcp-users-bounces at lists.isc.org> *On Behalf Of *Jason
>>> Brooks
>>> *Sent:* Wednesday, October 14, 2020 3:17 AM
>>> *To:* Users of ISC DHCP <dhcp-users at lists.isc.org>
>>> *Subject:* Re: traffic generator -recommendations
>>>
>>>
>>>
>>> Hello,
>>>
>>>
>>>
>>> I have used a tool called dhtest, I even pushed a change to their github
>>> site.  https://github.com/saravana815/dhtest
>>>
>>>
>>>
>>> I generated about 100,000 mac addresses and built a perl script to call
>>> an arbitrary number of parallel processes.
>>>
>>>
>>>
>>> it worked well.
>>>
>>>
>>>
>>> --jason
>>>
>>>
>>>
>>> On Tue, Oct 13, 2020 at 4:23 AM ahiya <ahiya at younity.io> wrote:
>>>
>>> hi AllI'm planning to implement Kea-dhcp4 to serve around 500 subnets
>>> with
>>> 5000 devices, I don't think the requests per sec rate will be high, it
>>> MDUs.I'm using FG as a DHCP relay.I’ve performed some functionality tests
>>> and it seems to work fine.I wanted to perform some load tests.I've to
>>> install Kea-admin on ubuntu 18.04 VM and use the perfdhcp app.but I can't
>>> make it quite work. all I see in my DHCP log are "DHCP4_LEASE_ADVERT"
>>> messages and no  "DHCP4_LEASE_ALLOC".and all sent packets are dropped
>>> according to perfdhcp report.I've tried various clients numbers the lower
>>> number of requests and low the rate but it didn't work.any ideas?and dose
>>> any one know if perfdhcp support sending from multiple interfaces?thanks
>>> in
>>> advanceRunning: perfdhcp -l vlan550 -n 20 -p 1 -r 100 -R 30Scenario:
>>> basic.***Rate statistics***Rate: 0 4-way exchanges/second, expected rate:
>>> 100***Statistics for: DISCOVER-OFFER***sent packets: 20received packets:
>>> 0drops: 20drops ratio: 100 %orphans: 0min delay: inf msavg delay: min
>>> delay:
>>> n/aavg delay: n/amax delay: n/astd deviation: n/acollected packets:
>>> 0***Statistics for: REQUEST-ACK***sent packets: 0received packets:
>>> 0drops:
>>> 0drops ratio: -nan %orphans: 0min delay: inf msavg delay: min delay:
>>> n/aavg
>>> delay: n/amax delay: n/astd deviation: n/acollected packets: 0
>>>
>>>
>>>
>>> --
>>> Sent from: http://isc-dhcp-users.2343191.n4.nabble.com/
>>> _______________________________________________
>>> ISC funds the development of this software with paid support
>>> subscriptions. Contact us at https://www.isc.org/contact/ for more
>>> information.
>>>
>>> dhcp-users mailing list
>>> dhcp-users at lists.isc.org
>>> https://lists.isc.org/mailman/listinfo/dhcp-users
>>>
>>> _______________________________________________
>>> ISC funds the development of this software with paid support
>>> subscriptions. Contact us at https://www.isc.org/contact/ for more
>>> information.
>>>
>>> dhcp-users mailing list
>>> dhcp-users at lists.isc.org
>>> https://lists.isc.org/mailman/listinfo/dhcp-users
>>>
>>> _______________________________________________
>>> ISC funds the development of this software with paid support
>>> subscriptions. Contact us at https://www.isc.org/contact/ for more
>>> information.
>>>
>>> dhcp-users mailing list
>>> dhcp-users at lists.isc.org
>>> https://lists.isc.org/mailman/listinfo/dhcp-users
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20201022/3712a7b3/attachment.htm>


More information about the dhcp-users mailing list