0. About This Document

This document describes the requirements for the xfrin component for BIND10. Currently it only focus on AXFR, requirement for IXFR needs to be added later.

1. Introduction

xfrin is one process of BIND10, it's used to do zone transfer-in from specific zone servers.

2. Specific Requirements

2.1 External Interface Requirements

2.1.1 User Interfaces

The xfrin is one of the co-operating processes of BIND10, it can be started up by MoB(Master of BIND10), or as a normal Unix process. This can be done via the command line, shell script, or system init script.

2.1.3 Communication Protocols

Unix signals and BIND10 c-channel will be used.

2.1.4 Assumption and Dependency

msgq and cfgmgr of BIND10 should be running before xfrin is started up.

2.2 Software Product Features

2.2.1 Startup

On startup, xfrin should first load its configuration data from cfgmgr.

2.2.2 Shutdown

When xfrin is shut down, zone data change did by unfinished AXFR session should can be reverted.

2.2.3 Change Xfrin configuration setting

User can change xfrin's configuration setting through the tool bindctl.

2.2.4 Trigger Zone Transfer

Zone transfer can be triggered by the following event:

Polling of a SOA resource record detects change in the SOA serial number.

Receive zone change notify.

Receive zone transfer command from bindctl.

Zone transfer for one zone can only be done in linear order. AXFR is currently restricted to TCP. The scenario for AXFR client(xfrin) is: open a TCP connection to the AXFR server, send a query for the zone's SOA resource record over the TCP, send an AXFR query, receive the AXFR response.

2.2.5 Abort Zone Transfer

User can abort the ongoing zone transfer through bindctl.

2.2.6 Update Stats

xfrin must periodically update the stats at the stats daemon, or answer the stats check to stats deamon.

2.2.7 Zone Integrity Guarantee

xfrin must ensure that only a successfully transferred copy of zone data can be used to serve this zone. If any error(e.g., TCP connection is closed remotely caused by a network event) is detected during zone transfer, the transferred data should be deleted, the server should serve the previous version of zone.

TSIG should be supported to enable verify the contents of zone transfer.

3 Software System Attributes

3.1 Reliability

The process must run until shutdown is requested.

3.3 Portability

The xfrin must run on any system that BIND10 runs on.

Last modified 8 years ago Last modified on Feb 4, 2010, 1:02:48 PM