QOS script


 
Thread Tools Search this Thread
Special Forums IP Networking QOS script
# 1  
Old 10-04-2010
QOS script

Does anyone know how can I determine which user is UPLOADING via http protocol? Like sending video on youtube?

Or maybe how to throttle multimedia uploads ? Or any uploads?
maybe get packet size?
# 2  
Old 10-04-2010
The difference between uploading and downloading via HTTP is simply one of traffic. The protocol is the same but most of the traffic will be upload.
# 3  
Old 10-04-2010
Sure, I know that,
Just.. how can I classify that type of data transfer ?
For example to send it to QOS? or xt_route?
# 4  
Old 10-04-2010
That type of transfer is classified as 'HTTP', the same kind as any other HTTP transfer. If you want to restrict it, restrict the upload rate of all HTTP.
# 5  
Old 10-04-2010
Is there any way I can separate that transfer into legit html and video upload? Maybe by outgoing packet size?

Basically I want users to surf fast (my qos is set like that), but in case of uploading files/media -- I want that to be as slow as possible.

If I limit all http, then both upload and download will be restricted. ie. the request for pages will be slow.
# 6  
Old 10-04-2010
Quote:
Originally Posted by DARKMAN_HR
Is there any way I can separate that transfer into legit html and video upload? Maybe by outgoing packet size?
more likely by the URL involved, if you can get it. Are you using a caching proxy of any sort?
# 7  
Old 10-04-2010
A back door possibility is to use lsof to show what files and sockets are open on the server, and post-process to link socket processes to files to file size or extension. Of course, if there is a multithreaded server process, it gets fuzzy again.

Finding a way to throttle sockets that have moved too many bytes might be nasty to persistent HTTP1.1 users, a kind of usage that is friendlier to the server than file per connection, never mind ftp's two connections. If you could serve one packet out per socket in strict rotation, the long connections for big files have less effect on the new ones. Optimally, you want the oldest connection to get done, so you have fewer concurrent connections and least redo activity, yet you want the new connections to be favored for a while, since they may want little. If you can move aging connections to the long pool tagged with their start time, you can favor the young connections and allow the oldest to take from their excess bandwidth. You may have more bandwidth than the oldest connection, so what it cannot use of that excess goes to the second oldest, and so on.

I am not sure what tools facilitate this, or if any tool can tag HTTP1.1 persistent connections and tell if such a connection is not doing large files.

Packet size is maxed out for every transfer with more than MTU to move at that moment, but MTU is characteristically only 1500, not much of a challenge to fill.

Large files served out might have their sockets tagged, or be segregated on a server that is allowed less priority to the network.

Uploads are really hard, since you cannot look at the file in advance. Extensions and even Content-type: are not very reliable, easily subverted for download/upload by a zip of temporary rename. Files may be encoded to make them not sniffable for type signatures.

Just spitballing! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

2. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

3. IP Networking

Internet QOS woes

I'm looking for recommendations for a general problem. Apparently (that is according to my boss and coworkers) I am responsible for guaranteeing quality of service to our remote MySQL server during the course of the day. They may run a complete database restore for any number of reasons and are... (1 Reply)
Discussion started by: Astrocloud
1 Replies

4. IP Networking

QOS using tc

Hello all my friends Please Read to understand my problem I have 1 MB bandwidth and two networks then i did traffic control on my two internal interfaces i.e eth1(192.168.3.0/24) and eth2(172.16.3.0/24) (internal) and eth0 (outside) Then i divided my bandwidth using tc command with the... (3 Replies)
Discussion started by: rink
3 Replies

5. Windows & DOS: Issues & Discussions

QOS packet scheduler and group policy

hi, did anyone know how to configure a priority of dns ports (and other ports) on QOS on windows 2003? hard to understand the group policy "explain" tab on 'qos packet scheduler', no elaboration on how to use it. thanks for any comment you may add. ---------- Post updated at 05:03 PM... (0 Replies)
Discussion started by: itik
0 Replies

6. IP Networking

802 QOS/ Bandwidth Control

My question is such: I want to control the bandwidth of my users and cap there speed on the network. I was told by a Cisco rep that it is better to police or control the bandwidth at the switch and not via the router. It that the correct place to control bandwidth at the switch or would it be... (0 Replies)
Discussion started by: metallica1973
0 Replies

7. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question