Professional Documents
Culture Documents
배움과나눔N교육센터 http://www.lsinc.co.kr
10-1
1
개관
IP 패킷 전송 방식
멀티캐스팅 주소 체계
IGMP(Internet Group Management Protocol)
CGMP(Cisco Group Management Protocol)
멀티캐스팅 라우팅 프로토콜
멀티캐스팅 설정 및 활용
배움과나눔N교육센터 http://www.lsinc.co.kr
10-2
멀티캐스팅 주소 체계:
IP Multicast에서 사용하는 주소 체계를 이해한다.
멀티캐스팅 설정 및 활용:
IP Multicast Network 구성과 Multicast를 기반으로 하는 Multimedia
Application들을 구성하고 그들의 동작을 통해 실질적인 Multicast의 활용을
배운다.
2
IP Packet 전송 방식
배움과나눔N교육센터 http://www.lsinc.co.kr
10-3
3
유니캐스팅
송신자
비수신자
배움과나눔N교육센터 http://www.lsinc.co.kr
10-4
4
유니캐스트 트래픽 (계속)
2 Mb x 100 = 200 Mb
2 Mb x 100 = 200 Mb
2 Mb x 100 = 200 Mb
수신자1 …. 수신자100
배움과나눔N교육센터 http://www.lsinc.co.kr
10-5
5
브로드캐스팅
송신자
비수신자
나는 데이터를 받기를
원하지 않지만, 내
CPU는 계속해서
데이터를 처리해야
한다.
배움과나눔N교육센터 http://www.lsinc.co.kr
10-6
6
멀티캐스팅
• 2Mb
송신자
• 2Mb
비수신자
• 2Mb
• 2Mb
• 2Mb • 2Mb
• 2Mb
• 2Mb
• 2Mb
배움과나눔N교육센터 http://www.lsinc.co.kr
10-7
7
IP 멀티캐스트 특징들
배움과나눔N교육센터 http://www.lsinc.co.kr
10-8
8
정리
서버 네트 클라
워크 이언
트
배움과나눔N교육센터 http://www.lsinc.co.kr
10-9
9
멀티캐스팅 주소 체계
배움과나눔N교육센터 http://www.lsinc.co.kr
10-10
10
멀티캐스트 IP Address
28 Bits
배움과나눔N교육센터 http://www.lsinc.co.kr
10-11
11
멀티캐스트 MAC Address
1 4 5 9 10 16 17 24 25 32
224
MAC에서 멀티캐스트
사용되지 않는 Group ID의 Low-order 23 Bit들이 Ethernet
5 Bit들 MAC Address로 복사된다.
01 00 5E
배움과나눔N교육센터 http://www.lsinc.co.kr
10-12
12
IP 멀티캐스트 주소를 Ethernet 주소로 매핑: 예 1
1 1 1 0 0 0 1 1 1 0 0 1 1 0 10 0 1 0 0 0 0 01 0 0 1 1 0 0 10
Ethernet Address:
01 - 00 - 5E - 1A - 41 - 32
배움과나눔N교육센터 http://www.lsinc.co.kr
10-13
13
IP 멀티캐스트 주소를 Ethernet 주소로 매핑: 예 2
1 1 1 0 0 0 1 1 0 0 0 1 1 0 10 0 1 0 0 0 0 01 0 0 1 1 0 0 10
Ethernet Address:
01 - 00 - 5E - 1A - 41 - 32
배움과나눔N교육센터 http://www.lsinc.co.kr
10-14
14
기타
배움과나눔N교육센터 http://www.lsinc.co.kr
10-15
15
IGMP
(Internet Group Management Protocol)
배움과나눔N교육센터 http://www.lsinc.co.kr
10-16
16
Internet Group Management Protocol (IGMP)
IGMP는 IP 멀티캐스팅이 가능한 네트워크에서 호스트가 자신이 받기를 또
는 반응하기를 원하는 Multicasting Group Address(Class D Multicast
Address)를 라우터에게 알리거나 해제하는 프로토콜
누가 Multicast
누가 Multicast
Group IP
Group IP
224.10.15.60
224.10.15.60
멤버?
멤버?
Host E
Internet 비-멤버
무-반응
멤버
반응
Host D
멤버
반응
Host A Host C
Host B
멤버 비-멤버
멤버
반응 무-반응
반응
배움과나눔N교육센터 http://www.lsinc.co.kr
10-17
17
IGMPv1-패킷 형식
4 7 15 23 31
Group Address
Version
IGMP의 Version 정보를 표시한다.
Type
Router들과 Host사이에서 사용되는 IGMP Message 종류
z Membership Query
z Membership Report
Checksum
IGMP Message의 이상 유무를 검사하는 용도로 사용된다.
Group Address:
z Multicast Group Address(ID)
배움과나눔N교육센터 http://www.lsinc.co.kr
10-18
18
IGMPv1: Query-Response Process
1
IGMPv1 224.0.0.1 IGMPv1
Querier Query Non-Querier
R1 R2
X
3 2 4
배움과나눔N교육센터 http://www.lsinc.co.kr
10-19
19
IGMPv1: Report Suppress
배움과나눔N교육센터 http://www.lsinc.co.kr
10-20
IGMP Report Suppression 동작은 Multicast Group의 상태 정보를 관리하는 IGMP Traffic을 최소
화 하는데 그 목적이 있다.
다음은 IGMP Report Suppression 동작의 과정을 설명한 것이다.
1.특정 호스트가 IGMP Membership Query를 수신하면, 호스트는 자신이 join하고 싶은 특
정 Multicast Group에 대한 IGMP Membership Report를 전달하기 전에 Report-timer라는
프로세스를 시작한다. Report-timer는 기본적으로 “ 0”에서 “10”(Maximum response
interval)사이의 숫자 중 하나를 임의로 선택하고, 선택된 수치를 기준으로 discount하기
시작한다.
예를 들어 위 그림에서 H1과 H2는 모두 224.1.1.1의 Group에 대해 join하길 원하고 있다.
H1과 H2는 224.1.1.1에 대한 IGMP Membership Report를 전달하기 전에 Report-timer를
실행한다.
2.만약 Report-timer가 만료되면, 호스트는 자신이 join하길 원하는 Multicast Group으로
IGMP Membership Report를 전달한다.
H1은 0~10중에 9를 선택하여 9Æ8Æ7………Æ2Æ1Æ0
H2는 0~10중에 3를 선택하여 3Æ2Æ1Æ0 Æ IGMP Membership Report
3.위 결과로 인해 먼저 Report-timer가 만료된 H2가 IGMP Membership Report를 Router에게
전달한다. H2가 IGMP Membership Report를 전달하는 것을 H1이 수신하게 되면 자신
의 Report-timer Process를 멈춘다.
결과적으로 동일한 Multicast Group에 참가하려는 호스트수가 많은 환경에서는 IGMP Report
와 관련된 Traffic이 증가되는 문제가 있으므로 하나의 호스트가 대표로 Multicast Group에
Report하기만 해도, Local Network에 Multicast Traffic이 전달되므로 다른 호스트들은 별도의
Report없이 자신이 원하는 Multicast Traffic을 수신만 하면 된다.
20
IGMPv1: DR 선출
배움과나눔N교육센터 http://www.lsinc.co.kr
10-21
21
IGMPv1: Join Process
IGMPv1 IGMPv1
Querier Non-Querier
R1 R2
H2 224.3.3.3 H3
H1 Unsolicited
Report
배움과나눔N교육센터 http://www.lsinc.co.kr
10-22
호스트들은 자신이 원하는 Multicast Group에 Join하는 시간을 절감하기 위해서 Router
가 전달하는 주기적인 Membership Query의 주기를 기다리지 않는다. 따라서 호스트들은
자신이 특정 Multicast Group에 Join 해야 하는 상황에서는 즉시 Unsolicited
Membership Report를 전달하여 multicast Group에 Join한다.
22
IGMPv1: Leave Process
H3은 224.3.3.3에서
조용히 탈퇴
H1 H2 H3
배움과나눔N교육센터 http://www.lsinc.co.kr
10-23
23
IGMPv2-패킷 형식
7 15 31
Group Address
배움과나눔N교육센터 http://www.lsinc.co.kr
10-24
24
IGMPv2—Group에 조인(등록)
Report
To: 224.0.0.2
10.10.10.1
배움과나눔N교육센터 http://www.lsinc.co.kr
10-25
25
IGMPv2—Group에 조인(계속)
Report
To: 224.0.0.2
10.10.10.101 E0
배움과나눔N교육센터 http://www.lsinc.co.kr
10-26
26
IGMPv2 — Group 유지
Report Suppressed
Query
To:224.0.0.1
Group:227.26.65.50
10.10.10.101
IGMPv2
배움과나눔N교육센터 http://www.lsinc.co.kr
10-27
27
IGMPv2—Group 탈퇴
2 Group Specific
Query to 227.26.65.50
10.10.10.101
28
IGMPv2—마지막 멤버 탈퇴
Leave to
1 224.0.0.2
2 Group Specific
Query to 227.26.65.50
10.10.10.1
배움과나눔N교육센터 http://www.lsinc.co.kr
10-29
29
IGMPv2—마지막 멤버 탈퇴(계속)
10.10.10.1
배움과나눔N교육센터 http://www.lsinc.co.kr
10-30
30
IGMPv2: DR 선출
H1 H2 H3
배움과나눔N교육센터 http://www.lsinc.co.kr
10-31
31
IGMPv3—Query Message Format
0 7 15 31
Max. Resp.
Type=0x11 Checksum
code
Group address
QR
S QQIC Number of sources(N)
V
Source addreess[1]
Source addreess[2]
.
.
.
Source addreess[N]
배움과나눔N교육센터 http://www.lsinc.co.kr
10-32
32
IGMPv3—Report Message Format
0 7 15 31 0 7 15 31
Aux. data
Type=0x22 Reserved Chesksum Record type # of sources (N)
length
배움과나눔N교육센터 http://www.lsinc.co.kr
10-33
33
IGMPv3: Join & Leaves
R1 R2
R3
IGMPv3
Host_A Join Æ 1.1.1.1 224.1.1.1
Leave Æ 2.2.2.2 224.1.1.1
224.1.1.1의 Member
배움과나눔N교육센터 http://www.lsinc.co.kr
10-34
34
CGMP
(Cisco Group Management Protocol)
배움과나눔N교육센터 http://www.lsinc.co.kr
10-35
35
2-계층의 멀티캐스트 처리
송신자
비수신자
나는 비디오 스트림
데이터를 받기를
원하지 않지만, 내
CPU는 계속해서
1.5MB 데이터를
처리해야 한다.
배움과나눔N교육센터 http://www.lsinc.co.kr
10-36
36
CGMP(Cisco Group Management Protocol)
e port
나 0000.0c12.3456는 in R
P Jo
멀티캐스트 Group IGM
234.10.8.5에 E0/26
조인하고 싶다. E0: 0000.0c12.7777
MAC Address table
E0/1 E0/2 E0/1: 0000.0c12.3456
E0/2: 0260.8c01.2222
E0/26:0000.0c12.7777
배움과나눔N교육센터 http://www.lsinc.co.kr
10-37
37
CGMP (계속)
장치 0000.0c12.3456
234.10.8.5 Group에 조인
Device
0000.0c12.3456 ddd
dd.d
를 Port 0/1를 통하여
1 00.0c essage
접근이 가능. 0 PM
멀티캐스팅 Forwarding Table에 CGM
234.10.8.5를 추가함 E0/26
E0: 0000.0c12.7777
MAC Address table
E0/1 E0/2 E0/1: 0000.0c12.3456
E0/2: 0260.8c01.2222
E0/26:0000.0c12.7777
배움과나눔N교육센터 http://www.lsinc.co.kr
10-38
38
CGMP Table 예
Switch#show mac-address-table multicast
Vlan Mac Address Type Ports
----- ------------------- ------ -------
1 0100.5e00.0118 IGMP Fa0/17, Fa0/18
1 0100.5e00.0128 IGMP Fa0/18
1 0100.5e00.0129 IGMP Fa0/18
1 0100.5e7f.fffe IGMP Fa0/17, Fa0/18
10 0100.5e60.e0e0 IGMP Fa0/4
11 0100.5e6a.eaea IGMP Fa0/4
11 0100.5e7f.fffa IGMP Fa0/3, Fa0/4
21 0100.5e7f.fffa IGMP Fa0/7, Fa0/8
Switch#
배움과나눔N교육센터 http://www.lsinc.co.kr
10-39
39
IGMP Snooping
Layer 2 스위치들에서 수행
Layer 3 IGMP join/leave 메시지 모니터링
multicast 테이블 유지 및 변경
스위치의 수행능력에 충격을 가할 수 있음
예)
z Switch(config)# ip igmp snooping vlan vlan-id mrouter learn
{cgmp | pim-dvmrp}
cgmp—CGMP 패킬들 모니터링. 이 방법은 제어용 트래픽을 줄이는데 유용
pim-dvmrp—IGMP 질의 나 PIM-DVMRP 패킷들을 모니터링, 기본설정임
z Switch# show ip igmp snooping Æ Multicast에 참여한 port 정보
확인 가능
배움과나눔N교육센터 http://www.lsinc.co.kr
10-40
40
멀티캐스팅 라우팅 프로토콜
배움과나눔N교육센터 http://www.lsinc.co.kr
10-41
41
멀티캐스팅 라우팅 프로토콜
나는 나는 나는
234.10.8.5 234.10.8.5 234.10.8.5
의 멤버 의 멤버 의 비멤버
배움과나눔N교육센터 http://www.lsinc.co.kr
10-42
42
유니캐스트 라우팅 vs. 멀티캐스팅 라우팅 비교
Server B
Destination Source
Data 172.45.37.10
Address Address
172.13.107.5 172.45.37.10
Network
172.45.0.0
Network
172.13.0.0
- 관리측면
위치와 목적에 상관 없이 무조건 모든 경로를 생성하고 유지 한다.
라우팅 테이블이 커지면 유지보수에 부담이 커지고 속도 저하
-전송측면
특정 호스트로 도달 가능한 최적 경로를 찾으면 됨 – 간단하다.
Host A Host B
172.13.107.5 172.13.107.6
배움과나눔N교육센터 http://www.lsinc.co.kr
10-43
43
멀티캐스트 라우팅 vs. 유니캐스팅 라우팅 비교
Dest. IP Dest. MAC
234.10.8.5을 위한 Multimedia Stream 234.10.8.5 01-00-5e-10-8-5
Network
172.6.0.0
Network Network
172.13.0.0 172.45.0.0
Host B
172.45.37.10
Host A
234.10.8.5
172.13.107.5
234.10.8.5
- 관리측면
위치와 목적을 두고 경로를 생성하고 유지 한다.
네트워크의 링크들의 상황에 따라 경로 정보가 변경되지 않고, Multicast Group의 상태가
변경될 때 경로 정보가 바뀐다.
-전송측면
Multicast Group의 상태에 따라 전송 경로가 결정되므로 복잡하다.
배움과나눔N교육센터 http://www.lsinc.co.kr
10-44
44
Distribution Tree란?
Source1
Receiver Receiver
224.1.1.1 224.1.1.1
224.2.2.2
배움과나눔N교육센터 http://www.lsinc.co.kr
10-45
45
Multicast Routing의 Source, Root, Receiver
Server
192.168.1.1/24 (S, G)
목적지: S = Source
Server
224.5.5.5 G = Group
목적지:
224.5.5.5
R1 R2 R3
192.168.1.1/24 T1 T1 T3
R4 T1 R5 R6 R7
배움과나눔N교육센터 http://www.lsinc.co.kr
10-46
46
Loop 검출
Reverse Path Forwarding (RPF): 멀티캐스팅 패킷을 하나의 인터
페이스로 받았을 때, 만약 그 인터페이스가 멀티캐스팅 소스로의 유니
캐스팅 IP 패킷을 보내는 사용이 되는 것이라면 그것을 받아들인다.
RPF X
RPF RPF
Multicast X
Source
배움과나눔N교육센터 http://www.lsinc.co.kr
10-47
47
RPF 검사
소스 151.10.3.21 부터 온
멀티캐스팅 패킷
E0 RPF 검사 실패!
소스 151.10.3.21 로 부터
유니캐스팅 Route Table 온 멀티캐스팅 패킷
Network Interface
패킷이 올바란 인터페이
151.10.0.0/16 S1
스에서 도착!
198.14.32.0/24 S0 S0
204.1.16.0/24 E0 다른 인터페이스로 전달
S1 S2
E0
RPF 검사 성공!
배움과나눔N교육센터 http://www.lsinc.co.kr
10-48
48
RPF Check 예
GWWEST#mtrace 192.168.15.1
Type escape sequence to abort.
Mtrace from 192.168.15.1 to 192.168.25.2 via RPF
From source (?) to destination (?)
Querying full reverse path...
0 192.168.25.2
-1 192.168.25.2 PIM [192.168.15.1/32]
-2 192.168.25.5 PIM [192.168.15.1/32]
-3 192.168.15.1
배움과나눔N교육센터 http://www.lsinc.co.kr
10-49
49
Source Distribution Tree
(S, G)
S = Source
Server
목적지: G = Group
234.10.18.5
배움과나눔N교육센터 http://www.lsinc.co.kr
10-50
50
Source Distribution Tree Example
(172.16.1.1, 234.10.18.5)
(172.16.1.1, 234.10.18.5) Incomming: S0
Incomming: E0 Outgoing: S1(Stop)
Outgoing: S0(Stop),S1(Stop),E1(Forward)
S0 R2 S1
T1 T3
Prun
목적지:
234.10.18.5 S0 S0
E1 E1
E0 R3 R4 E0
S1 S1
172.16.1.1/24 T1 Group Join
T1
234.10.18.5
Prun
S0 S1
(172.16.1.1, 234.10.18.5)
R1
Incomming: E1
Outgoing: E0
(172.16.1.1, 234.10.18.5)
Incomming: S0
Outgoing: S1(Stop)
배움과나눔N교육센터 http://www.lsinc.co.kr
10-51
51
Shared Distribution Tree
Source1 Source2
224.1.1.1 traffic 224.2.2.2 traffic
Receiver Receiver
224.1.1.1 224.1.1.1
224.2.2.2
52
Shared Distribution Tree Example
(*, 234.10.18.5)
Incomming: S0
Outgoing: null
(172.16.1.1, 234.10.18.5)
Incomming: E0 RP or Core (172.16.1.1, 234.10.18.5)
Outgoing: S0(Forward) Incomming: S0
Outgoing: S1
S0 R2 S1
T1 T3
목적지:
234.10.18.5 S0 S0
E1 E1
E0 R3 R4 E0
S1 S1
172.16.1.1/24 T1 Group Join
T1
234.10.18.5
S0 S1 (*, 234.10.18.5)
R1 Incomming: S0
Outgoing: null
(172.16.1.1, 234.10.18.5)
Incomming: S0
Outgoing: E0
배움과나눔N교육센터 http://www.lsinc.co.kr
10-53
53
WE RUN TO IMPROVE YOUR VALUES.
배움과나눔N교육센터 http://www.lsinc.co.kr
10-54
54