5

I have a network with several computers all on the same network and since I have very limited bandwidth I would like to prioritize traffic almost like a CPU scheduler prioritize processes.

Example: Computer A: Used for webstuff: youtube, downloads, news, emails etc. Computer B: Transfering files over http Computer C: Transfering files over ftp, rsync whatever

What I would like to do is to give A up to for example 90% of the available bandwidth IF A requires it. The leftovers (10%) is divided between B and C (5% each if both is busy) If A is not utilizing all bandwidth then of course B and C should share the full bandwidth (50% each as long as both are maxing out their bandwidth).

All computers are on the same network (192.168.1.0 - 192.168.1-10 for example).

Appreciate if anyone could shed some light on how I should set up my network to achieve this. To be honest I actually need a step by step guide on how I should set this up.

HopelessN00b
  • 53,385
  • 32
  • 133
  • 208
Waxhead
  • 791
  • 8
  • 15

1 Answers1

0

Depending on the direction of traffic you can achieve this goal or not.

The mechanism / method with which this can be achieved is referred as queues, traffic-queues or traffic-shaping (in some sort).

Incoming traffic: Controlling the load distribution of incoming data is not practically possible (there are some ways to influence TCP distribution - but that's not an accurate control about this). It's just a result of the fact that data is flowing in at a given rate. If your bandwidth is exceeded, the distribution has to be made at a point where bandwidth is still available.

Therefore: If you would have another pfsense in let's say a datacenter and you would handle the traffic distribution via queues there this would be possible - as long as your downlink to the site is slower than your uplink in the datacenter.

Outgoing traffic: May be controlled more accuratly as your local router can decide what traffic may be granted first access to the shared / limited transport link.

Daniel Nachtrub
  • 1,022
  • 7
  • 12