멀티캐스팅 vs 유니캐스팅 속도

jeiley의 이미지

안녕하세요
저는 지금 일대일 멀티캐스팅이 과연 유니캐스팅 속도를 이길 수 있는게 현실적으로 가능 한지 여쭤보고 싶습니다.
이상적인 상황을 제가 개발을 통해 만들었으며
지금 현재 실험상황은 802.11 무선랜 환경이며
일대일 멀티캐스팅이 되고 있다고 가정하겠습니다.
과연 유니캐스팅의 속도를 이길 수 있을까요?

제가 지금 개발한게 버그가 있는건지 실제 이길 수 없어서 이상한 결과가 나오는 건지 궁금합니다.
현재 실험결과로는 유니캐스팅이 항상 이기는 것으로 파악이 됐습니다. 실제 환경하에서 실험을 했습니다.

멀티캐스팅/유니캐스팅 둘 다 무선공유기의 거리에 영향을 받습니다.
그러나 멀티캐스팅은 여기에 가중치가 붙어 무선공유기의 전송 써클이 넓으면 속도를 줄입니다. 많은 노드가 멀티캐스팅 신호를 받으려고 붙기 때문에 1/node수 로 나눠서 먹으려고 줄이는 겁니다. <----이건 구글링에서 봤는데 사실인지는 알 수 없습니다.

이론적으로 일대일 멀티캐스팅이 유니캐스팅을 이길 수 있는지 궁금합니다.

madman93의 이미지

일대일 멀티 캐스팅이 의미가 있는지 모르겠군요
유니캐스팅과 일대일 멀티캐스팅이 속도 저하 요인의 동일 조건하에서는
서로 같지 않을까 합니다.
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

brucesabu의 이미지

1:1 멀티캐스팅이란 용어는 말 자체가 없는거라 생각합니다. 1:1이면 유니캐스팅이죠,

질문자께서는 멀티캐스팅용으로 구현된 프로토콜을 통과해서 두 노드가 통신을 하게 했다라는 것 같은데, 다른 얘기입니다.

제가 이해하기로는, 멀티캐스트와 유니캐스트를 위해 구현된프로토콜들에서 1:1로 통신하는 환경에서 그 둘의 처리 속도가 궁금하신것같은데

유니캐스트보다 멀티캐스트는 라우터단에서 패킷이 들어왔을때 멀티캐스팅을 해야 할 그룹들에 패킷을 복사하는 등의 추가과정을 처리해야 하기 때문에

프로세싱 속도라든가 요구되는 메모리가 더 많을 것입니다.

아시다시피 똑같은 프로그램도 어떻게 누가 구현하느냐에 따라 성능 차이가 많이 나는데,,

덧붙여 말하면 무선 통신을 하기 위해서 요구되는 전송파워는 거리의 제곱에 비례합니다.

sunyata01의 이미지

무선 연결시 유선연결과 다르게 노드가 증가 시 각노드마다 시간을 할당하게 되고, 그럼 QOS나 폴링 방식으로 전송되지 않을까 싶네요.
유선과 비교했을때 1:1 통신과 동일하다고 보여집니다. 각노드마다 리소스를 할당하기 때문에 거리에도 상관은 있겠지만, 같은 거리에 노드있다면,
1:1 통신이라고 해도 무방하다고 보입니다.

런맨의 이미지

저도 무선으로 1대1 통신 상황인데 노드가 추가될 확률이 높아서 멀티캐스트로 데이터 전송을 고려하고 있는데
테스트를 해보니 유니캐스트로 이미지 데이터를 보낼때는 깨끗하게 내보지는데
멀티캐스트로 데이터를 보내면 패킷이 유실 됩니다.
초당 3장의 이미지(600k)를 보낼때 1/3정도는 유실되는듯합니다.
1대1 통신 환경에 거리나 하드웨어는 똑같습니다.

찾아본 바로는 커널에서 멀티캐스트나 브로드캐스트일때는 해쉬테이블을 하나더 참조해서 패킷을 처리하는것 같던데
그것때문에 나는 성능 차이로는 체감하기로 좀 심한것같습니다.

이건 근본적인 프로토콜 때문에 생기는 문제인지 제가 어딘가 잘못하는건지 조언좀 구합니다.

인생은 도박이다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.