Not for the faint hearted

Sep 10, 2004 4 Replies
Not for the faint hearted open original image

I'll be suprised if anyone can answer this question. but here goes



Do servers providing a public service contend access to applications via their network card. ie If a client has 2Mb uncontended internet access attempts to download a file via ftp, http etc from a server in a remote location will the client have 2mb from his host to the server and be able to download stuff from the server at a rate of 2Mbps or will the server restrict how much bandwidth a single user may consume.



lets assume their is no contention anywhere in the network.



My question is focusing on the server technology and how it manages client access. Many web servers have 10Mb outbound access. So my question is if 5 2Mb clients were to download from the server would the server permit 5 clients to hog the network card or does each client get limited.



The client doesn't control what gets sent out. The server does. It is responsible for scheduling transmissions in such a manner that no client gets starved. How well it does this depends on what choices the programmers who created its scheduler and the administrator who configured it made.

It is entirely up to the server application how it services requests. More sophisticated ones permit throttling on the basis of user class, address and even type of file requested.

The operating system (especially it's scheduler) also plays a role for some servers that respawn for each client. Even with default serves-as-fast-as-can, a good round-robin scheduler will drop the 5 2 Mb clients to 1 Mb when 5 new similar clients start sucking.

Beyond these simple things there are also things like bandwidth throttling and traffic shaping that can be done byt network admins who are trying to tame the evil machines on both ends of the network.

-- Robert

Some operating systems ( OpenBSD, FreeBSD Linux comes to my mind) has built-in code to configure bandwitdh offered. As it's somehat complex no examples can be given, but creating a "filter" that will allow ftp-downloads x kb/s is with the possibiyties.

Read

formatting link
formatting link
the details for OpenBSD.

Well... that is not strictly true. The client cannot make the server send faster to the client than the server is willing, but the client can accept the data at a rate slower than the server might have sent otherwise, either by slowing the rate at which is calls recv(), or by using a smaller TCP window or what have you.

rick jones

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required