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

\title{Tema V Ejercicio I: DNS}
\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} & v01r02 \\ \hline
		{\bf Fecha Creación} & 5/1/2022 & \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
		v01r02 & 5 & Completar apartado (c). \\ \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

\begin{table}[h!]
	\centering
	\begin{tabular}{|c|c|c|}
		\hline
		{\bf Nombre Dominio} & {\bf Protocolo} & {\bf Dirección IP} \\ \hline
		www.cv-cep.ceuandalucia.es & HTTP & 150.214.115.75 \\ \hline
		mail.cv-cep.ceuandalucia.es & SMTP & 150.214.100.43 \\ \hline
		dns\_info.cv-cep.ceuandalucia.es & DNS & 150.214.7.101 \\ \hline
		dns1.finantial.com & DNS & 138.17.117.4 \\ \hline
		www.finantial.com & HTTP & 138.17.117.15 \\ \hline
		ftp.finantial.com & FTP & 138.17.117.7 \\ \hline
		pppserver.sports.com & Streaming & 146.10.158.4 \\ \hline
		dns\_sports.sports.com & DNS & 146.10.158.16 \\ \hline
		servidor\_dns1.es & DNS & 100.100.102.100 \\ \hline
		dns\_server1.com & DNS & 99.99.99.99 \\ \hline
		onix.ceuandalucia.es & DNS & 150.214.186.69 \\ \hline
	\end{tabular}
	\caption{Tabla de nombres de dominio.}
\end{table}

\noindent
{\bf a. Represente el espacio de nombres de dominio en una estructura
arborescente.}

\hfill

\begin{tikzpicture}[sibling distance=12em,
	every node/.style={draw,align=center},
	root/.style={fill=green!20},
	tld/.style={fill=blue!20},
	branch/.style={shape=ellipse},
	leaf/.style={shape=rectangle,fill=yellow!20},
	level 2/.append style={sibling distance=8em},
	level 3/.append style={sibling distance=4em}]
	\node[branch,root] {•}
		child {  node[branch,tld] {com}
			child { node[branch] {finantial}
				child { node[leaf] {www} }
				child { node[leaf] {ftp} }
			}
			child { node[branch] {sports}
				child { node[leaf] {pppserver} }
			}
		}
		child { node[branch,tld] {es}
			child { node[branch] {ceuandalucia}
				child { node[branch] {cv-cep}
					child { node[leaf] {mail} }
					child { node[leaf] {www} }
				}
			}
		};
\end{tikzpicture}

\hfill

\noindent
{\bf b. ¿Cuántas zonas DNS existen? Si hay servidores DNS, señale sus tipos y
sus direcciones IP.}

Existen en esta red siete zonas DNS distintas. Los servidores DNS serían de los
tipos siguientes:

\begin{itemize}
	\item {\bf Raíz:} {\em desconocido}
	\item {\bf TLD:}
		\begin{itemize}
			\item {\tt dns\_server1}: 99.99.99.99
			\item {\tt servidor\_dns1}: 100.100.102.100
		\end{itemize}
	\item {\bf Autoritativo:}
		\begin{itemize}
			\item {\tt onix}: 150.214.186.69
			\item {\tt dns\_info}: 150.214.7.101
			\item {\tt dns1}: 138.17.117.4
			\item {\tt dns\_sports}: 146.10.158.16
		\end{itemize}
\end{itemize}

\noindent
{\bf c. Un PC que tiene la dirección IP 102.73.18.14 quiere acceder a
www.cv-cep.ceuandalucia.es. i) Represente gráficamente las peticiones y
respuestas DNS que ocurren si la búsqueda es iterativa; ii) ¿Qué información
almacena el servidor DNS local en su caché?; iii) ¿Y la caché del servidor DNS
local del otro extremo?}

\hfill

\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) {es};
	\node[comp,below=3em of es] (ceuandalucia) {ceuandalucia};
	\node[comp,below=3em of ceuandalucia] (cv-cep) {cv-cep};
	\node[comp,left=20em of {$(root)!0.5!(cv-cep)$}] (lclDNS) {DNS Local};
	\node[comp,below=3em of lclDNS] (PC) {PC};
	\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}

\hfill

El servidor de DNS local mantendrá (por un tiempo limitado) las direcciones de
todos los servidores DNS que haya visitado a lo largo de este proceso (i.e.\ es,
ceuandalucia, etc.). Por el otro extremo, no se guardará nada, ya que sólo
tienen que conocer aquellos ordenadores directamente inferiores a ellos (e.g.\
es tan sólo tiene que conocer ceuandalucia, no www).

\noindent
{\bf d.}

\begin{verbatim}
Zona fisica
fisica.ceuandalucia.es. IN NS dns_fisica.fisica.ceuandalucia.es.
dns_fisica.fisica.ceuandalucia.es. IN A 150.214.8.10
fisica.ceuandalucia.es. IN MX 10 correo.fisica.ceuandalucia.es.
correo.fisica.ceuandalucia.es. IN A 150.214.8.11

Zona ceuandalucia
fisica.ceuandalucia.es. IN NS dns_fisica.fisica.ceuandalucia.es.
dns_fisica.fisica.ceuandalucia.es. IN A 150.214.8.10
\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}
