Network Layers

Could anyone give a better picture of visualising the 7 layers in networking ? How the data is sent ...which part of it is taken care of by software and which is hardware related ?

I stumble here everytime I read a book on networking..

The concept of service layers is primarily a software concept. The purpose of the concept is to allow network interoperability between computing systems.

The physical and link layers are the lowest level of networking and discusses physical connectivity protocols. One example is ethernet. Ethernet works between all servers and NIC cards because manufactures follow a very rigid open standard. Physical is the wire. Link layer is mostly the software protocol.

As you move up the stack, interoperability tends to be more difficult. At the network and transport layer, TCP is the common way computers move datagrams between end-to-end systems. Above the link layer this is done with software data structures that interface the link layer device drivers. In UNIX this is typically with sockets.

Sockets can be of many flavors and varieties. A TCP/IP socket takes care of end-to-end reliability using well developed protocols to react to congestion, sequencing, lost packets in a noisy environment, etc.

As you move further up the stack, you being to deal with information as it 'goes in and comes out' of the network tunnel, so to speak. The includes the session, application, and presentation layer. Session is a layer that manages state information between two client/server processes (for example) during a given session.

Application layer activity includes specific tasks performed on the end-to-end platforms to accomplish a task. This application is independent of the network. Often the task could just have easily been done from a console without networking or by moving the information manually (and very inefficiently) from one platform to another.

The presentation layer is the layer the user sees. This is the area that gets the most attention by Windows users and the least attention in true client/server environments. In addition, a true client/server environment completely decouples the presentation layer from the application, so the 'window' into the application is platform neutral.

This construct is the most important construct in modern day networking. Understanding how it intimately works takes years of software experience. It is really pretty Zen in that the concepts are so simple but the results so wonderful.