ich bitte euch um eure unterst??tzung

  • Themenstarter Themenstarter Asmodeus
  • Beginndatum Beginndatum
A

Asmodeus

Guest
ich bitte euch um eure unterstützung

Ich Grüße euch. Diese unterlagen sind im Rahmen meiner letzten 65 Stunden entstanden, als ich mich mit diesen Thema TCP/IP auseinander gesetzt habe. Ich bitte euch die Arbeit aufmerksam durchzulesen und mir eventuelle Fehler umgehend zu melden, da ich sonnst Gefahr habe mir dies falsch einzustudieren.

Größte Probleme habe ich im Bereich der Header, weil ich nicht weis ob der TCP/IP Header ein einziger ist oder ob es 2 getrennte sind, nämlich der IP mit dem verkapselten TCP Header.

Auch ein Schwachpunkt ist das fragmentieren. Ich habe angenommen das es so funktioniert wie es in meinem Text steht. Nur da stellt sich mir persönlich die Frage woher eine IP Verbindung wissen kann wie die Paketgrenzen in jedem netz bis zum empfangenden Rechner sind.......

Die Felder die in der Header Erklärung mit ????? definiert sind kann ich nicht zuordnen und bitte um eine kurze Beschreibung was diese bewirken, oder gar dazupassende rfc`s bzw. Links.

Ich danke euch schon in vorhinein und hoffe das ich bald Ihre Antwort erhalte um wieder weiterarbeiten zu können, denn derzeit stecke ich wegen diesen Punkten fest.

IP [ Internet Protokoll ]

Das Internet Protokoll (IP) definiert Transport von Datagrammen und kann diese zu fremden Rechnern routen. Es ist auch in der Lage Pakete zu fragmentieren, falls dies von Nöten ist. IP ist ein Verbindungsloses Protokoll. Es besitzt außer einer Prüfsumme keinerlei Fehlerkorrekturen. Die Adressierung erfolgt mittels einer 32 Bit Internet-Adresse. Das Protokoll kennt 5 Verschiedne Adressklassen. Die Maximalgröße von Paketen ist 64 Kbyte.

Das IP Paket [ IP Header und IP Body ]

Das IP Paket besteht aus 2 Bestandteilen. Der IP Header (Datagramm) und der IP Body. Der IP Header enthällt alle Informationen um das Paket, das sich im IP Body befindet, zu transportieren.

-Versionsnummer derzeit 04 bald 06
IHL = Internet Header Length kann variieren
Type of service ?????
Gesamtlänge des Paketes ...kein Kommentar
Identifikation Zähler um die Teile einer Fragmentkette zu Identifizieren
Flags ?????
TTT = Time to Live ?????
Protokoll 6 = tcp; udp = 17; icmp = 1
Header Prüfsumme ...kein Kommentar
Ursprungs und Zieladresse jeweils 32 bit
Optionen für spezielle Kommentaar die ein z.B.: ein Sourcerouting ermöglichen Padding Füllbits

Adressierung
Beispiel einer IP Adresse 205.188.2.52
IP Adressiert in 32 bit Adressen die in je 4 Byte unterteilt ist. Diese sind im DDS (Doted Dezimal System) angegeben. Das sind wiederum 4 mal 3 Zahlen. Jede dieser Zahlen kann maximal den Wert 255 haben.

Adressklassen

Ist das erste Bit der Adresse 0, dann gehört die Adresse zu der Klasse A:
- Bit 0 bis 7 bestimmen das Netzwerk.
- Bit 8 bis 31 bestimmen den Rechner.
- insg. 126 Netze mit je 16777214 Rechnern möglich.
Sind die ersten beiden Bit der Adresse 10, dann gehört die Adresse zu der Klasse B:
- Bit 0 bis 15 bestimmen das Netzwerk.
- Bit 16 bis 31 bestimmen den Rechner.
- insg. 16382 Netze mit je 65534 Rechnern möglich.
Sind die ersten drei Bit der Adresse 110, dann gehört die Adresse zu der Klasse C:
- Bit 0 bis 23 bestimmen das Netzwerk.
- Bit 24 bis 31 bestimmen den Rechner.
- insg. 2097150 Netze mit je 254 Rechnern möglich.

Adressierungstypen [ Unicast, Multicast, Broadcast ]

Unicast Adresse

Eine Gewöhnliche IP Adresse ist eine Unicast Adresse. Es wird 1 Rechner angesprochen

Multicast Adresse

Über eine Multicast Adresse lassen sich mehrere Rechner ansprechen. Mit diesem Adressierungstyp kann man mehrer Rechner ansprechen, zB.: kann man mittels dieser Adressierung Pakete zu mehreren ausgewählten Rechnern schicken. Eignet sich für eine Memo oder Infonachricht.

Broadcast Adresse

Mit einer Broadcast Adresse lassen sich alle Rechner Innerhalb eines Netzwerkes ansprechen. Dies wird für wichtige Meldungen benutzt wie ?Alle Printserver gehen um 16:15 für 30 Minuten down?

Eine Broadcast Adresse kann auch für einen Rechner benutzt werden der keine eigene Adresse in einem Netzwerk hat bzw. bekommen kann.

Fragmentierung

Wenn ein Paket verschiedne Netze auf einem Weg zu einem anderen Rechner ist, und dabei verschiedene Netzwerke passiert, kann es passieren, das es einige Netzwerke gibt die nur eine bestimmte Paketgröße zulassen. In diesem Fall kann IP ein Paket fragmentieren. Die bedeutet, es wird kleiner gemacht, In diesem Vorgang werden die Header dupliziert und in das Feld Identification werden die Fragmentnummern eingetragen. Der empfangende Rechner ?baut? dann diese Fragmentketten wieder zu einem Paket zusammen


----------------- ENDE IP ? PROTOKOLL --------------------


TCP [ Transmission Control Protokoll ]

Das Transmission Control Protokoll TCP erstellt eine virtuelle full-duplex Verbindungen zu einem anderen Rechner. In dieser Verbindung erfolgen die Daten nicht mehr Blockweise sondern im Form eines Datenstromes. Die Adressierung erfolgt mittels einer 2 Byte (16 bit) langen Portadresse . Die Datenübehrtragung wird mittels, Sequenznummern, Prüfsumme, Quittung mit Zeitüberwachung und Segmentwiederholung gesichert.

Das TCP Paket [ TCP Header und TCP Body ]

Das IP Paket besteht aus 2 Bestandteilen. Der TCP Header (Datagramm) und der TCP Body. Der TCP Header enthält alle Informationen um das Paket, das sich im TCP Body befindet, zu transportieren. Der Header ist ähnlich mit dem des IP Protokolls. Ihm fehlen nur die Felder IP spezifische Felder und andere TCP spezifische Felder sind zusätzlich vorhanden.
Senderportnummer Startpunkt der virtuellen Verbindung
Empfängerportnummer Endpunkt der virtuellen Verbindung
Sequenz- und Quittungsnummer siehe nächste Kapitel
Flags siehe nächste Kapitel
Fenstergrösse. wird für die Sliding Window Funktion benutzt

Adressierung

Man kann die Adressierung mit einer normalen Wohnungsadressierung im realen leben vergleichen. Das TCP ? Protokoll benötigt die Portnummer und diese ist für jeden Dienst vorgegeben. Siehe div. Onlineportlisten.

Internet Socket entspricht der Adresse
Netzwerk-Nummer entspricht dem Ort
Host ? ID entspricht der Hausnummer
Portnummerentspricht der Wohnung



Das Verlässliche TCP




TCP garantiert Eigenschaften und ist darin absolut zuverlässig. Eher würde TCP die Verbindung trennen als gegen einer dieser Eigenschaften zu verstoßen.

Das Ziel erhält die Anwendungsdaten in der Reihenfolge, in der sie abgeschickt wurden.
Das Ziel erhält alle Anwendungsdaten
Das Ziel erhält keine Anwendungsdaten Doppelt

Das TCP ? Protokoll benötigt auf alle fälle die ersten 3 Datenpakete um genau zu sein die ersten 3 Datagramme um eine Verbindung aufbauen zu können.1
Geht ein Packet in im mittleren Teil der Sitzung verloren, sorgt TCP dafür das es erneut gesendet wird bevor es an die Anwendungsschicht weitergegeben wird. Gelingt dies nicht nach mehreren Versuchen seitens TCP bricht dieses auch die Verbindung ab. So ist garantiert das keine Lückenhafter Datenstrom an die Anwendungsschicht ausgehändigt wird. Natürlich sind die oben erwähnten Garantien ein Aufwand, da TCP mehr Zeit benötigt um die Verbindung aufzubauen1 und während der Verbindung auch permanent darauf achten muss das verlorene Pakete erneut gesendet werden, und dies darf wie oben erwähnt ja nicht doppelt der Fall sein.
Nun hätten wir die letzten beiden Garantien kurz angeschnitten und erläutert. Jetzt kommen wir zu der ersten Garantie nämlich Anwendungsdaten in der Reihenfolge wie sie angeschickt wurden. Da TCP selber nicht Daten schicken kann (weil das eine niedere Schicht macht) kann es auch nicht garantieren das eine andere Schicht diese in der vorgesehen TCP Reihenfolge versendet. Darum fügt TCP eine Sogenannte Sequenznummer in den Header ein. Mittels dieser Sequenznummern können die Pakete in der garantiert richtigen Reihenfolge versendet werden2.

TCP ? Flags

SYN synchronize; synchronisieren
ACK acknowlegment; Empfangsbestätigung
PSH push
RST reset
URG urgent ; dingend
FIN finish

Verbindungsaufbau [ mittels ACK und SIN Flag ]

TCP ?Drei Wege - Handshake?

Client zu Server ACK = 0, SYN = 1 1 Weg
Server zu Client ACK = 1, SYN = 1 2 Weg
Client zu Server ACK = 1, SYN = 0 3 Weg
Server zu Client ACK = 1, SYN = 0 und so geht?s weiter??
etc.........

Erst nach dem 3 Flagaustausch von Client & Server kann die TCP Verbindung stehen. Erst dann ist die Verbindung bidirektional (man muss keine neue ? Verbindung zum Server aufbauen um eine Anfrage zu stellen und umgekehrt, der Server keine zum Client) Kurz gesagt eine TCP ? Verbindung kann einfach verhindert werden indem man das erste Packet verwirft oder blockt. Ohne diesem kann keine Verbindung entstehen


TCP ? Sequenznummern

Am beginn jeder Verbindung wählt jede Seite eine Startnummer, diese Nummer wird übermittelt, wenn die SYN Flag gesetzt wird. Da es 2 Pakete gibt in denen die SYN Flag gesetzt ist1 geht diese Nummer an beide Seiten. Dies ist nötig weil beide (Server und Client) eine unterschiedliche Nummer übermitteln. Diese Nummern werden immer nach einem Zufallsystem generiert. Nach dem SYN Flag wird die Nummer immer um die Anzahl der Datenbytes im Paket erhöht. Ein kleines Beispiel zum Verständnis. Ist die erste Sequenznummer 55 und das erste Datenpaket enthält 10 Bytes, dann beträgt die Sequenznummer 65; enthält das nächste Datenpaket 35 Bytes, dann beträgt die Sequenznummer 65 + 35 also 100; usw...... .Aber der ACK ? Flag wird von der Nummer des nächsten erwarteten Datenstücks begleitetet. (Sequenznummer +1 das heißt in dem oberen Beispiel Fall kommen wir dann auf dieses Resultat :

55 + 10 = 65 +1 = 66
66 + 35 = 101 + 1 = 102

Durch dieses System ist es für einen ?Hacker? äußerst schwer solche Pakete abzufangen oder sie zu Manipulieren.


----------------- ENDE TCP ? PROTOKOLL --------------------


Ein grosses Dankeschön an alle die mir Tutorials und Rfc`s zur Verfügung gestellt haben. Wenn ich die Link Liste wiederfinde kommt Sie unter diese Rfc.
 
Ich hoffe folgender Text hilft ein wenig:
>>>
Das Internet Protocol (IP)

Das Internetprotokoll (IP) ist die Schlüsselkomponente der gesamten Internet-Protokollfarnilie. Aufbauend auf IP-Verbindungen nutzen die meisten Internet-Applikationen das Transmission-Control-Protocol (TCP), einige wenige das User-Datagram-Protocol (UDP). UDP ist einfacher aufgebaut als TCP, überträgt die Daten allerdings unzuverlässiger und ist auch aus sicherheitstechnischer Sicht als bedenklich einzustufen. Wird beispielsweise die ursprüngliche Paketreihenfolge während einer Übertragung verändert, so wird diese - im Gegensatz zu TCP - durch UDP nicht wieder hergestellt, da dieses Protokoll keinerlei Sequenznummern kennt. Weiter existiert in UDP kein Mechanismus zur Bestätigung von vollständig empfangenen Paketen oder zur wiederholten Übertragung von verlorengegangenen Daten. Diese Funktionen müssen bei UDP von der Applikation übernommen werden, bei TCP sind sie dagegen integraler Bestandteil des Protokolls. Die Netzwerktopologien, über die die Internet-Protokolle übertragen werden können, sind vielfältig und reichen von lokalen Netzen wie Ethernet, Token-Ring, FDDI oder ATM über Weitverkehrsnetze wie X.25 und Frame-Relay bis hin zu ISDN oder analogen Telefonleitungen (PPP oder SLIP).

Das Prinzip, mit dem das Internet-Protokoll Daten überträgt, wird als paketorientiert, verbindungslos und nicht garantiert bezeichnet. Paketorientiert bedeutet dabei, daß alle zu übertragenden Daten in Datenpakete zerlegt werden. Das Internet-Protokoll legt damit das Paketformat aller Übertragungen in Internet und Intranets fest. Die Pakete werden ferner verbindungslos übertragen, daß heißt, daß jedes Paket für sich betrachtet wird und die Übertragung unabhängig von vorhergehenden oder nachfolgenden Paketen erfolgt. Nicht garantiert bedeutet schließlich, daß kein Mechanismus im Internet-Protokoll vorgesehen ist, der für eine wiederholte Übertragung von verlorengegangenen Paketen sorgt.

Die maximale Länge von IP-Datenpaketen beträgt 64.535 Bytes. Je nachdem, über welche Netzwerkinfrastruktur ein IP-Datenpaket übertragen wird, kann allerdings die Notwendigkeit bestehen, dieses zu fragmentieren, also in mehrere
kleinere Datenpakete aufzuspalten. In lokalen Netzen vom Typ Ethernet beträgt die maximal zu übertragende Nutzlast pro Paket beispielsweise lediglich 1500 Bytes. Auch manche Gateways sind nicht in der Lage, Pakete mit der maximalen Länge von 64.535 Bytes zu übertragen. Die Spezifikation des Internet-Protokolls sieht vor, daß eine Intersegmentkomponente (Router) Pakete mit einer Mindestlänge von 566 Bytes verarbeiten können muß. Jedes Paketfragment hat selbst wieder das Format eines gewöhnlichen IP-Paketes. Die Belegung der drei Felder Identifikation, Flag und Fragment-Offset ermöglichen das Reassemblieren des ursprünglichen IP-Datenpaketes an der Zielstation. Die Fragmentierung kann durch das Setzen des ersten Flag-Bits auf den Wert Eins unterdrückt werden (Do-Not-Fragment-Bit). Kann ein Paket nicht übertragen werden, wird es verworfen.

Ein weiteres wichtiges Feld ist das Time To Live (TTL)-Byte. Dieses Feld beschränkt die maximale Zeitdauer, während der sich ein IP-Paket im Internet befinden darf. Während seiner Reise durch das Netzwerk wird der TTL-Zähler an jedem Vermittlungsknoten reduziert. Erreicht der Zähler den Wert Null, bevor das Paket sein Ziel erreicht hat, so wird es verworfen. Damit wird verhindert, daß sich durch fehlerhafte Routing-Einträge Endlosschleifen im Internet bilden, auf denen Pakete bis in alle Unendlichkeit kreisen. Auf das Prüfsummenfeld, welches zur Verifizierung der fehlerfreien Übertragung der Headerfelder dient, folgen schließlich die 32 Bit langen Internetadressen von Sender und Empfänger des Datenpaketes sowie die Nutzlast.

RFCs: 791, 950, 919, 922, 1883, 1884
<<<

hopefully helps
 
danke diese punkte haben mir sehr weitergeholfen

fragmentierung
ttl

Ich habe inzwischen auch schon wieder mher erfahren, schliesslich bleib ich ja ständig in Arbeit.....

Es wäre mir sehr geholfen, wenn irgendjemand eine Website kennt auf der gut übersetzte und schön formatierete rfc`s angeboten werden.
Die "Originalen" sind ja eine zumutung.
Nicht das man die noch ne halbe stunde formatieren darf bis es ein halbwechs schönes worddocument wird, zusätzlich muss mann sich dann auch noch mit aus buchstaben gebildeten skizzen herumquälen. und dann english noch dazu uhhhhh. aber das ist eigentlich egal ob englisch oder deutsch.
 
Zurück
Oben