Dirk Lubahn Freiberufler Knowledge-Base Privat Links
Knowledge-Base / Netzwerke
Info
Betriebssysteme
Sprachen
Techniken
Datenbanken
Netzwerke
Tools

Netzwerke

Allgemeine Infos
FTP
Http
Portnummern


Allgemeine Infos

MAC Adresse

ist die Adresse der Netzwerkkarte oder Wirelesskarte, weltweit einmalig z.B.: 00-A0-1F-32-3A-11.

StandardGatway

ist das Gateway über das, der Zugang ins Internet erfolgt (des Providers).

IP (Internet Protocol)

Ist das Basisprotokoll aller Internetprotokolle und -Dienste. IP ist ein paketvermittelndes Protokoll. Nachrichten werden in kleine Pakete unterteilt, adressiert und versandt.
Derzeit gibt es zwei Versionen, IP Version 4 (IPV4) und IP Version 6 (IPV6). IPV4 wurde erstmals eingesetzt am 1 Januar 1983 und ist noch immer die vorrangige Version. Der Einsatz von IPv6 begann 1999.

IP Adresse

Ist die Adresse für das IP Netzwerk. Alle Rechner in einem Netzwerk, von Internet bis lokales Netzwerk, werden durch diese Adresse eindeutig bezeichnet. Solange das Netzwerk lokal ist, können die IP Adressen frei vergeben werden. Bei einer Verbindung über das Internet besteht eine eindeutige Zuordnung der Adresse von Gateway (Proxy, Provider,...) zu Gateway, der weitere Adressteil wird vom Gateway, z.B. über den Port gemappt. Bei Punkt zu Punkt Verbindungen werden weitergehende Protokolle eingesetzt (VPN).
IPV4 Adressen sind 32-Bit Zahlen (Darstellung: 192.0.32.67).
IPV6 Adressen sind 128-Bit Zahlen (hex. Darstellung: 1080:0:0:0:8:800:200C:417A).

TCP (Transmission Control Protocol)

Baut auf IP auf und übernimmt die eigentliche Verbindungsarbeit, z.B.: Paketreihenfolge sicherstellen, verlorene Pakete erneut senden, ...
Technisch gesehen könnte TCP auch auf andere Protokolle aufbauen, in der Praxis wird es aber fast ausschließlich mit IP verwendet, weshalb man im Internet nur von TCP/IP spricht. Da auf einer Verbindung unterschiedliche Dienste aufsetzen (Email, Webverbindung, ...) gibt es unter TCP das Konzept der Ports. Ports sind wie Nebenstellen beim Telefon, allerdings nicht physisch. Somit sind Ports eine Adresserweiterung. An beiden Seiten einer TCP-Verbindung hört ein Listener eine Socket auf einem bestimmten Port ab. Eine Verbindung kann nur erfolgen, wenn auf beiden Seiten ein Listenerprozess läuft. Das Betriebssystem stellt sicher, dass nur ein Listenerprozess pro Port auf einem Server laufen kann.

Subnetmask

bestimmt wo eine Adresse(z.B. http://192.168.1.1) gesucht gesucht wird. Alle Adressen im Netz werden über die Subnetmaske entweder nach draußen Gateway geschickt oder im Netz gehalten, durch ein logisches und. Dabei bedeutet 255.255.255.0 bei einer Routeradresse von 192.168.1.1, daß alle Adresse, die mit 192.168.1 beginnen im Netzwerk gehalten werden, alle anderen gehen an das Gateway. Beispiel:

Subnet Maske: 255. 255. 255.248 .11111000
Router IP: 111.6.61.124 .01111100
Durch Und-Transformation: 111.6.61.120 .01111000

Alle Adressen die mit dieser Subnetmaske verknüpft: 111.6.61.120 ergeben, sind lokale Adressen des Netz. z.B.:

Subnet Maske: 255. 255. 255.248 .11111000
Client IP: 111.6.61.125 .01111101
Durch Und-Transformation: 111.6.61.120 .01111000

Dieser Client ist also intern.

DNS Server

ist der Server über den die Auflösung von physikalischer Adresse zum Domain Namen erfolgt.
Für z.B.: "www.heise.de" ist die IP-Adresse: "193.99.144.71".

Verbindung von Rechnern und Netzen

Rechner können sternförmig durch HUB’s verbunden werden, dabei können genauso Verbindungen zu anderen Netzen erstellt werden. Die HUB’s dienen dabei nur zur Verbindung und Signalverstärkung. Wenn also in einem Verbund Rechner aus einem lokalen Netz A mit einem lokalen Netz B durch einen HUB verbunden sind, der gleichzeitig noch die Verbindung mit dem Internet realisiert, so sind alle 3 Netze gleichberechtigt. Nachrichten die von einem Rechner an einen Server im Internet gehen, können erst durch alle Rechner des Netzes kreisen, bis Sie Ihren Weg ins Internet finden. Die Gefahr dabei ist, dass Informationen an falsche Rechner gelangen oder noch schlimmer, an eine Firewall geraten, die möglicherweise die Pakete vernichtet. Das setzt aber ein schlecht konfiguriertes Netz voraus. Die HUB’s machen keinen Unterschied zwischen lokalen IP-Adressen und den Internetadressen fremder Netzwerke.

Switch

Eine Stufe höher im Protokoll liegen die Switches. Ein Switch ist in der Lage die Adressbereiche der einzelnen Netze zu trennen. Ein Switch kann also konfiguriert werden durch ein entsprechendes Programm (wird in der Regel über einen Browser angesprochen). Dadurch ist dem Switch bekannt welche Adressen für Netz A und B zur Verfügung stehen, somit geht eine Nachricht vom Netz A, die an das Internet adressiert ist, nicht in das Netz B, weil Sie nicht dessen Adressbereich entspricht. Switches sind zum Teil selbstlernend. Dadurch ist bei nicht Bekanntgabe der Adressbereiche (fehlende oder falsche Konfiguration) trotzdem eine richtige Lösung (ohne Kreisen) möglich.

Router

Router Verbinden in der Regel zwei Netze und sind in der Lage, die Pakete von einem WAN Netz in ein lokales Netz zu leiten, durch eine entsprechende Umsetzung der IP-Adressen. Dabei kann aus dem WAN auf die eine Adresse des Routers zugegriffen werden und der Router kann über die Portnummern auf die einzelnen Rechner des Netzes verteilen. Dieses Mapping wird auch über ein entsprechendes Konfigurationsprogramm des Routers eingestellt. Zusätzlich realisieren Router in der Regel eine Firewall.

Firewall

Die Firewall kann den Zugriff von außen limitieren: es werden nur Pakete von bestimmten IP- oder MAC-Adressen durchgelassen, es werden Pakete von bestimmten IP- oder MAC-Adressen vernichtet (nicht durchgelassen), es werden nur bestimmte Ports freigegeben (Pakete an andere Ports werden gelöscht), es werden Pakete mit bestimmten Inhalten (Schlagwörter: Sex, ...) vernichtet, es werden bestimmte Dienste geblockt (Ping, ...), es werden bestimmte Formen der Attacken, erkannt und vernichtet.


FTP (File Transfer Protocol)

FTP Kommandos

Im folgenden wird der remote Rechner, der an einer FTP Sitzung teilnimmt, mit Server bezeichnet.

? Hilfe zu den FTP Kommandos
help Hilfe zu den FTP Kommandos
 
ascii setzt den Übertragungsmodus auf ASCII = Default (Übertragung von 7 Bits pro Zeichen), nur zur Übertragung von Textdateien
binary setzt den Übertragungsmodus auf Binary (Übertragung von allen 8 Bits pro Byte)
 
open öffnet eine Verbindung mit einem anderen Rechner (Server), wenn nötig wird Username und Passwort abgefragt
bye beendet die FTP Umgebung
quit beendet die FTP Umgebung
close beendet die Sitzung mit dem Server, aber nicht die FTP Umgebung
 
cd wechselt das aktuelle Verzeichnis auf dem Server
lcd wechselt das aktuelle Verzeichnis auf dem lokalen Rechner
pwd gibt das aktuelle Serververzeichnis aus
ls gibt die Liste der Dateinamen des aktuellen Serververzeichnis aus
 
mkdir erzeugt ein neues Verzeichnis, innerhalb des aktuellen Serververzeichnis
rmdir löscht ein Verzeichnis, innerhalb des aktuellen Serververzeichnis
delete löscht eine Datei aus dem aktuellen Serververzeichnis
get kopiert eine Datei vom aktuellen Serververzeichnis, in das aktuelle Verzeichnis des lokalen Rechners
mget kopiert mehrere Dateien vom aktuellen Serververzeichnis in das aktuelle, lokale Verzeichnis, jede Kopie wird geprompted, Wildcard: "*" ist zulässig.
put kopiert eine Datei vom aktuellen, lokalen Verzeichnis, in das aktuelle Serververzeichnis
mputkopiert mehrere Dateien vom aktuellen, lokalen Verzeichnis in das aktuelle Serververzeichnis, jede Kopie wird geprompted, Wildcard: "*" ist zulässig.


Http (HyperText Transfer Protocol)

Eine HTTP Verbindung ist eine einfache Netzwerk-Socket-Verbindung. Standard Portnummer ist 80. HTTP gibt es derzeit in der Version 1.0 und 1.1. Die Version 1.1 kann unter anderem Verbindungen zwischen Client und Server aufrecht erhalten. Es wird einfacher Text unverschlüsselt übertragen. Da das Protokoll keine Passwortmechanismen direkt integriert hat, kann auf einen HTTP-Server problemlos zugegriffen werden, z.B.: mit einem TelnetClient (dabei kann es Probleme geben, wenn der Server bestimmte zusätzliche Infos erwartet, die die Browser standardmäßig verschicken)

HTTPS

HTTPS benutzt die Secure Socket Layer. Diese gibt die Möglichkeit, Daten verschlüsselt zwischen Client und Server zu verschicken. Weil die Verschlüsselung in einer höheren Schicht (Transportebene) durchgeführt wird, bleibt die Basiskommunikation HTTP. Das Aushandeln des Schlüssels erfolgt vor der eigentlichen Kommunikation. Der Schutz des Serververzeichnis und der enthaltenen Files ist Aufgabe des Webservers (Konfiguration) und hat nichts mit HTTP zu tun.

Request und Response

Es gibt die Befehle Get und Post in HTTP, um einen Request an einen Server zu schicken.

Get

Die Nachricht besteht nur aus einem HTTP-Header, dabei werden Parameter direkt als Text an die geforderte URL gehängt. Die Länge dieses Textes ist begrenzt auf maximal 4000 Zeichen, bei vielen Servern weniger. Es wird also eine Seite mit einer Art Kommandozeilenparameter (früher waren das die cgi Scripte auf dem Server) aufgerufen.

Beispiel Request:
GET /MyServer/index.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, 
  application/vnd.ms-powerpoint, application/vnd.ms-excel, 
  application/msword, application/x-shockwave-flash, */*
Accept-Language: de
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 28 Jan 2004 15:22:12 GMT
If-None-Match: W/"429-1075303332000"
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; 
  Q312461; .NET CLR 1.1.4322)

Host: localhost:8080
Connection: Keep-Alive
Diesen Beispielrequest empfängt der Server. Der Client könnte im Beispiel so gefragt haben: "http://localhost:8080/MyServer/index.html". Der Header des Request besteht aus:
  • den Requesttyp = "Get",
  • das Verzeichnis unterhalb des Servers = "MyServer",
  • die Datei nach der gefragt wurde = "index.html",
  • die HTTP Version = "1.1".
Es folgen weitere zum Teil browserspezifische Angaben und Erweiterungen für HTTP 1.1, zum Beispiel:
  • Accept-Language = "de", die vom Client bevorzugte Sprache,
  • Accept-Charset = "iso-8859-1,*,utf-8", der vom Client bevorzugte Charset, nicht im Beispiel.
Beispiel Response:
HTTP/1.1 200 OK
ETag: W/"73-1075897546000"
Last-Modified: Wed, 04 Feb 2004 12:25:46 GMT
Content-Type: text/html
Content-Length: 73
Date: Wed, 04 Feb 2004 12:25:56 GMT
Server: Apache Coyote/1.0

<HTML>
<HEAD><TITLE>Hi</TITLE></HEAD>
<BODY><h1>Hi</h2></BODY>
</HTML>
Der Server könnte mit einer solchen HTML-Seite als Klartext im Body antworten. Die Antwort enthält als HTTP-Header:
  • die HTTP-Version = "1.1",
  • den HTTP-Returncode = "200" (OK),
  • den Dateityp der Antwort = "text/html", wobei "text" die grobe Einteilung ist und "html" die feinere,
  • die Länge der folgenden Nachricht = "70",
  • zusätzliche den Server betreffende Informationen.

Post

Eine Seite schickt einen Post-Request in der Regel, um die Daten einer Form zu übertragen (submit). Der HTTP-Header eines Post-Request sieht wie ein Get-Request aus, das erste Wort ("Get") im HTTP-Header wird dabei durch "Post" ersetzt. Nach dem HTTP-Header folgen bei Post die Parameter in einem HTTP-Body.

Post oder Get?

Get ist etwas schneller als Post.
Bei Get ist die Anzahl der Zeichen für die Parameter begrenzt.
Bei Get enthält der Link die Parameter und wird so im Browser dargestellt, was möglicherweise ein optischer Nachteil ist.

HTTP-Returncodes

1xx Informational
100 Continue
101 Switching Protocols
 
2xx Successful
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
 
3xx Redirection
300 Multiple Choices
301 Moved Permanently
303 See Other
304 Not Modified
305 Use Proxy
306 (Unused)
307 Temporary Redirect
 
4xx Client Error
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
 
5xx Server Error
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported


Portnummern

Die Nummern für Ports werden aufgeteilt in 3 Bereiche.

1. Well-Known-Ports

Die Well-Known-Ports liegen zwischen 0 und 1023. Diese Portnummern werden von der IANA (Internet Assigned Numbers Authority) festgelegt. Der Zugriff auf diese Ports sollte nur dem Systemadministrator möglich sein. Mit Zugriff ist hier die Zuweisung eines Listeners gemeint.

2. Registered-Ports

Die Registered-Ports liegen zwischen 1024 und 49151. Diese Ports stehen der freien Benutzung zur Verfügung. Die IANA hat zur reinen Information eine Liste von registrierten Nutzern dieser Ports. Diese Liste ist unverbindlich.

3. Dynamic/Private-Ports

Die Dynamic/Private-Ports liegen zwischen 49152 und 65535. Es gibt keine offiziellen Anwärter auf diese Portnummern.

Beispiele für Nummer von Well-Known-Ports

Keywort Nummer Beschreibung
echo 7 Echo
systat 11 Active Users
daytime 13 Daytime (RFC 867)
ftp-data 20 File Transfer [Default Data]
ftp 21 File Transfer [Control]
ssh 22 SSH Remote Login Protocol
telnet 23 Telnet
smtp 25 Simple Mail Transfer
time 37 Time
name 42 Host Name Server
nameserver 42 Host Name Server
nicname 43 Who Is
domain 53 Domain Name Server
gopher 70 Gopher
finger 79 Finger
http 80 World Wide Web HTTP
www 80 World Wide Web HTTP
www-http 80 World Wide Web HTTP
pop3 110 Post Office Protocol - Version 3


Es wird kein Anspruch auf inhaltliche Richtigkeit oder Vollständigkeit der Seiten erhoben.
Die Seit: "http://www.dlubahn.de/knowledge/network.htm" wurde zuletzt geändert am 08.10.2004 von Dirk Lubahn.