Telematik Begriffe

Wichtige Begriffe im Bereich Telematik:

  • Dämpfung (attenuation)
  • Übersprechen (crosstalk)
  • Nebensprechdämpfung (Nahnebensprechdämpfung, Fernnebensprechdämpfung)
  • NEXT = Near end crosstalk
  • ACR = attenuation to crosstalk ratio
  • S/N = Signal to noise ratio


Glasfasern

Die Dichte eines optischen Mediums bestimmt die Geschwindigkeit, mit der sich das Licht im Medium ausbreiten kann. Das Mass für diese Dichte ist der Brechungsindex. Je höher der Brechungsindex, desto höher die optische Dichte des Stoffes.

Verluste bei Glasfasern:

  • Streuung
  • Absorption >>> Übertragungsfenster
  • Dispersion


Glasfaserarten:

  • Gradientenfaser (Multimodefaser) ? 850 und 1300 nm
  • Einmodefaser (Monomode) ? 1310 und 1550 nm
  • Hohlader gefüllt
  • Bündelader
  • Duplex LWL
  • Multifaser LWL


n Base  k
z.B. 10Base

nn steht für die Übertragungsrate in MBit/s, Base steht für Basisband und k für die maximale Segmentlänge in 100m oder für die Kabelart.


Kodierung

Die Digitalisierung von analogen Signalen erfolgt durch periodisches Messen der Amplituden und anschliessendem Umwandeln dieser Messwerte von analogen System in das Dualsystem.  Bei ISDN wird die Messung z.B. im 8-kHz-Takt vorgenommen und wird im Binärsystem mit 8Bit dargestellt. Zum Schluss wird das erzeugte Bitmuster als elektrisches Signal codiert.

Varianten, wie Bitmuster als elektrische Signale dargestellt werden können (Codierung):

  • Einfachstromverfahren (0 = 0 Volt, 1 = +5 Volt >>> störanfällig, weil dauernd eine Gleichspannung an der Datenleitung anliegen würde
  • Doppelstromverfahren (0 = -5 Volt, 1 = +5 Volt) >>> Lange 0er oder 1er Folgen bewirken auch hier die störanfällige Gleichspannung
  • Bipolar-AMI (Bipolar-Alternate Mark Inversion-Codierung) (0 = 0 Volt, 1 alternierend –5 Volt oder + 5 Volt)
  • Manchester Code (Hier wird eine 0 immer in der Mitte des Taktsignals von High zu Low gesetzt und eine 1 von Low to High
  • Differential Manchester Code (ein Vorhandensein eines Signalwechsels am Anfang des Taktsignals zeigt an, ob eine 0 oder eine 1 folgt. Wechselt das Signal von High to Low, folgt eine 0. Wechselt das Signal nicht, folgt eine 1
  • HDB3-Code (High Definition Bipolar Code) (gleicht dem AMI-Code. Bei vier oder mehr aufeinanderfolgenden Nullen erfolgt nach drei Nullen absichtlich ein Signalwechsel in die gleiche Richtung wie bei der letzten 1 (Violation)
  • 2B1Q-Code (2Binär/1Quarternär) >>> 2Bit pro Taktsignal mit 4 verschiedenen Spannungsniveaus
  • 4B/3T-Code (4Binär/3Ternär) >>> 4Bit pro Taktsignal mit 3 verschiedenen Spannungsniveaus


Alle Codes haben schlussendlich den Sinn, eine sichere Übertragung der Signale zu gewährleisten, indem sie den Gleichstromanteil auf ein mögliches Minimum reduzieren (gleichstromfreie Übertragung und die Resynchronisation  in den elektrischen Endgeräten).

Bei der Datencodierung mit Modulation müssen die digitalen Daten zuerst in analoge Signale umgewandelt werden. Anschliessend werden die analogen Signale einem Dauerton von z.B. 1000 – 2000 Hz, dem sogenannten Sinuswellenträger, aufmoduliert. Es stehen die folgenden Verfahren zur Verfügung:

  • Amplitudenmodulation
  • Frequenzmodulation
  • Phasenmodulation


Die analoge Übertragung mit den drei obigen Modulationstechniken hat gegenüber der digitalen Übertragung den grossen Vorteil der fehlenden DC-Komponente (Gleichstrom).

Bis zu einer Übertragung von 2400Bit/s könnte man mit den obigen Modulationsverfahren arbeiten. Um höhere Übertragungen zu ermöglichen, wird mit einer oder mehreren Amplituden und verschiedenen Phasenlagen gearbeitet.

Jedem Bitmuster wird eine Phasenlage zugeordnet. Der Empfänger muss somit nur die Phasenlage im Signal prüfen, um das Bitmuster zu erkennen. 1 Bit pro Signalwechsel nennt man ein Baud.


Beispiel:

Die Datenrate R definiert, wie viele Bit/s über eine Übertragungsleitung gesendet werden können. Die Modulationsrate D in Baud ist meistens durch die Übertragungsleitung gegeben. Bei einer Telefonleitung in der Regel 2400 Baud.

Die Anzahl n Bit pro Baud, die nun notwendigerweise moduliert werden müssen, um Datenraten zu übertragen, die grösser als die Modulationsrate sind, können mit der folgenden Formel berechnet werden

n = R / D

n = 9600 Bit/s */* 2400 Baud = 4

Bei 9600 Bit/s müssen also pro Baud 4 Bit übertragen werden. Dies entspricht einer 4Bit-Codierung und erfordert 16 verschiedene Zustände.


Multiplexen

Es werden Daten mehrerer Leitungen mit kleiner Bandbreite auf eine einzige Leitung mit grosser Bandbreite aufgeschaltet.

  • Frequenzmultiplexen (Frequency Division Multiplexing) FDM >>> jedem Teilnehmer wird ein Teil der Bandbreite (ein Kanal) zur Verfügung gestellt, z.B. Kabelfernsehen. Die Übertragungsrate vor und hinter dem Multiplexer ist gleich gross
  • Zeitmultiplexen (Time Division Multiplexing) TDM >>> Jeder Teilnehmer erhält einen Zeitschlitz, während dem er die ganze Bandbreite nutzen kann. Die Übertragungsrate hinter dem Multiplexer ist n mal grösser. Es können nur digitale Daten mit TDM übertragen werden


Es sind auch Kombinationen möglich, indem auf einem Breitbandnetz die Frequenzkanäle (FDM) nach einem TDM-Verfahren in Zeitschlitze eingeteilt werden, z.B. GSM-Telefonie.

  • Wellenlängenmultiplexverfahren (WDM) >>> bei diesem Verfahren wird das FDM auf das Glasfaserkabel angewendet, indem jeder Kanal mit einer eigenen Licht-Wellenlänge in einer einzigen Glasfaser übertragen wird


Asynchrone Übertragung

Daten fallen nur zeitweise an. Das Byte muss mit einem Startbit und mindestens einem Stoppbit ausgestattet werden


Synchrone Übertragung

Eignet sich für grosse Dateien oder grössere Übertragungsraten. Es wird ein kontinuierlicher Datenstrom übertragen. Es muss eine Synchronisationsinformation mit übertragen werden. Dies kann mit einem separaten Leiter, speziellen Zeichen oder einzelnen speziellen Bits erreicht werden. Für die synchrone Übertragung wird der Bitstrom in Frames unterteilt. Fallen keine Daten an, werden die Frames mit Snyc-Zeichen aufgefüllt


Zeichenorientierte Übertragung

Nachrichten werden auf der Basis von einzelnen Zeichen übermittelt (Tastaturen, Terminals an Hosts). Die Zeichen werden anhand einer Codetabelle (z.B. ASCII) in Bit umcodiert. Die codierten Zeichen werden als Bitstrom übertragen und mit der gleichen Codetabelle wieder umgesetzt.

Der Anfang eines Texts wird mit dem Steuerzeichen STX codiert. Das Ende eines Texts wird mit dem Steuerzeichen ETX codiert.

Diese Steuerzeichen kommen aber auch in normalen Text vor. Deshalb werden vom Sender vor alle Steuerzeichen DLE (Data Link Escape) gesetzt. Weil aber auch DLE im Text vorkommen können, werden zusätzlich noch vor alle im Text vorkommenden DLE ein DLE gesetzt (DLE-Stopfen)


Bitorientierte Übertragung

Die Daten liegen beim Sender bereits als Bitstrom vor. Die Daten werden vor der Übertragung in Rahmen eingepackt oder in Zellen organisiert. Damit der Empfänger erkennen kann, wann ein Rahmen beginnt und der Rahmen endet, werden Erröffnungs- und Endmarken in den Bitstrom eingefügt. Das Bitmuster lautet: 01111110

Dieses Muster kann aber auch in den Nutzdaten vorkommen. Erkennt der Sender im Bitstrom ein Folge von mehr als 5 Einsern, fügt er, vor der Einteilung des Bitstroms in Frames, nach 5 Einsen ein 0 ein (Bit-Stuffing).

Die Schicht 1 wird in die Sublayer „Physical Medium Attachment“ und „Physical Layer Signaling“ unterteilt. In der ersten Teilschicht werden die Schnittstellen zu den verschiedenen Übertragungsmedien und in der zweiten Teilschicht wird die Signalerzeugung und Ankoppelung an die Schicht 2 sichergestellt. Auf keinen Fall sind die Übertragungsmedien selbst Gegenstand der Schicht 1.

CSS-Formatierungen

Diese Seite befasst sich mit CSS-Formatierungen. Das Joomla-Framework bedient sich stark solcher CSS-Formatierungen und da diese Webseite Joomla zugrunde liegt, habe ich mich zwangsläufig ebenfalls damit beschäftigen müssen.

Quellenangabe: Ich habe den Inhalt dieser Seite von http://de.selfhtml.org abgekupfert und lediglich einige Anpassungen vorgenommen. Dies für den schnellen und lokalen Zugriff. Für eine vollständige Übersicht verweise ich an dieser Stelle auf die genannte Quelle.

 

Masseinheiten und Farbangaben

Numerische Angaben
absolut
pt Punkt. Typografische Maßeinheit. 1 Punkt entspricht 1/72 Inches.
pc Pica. Typografische Maßeinheit. 1 Pica entspricht 12 Punkt.
in Inch. 1 Inch entspricht 2.54 Zentimetern. Dezimalzeichen für Nachkommazahlen ist der Punkt.
mm Millimeter.
cm Zentimeter. Dezimalzeichen für Nachkommazahlen ist der Punkt.
Numerische Angaben
relativ
em Relativ zur Schriftgröße des Elements. Bei Anwendung auf Schriftgröße relativ zur Schriftgröße des Elternelements. Dezimalzeichen für Nachkommazahlen ist der Punkt.
ex Relativ zur Höhe des Buchstabens x. Bei Anwendung auf Schriftgröße relativ zur Höhe des Buchstabens x im Elternelement. Dezimalzeichen für Nachkommazahlen ist der Punkt.
px Pixel. Relativ von Ausgabegerät zu Ausgabegerät, absolut an ein und demselben Ausgabegerät.
% Prozent. Je nach CSS-Eigenschaft relativ zur elementeigenen Größe, oder zu der des Elternelements, oder zu einem allgemeineren Kontext.
Farbangaben #rrggbb Hexadezimale RGB-Angabe wie bei HTML.
#rgb Hexadezimale RGB-Angabe - Kurzschreibweise
Farbnamen wie bei HTML
rgb(R,G,B) RGB-Werte dezimal (0-255,0-255,0-255)
rgb(%,%,%) RGB-Anteile prozentual (0-100%,0-100%,0-100%)

 

CSS-Eigenschaften: Schriftformatierung

Schriftart font-family:Schriftart1,Schriftart2,...;
Für Schriftart1 den Namen gewünschten Schriftart notieren.
Für Schriftart2 und weitere die Namen von Alternativschriftarten notieren.
Schriftstil font-style:Wert;
Für Wert einen der folgenden Werte notieren:
italic = Schriftstil kursiv.
oblique = Schriftstil kursiv.
normal = normaler Schriftstil.
Schriftvariante font-variant:Wert;
Für Wert einen der folgenden Werte notieren:
small-caps = Kapitälchen.
normal = normale Schriftvariante.
Schriftgröße font-size:Wert;
Für Wert eine numerische Angabe wie 1.2em, 14px oder 12pt notieren oder eine der folgenden Werte:
xx-small = winzig.
x-small = sehr klein.
small = klein.
medium = mittel.
large = groß.
x-large = sehr groß.
xx-large = riesig.
smaller = sichtbar kleiner als normal.
larger = sichtbar größer als normal.
Schriftgewicht font-weight:Wert;
Für Wert einen der folgenden Werte notieren:
bold = fett.
bolder = extrafett.
lighter = dünner.
100,200,300,400,500,600,700,800,900 = extra-dünn (100) bis extrafett (900).
normal = normales Schriftgewicht.
Schriftlaufweite font-stretch:Wert;
Für Wert einen der folgenden Werte notieren:
wider = weiter als normal.
narrower = enger als normal.
condensed = gedrängt.
semi-condensed = halb gedrängt.
extra-condensed = stark gedrängt.
ultra-condensed = extrastark gedrängt.
expanded = geweitet.
semi-expanded = halb geweitet.
extra-expanded = stark geweitet.
ultra-expanded = extrastark geweitet.
normal = normale Laufweite.
Schrift (allgemein) font:Wert;
Für Wert eine Mischung aus erlaubten Werten für font-style, font-variant, font-weight, font-size, line-height und font-family notieren. Einzelwerte durch Leerzeichen trennen, die Reihenfolge ist einzuhalten.
z.B. font:italic bold 13px Times;
Wortabstand word-spacing:Wert;
Für Wert eine numerische Angabe wie 0.2em oder 4px notieren, jedoch keine Prozentwerte.
Zeichenabstand letter-spacing:Wert;
Für Wert eine numerische Angabe wie 0.1em oder 2px notieren, jedoch keine Prozentwerte.
Textdekoration text-decoration:Wert;
Für Wert einen der folgenden Werte notieren:
underline = unterstrichen.
overline = überstrichen.
line-through = durchgestrichen.
blink = blinkend.
none = normal (keine Text-Dekoration).
Text-Transformation text-transform:Wert;
Für Wert einen der folgenden Werte notieren:
capitalize = Wortanfänge als Großbuchstaben.
uppercase = Nur Großbuchstaben.
lowercase = Nur Kleinbuchstaben.
none = normal (keine Text-Transformation).
Textfarbe color:Wert;
Für Wert eine Farbangabe wie #FFCC99, red oder rgb(96,255,0) notieren.

 

CSS-Eigenschaften: Ausrichtung/Absatzkontrolle

Texteinrückung text-indent:Wert;
Für Wert eine numerische Angabe wie z.B. 20px oder 2.5cm notieren.
Zeilenhöhe line-height:Wert;
Für Wert eine numerische Angabe wie z.B. 20px oder 120% notieren. Prozentangaben beziehen sich auf die Schriftgröße.
Vertikale
Ausrichtung
vertical-align:Wert;
Für Wert einen der folgenden Werte notieren:
top = obenbündig ausrichten.
middle = mittig ausrichten.
bottom = untenbündig ausrichten.
baseline = an der Basislinie ausrichten (oder untenbündig, wenn es keine Basislinie gibt).
sub = tieferstellen (ohne die Schriftgröße zu reduzieren).
super = höherstellen (ohne die Schriftgröße zu reduzieren).
text-top = am oberen Schriftrand ausrichten.
text-bottom = am unteren Schriftrand ausrichten.
Horizontale
Ausrichtung
text-align:Wert;
Für Wert einen der folgenden Werte notieren:
left = linksbündig ausrichten (Voreinstellung).
center = zentriert ausrichten.
right = rechtsbündig ausrichten.
justify = als Blocksatz ausrichten.
Textumbruch white-space:Wert;
Für Wert einen der folgenden Werte notieren:
normal = automatischer Zeilenumbruch (wie bei allen HTML-Elementen außer pre und nowrap).
pre = Zeilenumbruch wie im Editor eingegeben (so wie beim pre-Element).
nowrap = Kein automatischer Zeilenumbruch, Umbruch möglich durch entsprechende HTML-Tags.

 

CSS-Eigenschaften: Außenrand/Abstand

Außenrand/Abstand
oben
margin-top:Wert;
Für Wert einen numerischen Wert wie 2.3cm oder 24pt notieren.
Außenrand/Abstand
unten
margin-bottom:Wert;
Für Wert einen numerischen Wert wie 30px oder 25mm notieren.
Außenrand/Abstand
links
margin-left:Wert;
Für Wert einen numerischen Wert wie 1.2cm oder 40px notieren.
Außenrand/Abstand
rechts
margin-right:Wert;
Für Wert einen numerischen Wert wie 1.25cm oder 65px notieren.
Außenrand/Abstand
(allgemein)
margin:Wert;
Für Wert einen oder mehrere Werte zu margin-top, margin-bottom, margin-left und margin-right notieren.
Eine Angabe = alle vier Ränder des Elements erhalten den gleichen Außenabstand.
Zwei Angaben = erste für oben/unten, zweite für rechts/links.
Drei Angaben = erste für oben, zweite für rechts/links, dritte für unten.
Vier Angaben = erste für oben, zweite für rechts, dritte für unten, vierte für links.

 

CSS-Eigenschaften: Innenabstand

Innenabstand oben padding-top:Wert;
Für Wert einen numerischen Wert wie 3px oder 15pt notieren.
Innenabstand unten padding-bottom:Wert;
Für Wert einen numerischen Wert wie 0.7cm oder 3em notieren.
Innenabstand links padding-left:Wert;
Für Wert einen numerischen Wert wie 30px oder 1.4cm notieren.
Innenabstand rechts padding-right:Wert;
Für Wert einen numerischen Wert wie 25mm oder 0.4in notieren.
Innenabstand
(allgemein)
padding:Wert;
Für Wert einen numerische Angabe wie 20px oder 0.4cm notieren. Alle vier Seiten des Elements erhalten den gleichen Innenabstand.

 

CSS-Eigenschaften: Rahmen

Rahmendicke border-width:Wert; /* alle Seiten */
border-top-width:Wert; /* nur oben */
border-bottom-width:Wert; /* nur unten */
border-left-width:Wert; /* nur links */
border-right-width:Wert; /* nur rechts */
Für Wert einen numerischen Wert wie 2px oder 1mm oder einen der folgenden Werte notieren:
thin = dünn.
medium = mittelstark.
thick = dick.
Rahmenfarbe border-color:Wert; /* alle Seiten */
border-top-color:Wert; /* nur oben */
border-bottom-color:Wert; /* nur unten */
border-left-color:Wert; /* nur links */
border-right-color:Wert; /* nur rechts */
Für Wert eine Farbangabe wie #FFCC99, red oder rgb(96,255,0) notieren.
Rahmentyp border-style:Wert; /* alle Seiten */
border-top-style:Wert; /* nur oben */
border-bottom-style:Wert; /* nur unten */
border-left-style:Wert; /* nur links */
border-right-style:Wert; /* nur rechts */
Für Wert einen der folgenden Werte notieren:
none = kein Rahmen (bzw. unsichtbarer Rahmen).
hidden = kein Rahmen (bzw. unsichtbarer Rahmen),
dotted = gepunktet.
dashed = gestrichelt.
solid = durchgezogen.
double = doppelt durchgezogen.
groove = 3D-Effekt.
ridge = 3D-Effekt.
inset = 3D-Effekt.
outset = 3D-Effekt.
Rahmen border:Wert; /* alle Seiten */
border-top:Wert; /* nur oben */
border-bottom:Wert; /* nur unten */
border-left:Wert; /* nur links */
border-right:Wert; /* nur rechts */
Für Wert jeweils drei Angaben mit geeigneten Werten für border-style, border-width und border-color mit Leerzeichen dazwischen notieren.
z.B. border:3px solid #FFCC99; oder border-bottom:1cm inset red;.

 

CSS-Eigenschaften: Hintergrundfarben und -bilder

Hintergrundfarbe background-color:Wert;
Für Wert eine Farbangabe wie #0000CC, fuchsia oder rgb(50%,60%,80%) notieren.
Hintergrundbild background-image: url(/URI);
Für URI eine Web-Adresse oder ein Ziel mit oder ohne Pfad angeben, wo sich die gewünschte Grafikdatei (GIF oder JPEG) befindet.
Wiederholungs-Effekt background-image: url(/URI); background-repeat:Wert;
Für Wert einen der folgenden Werte notieren.
repeat = wiederholen (Voreinstellung).
repeat-x = nur "eine Zeile lang" waagerecht wiederholen.
repeat-y = nur "eine Spalte lang" senkrecht wiederholen.
no-repeat = nicht wiederholen, nur als Einzelbild anzeigen.
Wasserzeichen-Effekt background-image: url(/URI); background-attachment:Wert;
Für Wert einen der folgenden Werte notieren:
scroll = mitscrollen (Voreinstellung).
fixed = Hintergrundbild bleibt stehen.
Hintergrundposition background-image: url(/URI); background-position:Wert;
Für Wert entweder zwei numerische Angaben zur Bestimmung der linken oberen Startecke bezogen auf die linke obere Elementecke notieren,
z.B. 10px 30px.
Oder für Wert einen der folgenden Werte notieren:
top = vertikal obenbündig.
center = horizontal zentriert.
center = vertikal mittig.
bottom = vertikal untenbündig.
left = horizontal linksbündig.
right = horizontal rechtsbündig.
Hintergrund
(allgemein)
background:Wert;
Für Wert eine zusammenfassende Angabe aus background-image, background-repeat, background-attachment und background-position notieren.
z.B. background: url(/../bilder/background.gif) repeat-x fixed;

 

Listenformatierung

Darstellungstyp list-style-type:Wert;
Für Wert einen der folgenden Werte notieren:
decimal = für ol-Listen: Nummerierung 1.,2.,3.,4. usw.
lower-roman = für ol-Listen: Nummerierung i.,ii.,iii.,iv. usw.
upper-roman = für ol-Listen: Nummerierung I.,II.,III.,IV. usw.
lower-alpha = für ol-Listen: Nummerierung a.,b.,c.,d. usw.
upper-alpha = für ol-Listen: Nummerierung A.,B.,C.,D. usw.
lower-greek = für ol-Listen: Nummerierung griechisch: ?., ?., ?., ?. usw.
hebrew = für ol-Listen: Nummerierung hebräisch
decimal-leading-zero = für ol-Listen: Nummerierung 01.,02.,03.,04., ... 98.,99. usw.
cjk-ideographic = für ol-Listen: Nummerierung mit ideographischen Zeichen
hiragana = für ol-Listen: Nummerierung in Japanisch (a, i, u, e, o, ka, ki, ... )
katakana = für ol-Listen: Nummerierung in Japanisch (A, I, U, E, O, KA, KI, ... )
hiragana-iroha = für ol-Listen: Nummerierung in Japanisch (i, ro, ha, ni, ho, he, to, ... )
katakana-iroha = für ol-Listen: Nummerierung in Japanisch (I, RO, HA, NI, HO, HE, TO, ... )
disc = für ul-Listen: Dateisymbol als Bullet-Zeichen.
circle = für ul-Listen: rundes Bullet-Zeichen.
square = für ul-Listen: rechteckiges Bullet-Zeichen.
none = kein Bullet-Zeichen, keine Nummerierung.
Listeneinrückung list-style-position:Wert;
Für Wert einen der folgenden Werte notieren:
inside = eingerückt.
outside = ausgerückt (Voreinstellung).
eigene Bullet-Grafik list-style-image: url(/URI);
Für URI eine Web-Adresse oder ein Ziel mit oder ohne Pfad angeben, wo sich die gewünschte Grafikdatei (GIF oder JPEG) befindet.
Listendarstellung
(allgemein)
list-style:Wert;
Für Wert eine zusammenfassende Angabe aus list-style-type, list-style-position und list-style-image notieren. Angaben durch Leerzeichen trennen.
z.B. list-style:lower-roman inside;

 

CSS-Eigenschaften: Tabellenformatierung

Ausrichtung
Tabellenüberschrift

caption-side:Wert;

Bezieht sich sinnvollerweise auf das caption-Element. Für Wert einen der folgenden Werte notieren:
top = oberhalb der Tabelle.
bottom = unterhalb der Tabelle.
left = links neben der Tabelle.
right = rechts neben der Tabelle.

Fixe/variable Breiten

table-layout:Wert;

Bezieht sich sinnvollerweise auf das table-Element. Für Wert einen der folgenden Werte notieren.
fixed = Breitenangaben haben Vorrang vor dem Zelleninhalt (Inhalt wird zur Not abgeschnitten).
auto = Zelleninhalt hat Vorrang vor Breitenangaben (Voreinstellung).

Rahmenmodell

border-collapse:Wert;

Bezieht sich sinnvollerweise auf das table-Element. Für Wert einen der folgenden Werte notieren.
separate = Zellenrahmen fallen nicht zusammen.
collapse = Zellenrahmen fallen zusammen.

Rahmenabstand
Gitternetz

border-spacing:Wert;

Bezieht sich sinnvollerweise auf das table-Element. Für Wert eine numerische Angabe wie 3mm oder 10px notieren.

Anzeige
leerer Zellen

empty-cells:Wert;

Bezieht sich sinnvollerweise auf das table-Element. Für Wert einen der folgenden Werte notieren:
show = Zellenrahmen leerer Tabellenzellen werden angezeigt.
hide = Zellenrahmen leerer Tabellenzellen werden unterdrückt (Voreinstellung).

Sprachausgabeunterstützung

speak-header-cell:Wert;

Bezieht sich sinnvollerweise auf das th-Element. Für Wert einen der folgenden Werte notieren:
always = Kopfzelleninhalt bei jeder untergeordneten Datenzelle wiederholen.
once = Kopfzelleninhalt nur einmal wiedergeben (Normaleinstellung).

 

CSS-Eigenschaften: Positionierung und Anzeige von Elementen

Positionsart position:Wert;
Für Wert einen der folgenden Werte notieren.
absolute = absolute Positionierung, gemessen am Rand des nächsthöheren Elternelements, das nicht die Normaleinstellung position:static hat. Scrollt mit.
fixed = absolute Positionierung, gemessen am "Viewport", d.h. am Browserfenster. Bleibt beim Scrollen stehen.
relative = relative Positionierung, gemessen an der Normalposition oder Anfangsposition des Elements selbst.
static = keine spezielle Positionierung, normaler Elementfluss (Normaleinstellung).
Startposition
von oben
top:Wert;
In Verbindung mit absoluter oder relativer Positionierung für Wert eine numerische Angabe wie 100px oder 2cm notieren.
Startposition
von links
left:Wert;
In Verbindung mit absoluter oder relativer Positionierung für Wert eine numerische Angabe wie 18mm oder 30px notieren.
Startposition
von unten
bottom:Wert;
In Verbindung mit absoluter oder relativer Positionierung für Wert eine numerische Angabe wie 150px oder 1in notieren.
Startposition
von rechts
right:Wert;
In Verbindung mit absoluter oder relativer Positionierung für Wert eine numerische Angabe wie 4.5cm oder 300px notieren.
Breite width:Wert;
Für Wert eine numerische Angabe wie 120mm oder 580px oder auto (Voreinstellung) notieren.
Mindestbreite min-width:Wert;
Für Wert eine numerische Angabe wie 400px oder 3cm notieren.
Maximalbreite max-width:Wert;
Für Wert eine numerische Angabe wie 600px oder 3.8in notieren. Sinnvoll in Verbindung mit overflow:
Höhe height:Wert;
Für Wert eine numerische Angabe wie 300px oder 4cm oder auto (Voreinstellung) notieren.
Mindesthöhe min-height:Wert;
Für Wert eine numerische Angabe wie 35mm oder 500px notieren.
Maximalhöhe max-height:Wert;
Für Wert eine numerische Angabe wie 250px oder 1cm notieren. Sinnvoll in Verbindung mit overflow:
Elementbereich
mit übergroßem
Inhalt
overflow:Wert;
Für Wert einen der folgenden Werte notieren:
visible = Element wird so weit ausgedehnt, dass sein Inhalt auf jeden Fall komplett sichtbar ist.
hidden = Element wird abgeschnitten, wenn es die Grenzen überschreitet.
scroll = Element wird abgeschnitten, wenn es die Grenzen überschreitet. Der WWW-Browser sollte jedoch Scroll-Leisten anbieten, ähnlich wie in einem eingebetteten Frame-Fenster.
auto = Der Web-Browser soll entscheiden, wie das Element im Konfliktfall angezeigt wird. Auch das Anbieten von Scroll-Leisten soll dabei erlaubt sein.
Schriftrichtung direction:Wert;
Für Wert einen der folgenden Werte notieren:
ltr = von links nach rechts.
rtl = von rechts nach links.
Textumfluss float:Wert;
Für Wert einen der folgenden Werte notieren:
left = Element steht links und wird rechts davon von nachfolgenden Elementen umflossen.
right = Element steht rechts und wird links davon von nachfolgenden Elementen umflossen.
none = Kein Umfluss (Normaleinstellung).
Fortsetzung
bei Textumfluss
clear:Wert;
Für Wert einen der folgenden Werte notieren:
left = Erzwingt bei float:left die Fortsetzung unterhalb.
right = Erzwingt bei float:right die Fortsetzung unterhalb.
both = Erzwingt in jedem Fall die Fortsetzung unterhalb.
none = Erzwingt keine Fortsetzung unterhalb. (Normaleinstellung).
Schichtposition
bei Überlappung
z-index:Wert;
Sinnvoll bei absolut positionierten Elementen, die sich überlappen. Für Wert eine Zahl notieren. Je höher die Zahl, desto weiter vorne das Element, je niedriger, desto weiter hinten das Element.
Anzeigeart
ohne Platzhalter
display:Wert;
Für Wert einen der folgenden Werte notieren.
block = Erzwingt einen Block - das Element erzeugt eine neue Zeile.
inline = Erzwingt die Anzeige im Text - das Element wird im laufenden Textfluss angezeigt.
list-item = wie block, jedoch mit einem Aufzählungszeichen (Bullet) davor.
marker = deklariert automatisch generierten Text für das Element.
run-in und compact = bewirken, dass das Element kontext-abhängig als Block-Element oder als Inline-Element dargestellt wird.
none = Element wird nicht angezeigt und es wird auch kein Platzhalter freigelassen.

Ferner - für Tabellen aus Nicht-Tabellen-Elementen (z.B. bei XML):
table = Das Element enthält tabellarisch angeordnete Kindelemente und erzeugt eine neue Zeile. Wirkt wie das table-Element in HTML.
inline-table = Das Element enthält tabellarisch angeordnete Kindelemente und wird im laufenden Textfluss angezeigt. Wirkt wie das table-Element in HTML, aber inline.
table-row = Das Element enthält nebeneinander angeordnete Kindelemente. Wirkt wie das tr-Element in HTML.
table-row-group = Das Element enthält eine Gruppe von Elementen mit nebeneinander angeordneten Kindelementen. Wirkt wie das tbody-Element in HTML.
table-header-group = Das Element enthält eine Gruppe von Elementen mit nebeneinander angeordneten Kindelementen. Wirkt wie das thead-Element in HTML.
table-footer-group = Das Element enthält eine Gruppe von Elementen mit nebeneinander angeordneten Kindelementen. Wirkt wie das tfoot-Element in HTML.
table-column = Das Element steht für eine Gruppe von Elementen, die eine Spalte der Tabelle bilden. Wirkt wie das col-Element in HTML.
table-column-group = Das Element steht für eine Gruppe von Elementen mit der Eigenschaft table-cell. Wirkt wie das colgroup-Element in HTML.
table-cell = Das Element steht für eine Tabellenzelle. Wirkt wie das td-Element in HTML (auch für th-Elemente).
table-caption = Das Element steht für eine Tabellenüberschrift. Wirkt wie das caption-Element in HTML.
Anzeigeart
mit Platzhalter
visibility:Wert;
Für Wert einen der folgenden Werte notieren:
hidden = Der Inhalt des Element wird zunächst versteckt (nicht angezeigt).
visible = Der Inhalt des Element wird zunächst angezeigt (Normaleinstellung).
Anzeigebereich
eingrenzen
clip:rect(Wert1 Wert2 Wert3 Wert4);
Für Wert1 Wert für "oben", gemessen an der oberen Elementgrenze, notieren, z.B. 0px
Für Wert2 Wert für "rechts", gemessen an der linken Elementgrenze, notieren, z.B. 130px
Für Wert3 Wert für "unten", gemessen an der oberen Elementgrenze, notieren, z.B. 130px
Für Wert4 Wert für "links", gemessen an der linken Elementgrenze, notieren, z.B. 0px

 

CSS-Eigenschaften: Anzeigefenster

Cursor cursor:Wert;
Zugeordnetes Element erhält beim Überfahren mit der Maus einen anderen Cursor. Für Wert einen der folgenden Werte notieren:
auto = automatischer Cursor (Normaleinstellung).
default = Plattformunabhängiger Standard-Cursor.
crosshair = Cursor in Form eines einfachen Fadenkreuzes.
pointer = Cursor in Form eines Zeigers.
move = Cursor in Form eines Kreuzes, das die Fähigkeit zum Bewegen des Elements signalisiert.
n-resize = Cursor in Form Pfeils, der nach oben zeigt (n = Norden).
ne-resize = Cursor in Form Pfeils, der nach rechts oben zeigt (ne = Nordost).
e-resize = Cursor in Form Pfeils, der nach rechts zeigt (e = Osten).
se-resize = Cursor in Form Pfeils, der nach rechts unten zeigt (se = Südost).
s-resize = Cursor in Form Pfeils, der nach unten zeigt (s = Süden).
sw-resize = Cursor in Form Pfeils, der nach links unten zeigt (sw = Südwest).
w-resize = Cursor in Form Pfeils, der nach links zeigt (w = Westen).
nw-resize = Cursor in Form Pfeils, der nach links oben zeigt (nw = Nordwest).
text = Cursor in einer Form, die normalen Text symbolisiert.
wait = Cursor in Form eines Symbols, das einen Wartezustand signalisiert.
help = Cursor in Form Symbols, das Hilfe zu dem Element signalisiert.
url([URI]) = Beliebiger Cursor, URI sollte eine GIF- oder JPG-Grafik sein.
Scrollbar
(Internet Explorer,
Konqueror und
Opera)
scrollbar-base-color:Wert;
scrollbar-3dlight-color:Wert;
scrollbar-arrow-color:Wert;
scrollbar-darkshadow-color:Wert;
scrollbar-face-color:Wert;
scrollbar-highlight-color:Wert;
scrollbar-shadow-color:Wert;
scrollbar-track-color:Wert;
Anwendbar auf die Elemente body und textarea. Für Wert eine Farbangabe wie #0000CC, fuchsia oder rgb(50%,60%,80%) notieren.
Es bedeuten:
scrollbar-base-color = Basisfarbe der Scroll-Leiste
scrollbar-3dlight-color = Farbe für 3D-Effekte
scrollbar-arrow-color = Farbe für Verschiebepfeile
scrollbar-darkshadow-color = Farbe für Schatten
scrollbar-face-color = Farbe für Oberfläche
scrollbar-highlight-color = Farbe für oberen und linken Rand
scrollbar-shadow-color = Farbe für unteren und rechten Rand
scrollbar-track-color = Farbe für freibleibenden Verschiebeweg

 

Zentrale Formate

Formate für Elemente Element { CSS-Eigenschaft:Wert; ...}
Für Element den Namen eines HTML-Elements wie h1 oder td oder * ("alle Elemente") notieren.
Für CSS-Eigenschaft eine Eigenschaft wie font-size oder background-color notieren.
Für Wert einen jeweils erlaubten Wert notieren.
Beliebig viele Notierungen von CSS-Eigenschaft:Wert; innerhalb der geschweiften Klammern möglich.
Formate für
verschachtelte Elemente
Element1 Element2 { CSS-Eigenschaft:Wert; ...}
Element1 > Element2 { CSS-Eigenschaft:Wert; ...}
Element1 * Element2 { CSS-Eigenschaft:Wert; ...}
Element1 + Element2 { CSS-Eigenschaft:Wert; ...}
Für Element1 und Element2 so etwas notieren wie h3 und var.
Formatdefinitionen gelten dann für var-Elemente innerhalb von h3-Elementen.
Oder für Element1 oder Element2 Platzhalter * ("alle Elemente") notieren.
Leerzeichen zwischen Element1 und Element2 bedeutet: egal wie viele Ebenen Element2 unterhalb von Element1 in der Elementstruktur liegt.
> bedeutet: nur wenn Element2 eine Ebene unterhalb von Element1 in der Elementstruktur liegt.
* bedeutet: wenn Element2 mindestens zwei Ebenen unterhalb von Element1 in der Elementstruktur liegt.
+ bedeutet: wenn Element2 auf gleicher Ebene liegt wie Element1 und in der Elementstruktur unmittelbar nach Element1 folgt.
Attributbedingte
Formate
Element[Attributname] { CSS-Eigenschaft:Wert; ...}
Element[Attributname=Attributwert] { CSS-Eigenschaft:Wert; ...}
Element[Attributname~=Attributwert] { CSS-Eigenschaft:Wert; ...}
Element[Attributname|=Attributwert] { CSS-Eigenschaft:Wert; ...}
Für Element ein HTML-Element wie z.B. a oder td oder * ("alle Elemente") notieren.
Für Attributname so etwas wie href oder align notieren.
a[href=index.htm] trifft z.B. auf Elemente mit <a href="/index.htm" mce_href="index.htm"> </a> zu.
img[alt~=Hamburg] trifft z.B. auf Elemente mit <img src="/bild.jpg" mce_src="bild.jpg" alt="Blick vom Michel auf Hamburg"> zu.
p[lang|=en] trifft z.B. auch auf Elemente mit <p lang="en-US">...</p> zu.
Formate für
Klassen
Element.Klassenname { CSS-Eigenschaft:Wert; ...}
*.Klassenname { CSS-Eigenschaft:Wert; ...}
.Klassenname { CSS-Eigenschaft:Wert; ...}
.KlassennameA.KlassennameB { CSS-Eigenschaft:Wert; ...}
Für Element ein HTML-Element wie z.B. strong oder table oder * ("alle Elemente") notieren. Der Stern kann auch entfallen.
Für Klassenname einen Namen notieren.
Trifft auf HTML-Elemente mit <Element class="Klassenname">...</Element> zu.
.gross trifft z.B. auf <p class="gross">...</p> zu.
.KlassennameA.KlassennameB trifft z.B. auf <p class="KlassennameA KlassennameB">...</p> zu.
Individual-formate #Name { CSS-Eigenschaft:Wert; ...}
Element#Name { CSS-Eigenschaft:Wert; ...}
Für Name einen Namen notieren.
Trifft auf HTML-Elemente mit <Element id="Name">...</Element> zu.
#Kopf trifft z.B. auf <div id="Kopf">...</div> zu.
Für Element ein HTML-Element wie z.B. h2 oder pre notieren.
p#Kopf trifft z.B. auf <p id="Kopf">...</p> zu, nicht aber auf <div id="Kopf">...</div>.
Pseudoelemente
Pseudoklassen
a:link { CSS-Eigenschaft:Wert; ... } /* noch nicht besuchte Ziele */
a:visited { CSS-Eigenschaft:Wert; ... } /* besuchte Ziele */
a:hover { CSS-Eigenschaft:Wert; ... } /* Verweise bei "MouseOver" */
a:active { CSS-Eigenschaft:Wert; ... } /* Angeklickte Verweise */
a:focus { CSS-Eigenschaft:Wert; ... } /* Verweise, die Fokus erhalten */

Element:hover { CSS-Eigenschaft:Wert; ... } /* Element bei "MouseOver" */
Element:active { CSS-Eigenschaft:Wert; ... } /* Angeklickte Elemente */
Element:focus { CSS-Eigenschaft:Wert; ... } /* Elemente, die Fokus erhalten */

#Name:hover { CSS-Eigenschaft:Wert; ... } /* Individualformate bei "MouseOver" */
#Name:active { CSS-Eigenschaft:Wert; ... } /* Angeklickte Individualformate */
#Name:focus { CSS-Eigenschaft:Wert; ... } /* Individualformate, die Fokus erhalten */

Element:first-line { CSS-Eigenschaft:Wert; ... } /* erste Zeile */
Element:first-letter { CSS-Eigenschaft:Wert; ... } /* erster Buchstabe */

Element:lang(xy) { CSS-Eigenschaft:Wert; ... } /* Elemente mit Sprachauszeichnung */

Element:before { content:Wert; } /* Vor dem Element einfügen */
Element:after { content:Wert; } /* nach dem Element einfügen */
:link und :visited sind nur bei a-Elementen (Verweisen) möglich, :hover, :active und :focus auch bei anderen Elementen und Individualformaten.

Bei content:Wert für Wert in Anführungszeichen einen statischen Text notieren, oder url(URI), wobei URI eine Grafik referenzieren kann, oder open-quote und close-quote für Anführungszeigen, oder eine automatische Nummerierung wie folgt:
content:counter(Name); counter-increment(Name);
Dabei für Name einen Namen für den Zähler notieren.

 

Direktformatierung von Elementen

SS in HTML-Elementen <Element style="CSS-Eigenschaft:Wert; ...">...</Element>
Für Element den Namen eines HTML-Elements wie p oder table oder blockquote notieren.
Für CSS-Eigenschaft eine Eigenschaft wie font-size oder background-color notieren.
Für Wert einen jeweils erlaubten Wert notieren.
Beliebig viele Notierungen von CSS-Eigenschaft:Wert; innerhalb des style-Attributs möglich.

 

Numerische Angaben

Abkürzung Angabetyp Bedeutung Beispiele
pt absolut Steht für Punkt. Typografische Maßeinheit. 1 Punkt entspricht 1/72 Inches. font-size:12pt;
line-height:14pt;
pc absolut Steht für Pica. Typografische Maßeinheit. 1 Pica entspricht 12 Punkt. font-size:1pc;
line-height:1.2pc;
in absolut Steht für Inch. Allgemeines Längenmaß im angelsächsischen Raum. 1 Inch entspricht 2.54 Zentimetern. border-width:0.1in;
margin-left:1in;
mm absolut Steht für Millimeter. Allgemeines Längenmaß. 1000. Teil des Urmeters. margin-bottom:10mm;
width:70mm;
cm absolut Steht für Zentimeter. Allgemeines Längenmaß. 100. Teil des Urmeters. font-size:1cm;
top:2.54cm;
px absolut/relativ Steht für Pixel. Abhängig von der Pixeldichte des Ausgabegeräts, relativ also von Ausgabegerät zu Ausgabegerät, absolut dagegen auf ein und das selbe Ausgabegerät bezogen. border-width:3px;
margin-right:60px;
em relativ Steht für bezogen auf die Schriftgröße des Elements. Ausnahme: wenn die font-size-Eigenschaft (also die Schriftgröße) selbst mit dieser Maßangabe gesetzt wird, steht diese für bezogen auf die Schriftgröße des Elternelements. font-size:1.2em;
line-height:1.5em;
ex relativ Steht für bezogen auf die Höhe des Kleinbuchstaben x in diesem Element. Ausnahme: wenn die font-size-Eigenschaft (also die Schriftgröße) selbst mit dieser Maßangabe gesetzt wird, steht diese für bezogen auf die Höhe des Kleinbuchstaben x im Elternelement. text-transform:uppercase;
font-size:1.3ex;
% relativ Steht für Prozent. Je nach CSS-Eigenschaft relativ zur elementeigenen Größe, oder zu der des Elternelements, oder zu einem allgemeineren Kontext. Bei nebenstehendem Beispiel ist die Angabe zur Zeilenhöhe (line-height) relativ zur Schriftgröße (font-size) zu interpretieren. font-size:10pt;
line-height:120%;

 

Abkürzung Bedeutung
ActiveBorder Rahmenfarbe des aktiven Fensters.
ActiveCaption Hintergrundfarbe der aktiven Fenstertitelzeile.
AppWorkspace Farbe des Hintergrunds der aktiven Anwendung.
Background Farbe des Desktop-Hintergrunds.
ButtonFace Farbe von Buttons in Dialogfenstern.
ButtonHighlight Farbe für 3D-Lichteffekt von Buttons in Dialogfenstern.
ButtonShadow Farbe für 3D-Schatten von Buttons in Dialogfenstern.
ButtonText Farbe von Texten beschrifteter Buttons in Dialogfenstern.
CaptionText Farbe von Überschriften in Dialogfenstern.
GrayText Farbe von deaktiviertem Text in Dialogfenstern.
Highlight Farbe von ausgewählten Einträgen in Auswahllisten.
HighlightText Farbe von selektiertem Text.
InactiveBorder Rahmenfarbe eines nicht aktiven Fensters.
InactiveCaption Hintergrundfarbe einer nicht aktiven Fenstertitelzeile.
InactiveCaptionText Farbe der Überschrift in einer nicht aktiven Fenstertitelzeile.
InfoBackground Farbe für Tooltips und Hints (kleine Popup-Hilfen).
InfoText Textfarbe für Tooltips und Hints (kleine Popup-Hilfen).
Menu Farbe für Menüleisten.
MenuText Farbe für Menüeinträge.
Scrollbar Farbe der Scroll-Leiste in Fenstern.
ThreeDDarkShadow Dunkle Farbe bei Schatten von 3D-Elementen.
ThreeDFace Farbe von 3D-Elementen.
ThreeDHighlight Farbe von gerade angeklickten 3D-Elementen.
ThreeDLightShadow Helle Farbe bei Schatten von 3D-Elementen.
ThreeDShadow Dunkle Farbe bei Schatten von 3D-Elementen.
Window Hintergrundfarbe von Dokumentfenstern.
WindowFrame Farbe von Fensterrahmen.
WindowText Farbe von normalem Text in Dokumentfenstern.

Google search advise

Nachfolgend einige Tipps für das effiziente Suchen mit Google.

 

Suchen im Seitentitel

Den Namen XYZ in der Schlagzeile einer Seite finden

  • allintitle:XYZ

 

Suchen auf bestimmten Seiten

Was hat XYZ.com über eine bestimmte PERSON geschrieben

  • PERSON site:XYZ.com

 

Suchen nach bestimmten Dateitypen

Alles über eine bestimmte PERSON im pdf-Format finden

  • filetype:pdf PERSON

 

Suchen im Google-Cache

Verloren geglaubte Internet-Inhalte können aus dem Google-Cache aufgerufen werden. Die Seiten werden so aufgezeigt, wie sie zuletzt von Google indiziert worden sind

  • cache:www.xyz.com

 

Suchen nach Begriffen in der Internet-Adresse

Den Begriff XYZ in einer URL suchen

  • allinurl:XYZ

 

Suchen nach Fundstellen im Text

Was gibt es beispielsweise über die PERSON (nur) in Internet-Texten

  • intext:PERSON

 

Suchen nach Definitionen

IPSEC, ESP, WYSIWYG – Was bedeuten diese BEGRIFFE? Sich von Google die Begriffe definieren lassen

  • define:Begriff IPSEC

 

Filme suchen

Auf die riesige Kino-Datenbank von Google zurückgreifen. Als Begriffe können Teile des Filmtitels (auf Englisch) oder den Namen der Schauspieler und Regisseure eingeben werden

  • movie:Begriff

Some thoughts about technology

techcorner

Information Technology: Commodity? Essential? Playground? Change-Driver!

Computers, operating systems and supporting applications were (hopefully) created and designed to help people in easy way of living. Nowadays the new generations have been well oriented in using computers and related technologies. Every educational institute both private and public integrate computers as part of the learning process in any course and any level of education.

However, one can not deny that there are advantages and disadvantages embodied in Information Technology in general. The Internet today is composed of all major and minor Information Technologies, as such it is supporting issues like E-Crime, E-Fraud and many other illegal activities. On the other hand it can help people on research and to express themselves, to share any kind of data, share ideas through discussion, shopping around the clock without borders, distance education or even look for a job. In general, the Internet is very informative, but the blast of information that comes with it is also one of its drawbacks.

It is amazing how naturally our society is using and consuming (IT) Technology on the way of becoming the the open world that we are. Most of us no longer ask how this world is functioning or what it needs to hold it together. We expect this world being up and running 24x7x365, and if it is not, we feel like in the very past, helpless, becoming aware how dependent on technology we are.

Technology already plays a pretty important role in our social life, make no mistake about it. Most of us is using a mobile phone, a PDA or whatsoever called multi-functional device to do whatever you can imagine (whether it makes sense or not) while on the road. We use a PC, Laptop or for a short time a Media system at home to share and manage music, pictures and other private stuff with others. The trend at home / private sector is to converge different technologies and devices into a single one.

There is no difference in the business world, more than 80 percent of executives at organizations say that information technology has changed their organizations, with around 80 percent calling information technology either important or essential. More than half of the responsible believe that increased use of technology would give their organizations more time to focus on program and mission. More than 60 percent believe that increased use of technology would save their organizations money by making them more efficient.

At the same time, almost each third party is worried that increased use of information technology would sidetrack their organizations from their work, and an equal number thought increased use of technology would make staff members feel too far removed from the organization's mission.

Whatever is true, from my point of view, simple because technology has become more and more commodity, it is interesting, it can be fun, it may even be helpful, probably less critical (essential), to be very well versed in some technological stuff.

Functioning of the Domain Name System

This article covers the basic functions of the Domain Name System (DNS) to provide name resolution services to clients.

 

How DNS Works

Domain Name System (DNS) is the default name resolution service used on the Internet respectively on TCP/IP based communication networks. DNS is part of the TCP/IP protocol suite. All TCP/IP network connections are, by default, configured with the IP address of at least one DNS server in order to perform name resolution on the network.

DNS originated in the early days of the Internet when the Internet was a small network. The host names of the computers in this network were managed through the use of a single, centrally managed HOSTS file. Each site that needed to resolve host names was forced to use this file. As the number of hosts on the Internet grew, the traffic generated by the update process increased, as well as the size of the HOSTS file. The need for a new, scaleable and decentralized system became more and more obvious.

The Domain Name System introduced in 1984 became this new system. With DNS, the host names reside in a database that can be distributed among multiple servers, decreasing the load on any one server and providing the ability to administer this naming system on a per-partition basis. DNS supports hierarchical names and allows registration of various data types in addition to host name to IP address mapping used in HOSTS files. Because the DNS database is distributed, its potential size is unlimited and performance is not degraded when more servers are added.

 

DNS Domain Names

DNS is implemented as a hierarchical and distributed database containing various types of data, including host and domain names. The names in a DNS database form a hierarchical tree structure called the domain namespace. Domain names consist of individual labels separated by dots. A fully qualified domain name (FQDN) uniquely identifies the hosts position within the DNS hierarchical tree by specifying a list of names separated by dots in the path from the referenced host to the root.

 

Type

Description

Example

Root Domain

The top of the tree, representing an unnamed level. When used in a DNS domain name, it is stated by a trailing period (.) to designate that the name is located at the root or highest level of the domain hierarchy. In this occurrence, the DNS domain name is considered to be complete and points to an exact location in the tree of names. Names stated this way are called fully qualified domain names (FQDNs).

A single period (.)

Top Level Domain

A name used to indicate the type of organization using the name. Top level domain can also specify a country or region.

.ch for Switzerland, .com for a commercial use on the Internet

Second Level Domain

Second level domain can be of variable length. It is registered to a individual or organization for use on the Internet. Second level domain is following the appropriate top-level domain, depending on the type of organization or geographic location where a name is used.

piir.ch is the second level domain registered to a private entity as holder of this domain, slackware.com is registered to Slackware Inc.

Subdomain

Additional names that are derived from the registered second-level domain name. The holder of the second level domain can add these depending on its needs, independently of the naming scheme of the deriving domain. These include names added to grow the DNS tree of names in an organization and divide it into departments or geographic locations.

tech.piir.ch which is a fictitious subdomain but could be used by piir.ch for any (technical) purposes

Host or Resource Name

Names to identify a specific resource. Typically, the leftmost label of a DNS domain name identifies a specific computer on the network..

werder.piir.ch is the hostname, www.piir.ch is the CNAME pointing to the hostname

 

The Internet Domain Name System is managed by a Name Registration Authority on the Internet, responsible for maintaining top-level domains that are assigned by organization and by country/region. Top level domain management in Switzerland for example is done by Switch (www.switch.ch).

 

Examples of top-level domain names

  • com = commercial organizations
  • org = non profit organizations
  • edu = educational organizations
  • gov = government organizations
  • ch = two letter country code for Switzerland
  • de = two letter country code for Germany

 

Domain name hierarchy

The DNS domain namespace is based on the concept of a tree of named domains. Each level of the tree can represent either a branch or a leaf of the tree. A branch is a level where more than one name is used to identify a collection of named resources. A leaf represents a single name used once at that level to indicate a specific resource.

 

name hierarchy

 

The previous figure shows how piir.ch is assigned authority by the Internet root servers for its own part of the DNS domain namespace tree on the Internet. DNS clients and servers use queries as the fundamental method of resolving names in the tree to specific types of resource information. This information is provided by DNS servers in query responses to DNS clients, who then extract the information and pass it to a requesting program for resolving the queried name. In the process of resolving a name, keep in mind that DNS servers often function as DNS clients, querying other servers in order to fully resolve a queried name.

 

Resource Records

A DNS database consists of resource records (RRs). Each RR identifies a particular resource within the database. There are various types of RRs in DNS. The following table provides information about structure of common resource records.

 

Description

Type

Data

Start of Authority

SOA

Owner Name

 Primary Name Server DNS Name, Serial Number

 Refresh Interval

 Retry Interval

 Expire Time

 Minimum TTL

Host

A

Owner Name (Host DNS Name)

Host IP Address

Name Server

NS

Owner Name

Name Server DNS Name

Mail Exchanger

MX

Owner Name

Mail Exchange Server DNS Name, Preference Number

Canonical Name (alias) x

Owner Name (Alias Name)

Host DNS Name

 

Zone Files

A zone is a portion of the DNS database that contains the resource records with the owner names that belong to the contiguous portion of the DNS namespace. A DNS database can be partitioned into multiple zones. A DNS server can be configured to host zero, one or multiple zones.

A zone contains information about all names that end with the zone’s root domain name. Each zone is anchored at a specific domain name referred to as the zone’s root domain. A DNS server is considered authoritative for a name if it loads the zone containing that name. The first record in any zone file is a Start of Authority (SOA) resource record (RR). The SOA RR identifies a primary DNS name server for the zone as the best source of information for the data within that zone and as an entity processing the updates for the zone.

A name within a zone can also be delegated to a different zone that is hosted on a different DNS server. Delegation is a process of assigning responsibility for a portion of a DNS namespace to a DNS server owned by a separate entity.

 

DNS database replica

Multiple zones can represent the same portion of the namespace. We distinguish three types:

  • Primary
  • Secondary
  • Stub

 

Primary is a zone to which all updates for the records that belong to that zone are made. This zone is writeable. A secondary zone is a read-only copy of the primary zone. A stub zone is a read-only copy of the primary zone that contains only the resource records that identify the DNS servers that are authoritative for a DNS domain name. Any changes made to the primary zone file are replicated to the secondary zone file. DNS servers hosting a primary, secondary or stub zone are said to be authoritative for the DNS names in the zone.

A DNS server can host both a primary zone (which has the writeable copy of a zone file) and a separate secondary zone (which obtains a read-only copy of a zone file). A DNS server hosting a primary zone is said to be the primary DNS server for that zone, and a DNS server hosting a secondary zone is said to be the secondary DNS server for that zone.

 

Zone transfer

A zone transfer is the process of replicating a zone file to multiple DNS servers. This is achieved by copying the zone file from one DNS server to a second DNS server. Zone transfers can be made from both primary and secondary DNS servers.

A master DNS server is the source of the zone information during a transfer. The master DNS server can be a primary or secondary DNS server. If the master DNS server is a primary DNS server, then the zone transfer comes directly from the DNS server hosting the primary zone. If the master server is a secondary DNS server, then the zone file received from the master DNS server by means of a zone transfer is a copy of the read-only secondary zone file.

The zone transfer is initiated in one of the following ways:

  • The master DNS server sends a notification to the secondary DNS servers of a change in the zone file
  • The name server service on the secondary DNS server starts, or the refresh interval of the zone has expired (by default it is set to 900s in the SOA RR of the zone). If true, the secondary DNS server will query the master DNS server for the changes

 

There are two types of zone file replication. The first, a full zone transfer (AXFR), replicates the entire zone file. The second, an incremental zone transfer (IXFR), replicates only records that have been modified.

 

Database querying

DNS queries can be sent from a DNS client (resolver) to a DNS server, or between two DNS servers. A DNS query is merely a request for DNS resource records of a specified resource record type with a specified DNS name.

There are two types of DNS queries that may be sent to a DNS server:

  • Recursive
  • Iterative

 

Recursive query

A recursive query forces a DNS server to respond to a request with either a failure or a successful response. DNS clients (resolvers) typically make recursive queries. With a recursive query, the DNS server must contact any other DNS servers it needs to resolve the request. When it receives a successful response from the other DNS server(s), it then sends a response to the DNS client. The recursive query is the typical query type used by a resolver querying a DNS server and by a DNS server querying its forwarder, which is another DNS server configured to handle requests forwarded to it.

When a DNS server processes a recursive query and the query cannot be resolved from local data (local zone files or cache of previous queries), the recursive query must be escalated to a root DNS server. Each standards-based implementation of DNS includes a cache file (or root server hints) that contains entries for the root DNS servers of the Internet domains. (If the DNS server is configured with a forwarder, the forwarder is used before a root server is used.)

 

query recursion

 

 

Iterative query

An iterative query is one in which the DNS server is expected to respond with the best local information it has, based on what the DNS server knows from local zone files or from caching. This response is also known as a referral if the DNS server is not authoritative for the name. If a DNS server does not have any local information that can answer the query, it simply sends a negative response. A DNS server makes this type of query as it tries to find names outside of its local domain(s) (when it is not configured with a forwarder). It may have to query a number of outside DNS servers in an attempt to resolve the name.

 

query iterative

 

 

Time to Live for Resource Records

The Time to Live (TTL) value in a resource record indicates a length of time used by other DNS servers to determine how long to cache information for a record before expiring and discarding it. Most resource records inherit the minimum (default) TTL of one hour from the start of authority (SOA) resource record, which prevents extended caching by other DNS servers.

A DNS client resolver caches the responses it receives when it resolves DNS queries. These cached responses can then be used to answer later queries for the same information. The cached data, however, has a limited lifetime specified in the TTL parameter returned with the response data. TTL ensures that the DNS server does not keep information for so long that it becomes out of date. TTL for the cache can be set on the DNS database, per zone through the minimum TTL field of the SOA recordb as well as on the DNS client resolver side by specifying the maximum TTL the resolver allows to cache the resource records.

The two competing factors to consider when setting the TTL are 1: The accuracy of the cached information and 2: The utilization of the DNS servers and the amount of network traffic. If a query is answered with an entry from cache, the TTL of the entry is also passed with the response. This way the resolvers that receive the response know how long the entry is valid. The resolvers honor the TTL from the responding server; they do not reset it based on their own TTL. Consequently, entries truly expire rather than live in perpetuity as they move from DNS server to DNS server with an updated TTL.