This is where I would start.
http://www.webopedia.com/TERM/C/comm..._protocol.html

Once we get the definition down, while waiting for more posts on the 2nd question might help out. Those are things I take for granted and have not studied.