저는 논문에 사용된 설정을 재현하려고 합니다(이것정확히 말하면 하나). 스위치 뒤에는 두 개의 서버가 있고 클라이언트도 스위치에 연결됩니다.
저는 세 개의 FreeBSD VM을 사용합니다. 하나는 스위치용이고 두 개는 라우터용입니다. 클라이언트는 내 Linux 호스트입니다. 스위치 VM이 서버와 호스트 간에 트래픽을 라우팅할 수 있는 지점에 도달했습니다. 그런 다음 이 문서에서는 다음 단계를 설명합니다.
- 가상 NIC는 IP 별칭을 사용하여 두 서버 모두에 생성됩니다. 동일한 IP 주소가 할당됩니다.
- 두 서버 모두 멀티캐스트 이더넷 주소와도 연결되어 있습니다.
- IP 주소를 이더넷 주소에 매핑하는 클라이언트에 고정 ARP 항목을 만듭니다.
첫 번째 단계를 완료했으며 세 번째 단계는 문제 없이 수행할 수 있다고 확신하지만, 그 사이의 단계를 진행하는 데 어려움을 겪고 있습니다. 멀티캐스트 설정과 관련된 많은 리소스를 찾을 수 없으며 멀티캐스트 이더넷 주소에 대한 리소스는 더 적습니다. 누구든지 이것에 대한 경험이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다. 감사합니다.
최종 결과는 두 서버가 동시에 동일한 TCP 트래픽을 수신하는 것입니다. 이를 달성하는 다른 방법이 있다면 기꺼이 듣고 싶습니다.
답변1
귀하가 인용한 논문에 액세스할 수는 없지만 달성하려는 목표에 따라 다음을 수행할 수 있습니다.
1) ifconfig를 사용하여 이더넷 카드의 "링크"(MAC) 주소를 멀티캐스트 주소로 변경합니다. 이는 기존 MAC 주소를 대체합니다(적어도 재부팅할 때까지).
2) ng_eiface와 약간의 조작을 사용하여 두 번째 MAC 주소를 추가할 수 있습니다.
3) 이더넷 카드가 관심 있는 멀티캐스트 주소가 있는 패킷을 수신할 수 있도록 멀티캐스트 그룹에 참여하는 프로그램을 작성할 수 있습니다.
나는 당신이 무엇을 성취하고 싶은지 100% 확신할 수는 없지만 아마도 이것들 중 하나가 당신이 원하는 것일 수도 있고 당신을 올바른 방향으로 이끌 것입니다.