반응형

본 포스트에는 centos의 lo interface (localhost interface)에 route를 추가하여 Multicast packet을 local pc로만 송/수신 하고, NIC카드를 통해 외부로 나가지 않도록 처리하는 방법에 대해 서술하고자 한다.

 

 

기본적으로, Multicast의 IP 대역은 아래와 같이 지정되어 있다.

 

Multicast IP range table (https://en.wikipedia.org/wiki/Multicast_address)

 

이 중, 224.0.0.0 - 224.0.0.255가 Local range로 되어있으나, 이는 TTL이 1인 multicast packet을 생성 및 전송하는 역할을 수행한다.

 

따라서, 생성된 패킷은 네트워크를 태워 보내지게 되고, 로컬 망 내의 다른 장비들도 해당 패킷이 수신된다.

 

따라서 완벽한 Loopback을 위해 Multicast 관련 패킷이 local interface (default : lo)를 이용하여 local pc 내부에서만 돌도록 처리해야한다.

 


 

다행히, 방법은 어렵지 않다.

 

아래의 명령어를 이용하면, multicast 패킷이 local interface를 통해 송신 및 수신하게 되며, 외부망에 패킷을 태우지 않을 수 있다.

sudo ifconfig lo multicast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo

첫 번째 줄의 명령어는  interface "lo"에 multicast 패킷을 송수신 하도록 상태를 활성화 시켜준다.

두 번째 줄의 명령어는 224.0.0.0, netmast 240.0.0.0에 해당되는 IP대역에 대한 패킷을 interface "lo"를 이용하여 통신하도록  Route 경로를 추가하는 역할을 수행한다.

 

따라서 Multicast와 관련된 패킷들은 "lo" interface만을 통해 송신 및 수신하게 된다.

반응형

댓글을 달아 주세요