티스토리 뷰

전체/장난하기

Multicast

Coolen 2006. 10. 30. 13:18
Network 보안 스터디를 하다가 지금까지 간과하고 깊이 살펴보지 않았던 분야가 Multicast 였는데, 여기에 재밌는 것이 있다는 것을 알았다. 왜 진작 몰랐을까? 그간 내 머리속에 있어 왔던 Multicast와 관련된 것들은 다음과 같다.


  1. D Class로 분류된 IP 대역을 가진다. 224로 시작하는.
  2. Multi-media 와 같이 방송용 응용프로그램에 쓰인다.
  3. Tcpdump로 broadcast를 옵션으로 주면, 필터링된다. (이놈도 broadcast를 이용하는것이겠구나.)
  4. IDC에 있는 서버들에서 tcpdump를 해보니 상당히 많은 multicast가 잡혔다. (2001년 얘기)
  5. IPv6에서는 broadcast가 따로 없고, multicast를 확장한다.
  6. Ethernet에는 multicast 라는 기능은 따로 없다.
  7. Multicast 패킷은 라우터에 의해 전달될 수 있으나 대부분의 회사에서는 막아 놓는다.

정말 빈약하기 그지 없다. 3번과 6번은 잘못된 정보였다. Ethernet에도 multicast가 있었구나! 새롭게 알게된 지식을 다시 정리하자면,


  1. Ethernet 카드는 자신의  MAC 주소로 보내온 것, broadcast(FF:FF:FF:FF:FF:FF) 주소로 보내온 것, 그리고 관심있게 등록된 멀티 캐스트 주소( MM:XX:XX:XX:XX:XX; MM & 0x1 == 1)로 보내온 것에 대해서 커널에 리포트한다. (Non-promiscuous mode일때)
  2. 각종 하드웨어 벤더들은 자신만의 프로토콜을 위해 ethernet 주소 중 일부를 벤더 고유 multicast 주소로 등록하여 놓았다.
    http://www.iana.org/assignments/ethernet-numbers (가운데쯤 ETHERNET MULTICAST ADDRESSES)
    http://www.cavebear.com/CaveBear/Ethernet/multicast.html
  3. 각종 Network Layer Protocol은 그 프로토콜의 multicast 를 위해 ethernet 주소 중 일부를 프로토콜 고유 multicast 주소로 등록하여 놓았다.
    상기 주소의 Vendor 중 하나로 IPv4, IPv6,IPX 등이 들어감
  4. 커널의 NIC 디바이스 드라이버들은 setsockopt 에 multicast 주소를 받기 위한 명령을 노출하고, 디바이스 내에는 ethernet multicast 및 ip multicast 주소등을 다룰 수 있는 구현이 존재한다.
  5. D Class의 주소를 사용한다고 해서, multicast 패킷을 받을 수 있는 것이 아니다. 보낼 수는 있다. broadcast가 그러하듯이 소켓이 multicast를 사용한다고 알려줘야 받을 수 있다.

IPv6가 multicast를 broadcast를 사용하지 않고 multicast를 이용한 것은, 장비들이 쓸데없이 패킷을 받아 보는 것을 막기 위함이 아닌가 한다.

살펴보니 개념 좋더라고...

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함