19.04.2023

TCP/IP Allgemeine Erläuterungen

OSI Referenzmodell
Latenzzeit mit Ping ermitteln (DSL Latenz 60 - 70 ms)
MAC Adressen mit Hilfe eines Netzwerkpings ermitteln
DNS-Server abfragen
DSL Geschwindigkeit optimieren


Links
DNS Webbrowser Tools
DNS Browser MX-Check

Download
Liste mit Port-Adressen

Seitenanfang

OSI Referenzmodell

7 Anwendungsschicht
6 Darstellungsschicht
5 Sitzungsschicht
4 Transportschicht
3 Vermittlungsschicht
2 Sicherungsschicht
1 Bitübertragungsschicht

TCP/IP Modell

4 Application Layer
3 Transport Layer
2 Internet Layer
1 Network Access Layer
Seitenanfang

TCP / IP Adressklassen

Klasse       Anzahl Hosts je NW Anzahl Netzwerke
A 1 - 126 16.777.214 126
B 128 - 191 65.534 16.384
C 192 - 223 254 2.097.152
D 224 - 239 Multicasting
E 240 - 255 Testzwecke

Seitenanfang

Adressen privater Netzwerke


10.0.0.0 - 10.255.255.255 1 NW der Klasse A
172.16.0.0 - 172.31.255.255 16 NW der Klasse B
192.168.0.0 - 192.168.255.255 256 NW der Klasse C
Seitenanfang

ARP

ARP Cache Einträge werden nach zwei Minuten für ungenutzte Einträge und 10 Minuten für genutzte Einträge gelöscht
z.B. mit PING eine Verbindung testen, und dann mit ARP -a kann man den Cache Eintrag Anzeigen
ARP -s IP-Adresse MAC Adresse eine statische Eintrag erzeugen (der Eintrag wird beim nächsten Booten gelöscht) erzeugen
ARP -d IP-Adresse eine statischen Eintrag löschen wenn der ARP Cache einen ungültige Hardware Adresse enthält, kommt die Kommunikation mit dem Remote Host wegen Zeitablauf nicht zustande. Durch die Einträge im ARP Cache werden Rundsendungen verringert.

Seitenanfang

ICMP und IGMP

ICMP versucht Fehler zu meldet und Rückmeldungen bestimmter Bedingungen zu liefern. Router können eine ICMP Source Quench Nachricht senden, mit der ein TCP/IP Host aufgefordert wird, die Übertragungsgeschwindigkeit zu reduzieren, wenn die Datagramme zu schnell gesendet werden. IGMP Informationen werden an andere Router weitergeleitet, so daß jedem Router, der Multicasting unterstützt, bekannt ist, welche Host-Gruppe sich in welchem NW befindet. IGMP Pakete werden von IP- Datagrammen transportiert und sind daher unzuverlässig.

Seitenanfang

IP

- bei IP handelt es sich um ein verbindungsloses Protokoll, das für die Adressierung und die Steuerung von Paketen zwischen den Hosts verantwortlich ist, die Bestätigung der Pakete ist Aufgabe einer höheren Transportschicht, wie etwa TCP, daher ist IP unzuverlässig.
- Auf einem Router reduziert IP die TTL (Time to Live) um mind. eine oder mehr Sekunden, wenn das Paket aufgrund einer Überbelegung des Routers stecken bleibt
- wenn das Paket für das verwendete NW zu groß ist, kann es IP zu kleineren Paketen fragmentieren.

Seitenanfang

TCP

- TCP ist ein zuverlässiges, verbindungsorientierter Zustellungsdienst, Socket Anwendungen verwenden eine eindeutige Anschlussnummer. Eine TCP Sitzung wird durch einen Dreier Handshake eingeleitet und beendet.

Seitenanfang

Fehlersuche unter TCP/IP

- Ping zeigt an, ob ein Netzknoten existiert und dessen IP-Schicht betriebsbereit ist
- ECHO Dienst "Port 7" baut eine Verbindung auf einer höheren Ebene wie "ping" auf. Das Echo der Anwendungsschicht bewegt sich über die IP-Schicht, mittels TCP und UDP, es deckt alle Schichten des Protokollstapels ab. Wenn der ECHO test erfolgreich verläuft, arbeitet die Anwendung fehlerhaft, es leigt nicht an dem Protokoll und der Netzverbindung.
- CHARGEN Dienst "Port 19" Belastungstest, es wird eine ASCII-Zeichenfolge gesendet. Man kann eine Verbindung testen, mit dem ständigen Datenfluss. Vorsicht!! hohe Netzbelastung, nicht im Produktionsbetrieb benutzen.
- FINGER Dienst "Port 79" gibt Benutzerinformationen aus, die in einer Datei auf dem Rechner gespeichert sind. So kann ein Systemverwalter z.B. den Standort und den Namen eines Remote-Benutzers ermitteln. (muss aber erst in der Datei hinterlegt werden).
- DISCARD Dienst "Port 9" Informationen die an einen Host gesendet werden, werden ignoriert und verworfen. Auf diese Weise kann die Performance von Netzen und Protokollen getestet werden, ohne das das Betriebssystem des Host-Rechner nennenswerte Arbeitsbelastungen ausgesetzt ist.
- DAYTIME Dienst "Port 13" gibt Datum und Uhrzeit in ASCII-Format aus

Alle diese Dienste kann man mit TELNET testen z.B. CHARGEN Dienst
"telnet localhost 19"

Seitenanfang

Latenzzeit mit Ping ermitteln (DSL Latenz 60 - 70 ms)

- Windows
ping -l 500 -n 10 <Zieladresse>

- Linux
ping -s 500 -c 10 <Zieladresse>

Seitenanfang

MAC Adressen mit Hilfe eines Netzwerkpings ermitteln

- Windows
ping -n 1 192.168.1.255

- Linux
ping -b -c 1 192.168.1.255

nach dem Ping kann man mit arp -a den ARP-Cache anzeigen lassen, in dem die MAC und die IP aller Rechner im Netz verzeichnet sind.

Seitenanfang

DNS-Server abfragen

- Mail-Exchanger abfragen
nslookup -qt=mx domain.tld

Seitenanfang

DSL Geschwindigkeit optimieren

alle Einstellungen sind in Windows (XP) in der Registry zu setzen.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

TcpWindowSize
unter Unix RWIN genannt, gibt an wieviel Byte der Sender ohne Empfangsbestätigung senden darf.

Microsoft schreibt als Faustformel 12 x (MTU des Adapters - 40) vor. Das währen bei DSL 1492 - 40 = 1452 x 12 = 17424. Das recht für ISDN oder Modem, für DSL währe das zu wenig.

als Formel für die Berechnung des "TcpWindowSize" sollte man das Produkt aus Datenrate des Anschlusses in KByte/s und der Round Trip Time (RTT kann man mittels Ping zum DownloadServer ermitteln)

z.B DSL 2000 (240 KByte/s) und der Server hat eine RTT von 55ms (Minimum)

240 * 55 = 13200 WindowSize
empfohlen
240 * 330 = 79200 WindowSize

Bei VDSL 25MBit/s (2800 KByte/s) Download und 5MBit/s (580 KByte/s) Uploade empfielt sich eine "TcpWindowSize" von 1MByte. das reicht für Server die einen Ping von 330ms haben.

2. Version zur Berechnung der Window Size

für Downloads
Window Size=Downstream-Rate in Byte pro Sekunde / 3

für VOIP
Window Size=Downstream-Rate in Byte pro Sekunde / 10

Einstellungen für einen Apple mit 25MBit/s DSL

sudo sysctl -w net.inet.tcp.recvspace=1075200
sudo sysctl -w kern.ipc.maxsockbuf=2048000

mit "net.inet.tcp.recvspace" wird beim Apple der RWIN Wert gesetzt, da der reservierte Socket-Speicher nicht reicht, muss dieser durch "kern.ipc.maxsockbuf" auch noch vergrössert werden.

Tcp1323Opts

schaltet Window Scaling und Timestamps
0 = deaktiviert Window Scaling und Timestamps
1 = nur Window Scaling
2 = nur Timestamps
3 = aktiviert Window Scaling und Timestamps (Standard)

Timestap ist wichtig, wenn eine sehr große "TcpWindowSize" genutzt wird.

DefaultTTL

"Time to Live" TTL sollte auf 128 gesetzt sein und nicht kleiner wie 64, da sonst ein enfernter Server nicht erreicht werden kann.

MTU

"Maximum Transmisson Unit" die maximale Größe eines IP-Paketes mitsamt IP-Header und Nutzdaten. Die MTU wird zum berechnen der MSS (Maximum Segment Size) genutzt.

MSS = MTU - 20Byte TCPHeader - 20Byte IPHeader

MTU wird unter der GUID des Adapters "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" gesetzt, die GUID des DFÜ-Adapters findet man im letzten Eintrag unter "IpConfig"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters\NdisWanIp]
"IpConfig"

- MTU größe für PPPOE = 1492 Byte

ping -n 2 -f www.t-online.de -l 1464

1464 + 28 = 1492 (MTU für PPPOE)
-n - Anzahl der ECHO Anforderungen
-f - nicht fragmentieren
-l - Pufferlänge

- Standard MTU im LAN

ping -n 2 -f 192.168.17.1 -l 1472

1472 + 28 = 1500 (28 Byte für das Protokoll)

- MTU über IPSec VPN

ping -n 2 -f 192.168.17.1 -l 1272

1272 + 28 = 1300 (28 Byte für das Protokoll)

DSL Anschluss Durchsatz (KByte/s) RTT min. WindowSize (Byte)
DSL-50000 ca. 6000 300 1 800 000
DSL-25000 ca. 3000 300 900 000
DSL-16000 ca. 2000 300 600 000
DSL-6000 ca. 720 300 216 000
DSL-2000 ca. 240 300 72 000