SMART 멀티캐스트
SMART MulticastSMART Multicast는 안전하고 신뢰할 수 있는 IP 멀티캐스트의 실험 방법이다.그것은 사용자가 IP 데이터그램을 무제한 수신기 그룹에 포워드 할 수 있게 한다.이 주제에 대한 일반적인 논의는 멀티캐스트에 관한 기사를 참조하십시오. 이 기사는 특히 SMART IP 멀티캐스트에 관한 것이다.
SMART 멀티캐스트 사용
예를 들어, IP 멀티캐스트는 광케이블 TV 운영자, 캠퍼스 내 학생 주택이 많은 교육 기관 및 스톡 티커 및 훅 앤 홀러 시스템과 같은 금융 부문 애플리케이션과 같은 개인 및 통제된 네트워킹 환경에 성공적으로 배치되었다.그러나 IP 멀티캐스트는 도메인 간 라우팅 환경에서 채택되는 속도가 느렸다.현재의 도메인 간 인프라에는 패킷 손실을 효율적으로 처리하는 데 필요한 툴과 기능적 비즈니스 모델을 만드는 데 필요한 보안이 부족하기 때문이다.
SMART IP 멀티캐스트는 안전한 신뢰할 수 있는 IP 멀티캐스트의 도메인 간 전송을 가능하게 하여 넓은 영역 간 IP 멀티캐스트 전송을 배치하는 과제를 극복하는 실험적인 프로토콜이다.SMART IP 멀티캐스트는 MFTP(Multicast File Transfer Protocol)가 파일 전송을 위해 이 목표를 달성하는 것과 같은 방식으로 넓은 영역 IP 멀티캐스트를 배치하는 복잡성을 줄인다. 즉, 보안과 신뢰성이 완전한 상호운용성을 갖도록 허용한다.
IP 멀티캐스트 파일 배포는 캠퍼스와 상용 네트워크 내에서 IP 멀티캐스트를 가장 성공적으로 사용해 왔다.파일 배포를 위해 대부분은 실험 프로토콜 MFTP(Multicast File Transfer Protocol)의 일부 변형을 사용했다.MFTP는 보안성과 신뢰성 둘 다이며 IP 멀티캐스트 프로토콜 위에서 실행된다.MFTP와 마찬가지로 SMART 멀티캐스트는 IP 멀티캐스트의 효율성을 이용하여 IP 멀티캐스트 위에서 실행되는 래퍼다.SMART 멀티캐스트는 안전하고 신뢰할 수 있으며 양방향 피드백을 제공한다.
자세한 내용은 RFC3170 - IP 멀티캐스트 응용 프로그램: 과제 & 솔루션
역사와 이정표
SMART는 동적으로 할당된 멀티캐스트 터널의 사용을 통해 사이트 간 구현 멀티캐스트와 같은 MBONE을 지원한다.SMART는 SIMPLE(자체 멀티캐스트 프로토콜 수준 에스컬레이션 구현)을 활용한다.
실험 SMART 프로토콜 구조
SRM-P2MP DATA Packet Message TYPE = 0x00 (이진 00) Access_SYNCH_CODECT 8 Packet_TYPE 2 CMD 2 예약 4 Packet Size 16 Packet Format 2 DECKEPT_Y_N 1 SUTED 1 [...PAYLOAD] 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Packet Sequence FMT D QUIET R RESERVED +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload [1] +- -+ ...........+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (6 bits 64 types) MESSAGES Message TYP = 0x01 (binary 1) ACCESS_SYNCH_CODE 8 PACKET_TYPE 2 CMD 6 PACKET_SIZE 16 [...PAYLOAD] ADDR_RANGE CHANGE CMD = 01 (binary 000001) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address [1] +- -+ Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+USAGE_REPORT_JOIN CMD = 0x0002 (binary 000010) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address [1] +- -+ Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ USAGE_REPORT_LEAVE CMD = 0x0003 (binary 000011) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address [1] +- -+ Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ERROR_REPORT CMD = 0x000B (binary 001011) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Reporting Address [1] +- -+ Concerning Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+메시지 데이터 [1] +--++ 메시지 데이터 [2] +-+++ 메시지 데이터 [3] +-++++++++++++++++++-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+++-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++LEM_REPORT CMD = 0x0010 Binary (010000) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Reporting Address [1] +- -+ Concerning Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+메시지 데이터 [1] +- -+ 메시지 데이터 [2] +- -+ 메시지 데이터 [3] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ MESSAGES Message TYP = 0x02 (binary 10) Replacement Requests ACCESS_SYNCH_CODE 8 PACKET_TYPE 2 CMD 6 PACKET_SIZE 16 [...PAYLOAD] REPLACEMENT CMD = 01 (binary 000001) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Multicast Address [1] +- -+ Sequence # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ QUIET = 0x0002 (binary 000010) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Multicast Address [1] +- -+ Duration # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ MESSAGES Message TYP = 0x03 (이진 11) 터널링 요청 ACCESS_SYNCH_CODE 8 PACKET_TYPE 2 CMD 6 PACKET_SIZE 16 [...PAYLOAD] REQUEST_TUNNEL CMD = 01 (binary 000001) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address [1] +- -+ Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+LEVE_TUNNEL = 0x0002 (binary 000010) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Access Synch TYP CMD RESRV Packet Size +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Address [1] +- -+ Address [2] +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+주소 지정
IP 어드레싱에는 각각 고유한 속성을 가진 네 가지 형태의 IP 어드레싱이 있다.
- 유니캐스트:IP 주소의 가장 일반적인 개념은 유니캐스트 주소다.일반적으로 단일 송신자 또는 단일 수신자를 가리킨다.
- 브로드캐스트:가능한 모든 대상으로 데이터 전송.예를 들어, 접두사 192.0.2를 가진 네트워크 내의 모든 주소로 전송하기 위해, 지시된 브로드캐스트 IP 주소는 192.0.255이다.
- 멀티캐스트:멀티캐스트 어드레스는 관심 있는 수신자 그룹과 연관되어 있다.RFC 3171에 따르면 주소 224.0.0.0 ~ 239.255.255.255는 멀티캐스트 주소로 지정된다.라우터는 데이터그램의 복사본을 만들어 표적 데이터 수신에 관심을 등록한 모든 수신자에게 전송하는 것을 관리한다.
- 애니캐스트:브로드캐스트나 멀티캐스트처럼 애니캐스트는 일대다 라우팅 위상이다.그러나, 데이터 스트림은 모든 수신자에게 전송되는 것은 아니며, 라우터가 결정하는 것만이 네트워크에서 "가장 근접한" 것이다.애니캐스트는 데이터 로드 밸런싱에 유용하다.DNS와 UDP에서 사용된다.
IP 멀티캐스트 프로토콜
- 인터넷 그룹 관리 프로토콜(IGMP)
- PIM(프로토콜 독립 멀티캐스트)
- 거리 벡터 멀티캐스트 라우팅 프로토콜(DVMRP)
- 멀티캐스트 BGP(MBGP)
- 멀티캐스트 소스 탐색 프로토콜(MSDP)
- 멀티캐스트 수신기 검색(MLD)
- GARP 멀티캐스트 등록 프로토콜(GMRP)
- 멀티캐스트 DNS(mDNS)
- SMART 멀티캐스트(SMART)