Captiulo 3 - Transporte Flashcards
Segmento UDP

UDP Servicios
- Entrega de datos de proceso a proceso.
- Chequeo de errores
TCP Servicios
- Orientado a conexion (handshaking)
- Transferencia Confiable de datos (llega, sin errores y en orden)
- Control de congestion
Demultiplexing
Es un proceso que se da en el receptor, mediante el cual se envía la data desde la capa de transporte al correspondiente socket.
Multiplexing
El proceso en el emisor, de recolectar chunks de diferentes sockets y encapsular cada uno con un header para crear segmentos y pasarlos a la capa de transporte.
Por que usar UDP?
- Control sobre que data se envía y cuando: no hay control de congestión.
- Sin conexión: no se pierde tiempo estableciendo una conexión.
- No hay estado: No guarda ningun parametro. Lo que permite tener más clientes activos.
- Header más pequeños: 8 bytes contra 20 bytes de TCP.
UDP Checksum
Brinda detección de errores. Se realiza haciendo el complemento a 1 de la suma de todas las palabras de 16 bits del segmento UDP. El resultado se pone en el campo cheksum del header.

Calculo del checksum (UDP)

rdt 1.0
- Canal 100% confiable.
- Stop & Wait

rdt 2.0
- Los paquetes pueden llegar con errores en los bits.
- No se pierden paquetes.
- ACK positivos y negativos (sin errores).
- Stop & Wait

rdt 2.1

- Se agrega que el ACK y el NACK pueden venir corruptos.
- Se agrega numero de secuencia (0 y 1, ya que es stop & wait) Esto es para que el receptor sepa si el paquete que llega es nuevo o una retransmisión (por que el ack llegó corrupto al emisor).

rdt 2.2

- Libre de NACK.
- ACK con número de secuencia.

rdt 3.0
- Se pierden paquetes.
- Timeout

Pipelined Reliable Data Transfer Protocols
- Se envian multiples paquetes a la vez.
- Se aumenta rango de la secuencia de números ya que ahora hay más paquetes viajando.
- Buffers en el emisor y/o el receptor.
- Dos formas de recuperarse del error: Go-back-N y Selective Repeat.
Go-back-N

- base: el número de ACK más viejo
- nextseqnum: el número de secuencia del próximo paquete a enviar.
- ACK acumulativos (si recibo un ACK de n, se recibieron todos hasta n)
- Si ocurre timeout, se reenvían todos desde el último ACK.
- Buffer solo en el emisor.

Selective Repeat

- Solo se reenvían los paquetes que no tienen ACK.
- Los ACK no son acumulativos.
- Multiple timers (1 por paquete enviado)
- windows_size

Conexión TCP - Características
- Orientado a conexión: handshaking.
- Full duplex: si a se conecta a b, entonces b esta conectado con a.
- Punto a punto: un solo emisor y un solo receptor.
MSS
Maximum Segment Size: es la mayor cantidad de data que se puede meter en un segmento. Se calcula teniendo en cuenta el tamaño del frame mas grande que puede enviar el host actual (MTU, Maximum Transmission Unit). Para asegurarse que el segmento TCP entre en un único frame al encapsularse dentro del datagrama IP.
La data a enviar se parte en MSS y se mete dentro de un segmento TCP.
Segmento TCP
Header Length (4 bits): Especifíca el largo del header en cantidad de palabras de 32 bits. El header puede variar debido al campo Options. Normalmente está vacío, y el tamaño del header es de 20 bytes.
ACK (1 bit): si esta en 1 indica que es un ACK.
RST (1 bit) SYN (1 bit) FIN (1 bit): se usan para configurar la conexión.
Numeros de secuencia y de ack: El número de secuencia es el número de byte dentro del stream de bytes, del primer byte del segmento (data).
El ACK es el número de secuencia del próximo byte que se está esperando.

Telnet (TCP, 23)
- Es un protocolo de capa de aplicación para acceder a equipos remotos.
- Corre sobre TCP.
- Los datos se envían sin encriptar.
- Cada caracter ingresado en el cliente se envía al servidor y el servidor lo envía nuevamente al cliente.

Cuando se dice que un ACK es piggybacked?
cuando ademas del ACK lleva datos en el segmento.
Estimación del RTT

Fast Retransmission
Cuando se reciben tres ACK duplicados, se reenvía el segmento correspondiente a ese ACK para evitar que salte el timeout.
TCP solo re-transmite si hubo timeout o tres ACK duplicados.
TCP es Go-back N o Selective Repeat?
Se parece a GBN porque mantiene una base y un nextSeqNum, pero TCP no retransmite todos los paquetes sin ACK si se pierde un ACK. Ademas tiene buffer en el receptor como Selective Repeat. Por lo tanto es un híbrido entre Go-back N y Selective Repeat.
TCP permite que lleguen segmentos desordenados, porque tiene buffer de recepción. Ademas si se da un timeout solo retransmite el segmento que ocasionó el timeout.













