[j-nsp] ARP resolution algorithm? Storage of MX transit packets?
chmorl at wm.edu
Wed Jan 30 19:18:49 EST 2019
I am trying to wrap my head around how the MX handles ARP resolution,
and how it stores packets waiting to be transmitted, while waiting for ARP
If a transit packet comes into a router, on a PFE, and there is no
corresponding entry in the ARP cache for the next hop, the routing engine
gets involved in order to perform ARP resolution.
>From Junos 16.2, and moving forward, what should show up in rtsockmon -tn,
to help locate the ARP query and next-hop programming, etc., once the
reply is received?
In the event an ARP request is generated, and no response is received
within x(???) seconds, it looks like another request is sent out, or more,
perhaps? If no response ever comes back, after some period of time, I
presume the router will drop the transit packet.
So, where is this transit packet being held, while it is waiting for the
ARP reply to come back (if it even does come back)? How is the packet
being stored? Are the packets stored via a hash in separate queues, of
some sort, so that other transit traffic is not getting blocked?
What is strange is that if there is a string of transit packets coming in,
that have no corresponding ARP entry in the cache available, the way the
RE sends out ARP requests does not exactly correspond to the order of
transmit packets, as they come into the PFE. I would have expected a
FIFO-like mechanism, but this does not seem to be the case.
Does anyone have an explanation for this behavior, or better, how the ARP
resolution algorithm is supposed to work, at the packet buffering level?
Below is a half-second sample of what traffic comes into the router, that
needs ARP resolution, followed by what ARP requests the RE actually sends
College of William and Mary
Information Technology - Network Engineering
Jones Hall (Room 18)
200 Ukrop Way
Williamsburg VA 23187
Off the Wire, Just Before Traffic Enters the MX:
21:51:16.158064 IP 126.96.36.199.46185 > 100.64.101.189.3588:
21:51:16.297351 IP 188.8.131.52.47423 > 100.64.101.25.55126:
21:51:16.301438 IP 184.108.40.206.55823 > 100.64.101.88.5038:
21:51:16.385521 IP 220.127.116.11.58908 > 100.64.101.215.1288:
21:51:16.449858 IP 18.104.22.168.44499 > 100.64.101.192.282:
21:51:16.462591 IP 22.214.171.124.44499 > 100.64.101.181.282:
21:51:16.470221 IP 126.96.36.199.58528 > 100.64.101.1.4040:
21:51:16.492806 IP 188.8.131.52.47423 > 100.64.101.35.55126:
21:51:16.500132 IP 184.108.40.206.47423 > 100.64.101.58.55126:
ARP Requests Coming Out of the RE:
21:51:16.158515 ARP, Request who-has 100.64.101.189 tell 100.64.101.3
21:51:16.227443 ARP, Request who-has 100.64.101.50 tell 100.64.101.3
21:51:16.227985 ARP, Request who-has 100.64.101.158 tell 100.64.101.3
21:51:16.297828 ARP, Request who-has 100.64.101.25 tell 100.64.101.3
21:51:16.327204 ARP, Request who-has 100.64.101.59 tell 100.64.101.3
21:51:16.327664 ARP, Request who-has 100.64.101.65 tell 100.64.101.3
21:51:16.427452 ARP, Request who-has 100.64.101.2 tell 100.64.101.3
21:51:16.428282 ARP, Request who-has 100.64.101.9 tell 100.64.101.3
21:51:16.473085 ARP, Request who-has 100.64.101.1 tell 100.64.101.3
21:51:16.527447 ARP, Request who-has 100.64.101.7 tell 100.64.101.3
21:51:16.528278 ARP, Request who-has 100.64.101.88 tell 100.64.101.3
More information about the juniper-nsp