For moving data from one point to another we require a standard protocol like framework to be compatible with each and every computer. Transmission Control Protocol/Internet Protocol aka TCP/IP provides us with this framework. It requires certain basic information from us to move data.

We need to provide that if we want most reliable or fastest methods of transmission and where we want the data delivered etc.
We will look into two models which both based on concept of layering . Layering gives us the advantage of
- dividing a complex task to smaller sub-tasks and solve each sub-task independently maybe in different layers.
- Establishing a well defined interface between layers makes porting easier.
- Code reusing and Extensibility
TCP/IP Layer Models
There are two kinds of models for describing TCP/IP. Both models do the exact same when transporting data but when we study how a network work the abstraction of layers are pretty mandatory.
- Five Layer Model
- Seven Layer Open System Interconnect (OSI) Model
Difference between the two model is the top four layers of OSI model is condensed into the top two TCP/IP layers. We will get into that.
We will start learning about the OSI from top to bottom (Application Layer to Physical Layer) , a popular approach that I like.

