TB067

Apuntes y Resueltos de la Materia Redes de Comunicaciones (TB067)
Index Commits Files Refs README
commit 1ccf97fde546840864f419a4d082811ea3c82fcb
parent 50d118c7f7784fc135f93d49d7a4e0ed492f85cb
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Fri, 27 Sep 2024 11:14:08 -0300

added `tps/2C2024/1`

Diffstat:
Atps/2C2024/1/enunciado.pdf | 0
Atps/2C2024/1/informe/informe.md | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Atps/2C2024/1/informe/style.tex | 235+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 317 insertions(+), 0 deletions(-)
diff --git a/tps/2C2024/1/enunciado.pdf b/tps/2C2024/1/enunciado.pdf
Binary files differ.
diff --git a/tps/2C2024/1/informe/informe.md b/tps/2C2024/1/informe/informe.md
@@ -0,0 +1,82 @@
+# Trabajo Práctico: Nivel de Transporte y Nivel de Red del Modelo TCP/IP
+
+Redes de Comunicaciones (TB067) - 2C2024 - FIUBA  
+Martin Klöckner (123456) - [mklockner@fi.uba.ar](mailto:mklockner@fi.uba.ar)
+
+## El protocolo MQTT
+
+MQTT (Message Query Telemetry Transport) es un protocolo de red ligero y
+eficiente, implementado de extremo a extremo y con patron publisher-subscriber
+(editor-suscriptor).
+
+Este protocolo está diseñado principalmente para dispositivos en locaciones
+remotas con recursos y/o ancho de banda limitado, tal como sistemas embebidos.
+
+El protocolo MQTT se ubica en el nivel de aplicación del modelo TCP/IP, y
+requiere de un protocolo del nivel de red que sea ordenado, seguro y sin perdida
+de datos, tal como el protocolo TCP.
+
+### Seguridad
+
+Encriptacion
+
+### Aplicaciones Comerciales
+
+### Versiones
+
+Las versiones de MQTT son controladas por la organización sin fines de lucro
+OASIS (Organization for the Advancement of Structured Information Standards)
+
+#### MQTT 5
+#### MQTT 3.1.1
+#### MQTT 3.1
+#### MQTT-SN v1.2
+
+### Referencias
+
+[MQTT: The Standard for IoT Messaging](https://mqtt.org/)
+[¿Qué es MQTT?](https://aws.amazon.com/es/what-is/mqtt/)
+
+## Uso Práctico
+
+> Sobre la aplicación, ¿de qué modo consigue implementar la fragmentación?
+
+> En comparación con la fragmentación que implementa el protocolo TCP, ¿hay
+> funcionalidades o características de la fragmentación en estos scripts que
+> sean similares a la segmentación TCP? ¿Cuáles?
+
+> En comparación con la segmentación que implementa el protocolo TCP, ¿hay
+> funcionalidades o características de la segmentación TCP que en estos scripts
+> estén ausentes? ¿Cuáles?
+
+> Acerca de las sesiones del publicador y del suscriptor, ¿cuáles son los
+> extremos de las sesiones? ¿quién toma el rol de cliente y quién de servidor?
+
+> Sobre la extensión de las sesiones, ¿son persistentes, cómo se sostienen
+> cuando no hay tráfico? ¿no son persistentes? ¿cómo se cierran (en qué momento
+> y quién lo inicia)?
+
+> En detalle sobre las sesiones:
+> a. ¿Cuál es el número de secuencia del primer segmento TCP de
+>    petición de conexión?
+> b. ¿Cuáles son las opciones implementadas, si las hay?
+> c. ¿Cuántos bytes tiene el buffer de recepción según se informa al inicio?
+> d. ¿A qué hora se envió el primer segmento (el que contiene datos de la
+>    aplicación)? ¿A qué hora se recibió el ACK de este primer segmento
+>    que contiene datos? ¿Cuál es su RTT?
+> e. ¿Cuál es la longitud (encabezado más carga útil) de cada uno de los
+>    primeros cuatro segmentos TCP que transportan datos?
+
+> HTTP indica la cantidad de datos a transmitir mediante un encabezado. Esta
+> adecuación de MQTT para transmitir fragmentos no comunica la cantidad de datos
+> que va a transmitir. Si algún paquete se perdiera, el suscriptor no tendría
+> forma de detectar la falta. Modificar el código para simular la pérdida de un
+> paquete intermedio y verificar en el suscriptor que el texto quede truncado.
+> Luego modificar ambos scripts para que se comunique el largo de los datos a
+> transmitir y que el suscriptor pueda validar la cantidad de datos recibidos
+> versus los esperados.
+
+> De las funcionalidades o características vinculadas a segmentación, presentes
+> en TCP pero no cubiertas por estos scripts, implementar una versión mejorada,
+> que incorpore al menos una mejora o una funcionalidad.  Se puede usar
+> inteligencia artificial y por qué no, inteligencia natural.
diff --git a/tps/2C2024/1/informe/style.tex b/tps/2C2024/1/informe/style.tex
@@ -0,0 +1,235 @@
+% \documentclass[14pt]{extarticle}
+
+% page setup
+\usepackage[a4paper,
+            top=2.5cm,
+            bottom=2.5cm,
+            left=2.00cm,
+            right=2.00cm,
+            bmargin=2.0cm]{geometry}
+
+\usepackage{titlesec}
+\usepackage{fontspec}
+\usepackage{tabularx}
+
+% make pictures caption font bold and small
+\usepackage[font={footnotesize,bf}]{caption}
+
+% inline code (backticks in md)
+\linespread{1.05}
+% \definecolor{bgcolor}{HTML}{e0e0e0}
+\definecolor{bgcolor}{HTML}{f8f8f8}
+\let\oldtexttt\texttt
+
+\renewcommand{\texttt}[1]{
+    % \colorbox{bgcolor}{\oldtexttt{#1}}
+    \tcbox[ on line,
+            boxsep=1pt,
+            left=0pt,
+            right=0pt,
+            top=0pt,
+            bottom=0pt,
+            arc=1pt,
+            outer arc=1pt,
+            grow to left by=2.5pt,
+            grow to right by=2.5pt,
+            colframe=bgcolor,
+            colback=bgcolor]{\oldtexttt{#1}}
+}
+
+% code blocks
+\usepackage{verbatimbox}
+\newenvironment{fullgrayverb}
+{\verbbox}
+% {\endverbbox\par\colorbox{gray!25}{\parbox{\textwidth}{\theverbbox}}\par}
+{\endverbbox\par\colorbox{bgcolor}{\parbox{\textwidth}{\theverbbox}}\par}
+
+% change boldfont bold to extrabold
+% \setmainfont[
+%  BoldFont={Inter-ExtraBold}
+% ]{Inter}
+
+% change regular font to light font
+% \setmainfont{Inter light}
+
+\newfontfamily\titlefont{Inter}[
+UprightFont     =   *-Regular,
+BoldFont        =   *-ExtraBold,
+Scale           =   1.00
+]
+
+\newfontfamily\sectionsfont{Inter}[
+UprightFont     =   *-Regular,
+BoldFont        =   *-Bold,
+]
+
+\setmathfont{Fira Math}
+
+\usepackage{xcolor}
+\definecolor{ugrey}{HTML}{333333}
+
+\titleformat{\section}
+{\color{ugrey}\titlefont\LARGE\bfseries}
+{\color{ugrey}}
+{0em}
+{}
+
+\titleformat{\subsection}
+{\color{ugrey}\sectionsfont\Large\bfseries}
+{\color{ugrey}}
+{0em}
+{}
+
+\titleformat{\subsubsection}
+{\color{ugrey}\sectionsfont\large\bfseries}
+{\color{ugrey}}
+{0em}
+{}
+
+\titleformat{\paragraph}
+{\color{ugrey}\sectionsfont\normalsize\bfseries}
+{\color{ugrey}\theparagraph}
+{0em}
+{}
+
+\titleformat{\subparagraph}
+{\color{ugrey}\normalfont\bfseries}
+{\color{ugrey}\theparagraph}
+{0em}
+{}
+
+% spacing: how to read {12pt plus 4pt minus 2pt}
+%       12pt is what we would like the spacing to be
+%       plus 4pt means that TeX can stretch it by at most 4pt
+%       minus 2pt means that TeX can shrink it by at most 2pt
+%
+% \titlespacing{command}{left spacing}{before spacing}{after spacing}[right]
+
+\titlespacing*{\section}
+{0pt}{2ex plus 1ex minus .2ex}{1.75ex plus .2ex}
+
+\titlespacing*{\subsection}
+{0pt}{1.75ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+
+\titlespacing*{\subsubsection}
+{0pt}{1.5ex plus 1ex minus .2ex}{1.25ex plus .2ex}
+
+\titlespacing*{\paragraph}
+{0pt}{1.5ex plus 1ex minus .2ex}{1.0ex plus .2ex}
+
+\titlespacing*{\subparagraph}
+{0pt}{1.25ex plus 1ex minus .2ex}{1.0ex plus .2ex}
+
+% spacing between formulas and text
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{2pt}
+
+\setlength{\abovedisplayshortskip}{9pt}
+\setlength{\belowdisplayshortskip}{2pt}
+
+\setlength{\belowdisplayshortskip}{\belowdisplayskip}
+
+\setlength{\baselineskip}{10pt}
+
+% \usepackage{setspace}
+% \setstretch{1.25}
+
+% \renewcommand{\figurename}{Fig.}
+
+\usepackage{caption}
+\captionsetup{labelformat=empty}
+
+% \renewcommand{\contentsname}{Índice}
+\renewcommand\contentsname{\vspace*{-45pt}}
+
+% TOC dots separation
+% \renewcommand{\cftdotsep}{10}
+
+% \setlength{\cftsecindent}{0pt}% Remove indent for \section
+% \setlength{\cftsubsecindent}{5pt}% Remove indent for \subsection
+% \setlength{\cftsubsubsecindent}{0pt}% Remove indent for \subsubsec
+
+\setcounter{tocdepth}{4}
+
+\usepackage{titling}
+\renewcommand{\maketitle}{ 
+    \begin{flushleft}
+    {\bfseries\Huge\thetitle}
+    \vspace{1mm}
+    \end{flushleft}
+    \thispagestyle{empty}
+}
+
+% remove the page number from all the pages that the TOC occupies
+\addtocontents{toc}{\protect\thispagestyle{empty}}
+
+% add page break after TOC set it to page number 1
+\let\oldtableofcontents\tableofcontents % remember the definition
+\renewcommand\tableofcontents{
+    \oldtableofcontents % use the standard toc
+    \thispagestyle{empty}
+    \pagebreak
+    \setcounter{page}{1}
+}
+
+% Set text color for all document
+% \color{ugrey}
+
+\usepackage[titles]{tocloft}
+\renewcommand{\cftdotsep}{1.5}
+\renewcommand{\cftsetpnumwidth}{1.5}
+\renewcommand{\cftsetrmarg}{1.5}
+
+\usepackage{float}
+\makeatletter
+\def\fps@figure{H}
+\makeatother
+
+% nicer chemical figures
+\usepackage{chemfig}
+
+% change style of quote, see also https://tex.stackexchange.com/a/436253/114857
+\usepackage[most]{tcolorbox}
+
+\definecolor{linequote}{RGB}{224,215,188}
+\definecolor{bordercolor}{RGB}{221,221,221}
+% \definecolor{backquote}{RGB}{249,245,233}
+\definecolor{backquote}{RGB}{230,230,230}
+
+% change left border: https://tex.stackexchange.com/a/475716/114857
+% change left margin: https://tex.stackexchange.com/a/457936/114857
+\newtcolorbox{myquote}[1][]{%
+    enhanced,
+    breakable,
+    size=minimal,
+    left=12pt,
+    top=12pt,
+    bottom=12pt,
+    right=12pt,
+    boxrule=1pt,
+    sharp corners=all,
+    % colback=backquote,
+    colback=bgcolor,
+    colframe=black,
+    #1}
+
+% redefine quote environment to use the myquote environment, see
+% https://tex.stackexchange.com/a/337587/114857
+\renewenvironment{quote}{\begin{myquote}}{\end{myquote}}
+
+% better fractions
+\usepackage{nicefrac,xfrac}
+
+% surround footnotes number with square brackets and always use numbers (even
+% inside quoted text)
+% https://www.overleaf.com/learn/latex/Footnotes
+\renewcommand*{\thefootnote}{\ [\arabic{footnote}]\ }
+\renewcommand*{\thempfootnote}{\ [\arabic{mpfootnote}]\ }
+
+% space between text and footer
+\setlength\footskip{25pt}
+\setlength{\skip\footins}{12pt}
+
+% align first letter of all the lines in the footnotes
+\usepackage[bottomfloats,belowfloats,hang]{footmisc}
+\setlength{\footnotemargin}{1em}