\documentclass[12pt,a4paper]{article}
\usepackage[spanish]{babel}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[shortlabels]{enumitem}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning,calc}

\title{Tema V Ejercicio IV: DNS III}
\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

\noindent
{\bf 1) ¿Cuántos servidores DNS primarios existirán si el gráfico representa una
jerarquía DNS? ¿Cuántos servidores DNS TLD habría?}

Existirán doce servidores DNS primarios, uno por cada zona DNS. De servidores
DNS TLD sólo existirá la de la raíz que conocerá a {\tt eu} y {\tt asia}.

\hfill

\noindent
{\bf 2) Desde la máquina {\tt pc12.otrodominio.down.org} se envía una consulta
DNS sobre {\tt correo.rusia.asia.} a la jerarquía anterior a través de un
servidor DNS local. El nombre del servidor DNS local es {\tt dnsp\_local} y se
encuentra en el mismo dominio que dicha máquina.}

\begin{enumerate}[a.]
	{\bf \item ¿Cuál será el FQDN del servidor DNS local?} \\
		\\
		Su FQDN sería de {\tt dnsp\_local.otrodominio.down.org.} al ser el local
		de {\tt pc12}.
	{\bf \item Represente y explique cómo se resolvería la consulta DNS si fuese
		iterativa.} \\
		\\
		No conociendo el caché de {\tt dnsp\_local}, asumimos que está vacío.
		Por lo tanto tendría que recurrir a buscar el dominio empezando por la
		raíz (figura \ref{fig:dns-query}).
	{\bf \item Suponiendo que los servidores DNS que puedan tienen configurada
		su caché DNS, ¿qué servidor/es almacenarán información tras resolver la
		consulta? ¿Qué información almacenarán?} \\
		\\
		El único servidor que almacenará nueva información después de la
		consulta será {\tt dnsp\_local}, que almacenará información sobre los
		servidores DNS de {\tt asia}, {\tt rusia}, y {\tt correo} (ya tendría
		almacenada la raíz). Esta información se guardará durante un tiempo
		(TTL).
	{\bf \item Suponiendo que las actualizaciones de caché DNS han terminado con
		éxito ¿cómo se resolverá una nueva una nueva consulta recursiva sobre
		{\tt www.pekin.china.asia.}?} \\
		\\
		Asumiendo que ésta se hace dentro del {\em time-to-live} (TTL) de las
		entradas de la última consulta, se el servidor DNS {\tt dnsp\_local} ya
		tendrá almacenada la información sobre el servidor DNS de {\tt asia},
		luego entonces sólo precisaría hacer petición directamente a {\tt asia},
		y seguir de manera iterativa hasta llegar al servidor DNS de {\tt
		pekin}.
\end{enumerate}

\begin{figure}
	\begin{tikzpicture}[
		every node/.style={align=center,fill=white!20},
		comp/.style={shape=rectangle,draw}]
		\node[comp] (root) {Raíz (•)};
		\node[comp,below=3em of root] (es) {asia};
		\node[comp,below=3em of es] (ceuandalucia) {rusia};
		\node[comp,below=3em of ceuandalucia] (cv-cep) {correo};
		\node[comp,left=20em of {$(root)!0.5!(cv-cep)$}] (lclDNS) {dnsp\_local};
		\node[comp,below=3em of lclDNS] (PC) {pc12};
		\draw[-stealth] (PC) to[out=110, in=250] node {1} (lclDNS);
		\draw[-stealth] (lclDNS) to[out=40, in=170] node {2} (root);
		\draw[stealth-] (lclDNS) to[out=25, in=185] node {3} (root);
		\draw[-stealth] (lclDNS) to[out=20, in=175] node {4} (es);
		\draw[stealth-] (lclDNS) to[out=5, in=185] node {5} (es);
		\draw[-stealth] (lclDNS) to[out=0, in=170] node {6} (ceuandalucia);
		\draw[stealth-] (lclDNS) to[out=-10, in=180] node {7} (ceuandalucia);
		\draw[-stealth] (lclDNS) to[out=-20, in=170] node {8} (cv-cep);
		\draw[stealth-] (lclDNS) to[out=-30, in=180] node {9} (cv-cep);
		\draw[stealth-] (PC) to[out=70, in=300] node {10} (lclDNS);
	\end{tikzpicture}
	\caption{Consulta iterativa a {\tt correo.rusia.asia.} desde {\tt pc12}.}
	\label{fig:dns-query}
\end{figure}

\noindent
{\bf 3) ¿Se podría agregar el dominio {\tt fcd.paris.france.eu.} que administra
el servidor de correo {\tt mail.fcd.paris.france.eu.}? ¿Qué información DNS
habría que añadir? Indique dónde se añadirá dicha información.}

Sí, efectivamente se podría añadir. Para esto, habría que añadir los siguientes
registros en los servidores DNS indicados:

\begin{verbatim}
[Zona fcd]
fcd.paris.france.eu. IN NS dnsp_fcd.fcd.paris.france.eu.
dnsp_fcd.fcd.paris.france.eu. IN A IP_dnsp_fcd
fcd.paris.france.eu. IN MX 10 mail.fcd.paris.france.eu.
mail.fcd.paris.france.eu. IN A IP_mail

[Zona paris]
fcd.paris.france.eu. IN NS dnsp_fcd.fcd.paris.france.eu.
dnsp_fcd.fcd.paris.france.eu. IN A IP_dnsp_fcd
\end{verbatim}

\pagebreak

\section{Derechos de Autor y Licencia}

\noindent
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}
