Quantos bits para o número de seqüência usando o protocolo Go-Back-N

1

Eu sou regular no Stack Overflow (desenvolvedor de software) que está tentando passar por um curso de rede. Eu tenho um problema de lição de casa que eu gostaria de ter um controle de sanidade. Aqui está o que eu tenho.

Q:

Um tronco T1 de 3000 km de comprimento é usado para transmitir quadros de 64 bytes usando o protocolo Go-Back-N. Se a velocidade de propagação é de 6 microssegundos / km, quantos bits devem ser os números de sequência?

Minha resposta:

Para estas perguntas, o que precisamos fazer é estabelecer o conhecimento básico. O que estamos tentando encontrar é o tamanho do maior número de sequência que deveríamos usar usando o Go-Back-N. Para descobrir isso, precisamos descobrir quantos pacotes podem caber em nosso link de cada vez e, em seguida, subtrair um desse número. Isso garantirá que nunca tenhamos dois pacotes com o mesmo número de sequência ao mesmo tempo no link.

Comprimento do link: 3.000 km Velocidade: 6 microssegundos / km Tamanho do frame: 64 bytes Velocidade de transmissão T1: 1544kb / s ( link )

Tempo de propagação = 6 microssegundos / km * 3000 km = 18.000 microssegundos (18ms). Converter 1544kb para bytes = 1544 * 1024 = 1581056 bytes Tempo de transmissão = 64 bytes / 1581056 bytes / segundo = 0.000040479 segundos (0.4ms)

Então, se pegarmos o tempo de propagação de 18 ms e dividirmos pelo tempo de transmissão de 0,4 ms, veremos que poderemos encher (18 / 0,4) 45 pacotes no link de cada vez. Isso significa que nosso número de seqüência deve ter 2 ^ 45 bits!

Estou indo na direção certa com isso?

Obrigado Mike

    
por womble 07.03.2010 / 17:31

1 resposta

1

To figure this out we need to figure out how many packets can fit into our link at a time and then subtract one from that number. This will ensure that we never have two packets with the same sequence number at the same time in the link.

Eu não concordo com esse raciocínio. O ponto de não ter dois pacotes com o mesmo número de sequência será alcançado pelas entidades de protocolo que não enviam quadros fora da janela. Você deve distinguir entre o tamanho da janela, N e o intervalo do número de sequência. Não há problema em usar números de sequência de 32 bits para uma janela de apenas 5 quadros, embora isso não seja o ideal.

Se o tempo de transmissão em uma direção é de 18 ms, você terá um RTT, tempo de ida e volta, de 18 ms + recebendo o tempo de processamento final + 18 ms. Eu não tenho idéia de quais valores de tempo de processamento são sensíveis neste caso, então vamos assumir zero para simplificar. Isso dá um RTT de 36ms. Isso significa que, a partir do ponto em que você enviar um quadro, ele (no melhor dos casos) terá 38 ms antes de receber uma confirmação nesse quadro. Isso determina o limite superior de quantos dados pendentes fazem sentido ao decidir sobre um tamanho de janela. Se você tiver um tamanho de janela maior, ele só preencherá o buffer de transmissão no lado de envio e não afetará a taxa de transferência. Pode muito bem haver outros fatores (por exemplo, tamanho do buffer na extremidade de recepção) que limita a janela ainda mais, mas como nenhuma informação é dada para isso, vamos supor que a extremidade receptora tenha buffers ilimitados, etc.

Para um desempenho ideal (throughput), a janela deve ser grande o suficiente para que o remetente possa enviar 38ms continuamente. A velocidade T1 é 193000 bytes por segundo. Com 64 bytes por quadro que corresponde a 3015,625 quadros por segundo. 0,038 vezes 3015,625 dá 114,59375. Ou seja, em 38 ms você pode enviar 114 quadros. Portanto, um tamanho de janela ligeiramente maior que o máximo teórico (por exemplo, 115-120) pode ser escolhido (de modo que o fator limitante é o link físico e não o tamanho da janela). O intervalo do número de sequência tem que ser maior que o tamanho da janela e, nesse caso, 128 é um valor máximo próximo.

Portanto, a resposta para a sua pergunta é: você precisa de no mínimo 7 bits para números de sequência nesse caso. Veja também aqui para um miniaplicativo java interativo go-back-n.

    
por 23.10.2011 / 23:02