Difference between revisions of "UDP and TCP protocol (AlphaNet)"
From Zenitel Wiki
Line 1: | Line 1: | ||
== General== | == General== | ||
− | The TCP protocol is a reliable stream delivery service that guarantees to deliver a stream of data sent from one host to another without duplication or losing data. Since packet transfer is not reliable, a technique known as positive acknowledgment with retransmission is used to guarantee reliability of packet transfers. This fundamental technique requires the receiver to respond with an acknowledgment message as it receives the data. The sender keeps a record of each packet it sends, and waits for acknowledgment before sending the next packet. The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires. The timer is needed in case a packet becomes lost or corrupt. | + | The '''TCP protocol''' is a reliable stream delivery service that guarantees to deliver a stream of data sent from one host to another without duplication or losing data. Since packet transfer is not reliable, a technique known as positive acknowledgment with retransmission is used to guarantee reliability of packet transfers. This fundamental technique requires the receiver to respond with an acknowledgment message as it receives the data. The sender keeps a record of each packet it sends, and waits for acknowledgment before sending the next packet. The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires. The timer is needed in case a packet becomes lost or corrupt. |
The TCP protocol is optimized for accurate delivery rather than timely delivery, and it is not particularly suitable for real-time applications such as [[Wikipedia:Voice over IP|Voice over IP]]. For such applications, protocols like the [[Wikipedia:Real-time Transport Protocol|Real-time Transport Protocol]] (RTP) running over the [[Wikipedia:User Datagram Protocol|User Datagram Protocol]] (UDP) are usually recommended instead. | The TCP protocol is optimized for accurate delivery rather than timely delivery, and it is not particularly suitable for real-time applications such as [[Wikipedia:Voice over IP|Voice over IP]]. For such applications, protocols like the [[Wikipedia:Real-time Transport Protocol|Real-time Transport Protocol]] (RTP) running over the [[Wikipedia:User Datagram Protocol|User Datagram Protocol]] (UDP) are usually recommended instead. |
Revision as of 09:08, 18 April 2008
General
The TCP protocol is a reliable stream delivery service that guarantees to deliver a stream of data sent from one host to another without duplication or losing data. Since packet transfer is not reliable, a technique known as positive acknowledgment with retransmission is used to guarantee reliability of packet transfers. This fundamental technique requires the receiver to respond with an acknowledgment message as it receives the data. The sender keeps a record of each packet it sends, and waits for acknowledgment before sending the next packet. The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires. The timer is needed in case a packet becomes lost or corrupt.
The TCP protocol is optimized for accurate delivery rather than timely delivery, and it is not particularly suitable for real-time applications such as Voice over IP. For such applications, protocols like the Real-time Transport Protocol (RTP) running over the User Datagram Protocol (UDP) are usually recommended instead.
Originally the intention was to run AlphaNet data signaling over the TCP protocol. And in the filter settings (firewall) in AlphaWeb the AlphaNet data was listed under 'TCP protocols'. However, there were some challenges when implementing TCP, and the AlphaNet data was changed to use the UDP protocol instead. But the filter settings in AlphaWeb was not updated to reflect this until AMC 10.21. As from AMC 10.21 the filter setting will show AlphaNet data listed under 'UDP protocols', but only after an autoload. So if you autoload a board with 10.20, and upgrade to 10.22 the filter settings will still show TCP. If you make an autoload with 10.22 AlphaNet data will appear under 'UDP protocols'.
When the UDP protocol is used, the AlphaNet will work regardless if AlphaNet data is enabled or not in the firewall. This is because the idle frames of the AlphaNet data protocol which are sent at regular intervalls will punch a pinhole in the firewall, and return data can be received on the same port. (A firewall will allow incoming traffic on the same port as it transmits).
AMC 10.00 - 10.31 use UDP protocol for AlphaNet data, although the filter settings might show something else.
As from AMC 10.40 the AlphaNet data is changed back to the original idea, using TCP. This is because TCP is a much more suitable and reliable protocol to use for AlphaNet signaling, and the obstacles found in the beginning of the AMC-IP development are overcome. In 10.40 the AlphaWeb filter settings are updated accordingly and shows AlphaNet data on TCP. AlphaNet VoIP audio, and all other VoIP audio, is still using UDP. When using TCP it is vital that the TCP port is enabled in the filter settings, if not AlphaNet will not work. Actually it is sufficient to open TCP port 50000 at the node with the higher node number, as this side acts as the "Server" (and the lower node acts as the "Client") in the TCP session.
See also: Difference between TCP and UDP protocol