Skip to main content

Die Domain

Einführung

In dieser Übung werden Sie die Kommandozeilen-Tools nslookup (Windows) und dig (Mac, Linux) verwenden. Die genaue Verwendungsweise dieser Tools wird in einer späteren Übung erläutert. Für den Anfang müssen Sie wissen, wie Sie die Basis-Funktion der Tools verwenden können:

nslookup (Windows, Mac, Linux)

Unter Windows verwenden Sie nslookup in der CMD oder mit Powershell. Sie tippen den Befehl nslookup gefolgt vom gewünschten Domain-Namen ein. Als Resultat erhalten Sie die IP-Adresse zu diesem Domainnamen:

nslookup tbz.ch [ENTER]

Server:  UnKnown
Address:  2001:730:3e82::11

Nicht autorisierende Antwort:
Name:    tbz.ch
Address:  149.126.4.25

dig (Mac, Linux)

Unter Mac und Linux können Sie auch dig verwenden. Dieses Tool ist etwas mächtiger, erfüllt aber die selben grundlegenden Aufgaben. Tippen Sie im Terminal ebenfalls den Befehl dig gefolgt vom gewünschten Domainnamen ein:

$ dig tbz.ch [ENTER]

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> tbz.ch
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50372
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;tbz.ch.                                IN      A

;; ANSWER SECTION:
tbz.ch.                 0       IN      A       80.74.136.2

;; Query time: 0 msec
;; SERVER: 172.22.112.1#53(172.22.112.1) (UDP)
;; WHEN: Wed Dec 07 21:46:25 CET 2022
;; MSG SIZE  rcvd: 46

Begrifflichkeiten um die Domain

Aufgabe 1: Betrachten Sie das unten stehende Bild. Es beschreibt alle Teile davon, was wir unter einer Domain verstehen:

fqdn.pngimage.png

Domain-Namen sind streng hierarchisch aufgebaut. Unten finden Sie eine Baumdarstellung einiger Domain-Namen.

 

Frage: Untenstehend finden Sie das Bild eines FQDN (Fully qualifies domain name). Bennen Sie die fehlenden Teile des Domain-Namens.

Tipps für die nachfolgenden Aufgaben:
- Für die korrekten Begrifflichkeiten finden Sie im Skript eine Einleitung zu FQDN.
- Mit der Webseite https://mxtoolbox.com/DNSLookup.aspx (DNS Lookup) können Sie die Domain-Namen prüfen.

Länge eines FQDN

Aufgabe 1: Untenstehend finden Sie zwei FQDN. Der eine ist gültig und der andere nicht:

FQDN 1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.iten.io.
FQDN 2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.iten.io.

Schätzen Sie ein, welche der beiden FQDN gültig ist und welcher nicht. Was ist der Grund, weshalb der eine FQDN gültig ist und der andere nicht?




Der FQDN 2 enthält im Label insgesamt 64 Zeichen. Ein einzelnes Label (Teil zwischen zwei Punkten) darf jedoch maximal 63 Zeichen lang sein. Ist ein label länger, so ist es ungültig. 

Der FQDN 1 ist gültig, da das Label xxxxxxx.... nur 63 Zeichen enthält.

Leiten Sie nun aufgrund Ihrer Erkenntnis aus der Aufgabe einen Merksatz für FQDN ab:


Ein Label eines FQDN darf nie mehr als 63 Zeichen enthalten.

Aufgabe 2: Untenstehend finden Sie zwei FQDN. Der eine ist gültig und der andere nicht:

FQDN 1: xxxxx..iten.io
FQDN 2: xxxx.x.iten.io

Schätzen Sie ein, welche der beiden FQDN gültig ist und welcher nicht. Was ist der Grund, weshalb der eine FQDN gültig ist und der andere nicht?




Der FQDN 1 enthält im zweiten Label mit 0 Zeichen zwischen xxxx. und .iten. daher ist dieser nicht gültig.
Der FQDN 2 enthält im zweiten Label ein Zeichen. Damit hat jedes Label mindestens ein Zeichen, daher ist dieser gültig.

Ergänzen Sie den Merksatz aus der Aufgabe 1 nun mit der Erkentniss der Aufgabe 2: 


Ein Label eines FQDN darf nie mehr als 63 Zeichen enthalten und muss mindestens ein Zeichen enthalten.

Aufgabe: Untenstehend finden Sie drei FQDN. Zwei sind gültig und der andere nicht:

FQDN 1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.iten.io.
FQDN 2: xxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx.iten.io.
FQDN 3: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.iten.io.

Schätzen Sie ein, welche der drei FQDN gültig ist und welcher nicht. Was ist der Grund, weshalb der eine FQDN gültig ist und der andere nicht?




Der FQDN 1 und FQDN 2 enthält weniger als 254 Zeichen. (Mit dem abschliessenden Punkt) Der FQDN 3 hingegen hat mehr als 254 Zeichen. (Mit dem abschliessenden Punkt)

Der FQDN 1 und FQDN 2 enthält weniger als 253 Zeichen. (ohne abschliessenden Punkt) Der FQDN 3 hingegen hat mehr als 253 Zeichen. (ohne den abschliessenden Punkt)

Leiten Sie nun aufgrund Ihrer Erkenntnis aus der Aufgabe einen Merksatz für FQDN ab:


Ein kompletter FQDN darf nicht länger als 254 (ASCII) Zeichen sein (Wenn der letzte Punkt gezählt wird, 253 ohne abschliessenden Punkt)

Bonusfrage: Das Internet ist manchmal ungenau! Wenn Sie im Internet nach "Länge FQDN" suchen, werden Sie eine andere max. Länge erhalten. Sie werden sehen, dass dies Zahl genau um eines grösser ist als die Zahl welche Sie im internet finden. Es muss somit ein Zeichen existieren, welches wir bei einem FQDN nicht setzen, es aber trotzdem zu dessen Länge gerechnet wird.

Können Sie raten, was für ein Zeichen dies ist und wo es eigentlich im FQDN wäre? Diese Frage ist sehr schwer und Sie müssen diese nicht korrekt beantworten können. Raten Sie aber und schauen Sie sich die Labels und die Punkte genau an. Lesen Sie anschliessen in der Lösung ob Sie der korrekten Antwort nahe gekommen sind.



Wie Sie gelernt haben, gehört der . am Ende zu einem gültigen FQDN, denn dieser repräsentiert die "leere" Root-Zone, also die Wurzel des DNS-Baums. Er ist somit nicht der Abschluss des FQDN, sondern leitet ein leere Label (mit der Länge 0 ein)

Also eigentlich www.tbz.ch."leere root zone"

Ein Punkt leitet somit immer ein Label ein. Nur ganz am Anfang des FQDN fehlt ein Punkt, obwohl dort ja ein Label anfängt.

Uns genau das ist das "versteckte" Zeichen. Der erste Punkt wird nicht geschrieben, aber im technischen Hintergrund ist der Punkt da und zählt auch zur Gesamtlänge hinzu. Wir haben somit einen Punkt am Anfang + 253 Zeichen + abschliessender Punkt = 255 Zeichen.

Hintergrund: Der RFC Standard schreibt nicht 255 Zeichen vor, sondern 255 Oktette, das sind Bit-Oktette also z. B 1001 1110. Jeder Buchstabe belegt ein Oktett mit den Informationen für ein ASCII Zeichen. Die Punkte hingegen sind im Hintergrund keine Punkte, sondern Oktette, welche angegeben wie lange das nachfolgende Label ist. Also z.B. 0000 1111 = Es folgt ein Label mit 16 ASCII Zeichen. Ganz am Anfang ist ebenfalls solch ein Oktett mit den Längeninformationen vorhanden, es wird aber nicht als Punkt dargestellt.

Aufgrund dieser Ungenauigkeit Oktett != Zeichen steht im Internet überall ein FQDN kann 255 Zeichen lang sein, während es in Wirklichkeit nur 253 Zeichen sind. (Mit abschliessendem Punkt 254)

Erlaubte Zeichen eines FQDN

Sie haben nun herausgefunden, wie lange ein FQDN sein darf und wie dieser von der Struktur her aufgebaut sein darf. Im nächsten Teil geht es darum herauszufinden, welche Zeichen in einem FQDN erlaubt sind, und welche nicht.

Aufgabe 1: Sie finden unten nun einige FQDN. Beurteilen Sie, welche das gültig sind und welche aufgrund nicht erlaubter Zeichen ungültig sind. Testen Sie die Gültigkeit dieser FQDN in einem ersten Schritt ausschliesslich mit den Kommandozeilen-Werkezeugen nslookup (Windows) oder dig (Mac, Linux).

FQDN 1: test.iten.io.
FQDN 2: 1234.iten.io.
FQDN 3: test1234.iten.io.
FQDN 4: test-1234.iten.io.
FQDN 5: -test-1234.iten.io.
FQDN 6: -test1234.iten.io.
FQDN 7: test--1234.iten.io
FQDN 8: äöü.iten.io.
FQDN 9: ✌️.iten.io.
FQDN 10: 新汉德词典.iten.io.
FQDN 11: email@iten.io.
FQDN 12: gehtdas?.iten.io.
FQDN 13: geht?das.iten.io.
FQDN 14: 1234,iten.io.
FQDN 15: test_1234.iten.io.
FQDN 16: test:1234.iten.io.

Leiten Sie aufgrund Ihres Tests ab, was für Zeichen ein FQDN genau enthalten darf. Beachten Sie, es ist einfacher zu definieren was erlaubt ist, anstatt was verboten ist. Machen Sie ggf. eigene Tests um Ihre Thesen zu überprüfen. Fassen Sie alles in einem Merksatz zusammen.



Ein FQDF darf besteht aus den Buchstaben von A - Z und den Zahlen von 0 - 9 und dem Sonderzeichen Bindestrich. Der Bindestrich darf nie am Anfang eines Labels stehen.

Aufgabe 2: Rufen Sie nun die nachfolgenden FQDN aus der vorherigen Aufgabe in einem Webbrowser Ihrer Wahl (Firefox, Chrome, Opera, Vivaldi, Edge, Safari) auf. Können Sie die diese FQDN aufrufen? Wenn ja, warum geht es und was passiert?

FQDN 9: äöü.iten.io.
FQDN 10: ✌️.iten.io.
FQDN 11: 新汉德词典.iten.io.



Der Webbrowser wandelt den FQDN in eine Variante ohne die Sonderzeichen um. 

Sie können den sogenannten Puny-Code oder IDN-Konverter auf folgender Seite ausprobieren:

https://www.punycoder.com

Frage: Macht die Gross- und Kleinschreibung einen Unterschied?


Nein, es macht keinen Unterschied ob eine FQDN gross oder klein geschrieben wird.