traffic generator -recommendations

Jason Brooks jasonbbrooks at gmail.com
Thu Oct 22 19:28:45 UTC 2020


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/c60cacc3/attachment.htm>


More information about the dhcp-users mailing list