티스토리 뷰
Network 보안 스터디를 하다가 지금까지 간과하고 깊이 살펴보지 않았던 분야가 Multicast 였는데, 여기에 재밌는 것이 있다는 것을 알았다. 왜 진작 몰랐을까? 그간 내 머리속에 있어 왔던 Multicast와 관련된 것들은 다음과 같다.
- D Class로 분류된 IP 대역을 가진다. 224로 시작하는.
- Multi-media 와 같이 방송용 응용프로그램에 쓰인다.
- Tcpdump로 broadcast를 옵션으로 주면, 필터링된다. (이놈도 broadcast를 이용하는것이겠구나.)
- IDC에 있는 서버들에서 tcpdump를 해보니 상당히 많은 multicast가 잡혔다. (2001년 얘기)
- IPv6에서는 broadcast가 따로 없고, multicast를 확장한다.
- Ethernet에는 multicast 라는 기능은 따로 없다.
- Multicast 패킷은 라우터에 의해 전달될 수 있으나 대부분의 회사에서는 막아 놓는다.
정말 빈약하기 그지 없다. 3번과 6번은 잘못된 정보였다. Ethernet에도 multicast가 있었구나! 새롭게 알게된 지식을 다시 정리하자면,
- Ethernet 카드는 자신의 MAC 주소로 보내온 것, broadcast(FF:FF:FF:FF:FF:FF) 주소로 보내온 것, 그리고 관심있게 등록된 멀티 캐스트 주소( MM:XX:XX:XX:XX:XX; MM & 0x1 == 1)로 보내온 것에 대해서 커널에 리포트한다. (Non-promiscuous mode일때)
- 각종 하드웨어 벤더들은 자신만의 프로토콜을 위해 ethernet 주소 중 일부를 벤더 고유 multicast 주소로 등록하여 놓았다.
http://www.iana.org/assignments/ethernet-numbers (가운데쯤 ETHERNET MULTICAST ADDRESSES)
http://www.cavebear.com/CaveBear/Ethernet/multicast.html - 각종 Network Layer Protocol은 그 프로토콜의 multicast 를 위해 ethernet 주소 중 일부를 프로토콜 고유 multicast 주소로 등록하여 놓았다.
상기 주소의 Vendor 중 하나로 IPv4, IPv6,IPX 등이 들어감 - 커널의 NIC 디바이스 드라이버들은 setsockopt 에 multicast 주소를 받기 위한 명령을 노출하고, 디바이스 내에는 ethernet multicast 및 ip multicast 주소등을 다룰 수 있는 구현이 존재한다.
- D Class의 주소를 사용한다고 해서, multicast 패킷을 받을 수 있는 것이 아니다. 보낼 수는 있다. broadcast가 그러하듯이 소켓이 multicast를 사용한다고 알려줘야 받을 수 있다.
IPv6가 multicast를 broadcast를 사용하지 않고 multicast를 이용한 것은, 장비들이 쓸데없이 패킷을 받아 보는 것을 막기 위함이 아닌가 한다.
살펴보니 개념 좋더라고...
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 수선화
- VIM
- 덴드롱
- BlogAPI
- tattertools
- 퀴즈
- nodejs
- 대화
- JavaScript
- Subversion
- 커피
- TCP/IP
- Tattertools plugin
- SVN
- macosx
- url
- 디버깅
- Linux
- 클레로덴드럼
- MySQL
- SSO
- 오픈소스
- 구근
- 식물
- 킹벤자민
- 벤자민
- ssh
- OpenID
- writely
- perl
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함