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.