title: How to write a server application?
body: <p>Just because of curiosity, I'd like to get to know better, how the Internet works.</p>
  
  <p>I have already read quite some articles in Wikipedia, but these are very theoretical. I know, which protocols are used where, and what they are good for (IP, TCP, HTTP). But I have no idea <em>how these are actually implemented</em> in Linux or any other OS.</p>
  
  <p>So, for me to understand these things better, I'd like to write <strong>a simple implementation of the <a href="http://en.wikipedia.org/wiki/Echo_Protocol" rel="nofollow">Echo-Protocol</a></strong> in C, preferrably for Linux, and from ground up. My client-application should be able to send a message to a given port on any other computer, and my server-application should be able to receive this message, and send it back to the client.</p>
  
  <p>Where do I start best? What should I read to get more information on these topics? Has anyone of you already done something like this, and if so, what did you learn?</p>
  
  <p>In addition, it would be great if someone could tell me a bout a program that shows me the raw Internet-traffic that runs trough my PC. I think this would also help me understanding things a bit better.</p>
  
  <p><em>Thanks in advance for your advice.</em></p>