中文网站
  Advanced Search
Read the latest Blogs from IT professionals in the field. Read and write community created documents. Need IT help? Ask our staff. Connect with your peers. Check our Tech Shop for posters, books and software tools. Home

NDMP: Network Data Management Protocol

The Network Data Management Protocol (NDMP) is an open protocol for enterprise-wide network based data management. NDMP defines a network-based mechanism and protocol for controlling backup, recovery, and other transfers of data between primary and secondary storage. The NDMP (version 5) architecture is based on the client server model. The backup management software is considered the client, namely NDMP data management application (DMA). There is one and only one DMA in an NDMP session. Each additional process participating in the data management session is an NDMP service. There are three types of NDMP services: Data service, Tape service and Translate service. The NDMP architecture separates the network attached Data Management Application (DMA), Data Servers and Tape Servers participating in archival or recovery operations. NDMP also provides low-level control of tape devices and SCSI media changers.

The DMA is the application that creates and controls the NDMP session. The Client reads, stores and manages all session state: server topology, tape sets and numbering, synchronization points, etc., everything needed to continue the session, or reverse the session, for instance to restore fully or partially a file system. There is one and only one connection between the DMA and each NDMP service. This is the NDMP Control Connection. The control connection is a bi-directional TCP/IP connection.

If the Client is distributed in such a way that two or more client processes need to communicate to one NDMP service, the client side commands needs to be merged into one command stream and synchronized by the DMA. This command stream is sent to the service over one connection.

The NDMP protocol is based on XDR encoded messages transmitted over a TCP/IP connection.

 Network Data Management Protocol

NDMP: Network Data Management Protocol

Protocol Structure

An NDMP message consists of a message header optionally followed by a message body. Each message is identified by a message number that is sent as part of the message header. Each messagewill be XDR encoded and sent within a single XDR record.

 Network Data Management Protocol - 2

NDMP: Network Data Management Protocol - 2

The message headers are defined by the following XDR block.

enum ndmp_header_message_type {
NDMP_MESSAGE_REQUEST,
NDMP_MESSAGE_REPLY
};

struct ndmp_header {
u_longsequence;
u_longtime_stamp;
ndmp_header_message_typemessage_type;
enum ndmp_messagemessage;
u_longreply_sequence;
ndmp_errorerror;
};

Message header data definitions:

  • sequence - The sequence number is a connection local counter that starts at one and increases by one for every message sent.
  • time_stamp - The time_stamp identifies the time, in seconds.
  • message_type - The message_type enum identifies the message as a request or a reply message.
  • message - The message field identifies the message.
  • reply_sequence - The reply_sequence field is 0 in a request message. In reply messages, the reply_sequence is the sequence number from the request message to which the reply is associated.
  • error - The error field is 0 in request messages. In reply messages, the error field identifies any problem that occurred receiving or decoding the message.

Related protocols: iSCSI, iFCP, FCP, FCIP, mFCP

Sponsor Source: NDMP standards are defined by Storage Networking Industry Association (http://www.snia.org)

Reference: http://www.ndmp.org: Network Data Management Protocol specifications