Du skal tage højde for noget der hedder "Overhead". Dette er headers, TCP/IPs indpakning, og fejlkorrektion.
Lad mig prøve at forklare:
Du har en 4mbit linie, hvilket helt præcist er 4096 kbit/s (kilobit / sekund)
Da man for det meste regner i kb/s (kiloBYTE pr. sek), og 1 byte er 8 bit, skal du altså dividere med 8.
4096/8 = 512kb/S (kilobyte / sekund)
Altså kan din linie i teorien trække 512kb/s. Der er så desværre her overheaden træder ind. Overhead er bl.a. at der bliver sendt "headers" med i alle pakker frem og tilbage. Der iblandt er der f.eks. en TCP header, en IP header, og en ATM header.
Disse ting skal sendes med -ALLE- pakker der bliver sendt frem og tilbage. De indeholder bl.a. din ip-adresse (så den side du henter fra ved hvor den skal sende tingene hen), samt en port (som du f.eks. angiver i det pågældende program.
Overheaden på ADSL er rundt regnet op til 15%, så du skal altså trække 15% fra de 512kb/s vi kom frem til før.
512 * 0,85 = 435,2 kb/s
Dette ender op i 435,2 kb/s, som er hvad du rent faktisk max skal kunne hente med. Derudover er der for det meste ting som altid er på nettet (for det meste chat-programmer og anti-virus / firewalls), disse ting tager også en lille bitte del af linien hele tiden.
Hvis du vil have det tilbage til kbit/s ganger du med 8 igen:
435,2 * 8 = 3481,6 kbit/s
3481,6 kbit/s er som din linie rent faktisk er efter alt hvad der går tabt for at den kan fungere. Dog leverer din internet udbyder som de skal 4096kbit/s ud til centralen, så de gør hvad de skal.
Du kan sammenligne det med at du køber en bil med X hestekræfter, men du vil aldrig få fuldt udbytte af den, for du skal også indberegne modstand for vejen, luft og at vejen ikke altid er lige osv.
Jeg kan oplyse dig at Webspeed, som ikke er ADSL, ikke lider af samme store overhead, og dette er altså grunden til forskellen.
Jeg vedlægger her et link til TCP/IP protokollen, den er dog desværre på engelsk (kan ikke finde den på dansk).
http://www.faqs.org/rfcs/rfc793.html