View Single Post
  #8   (View Single Post)  
Old 27th August 2012
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default Chapter 7: The Big Three - ICMP, UDP, TCP

ICMP is the protocol used for status, error, and information messages between networks. You have used ICMP if you have used ping(8), or perhaps traceroute(8). These are the common administrative tools. ICMP is also used by automated network management software in larger networks and across the Internet, as ICMP counts the number of networks in use along any route, as well as response times. It is also a helpful diagnostic tool when errors occur along a route path -- ICMP error information packets, such as "destination unreachable" that are returned by a router to an application may be very helpful, and may improve application performance by avoiding an application timeout.

UDP is a simple transport mechanism. It is stateless. It has no error recovery. Packets may arrive at the destination in the wrong order (if they traveled along different routes) and packets may be dropped along the way due to network congestion or error, and never arrive at all. Its main advantage is that it is fast. Either the application need not worry about error recovery or packet ordering, or the application must take on these responsibilities.

TCP
is the most common transport protocol for applications, because it includes session management and error recovery. Packets are sent with sequence numbers so that they can be reordered if they arrive out of sequence, and there are acknowledgements of received packets so that missing packets that were dropped are resent. All automatically. TCP guarantees delivery, as long as there is a functional path between endpoints and functioning systems at both ends. TCP is slower than UDP, due to these additional services.

Both TCP and UDP share the concept of ports. The protocol headers contain 16 bits for a source port number, and 16 bits for a destination port number. Receiving applications "listen" for traffic assigned to specific ports. This allows devices to conduct many simultaneous UDP and/or TCP conversations at the same time, among different applications.

Last edited by jggimi; 2nd September 2012 at 06:29 PM.
Reply With Quote