tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: network queue lengths

>>>>> "Mihai" == Mihai Chelaru <> writes:
    >> If a NetBSD box is the Internet gateway for several 10-, 100-, or
    >> 1000-megabit clients, and the clients share a 1-, 2-, or
    >> 3-megabit Internet pipe, it is easy for some outbound stream to
    >> fill both the Tx ring (max 64 packets) and the output queues (max
    >> 256 packets) to capacity with full-size (Ethernet MTU) packets.
    >> Once the ring + queue capacity is reached, every additional
    >> packet of outbound traffic that the LAN offers will linger in the
    >> gateway between 1.3 and 3.8 seconds.  Now, suppose that we
    >> shorten the interface queue, or else we "shape" traffic using
    >> ALTQ.  Outbound traffic nevertheless spends 1/4 to 3/4 second on
    >> the Tx ring, which may defeat ALTQ prioritization in some
    >> instances.

    Mihai> It's not very clear to me how did you get this
    Mihai> numbers. Transmitting 320 full-sized frames shouldn't take
    Mihai> more than 50ms over 100Mbit full-duplex ethernet link. Are
    Mihai> you talking about some other in-kernel delays ?

  Imagine you are connected to a 1Mb/s DSL router.
  Imagine for a moment that you are connected using GbE, and the DSL
router sends XOFF frames.  (I don't think XOFF is permitted at 100Mb/s, but
maybe some boxes do this)

  Why have a router with GbE ports connected to 1Mb/s?
  Because it's the router between parts of your network, as well as the
uplink.  (My NetBSD edge router/firewall has 5 10/100 ports, two of them
are uplinks, 3 connect to three networks at different trust levels, and
I'm aiming to replace it because I want better throughput between

  On plain 10Mb/s links, I would think that you'd just send too many
packets at the DSL router, and it would drop them.

]     Y'avait une poule de jammé dans l'muffler!!!!!!!!!        |  firewalls  [
]   Michael Richardson, Sandelman Software Works, Ottawa, ON    |net architect[
|device driver[
] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [

Home | Main Index | Thread Index | Old Index