orm@doc-tcpip.org | Erstellt: Dezember 2002 - Letzte Modifikation: Februar 2003 |
Dieser Trace ist aus der gleichen Umgebung wie im HTTP Beispiel. Es ist eine periodische Abfrage des Protokolls, so wie die Advisor-Komponente des NetDispatchers sie macht, um Aussagen über die Last des Servers zu bekommen. Die Methode ist konfigurierbar.
Ich habe eine Verbindung herausgeschnitten, und teilweise das Paket auch in Hex abgebildet, damit man alles genau sehen kann.
Die Pakete werden auf dem Dispatcher generiert und an die Adresse 10.10.10.10 geschickt. IP auf dem Dispatcher erkennt sich selbst und schickt das Paket deshalb über den Loopback (daher kein Ethernet Header und die Angabe OTHER als Protokoll). Kommt ein Paket über den Adapter an diese Adresse, so ist der Weg derselbe.
Packet Number 32 ====( 44 bytes transmitted on interface lo0 )==== 10:22:18.659176183 00000000 4500002c 2a630000 3c062c48 0a0a0a04 |E..,*c..<.,H....| 00000010 0a0a0a0a af610050 3355dd67 00000000 |.....a.P3U.g....| 00000020 60024000 6f960000 020405b4 |`.@.o....... | OTHER packet (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=10851, ip_off=0 IP: ip_ttl=60, ip_sum=2c48, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd67, th_ack=0 TCP: th_off=6, flags< SYN> TCP: th_win=16384, th_sum=6f96, th_urp=0 TCP: 00000000 020405b4 |.... |
Jetzt schlägt auf dem Dispatcher die Software des NetDispatcher zu. Mir ist nicht ganz klar, wie der Advisor sicherstellt, daß sein Test-Paket gezielt an einen Server geht - das finden wir noch raus.
Packet Number 33 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.659190892 ETH: 00000000 0020358d 575c0020 358d97a3 08004500 |. 5.W\. 5.....E.| ETH: 00000010 002c2a63 00003c06 2c480a0a 0a040a0a |.,*c..<.,H......| ETH: 00000020 0a0aaf61 00503355 dd670000 00006002 |...a.P3U.g....`.| ETH: 00000030 40006f96 00000204 05b40000 |@.o......... | ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=10851, ip_off=0 IP: ip_ttl=60, ip_sum=2c48, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd67, th_ack=0 TCP: th_off=6, flags< SYN> TCP: th_win=16384, th_sum=6f96, th_urp=0 TCP: 00000000 020405b4 |.... |
Das Paket kommt an diesem Server an, und er wird den Request nun bearbeiten.
Packet Number 1 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.658837858 ETH: 00000000 0020358d 575c0020 358d97a3 08004500 |. 5.W\. 5.....E.| ETH: 00000010 002c2a63 00003c06 2c480a0a 0a040a0a |.,*c..<.,H......| ETH: 00000020 0a0aaf61 00503355 dd670000 00006002 |...a.P3U.g....`.| ETH: 00000030 40006f96 00000204 05b40000 |@.o......... | ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=10851, ip_off=0 IP: ip_ttl=60, ip_sum=2c48, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd67, th_ack=0 TCP: th_off=6, flags< SYN> TCP: th_win=16384, th_sum=6f96, th_urp=0 TCP: 00000000 020405b4 |.... |
Dazu schickt er dieses Paket raus - der ACK/SYN:
Packet Number 2 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.658852388 ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=38089, ip_off=0 IP: ip_ttl=60, ip_sum=c1e1, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c47de, th_ack=3355dd68 TCP: th_off=6, flags< SYN | ACK > TCP: th_win=16060, th_sum=575e, th_urp=0 TCP: 00000000 020405b4 |.... |
So kommt das Paket beim Dispatcher an. Normalerweise ginge das direkt an den Client, der Dispatcher sieht es nicht - der NetDispatcher änder ja nur die eine MAC Adresse! Nun ist aber in diesem Beispiel der Dispatcher zugleich der Client....
Packet Number 34 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.659630755 ETH: 00000000 0020358d 97a30020 358d575c 08004500 |. 5.... 5.W\..E.| ETH: 00000010 002c94c9 00003c06 c1e10a0a 0a0a0a0a |.,....<.........| ETH: 00000020 0a040050 af61d18c 47de3355 dd686012 |...P.a..G.3U.h`.| ETH: 00000030 3ebc575e 00000204 05b40000 |>.W^........ | ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=38089, ip_off=0 IP: ip_ttl=60, ip_sum=c1e1, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c47de, th_ack=3355dd68 TCP: th_off=6, flags< SYN | ACK > TCP: th_win=16060, th_sum=575e, th_urp=0 TCP: 00000000 020405b4 |.... |
Die Antwort wird erzeugt (ein simples ACK), an die Cluster-Adresse (10.10.10.10) geschickt, der Dispatcher erkennt sich selbst und schickt das Paket über den Loopback.
Packet Number 35 ====( 40 bytes transmitted on interface lo0 )==== 10:22:18.659638525 00000000 45000028 2a650000 3c062c4a 0a0a0a04 |E..(*e..<.,J....| 00000010 0a0a0a0a af610050 3355dd68 d18c47df |.....a.P3U.h..G.| 00000020 50103ebc 6f1b0000 |P.>.o... | OTHER packet (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10853, ip_off=0 IP: ip_ttl=60, ip_sum=2c4a, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd68, th_ack=d18c47df TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6f1b, th_urp=0
Jetzt schlägt der NetDispatcher wieder zu und verpasst dem Paket die richtige MAC Adresse. Er holt die nötige Info aus einer Tabelle, wo er Ports zu den Sessions zugeordnet hat.
Packet Number 36 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.659649995 ETH: 00000000 0020358d 575c0020 358d97a3 08004500 |. 5.W\. 5.....E.| ETH: 00000010 00282a65 00003c06 2c4a0a0a 0a040a0a |.(*e..<.,J......| ETH: 00000020 0a0aaf61 00503355 dd68d18c 47df5010 |...a.P3U.h..G.P.| ETH: 00000030 3ebc6f1b 00000000 00000000 |>.o......... | ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10853, ip_off=0 IP: ip_ttl=60, ip_sum=2c4a, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd68, th_ack=d18c47df TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6f1b, th_urp=0
Der Server kriegt das Paket.
Packet Number 3 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.659101103 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10853, ip_off=0 IP: ip_ttl=60, ip_sum=2c4a, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd68, th_ack=d18c47df TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6f1b, th_urp=0
Jetzt sendet der Advisor des NetDispatchers das eigentliche Paket, eine simple HTTP Abfrage. Wieder wird es an die Cluster Adresse adressiert, die Maschine erkennt sich selbst und leitet über den Loopback um.
Packet Number 37 ====( 121 bytes transmitted on interface lo0 )==== 10:22:18.708864100 00000000 45000079 2a660000 3c062bf8 0a0a0a04 |E..y*f..<.+.....| 00000010 0a0a0a0a af610050 3355dd68 d18c47df |.....a.P3U.h..G.| 00000020 50183ebc 37670000 48454144 202f2048 |P.>.7g..HEAD / H| 00000030 5454502f 312e300d 0a416363 6570743a |TTP/1.0..Accept:| 00000040 202a2f2a 0d0a5573 65722d41 67656e74 | */*..User-Agent| 00000050 3a204942 4d5f4e65 74776f72 6b5f4469 |: IBM_Network_Di| 00000060 73706174 63686572 5f485454 505f4164 |spatcher_HTTP_Ad| 00000070 7669736f 720d0a0d 0a |visor.... | OTHER packet (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=121, ip_id=10854, ip_off=0 IP: ip_ttl=60, ip_sum=2bf8, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd68, th_ack=d18c47df TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16060, th_sum=3767, th_urp=0 TCP: 00000000 48454144 202f2048 5454502f 312e300d |HEAD / HTTP/1.0.| **gekürzt** TCP: 00000050 0a |. |
Der NetDispatcher schlägt zu, findet die der Session entsprechende MAC und fügt diese ein. (Wie schon gesagt würde er im wirklichen Leben die MAC der Dispatcher Maschine mit der des Ziel-Servers austauschen).
Packet Number 38 ETH: ====( 135 bytes transmitted on interface en0 )==== 10:22:18.708879619 ETH: 00000000 0020358d 575c0020 358d97a3 08004500 |. 5.W\. 5.....E.| ETH: 00000010 00792a66 00003c06 2bf80a0a 0a040a0a |.y*f..<.+.......| ETH: 00000020 0a0aaf61 00503355 dd68d18c 47df5018 |...a.P3U.h..G.P.| ETH: 00000030 3ebc3767 00004845 4144202f 20485454 |>.7g..HEAD / HTT| ETH: 00000040 502f312e 300d0a41 63636570 743a202a |P/1.0..Accept: *| ETH: 00000050 2f2a0d0a 55736572 2d416765 6e743a20 |/*..User-Agent: | ETH: 00000060 49424d5f 4e657477 6f726b5f 44697370 |IBM_Network_Disp| ETH: 00000070 61746368 65725f48 5454505f 41647669 |atcher_HTTP_Advi| ETH: 00000080 736f720d 0a0d0a |sor.... | ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=121, ip_id=10854, ip_off=0 IP: ip_ttl=60, ip_sum=2bf8, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd68, th_ack=d18c47df TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16060, th_sum=3767, th_urp=0 TCP: 00000000 48454144 202f2048 5454502f 312e300d |HEAD / HTTP/1.0.| **gekürzt** TCP: 00000050 0a |. |
Paket kommt am Server an..
Packet Number 4 ETH: ====( 135 bytes received on interface en0 )==== 10:22:18.708323286 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=121, ip_id=10854, ip_off=0 IP: ip_ttl=60, ip_sum=2bf8, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355dd68, th_ack=d18c47df TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16060, th_sum=3767, th_urp=0 TCP: 00000000 48454144 202f2048 5454502f 312e300d |HEAD / HTTP/1.0.| **gekürzt** TCP: 00000050 0a |. |
Und wird vom Apache brav beantwortet.
Packet Number 5 ETH: ====( 344 bytes transmitted on interface en0 )==== 10:22:18.709801329 ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=330, ip_id=38091, ip_off=0 IP: ip_ttl=60, ip_sum=c0c1, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c47df, th_ack=3355ddb9 TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16060, th_sum=404d, th_urp=0 TCP: 00000000 48545450 2f312e31 20333032 20466f75 |HTTP/1.1 302 Fou| **gekürzt** TCP: 00000120 0d0a |.. |
Die Antwort kommt am Client an (der hier zufällig auch der Dispatcher ist).
Packet Number 39 ETH: ====( 344 bytes received on interface en0 )==== 10:22:18.710637291 ETH: 00000000 0020358d 97a30020 358d575c 08004500 |. 5.... 5.W\..E.| ETH: 00000010 014a94cb 00003c06 c0c10a0a 0a0a0a0a |.J....<.........| ETH: 00000020 0a040050 af61d18c 47df3355 ddb95018 |...P.a..G.3U..P.| **gekürzt** ETH: 00000150 35392d31 0d0a0d0a |59-1.... | ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=330, ip_id=38091, ip_off=0 IP: ip_ttl=60, ip_sum=c0c1, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c47df, th_ack=3355ddb9 TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16060, th_sum=404d, th_urp=0 TCP: 00000000 48545450 2f312e31 20333032 20466f75 |HTTP/1.1 302 Fou| **gekürzt** TCP: 00000120 0d0a |.. |
Der Web Server schiebt auch gleich hinterher, das für ihn die Sache erledigt ist: FIN/ACK.
Packet Number 6 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.710290710 ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=38092, ip_off=0 IP: ip_ttl=60, ip_sum=c1e2, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c4901, th_ack=3355ddb9 TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16060, th_sum=6da7, th_urp=0
Und angekommen.
Packet Number 40 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.711112622 ETH: 00000000 0020358d 97a30020 358d575c 08004500 |. 5.... 5.W\..E.| ETH: 00000010 002894cc 00003c06 c1e20a0a 0a0a0a0a |.(....<.........| ETH: 00000020 0a040050 af61d18c 49013355 ddb95011 |...P.a..I.3U..P.| ETH: 00000030 3ebc6da7 00000000 00000000 |>.m......... | ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=38092, ip_off=0 IP: ip_ttl=60, ip_sum=c1e2, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c4901, th_ack=3355ddb9 TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16060, th_sum=6da7, th_urp=0
Der Dispatcher sendet ein ACK auf das Paket mit dem HTTP-Content (Paket Nr. 5, Sequenz Nummer 3355ddb9).
Packet Number 41 ====( 40 bytes transmitted on interface lo0 )==== 10:22:18.711121002 00000000 45000028 2a670000 3c062c48 0a0a0a04 |E..(*g..<.,H....| 00000010 0a0a0a0a af610050 3355ddb9 d18c4902 |.....a.P3U....I.| 00000020 50103ebc 6da70000 |P.>.m... | OTHER packet (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10855, ip_off=0 IP: ip_ttl=60, ip_sum=2c48, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355ddb9, th_ack=d18c4902 TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6da7, th_urp=0
Der Dispatcher sendet ein ACK auf das Paket mit dem FIN/ACK (Paket Nr. 6, Sequenz Nummer d18c4901).
Packet Number 42 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.711126941 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10855, ip_off=0 IP: ip_ttl=60, ip_sum=2c48, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355ddb9, th_ack=d18c4902 TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6da7, th_urp=0
Das Paket wird empfangen, der Web Server weiß also jetzt, das der Client/Dispatcher das Ende von seiner Seite mitgeschnitten hat. Und es gibt natürlich keinen ACK auf einen ACK..
Packet Number 7 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.710573225 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10855, ip_off=0 IP: ip_ttl=60, ip_sum=2c48, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355ddb9, th_ack=d18c4902 TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6da7, th_urp=0
Der Dispatcher als Client der HTTP-Session schickt nun seinen FIN/ACK. Wieder an die 10.10.10.10, die auf der Maschine selbst liegt und deshalb über den Loopback geroutet wird.
Packet Number 43 ====( 40 bytes transmitted on interface lo0 )==== 10:22:18.714417413 00000000 45000028 2a680000 3c062c47 0a0a0a04 |E..(*h..<.,G....| 00000010 0a0a0a0a af610050 3355ddb9 d18c4902 |.....a.P3U....I.| 00000020 50113ebc 6da60000 |P.>.m... | OTHER packet (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10856, ip_off=0 IP: ip_ttl=60, ip_sum=2c47, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355ddb9, th_ack=d18c4902 TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16060, th_sum=6da6, th_urp=0
Der NetDispatcher schlägt zu und switched die MAC Adresse. Darauf gibt er das Packet aufs Netz.
Packet Number 44 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.714431293 ETH: 00000000 0020358d 575c0020 358d97a3 08004500 |. 5.W\. 5.....E.| ETH: 00000010 00282a68 00003c06 2c470a0a 0a040a0a |.(*h..<.,G......| ETH: 00000020 0a0aaf61 00503355 ddb9d18c 49025011 |...a.P3U....I.P.| ETH: 00000030 3ebc6da6 00000000 00000000 |>.m......... | ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10856, ip_off=0 IP: ip_ttl=60, ip_sum=2c47, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355ddb9, th_ack=d18c4902 TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16060, th_sum=6da6, th_urp=0
Der Server empfängt es.
Packet Number 8 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.713914183 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 10.10.10.4 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=10856, ip_off=0 IP: ip_ttl=60, ip_sum=2c47, ip_p = 6 (TCP) TCP: < Source port=44897, destination port=80(www) > TCP: th_seq=3355ddb9, th_ack=d18c4902 TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16060, th_sum=6da6, th_urp=0
Und schicht einen ACK.
Packet Number 9 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:22:18.713926693 ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=38093, ip_off=0 IP: ip_ttl=60, ip_sum=c1e1, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c4902, th_ack=3355ddba TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6da6, th_urp=0
Der ACK kommt an und alles ist Gut. Der Advisor kann aus den Antwortzeiten die Last des Servers ableiten, diesen Wert wird er dem Manager zur Verfügung stellen, der daraus die neuen Gewichte berechnen wird.
Packet Number 45 ETH: ====( 60 bytes received on interface en0 )==== 10:22:18.714676753 ETH: 00000000 0020358d 97a30020 358d575c 08004500 |. 5.... 5.W\..E.| ETH: 00000010 002894cd 00003c06 c1e10a0a 0a0a0a0a |.(....<.........| ETH: 00000020 0a040050 af61d18c 49023355 ddba5010 |...P.a..I.3U..P.| ETH: 00000030 3ebc6da6 00000000 00000000 |>.m......... | ETH: [ 00:20:35:8d:57:5c -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 10.10.10.4 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=38093, ip_off=0 IP: ip_ttl=60, ip_sum=c1e1, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44897 > TCP: th_seq=d18c4902, th_ack=3355ddba TCP: th_off=5, flags< ACK > TCP: th_win=16060, th_sum=6da6, th_urp=0
[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]
Copyright 2001-2021 by Orm Hager - Es gilt die GPL