Data Diode Connector component: ddc-filter
1.9K
Cloud-native, high-performance data transfer suite for unidirectional network environments.
š Official Site: data-diode-connector.ffutop.comā
Data Diode Connector is an engineering-grade software solution designed to bridge modern applications (like Kafka, UDP, TCP) with physical Data Diodes (unidirectional network devices / optical diodes).
Built entirely in Rust, Data Diode Connector ensures memory safety, ultra-low latency, and high throughput (supporting 10Gbps+ line rate). It is the ideal choice for Critical Infrastructure, Industrial Control Systems (OT/ICS) Security, and Defense environments that mandate strict physical/logical isolation.
In a unidirectional network, the receiver cannot send "ACK" confirmations or flow control signals back to the sender. This prevents standard TCP connections from being established, while direct UDP traffic is prone to "silent packet loss" due to buffer overflows.
Data Diode Connector solves this challenge perfectly through the following mechanisms:
BipBuffer) and zero-copy mechanisms to saturate 10Gbps bandwidth with minimal CPU usage.packet_loss) and throughput via StatsD/Prometheus.DDC consists of two decoupled components that strictly follow a 1:1 pairing relationship:
%%{init: { "themeVariables": { "clusterBkg": "#ffffff", "clusterBorder": "#424242" }}}%%
graph LR
A["Source Application"] --> B["Ingress Proxy"]
B --> C(("Data Diode"))
C --> D["Egress Proxy"] --> E["Target Application"]
classDef darkStyle fill:#ffffff,stroke:#424242,color:#424242,stroke-width:2px
class A,B,C,D,E darkStyle;
š View Full Architecture and Deployment Topologiesā
The following example demonstrates how to set up a unidirectional link to mirror a Kafka Topic.
services:
# 1. Ingress Proxy (Deployed in Source Network/High Security Zone)
ddc-ingress:
image: ffutop/ddc-ingress:latest
environment:
# Protocol Configuration
- DDC_PROTOCOL_HANDLER_TYPE=kafka
- DDC_PROTOCOL_HANDLER_KAFKA_HOST_KAFKA_SERVER=source-kafka:9092
- DDC_PROTOCOL_HANDLER_KAFKA_TOPIC_NAME=critical-events
# Transport Configuration
- DDC_TRANSPORT_UDP_SEND_RECEIVER_ADDRESS=10.0.0.5 # Egress IP
- DDC_TRANSPORT_UDP_SEND_RECEIVER_PORT=1234
- DDC_TRANSPORT_UDP_SEND_SEND_DELAY_MS=1 # Flow Control (1ms interval per packet)
# 2. Egress Proxy (Deployed in Destination Network/Low Security Zone)
ddc-egress:
image: ffutop/ddc-egress:latest
ports:
- "1234:1234/udp"
environment:
# Transport Configuration
- DDC_TRANSPORT_UDP_RECEIVE_RECEIVER_PORT=1234
# Protocol Configuration
- DDC_PROTOCOL_HANDLER_TYPE=kafka
- DDC_PROTOCOL_HANDLER_KAFKA_HOST_KAFKA_SERVER=target-kafka:9092
- DDC_PROTOCOL_HANDLER_KAFKA_OUT_REPLACEMENT=mirrored-events
We provide production-ready Helm Charts via ArtifactHub.
# Add repository
helm repo add ffutop https://ffutop.github.io/helm-charts
helm repo update
# Install Ingress Proxy (Source Side)
helm install ddc-ingress ffutop/data-diode-connector-ingress \
--set protocolHandler.type=kafka \
--set transportUdpSend.receiverAddress=10.0.0.5
# Install Egress Proxy (Destination Side)
helm install ddc-egress ffutop/data-diode-connector-egress \
--set protocolHandler.type=kafka
š Detailed Configuration Referenceā
Data Diode Connector (DDC) offers flexible licensing options to meet the needs of businesses of all sizes. All versions share a unified, security-audited binary, with features and performance activated via a license key.
| Feature | Free Version | Commercial License |
|---|---|---|
| Core Engine | ||
| Rust High-Performance Transport | ā (Limited to 32KB/s) | ā (Unlimited) |
| 10Gbps Line-Rate Support | ā | ā |
| Flow Control Mechanismā | ā | ā |
| Protocol Support | ||
| Kafka (Standard Protocol) | ā | ā |
| UDP / TCP | ā | ā |
| Custom Proprietary Protocol Adaptation | ā | ā (Contact for quote) |
| Security Filtering | ||
| All Filtering Features | ā | ā |
| Technical Support | ||
| Support Channel | GitHub Issues | Dedicated WeChat Support |
| Response Time | Best Effort | Priority Response |
Contact Salesā or View Pricingā .
Copyright Ā© 2025 ffutop.
Content type
Image
Digest
sha256:b8babbbafā¦
Size
4.9 MB
Last updated
9 months ago
docker pull ffutop/ddc-filter