The Fabric Layer
The Fabric Layer provides high efficiency, low latency, reliable communication of a variety of kinds of data with security, scalability and complete failover support. RefractN has contributed the XPDR Fabric Layer Protocol to fill the demanding needs of this protocol.
The XPDR Fabric Layer Protocol is based very closely on the industry-standard IPDR streaming protocol that is used, primarily, for usage accounting and management but is versatile enough to manage a broader array of data and applications. It is very-well suited for reliably conveying a wide variety of data between network devices and back office systems. It uses the industry-standard XDR binary encoding scheme to efficiently transfer data.
Since XPDR is based on IPDR, it already benefits from the advantages IPDR has over existing device management protocols like TR-069 and SNMP.
- TR-069 is based on SOAP, a heavy-weight, human-readable format that is network inefficient because of its text encoding and as much as 90% overhead in headers. IPDR is binary encoded and has very low protocol overhead.
- SNMP is oriented towards transmitting a single data item at a time. Though there are mechanisms to collect more than one data element at a time, they require a complete transmission of the requested items at the time of the request. IPDR uses templates to define sets of data to be transmitted in bulk and it is only necessary to transmit a single request for all data in a template.
- Both TR-069 and SNMP are server-driven. While TR-069 allows for scheduled exports of a single set of data, IPDR supports periodic transmission of a variety of templates of data.
XPDR goes above and beyond IPDR, which is primarily focused on transferring large quantities of bulk data for multiple devices and provides even more efficiency and capability.
- XPDR separates template negotiation from data transmission. IPDR requires that a template, describing the data to be transmitted, be negotiated on each transmission. XPDR negotiates templates out of band ahead of time so that data transfers are immediate without the extra overhead of negotiating templates that rarely change.
- Data encoding goes beyond the standard XDR and recognizes that many data fields are the same from one transmission to another and de-dups those data fields so that they don't have to be transmitted repeatedly.
- XPDR's data encoding improves upon XDR again by performing ASN.1-type encoding of numeric values, ensuring that they are as short as possible regardless of type declaration.
- The RefractN XPDR implementation supports automatic device exports based on triggers defined in profiles passed down, along with templates and implemented by Fabric Layer logic.
- Besides the standard IPDR data types, XPDR supports additional types and structures allowing it to easily transfer data structured for SNMP, TR-069 and and other mechanisms and even supports compressed transport of large binary data types (BLOBs) that might be configuration files, firmware, or memory dumps, but can also be streaming data like tailed log files tunneled protocol data from Local Layer protocols. This compression uses a very fast L4Z compression algorithm that does not detract from the performance of connections.
- TLS security is built in.
- XPDR provides adaptive NAT support, relying primarily on the autonomous nature of the device agents to initiate necessary connections but also supporting the rare server-initiated connection using Web-Sockets when required to navigate proxies and/or strict firewalls, but falling back to the lower-weight STUN protocol when possible.
The reference implementation of the XPDR Fabric Layer Protocol provided by RefractN has been designed to support thousands of simultaneous connections and to provide the scalability and reliability required to support today's Internet of Things.