orm@doc-tcpip.org

Erstellt: Dezember 2002 - Letzte Modifikation: Februar 2003

[ Main | Local ]


Eine Anfrage des Advisor-Modules im NetDispatcher

Zur Ermittlung der Last auf einem Server

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

[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )