0

I want to establish a low-latency, wired, local-area network (LAN). I have a handful of ubuntu linux machines (en route), but I only have command line access to one of them, call it box-a.

enter image description here

As part of the low-latency effort, the DHCP server dhcpd and DHCP client dhclient have been disabled on box-a. There does not exist a DHCP server on the other boxes. I know the MAC addresses of every box in the network. box-a has a static IPv4 address assigned on interface eth1, 192.168.100.1.

How can I get traffic to flow without DHCP?

I'm trying to manually add the neighbors on box-a?

For example:

# Show the current neighbor table (ARP cache)
ip neighbor show

# Manually add each client device, associating an arbitrary, but
# unique IPv4 address to its unique MAC address
ip neighbor add 192.168.100.2 lladdr aa:bb:cc:dd:ee:02 dev eth1 nud permanent
ip neighbor add 192.168.100.3 lladdr aa:bb:cc:dd:ee:03 dev eth1 nud permanent
ip neighbor add 192.168.100.4 lladdr aa:bb:cc:dd:ee:04 dev eth1 nud permanent

# Show the updated neighbor table (ARP cache)
ip neighbor show
4
  • 1
    I'm not sure why you think that DHCP is related to ip neighbor or MAC address resolution. It doesn't do that, ARP does. Commented Dec 2, 2018 at 0:59
  • Adding a permanent neighbor should stop periodic ARP requests, reducing a small portion of traffic. I guess I'm hoping that associating the MAC address with an IP address is a way to form an IP reservation and give me a way to issue HTTP requests to those client devices. These devices only send data to box-a.
    – tarabyte
    Commented Dec 2, 2018 at 3:36
  • 2
    On such a network, ARP requests would be very, very rare because ARP caches in a table. You would also need to statically configure every box with its corresponding IP address. It's not just enough to get the frame to the box, the data-link layer (MAC address) will pass the payload of the frame to the network layer (IP address), and the destination network address must match that of the receiving host, otherwise the host will drop the packet.
    – Ron Maupin
    Commented Dec 2, 2018 at 4:43
  • By the way, your reference to routing is incorrect. Routing is when you send traffic from one network through a router to a different network. On the same LAN, it is bridging.
    – Ron Maupin
    Commented Dec 2, 2018 at 4:47

1 Answer 1

1

You don't show any gateways in your diagram, though for some reason box a is connected with an arrow in the reverse direction to the switch.

I'm going to assume this is all about communication between boxes A to D on the LAN.

1) Latency is the delay between sending the packet and it's arrival. It's a characteristic of the routers, bridges etc. on the network. In your case, that's only the switch.

Nothing you'll do on box A will change the latency.

Throughput is the maximum amount of traffic you can put through your LAN (no matter how long it takes to arrive). You can increase throughput slightly by avoiding unecessary traffic, but:

2) Disabling DHCP will have a neglibible impact on throughput. DHCP exchanges a handful of packets once, when a new machine connects to the LAN. That happens so rarely, and the packets are so small, it's not worth avoid this traffic.

3) Try to avoid ARP packets will also have next to no impact on the throughput. Yes, you can set up static ARP associations, but the ARP cache is large enough that ARP packets are exchanged rarely.

4) That said, the correct way to set up a LAN without DHCP is to give each machine a static address. You must do this on all machines, so that requires root access to all machines. If you don't have that, you can't do it.

5) In the same way, a LAN without DHCP and ARP will need static ARP assignments on all machines. So without root access to all machones, it's not possible.

TL;DR: What you are trying to do is impossible given the constraints, and even if you could do it, it wouldn't increase the throughput in any way one could measure, and by definition it won't change the latency.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .