Lossy cogent p2p experiences?

Mark Tinka mark at tinka.africa
Wed Sep 6 16:28:04 UTC 2023



On 9/6/23 12:01, Saku Ytti wrote:

> Fun fact about the real world, devices do not internally guarantee
> order. That is, even if you have identical latency links, 0
> congestion, order is not guaranteed between packet1 coming from
> interfaceI1 and packet2 coming from interfaceI2, which packet first
> goes to interfaceE1 is unspecified.
> This is because packets inside lookup engine can be sprayed to
> multiple lookup engines, and order is lost even for packets coming
> from interface1 exclusively, however after the lookup the order is
> restored for _flow_, it is not restored between flows, so packets
> coming from interface1 with random ports won't be same order going out
> from interface2.
>
> So order is only restored inside a single lookup complex (interfaces
> are not guaranteed to be in the same complex) and only for actual
> flows.

Yes, this has been my understanding of, specifically, Juniper's 
forwarding complex.

Packets are chopped into near-same-size cells, sprayed across all 
available fabric links by the PFE logic, given a sequence number, and 
protocol engines ensure oversubscription is managed by a request-grant 
mechanism between PFE's.

I'm not sure what mechanisms other vendors implement, but certainly OoO 
cells in the Juniper forwarding complex is not a concern within the same 
internal system itself.

Mark.


More information about the NANOG mailing list