Atlas Knowledge Base
Dashboard
TCP Splitter

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:

SettingDescription
nameA name for the split.
serverThe endpoint it listens on (address and port) for the original connection.
clientThe endpoint it connects to in order to reach the real server.
destinationsOne 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: true

After 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.

SettingDescription
dirFolder the recording files are written to (one file per split).
maxFileMbRoll to a new file once the current one reaches this size. Leave unset or 0 for no limit (a single growing file).
maxFilesKeep 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: 0

The 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)


Was this helpful?