우리는 애플리케이션에서 멀티 캐스팅을 사용하여 미들 티어에 연결된 클라이언트에 효율적으로 업데이트를 브로드 캐스트합니다. 네트워크 엔지니어가 " 멀티 캐스팅 작동 방법"및 지원하는 멀티 캐스트 프로토콜에 대해 계속해서 문의합니다. 나는 내가 아는 한 점에서, 이러한 질문 유형에 당황하고있어, 우리의 클라이언트 프로세스는 단순히 다음 명령을 실행하여 멀티 캐스트 그룹에 가입 : 거기에 차이에 관해서는 없다개발자는 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;
}
무엇 멀티 캐스트 프로토콜을 사용해야합니다. 이러한 유형의 질문에 어떻게 대응할 수있는 유용한 제안이 있습니까? 지금은 멀티 캐스트 할 주소/포트를 제공하고 네트워크 라우터에서이 주소/포트를 열도록 요청합니다. 그러나 이것으로는 충분하지 않고 더 많은 정보가 필요합니다. (?)
이들은 앨런이 참여해야하는 질문이 아니며, 이는 모두 네트워크 아키텍처 결정입니다.그는 고밀도 vs 희소성을 선택할 필요가 없습니다 (네트워크 엔지니어는 자신의 애플리케이션 요구 사항에 따라이를 선택할 것입니다). 이는 VLAN 측면에서도 마찬가지입니다. – avirtuos