rdt2.2: fragmentos del emisor y receptor

Documentos relacionados
Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González

Capítulo 3: Capa Transporte - II

Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González

Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González

Capítulo 3 Capa de Transporte

Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González

Capítulo 3: Capa Transporte - II ELO322: Redes de Computadores Agustín J. González

La implementación del Sender y del Receiver van a depender del modelo del canal que está por debajo y complejidad.

Introducción. 1) Principio de transferencia de datos Confiable

Capítulo 3 La capa de transporte

Capítulo 3: Capa de Transporte

Capítulo 3 La capa de transporte. capa de transporte / capa de red. Capítulo 3: La capa de transporte. protocolos de capa de transporte de Internet

Transporte fiable Selective repeat

Transporte fiable Ventana deslizante

Protocolos de ventana deslizante (sliding-window protocols)

Transporte fiable Ventana deslizante y go-back-n

Capa de Transporte. Capa de Transporte. Objetivos: Comprender los principios que fundamentan los servicios de transporte:

Módulo 03 La Capa de Transporte (Pt. 1)

Módulo 03 La Capa de Transporte (Pt. 1)

Transporte fiable. Area de Ingeniería Telemática

CAPA TRANSPORTE CAPITULO 3

ELO322 Redes de Computadores I 6/05/2016

Protocolos punto a punto Teoría de la Comunicaciones. 23 de Marzo de 2016

Transporte Introducción y transporte fiable

Relación Capa Transp/Red

Capítulo 3: Capa Transporte - III

ELO322 Redes de Computadores I 07/06/2013. Segundo Certamen ACK1 ACK1 ACK1 ACK1 ACK5

CONTROL DE ERRORES DETECCIÓN DE ERRORES

REDES DE COMPUTADORES

Capa de Enlace de Datos

Nivel de enlace. Teoría de la Comunicaciones. 27 de Marzo de 2013

Nivel de enlace. Teoría de la Comunicaciones. 28 de Marzo de 2012

Nivel de Transporte LSUB, GYSC, URJC

Capítulo 3: Capa Transporte - III

TCP. Temario. Temario

Internet y TCP/IP La Capa de Transporte en Internet: Control de Flujo y Congestión

La capa de transporte

Tema 4: Protocolos de comunicación punto a punto. Tema 4: Protocolos de comunicación punto a punto

TCP Tema 3.- Nivel de transporte en Internet

Figura 6.5 ARQ mediante parada-y-espera.

TCP Transporte fiable en Internet

Redes de Datos-Control del enlace de Datos. Jhon Jairo Padilla Aguilar PhD. Ingeniería Telemática

TCP Transmission Control Protocol

Transporte: Servicios y Protocolos. Prof. Wílmer Pereira

Retardo en la propagación de las señales

Tarea N 2 5, 27, 28, 33 para corrección.

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

Transparencias de Redes de Ordenadores. Tema 10 Nivel de Transporte: TCP 1ª Parte TCP. Uploaded by. IngTeleco

Temas 3 y /16.37

Computer Networks I CAPA DE TRANSPORTE

Módulo 03 La Capa de Transporte (Pt. 1)

Redes de Área Local. Arquitectura de una LAN. Tema 2. Medio. Medio. E.T.S.I. Telecomunicación Sonido e Imagen. Aplicaciones en Redes Locales.

Problemas de Arquitectura de Redes, Sistemas y Servicios 2 o Grado en Ingeniería en Tecnologías de Telecomunicación Conjunto de problemas 6

Figura 6.3 Descripción de la ventana deslizante.

TCP Control de Congestión Teoría de la Comunicaciones. 05 de Junio de 2012

Bibliografía [COM06] Internetworking with TCP/IP, Cap. 12. Arquitectura de Redes y Servicios de Telecomunicación (ARST)

Redes de Computadores - Problemas y cuestiones

Primer Certamen (Tiempo: 90 min.) Si algo no está claro, haga una supuesto razonable, anótelo, y responda conforme a ello.

Funciones del Control de enlace de datos

Andres Arcia Moret 1 Algunas láminas y/o gráficos son tomandos exactamente del laminario K-R

Bloque III: El nivel de transporte. Tema 8: Retransmisiones y temporizadores en TCP

Detección y Corrección de Errores

Principios del Control de Congestión

TCP: Ventana de control de flujo y timers

Protocolo de Ventana Deslizante 2008

Bloque III: El nivel de transporte. Tema 8: Retransmisiones y temporizadores en TCP

Práctica N 5: Wireshark TCP

Redes de Ordenadores Control de congestión en TCP. Mikel Izal Azcárate

La tarea de esta capa es proporcionar un transporte de datos confiable de la máquina de origen a la máquina de destino, independientemente de la red

15/06/14. Principios del Control de la Congestión. Causas y Costos de la Congestión. Escenario 1: 2 emisores, 1 enrutador con buffer infinito.

Capa de enlace. Los problemas específicos de los medios compartidos se abordan en la sub-capa MAC. errores del medio físico retardo de los canales

Control de Congestión en TCP Teoría de la Comunicaciones. 05 de Junio de 2013

Ubicación en el modelo

La capa de enlace. Juan Manuel Orduña Huertas. Redes de Transmisión de Datos - Curso 2011/2012. La Subcapa de enlace

Pr. Dr. Xavier Bonnaire

Nivel de Transporte: Introducción, UDP y TCP

Bloque III: El nivel de transporte. Tema 5: UDP y TCP

Introducción. Framing. Comunicaciones punto a punto

Introducción a Internet

BLOQUE IV. Nivel de enlace de datos

ELO322 Redes de Computadores I 24/06/2016

REDES DE COMPUTADORAS EC5751

75.43 Introducción a los Sistemas Distribuidos

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas. Capa de Transporte. Mérida - Venezuela Prof. Gilberto Díaz

Tema 14: El protocolo TCP

REDES DE ORDENADORES HOJA DE PROBLEMAS 3

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Protocolos de Control de Flujo

Capa de transporte Nivel 4

Una Introducción al Control de Flujo en la Comunicación

Solución del Examen - 20 de febrero de 2009 (ref: sirc0903.doc)

75.43 Introducción a los Sistemas Distribuidos

Tema 4 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE. Internet

Capítulo 3: la ruta. 3.6 principios de control de la congestión 3.7 Control de congestión TCP

Redes (9359). Curso Ingeniería Técnica en Informática de Sistemas (plan 2001)

Transcripción:

rdt2.2: fragmentos del emisor y receptor && (corrupt(rcvpkt) has_seq1(rcvpkt)) rdt_send(data) sndpkt = make_pkt(0, data, checksum) por llamada 0 de arriba llamada 0 de abajo por ACK0 fragmento de la FSM del emisor fragmento de la FSM del receptor && notcorrupt(rcvpkt) && has_seq1(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,1) ) && notcorrupt(rcvpkt) && isack(rcvpkt,0) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack1, chksum) Int. Redes de Computadoras - Capa de transporte 3-1 rdt3.0: canales con errores y pérdidas Nuevo supuesto: el canal subyacente también puede perder paquetes (datos o ACKs) suma de comprobación, nros. de secuencia, ACKs y retransmisiones nos ayudan, pero no lo suficiente Enfoque: el transmisor espera por el ACK un tiempo razonable retransmite si no recibe el ACK en dicho tiempo si el paquete (o ACK) sólo está retrasado (no perdido): la retransmisión será un duplicado, pero el nro. de secuencia maneja ésto El receptor debe especificar el nro. de secuencia del paquete que está siendo ACKed requiere countdown timer Int. Redes de Computadoras - Capa de transporte 3-2 1

rdt3.0: emisor rdt_send(data) por llamada 0 de arriba && notcorrupt(rcvpkt) && isack(rcvpkt,1) stop_timer timeout && ( corrupt(rcvpkt) isack(rcvpkt,0) ) sndpkt = make_pkt(0, data, checksum) por ACK1 rdt_send(data) por ACK0 por llamada 1 de arriba sndpkt = make_pkt(1, data, checksum) && ( corrupt(rcvpkt) isack(rcvpkt,1) ) timeout && notcorrupt(rcvpkt) && isack(rcvpkt,0) stop_timer Int. Redes de Computadoras - Capa de transporte 3-3 rdt3.0 en acción Int. Redes de Computadoras - Capa de transporte 3-4 2

rdt3.0 en acción Int. Redes de Computadoras - Capa de transporte 3-5 Performance de rdt3.0 rdt3.0 funciona, pero su performance no es buena Ejemplo: enlace de 1 Gbps, retardo de propagación 15 ms, paquetes de 1000 bytes (8000 bits): t transmitir un paquete L 8000 bits = = = 8 µs R 9 10 bps U emisor : utilización del canal tiempodel sender ocupado enviando datos U L / R.008 = = 0.00027 sender RTT + L / R = 30.008 Paquetes de 1KB cada 30 msec -> 33kB/sec en un enlace de 1 Gbps Los protocolos de red limitan el uso de los recursos físicos Int. Redes de Computadoras - Capa de transporte 3-6 3

rdt3.0: operación stop-and-wait 1er. bit del paq. transm., t = 0 Último bit del paq. transm., t = L / R sender receiver RTT Llega 1er. bit del paq. Llega Último bit del paq., enviar ACK Llega ACK, enviar el próximo paquete, t = RTT + L / R U emisor = L / R RTT + L / R =.008 30.008 = 0.00027 Int. Redes de Computadoras - Capa de transporte 3-7 Pipelined protocols Pipelining: el emisor permite el envío de múltiples paquetes a ser reconocidos el rango de los números de secuencia se debe incrementar buffering en el sender y/o en el receiver Dos formas genéricas de pipelined protocols: Go-Back-N (Retroceder N), Selective Repeat (Repetición Selectiva) Int. Redes de Computadoras - Capa de transporte 3-8 4

Pipelining: incremento de la utilización 1er. bit del 1er. paq. transm., t = 0 Último bit del 1er. paq. transm., t =L/R sender receiver RTT Llega ACK, enviar el siguiente paquete, t = RTT + L / R Llega el primer bit del primer paquete Llega el último bit del 1er. paq., enviar ACK Llega el último bit del 2 nd paq., enviar ACK Llega el último bit del 3 rd paq., enviar ACK Incremento de la utilización por un factor de 3! U sender = 3 * L / R RTT + L / R =.024 30.008 = 0.0008 Int. Redes de Computadoras - Capa de transporte 3-9 Pipelining Protocols Go-back-N: titulares El transmisor puede tener hasta N paquetes no- ACKed en el pipeline El receptor sólo envía ACKs acumulativos No envía el ACK de un paquete si hay un hueco El transmisor tiene un timer para el paquete más viejo no-acked Si el timer vence, retransmite todos los paquetes no-acked Selective Repeat: titulares El transmisor puede tener hasta N paquetes no- ACKed en el pipeline El receptor envía ACKs para paquetes individuales El transmisor tiene un timer para cada paquete no no-acked Cuando el timer vence, retransmite sólo el paquete no-acked Int. Redes de Computadoras - Capa de transporte 3-10 5

Go-Back-N Emisor: Número de secuencia de k bits en el encabezado del paquete window permitida de hasta N paquetes consecutivos no-acked Si la ventana no está llena, se puede seguir transmitiendo ACK(n): ACKs de todos los paquetes hasta él, incluyendo el nro. de sec. n -- ACK acumulativo podría recibir ACKs duplicados (ver receptor) timer único: para el paquete más viejo aún no-acked timeout(n): retransmite el paquete n y todos aquellos con nro. de sec. mayor y dentro de la ventana Int. Redes de Computadoras - Capa de transporte 3-11 GBN: FSM extendida del sender rdt_send(data) base=1 nextseqnum=1 && corrupt(rcvpkt) if (nextseqnum < base+n) { sndpkt[nextseqnum] = make_pkt(nextseqnum,data,chksum) udt_send(sndpkt[nextseqnum]) if (base == nextseqnum) nextseqnum++ } else refuse_data(data) timeout udt_send(sndpkt[base]) udt_send(sndpkt[base+1]) udt_send(sndpkt[nextseqnum-1]) && notcorrupt(rcvpkt) base = getacknum(rcvpkt)+1 If (base == nextseqnum) stop_timer else Int. Redes de Computadoras - Capa de transporte 3-12 6

GBN: FSM extendida del receiver default expectedseqnum=1 sndpkt = make_pkt(0,ack,chksum) && notcurrupt(rcvpkt) && hasseqnum(rcvpkt,expectedseqnum) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(expectedseqnum,ack,chksum) expectedseqnum++ ACK-solamente: siempre enviar ACK para el paquete correctamente recibido y en orden con el mayor nro. de sec. Se podrían generar ACKs duplicados Solamente necesitamos recordar expectedseqnum Paquetes fuera de orden: Descartar (no almacenar en buffer) -> sin buffer en el receptor Re-ACK paquetes con el mayor nro. de sec. en orden Int. Redes de Computadoras - Capa de transporte 3-13 GBN en acción Int. Redes de Computadoras - Capa de transporte 3-14 7

Selective Repeat el receptor envía ACKs individualmente para todos los paquetes correctamente recibidos buffers para los paquetes, para una eventual entrega en orden a la capa superior el emisor re-envía solamente los paquetes para los que no ha recibido su ACK timer en el emisor para cada paquete no-acked ventana del emisor N números de secuencia consecutivos Nuevamente, los límites de los números de secuencia son lospaquetesenviadosno-acked Int. Redes de Computadoras - Capa de transporte 3-15 Selective repeat: ventanas en emisor y receptor Int. Redes de Computadoras - Capa de transporte 3-16 8

Selective repeat emisor datos desde arriba: si el próx. nro. de seq. está dentro de la ventana, enviar paquete timeout(n): re-enviar el paquete n, reinicio del timer ACK(n) en [sendbase,sendbase+n]: marcar al paquete n como recibido si n es el paquete más pequeño no-acked, avanza la base de la ventana al siguiente número de secuencia no-acked receptor paq. n en [rcvbase, rcvbase+n-1] enviar ACK(n) fuera de orden: buffer en orden: entregar (también entregar los paquetes en orden en buffer), avanzar ventana al siguiente paquete no recibido aún pkt n en [rcvbase-n,rcvbase-1] ACK(n) en otro caso: ignorar Int. Redes de Computadoras - Capa de transporte 3-17 La repetición selectiva en acción Int. Redes de Computadoras - Capa de transporte 3-18 9

Repetición selectiva: el dilema Ejemplo: seq # s: 0, 1, 2, 3 Tamaño de ventana = 3 para el receiver no hay diferencias en los dos escenarios! en (a) incorrectamente se pasan datos duplicados como nuevos P: Qué relación debe haber entre seq # size y el tamaño de ventana? Int. Redes de Computadoras - Capa de transporte 3-19 Mecanismos de transferencia confiable: resumen Suma de comprobación Temporizador Número de secuencia Reconocimiento Reconocimiento negativo Ventana deslizante Int. Redes de Computadoras - Capa de transporte 3-20 10