Digitalelektronik
Kapitel 6
6.4: Geschichte des Internets
ARPA-Net
● ARPA=Advanced Research Project Agency
● Gegründet nach dem "Sputnik-Schock"
● Idee für ein Netzwerk ohne Zentrale
● Überlebensfähig nach nuklearem Schlag
Larry Roberts Bob Taylor "Das Team"
Anfänge
● Erstes "PING"
▪ 20. Okt. 1969 zwischen University of California Los Angeles (UCLA) und Stanford Research Institute (SRI)
● Bis Dez. 1969
▪ University of Utah
▪ Santa Barbara (UCSB)
Anfänge
● 1970:
▪ 11 RFC`s (Request for Comments) zum NCP (Network Control Protocol)
▪ Im Juni wird NCP als
Standartprotokoll für das ARPANET übernommen
● 1971
▪ 23 Knoten
▪ Protokolle für Telnet und FTP
▪ Entwicklung von E-Mail
user@host Ray Tomlinson
Exkurs: Das "@"
● Zuerst benutzt von Francesco Lapi aus Florenz (1536)
● Mögliche Bedeutung „amphora“ bzw. Ligatur
● Benutzt für Einzelpreise (5 Einheiten @ 5$)
● Daher Aussprache "at"
Internet
● 73/74: Implementierung von TCP/IP
▪ TCP=Transmission Control Protocol
▪ IP=Internet Protocol
● 1974:
▪ RFC 675 (”Specification of Internet”)
▪ Erstmals Internet im Titel
▪ Erster RFC zum TCP
● 1977
▪ 111 Knoten
Das ARPANET 1975
Internet
● 1982:
▪ EUnet (European Unix Network)
● 1983
▪ TCP/IP wird Standardprotokoll im Internet.
▪ Internet wird zivil
● 1984:
▪ JUNET (Japan Unix Network)
▪ 1000ster Host
▪ Implementation von DNS (Domain Name Service)
Das WWW
● 1991
▪ CERN entwickelt WWW
• (Nur ein Protokoll auf dem Internet, daher Internet≠Web)
● 1993: NCSA Mosaik von Marc Andreesen
▪ Gründet später Netscape
● 1995: Java
● 2000: 10 Mio. Domainnamen
● 2008: 160 Mio.
● 2012: 240 Mio.
● 2018: 332 Mio.
Tim Berners-Lee
Marc Andreessen
Schichtenmodell: Idee
Applikation: Vorlesung halten
Transport: Verwende Sprache
Zustellung über Audio
Netzwerk: Direkte Schallübertragung über Luft
Layer (vereinfacht)
● Darstellung der Protokolle in 4 Schichten
● Lokale Netzwerke:
Hardware ist meist Ethernet
Digitalelektronik
Kapitel 6 6.5: Ethernet
Historische Entwicklung
● Entwickelt am PARC von Robert Metcalfe
● Heute IEEE-Standard
● Zunächst 1MBit
● Ursprünglich zwei Medien:
▪ Thick Coax (10Base-5), RG8
▪ Thin Coax (10Base-2), RG58U, auch: Cheapernet
Prinzip
● Alle Stationen greifen auf das gleiche Medium ("Ether") zu
● Jede Station
(NIC=network interface controller) darf senden
● Es gibt kein Arbiter
● Problem: Stationen können gleichzeitg senden
CSMA/CD
● Grundlage von Ethernet
● Multiple Access (mehrere Stationen)
● Carrier Sense (CS): Station muss prüfen, ob Leitung belegt, wenn nicht wartet sie 9,6µs
● Collision detect (CD): Wenn Störung beobachtet, wird Übertragung abgebrochen
▪ Station wartet 9,6µs plus einer zufällig bestimmten Zeit
▪ Und unternimmt weiteren Versuch
Timing
● Problem: Sendende Station muss Collision während des Sendens erkennen
● Endliche Laufzeit auf Medium
● Doppelte Laufzeit (Round Trip Delay, RTD) zwischen zwei Stationen muss also kürzer sein als Übertragungsdauer von kleinstem Paket
● Minimale Paketlänge 64Byte, bei 10MBit muss RTD<51,2µs sein
▪ Begrenzung der Kabellänge
Ethernet-Frame
● Ein Frame: Mindestens 64Byte (durch Pad sichergestellt)
● Präambel: Alternierend 1,0; dient der Taktsynchronisation
● Rahmenbegrenzer: 10101011
● Länge: max 1500, ab 0x0600 definiert als
„Ethertype“
IP und Ethernet
● IP-header hat eigene Länge
▪ Gleiches gilt für andere Protokolle
● Ethernet-Länge (16Bit) eigentlich nicht benötigt
▪ Und: Ethernet-Frame max. 1500Byte lang
● Ethernet-Länge größer 0x0600 wird als Ethertype bezeichnet
● Bsp: Ethertype=0x800 ist IP-Protokoll
Adressen
● MAC-Adressen (Media Access Controller)
● In Hardware eingebrannt: Jede Netzwerkkarte hat eine im Universum einzigartige MAC- Adresse
22 Bits für Hersteller (OUI) 24 Bits vom Hersteller vergeben IEEE 802 spezifizierte MAC-Adressen:
OUI: Organizationally Unique Identifier
http://www.iana.org/assignment s/ethernet-numbers 1 für Broadcast, 0 sonst
0 global nach IEEE, 1 private Adresse
10Base5/2
● Terminierung am Ende:
Reflexionen können als Collision erkannt werden
Vampire tap
Attachment Unit interface
10Base2: Dünnes Kabel, keine Attachments
185m 10Base-T
● Nachteile: Coaxkabel muss aufgeschnitten werden (Oder: Telefondosenartige Stecker)
● 1990: 10Base-T-Standard
● Twisted Pair: 4 Leitungen, nur 2 benutzt (gleiche Kabel für ISDN)
Switch/Hub
● Repeater: Verbindet 2 Segmente
● Hub: Ist Repeater mit mehr als 2 Ports
● Leitet Signale an alle Stationen weiter
● Switch: Erkennt die Adressen und leitet Signale nur an wirklichen Empfänger weiter
● Gleichzeitiges Arbeiten auf mehreren Kanälen
100-Base-Tx
● 10-Base-T überträgt in Realität 20MHz (wegen FM-Kodierung, zur
Taktrückgewinnung)
● 100MBit braucht neues Konzept
● 4B5B-Kodierung: Macht 125MBit
● Zusätzlich: 3 Signalpegel (MLT-3- Kodierung), effektiv verlängerte Zykluszeit
● 31,25 MHz (cat-5 Kabel)
● Grundsätzlich Punkt-zu-Punkt
1000Base-Tx (Gigabit-Ethernet)
● Benutzung aller 4 Leiterpaare
● PAM5: Pulsamplitudenmodulation 5 Pegel auf 4 Paaren (54=625, abügl. Fehlerkorrektur)
▪ 8 Bits für 4 Adernpaare bei 125MHz
● Full-Duplex (wie bei 100Base-T2)
Digitalelektronik
Kapitel 6
6.6: IP (Internet Protocol)
Schicht 1: Network layer
● Im OSI-Modell
▪ Data link layer
• Aufteilung der Daten in Frames
• Fehlererkennung und –korrektur
▪ Physical layer
• Übertragungsgeschwindigkeit
• Anzahl der Pins
Schicht 2: Internet layer
● Verbindung zwischen Knoten in einem Netzwerk
● Routing der Pakete
● Finden des Weges (Wo muss ein Paket hin?)
● Adressierung des Ziels
● Rückmeldung, falls Ziel unerreichbar
Schicht 3: Transport layer
● Steuerung des Transports zwischen 2 Partnern
● TCP (Transmission Control Protocol)
▪ Sichere Verbindung, stellt fehlerfreie Übermittlung sicher
● UPD (User Datagram Protocol)
▪ Schnell, aber Daten können verloren gehen
Schicht 4: Application layer
● Zunächst telnet, ftp, smtp, später dns, http…
● Im OSI-Referenzmodell (Open Systems Interconnect) liegen noch darunter
▪ Presentation layer: z.B. Kodierung für Zeichen
▪ Session layer: Aufbau und Abbruch von Verbindungen
Internet Protocol (IP)
● Spezifiziert im RFC 791
● Adressierung von Hosts
● Aufteilung in Pakete (Fragmentierung)
● Routing: Pakete müssen Weg finden
● Keine gesicherte Verbindung (wie Brief ohne Einschreiben)
● Entwickelt für paketvermittelndes Netz (z.B.
Ethernet)
IP-Datengramm
IP-Datagramm header
● Version:
z.Zt v4
● Length:
Länge des headers in 32Bit
● Type of Service: precedence=Priorität D=Delay
T=Throughput
R=Reliability (was ist dem Absender wichtig)
● Total Length=Header+Daten in Byte
IP-Datagramm header
● Identification:
Bezeichnung für das Fragment
▪ Damit Fragmente an der Quelle wieder zusammengesetzt werden können
● Flags
▪ DF=Don't fragment (auch wenn es nicht weitergeht)
▪ MF=more fragments, Fragmente folgen
▪ 3. Bit ungenutzt
● Fragment Offset: Lage dieses Fragmentes (max.
8192) in 8 Byte
IP-Datagramm header
● Time-to-Life:
Beim Start max. 255
▪ Wird bei jedem Knoten um mind. 1 verringert
▪ Stärkere Verringerung bei längerer Lagerung
▪ Verhindert umherirren von Paketen
● Protocol: siehe /etc/protocols
ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol tcp 6 TCP # transmission control protocol udp 17 UDP # user datagram protocol
● Header checksum: Effiziente Prüfsumme des headers
IP-Datagramm header
● Adressen: 32-Bit-Werte (Später mehr!)
● Options:
Variables Optionsfeld
▪ End-Of-Option-List
▪ No-Option (zum Auffüllen)
▪ Security
▪ Strict-Routing:
• Liste, welche Knoten durchlaufen werden müssen
▪ Record-Route: Jeder Knoten hängt eigene Adresse an
▪ Time Stamp: Uhrzeit jedes Knotens
IP-Adressen
● Jede Verbindung eines Knotens hat eindeutige IP-Adresse (32 Bit)
● Ein Knoten kann mehr als eine Verbindung haben bei z.B.:
▪ Verbindung mit mehr als einem Netz (Router, Firewall)
▪ Virtuellen Umgebungen (z.B. vmware)
● Darstellung meist in 4 Zahlen:
● 0.0.0.0 bis 255.255.255.255
● Vergabe durch die Internet Assigned Numbers Authority (IANA)
IPv6
● IPv4: ca. 4 Milliarden Adressen
● IPv6: 340 Sextillionen Adressen
▪ 667 Billiarden Adressen / mm² Erdoberfläche
Internet Control Message Protocol (ICMP)
● Ist fester Bestandteil von IP (RFC 792)
● ICMP-Nachricht wird in IP-Paket gepackt
▪ Protocol=1
● Bsp: Echo Request, Reply ("ping")
● Time Exceeded
● Destination Unreachable
IP-Paket verursacht Problem
Internet Control Message Protocol
(ICMP)
ARP (Adress Resolution Protocol)
● Quellhost kennt IP-Nummer, möchte Ziel-MAC- Adresse herausfinden
● Versendung eines ARP-Paketes
▪ Ethertype=0x806, anschließendes Datagram flexibel
● Bsp: MAC-Adressen und IPv4 Adressen:
0 8 16 24 31
Hardwareadresstyp (1) Protokolladresstyp (0x800) Hardware
adressgröße (6) Protokoll
adressgröße (4) Operation
Quell-MAC-Adresse
Quell-MAC-Adresse Quell-IP-Adresse
Quell-IP-Adresse Ziel-MAC-Adresse
Ziel-MAC-Adresse Ziel-IP-Adresse
1=Anfrage 2=Antwort
Bei Anfrage undefiniert
Subnetzmaske
● ARP funktioniert in einem lokalen Ethernet
● Muss Unterscheidung haben, ob Paket im Subnetz bleibt
● Netzmaske
● Z.B. für Klasse B 255.255.0.0
● Auch Unterteilung in weitere Subnetze möglich
▪ Z.B. 255.255.255.0
● Oder
▪ 255.255.255.128
● Gateway benötigt
Digitalelektronik
Kapitel 6
6.7: TCP und UDP
Einordnung von TCP
● TCP (Transmission Control Protocol)
● UDP (User Datagram Protocol) Welche Anwendung soll angesprochen werden?
Idee der Ports
● IP (Internet) sind die Straßen
● Zugriff auf Applikationen (http, mail, ssh) sind verschiedene Transportgüter
● Unterscheidung durch Ports
● Durch Portnummer weiss TCP, welcher Applikation die Daten zugeleitet werden sollen
● Bsp: http hat Port 80
● Zusätzlich: Quellport
▪ Falls mehrere Personen von einem Host auf Webseite zugreifen
TCP-Header
TCP-Header
● Source/Destination-Port:
16-Bit-Zahl
▪ TELNET: Port 23
▪ FTP: Port 20 (Datenkanal) & Port 21 (Steuerkanal)
▪ TELNET + FTP (unverschlüsselt)
▪ SMTP (Simple Transfer Mail Protocol): Port 25
FTP-Server Benutzer A Benutzer B
TCP IP
TCP TCP
IP IP
Port 21 Port 50000 Port 52000
Port-Bereiche
0 - 1023
Well-known ports (von der IANA verwaltet). Der Bereich der well-known ports ist bis 1023 erweitert worden, damit sind auch die UNIX-spezifischen Dienste als Standarddienste festgelegt.
1024 - 49151
Registered ports. Registrierte Ports dienen für Dienste, die üblicher Weise auf bestimmten Ports laufen. Ein Beispiel ist hier der Port 8080, der als "zweiter" bzw. alternativer Port für das http dient.
49152 - 65535
Dynamic and/or private ports. Dieser Bereich ist für die sogenannten dynamischen Ports festgelegt. Dynamische Ports dienen zur Kommunikation zwischen den beiden TCP- Schichten, die an einer Kommunikation beteiligt sind. Ein dynamischer Port wird nicht von bestimmten Standarddiensten belegt.
TCP-Header
● Eindeutige Nummer innerhalb der Lebensdauer einer Verbindung
● Jede SEQ-Nr vom Sender wird quittiert
▪ Wenn nicht: Nochmal senden
TCP-Header
● Offset: Länge des TCP-Headers
● Flags:
▪ URG: Existenz eines Urgent-Bytes
▪ ACK: Ack-Nr ist gültig
▪ PSH: Daten nicht puffern
▪ RST: Verbindung resetten
▪ SYN: Verbindung aufbauen
▪ FIN: Verbindung beenden
TCP-Header
Rechner 1 Rechner 2
TCP-Header
● Window:
Anzahl der Bytes, die ohne Quittung gesendet werden dürfen
● Checksum
● Urgent Pointer: Zeiger auf dringende Daten
▪ Z.B. Eingabe von CTRL+C
● Options: z.B.maximale Segmentgröße
UDP-Header
● Auch Ports
● Aber andere wie bei TCP (Doppelbelegung möglich)
● Keine Ende-zu-Ende-Verbindung
● Höhere Geschwindigkeit als bei TCP
● Prüfung bleibt Applikation vorbehalten (z.B. NFS, Network File System)
Digitalelektronik
Kapitel 6
6.8: Drahtlose Übertragung
Vision aus dem Jahr 1930
Modulation eines Trägersignals
● Allgemein:
▪ Trägerfrequenz
▪ + Amplituden, Phasen, Frequenzmodulation
Grund- und Oberschwingungen
Je kürzer T, desto breiter ist Frequenz-Spektrum
Amplituden-Modulation (AM)
● Addiere Signal und Träger
▪ Verzerrung
▪ Glättung und Filter
● Ergebnis wie Schwebung
▪ Seitenfrequenzen +/- Signalfrequenz
• Sog. „Bänder“
▪ Plus Trägersignal
Basisband… …nach Modulation
Rechteck im Basisband
● z.B. Morsecode
● Ideales Rechteck im Basisband
● Benötigt
Oberschwingungen in Fourierspektrum
● Nach Modulation sehr breites Basisband
Amplitude Shift Keying (ASK)
Frequenzmodulation (FM)
● Frequenzänderung +/- Trägerfrequenz
● Störungen in Amplitude können abgeschnitten werden
▪ Störresistenter als AM
● Bsp: UKW
● Stereo:
▪ „Mono“ L+R Signal bei +19kHz
▪ L-R bei +38kHz
● RDS bei +57kHz
● Macht ca. +/- 75kHz (150kHz Bänder)
Übersicht
● ASK
(amplitude shift keying)
● FSK
(frequency shift keying)
● PSK
QAM
● Quadratur-Amplituden- Modulation
● z.B. 4 oder 16 Symbole
● Bsp: 56k Modem (Modulator- Demodulator)
Phase shift keying (PSK)
● Binäre 0:
S0(t) = A cos (wt)
● Binäre 1:
S1(t) = A cos (wt + p)
● Quadrature PSK:
● Aufteilung des Bitstromes in Even (I) and Odd (Q)-Bits
● S(t) = cos(wt + dI*p) + sin(wt + dQ*p)
● auch: 4PSK
QPSK
● Phasenänderung
● Wenn nur dIoder dQsich ändert: 90° Phasensprung
● Wenn beide sich ändern: 180° Phasensprung
▪ Führt zu Signallöchern nach Filtern der Seitenbänder
Offset QPSK
● Verzögere Q-Kanal um eine Periode T
● Phasensprung um 180°
kann nicht auftreten
Minimum Shift Keying (MSK)
● Ersetze Rechteck durch Sinussignal:
Gauss-MSK (GMSK)
● Ersetzung durch Gauss- Formen
● Fouriertransformierte von Gauss-Fkt ist wieder Gauss-Fkt
▪ Kleine benötigte Bandbreite, keine Seitenbänder
▪ GSM(D- und E-Netz)
Geschichte D-Netz (GSM900)
● Frequenz: 900MHz
● Seit 1992
● Zwei Lizenzen:
▪ D1 (Deutsche Telekom, heute T-Mobil)
▪ D2 (Mannesmann, heute Vodafone)
● Geplante Kapazität: 4Mio pro Netz (heute über 20Mio)
● Erweiterung durch Verdichtung der Funkzellen
● Und durch Frequenzen im GSM1800-Bereich
▪ Erster Betreiber: E-Plus ab 1994
▪ Ab 1998 E2 (Viag Interkom, später o2, heute Telefónica)
Beginn der zweiten Generation (2G)
Frequenzen
Wie teilen sich mehrere Handy solche Bänder?
Erfindung von FHMA
● Hedwig Eva Maria Kiesler (Hedy Lamarr), 1913-2000
▪ 1933 Heirat mit dem
Waffenproduzenten Fritz Mandl
• Später nach London, bzw.
Hollywood geflüchtet
● George Antheil 1900 – 1959
▪ US-amerikanischer Komponist und Pianist
Any girl can be glamorous. All you have to do is stand still and look stupid
FHMA
● Problem der Torpedokontrolle per Radiowellen
▪ Leicht zu stören
▪ Abzuhören (Gegner ist gewarnt)
● Idee: Frequenz schnell wechseln
▪ Damals jedoch noch nicht realisierbar
● Wenn Frequenzwechseln schnell genug
▪ Frequenzspreizung (Spread Spectrum), hier: Frequency Hopping SS
▪ Idealerweise geht Signal im Rauschen unter
▪ Echte SpSp: Sprungfrequenz < Symbollänge (auch Fast FHSS)
● "Unechte" SpSp: GSM, Bluetooth (jedoch auch FHSS genannt, FHMA wäre eher angebracht)
Patent No: 2,292,387
"Secret Communication System", August 11, 1942
Multiple Access
● Mehrere Benutzer greifen gleichzeitig auf eine Basisstation zu:
● Wie wird die aufgeteilt?
▪ Aufteilung in
Frequenzbänder: FDMA (Frequency Division Multiple Access, Frequenzmultiplex)
▪ Aufteilung in Zeitschlitze:
TDMA (Time Division Multiple Access, Zeitmultiplex)
Multiple Access und GSM
● TDMA und FDMA: reservieren in jedem Fall Bandbreite unabhängig von Übertragungen
● Fehleranfällig:
▪ Störungen auf bestimmter Frequenz (FDMA) oder bestimmtem Zeitpunkt (TDMA) stört Übertragung massiv.
● GSM: Kombination von TDMA und FDMA
● GMSK-Modulation: Einzelne Bänder: Störungen?
● Kleine Datenpakete und Streuung der Inhalts-Pakete über physikalische Pakete
● Frequenz-Hopping
● Verschachtelung der Informationen über die Frequenzen, Zeitschlitze und Datenpakete hinweg
CDMA (Code Division Multiple Access)
● FDMA/TDMA (wie bei GSM) sehr aufwändig
▪ Frequency Hopping
▪ Komplexe Algorithmen verschachteln Daten über Zeit
& Frequenzen
● Besser: CDMA
CDMA
● Unterscheidung der Signale durch eindeutigen Code jeder MS
● Alle Codes sind orthogonal
● Bsp.: Einheitsvektoren
● Vorteil: Rauschen ändert nur leicht die Richtung des Vektors, bestimmung immer noch möglich
● Weitere Teilnehmer innerhalb einer Zelle immer möglich, aber Fehlerrate nimmt zu
● Nachteil: Steuerung der Abstrahlleistung je nach Entfernung ein Muss
Theoretische Vorgedanken
● Shannon-Hartley-Theorem zur Kanalkapazität:
● C = B·Log2(1 + S/N)
▪ C: Kanalkapazität in Bps, B: Kanalbandbreite in Hz, S/N: Signal- to-Noise-Ratio
● Durch Umstellen:
● C/B = 1.443·Ln(1+S/N)
● Mit Ln(1+x)=x-x²/2+x³/3….
● S/N = C/B
● D.h. wenn S/N kleiner wird, dann muss bei gleicher gewünschten Rate die Bandbreite grösser werden
● Umgekehrt: Ist die Bandbreite extrem gross, wird ein kleineres Signal benötigt
DSSS (Direct Sequence Spread Spectrum)
● Faltung (XOR) des Datenstromes mit Chip- Sequenz, die eine kürzere Taktzeit hat
● Ergebnis: Gesamtsignal hat kürzere Taktzeit
● Lange Codes erlauben Verschlüsselung
● Kürzere Zykluszeit:
breiteres Spektrum
Vorteile von DSSS
● Vorteil 1:
▪ Chipsequenz ist eine Art Schlüssel: Nur Systeme mit gleichem Schlüssel verstehen sich.
▪ Signal wird unter die Rauschgrenze gebracht:
Systeme mit unterschiedlichem Schlüssel stören sich nicht
● Vorteil 2: Schmalbandige Störungen beeinflussen die Übertragung nicht
Beispiele für DSSS
● GPS
● UMTS (=3G)
● W-Lan
● Funkfernsteuerungen im 2.4 GHz-Bereich (sog.
„Industrie, Science + Medical“ ISM-Band)
LTE (Long-Term-Evolution), 4G
● „DSL“-Ersatz
● 70-150 MBit Download in einer Funkzelle (LTE-Advanced: bis 300 MBit)
● Mehrere Bänder (teilweise aus digitaler Dividende)
● Orthogonales Frequenzmultiplexverfahren: