Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Networks

Accelerate M2M networking with UDP

Posted: 14 Jan 2014 ?? ?Print Version ?Bookmark and Share

Keywords:machine-to-machine? M2M? transmission control protocol? TCP? user datagram protocol?

TCP provides reliable data transfer between two network members. All data transfers sent from one network member are verified and acknowledged by the receiving member. In addition, the sender and receiver must have established a connection prior to any data transfer. All this results in reliable data transfer, but it does introduce substantial overhead. Additional overhead is introduced in the TCP header.

TCP places a somewhat complex packet header in front of the application's data when sending data and removes the header from the packet before delivering a received TCP packet to the application. Table 2 shows the format of the TCP header. TCP uses the IP protocol to send and receive packets, which means there is an additional IP header in front of the TCP header when the packet is on the network.

Table 2: TCP header.

The data section follows the header. The length of the data section is not specified in the TCP segment header. It can be calculated, though, by subtracting the combined length of the TCP header and the encapsulating IP header from the total IP datagram length (specified in the IP header).

TCP protocol operations may be divided into three phases: connection establishment, reliable data transfer, and connection termination. To establish a connection, TCP uses a three-way handshake. For data transfer, the protocol uses a sequence number to identify each byte of data. If the sender infers that data has been lost in the network, it retransmits the data. Sequence numbers and acknowledgments cover discarding duplicate packets, retransmission of lost packets, and ordered-data transfer. To assure correctness, a checksum field is included.

TCP uses an end-to-end flow control protocol to avoid having the sender send data too fast for the TCP receiver to receive and process reliably. The protocol also includes a number of mechanisms to improve performance and prevent congestion collapse, an event that can cause network performance to fall by several orders of magnitude. These mechanisms control the rate of data entering the network, keeping the data flow below a rate that would trigger collapse. They also yield an approximately max-min fair allocation between flows. Once transfers are complete, the connection is terminated to free system resources for re-use elsewhere.

While the TCP protocol is a rich one, with many features related to data integrity, the TCP header is quite large. One can imagine the overhead that those characteristics introduce. For certain applications, UDP may be a more efficient solution.

Table 3: UDP header.

User datagram protocol (UDP)

UDP provides the simplest form of data transfer between network members. UDP data packetsdatagramsare sent from one network member to another in a best-effort fashion; i.e., there is no built-in mechanism for acknowledgement by the packet recipient. In addition, sending a UDP packet does not require any connection to be established in advance. Because of this, UDP packet transmission is very efficient, but the process is also prone to loss or error.

UDP uses a simple packet header of 32 bits in length, compared to TCP headers, which can be 192 bits long. UDP uses IP for sending and receiving packets, which means there is an additional IP header in front of the UDP header when the packet is on the network. Table 3 shows the format of the UDP header.

?First Page?Previous Page 1???2???3?Next Page?Last Page

Article Comments - Accelerate M2M networking with UDP
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top