Unicast and Multicast
In both TT client and server applications, TTM uses both unicast and multicast techniques to optimize network communications.
TT machines on your network must be able to communicate with one another via both unicast and multicast.
Most network traffic consists of point-to-point communication (data sent directly between only two nodes or machines). Examples of this sort of communication include telnet, surfing the Web, or printing a document. However, point-to-point communication can cause heavy network traffic when large numbers of machines request the same information, because server machines send the same information multiple times over the same data lines.
Unicast is a point-to-point connection-less technique used for network communication. When a client machine requests a file, the server responds by sending the file only to that machine. However, unicast can rapidly use up network bandwidth because multiple copies of the same data can be sent to multiple users.
|If ten machines using point-to-point communication ask for the same information from a TT CME Gateway, the Gateway sends the same information ten times (once for each machine). Thus, network traffic (i.e., bandwidth usage) is ten times heavier than if the requested packet of information had been sent only once.|
Examples of how TTM uses unicast include:
- Communicating orders and fill-related data between the TT Gateway and client machines
- Sending key files from the TT Gateway to client machines
- Sending and receiving all login authentication information between clients and servers
Using broadcast communication, machines do not send multiple copies of data across the network, which minimizes the use of network bandwidth (i.e., the same network bandwidth is consumed whether one or 100 users receive identical data). Rather, a machine broadcasts one message to multiple recipients. The following diagram illustrates network load per client machine in a unicast environment versus one in which broadcast communication is utilized.
But, whereas broadcast communication distributes a single set of data to all machines on the network regardless of whether a machine needs it, when configured properly multicast distributes data only to those users set to listen for it.
In addition to Unicast, TTM uses multicast network communication (a type of broadcast technology). This sort of communication distributes information from one source to potentially many different machines in a single broadcast.
When a network uses multicast, the user instructs a computer’s NIC to listen to a particular multicast group address for multicast data. Once configured, machines continuously monitor network traffic for data packets that match the set multicast group address. These machines filter out unwanted messages (ones that do not match the configured multicast group address). The computer from which the multicast originates does not know which machines are set to listen to its messages.
In addition to the multicast group address, TTM also uses a multicast subject to further define the types of data it sends and for which it listens. Whenever the Operating System (OS) receives a packet of data stamped with the multicast group address and subject group for which TTM is set to listen, the OS passes the data to TTM. If the OS receives a multicast data packet that does not carry an address and subject to which TTM subscribes, the OS ignores and drops the packet. By default, TTM uses the multicast address 18.104.22.168.
|If ten machines subscribe to a CME price feed, the TT CME Gateway sends price packets only once across the network, and all ten machines receive the same information. Thus, network traffic (i.e., bandwidth usage) is ten times less than for point-to-point communication.|
Pragmatic General Multicast (PGM)
TTM conforms to the PGM protocol and runs it over IP protocol number 113. PGM is a reliable multicast transport protocol for applications that require ordered, duplicate-free, multicast data delivery from multiple sources to multiple receivers. For further details on PGM protocol, reference the following document: http://www.ietf.org/rfc/rfc3208.txt.
PGM ensures that TTM receives packets in the order in which the packets are sent across the network. It is referred to as a reliable multicast and is automatically enabled in all TTM daemons. Although reliable multicast is needed for most network transactions, it is not needed for price updates from PFX-enabled gateways, which are delivered as a full, contract-level update of the current market conditions. For these transactions, TTM automatically disables the PGM reliability, and eliminates unneeded NAKs and responses.