멀티캐스팅 vs 유니캐스팅 속도
글쓴이: jeiley / 작성시간: 화, 2010/04/20 - 3:01오후
안녕하세요
저는 지금 일대일 멀티캐스팅이 과연 유니캐스팅 속도를 이길 수 있는게 현실적으로 가능 한지 여쭤보고 싶습니다.
이상적인 상황을 제가 개발을 통해 만들었으며
지금 현재 실험상황은 802.11 무선랜 환경이며
일대일 멀티캐스팅이 되고 있다고 가정하겠습니다.
과연 유니캐스팅의 속도를 이길 수 있을까요?
제가 지금 개발한게 버그가 있는건지 실제 이길 수 없어서 이상한 결과가 나오는 건지 궁금합니다.
현재 실험결과로는 유니캐스팅이 항상 이기는 것으로 파악이 됐습니다. 실제 환경하에서 실험을 했습니다.
멀티캐스팅/유니캐스팅 둘 다 무선공유기의 거리에 영향을 받습니다.
그러나 멀티캐스팅은 여기에 가중치가 붙어 무선공유기의 전송 써클이 넓으면 속도를 줄입니다. 많은 노드가 멀티캐스팅 신호를 받으려고 붙기 때문에 1/node수 로 나눠서 먹으려고 줄이는 겁니다. <----이건 구글링에서 봤는데 사실인지는 알 수 없습니다.
이론적으로 일대일 멀티캐스팅이 유니캐스팅을 이길 수 있는지 궁금합니다.
Forums:
글쎄요 속도적으로 이길 수 있을까? 하는 문제 보다는
일대일 멀티 캐스팅이 의미가 있는지 모르겠군요
유니캐스팅과 일대일 멀티캐스팅이 속도 저하 요인의 동일 조건하에서는
서로 같지 않을까 합니다.
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------
1:1 멀티캐스팅이란
1:1 멀티캐스팅이란 용어는 말 자체가 없는거라 생각합니다. 1:1이면 유니캐스팅이죠,
질문자께서는 멀티캐스팅용으로 구현된 프로토콜을 통과해서 두 노드가 통신을 하게 했다라는 것 같은데, 다른 얘기입니다.
제가 이해하기로는, 멀티캐스트와 유니캐스트를 위해 구현된프로토콜들에서 1:1로 통신하는 환경에서 그 둘의 처리 속도가 궁금하신것같은데
유니캐스트보다 멀티캐스트는 라우터단에서 패킷이 들어왔을때 멀티캐스팅을 해야 할 그룹들에 패킷을 복사하는 등의 추가과정을 처리해야 하기 때문에
프로세싱 속도라든가 요구되는 메모리가 더 많을 것입니다.
아시다시피 똑같은 프로그램도 어떻게 누가 구현하느냐에 따라 성능 차이가 많이 나는데,,
덧붙여 말하면 무선 통신을 하기 위해서 요구되는 전송파워는 거리의 제곱에 비례합니다.
무선에서 멀티캐스팅은 1:1 통신인것 같습니다.
무선 연결시 유선연결과 다르게 노드가 증가 시 각노드마다 시간을 할당하게 되고, 그럼 QOS나 폴링 방식으로 전송되지 않을까 싶네요.
유선과 비교했을때 1:1 통신과 동일하다고 보여집니다. 각노드마다 리소스를 할당하기 때문에 거리에도 상관은 있겠지만, 같은 거리에 노드있다면,
1:1 통신이라고 해도 무방하다고 보입니다.
비슷한 문제로 고민하고 있어서 해결을 하셨는지 문의드립니다.
저도 무선으로 1대1 통신 상황인데 노드가 추가될 확률이 높아서 멀티캐스트로 데이터 전송을 고려하고 있는데
테스트를 해보니 유니캐스트로 이미지 데이터를 보낼때는 깨끗하게 내보지는데
멀티캐스트로 데이터를 보내면 패킷이 유실 됩니다.
초당 3장의 이미지(600k)를 보낼때 1/3정도는 유실되는듯합니다.
1대1 통신 환경에 거리나 하드웨어는 똑같습니다.
찾아본 바로는 커널에서 멀티캐스트나 브로드캐스트일때는 해쉬테이블을 하나더 참조해서 패킷을 처리하는것 같던데
그것때문에 나는 성능 차이로는 체감하기로 좀 심한것같습니다.
이건 근본적인 프로토콜 때문에 생기는 문제인지 제가 어딘가 잘못하는건지 조언좀 구합니다.
인생은 도박이다.
댓글 달기