title: tcp/ip application layer confusion in receiving data packets
body: <blockquote>
    <p>In traditional model, when application layer
    wants to obtain message data, it needs to go through two buffers and
    the normal TCP/IP protocol stack. Inside, the software interrupt is
    responsible to receive the message from the first of the receiving
    queue, and then copy them to MSGBuff; at the end application layer
    reads the message data to user application space by system calls.</p>
  </blockquote>
  
  <p>Please see the figure for an illustration. I'm a newbie in network programming :( As I know, TCP/IP protocol stack also has a application layer. So what is the difference between the application layer mentioned in the quote (Line 1) and the one in TCP/IP protocol stack?</p>
  
  <p><a href="https://i.stack.imgur.com/9JOmw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9JOmw.png" alt="enter image description here"></a></p>