Sending the letter "A" over the internet - the first step

Posted on 2005-04-07
Last Modified: 2013-11-29
I asked this question a few hours ago...and realized that the way I asked it was TOO BIG of a question to be answered in one sitting.

So I am going to ask the same question again....but concentrate on a smaller (much smaller) piece of the pie.

Suppose I am in MSN Messenger chatting with someone.

I type the letter "A" and press the SEND key.

What I want to know is the very next thing that happens.

Some assumptions:

1)  Following the OSI model......MSN Messenger would be the APPLICATION layer.
2)  So....the letter "A" has to move from the APPLICATION layer to the PRESENTATION layer.

So how does this happen?  How does the letter "A" get from the APPLICATION layer to the PRESENTATION layer?

I think it is reasonable to assume that at some point........the letter "A" is sitting somewhere in RAM memory.

So it is as simple as the APPLICATION layer telling the PRESENTATION layer....."I have some data that I want to is where the data is located in memory"    ?????   Or does the APPLICATION layer have to do more than this in order to hand off the letter "A" to the PRESENTATION layer?  What is the PRESENTATION layer expecting?

At this point....what does the PRESENTATION layer do?  I know that it has to somehow prepare the letter "A" to be received or sent to or handed-off to the SESSION what does it do with the letter "A"?

Let's STOP here.......hopefully this is not too big of a chunk to bite off and explain.

Question by:knowlton
    LVL 1

    Expert Comment

    OK simple answer.
    You do not have to use all layers, most application does not, I can not think of anything that actually uses all layers, the OSI stack is a theoretical description on how you can design networks, real networks does not have to map 100%. Many times one protocol can overlap 2 layers or not fit in very good. e.g. TCP is layer 3 and maybe 4.

    MSN probably only uses 1 or 2 layers (expect for TCP/IP and layer 1 and 2), the application layer and maybe a session layer.
    LVL 1

    Assisted Solution

    OK read you question again and still not sure what you ask :-). lets map your MSN example like this, maybe it helps you understand a bit more.

    layer 1: 100base-T
    layer 2: ethernet
    layer 3: IP
    layer 4: TCP
    layer 5: partly TCP, maybe part of MSN
    layer 7: MSN

    Also see example of presentation layer would be ASCII , MIDI and MPEG.
    LVL 5

    Author Comment

    Is there any way to find out EXACTLY how MSN Messenger works?

    Is it documented somewhere?
    LVL 8

    Accepted Solution

    Ignoring layers, heres what actually happens...

    The operating system keyboard interrupt first receives the keystroke and puts data into the buffer for the MSN messenger application.  The enter key is pressed, and again the operating system receives it and puts this in the buffer for MSN messenger.

    MSN application receives these key presses, displays it, and sends some request to the operating system to start to transmit a message.  It sets up a 'socket' layer which it would have already established with the OS.  The OS receives instructions from the MSN application, and wraps the request into TCP/IP packets and sends these packets to the network device.

    The network device receives instructions from the OS with the TCP/IP packets it want it to transmit over the wires.  The network card checks that the network cable is free from data and then starts transmitting the actual TCP/IP data.

    The OS would also be prepared to receive data from the card.  It would be expecting to receive the acknowledgement back from the destination that the data had been received.  If the acknowledgement is not received, then the OS starts attempting to send the same data again.

    Once the OS is happy the data has been sent and received at the other end, it signals this with MSN messenger.  If MSN messenger doesnt receive this signal back from the OS after certain period, then it knows there is a problem transmitting.


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Maximize Your Threat Intelligence Reporting

    Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

    SSL is a very common protocol used these days when browsing the web.  The purpose is to provide security to communication, but how does it do it?  There are several pieces at work that have to be setup before SSL will even work and it requires both …
    We recently endured a series of broadcast storms that caused our ISP to shut us down for brief periods of time. After going through a multitude of tests, we determined that the issue was related to Intel NIC drivers on some new HP desktop computers …
    After creating this article (, I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
    This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor ( If you're looking for how to monitor bandwidth using netflow or packet s…

    760 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    8 Experts available now in Live!

    Get 1:1 Help Now