tps/2C2024/1/informe/informe.md (3543B)
1 # Trabajo Práctico: Nivel de Transporte y Nivel de Red del Modelo TCP/IP 2 3 Redes de Comunicaciones (TB067) - 2C2024 - FIUBA 4 Martin Klöckner (123456) - [mklockner@fi.uba.ar](mailto:mklockner@fi.uba.ar) 5 6 ## El protocolo MQTT 7 8 MQTT (Message Query Telemetry Transport) es un protocolo de red ligero y 9 eficiente, implementado de extremo a extremo y con patron publisher-subscriber 10 (editor-suscriptor). 11 12 Este protocolo está diseñado principalmente para dispositivos en locaciones 13 remotas con recursos y/o ancho de banda limitado, tal como sistemas embebidos. 14 15 El protocolo MQTT se ubica en el nivel de aplicación del modelo TCP/IP por lo 16 que requiere de un protocolo de transporte subyacente; en particular uno que sea 17 ordenado, seguro y sin perdida de datos, tal como el protocolo TCP. 18 19 ### Seguridad 20 21 Encriptacion 22 23 ### Aplicaciones Comerciales 24 25 ### Versiones 26 27 Las versiones de MQTT son controladas por la organización sin fines de lucro 28 OASIS (Organization for the Advancement of Structured Information Standards) 29 30 #### MQTT 5 31 #### MQTT 3.1.1 32 #### MQTT 3.1 33 #### MQTT-SN v1.2 34 35 ### Referencias 36 37 [MQTT: The Standard for IoT Messaging](https://mqtt.org/) 38 [¿Qué es MQTT?](https://aws.amazon.com/es/what-is/mqtt/) 39 40 ## Uso Práctico 41 42 > Sobre la aplicación, ¿de qué modo consigue implementar la fragmentación? 43 44 > En comparación con la fragmentación que implementa el protocolo TCP, ¿hay 45 > funcionalidades o características de la fragmentación en estos scripts que 46 > sean similares a la segmentación TCP? ¿Cuáles? 47 48 > En comparación con la segmentación que implementa el protocolo TCP, ¿hay 49 > funcionalidades o características de la segmentación TCP que en estos scripts 50 > estén ausentes? ¿Cuáles? 51 52 > Acerca de las sesiones del publicador y del suscriptor, ¿cuáles son los 53 > extremos de las sesiones? ¿quién toma el rol de cliente y quién de servidor? 54 55 > Sobre la extensión de las sesiones, ¿son persistentes, cómo se sostienen 56 > cuando no hay tráfico? ¿no son persistentes? ¿cómo se cierran (en qué momento 57 > y quién lo inicia)? 58 59 > En detalle sobre las sesiones: 60 > a. ¿Cuál es el número de secuencia del primer segmento TCP de 61 > petición de conexión? 62 > b. ¿Cuáles son las opciones implementadas, si las hay? 63 > c. ¿Cuántos bytes tiene el buffer de recepción según se informa al inicio? 64 > d. ¿A qué hora se envió el primer segmento (el que contiene datos de la 65 > aplicación)? ¿A qué hora se recibió el ACK de este primer segmento 66 > que contiene datos? ¿Cuál es su RTT? 67 > e. ¿Cuál es la longitud (encabezado más carga útil) de cada uno de los 68 > primeros cuatro segmentos TCP que transportan datos? 69 70 > HTTP indica la cantidad de datos a transmitir mediante un encabezado. Esta 71 > adecuación de MQTT para transmitir fragmentos no comunica la cantidad de datos 72 > que va a transmitir. Si algún paquete se perdiera, el suscriptor no tendría 73 > forma de detectar la falta. Modificar el código para simular la pérdida de un 74 > paquete intermedio y verificar en el suscriptor que el texto quede truncado. 75 > Luego modificar ambos scripts para que se comunique el largo de los datos a 76 > transmitir y que el suscriptor pueda validar la cantidad de datos recibidos 77 > versus los esperados. 78 79 > De las funcionalidades o características vinculadas a segmentación, presentes 80 > en TCP pero no cubiertas por estos scripts, implementar una versión mejorada, 81 > que incorpore al menos una mejora o una funcionalidad. Se puede usar 82 > inteligencia artificial y por qué no, inteligencia natural.