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

\title{Subnetting Ejercicio I}
\author{Nicolás A. Ortega Froysa}

\begin{document}
\maketitle
\pagebreak
\tableofcontents
\pagebreak
\section{Hoja De Control Del Documento}
\begin{table}[h!]
	\centering
	\caption{Documento/Archivo}
	\label{tab:document}
	\begin{tabular}{|l|c|l|c|}
		\hline
		{\bf Fecha Última Modificación} & \the\day/\the\month/\the\year &
		{\bf Versión/Revisión} & v01r01 \\ \hline
		{\bf Fecha Creación} & \the\day/\the\month/\the\year & \hfill & \hfill \\ \hline
		{\bf Fecha Finalización} & \the\day/\the\month/\the\year & \hfill &
		\hfill \\ \hline
	\end{tabular}
\end{table}

\begin{table}[h!]
	\centering
	\caption{Registro De Cambios}
	\label{tab:registro-cambios}
	\begin{tabular}{|c|c|c|}
		\hline
		{\bf Versión/Revisión} & {\bf Página(s)} & {\bf Descripción} \\
		\hline
		v01r01 & Todas & Creación y elaboración del documento. \\ \hline
	\end{tabular}
\end{table}

\begin{table}[h!]
	\centering
	\caption{Autores Del Documento}
	\label{tab:autores}
	\begin{tabular}{|c|c|}
		\hline
		{\bf Apellidos, Nombre} & {\bf Curso} \\ \hline
		Ortega Froysa, Nicolás Andrés & 1 \\ \hline
	\end{tabular}
\end{table}

\begin{table}[h!]
	\centering
	\begin{tabular}{|p{4cm}|p{4cm}|p{4cm}|}
		\hline
		{\bf Preparado} & {\bf Revisado} & {\bf Aprobado} \\ \hline
		Ortega Froysa, Nicolás Andrés & \hfill & \hfill \\ \hline
	\end{tabular}
\end{table}

\pagebreak

\section{Resumen Ejecutivo}
\begin{figure}[h]
	\centering
	\includegraphics[width=0.75\linewidth]{imgs/mapa.png}
	\caption{Mapa de red.}
	\label{fig:mapa}
\end{figure}
Para este proyecto nos es necesario crear una red haciendo uso tan sólo de las
direcciones dentro de una máscara de 24 bits de red (i.e.\ 255.255.255.0), lo
cual nos da para un total de 256 direcciones en total dentro de la red. Dentro
hemos de crear subredes, y tenemos las siguientes previsiones acerca del número
de terminales conectados (tablas \ref{tbl:lan-predictions} y
\ref{tbl:wan-predictions}).

\begin{table}[h]
	\centering
	\caption{Previsiones de Redes de Área Local (LAN)}
	\label{tbl:lan-predictions}
	\begin{tabular}{|c|c|c|}
		\hline
		{\bf Enrutador} & \multicolumn{1}{p{3cm}|}{\bf Interfaz del Enrutador} &
		\multicolumn{1}{p{3cm}|}{\bf Terminales Previstos} \\ \hline
		R1 & Fa0/0 & 60 \\ \hline
		\multirow{2}{*}{R2} & Fa0/0 & 10 \\ \cline{2-3}
		& Fa0/1 & 30 \\ \hline
		R3 & Fa0/0 & 7 \\ \hline
	\end{tabular}
\end{table}

\begin{table}[h]
	\centering
	\caption{Previsiones de Redes de Área Extensa (WAN)}
	\label{tbl:wan-predictions}
	\begin{tabular}{|c|c|c|}
		\hline
		{\bf Conexión} & \multicolumn{1}{p{3cm}|}{\bf Terminales Previstos} &
		{\bf 1\textsuperscript{er} IP Asignable} \\ \hline
		R1-R2 & 2 & S0/0/0 en R1 \\ \hline
		R1-R3 & 2 & S0/0/1 en R1 \\ \hline
		R2-R3 & 2 & S0/0/1 en R2 \\ \hline
	\end{tabular}
\end{table}

\section{Asignación de Direcciones IP}
Para cada red tendremos que asignar una máscara que permita el número total de
terminales previstos, pero que quede dentro del límite de direcciones
disponibles. Tenemos un total de 7 redes (4 LAN y 3 WAN). Cada una precisará de
2 direcciones: una para la red en sí, y otra para el {\em broadcast}. Después
habría que sumar las necesidades de cada una. Sumamos todas estas direcciones
requeridas para asegurarnos de que el ejercicio es factible con nuestra máscara,
que tan sólo permite 256 direcciones, y vemos que tenemos direcciones hasta de
sobra:

\[
	7 \times 2 + 60 + 10 + 30 + 7 = 121 < 256
\]

Las máscaras de cada subred se tienen que asignar con una capacidad que sea
potencia de 2, y aunque tengamos el número de terminales previstos, a esto
tenemos que sumarle las dos direcciones mencionadas anteriormente. Con esto
podemos conocer hasta la máscara que precisamos para cada subred (tablas
\ref{tbl:lan-masks} y \ref{tbl:wan-masks}). El {\em bitmask} se puede calcular
con la fórmula siguiente, donde $n$ representa las direcciones requeridas:

\[
	bitmask = 32 - \lceil log_{2}(n) \rceil
\]

\begin{table}[h]
	\centering
	\caption{Máscaras de Redes de Área Local (LAN)}
	\label{tbl:lan-masks}
	\begin{tabular}{|c|c|c|c|}
		\hline
		{\bf Enrutador} & \multicolumn{1}{p{3cm}|}{\bf Interfaz del Enrutador} &
		\multicolumn{1}{p{3cm}|}{\bf Direcciones Requeridas} & {\bf Bitmask} \\ \hline
		R1 & Fa0/0 & 62 & 26; *.192 \\ \hline
		\multirow{2}{*}{R2} & Fa0/0 & 12 & 28; *.240 \\ \cline{2-4}
		& Fa0/1 & 32 & 27; *.224 \\ \hline
		R3 & Fa0/0 & 9 & 28; *.240 \\ \hline
	\end{tabular}
\end{table}

\begin{table}[h]
	\centering
	\caption{Máscaras de Redes de Área Extensa (WAN)}
	\label{tbl:wan-masks}
	\begin{tabular}{|c|c|c|}
		\hline
		{\bf Conexión} & \multicolumn{1}{p{3cm}|}{\bf Direcciones Requeridas} &
		{\bf Bitmask} \\ \hline
		R1-R2 & 4 & 30; *.252 \\ \hline
		R1-R3 & 4 & 30; *.252 \\ \hline
		R2-R3 & 4 & 30; *.252 \\ \hline
	\end{tabular}
\end{table}

La dirección de la máscara en sí (e.g.\ *.192) la podemos conseguir con la
siguiente fórmula, asumiendo que sólo tratamos con un valor que afecte el último
byte ($m$).

\[
	m = 256 - (2^{32 - bitmask})
\]

Luego, conociendo todo esto, usaremos la siguiente tabla para asignar las
direcciones IP (tablas \ref{tbl:ips-lan} y \ref{tbl:ips-wan}). Esto se hace
asignando grupos de direcciones consecutivas empezando con la red más grande, ya
que si no se puede equivocar en los bits más significativos de red y puede
causar solapamiento.

\begin{table}[h]
	\centering
	\caption{Direcciones de las Redes LAN}
	\label{tbl:ips-lan}
	\begin{tabular}{|c|c|c|c|}
		\hline
		{\bf Enrutador} & \multicolumn{1}{p{3cm}|}{\bf Interfaz del Enrutador} &
		{\bf Red} & {\bf Gateway} \\ \hline
		R1 & Fa0/0 & 192.168.1.0/26 & 192.168.1.1 \\ \hline
		\multirow{2}{*}{R2} & Fa0/0 & 192.168.1.96/28 & 192.168.1.97 \\
		\cline{2-4}
		& Fa0/1 & 192.168.1.64/27 & 192.168.1.65 \\ \hline
		R3 & Fa0/0 & 192.168.1.112/28 & 192.168.1.113 \\ \hline
	\end{tabular}
\end{table}

\begin{table}[h]
	\centering
	\caption{Direcciones de las Redes WAN}
	\label{tbl:ips-wan}
	\begin{tabular}{|c|c|}
		\hline
		{\bf Conexión} & {\bf Red} \\ \hline
		R1-R2 & 192.168.1.128/30 \\ \hline
		R1-R3 & 192.168.1.132/30 \\ \hline
		R2-R3 & 192.168.1.136/30 \\ \hline
	\end{tabular}
\end{table}

\section{Conclusión}
Con estas direcciones en marcha, nos aprovechamos de un espacio limitado de
direccionamiento, con tan sólo 256 direcciones disponibles (1 byte) y podemos
montar un total de 7 subredes en este espacio tan limitado.

\pagebreak

\section{Derechos de Autor y Licencia}
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa <nicolas@ortegas.org>
\\
Este documento se distribuye bajo los términos y condiciones de la licencia
Creative Commons Attribution No Derivatives 4.0 International.

\end{document}
