- Inkrementeller Zonentransfer
-
Der inkrementelle Zonentransfer (auch IXFR genannt) ist ein Verfahren, das im Domain Name System des Internets zum Aktualisieren von Zonendateien verwendet wird. Es regelt die Kommunikation zwischen einem Master-Nameserver, der über die aktuellen Daten verfügt, und den Slave-Nameservern, deren Daten aktualisiert werden sollen.
Ziel des inkrementellen Zonentransfers ist es, die Menge der zu übertragenden Daten zu minimieren. Im Gegensatz zum vollständigen Zonentransfer AXFR werden deshalb nur die geänderten Sätze vom Master zu den Slaves kopiert. Die Einsparungen können besonders beim Notify-Verfahren (siehe: Zonentransfer) erheblich sein. Man stelle sich etwa eine Zone mit 10000 Resource Records vor, die häufig geändert wird und von einem Master an vier Slaves verteilt werden muss. Bei jeder Änderung werden bei AXFR die kompletten Zonendateien überspielt!
Um sicherzustellen, dass zwischen Master und Slaves keine Inkonsistenzen des Datenbestands entstehen, ist auf dem Master eine aufwändige Buchführung aller Änderungen erforderlich. Informationen über neue oder gelöschte RRs werden zunächst gesammelt und in einer Datei gesichert. Je nach DNS-Servertyp existieren dazu unterschiedliche Verfahren. BIND zum Beispiel speichert alle (dynamischen) Änderungen in sogenannten Journal-Files.
Details
Der IXFR wird vom Slave mit einer UDP-Message (DNS-Query-Typ 251) eingeleitet. Der Master sendet daraufhin eine Liste mit allen Änderungen. Ein Listenelement enthält dabei den SOA-RR und den geänderten RR (u.U. auch mehrere RRs). Bei einem gelöschten RR wird der SOA-RR vor dem Löschen und bei einem hinzugefügten RR der SOA nach dem Hinzufügen verwendet. Der Slave arbeitet die empfangene Liste ab und synchronisiert sich so mit dem Master.
Pro Änderung wird also ein Listenelement mit mindestens zwei RRs übertragen. Bei sehr vielen Änderungen kann ein inkrementeller Zonentransfer umfangreicher sein als ein vollständiger. Ein Master darf in derartigen Fällen auf einen IXFR-Request eines Slaves mit einem AXFR reagieren. In anderen Fällen heben sich Änderungen auf. So kann es etwa vorkommen, dass ein neuer Name hinzugefügt und wenig später wieder entfernt wird. Der Master kann dann diese irrelevanten Zwischenschritte bei der Übertragung der Liste weglassen.
Anmerkungen
Der inkrementelle Zonentransfer ist praktisch nur beim Notify-Verfahren sinnvoll. Beim Einsatz von BIND-Nameservern ist zu beachten, dass nur dynamische Updates einbezogen werden. Bei manuellen Änderungen eines Zonefiles muss nämlich ein BIND-Server zurückgesetzt werden, was einen kompletten Zonentransfer nach sich zieht.
Weblinks
- RFC 1995 - Incremental Zone Transfer in DNS
Wikimedia Foundation.