TCP Splitter
TCP Splitter
The TCP Splitter sits in the path of a network connection and copies the traffic to one or more extra destinations, so signal traffic can be collected or sent to more than one system without disturbing the original link.
Overview
The TCP Splitter stands between a client and a server: traffic still flows between them as normal, and the Splitter copies it to additional destinations you configure - for example to collect a copy of signal traffic, or to feed the same data to a second system. Each split has the original server and client endpoints plus the extra destinations.
- Runs: When configured. One per host.
- Required: Only where you need to tap or duplicate a connection. Not needed otherwise.
- Depends on: NATS, and the network endpoints it bridges.
Configuration
The TCP Splitter is configured under the tcpsplitter namespace as a list of splitters. Each splitter has:
| Setting | Description |
|---|---|
name | A name for the split. |
server | The endpoint it listens on (address and port) for the original connection. |
client | The endpoint it connects to in order to reach the real server. |
destinations | One or more extra endpoints that receive a copy of the traffic. |
Each destination can copy the server side, the client side, or both, and can either connect out to a destination or listen for one.
tcpsplitter:
splitters:
- name: signal-tap
server:
address: "0.0.0.0"
port: 8000
client:
address: "10.0.0.10"
port: 8000
destinations:
- name: collector
address: "10.0.0.20"
port: 9000
tap:
server: trueAfter changing settings in sbn-media.local.yaml, apply them with ./sbn-media config reload. There is also a passive capture mode that taps a network interface directly; it is used only for migrations.
Recording signals for replay
In passive capture (SPAN) mode the Splitter can also write the signal traffic it sees to disk, so a real session can be captured on site and replayed later into a test system. This is meant for migrations and for building a test corpus for the new Concentrator - it is off unless you configure it.
Recording is turned on by adding a record block to the SPAN configuration. Its presence is what enables it; there is no separate on/off flag.
| Setting | Description |
|---|---|
dir | Folder the recording files are written to (one file per split). |
maxFileMb | Roll to a new file once the current one reaches this size. Leave unset or 0 for no limit (a single growing file). |
maxFiles | Keep at most this many files per split, deleting the oldest as new ones roll. Leave unset or 0 to keep them all. |
span:
record:
dir: "/var/lib/sbn-media/recordings"
maxFileMb: 0
maxFiles: 0The recording captures the reassembled signal stream - the same bytes a receiving system would read - not raw network packets. It does not affect the live traffic the Splitter forwards. A recording can be replayed back in its original order and timing to drive a downstream system as if the signals were arriving live.
FAQ
What is it for?
Copying a connection's traffic to extra destinations - to collect signal traffic, or to feed a second system - while the original link keeps working.
Does it interrupt the original connection?
No. Traffic still flows between the client and the server; the copies are additional.
Do I need it?
Only where a tap or a duplicate of a connection is required.
Related pages
- SBN Media Overview (
SBN-Media/overview) - Installing and Configuring SBN Media (
SBN-Media/installation) - Watchdog (
SBN-Media/Platform/watchdog)