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