Raw socket IP transport service
Serial data transport using raw sockets over IP transport services is a method of transporting serial data, in character form, over an IP network using Layer 3-based services. This feature can help transport Supervisory Control and Data Acquisition (SCADA) data from Remote Terminal Units (RTUs) to Front-End Processors (FEPs), or SCADA masters.
The functionality provided by the IP transport service feature for serial raw sockets is summarized as follows:
IP transport local host server function, to listen and open raw socket sessions from remote hosts
IP transport remote host client function, to initiate and open new raw socket sessions to remote hosts
Both local host and remote host functions support either TCP or UDP IP transport services
IP transport over a VPRN service
Enhanced QoS and queuing of sessions to ensure collisions between sessions do not cause serial data to impact RTUs and end-user equipment
IP transport service illustrates a more detailed view of the local host (server) and remote host (client) functionality that enables multiple communication streams to and from a serial port using raw socket IP transport.
The figure shows a three-node network, a 7705 SAR-Hm (left), a 7705 SAR-8/7705 SAR-18 (top-right) and a 7750 SR/VSR (bottom right). There are two devices, RTU (1) and RTU (2) connected to the serial ports on the 7705 SAR-Hm. The FEP server [A] can reach the RTUs the via socket sessions that originate from the SDI card on the 7705 SAR-8/7705 SAR-18 node.
The bottom right 7750 SR or VSR node is connected to FEP server [B] directly using Ethernet. This FEP server reaches the RTUs via a Layer 3 VPRN service where TCP and UDP sessions originating from the FEP server [B] terminate on the 7705 SAR-Hm to deliver the raw socket serial data to the RTUs.
Through local host and remote host configurations on the 7705 SAR-Hm, 7705 SAR-8, or 7705 SAR-18, serial raw socket IP transport sessions are established to carry serial data over a wireless IP/MPLS network. The source and destination IP addresses and port numbers for these sessions are derived directly from the local/remote host configurations associated with each serial port or master head-end server. Further details are described in the subsequent sections.
A raw socket IP transport interface can be configured for each serial port. This allows the raw socket IP transport to receive TCP or UDP session packets from multiple remote hosts when operating as a local host (server), or to create new multiple sessions to remote hosts to send and receive serial data when operating as a client.
There are two main configurations required for a serial raw socket IP transport service to be operational and support the sending and receiving of serial data:
Port-level socket configuration—this includes rudimentary serial link parameters such as baud rate, start/stop values, and bits.
Also, socket-level configuration is required, such as end-of-packet checking parameters (idle-time, length, special character), and the inter-sessions delay for transmitting sessions data out the serial link. For information about the required port-level configuration, see the 7705 SAR-Hm and SAR-Hmc Interface Configuration Guide, "Serial raw socket interface commands".
IP transport service-level configuration—this includes creating an IP transport subservice to associate the serial port within a Layer 3 VPRN service, so that TCP/UDP encapsulated serial data can be routed within the corresponding Layer 3 service. The IP transport subservice ID is modeled and created identical to creating SAP IDs under the same service types. IP transport configuration includes IP transport local host items and remote host items, such as TCP timers and sessions controls. These are described further in the sections that follow. Also, see Serial raw socket IP transport configuration commands hierarchy for the required information.
A raw socket IP transport service configured for a serial port allows the IP transport local host to listen to and open raw socket sessions from remote hosts that need to communicate over the serial port, and for each serial port's local host to initiate and open raw socket sessions to remote hosts when serial data needs to be sent to those remote hosts. The local and remote host functions support TCP or UDP sessions (but not both concurrently) over the VPRN service.
The serial data is received as characters that represent bytes in a packet. These bytes are packetized into Layer 3 TCP/UDP packets that are then transported or forwarded across the IP/MPLS network using the node's Layer 3 VPRN service constructs for routing. TCP/UDP packet transport over IP/MPLS illustrates how serial data is encapsulated into TCP/UDP packets and transported over IP/MPLS. When using a cellular port, GRE-MPLS and encapsulations for the service would be included, but this is not shown in the figure.
For raw socket packets to be routed within a VPRN service, an IP transport subservice must be configured within a VPRN context. The IP transport subservice context is where users configure local host and remote host information, such as IP addresses and ports for establishing TCP/UDP sessions, and other per-session parameters. TCP/UDP encapsulated serial data is routed within the corresponding Layer 3 VPRN service. VPRN IP transport service illustrates this basic concept.
To create an IP transport subservice, the ip-transport command is used with the corresponding serial port as the ipt-id to bind the serial port SAP to the IP transport subservice. After the IP transport service is created, local host and remote host configurations can proceed. A local host must be configured before remote hosts can be configured.
Each local host uses a local address (from a loopback or local interface configured under the VPRN service context) as the local host IP address (that is, the source IP address in the raw socket packets leaving the node within the VPRN service) of the IP transport subservice associated with the serial port. The local host is used to terminate TCP/UDP sessions from remote hosts. The local host can select either the TCP or UDP protocol for raw socket sessions but not both concurrently.
Multiple remote hosts can be configured under the IP transport subservice associated with the serial port so that each remote host receives the serial data that is received on the serial port. Each remote host has its own remote destination IP address and port value for establishing sessions. The configured remote hosts use the TCP or UDP protocol configured for the IP transport subservice.
IP transport processing of TCP/UDP packets is performed by the CPM task. Filters configured for protecting the CPM need to take into account the raw socket IP transport packets and ensure the filter is not blocking associated IP transport sessions. For example, operators need to ensure interface IP addresses and ports configured on the node are not blocked, and remote host IP/port combinations are not blocked.