Trädvy Permalänk
Medlem
Plats
Gävle
Registrerad
Sep 2005

TCP/ Wireshark fråga ACK=1 ?

Om man kollar på ram 18-21 så förstår jag att ACK är nästa "förväntade" byte-sekvens. Men hur tolkar man ACK=1 på ram 22-28?

Mottagar-datorn skickar ACK=1 tillbaka till sändardatorn för att "berätta" att den skickat ett delpaket ? Någon som kan förklara för mig?

Trädvy Permalänk
Medlem
Plats
Hedesunda
Registrerad
Dec 2005

All TCP trafik ACK'as till skillnad mot UDP. En ACK kan inkluderas/inbakas i nästa paket för att minimera latens och overhead.

T.ex. http://www.enterprisenetworkingplanet.com/netsp/article.php/3...

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Maj 2008
Skrivet av burton666:

Om man kollar på ram 18-21 så förstår jag att ACK är nästa "förväntade" byte-sekvens. Men hur tolkar man ACK=1 på ram 22-28?

Mottagar-datorn skickar ACK=1 tillbaka till sändardatorn för att "berätta" att den skickat ett delpaket ? Någon som kan förklara för mig?

https://i.imgur.com/a50y7CP.png

Det är inte svårare än att trafiken i denna TCP session bara flödar åt ena hållet.
131.212.31.167:2096 -> 128.119.245.12:80

Då 128.119.245.12 ej skickat något data så finns inte heller något att ACK'a för 131.212.31.167, så ACK värdet förblir 1.
ACK värdena är alltså -olika- för dom olika riktningarna inom samma TCP session.

Networking geek, #28735

Trädvy Permalänk
Medlem
Plats
Veberöd
Registrerad
Sep 2005

Med risk för att låta dum - nätverk är inte mitt huvudområde - så ser det ut som att anropet från 131.212.31.167 överskrider MTU (maximum transmission unit) och delas upp i mindre paket om den maximala storleken som verkar vara 1260 (1314 inkl overhead).

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Maj 2008

Len=1260 betyder att payload + TCP headers är 1260 bytes totalt.
Värdet under length kolumnen inkluderar IP + L2 headers (1314 bytes på tråden)

Var kommer 1260 ifrån? Jo det har TCP på klient/server förhandlat fram vid TCP SYN när dom etablerade anslutningen. Då applikationen vill skicka mer än 1260 bytes total payload så kommer TCP stycka upp dessa i paket á max 1260 bytes.

PDU i detta fall syftar på ett block data lagret ovanför TCP skickar (i OSI modellen).

Networking geek, #28735

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Maj 2008
Skrivet av burton666:

Om man kollar på ram 18-21 så förstår jag att ACK är nästa "förväntade" byte-sekvens. Men hur tolkar man ACK=1 på ram 22-28?

Mottagar-datorn skickar ACK=1 tillbaka till sändardatorn för att "berätta" att den skickat ett delpaket ? Någon som kan förklara för mig?

https://i.imgur.com/a50y7CP.png

Förlåt glömde svara på ena frågan. Paketen med ACK=1 innehåller ju payload som du ser på deras paket length. Dom fyller alltså två syften. Dels skickas den faktiska trafiken i dessa paket men dom "passar samtidigt på att ACKa mottagna paket" - fast det var inga i detta fall därför stannar värdet på 1.

Networking geek, #28735