Grundlagen zur Netzwerktechnik:
Um Daten auszutauschen müssen, die beteiligten die selbe Sprache sprechen (ist bei den Menschen nicht anders).
Dafür wurden Sprachen entwickelt, die man in der Netzwerktechnik Protocol nennt. Protokoll deshalb, da es bei einem Protokoll kein abweichen gibt (keinen Dialekt, keine Doppeldeutigkeit). Das was gesendet wird, ist auch genauso gemeint.
Das unterste Protocol regelt die pysikalische Schicht.
In einem LAN ist das meistens Ethernet. Es gibt aber auch noch Tokenring und andere.
Diese Protokolle legen fest, was welche elektrischen Signale bedeuten und wann wer senden darf.
Um die Sender bereits auf dieser Ebene zu unterscheiden, gibt es bei Ethernet eindeutige Adressen, die sogenannte MAC-Adresse (Media Access Control).
Jede Ethernet-Hardware hat werkseitig eine weltweit einmalige Adresse eingeprägt bekommen.
Was die Sender senden (die Daten) ist dem Protocol völlig egal.
Es dient nur als Werkzeug. So wie für uns das Telefon. Dem is auch egal ob wir selber sprechen oder ein Fax gesendet wird, es stellt nur die Verbindung her.
Auf dieses Protocol wird das nächste aufgesetzt.
IP steht für 'Internet Ptotocol'
Aktuell verwendet wird seit den 70er-Jahren die Version 4 (IPv4). Dieses bietet über 4 Milliarden Adressen.
Nachdem ein Host mehrere Adressen haben kann und weltweit ständig neue Hosts hinzu kommen, spricht man seit Jahren von einer Adressenknappheit. Aber auch das wurde schon früh erkannt und entwickelte neue IP-Versionen. Seit 1994 ist IPv6 im Testbetrieb und hat sich bereits bewährt. Warum es noch nicht weltweit eingesetzt wird, liegt an der Hardware der Provider und den internationalen Knoten. Es müssen Millionen Geräte getauscht werden die alle Geld kosten.
Zusätzlich benützen die meisten Internet-User Microsoft Windows und dieses OS beherscht kein IPv6 was andere schon seit Jahren können.
Über IP hat jeder Host (Netzwerkteilnehmer) eine (oder mehrere) Adressen über die er direkt angesprochen werden kann (IP-Adresse).
IP arbeitet Paketorientiert. Man kann sich das vorstellen wie ein Paket was du mit der Post sendest. Auf dem Paket steht der Empfänger (Destination-IP) und der Absender (Source-IP). Im Paket befinden sich die Nutzdaten. Was die Nutzdaten bedeuten ist dem Protocol egal, genauso wie es der Post egal ist was drin ist. Es darf nur eine bestimmte Größe nicht überschreiten die über die MTU (Maximum Transmition Unit = maximale Sendegröße) geregelt ist.
Auf IP setzt das nächste Protocol auf. Die gebräuchlichsten sind TCP, UDP und ICMP.
TCP steht für 'Transfer Control Protocol'.
Dieses Protocol wurde entwickelt um Daten sicher zu übertragen. Sicher bedeutet hier nicht verschlüsselt, sondern es gewährleistet, daß die Daten auch tatsächlich ankommen und nicht verloren gehen.
Deshalb muss eine TCP-Verbindung erst aufgebaut werden, bevor Daten übertragen werden können.
Damit ein Host mehrere Verbindungen gleichzeitig halten und diese auch unterscheiden kann, bedient es sich sogenannten Ports.
Man kann sich das vorstellen wie eine alte Telefonzentrale wo die Dame der Vermittlung den Stöpsel in die richtige Dose steckt.
TCP hat dazu 65536 Ports, das entspricht einer Stöpselplatte mit 256x256 Anschlüssen. Damit man aber den richtigen Port erwischt, (den Teilnehmer den man sprechen will) gibt es fix zugewiesene Ports.
Die Ports 1-1023 nennt man privilegierte Ports auf denen verschiedene Service zur Verfügung gestellt werden.
Beispiele für TCP-Ports:
20 = FTP (File Transfer Protocol - Data)
21 = FTP (File Transfer Protocol - Command)
25 = SMTP (Simple Mail Transfer Protocol)
80 = HTTP (HyberText Transfer Protocol - Web)
110 = POP3 (Post Office Protocol v3)
143 = IMAP2/4 (Interim Mail Access Protocol v2 / v4)
Alle Ports höher als 1024 nennt man unprivilegiert.
Wenn ein Host eine Verbindung aufbauen will sendet er von einem unprivilegierten Port an das privilegierte Port das den Dienst zur Verfügung stellt den er nutzen will.
Wenn du zum Beispiel Mails von einem POP3-Server abrufst, baut dein Rechner eine Verbindung von einem Port >1024 zum Port 110 des Servers auf.
Hinter Port 110 lauscht ständig eine POP3-Software, die nur darauf wartet, daß irgendjemand seine Dienste in anspruch nimmt.
TCP-Vergleich mit einem Telefonat:
Nummer wählen --> Host1 an Host2 sendet 'SYN' (sync = synchronisieren)
Angerufener hebt ab und sagt 'HALLO' --> Host2 an Host1 sendet 'SYN ACK' (sync acknowledged = syncronisieren angenommen)
Anrufer meldet sich mit HALLO --> Host1 an Host2 sendet 'ACK' (acknowledged = bestätigt)
Danach steht die Verbindung und es können Daten ausgetauscht werden.
Der Empfänger bestätigt immer wieder den Erhalt der Daten mit der Prüfsumme, damit der Sender weis das die Daten tatsächlich angekommen und auch fehlerfrei sind.
UDP steht für 'User Datagram Protocol'.
Dieses Protocol wurde entwickelt um Daten schnell zu übertragen.
Es bietet keine Sicherheit wie TCP und verwendet auch keine Verbindung.
Dadurch fällt das 3-stufige Handshake weg und auch die ständigen Bestätigungen. Gesendet werden tatsächlich nur Nutzdaten.
Auch dieses Protocol nutzt wie schon TCP 65536 Ports von denen die ersten 1024 privilegiert sind.
Beispiele für UDP-Ports:
53 = DNS (Domain Name Service)
123 = NTP (Network Time Protocol)
Alle Ports höher als 1024 sind auch hier unprivilegiert.
Auch hier läuft die Datenübertragung von einen unprivilegierten Port an das privilegierte Port das den Dienst zur Verfügung stellt den er nutzen will.
Wenn du zum Beispiel in deinem Browser die Adresse '
www.rtcw-city.de' eingibst, kann der Rechner damit nichts anfangen. Namen sagen ihm überhaubt nichts, er braucht eine IP-Adresse. Dazu gibt es das DNS.
Der Rechner fragt den DNS-Server welche IP-Adresse dem Namen '
www.rtcw-city.de' zugewiesen ist. Diese Frage wird über UDP gesendet von einem unprivilegiertem Port an Das UDP-Port 53 des DNS-Servers.
Die Andwort erfolgt ebenfalls über UDP.
DNS ist hier aber eine Ausnahme. Kommt nach einer bestimmten Zeit keine Antwort (Timeout) wird die Frage wiederholt. Nach 3 erfolglosen Fragen über UDP, wird es über TCP versucht.
Hinter dem UDP-Port 53 (und in diesem Fall auch TCP-Port 53) lauscht ständig eine DNS-Software, die nur darauf wartet, daß irgendjemand eine Adresse zu einen Namen (oder umgekehrt) wissen will.
Nachdem UDP keine Verbindung aushandelt (verbindungsloses Protokoll) ist es mit einem Funkverkehr vergleichbar. Wenn ein CB-Funker einen Spruch absetzt, weis er nicht ob ihm jemand gehört hat und wenn ja, ob er ihm auch verstanden hat.
Host1 sendet an Host2 Daten. Ob Host2 die Daten fehlerfrei empfangen hat, oder ob er sie überhaupt bekommen hat, weis Host1 nicht.
Um den Empfang und die Richtigkeit der Daten zu bestätigen muss sich die Software kümmern die da sendet und empfängt. Dem UDP-Protokoll ist das egal.
ICMP steht für 'Internet Control Message Protocol'.
Dieses Protokoll wurde entwickelt um Netzwerke zu prüfen und damit Hardware Informationen austauschen kann.
Router in großen Knotenpunkten und den Providern senden sich gegenseitig neue Routingtabellen um immer die schnellste Verbindung zu finden. Oder sie melden Protokoll-Fehler, Fehler in der Überdragung, Überlastung, etc.
Um zu testen ob das Netzwerk funktioniert wird oft ein Ping gesendet.
ICMP nutzt Pakettypen um zu erkennen was jemand will.
Wenn du ein Ping sendest, wird ein ICMP-Paket mit dem Typ 8 (Echo Request = Meldung erwartet) an den Zielhost gesendet. Der Zielhost sendet darauf sofort ein ICMP-Typ 0 (Echo Reply = Meldung Retour) zurück.
Dies ist nur ein kleiner Überblick.
Mehr Information findest du bei
http://de.wikipedia.org/
Welche Dienste zu welchen privilegierten Ports bei TCP und UDP gehören, legt die IANA fest.
http://www.iana.org/
Firewall:
Die meisten Firewalls arbeiten Paketorientiert.
Sie lesen bei jedem Paket das rein kommt oder raus geht die Source-IP, Source-Port, Destination-IP und Destination-Port, bei ICMP den Typ, bei TCP überwachen sie das Handshake und die Verbindung.
Für jedes Paket sieht die Firewall in ihre Regeln. Findet die Firewall eine Regel die passt, entscheidet die Police was mit diesem Paket geschehen soll.
Gibt es für ein Paket keine Regel, wird die Grundregel (Default-Police) angewendet. Diese sollte immer auf Drop (fallen lassen) stehen.
Dadurch wird das Paket einfach gelöscht.
Um Web zuzulassen, sehen die Regeln wie folgt aus:
Sende-Regel:
Protocol: TCP
Source-IP: any
Source-Port: >1024
Destination-IP: any
Destination-Port: 80
State: New, Established, Related
Police: Allow
Empfangs-Regel:
Protocol: TCP
Source-IP: any
Source-Port: 80
Destination-IP: any
Destination-Port: >1024
State: Established, Related
Police: Allow
Bei der Sende-Regel ist unter Status auch 'New' aufgeführt, bei der Empfangs-Regel nicht.
Das bedeutet, daß dein Rechner neue TCP-Verbindungen zu anderen Hosts auf Port 80 aufbauen darf, niemals ein HTTP-Server zu dir.
Du forderst die Verbindung an, nicht umgekehrt!
Eine Desktop-Firewall hat hier noch einen Vorteil.
Nachdem sie auf dem selben Rechner läuft wie die Software die die Verbindung herstellt, sieht sie auch welches Programm die Verbindung wünscht. So kann sie den IE die Verbindung verweigern, dem Firefox aber erlauben. Der Nachteil ist, daß die Firewall die CPU und den Speicher belastet und dadurch die Performance etwas drückt.
Sniffer:
Ein Sniffer (Schnüffler) liest ebenfalls alle Pakete, allerdings blockiert er keine. Er liest nur mit was alles rein kommt und raus geht und zeigt es an.
Da es für gewöhnlich recht viele Pakete sind, kann man dem Sniffer gezieht sagen auf was er achten soll.
Bei RTCW und ET reicht es schon wenn man den Sniffer nur nach UDP schnüffeln lässt.
Findet er Pakete die raus gehen und ans Port 27960 des Zielhosts gerichtet sind, sendet dein ET auf alle Fälle.
Im Normalfall sollte er dann auch Pakete finden die vom UDP-Port 27960 des Zielhosts an dich gerichtet sind.
Nachdem du aber schon geschrieben hast, daß es nach einem Router-Reset für eine Zeit lang ging, vermute ich, daß der Router defekt ist, oder ihm läuft die NAT über.
Bezüglich Router und NAT habe ich bereits einige Posts verfasst und will das nicht nochmal durchkauen
Ich hoffe jetzt ist dir (und einigen anderen auch) etwas klarer wie das ganze funktioniert.
mfG WoodSTokk