2011-01-17 1 views
1

브로드 캐스트 비동기 네트워크 시스템에서 msg와 해당 ACK를 동기화하는 데 사용할 수있는 프로토콜/방법은 무엇입니까? 우리는 ACK와 타이머가있는 UDP를 사용하여 재전송이 필요한지 확인합니다 (max는 같은 메시지를 세 번 보내야 함).브로드 캐스트 비동기 네트워크 시스템에서 msgs와 acks를 동기화하는 데 사용할 수있는 프로토콜/방법?

+0

방법 기존의 ACK 기반의 안정적인 방송 미들웨어 위의 명령 전달을 구현하는 문제이다 :

시각적 데모는이 링크에있다? 아니면 메시징 프로토콜에 대한 열린 질문입니까? –

답변

1

ACK 및 재전송을 사용하는 경우 UDP를 기반으로하는 안정성 및 확장성에 위험이 따르기 때문에 TCP를 사용하는 것에 대해 열심히 생각해야합니다 (3 회 재전송은 실제로 안정성을 부여하지 못함). 규모를 조정해야하는 방송 시스템에서는 정기적 인 재전송을 생각하고 수신자가 필요한 정보 (자동 검색 시스템이 얼마나 많은지)를 확보하면 수신자가 수신 거부하도록해야합니다.

+0

하지만 우리는 UDP를 사용해야합니다. 왜냐하면 우리가 구축하고있는 오래된 소프트웨어에서 이미 사용 되었기 때문입니다. 최종 기한이 오래되었으며 기존 소프트웨어의 소스 코드가 없습니다. 그래서 우리가 뭘 할 수 있지? – yeeen

0

ACK가있는 UDP. TCP를 시도하십시오; 그것은 그 이상을 수행합니다.

정말로 손으로하고 싶다면 슬라이딩 윈도우를보십시오. 간단히 말해서, 한 번에 여러 개의 메시지를 보내고 ACK를 보내고 기다리는 대신 여러 개의 ACK를 기대할 수 있습니다. 일단 ACK가 타임 아웃 (수신되지 않음)되면 어떻게 진행 하는가는 당신에 달려 있습니다. 비디오 프레임을 보내는 경우에는 무시하도록 선택할 수 있습니다. 반면에 ACK가없는 패킷 만 다시 보내거나 마지막 만료 된 ACK 이후에 모두 다시 보내도록 선택할 수 있습니다.

위키 피 디아는 슬라이딩 윈도우 프로토콜 here을 설명합니다. http://www.osischool.com/protocol/Tcp/slidingWindow/index.php

관련 문제