ZEC Adding TCP Outputs
- Elisa Diel (Unlicensed)
- Eli Pielet (Writec) (Unlicensed)
TCP protocol provides reliable transmission guarantee for no loss of frame. Its bandwidth probing and congestion control will attempt to use all of the available bandwidth between the server and client, fetching content as quickly as possible while being friendly to other (TCP) traffic on the same links. The TCP output can push the stream directly to a TCP socket or to an HTTP server. Â
MultiPath TCP
Developed by  the Internet Engineering Task Force's (IETF) Multipath TCP working group, MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows. Zixi supports MultiPath TCP for Linux based on the OS Kernel support. This means that the Linux Kernel should be updated to support MPTCP. For detailed information on how to update the Kernel and use MPTCP, see ZEC Configuring MultiPath TCP.
The MPTCP functionality is similar to Zixi's "multi-link bonding" feature, which is available for UDP only. In this case MPTCP works on TCP.
If both the sending end and the receiving end support MultiPath TCP, Zixi can use this functionality to transmit a stream over TCP using multiple network interfaces (e.g. Wifi + mobile). The multiple links can be configured to:
- Aggregate - aggregate the bandwidth of the multiple links in order to use the total capacity of the links. In this case Zixi will use all available bandwidth among all available flows (if needed) to send the stream.
- Duplicate - enhance the path's resiliency by duplicating the stream and sending though multiple links in order to overcome errors and packet loss. Â Â
To create a TCP output:
- In the ZECÂ Outputs page, click . The New Output window is displayed.
 - Type in the unique identifier for this output in the Output Name.
- Select an Input Stream to be made available on this output from the adjacent drop-down list.
- Select the Show in Matrix check box to display this stream in the Matrix (see ZEC Using the Matrix). Default: Selected.
- Select TCP.
- Specify the Output parameters (see Output Stream Parameters Table).Â
- If the target is an HTTP server, select the HTTP checkbox. In this case, HTTP headers will be added to the stream.Â
- Enter additional parameters as necessary (see Output Stream Parameters Table).
- If you want to specify Billing Codes to identify and differentiate traffic on a ZEC for billing purposes, select this checkbox (see Output Stream Parameter Table below).
- You can decrypt an encrypted stream as it enters the ZEC. To decrypt a stream, select the Decrypt Stream checkbox and fill in the parameters as describes in the Output Stream Parameter Table below. For more information, see Decrypting an Output Stream in ZEC.
- Click OK. The new TCP Output with its settings is created and now appears on the screen.
Output Stream Parameters Table
Parameter | Description |
---|---|
Output Parameters | |
Host | The destination host for the stream. |
Port | Specify the ports to listen on for TCP streams. |
HTTP | If the target is an HTTP server, select the HTTP checkbox. In this case, HTTP headers will be added to the stream. |
Multi Path TCP | Select this checkbox to enable MultiPath TCP, which enables the transmission of a stream over TCP using multiple network interfaces (e.g. Wifi + mobile). Multi Path TCP is available for Linux only. |
Mode | The multiple links can be configured to:
|
Billing Codes | Billing codes are used to identify and differentiate traffic on a ZEC for billing purposes. When a billing code is added to a Source or Target, ZEC can track the traffic on that ZEC input or output separately from other inputs and outputs on the same ZEC. Billing codes are created by ZEC personnel on the ZEC Customer Portal for a particular organization. |
Billing Code | Enter the billing code that corresponds to this stream. The relevant billing can be obtained from the organization that received the billing code from Zixi. |
Billing password | Enter the password that corresponds to this billing code. |
Enable Decryption | Select this checkbox to enable decryption of an encrypted stream. |
Decryption type | If the stream has been encrypted, you can decrypt through the output by selecting this checkbox and specifying the type of encryption that was used. Select Automatic to decrypt a stream that has been encrypted using Automatic encryption. Only if the stream has not been encrypted, select None (default). Important Notice: if the stream has been encrypted you must decrypt it in the output. |
Decryption key | Enter the decryption key to decrypt the encrypted stream. |