2009-08-18 2 views
2

우리는 애플리케이션에서 멀티 캐스팅을 사용하여 미들 티어에 연결된 클라이언트에 효율적으로 업데이트를 브로드 캐스트합니다. 네트워크 엔지니어가 " 멀티 캐스팅 작동 방법"및 지원하는 멀티 캐스트 프로토콜에 대해 계속해서 문의합니다. 나는 내가 아는 한 점에서, 이러한 질문 유형에 당황하고있어, 우리의 클라이언트 프로세스는 단순히 다음 명령을 실행하여 멀티 캐스트 그룹에 가입 : 거기에 차이에 관해서는 없다개발자는 IGMP, PIM-DM 및 PIM-SM과 같은 멀티 캐스팅 프로토콜을 완전히 이해해야합니까?

m_sSocket = socket(PF_INET, SOCK_DGRAM, 0); 

if (m_sSocket == INVALID_SOCKET) 
{ 
    SocketError(); 
    return false; 
} 

sockaddr_in saServer; 
ZeroMemory(&saServer, sizeof(sockaddr_in)); 

saServer.sin_family = AF_INET; 
saServer.sin_addr.s_addr = htonl(INADDR_ANY); 
saServer.sin_port = htons(nMulticastPort); 

if (bind(m_sSocket, (sockaddr *)&saServer, sizeof(sockaddr_in)) == SOCKET_ERROR) 
{ 
    SocketError(); 
    return false; 
} 

m_ipMulticast.imr_multiaddr.s_addr = inet_addr(tostring(strMulticast).c_str()); 
m_ipMulticast.imr_interface.s_addr = htons(INADDR_ANY); 

// join the multicast group 
if (setsockopt(m_sSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP, 
       (LPCSTR)&m_ipMulticast, sizeof(ip_mreq)) == SOCKET_ERROR) 
{ 
    SocketError(); 
    return false; 
} 

무엇 멀티 캐스트 프로토콜을 사용해야합니다. 이러한 유형의 질문에 어떻게 대응할 수있는 유용한 제안이 있습니까? 지금은 멀티 캐스트 할 주소/포트를 제공하고 네트워크 라우터에서이 주소/포트를 열도록 요청합니다. 그러나 이것으로는 충분하지 않고 더 많은 정보가 필요합니다. (?)

답변

0

TAO (The ACE Orb)에서 멀티 캐스팅 구현을 포함하는 무료 크로스 플랫폼 lib ACE (http://www.cse.wustl.edu/~schmidt/ACE.html)가 있습니다. 상호 참조를 위해 죄송하지만 문제가 해결되었음을 확신합니다. 구독 네트워크의 밀도 또는 스파 스)

1 :

3

는 대부분의 경우 네트워크 엔지니어는 같은 것들을 이해하려고? 시스코 스위치 (및 다른 사람들이 가정 함)는 각 세그먼트에서 예상되는 가입자 수에 따라 다르게 구성 될 수 있습니다. 이 설정은 스위치의 성능에 영향을줍니다.

2) 여러 LAN 또는 VLAN을 교차 할 계획입니까? TTL이 1이 아닌 다른 것입니까? 스위치에서 패킷을 라우트하는 데 사용되는 알고리즘을 제어하는 ​​설정이 있습니다. 잘못된 설정으로 인해 모든 패킷이 스위치 CPU에 충돌 할 수 있습니다. 좋은 일이 아닙니다.

이러한 질문에 대한 답변은 라우터 디자인과 스위치 설정에 영향을 미칩니다. 귀하의 인터넷 기술자는 프로토콜과 내용에 대해 궁금 할 수 있습니다.하지만 더 높은 수준의 문제는 업무에 영향을 미칩니다. 내 추측으로는 그 문제를 이해하고 싶어하지만 질문하는 방법을 모른다.

+0

이들은 앨런이 참여해야하는 질문이 아니며, 이는 모두 네트워크 아키텍처 결정입니다.그는 고밀도 vs 희소성을 선택할 필요가 없습니다 (네트워크 엔지니어는 자신의 애플리케이션 요구 사항에 따라이를 선택할 것입니다). 이는 VLAN 측면에서도 마찬가지입니다. – avirtuos

2

저는 여러 멀티 캐스트 지원 응용 프로그램을 지원 및 구축 할 때 자체 네트워크 엔지니어와 긴밀히 협력하고 즐거웠습니다.

여기에 그들이 묻는 내용이 있습니다 (네트워크 수준에서 '멀티 캐스트'가 무엇이며 어떻게 작동하는지 이해한다고 가정).

  1. 응용 프로그램이 자주 그룹에 가입/탈퇴합니까? (문제 해결에 중요)
  2. 근무 시간 외의 시간에 응용 프로그램이 그룹에서 퇴장 했습니까? (네트워크가 멀티 캐스트 트리를 재구 축할 수있는 네트워크를 허용)
  3. 멀티 캐스트 소켓을 통한 통신의 성격과 데이터 손실에 대한 민감도는 무엇입니까 (udp는 TCP/IP와 같은 도착 메시지를 보내지 않습니다)?
  4. 몇 개의 서버가 있으며 어느 위치에 있습니까? (A에서 B 로의 멀티 캐스트를 얻기 위해 어떤 네트워크 변경이 필요한지 이해하는 데 도움이 됨)
  5. 멀티 캐스트의 생산자/소비자는 누구입니까? (# 4와 함께)
관련 문제