\documentclass[12pt,a4paper]{article}
\usepackage[spanish]{babel}
\usepackage{graphicx}

\title{Arquitecturas Red: OSI \& TCP/IP}
\author{Nicolás A. Ortega Froysa}

\begin{document}
\maketitle

\section{Introducción a Arquitecturas Red}
Para poder comunicar datos e información de un dispositivo a otro, nos hacen
falta usar {\em protocolos} que permiten abstraer los interfaces y la
información. Esto se hace por varios motivos:

\begin{itemize}
	\item {\bf Seguridad:} nos aseguramos de que todas las aplicaciones estén
		usando un protocolo (o {\em lenguaje}) que sea seguro.
	\item {\bf Desarrollo Simple:} el software que trabaja en capas más altas
		del protocolo no se tienen que preocupar por los elementos más básicos
		de la comunicación.
	\item {\bf Modularización:} como cada software trabaja sólo con aquello que
		está a su nivel, es más fácil reemplazar partes y arreglar problemas,
		además de hacer {\em troubleshooting}.
\end{itemize}

Para esto, se distribuyen las tareas en {\em capas} o {\em niveles}. Cada nivel
construye sobre el otro, siendo el nivel más básico el nivel físico, y el nivel
más alto la información de la aplicación.

\section{Open Systems Interconnection (OSI) Model}
\begin{figure}[t!]
	\centering
	\includegraphics[width=0.5\linewidth]{imgs/osi-model.png}
	\caption{Modelo OSI}
	\label{fig:modelo-osi}
\end{figure}

Este estándar fue impulsado sobre todo por el gobierno estadounidense en los
años 70, aunque luego sería reemplazado en gran parte por TCP/IP. Esta
arquitectura es formada por 7 capas (ver figura \ref{fig:modelo-osi}).

Cada nivel trata con un Protocol Data Unit (PDU), que es una unidad de datos.
Los primeros tres niveles (superiores) tratan directamente con los datos de la
{\bf aplicación}. Su PDU consiste directamente de los datos del programa.

En el nivel de {\bf transporte}, su PDU se denomina {\em segmento}, ya
que se trata de segmentar los datos de la aplicación en algo más fácil de
manejar para la red. En este nivel también se hace uso de los puertos, que nos
facilitan información acerca de qué aplicación está mandando los datos, y cuál
es el servicio destinatario.

El próximo nivel sería de {\bf red}, cuya PDU sería el {\em paquete}. En esta ya
se trata de direcciones a dispositivos, lo que usualmente conocemos como {\em
direcciones IP}.

El nivel de {\bf enlace de datos} ({\em data link}), cuya PDU se denomina un
{\em frame}, se ocupa de convertir la información lógica de los niveles
superiores en señales físicos para el hardware. Esto es de lo que generalmente
se ocupan los {\em drivers} de un sistema operativo.

Finalmente, tenemos el nivel {\bf físico} que ya no trabaja en conceptos
abstractos, sino que directamente trata de lo material. Es el hardware mismo que
va transmitiendo señales por los medios físicos.

\section{Internet Protocol Suite (TCP/IP)}

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.5\linewidth]{imgs/osi-v-tcpip.jpg}
	\caption{Comparación OSI y TCP/IP}
	\label{fig:osi-v-tcpip}
\end{figure}

El protocolo TCP/IP es más simple que OSI, ya que varios niveles se juntan para
formar un solo nivel (ver figura \ref{fig:osi-v-tcpip}), sobre todo aquellos que
comparten un mismo PDU. Los niveles de aplicación, presentación, y sesión se
juntan para formar un solo nivel de aplicación; el nivel de enlace de datos y el
nivel físico se juntan para formar el nivel de acceso a la red. También lo que
en OSI se conoce como nivel de red, en TCP/IP se conoce como nivel de {\em
internet} (o {\em interred}).

\begin{center}
	\begin{tabular}{c|c}
		Nivel & PDU \\\hline
		Aplicación & Data \\
		Transporte & Segmento \\
		Interred & Paquete \\
		Acceso a la Red & Frame
	\end{tabular}
\end{center}

Hoy en día, el modelo TCP/IP suele ser el más común, junto con un variante que
se llama UDP. TCP se usa en casos donde es necesario que la comunicación sea
fiable, mientras que UDP se usa en aquellos casos donde importa más la velocidad
que la fiabilidad de la transmisión.

\end{document}
