orm@doc-tcpip.org | Erstellt: Dezember 2002 - Letzte Modifikation: Februar 2003 |
Der NetDispatcher, oder Secureway Edge Server NetDispatcher Component, oder eND (wahrscheinlich E-Buissines Network Dispatcher) oder wie immer er jetzt gerade heißen mag, ist unter AIX in allen Einzelheiten erklärt. Hier kann man am Beispiel einer HTTP Anfrage sehen, wie sich das Ganze auf Paket-Ebene darstellt.
Der Dispatcher
Hat eine "eigene" IP Adresse (10.10.10.4) und dann für jeden
Cluster, den er bedient, ein Alias auf dem Ethernet-Adapter
(10.10.10.10 und 10.10.10.30).
en0: flags=4e080863inet 10.10.10.4 netmask 0xffffff00 broadcast 10.10.10.255 inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255 inet 10.10.10.30 netmask 0xffffff00 broadcast 10.10.10.255 lo0: flags=e08084b inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255 inet6 ::1/0
Seine MAC Adresse ist 00:20:35:8d:97:a3 und das Routing sieht so aus:
Routing tables Route Tree for Protocol Family 2 (Internet): default 10.10.10.1 UG 3 304777 en0 - - 10.10.10/24 10.10.10.4 U 10 21154865 en0 - - 127/8 127.0.0.1 U 1 100 lo0 - -
Wie erwartet gehen alle Pakete in das 10.10.10 Netz über en0 und 10.10.10.4. Hinter der Cluster-Adresse verbergen sich beliebig viele Web-Server. Der Server, den wir im Beispiel ansprechen, sieht so aus:
en0: flags=4e080863inet 10.10.10.7 netmask 0xffffff00 broadcast 10.10.10.255 lo0: flags=e08084b inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255 inet6 ::1/0 inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255
Er muß also die Cluster Adresse als Alias auf dem Loopback haben! Die MAC ist 00:20:35:8d:57:5c. Und die Routing Table ist auch ganz normal (was man garnicht brauchen kann ist ein Routing Eintrag über das Loopback - das kann passieren und man sollte es prüfen).
Routing tables Route Tree for Protocol Family 2 (Internet): default 10.10.10.1 UG 0 700405 en0 - - 10.10.10/24 10.10.10.7 U 8 7185494 en0 - - 127/8 127.0.0.1 U 1 1607 lo0 - -
Da der Dispatcher nur die eine Hälfte der Verbindung sieht, ist der Trace aus zwei gleichzeitigen Traces zusammen gefügt. Die Pakete mit dem Nummern jenseits der 2000 sind auf dem Dispatcher mitgeschnitten, die kleineren Nummern sind auf dem Webserver getraced. Alle Pakete vom Client zum Dispatcher sind Schwarz, die vom Dispatcher zum Server Grün, und die Pakete vom Server zum Client sind Blau dargestellt.
Was wir im Trace sehen, ist ein HTTP/GET Request des Clients 217.6.210.75. Der Dispatcher nimmt die Pakete und ersetzt nur die MAC-Adresse mit der des Servers, dem er diese Arbeit zuweist. Da der Server die Cluster-IP auf seinem Loopback hat, nimmt er das Paket vom Netz und verarbeitet es. Die Antwort wird direkt an den Client gesendet, mit ganz normalem IP-Routing.
Packet Number 2381 ETH: ====( 60 bytes received on interface en0 )==== 10:32:03.405673176 ETH: [ 08:00:20:be:4c:6f -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=2240, ip_off=0 IP: ip_ttl=55, ip_sum=bba6, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308149, th_ack=0 TCP: th_off=6, flags< SYN> TCP: th_win=16384, th_sum=9df7, th_urp=0 TCP: 00000000 02040200 |.... |
Der Client im Internet schickt an den Web-Server ein SYN.
Er hat keine Ahnung, das er mit einem Cluster aus mehreren
Servern redet..... Jedenfalls kommt das Paket beim Dispatcher
an, und dort schlägt die Software des NetDispatcher zu.
Der NetDispatcher weiss, das sich hinter der Adresse 10.10.10.10 ein
Cluster verbirgt, und er wählt nach seinen Kriterien eine der
physikalischen Server in diesem Cluster aus. Diese Maschine wird
das Paket bekommen und abarbeiten. Der NetDispatcher macht also
nichts anderes als das Paket genauso zu kopieren und mit einer
anderen MAC Adresse wieder aufs Netz zu geben - ein TCP-Connection
Router (er schaut sich immerhin die Flags an).
Hier kommt das Paket mit der MAC des beauftragten Servers (00:20:35:8d:57:5c)
aber derselben IP-Adresse!
Packet Number 2382 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:03.405694045 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=2240, ip_off=0 IP: ip_ttl=55, ip_sum=bba6, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308149, th_ack=0 TCP: th_off=6, flags< SYN> TCP: th_win=16384, th_sum=9df7, th_urp=0 TCP: 00000000 02040200 |.... |
Das Paket kommt an diesem Server an, und er wird den Request nun selbständig bearbeiten.
Packet Number 971 ETH: ====( 60 bytes received on interface en0 )==== 10:32:03.406380848 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=2240, ip_off=0 IP: ip_ttl=55, ip_sum=bba6, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308149, th_ack=0 TCP: th_off=6, flags< SYN> TCP: th_win=16384, th_sum=9df7, th_urp=0 TCP: 00000000 02040200 |.... |
Dazu schickt er dieses Paket raus - der ACK/SYN:
Packet Number 972 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:03.406634553 ETH: [ 00:20:35:8d:57:5c -> 08:00:20:be:4c:6f ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 217.6.210.75 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=24934, ip_off=0 IP: ip_ttl=60, ip_sum=5e00, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44466 > TCP: th_seq=269a3ff1, th_ack=cf30814a TCP: th_off=6, flags< SYN | ACK > TCP: th_win=16384, th_sum=375b, th_urp=0 TCP: 00000000 02040200 |.... |
Vom Client gibt es keinen Trace, aber wir sehen die Antwort auf dem Dispatcher.
Packet Number 2383 ETH: ====( 60 bytes received on interface en0 )==== 10:32:03.408555614 ETH: [ 08:00:20:be:4c:6f -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2241, ip_off=0 IP: ip_ttl=55, ip_sum=bba9, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30814a, th_ack=269a3ff2 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=4b64, th_urp=0
Und wird vom Dispatcher als zu einer bestehenden Verbindung gehörig erkannt, da er in seiner Connection-Table die Verbindung findet. Daher wird das Paket sofort weitergeleitet (nach Änderung der MAC, klar).
Packet Number 2384 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:03.408568553 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2241, ip_off=0 IP: ip_ttl=55, ip_sum=bba9, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30814a, th_ack=269a3ff2 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=4b64, th_urp=0
Der Server erhält das Paket (da er die Cluster-Adresse auf dem Loopback als Alias konfiguriert hat).
Packet Number 973 ETH: ====( 60 bytes received on interface en0 )==== 10:32:03.409171667 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2241, ip_off=0 IP: ip_ttl=55, ip_sum=bba9, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30814a, th_ack=269a3ff2 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=4b64, th_urp=0
Hier kommt der GET-Befehl auf dem Dispatcher an.
Packet Number 2385 ETH: ====( 395 bytes received on interface en0 )==== 10:32:03.413263451 ETH: [ 08:00:20:be:4c:6f -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=381, ip_id=2243, ip_off=0 IP: ip_ttl=55, ip_sum=ba52, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30814a, th_ack=269a3ff2 TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16384, th_sum=be56, th_urp=0 TCP: 00000000 47455420 2f64652f 7369676e 75702f69 |GET /de/signup/i| TCP: 00000150 380d0a0d 0a |8.... |
Und wird sofort dispatched....
Packet Number 2386 ETH: ====( 395 bytes transmitted on interface en0 )==== 10:32:03.413276800 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=381, ip_id=2243, ip_off=0 IP: ip_ttl=55, ip_sum=ba52, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30814a, th_ack=269a3ff2 TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16384, th_sum=be56, th_urp=0 TCP: 00000000 47455420 2f64652f 7369676e 75702f69 |GET /de/signup/i| TCP: 00000150 380d0a0d 0a |8.... |
Jetzt hat der Server den GET-Befehl.
Packet Number 974 ETH: ====( 395 bytes received on interface en0 )==== 10:32:03.413938269 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=381, ip_id=2243, ip_off=0 IP: ip_ttl=55, ip_sum=ba52, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30814a, th_ack=269a3ff2 TCP: th_off=5, flags< PUSH | ACK > TCP: th_win=16384, th_sum=be56, th_urp=0 TCP: 00000000 47455420 2f64652f 7369676e 75702f69 |GET /de/signup/i| TCP: 00000150 380d0a0d 0a |8.... |
Der Server begibt sich sofort an die Arbeit und sendet die verlangte Seite.
Packet Number 975 ETH: ====( 566 bytes transmitted on interface en0 )==== 10:32:03.416385044 ETH: [ 00:20:35:8d:57:5c -> 08:00:20:be:4c:6f ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 217.6.210.75 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=552, ip_id=24935, ip_off=0 IP: ip_ttl=60, ip_sum=5c03, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44466 > TCP: th_seq=269a3ff2, th_ack=cf30829f TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=ccd1, th_urp=0 TCP: 00000000 48545450 2f312e31 20323030 204f4b0d |HTTP/1.1 200 OK.| TCP: 000001f0 3c212d2d 20417574 686f723a 20444620 |.. Packet Number 2387 ETH: ====( 60 bytes received on interface en0 )==== 10:32:03.418937410 ETH: [ 08:00:20:be:4c:6f -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2244, ip_off=0 IP: ip_ttl=55, ip_sum=bba6, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30829f, th_ack=269a43f2 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=460f, th_urp=0
^ Und wird weitergeleitet.
Packet Number 2388 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:03.418951599 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2244, ip_off=0 IP: ip_ttl=55, ip_sum=bba6, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30829f, th_ack=269a43f2 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=460f, th_urp=0
Ankunft auf dem Server.
Packet Number 977 ETH: ====( 60 bytes received on interface en0 )==== 10:32:03.419685223 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2244, ip_off=0 IP: ip_ttl=55, ip_sum=bba6, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf30829f, th_ack=269a43f2 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=460f, th_urp=0
Und mehr Daten...
Packet Number 978 ETH: ====( 566 bytes transmitted on interface en0 )==== 10:32:03.419698843 ETH: [ 00:20:35:8d:57:5c -> 08:00:20:be:4c:6f ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 217.6.210.75 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=552, ip_id=24937, ip_off=0 IP: ip_ttl=60, ip_sum=5c01, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44466 > TCP: th_seq=269a43f2, th_ack=cf30829f TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=4f89, th_urp=0 TCP: 00000000 2f657463 2f736372 69707473 2f666f72 |/etc/scripts/for| TCP: 000001f0 746d6c27 293b2220 6f6e436c 69636b3d |tml');" onClick=|
Hier habe ich eine ganze Menge Pakete gelöscht, da es immer
dasselbe ist und man sich furchtbar ärgert, denn auf diesem
bekloppt Administrierten Server wird die Default-MSS benutzt,
deshalb sind die Pakete so bekloppt klein. Wenn man kein Path-MTU
Discovery betreibt, sollte man zumindest das anpassen...
Wir springen gleich zum Paket mit dem FIN Flag, der Server hat
alles gesendet, was er zu senden hatte und macht die Verbindung
passiv zu - was der Dispatcher nicht sehen kann!.
Packet Number 1112 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:21.256019563 ETH: [ 00:20:35:8d:57:5c -> 08:00:20:be:4c:6f ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 217.6.210.75 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=25049, ip_off=0 IP: ip_ttl=60, ip_sum=5d91, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44466 > TCP: th_seq=269a90be, th_ack=cf308402 TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16384, th_sum=f7de, th_urp=0
Der Client sendet ein ACK als Antwort, das dann wieder über den Dispatcher geht.
Packet Number 2618 ETH: ====( 60 bytes received on interface en0 )==== 10:32:21.258147920 ETH: [ 08:00:20:be:4c:6f -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2527, ip_off=0 IP: ip_ttl=55, ip_sum=ba8b, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308402, th_ack=269a90bf TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=f7de, th_urp=0
Der es auch ordentlich weiter gibt.
Packet Number 2619 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:21.258267736 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2527, ip_off=0 IP: ip_ttl=55, ip_sum=ba8b, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308402, th_ack=269a90bf TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=f7de, th_urp=0
Es kommt am Server an...
Packet Number 1115 ETH: ====( 60 bytes received on interface en0 )==== 10:32:21.258866901 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2527, ip_off=0 IP: ip_ttl=55, ip_sum=ba8b, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308402, th_ack=269a90bf TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=f7de, th_urp=0
Da es ein ACK ist, gibt es keine Antwort, klar. Dafür gibt es Neuigkeiten vom Client, er macht die Verbindung von seiner Seite auch zu, das Paket sieht zuerst der Dispatcher.
Packet Number 2624 ETH: ====( 60 bytes received on interface en0 )==== 10:32:21.258828074 ETH: [ 08:00:20:be:4c:6f -> 00:20:35:8d:97:a3 ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2530, ip_off=0 IP: ip_ttl=55, ip_sum=ba88, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308402, th_ack=269a90bf TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16384, th_sum=f7dd, th_urp=0
Der Dispatcher nimmt diese Paket zum Anlaß, die Verbindung aus der Connection Table zu löschen - wobei er ein Wenig wartet, weil er ja nicht weiß, wer die Verbindung schließt. Es kann ja sein, das der Client schließt, der Server aber noch lange sendet. Und dann müßen die ACKs ja noch weitergeleitet werden.
Packet Number 2625 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:21.258838103 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2530, ip_off=0 IP: ip_ttl=55, ip_sum=ba88, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308402, th_ack=269a90bf TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16384, th_sum=f7dd, th_urp=0
Der Server hat das FIN des Client jetzt auch, sodaß er den Status der TCP-Verbindung entsprechend ändern kann.
Packet Number 1118 ETH: ====( 60 bytes received on interface en0 )==== 10:32:21.259611077 ETH: [ 00:20:35:8d:97:a3 -> 00:20:35:8d:57:5c ] type 800 (IP) IP: < SRC = 217.6.210.75 > IP: < DST = 10.10.10.10 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=2530, ip_off=0 IP: ip_ttl=55, ip_sum=ba88, ip_p = 6 (TCP) TCP: < Source port=44466, destination port=80(www) > TCP: th_seq=cf308402, th_ack=269a90bf TCP: th_off=5, flags< FIN | ACK > TCP: th_win=16384, th_sum=f7dd, th_urp=0
Der Server antwortet mit einem ACK auf das FIN, die Verbindung ist ab.
Packet Number 1119 ETH: ====( 60 bytes transmitted on interface en0 )==== 10:32:21.259623757 ETH: [ 00:20:35:8d:57:5c -> 08:00:20:be:4c:6f ] type 800 (IP) IP: < SRC = 10.10.10.10 > IP: < DST = 217.6.210.75 > IP: ip_v=4, ip_hl=20, ip_tos=0, ip_len=40, ip_id=25052, ip_off=0 IP: ip_ttl=60, ip_sum=5d8e, ip_p = 6 (TCP) TCP: < Source port=80(www), destination port=44466 > TCP: th_seq=269a90bf, th_ack=cf308403 TCP: th_off=5, flags< ACK > TCP: th_win=16384, th_sum=f7dd, th_urp=0
Zusammenfassung:
Der Dispatcher sieht nur eine Hälfte der Verbindung. Er
setzt die MAC des Paketes auf die MAC des ausgewählten
Servers und gibt das Paket wieder aufs Netz. Hat er eine
Verbindung in seiner Connection-Table, so werden normal
Pakete weitergeleitet, ansonsten müßen die Pakete ein
SYN tragen. RST und FIN signalisieren den Abbau der
Verbindung, bei RST fliegt die Verbindung sofort aus der
Connection Table, bei FIN erst nach einem Timeout.
[ 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