Slashdot Mirror


Partitioning Bandwidth Using Mac OS X?

dasboy has this query: "I was wondering if anyone knew of away to partition bandwidth amongst a group of computers running Mac OS X? I have a [few Macintosh machines] at home all on the same LAN and all on the same Internet connection. One of these machines is used by my daughter when she's home from school. The biggest problems happen when she begins downloading large files (I'll let you guess what she downloads <grin!>). I was wondering if there are any cool BSDish ways of constricting the amount of bandwidth her computer uses?"

9 of 61 comments (clear)

  1. Wonderful by entrylevel · · Score: 5, Informative

    I haven't tried it yet (1.5Mbps is plenty for all those on my home LAN), but you might want to give Throttled a shot. Certainly not the easiest to use (no GUI), but it is open source and cross platform (Linux/BSD/OS X). Basically it runs a server process that you enables bandwidth throttling in your kernel's firewall. The configuration file is simple enough to understand and is quite flexible. You can change also settings while it is running by sending it signals using the not-so-aptly-named 'kill' command in the terminal.

    --
    Karma: Incomprehensible (Mostly affected by posting at +5, reading at -1, and metamoderating everything unfair.)
  2. try these? by RalfM · · Score: 5, Informative
    CarraFix might do the trick, or maybe Throttled X


    Ralf

    --
    The trouble with the world is that the stupid are cocksure and the intelligent are full of doubt.
    -Bertrand Russel
  3. IPFW by Quicksilver31337 · · Score: 4, Informative

    The simplest way to limit the amoutn of bandwidth she is using would be to throttle it using ipfw, the BSD firewall, you can use it either drop random packets by percentage in order to limit the bw she consumes as well as several other methods.

    --
    _______
    Death wish, n.:

    The only wish that always comes true, whether or not one wishes it t
  4. IPFW and Dummynet by Graff · · Score: 5, Informative
    You can do this by setting up a firewall in the Terminal. Follow the instructions posted here, replacing the contents of the rc.firewall.current file with the following commands:

    #!/bin/sh
    ipfw add 1000 pipe 1 ip from any to any
    ipfw pipe 1 config bw 300Kbit/s queue 50KBytes
    ipfw add allow ip from any to any


    Doing this should limit the connection to 300Kbit/s. If you want the connection faster or slower you simply need to change the 300Kbit/s number. 56Kbit/s should be approximately the speed of a 56K modem. The last number probably should be scaled appropriately to the first number, that is if you cut the first number in half then cut the second in half.

    To learn more about pipes and dummynet, read the manpages for ipfw with the following command in the terminal:
    man ipfw

    1. Re:IPFW and Dummynet by davey235 · · Score: 3, Informative

      I asked about this a while ago on darwinos-users: dummynet isn't in either darwin or OS X, regardless of what the man pages say. So the 'pipe' commands won't work.

      The response to my question is here

  5. altqd by schmaltz · · Score: 3, Informative

    is something I've used under OpenBSD for bandwidth throttling. Don't know if it compiles on OS X.

    --
    Big Daddy, Johnny, Burp, Aunt Zelda, Scott, Slurp, Big Momma ... where's Siggy?
  6. Missing the point? by Anonymous Coward · · Score: 2, Informative

    He said the problem is large file downloads -- i.e., downstream bandwidth. Throttling will limit upstream bandwidth, but there isn't much you can do locally about the amount of data hitting you from external sites...

  7. Re:QoS by Petronius · · Score: 2, Informative

    LimeWire has a built-in throttle capability (in case that's the app you're using).

    --
    there's no place like ~
  8. what you really want . . . by superposed · · Score: 4, Informative

    . . . is not bandwidth throttling, but rather packet prioritization. It will be unnecessarily restrictive (and not ideal for you either) to give her, e.g., 300 kbps at all times. It would be much better to give yourself all the bandwidth you want at any given moment, and give her whatever's left over. That way she could use the full bandwidth most of the time, but not interfere with your work at all in the rare moments when you need a lot of bandwidth. Unfortunately, this kind of prioritization between traffic from different hosts would have to happen in the router, so it's probably not available on your home network.