Como hemos visto una red de computadoras está compuesta por dos o más sistemas informáticos que comparten información y recursos.
Sin embargo, si analizamos brevemente las características de las redes de computadoras o, simplemente, observamos las redes que utilizamos hoy en día a nuestro alrededor, podemos entender que comunicar tantos tipos de dispositivos, sistemas informáticos, distintos de tantas formas diferentes tiene una complejidad bastante alta.
En los primeros años de las redes de computadores, cada fabricante creaba el software propio para hacer funcionar su red. Sin embargo, esto llevo a que existieran distintos software de red que eran incompatibles entre sí y, sobre todo, la falta de planificación hizo que el software de red, que no tenía ninguna estructura o era monocapa, fuera muy difícil de mantener y evolucionar.
Para solucionar este problema surgieron dos alternativas que fueron desarrollándose a la par pero de manera distinta: El modelo OSI y la pila de protocolos TCP/IP.
La diferencia en el desarrollo es que el modelo OSI es un modelo teórico y la pila de protocolos TCP/IP se desarrollo de forma pragmática o práctica. OSI fué desarrollado por investigadores de distintos fabricantes «en papel», de forma teórica. El problema de este desarrollo es que llevó mucho tiempo terminar de especificarlo. Sin embargo, la pila de protocolos TCP/IP fue desarrollada, sobre todo, por universidades bajo el auspicio del Departamento de Defensa de los Estados Unidos que buscaba un mecanismo de comunicación efectivo. Una vez fue funcionando se fueron añadiendo niveles y puliendo los distintos niveles.
Ambos están basados en utilizar capas o niveles para minimizar la complejidad del software y encapsular o localizar la funcionalidad de cada parte de todo el software de red.
Cada capa o nivel se encarga de una función muy concreta de la comunicación y se comunica con la capa del mismo nivel en el equipo con el que está intercambiando información. Para llevar a cabo esta comunicación, cada capa hace uso de los servicios que le proporciona la capa inmediatamente inferior. De la misma forma, cada capa proporciona servicios a la capa inmediatamente superior. Así, la comunicación real es a través de capas adyacentes.
No hace falta que entiendas ahora mismo como funciona un modelo de software basado en capas, pero si es bueno que tengas una visión general antes de analizar el modelo OSI y la pila de protocolos TCP/IP. A lo largo de este documento se explicará con más detalle la comunicación a través de las distintas capas en un software de red.