I have a project of configuring a Raspberry Pi into a router. I would like to know how the Raspberry Pi allocates the internet bandwidth with its users? Let's say a 3Mbps internet speed is connected to my router, and 10 users were connected. How much bandwidth each user will have?

  • Wouldn't it be easier to use a normal router, and flash OpenWRT or DD-WRT onto it. Cheaper than a Raspberry (plus SD, wifi dongle, and power), and you also get multiple ethernet ports for free. As to your question. Bandwidth is not divided equally.
    – Gerben
    Jun 18, 2013 at 15:55
  • I don't have any idea on what are talking about, the OpenWRT and DD-WRT. I'm sorry about that. What I'm focused on is on how making my raspberry pi act as a router, and I'm really concern about the bandwidth allocation when 20 users connect to my router. If those 20 users are on facebook, will they have equal distribution of the bandwidth? thanks dude.
    – kirbs
    Jun 19, 2013 at 14:30
  • I was merely suggesting, that when you are trying to build a router, to start with an actual router. OpenWrt, and DD-WRT are linux distributions that run on a lot of routers. So you get the benefits of being able to configure the router just as much as $400 commercial routers. PS just google dd-wrt and openwrt. There are entire communities build around these. There are probably a lot of others that had the same problem as you.
    – Gerben
    Jun 19, 2013 at 18:54
  • In other words, I can run DD-WRT or OpenWRT to my raspberry pi? In simple terms, it would be the firmware that will run on my raspberry pi? Sorry. I'm really confused. I'm just a newbie when it comes to RPi.
    – kirbs
    Jun 20, 2013 at 3:54
  • No. That's not what I'm saying.
    – Gerben
    Jun 21, 2013 at 13:00

2 Answers 2


I imagine that this would be based on whatever approach you build into the configuration.

A round-robin approach would equally allocate bandwidth for each active user or session. If only one user active they get it all, two active it splits fairly evenly, etc.

Or, you may want to implement quality of service (QoS), in which case certain applications (such as voice over IP, or VOIP) have a higher priority to help assure call quality.

It is really dependent on configuration and the behavior you desire.

  • can i configure my RPi Router that it would limit one's bandwidth to a certain limit? let say I have 20 slots for the user. As far as I know, if someone is downloading a file, let say a video, he will ate up much more bandwidth than the other users. I just wondering if I can limit that? Hope you understand me. I'm sorry for my explanation.
    – kirbs
    Jun 19, 2013 at 14:32
  • Since it is a linux machine you can use whatever routing tools are available for the platform. The Linux Advanced Routing & Traffic Control HOWTO explains quite a bit about what you can do: lartc.org/lartc.html. See Chapter 9. Queueing Disciplines for Bandwidth Management in particular
    – Tevo D
    Jun 19, 2013 at 14:50
  • Ow. Thank you very much Sir. This will really help me a lot. Thank you! God Bless :)
    – kirbs
    Jun 19, 2013 at 14:52
  • Traffic control on a router is quite a complex matter. I finally encountered a comprehensive guide last week:) wiki.linuxwall.info/doku.php/…
    – M Noit
    Jun 22, 2013 at 8:26

I would think by default it would use a FIFO queue. (First in, First out) meaning that whoever was trying to do the most, would get the most.

Not knowing what software you are using, I can't say for sure, but there should be a way to allocate x% to a given user without going through the trouble of setting up QOS. Depending on what you are doing, as stated above, you may decide that QOS is necessary to ensure specific applications/users/ports, etc are given priority.

  • Thanks for the answer. I'm just wondering if I can set the priority of every user that are connected to my router to an equal one? What my goal is to have a connection for 20 users that have the same priority? Can I have that one? thanks!
    – kirbs
    Jun 19, 2013 at 14:34
  • @kribs Look into a QOS implementation for Linux (Debian if you are running raspberian) Anything you find should be portable to the pi, and just a matter of configuring it to do what you want... But I have to ask, are you sure the pi is the correct hardware to be using? It sounds to me like you need to look into a router/managed switch combination to better suit your needs... Much less brain death, and you will be using hardware that has been optimized for the task you are trying to perform.
    – Butters
    Jun 21, 2013 at 3:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.