Permalänk

Överförd data?

Om man laddar hem en fil på n bytes från en server via webbläsaren. Hur mycket data behöver då servern överföra för att få fram informationen till mig?

Om vi bortser från ev. komprimering så inser jag givetvis att det går åt minst 8*n bitar men hur mycket utöver det går åt för att styra paketen med data till mig?

Jag testade att dra hem en fil på 160K bytes vilket resulterade i ca 200K bytes data som överfördes men jag tycker det låter mycket. Någon som har kolla på detta?

Visa signatur

jag är en kul filur - eller hur?

Permalänk
Medlem

Jag skulle kunna tänka mig att paketen, beroende på typ är 25%-50% större än datamängden, det finns Beskrivnigar för sådantdär, men jag kommer inte ihåg exakt och solen håller på att gå upp
*trött*

Visa signatur

"Don't you worry, i'm a gamm-M.U.C.K.:ad signalmekaniker."
AMD Athlon 64 3200+ 1024mb ram PC3200, GF6800GT 128Mb, ~800Gb (Dumma D70 som slukar HDD >.<) Hdd SB Audigy2 platinum
Atmel ATmega8515 @ 4mhz, 5v core. Har full koll på 8 LED iallafall

Permalänk
Medlem

Det är ganska mycket overhead då man skickar via TCP/IP/Ethernet. Om vi antar att MTU är 1500 för Ethernet (MSS 1460) så får vi följande mängd skickad data för att överföra 1460 byte "nyttigt" data:

Ethernet preamble 8 byte
Ethernet header 18 byte
IP header 20 byte
TCP header 20 byte
User data 1460 byte
Interpacket gap 12 byte

Totalt 1538 byte. Hur många paket behövs då för att överföra 160KB data? 160*1024 / 1460 = ~112 st.

112 paket * 1538 byte per paket = ~168 KB data. Sen tillkommer ju ACK-paket (bekräftelser) till varje datapaket som skickas från dig till servern. De är tomma paket bestående endast av Ethernet+IP+TCP-header, dvs 84 byte med padding. 84 byte * 112 paket = ~9KB data. Så då är vi uppe i totalt 177 KB överförd data.

Att det blir 200KB data för dig kan ju bero på paketförluster eller att du har en MSS på mindre än 1460 byte. Ju mindre MSS desto större overhead får man ju. För modem brukar MSS vara 536 om jag inte minns fel. Då får vi ett helt annat scenario:

160*1024 / 536 = ~306 paket.

306 * (536 byte data per paket + 78 byte overhead per paket + 84 byte per ACK) = ~209 KB data.

MSS på 536 = 209 KB överfört
MSS på 1460 = 177KB överfört

Du kan kolla din egen MTU och andra TCP/IP-parametrar här: http://www.speedguide.net/analyzer.php

Jag reserverar mig för eventuella fel ovan

Visa signatur

[ Adopt, Adapt and Apply ]

Permalänk
Medlem

IEEE 802.3 Frame

MTU = 1492
--------------

MTU med MAC header + trailer = 1510
LLC + SNAP Header = 8

1510+8=1518

1518-18-8=1492

1492 till tcp/ip
----------------

Ip header = 20
tcp header = 20

1492-40 = 1452
------------------

Notera att Ethernet MTU är 1500, inte IEEE 802.3 MTU

---------------------------------------------------------------------------------------------------------------

Så som jag har fattat det, och så som det går ihop när man räknar + ifall man tänker på syftet med DIX eller IEEE 802.3 Preamble så räknas det helt enkelt inte med, preamble är ju till för att nätverkskortet ska hinna med, annars tappar han de första signalerna (en uppstart typ)

IFG/IPG är bara lite vänttid, och tillhör väll inte framet, utan inträffar bara då du "burstar" ut frames. Men i vilket fall som helst så addar man väll (notera välll) inte den på framet i sig?

Iaf. 1452 bytes för info då.
160*1024= ~113 st
113*1518=171,5 Kb.

Sen beror det ju helt på vad du har för inställning på tcp window. Har du 1 blir det bekräftelse efter varje packet, har 2 så blir det varannat... Jag vet inte vad som är default på något os, jag vet bara att man kan ändra det.

IEEE 802.3 header och trailer + IP header + TCP header= 46+20+20=86 (Preamble inte medräknat).

ISDN kör inte den på en MTU som är sketliten, och istället skickar den en jävlans massa hela tiden... Har för mig att det stod så i ccna materialet. får kolla upp det. Annars borde man ju få en större overhead ju mindre packeten är.

hehe "..... One option is currently defined, the Jumbo Payload option, which is used to send IPv6 packets that are between 65,536 and 4,294,967,295 octets in length"

Nu kan ju iof jag ha tänkt fel och gjort fel... eller helt enkelt har fel... så rätta mig gjärna

Permalänk
Medlem

Hittade det om ISDN

"Note that there are 8000 ISDN BRI frames sent per second. There are 24 bits in each frame (2*8B+2D+6F = 24) for a bit rate of 8000*24 = 192Kbps. The effective rate is 8000*(2*8B+2D) = 8000*18 = 144Kbps."