두 개의 개별 클라이언트 및 서버 응용 프로그램에서 Go N 프로토콜을 구현하려고합니다. 내 시퀀스 번호가 3 비트에 맞아야하므로 2^3 = 8 개의 최대 숫자와 2^3 - 1 = 7 창 크기라고 가정합니다. 처음에는 전체 창을 보냅니다. 처음 두 개의 패킷 (0과 1)은 올바르게 수신됩니다. 패킷 2가 삭제됩니다. 수신기 (6)을 통해 패킷 (3)을 얻을
클래스 C에서 Go-Back-N을 사용하는 시뮬레이트 된 네트워크 환경의 코드를 작성하려고합니다. 그러나, 내 A_timerinterrupt() 메서드를 포함하는 일종의 무한 루프가 계속 발생합니다. 아래는 C 파일입니다. 따라서이 파일과 제 방법을 살펴볼 수 있습니다. 내가 시뮬레이션 메시지의 수 = 10, 패킷 손실 확률값 = 0.1, 부패 확률값 =
클래스에 대해 GoBackN ARQ를 구현하려고합니다. 나는 파일을 읽고, 30 문자의 패킷으로 분해 한 다음 패킷 배열에 패킷을 저장하려고 시도하고있다. 이 모든 패킷은 class packet의 개체입니다. 현재이 코드는 컴파일되고 실행되지만 배열의 인덱스 0에서 마지막 및 최신 패킷을받습니다. 인덱스 1에 액세스하려고 시도했지만 다른 패킷을 예상했지만
GoBackN 프로토콜을 구현하려고하는데 서버가 패킷을 버리면 내 경보는 이전에 보낸 모든 패킷을 보내기 전에 2 초 동안 대기합니다. 알람이 작동하고 2 초 동안 기다렸지 만 첫 번째 시간 초과 후, 사용중인 상태 시스템이 루프에 걸려 시간 초과가 계속됩니다. errno이 재설정되지 않기 때문에 발생했을 수도 있지만 확실하지 않습니다. #define TI
modulo 4 계산의 경우 시퀀스 번호 범위는 0-3이고 창 크기는 3 (0-2)입니다 .0-2에서 3 개의 패킷이 전송되고 수신자로부터 ack를 기다리고 있습니다. 수신자가 보낸 3 개의 ack이 모두 손실되었다고 가정합니다. 이 때 수신기는 시퀀스 번호가 3 인 인 패킷을 기다리고 있습니다. 송신 창은 걸출한 패킷으로 채워집니다. 시간이 지나면 모든