# IP default policy



## romeor (Apr 25, 2012)

Hi,

Could someone mention, what was the IP protocol default QoS policy, please? Was it best-effort? What would happen if we had an FTP server running on 100/100 mbits/s bandwidth and about 5 clients downloading in the same time with 200/200 mbits/s each? Would the bandwidth shared equally by IP protocol among clients or first gets most of it? How could one share this FTP bandwidth among clients using PF dynamically (if there are no clients, the first takes all of it, if there are clients, bandwidth is shared equally. IP addresses of clients are dynamic)?


----------



## bbzz (Apr 25, 2012)

romeor said:
			
		

> Hi,
> 
> Could someone mention, what was the IP protocol default QoS policy, please?


Basically, there are three different QoS methods:
DiffServ - differentiated services, a per-hop behavior which relies on IP ToS information in packet header. That is, each Layer 3 device check information in this header (more specifically on outer header, as in MPLS networks, etc).
Integrated Services, which rely on pre-reservation of resources before any data is actually sent. E.g. RSVP.
Best Effort - no specific QoS method, as in FIFO. 

While Internet is considered best effort, most services are implemented using DiffServ model as it is most scalable.



> Was it best-effort? What would happen if we had an FTP server running on 100/100 mbits/s bandwidth and about 5 clients downloading in the same time with 200/200 mbits/s each? Would the bandwidth shared equally by IP protocol among clients or first gets most of it?



FTP is TCP protocol, as such traffic using it would behave accordingly. TCP has its concepts such as window size, mss, etc which affect the way traffic is transfered. It also uses something called slow-start congestion avoidance protocol which in affect lowers or ups the speed if there is need to. Without any QoS method implemented and getting a saturation on a link in view, traffic would have zig-zag pattern as all connections would fight for bandwidth and then all suddenly lower throughput. In other words it is largely not deterministic.



> How could one share this FTP bandwidth among clients using PF dynamically (if there are no clients, the first takes all of it, if there are clients, bandwidth is shared equally. IP addresses of clients are dynamic)?



QoS is almost always implemented based on type of traffic, not IP address (although, giving low-latency queue to your boss IP can prove to be adventagious at times).
Things like VoIP, DNS, and TCP-ACK traffic should get priority over other bulk traffic such as FTP.

*pf* has its methods of implementing scheduling schemes.


----------

