There are not much difference between the OSI and TCP/IP reference model. In both, the concept of independent stack of protocols is used. The function of the layer are also more or less same. In both model, starting from bottom up to transport layer, the functions of the layers is to provide end-to-end network independent transport service for communicating processes. The layers above the transport layer are application oriented.
On the other hand there are some differences between the two models. In OSI reference model, three concepts are distinct, these are-
The service tells what a particular layer serves the layer just above it, not how these services are access by the above layer or how these are provided by the layer. The interface tells how the above layer access the services provided by the layer just below it. It also dose not say how these are provided. The protocols used between peer layers are the set of rules agreed upon by both the layers to get the job done. Protocols can be changed without affecting the software in the higher layers.
In TCP/IP model, there is no such distinction between service, Interface and protocol. Therefore, in TCP/IP reference model the protocols are not so hidden as the OSI reference model. As the technology advances protocol between a peer layer can be replaced easily in OSI model then In TCP/IP model.
In OSI model, the layered structure was thought out before the protocols were invited. The designers were new in the network technology and hence in some layer a sub-layer has to be provided latter to accommodate some new model of communication.
The two models also differ in their numbers of layers; in OSI model there are seven layers whether TCP/IP model has four layers. Both have network,transport and application layers in common but the other layers are not same.
In OSI model, network layer supports both connection oriented and connectionless communication and the transport layer supports only connection-oriented communication. On the contrary, in TCP/IP model the network layer supports only connectionless communication but transport layer supports both the mode.