Referat von Markus Hertel TCP/IP Referat von Markus Hertel
TCP/IP Inhalt Allgemeines Referenzmodell TCP – Header Verbindungsaufbau Verbindungsabbau Datenübertragung Ports
TCP/IP Allgemeines TCP/IP – Protokollfamilie umfasst etwa 500 Protokolle 1970 von der DARPA (Defense Advanced Research Projects Agency) entwickelt 1981 standardisiert – RFC 793 Regelt die Verbindung zwischen Computern in einem Netzwerk TCP ist Bestandteil aller modernen Betriebssysteme z.B.: (Windows – wsock32.dll Linux – Kernel) Verbindungsorientertes Protokoll -Verbindungsaufbau -Datenaustausch -Verbindungsabbau
TCP/IP Allgemeines Kommunikation über virtuellen Kanal (Socket) mit Hilfe von IP-Adressen und Portnummern Schutz vor Datenverlust bei der Übertragung
TCP/IP Referenzmodell
TCP/IP TCP-Header Source Port ( 2 Byte ) Destination Port ( 2 Byte ) Sequenznummer ( 4 Byte ) - Verbindungsaufbau - Nummerieren der Segmente Quittiernummer ( 4 Byte ) Headerlänge ( 4 Bit ) - Anzahl von 32-Bit-Blöcken Reserviert ( 6 Bit ) - immer Null
TCP/IP TCP-Header Steuerflags ( 6 Bit ) - URG (Dringlichkeit) sofortige Bearbeitung z.B. „Strg + C“ Telnet - ACK (Verbindungsaufbau & Empfangsbestätigung) - PSH (ohne Puffernutzung) - RST (Reset) - SYN (Verbindungsaufbau) - FIN (Verbindungsabbau) Window ( 2 Byte ) - Anzahl der zu empfangenen Bytes
TCP/IP TCP-Header Prüfsumme ( 2 Byte ) - generiert aus Header und Nutzdaten Urgent Pointer ( 2 Byte ) - zeigt auf die „Urgent“-Daten Zusatzinformationen - Vielfaches von 32 Bit - z.B. Länge der Nutzdaten
TCP/IP Verbindungsaufbau 3 Wege Handshake Sequenznummer (Client) Steuerflag SYN = 1 1 Sequenznummer (Server) Quittiernummer = (Sequenznummer Client + 1) Steuerflag SYN = 1 Steuerflag ACK = 1 2 Client Server Sequenznummer = (Sequenznummer Client +1) Quittiernummer = (Sequenznummer Server + 1) Steuerflag ACK = 1 3
TCP/IP Verbindungsaufbau 1 Anfrage Quellport: Hex. 8106 = Dez. 33030 Zielport: Hex. 0050 = Dez. 80 (http) Sequenznr.: Hex. 2686E27D Quittiernr: Hex. 00000000 Headergr.: Hex. A = Dez. 10 (10 x 32 Bit = 40 Byte) Res. + Flags: Hex. 002 = Bin. 000000 000010 Window: Hex. 16D0 Checksum: Hex. 4C91 UrgentPTR: Hex. 0000
TCP/IP Verbindungsaufbau 2 Antwort & Bestätigung Quellport: Hex. 0050 = Dez. 80 (http) Zielport: Hex. 8106 = Dez. 33030 Sequenznr.: Hex. 293BCEC4 Quittiernr: Hex. 2686E27E Headergr.: Hex. 6 = Dez. 6 (6 x 32 Bit = 24 Byte) Res. + Flags: Hex. 012 = Bin. 000000 010010 Window: Hex. 1FFE Checksum: Hex. 1FE8 UrgentPTR: Hex. 0000
TCP/IP Verbindungsaufbau 3 Bestätigung Quellport: Hex. 8106 = Dez. 33030 Zielport: Hex. 0050 = Dez. 80 (http) Sequenznr.: Hex. 2686E27E Quittiernr: Hex. 293BCEC5 Headergr.: Hex. 5 = Dez. 5 (5 x 32 Bit = 20 Byte) Res. + Flags: Hex. 010 = Bin. 000000 010000 Window: Hex. 16D0 Checksum: Hex. 40A3 UrgentPTR: Hex. 0000
TCP/IP Verbindungsabbau Ähnliches Prinzip wie beim Aufbau der Verbindung Nutzt statt SYN-Flag das FIN-Flag
TCP/IP Datenübertragung - Segmentierung Segmentierung der Daten TCP-Segmentgröße = 1500 Byte TCP-Nutzdaten: 1500 Byte – 20 Byte (TCP-Header) – 20 Byte (IP-Header) = 1460 Byte
TCP/IP Datenübertragung - Segmentierung
TCP/IP Datenübertragung Server: Sequenznummer: Eigene Sequenznummer Quittiernummer: Sequenznummer (Client) + Nutzdatengröße (bleibt konstant) Nutzdaten Client: (Bestätigung – nur Header) Sequenznummer: Sequenznummer + Nutzdatengröße Quittiernummer: Sequenznummer (Server) + Nutzdatengröße .
TCP/IP Ports Jedem Dienst ist ein Port zugeordnet (http – 80, ftp – 21, Telnet - 23, SSH – 22) Portreichweite 1 – 1023 fest zugeordnet 1024 – 49151 reservierte Portnummern 49152 – 65535 zur dynamischen und privaten Nutzung
TCP/IP Quellenangaben: http://de.wikipedia.org/wiki/Transmission_Control_Protocol http://tools.ietf.org/html/rfc793 http://www.elektronik-kompendium.de/sites/net/0812271.htm TCP/IP Grundlagen – Gerhard Lienemann Cisco Networking Academy Program – Ciscso Press