There is an alphabet soup of protocols in TCP/IP - HTTP,FTP,SMTP,POP3,TCP,UDP,IP,ARP,ICMP, and others. What are the characteristics of these protocols? What are they used for? Has there been an evolution in any of these protocols? Are there any weaknesses or disadvantages?