2016-11-22 7 views
0

우리는 현재 유니 캐스트와 브로드 캐스트를 모두 지원하는 네트워크 엔진을 보유하고 있습니다. 우리는 지금까지 유니 캐스트를 사용하고 있었지만 네트워크 트래픽을 줄이기 위해 브로드 캐스트 기능을 탐색하고 있습니다.UDP 유니 캐스트가 브로드 캐스트보다 안정적입니까?

내 테스트는 유니 캐스팅이 멀리 브로드 캐스트보다 신뢰할 수 있다고 제안하는 것처럼 보입니다. 이것은 내가 기대했던 것 (강력한 네트워킹 배경이 아님)이 아닙니다.

예를 들어 기가비트 이더넷 LAN을 통해 패킷이 호스트에서 클라이언트로 전송되는 간단한 테스트 시나리오를 사용하면 패킷 손실없이 매초 15,000 개의 1000 바이트 패킷을 유니 캐스트 할 수 있습니다. 방송으로 전환하면 +/- 20 % 패킷 손실이 발생하기 전에 약 1200 개의 1000 바이트 패킷 만 관리 할 수 ​​있습니다.

예상 되나요? 유니 캐스트와 브로드 캐스팅의 차이점에 대한 정보를 읽는 동안이 특정 질문에 대한 명확한 답을 찾을 수 없었습니다.

실제로 이러한 동작이 예상되는 경우 멀티 캐스팅은이 점에서 방송하는 것보다 유니 캐스팅과 유사합니다 ('신뢰성')?

시험 세부 사항은

나는 (등 속도, 패킷 크기, '반복'당 전송 된 패킷의 수를 보내) 다양한 설정을 조작 할 수있는 응용 프로그램을 채찍질했습니다. 이 응용 프로그램의 여러 인스턴스를 로컬로 실행 한 다음 네트워크상의 다른 PC에서 인스턴스를 더 실행합니다 (필자는 PC와 다른 PC에서 단일 인스턴스로 실행했습니다).

각 패킷에는 보낸 송신 응용 프로그램 인스턴스의 이름, 정수 ID (앱이 패킷을 보낼 때마다 증가하는) 및 페이로드 (일반적으로 0, 500, 1000 또는 1400 바이트)가 포함됩니다.

패킷이 수신되면 ID 필드가 검사되고 예상 ID인지 확인합니다 (각 앱 인스턴스에서 수신 할 다음 ID를 추적합니다). 내가 기대하는 것보다 늦은 ID는 패킷이 손실되었거나 시퀀스에서 벗어 났음을 나타냅니다. 예상보다 빠른 ID는 패킷이 시퀀스를 벗어 났음을 나타냅니다.

전송 속도는 기본적으로 20ms 지연을 사용하여 수정할 수 있습니다. 매번 전송되는 패킷 수는 수정할 수 있습니다. 예를 들어, 20ms마다 50 개의 패킷을 보내도록 지정할 수 있습니다 (각 패킷에는 고유 한 ID가 있음).

+0

나는 당신의 방법론을보고 싶습니다. 모든 참가자의 브로드 캐스트 패킷 손실을 측정하고 있습니까? – EJP

+0

@EJP 예 흥미롭게도 같은 PC에서 실행중인 참가자에게도 손실이 발생합니다. 나는 그 질문에서 정교하게 노력할 것이다. – grae22

+0

전송 속도를 어떻게 조절 하시겠습니까? 마지막으로 보낸 시간 이후 얼마나 많은 시간이 경과했는지 측정하고 전송할 패킷 수를 계산하여 보내고 가능한 한 적은 시간 동안 잠자기합니까? 또는 무엇을? 지역적으로도 피드백이 없으므로 자세한 것은 멀티 캐스트와 큰 차이가 있습니다. –

답변

0

UDP 브로드 캐스트를 네트워크로 보낼 때 패킷을 복제하여 네트워크의 모든 노드로 보내 네트워크 장치에 중요한 작업을해야합니다. LAN이 이전에 유니 캐스트되지 않은 많은 수의 장치로 구성된 경우 전체 브로드 캐스트를 수행하면 훨씬 많은 네트워크 활동이 만들어지고 네트워크 장치에서 작동 할 수 있습니다.

그러나 네트워크가 전적으로 참여를 원하는 노드로 구성되어 있다면 네트워크 장치가 소스에서 데이터를 적게 받고 전송을 위해 최적화 된 절차를 실행할 수 있으므로 브로드 캐스트 옵션이 더 안정적 일 것으로 기대됩니다. 패킷이 개별적으로 유니 캐스팅 된 경우와 동일한 수의 호스트로 브로드 캐스트합니다.

네트워크 테스트를 수행 할 때 관련 변수를 이해하고 다양한 유형의 확장이 성능에 미치는 영향을 파악할 수있는 제어 된 환경을 사용하는 것이 중요합니다.