2012-02-18 17 views
6

La pregunta es:La relación existente entre el tamaño de la ventana y el número de secuencia

Tenemos un protocol transporte que utiliza la canalización y utilizar un número de larga secuencia de 8 bits (0 a 255)

¿Cuál es la máxima ventana tamaño del remitente puede usar? (¿Cuántos paquetes puede enviar el remitente en la red antes de esperar por un ACK?)

Go-Back-N el tamaño máximo de ventana es: w = 2^m -1 w = 255.

Selectivo Repetir que la ventana de tamaño máximo es: w = (2^m)/2 w = 128.

No sé cuál es la correcta y qué fórmula debo usar.

Gracias por la ayuda

+0

¿Está diseñando un protocolo aquí? O tiene un nombre, en cuyo caso, por favor indíquelo. Para dejar en claro: estás hablando de TCP, ¿verdad? – cxxl

Respuesta

2

Esos dos son protocolos diferentes que tienen problemas diferentes.

En caso de Go-Back-N, está en lo cierto. El tamaño de la ventana puede ser de hasta 255. (2^8-1 es la última secuencia de # paquetes para enviar comenzando desde 0. Y también es el tamaño de ventana máximo posible para el protocolo Go-Back-N.)

Sin embargo , El protocolo de repetición selectiva tiene una limitación del tamaño de la ventana hasta la mitad del máximo de seq #, ya que el receptor no puede distinguir un paquete retransmitido que tiene el mismo número seq con un paquete ya bloqueado pero perdido y nunca alcanzado al emisor en la ventana anterior. Por lo tanto, el tamaño de la ventana debe estar en el medio rango de seq # para que las ventanas consecutivas no puedan tener duplicados seq # entre sí.

Go-Back-N no tiene este problema ya que el remitente empuja n paquetes hasta el tamaño de la ventana (que está en max: n-1) y nunca desliza la ventana hasta que acumula acks acumulativos hasta n. Y esos dos protocolos tienen diferentes ventanas de tamaño máximo.

Nota: Para Go-Back-N, el tamaño máximo de ventana es el número máximo de números de secuencia únicos: 1. Si la ventana es igual al número máximo de números de secuencia únicos, si se pierden todas las confirmaciones, el receptor aceptará todos los mensajes retransmitidos como un conjunto separado de mensajes y transmitirá los mensajes un tiempo adicional a su aplicación. Para evitar esta incoherencia, tamaño de ventana máximo = número máximo de números de secuencia únicos: 1. Esta respuesta se ha actualizado de acuerdo con el hecho proporcionado en el comentario por @noamgot.

+1

hola, lamento traer esta publicación de entre los muertos, pero creo que hay un problema con su respuesta: en GBN, el tamaño de la ventana debe ser de hasta 255 y no de 256. considere el siguiente ejemplo: el remitente envió los paquetes 0-255 (toda la ventana), el receptor los recibe y envía un ACK. desafortunadamente, el ACK se pierde, por lo que luego de que se agota el tiempo de espera, el remitente vuelve a enviar esos paquetes. pero ahora el receptor espera a otra secuencia de paquetes comenzando con 0, entonces tenemos un problema. con un tamaño de ventana de 255 no sucede. considere ver esto: http://webmuseum.mi.fh-offenburg.de/index.php?view=exh&src=73 – noamgot

Cuestiones relacionadas