21 장 유니캐스트와 멀티캐스트 라우팅 : 라우팅 프로토콜 21.1 유니캐스트 라우팅 21.2 유니캐스트 라우팅 프로토콜 21.3 멀티캐스트 라우팅 21.4 멀티캐스트 라우팅 프로토콜 21.5 요약
21.1 유니캐스트 라우팅 특징 발신지와 목적지 사이의 일대일 통신
유니캐스트 라우팅에서는 라우터가 패킷을 수신하면 라우터 포트 중, 단 하나만을 통해 패킷을 전달한다. 유니캐스트 라우팅(계속) 유니캐스트 라우팅에서는 라우터가 패킷을 수신하면 라우터 포트 중, 단 하나만을 통해 패킷을 전달한다.
유니캐스트 라우팅(계속) 메트릭(metric) 네트워크를 통과하는데 할당된 비용 특정한 경로의 총 메트릭은 그 경로를 구성하는 네트워크들의 메트릭의 합과 동일 RIP(Routing Information Protocol) 라우팅 정보 프로토콜 각 네트워크를 동일하게 취급 OSPF(Open Shortest Path First) 개방 최단 경로 우선 요청된 서비스에 따라 비용을 관리자가 할당 BGP(Border Gateway Protocol) 경계 게이트웨이 프로토콜 관리자가 정하는 정책에 따라 경로 설정
유니캐스트 라우팅(계속) 내부 및 외부 라우팅 자율 시스템(AS; Autonomous System) 단일 관리 권한 하의 네트워크와 라우터의 그룹 내부 라우팅(interior routing) 자율 시스템내 라우팅 외부 라우팅(exterior routing) 자율 시스템간 라우팅
21.2 유니캐스트 라우팅 프로토콜 많이 사용되고 있는 라우팅 프로토콜 RIP과 OPSF는 자율 시스템 내에서 라우팅 테이블을 갱신 BGP는 자율 시스템들을 결합하는 라우터들의 라우팅 테이블을 갱신
유니캐스트 라우팅 프로토콜(계속) 자율 시스템(AS) R1, R2, R3와 R4는 내부 및 외부 라우팅 프로토콜을 사용 다른 라우터는 오직 내부 라우팅 프로토콜을 사용
유니캐스트 라우팅 프로토콜(계속) 라우팅 정보 프로토콜(RIP) 자율 시스템 내에서 사용하는 내부 라우팅 프로토콜 거리 벡터 라우팅에 기반하는 프로토콜 라우팅 테이블을 만드는데 Bellman-Ford 알고리즘 사용 거리 벡터 라우팅(Distance Vector Routing) 전체 자율 시스템에 대한 정보의 공유 이웃하는 라우터와 공유 주기적인 공유 : ex) 30초 간격
유니캐스트 라우팅 프로토콜(계속) 라우팅 정보 프로토콜(RIP) 거리 벡터 라우팅 테이블 모든 라우터는 라우팅 테이블을 유지 라우팅 테이블은 각각의 목적지 네트워크에 대해 하나의 항목(entry)을 소유 Destination Hop Count Next Router Other information 163.5.0.0 7 172.6.23.4 197.5.13.0 5 176.3.6.17 189.45.0.0 4 200.5.1.6 115.0.0.0 6 131.4.7.19
유니캐스트 라우팅 프로토콜(계속) 라우팅 정보 프로토콜(RIP) RIP 갱신 알고리즘 Receive: a response RIP message 1. Add one hop to the hop count for each advertised destination. 2. Repeat the following steps for each advertised destination: 1. If (destination not in the routing table) 1. Add the advertised information to the table. 2. Else 1. If (next-hop field is the same) 1. Replace entry in the table with the advertised one. 1. If (advertised hop count smaller than one in the table) 1. Replace entry in the routing table. 3. Return.
유니캐스트 라우팅 프로토콜(계속) 라우팅 정보 프로토콜(RIP) 라우팅 테이블 갱신의 예
유니캐스트 라우팅 프로토콜(계속) 라우팅 정보 프로토콜(RIP) 라우팅 테이블 초기화
유니캐스트 라우팅 프로토콜(계속) 라우팅 정보 프로토콜(RIP) 라우팅 테이블 갱신
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 지역(area) 자율 시스템에 포함되는 호스트, 라우터, 네트워크의 모음 지역 경계 라우터(area border router) : 지역에 대한 경로 정보를 정리하여 다른 지역에 전송 백본 라우터(backbone router) : 가장 중심이 되는 backbone 지역에 있는 라우터
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 메트릭 링크 상태 라우팅(link state routing) 관리자가 각 경로에 대한 비용 할당 서비스의 유형에 따라 결정 : 최소 지연, 최대 처리량 라우터는 각각 다른 서비스 유형에 따라 다중의 라우팅 테이블을 소유할 수 있음 링크 상태 라우팅(link state routing) 이웃에 대한 정보 공유 다른 모든 라우텅와 정보 공유 : 플러딩(flooding) 변화가 있는 경우에 공유
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 링크의 종류 OSPF 용어에서 연결(connection)은 링크(link)를 지칭 링크의 형태
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 점-대-점(point-to-point) 링크 라우터 간에 다른 호스트나 라우터 없이 직접 연결 예 : T-라인을 이용한 두 라우터 연결 네트워크의 주소를 할당할 필요가 없음
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 일시적(transient) 링크 여러개의 라우터가 연결되어 있는 네트워크 데이터는 임의의 라우터로 들어가서 임의의 다른 라우터로 나감
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 스터브(stub) 링크 하나의 라우터에만 연결된 네트워크 데이터 패킷은 이 단일 라우터를 통해 네트워크로 들어가고 같은 라우터를 통해 네트워크를 빠져 나옴
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 가상(virtual) 링크 라우터간 연결이 끊어지면 돌아서 가는 긴 경로를 사용 여러 개의 라우터들을 통과하여 긴 경로의 가능성이 있는 가상 링크를 생성
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 그래픽 표현(graphic representation) 인터넷의 예 N1, N2, N3, N4와 N5는 스터브와 일시적 네트워크를 표현 점대점 네트워크는 심벌로 표시할 필요가 없음
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 그래픽 표현 인터넷의 그래픽 표현 정사각형 노드는 라우터를 표현 타원형은 네트워크(지정 라우터로 표현)를 표현
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 링크 상태 통지(LSAs; Link State Advertisements) 이웃에 대한 정보 교환 각 개체 링크의 상태를 통보 LSA 유형
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 라우터 링크 실제 라우터의 링크들을 정의
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 네트워크 링크 네트워크의 링크들을 정의
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 네트워크에 대한 요약 링크(summary link) 지역 내의 라우터 링크와 네트워크 링크에 대한 정보를 지역 내에 공급 지역 경계 라우터는 지역 밖의 네트워크에 대한 정보를 제공 지역 경계 라우터는 라우터 링크와 LSA를 수신 지역 경계 라우터는 각 지역에 대한 라우팅 테이블을 생성
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 네트워크에 대한 요약 링크 지역 경계 라우터 R1은 두 개의 라우팅 테이블 소유 라우터 R1과 R2는 지역 1과 지역 2에게 지역 0에 있는 네트워크에 도달하기 위한 방법에 관한 정보를 제공
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) AS 경계 라우터에 대한 요약 링크 지역 경계 라우터가 자율 시스템 내에 있는 정보를 지역에 전달
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 외부 링크(external link) 자율 시스템 외부 네트워크에 대한 정보는 외부 링크 통지를 통하여 알 수 있음
OSPF에서는 모든 라우터들이 동일한 링크 상태 데이터베이스를 갖는다 유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 링크 상태 데이터베이스(link state database) 모든 라우터는 다른 라우터로부터 라우터 링크와 네트워크 링크 LSA를 수신하여 링크 상태 데이터베이스 작성 인터넷 접속 형태를 테이블을 이용하여 표현한 방식 각 라우터와 이웃간의 관계, 메트릭 정보 OSPF에서는 모든 라우터들이 동일한 링크 상태 데이터베이스를 갖는다
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 딕스트라(dijkstra) 알고리즘 라우팅 테이블 계산 알고리즘 노드와 호로 구성된 그래프를 이용하여 네트워크의 두 지점 사이의 최단 경로를 계산 1. Start with the local node (router): the root of the tree. 2. Assign a cost of 0 to this node and make it the first permanent node. 3. Examine each neighbor node of the node that was the last permanent node. 4. Assign a cumulative cost to each node and make it tentative. 5. Among the list of tentative nodes 1. Find the node with the smallest cumulative cost and make it permanent. 2. If a node can be reached from more than one direction 1. Select the direction with the shortest cumulative cost. 6. Repeat steps 3 to 5 until every node becomes permanent.
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 딕스트라 알고리즘 최단 경로 계산 예 예제 인터넷에서의 노드 A에 적용된 딕스트라 알고리즘에 대한 일련의 단계를 제공
유니캐스트 라우팅 프로토콜(계속) 개방 최단 경로 우선(OSPF) 라우팅 테이블 지역 내의 각 네트워크에 도달하는 비율 라우터 A에 대한 링크 상태 라우팅 테이블 Network Cost Next Router Other Information N1 5 C N2 7 D N3 10 B N4 11 N5 15
유니캐스트 라우팅 프로토콜(계속) 경계 게이트웨이 프로토콜(BGP) 자율 시스템 간 라우팅 프로토콜 경로 벡터 라우팅(path vector routing) 방법 적용 경로 벡터 라우팅 테이블 Network Next Router Path N01 R01 AS14, AS23, AS67 N02 R05 AS22, AS67, AS05, AS89 N03 R06 AS67, AS89, AS09, AS34 N04 R12 AS62, AS02, AS09
유니캐스트 라우팅 프로토콜(계속) 경계 게이트웨이 프로토콜(BGP) 경로 벡터 메시지(path vector message) 자신의 자율 시스템 네트워크에서 이웃하는 자율 경계 라우터까지 연결이 가능한지 광고 경로 벡터 메시지의 예
유니캐스트 라우팅 프로토콜(계속) 경계 게이트웨이 프로토콜(BGP) 정책 라우팅(policy routing) 루프 방지 라우터가 메시지 수신시, 목적지까지의 경로 목록에 해당 자율 시스템이 있는지 확인 정책 라우팅 메시지 수신시에 경로상에 자율 시스템 중 하나가 정책에 위반되면 해당 경로와 목적지를 무시
유니캐스트 라우팅 프로토콜(계속) 경계 게이트웨이 프로토콜(BGP) 경로 속성 경로는 속성들의 목록 각 속성은 경로에 대한 정보 제공 두 가지 형태의 속성 잘 알려진(well-known) 속성 잘 알려진 필수적인 속성 잘 알려진 임의의 속성 선택적인(optional) 속성 과도적인 속성 비과도적인 속성
유니캐스트 라우팅 프로토콜(계속) 경계 게이트웨이 프로토콜(BGP) BGP 메시지의 유형 패킷 종류
유니캐스트 라우팅 프로토콜(계속) 경계 게이트웨이 프로토콜(BGP) BGP 메시지의 유형 열기(open) 메시지 라우터 사이의 관계 확립 갱신(update) 메시지 이전 광고된 목적지를 취소하거나 새로운 목적지를 알림 연결 유지(keep-alive) 메시지 상대방에게 자신이 동작하고 있음을 알림 통지(notification) 메시지 오류 상황 감지 또는 연결을 닫기 원하는 경우
21.3 멀티캐스트 라우팅 특징 하나의 발신지와 한 그룹의 목적지(일대다) 발신지 주소는 유니캐스트 주소이며, 목적지 주소는 그룹 주소임 브로드캐스팅(broadcasting) 그룹이 모든 호스트들을 포함하는 멀티캐스팅의 특별한 경우 플러딩(flooding) 라우터는 패킷이 들어온 포트를 제외한 모든 포트를 이용하여 패킷을 전달 루프를 생성하기도 함
멀티캐스트 라우팅(계속) 멀티캐스팅 멀티캐스트 패킷이 발신지 S1에서 시작하여 그룹 G1에 속한 모든 목적지들로 진행
멀티캐스트 라우팅에서 라우터는 수신된 패킷을 라우터의 모든 포트 중 여러 개의 포트를 통해 전달할 수도 있다. 멀티캐스트 라우팅(계속) 멀티캐스트 라우팅에서 라우터는 수신된 패킷을 라우터의 모든 포트 중 여러 개의 포트를 통해 전달할 수도 있다.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) Internet Group Management Protocol 그룹 멤버쉽을 관리하는 프로토콜 멀티캐스트 라우터가 그룹 멤버들의 리스트를 생성하고 갱신 멀티캐스트 라우터에게 네트워크에 연결된 호스트와 라우터들의 멤버쉽 상태 정보 제공
멀티캐스트 라우팅(계속) IGMP는 그룹 관리 프로토콜이며, 멀티캐스트 라우터가 각 라우터 인터페이스와 관련이 있는 충실한 소속원의 목록을 생성하고 갱신하는데 도움을 준다.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) 메시지 현재 버전은 IGMPv2 메시지 유형
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 메시지 형식
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) 유형(type) 메시지 유형 8비트 필드 Type Value General or special query 0x11 or 00010001 Membership report 0x16 or 00010110 Leave report 0x17 or 00010111
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) 최대 응답 시간(maximum response time) 8비트 필드 질의가 응답되어야 할 시간 값은 10분의 1초 단위(예를들어, 100 = 10초) 질의 메시지에서는 ‘0’이 아니지만, 다른 두 메시지 종류에서는 ‘0’으로 설정 검사합(checksum) 8 바이트 메시지에 대한 계산 그룹 주소(group address) 질의 메시지는 ‘0’, 그 밖의 메시지는 ‘groupID’
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 한 지역 내에서만 동작 각 그룹마다 해당 그룹으로 가는 멀티캐스트 패킷을 분배해야 할 책임을 가진 하나의 라우터가 존재
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 호스트는 그룹의 소속원 자격(membership)을 소유한 경우 호스트 프로세스(응용 프로그램) 중 하나의 그룹으로부터 멀티캐스트 패킷을 수신한다는 것을 의미 멀티캐스트 라우터가 소속원 자격을 소유한 경우 라우터 인터페이스 중 하나에 연결된 네트워크가 멀티캐스트 패킷을 수신한다는 것을 의미 호스트와 라우터는 group ID의 목록을 유지 예 이전 그림에서 R은 분배 라우터이며, R1과 R2는 R의 수신자가 될 수 있으며, 또한 다른 네트워크에서 이런 그룹들에 대해서 분배자가 될 수 있음
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 그룹 참여(joining) 수행과정 호스트는 그룹의 소속원 자격을 가지는 프로세스의 목록 유지 한 프로세스가 새로운 그룹에 참여하려고 할 때, 프로세스는 호스트에게 요구를 송신 호스트는 프로세스의 이름과 요청된 그룹의 이름을 자신의 목록에 추가 만약 이 특정한 그룹에 대한 첫 번째 항목이라면, 호스트는 소속원 보고를 송신
IGMP에서 소속원 보고가 한 번 전송된 후 또 한번 보내므로 두번 전송이 된다. 멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 - 그룹 참여(joining) 소속원 보고(membership report) IGMP에서 소속원 보고가 한 번 전송된 후 또 한번 보내므로 두번 전송이 된다.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 그룹 탈퇴(leaving) 호스트가 특정한 그룹에 관심을 보이는 프로세스가 없다는 것을 알았을때, 호스트는 탈퇴 보고를 송신 라우터가 자기 인터페이스에 연결된 네트워크의 어느 것도 특정한 그룹에 관심을 보이지 않는다는 것을 알았을때, 그 그룹에 대한 탈퇴 보고를 송신 멀티캐스트 라우터의 경우, 특별 질의 메시지를 송신하여 해당 그룹의 탈퇴 여부를 결정
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 그룹 탈퇴(leaving) 탈퇴 보고(leaving report)
일반 질의 메시지는 특정 그룹을 정의하지 않는다. 멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 소속원 감시(monitoring) 문제점 오직 하나의 호스트만이 그룹에 관심이 있으며, 이 호스트가 꺼져 있거나 또는 시스템으로부터 제거된 경우 멀티캐스트 라우터는 탈퇴 보고를 절대로 수신할 수 없음 해결책 라우터의 주기적인(기본값 : 125초) 일반 질의 메시지 전송 그룹 주소 필드는 0.0.0.0 응답 시간은 10초 일반 질의 메시지는 특정 그룹을 정의하지 않는다.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 소속원 감시(monitoring) 일반 질의 메시지
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 지연 응답(delayed response) 불필요한 트래픽 방지 각 호스트나 라우터는 1초에서 10초 사이에 끝나는 타이머 생성 타이머는 목록에 있는 각 그룹들을 위해 설정 예 첫번째 그룹 타이머는 2초 만에 종료 세번째 그룹 타이머는 5초 만에 종료 각 호스트와 라우터는 소속원 보고 메시지를 보내기 전에 해당 시간이 종료될 때까지 대기 만약 또 다른 호스트나 라우터의 타이머가 보다 일찍 종료되면, 호스트와 라우터는 소속원 보고를 송신
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 지연 응답(delayed response) 예제 1 아래 그림(교재에서 그림 21.30)처럼 하나의 네트워크에 3개의 호스트가 있다고 가정을 하자. 질의 메시지가 시간 0에 수신되면, 각 그룹을 위한 임의의 지연 시간(10분의 1초 단위)은 그룹 주소 옆에 표시된다. 보고 메시지의 절차를 보여라.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 지연 응답(delayed response) 풀이 사건들은 다음의 순서로 발생한다. 시각 12: 호스트 A 내 228.42.0.0의 타이머가 만료되어 멤버쉽 보고가 보내지고 이 메시지를 받은 라우터와 호스트 B를 포함한 모든 호스트가 이 메시지를 받고 호스트 B는 228.42.0.0에 대한 타이머를 취소한다. 시각 30: 호스트 A내 225.14.0.0의 타이머가 만료되어 멤버쉽 보고가 보내지고 이메시지를 받은 라우터와 호스트 C를 포함한 모든 호스트가 이 메시지를 받고 호스트 C는 225.14.0.0에 대한 타이머를 취소한다.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) IGMP 동작 – 지연 응답(delayed response) 풀이 시각 50: 호스트 C 내 251.70.0.0의 타이머가 만료되어 멤버쉽 보고가 보내지고 모든 라우터와 호스트가 이 메시지를 받는다. 시각 70: 호스트 C 내 230.43.0.0의 타이머가 만료되어 멤버쉽 보고가 보내지고 이 메시지를 받은 라우터와 호스트 A를 포함한 모든 호스트가 이 메시지를 받고 호스트 A는 230.43.0.0에 대한 타이머를 취소한다. 각 호스트가 자신의 리스트 내의 모든 그룹에 대한 보고를 보내면 7개의 보고가 필요하였을 것이나 위에서 설명한 방법에서는 4개의 보고만 전송된다.
멀티캐스트 라우팅(계속) 인터넷 그룹 관리 프로토콜(IGMP) 질의 라우터(query router) 질의 메시지는 많은 응답을 생성 불필요한 트래픽의 방지를 위해 사용 오직 이 지정 라우터만이 질의 메시지 송신 가능
멀티캐스트 라우팅(계속) 멀티캐스트 트리 멀티캐스팅의 목적 멀티캐스트 트리 유형 그룹 내의 모든 소속원은 하나의 멀티캐스트 패킷 수신 소속원만이 패킷 수신 라우팅에 루프가 없어야 함 패킷 전달 최적 경로 선택 스패닝 트리(spanning tree) 활용 멀티캐스트 트리 유형 발신지 기반 트리 그룹 공유 트리
발신지 기반 트리 방법에서는 발신지와 그룹의 조합이 트리를 결정한다. 멀티캐스트 라우팅(계속) 멀티캐스트 트리 발신지 기반 트리(source-based tree) 송신자와 그룹의 조합마다 단일 트리 구성 N개의 그룹과 M개의 발신지가 존재하는 경우 최대 N × M의 트리가 생성 접근방법 DVMRP : 유니캐스트 거리 벡터 라우팅의 확장 MOSPF : 유니캐스트 링크 상태 라우티의 확장 발신지 기반 트리 방법에서는 발신지와 그룹의 조합이 트리를 결정한다.
그룹 공유 트리 방법에서는 그룹이 트리를 결정한다. 멀티캐스트 라우팅(계속) 멀티캐스트 트리 그룹 공유 트리(group-shared tree) 시스템 내의 각 트리는 동일한 트리 공유 전체 시스템에 N개의 그룹이 있는 경우, 각 그룹에 대하여 한 개씩 최대 N개의 트리가 존재 그룹이 변할 때 트리가 변함 그룹이 트리를 결정 접근 방법 스타이너 트리(steiner tree) : 단지 이론만 존재 랑데부 포인트 트리(rendezvous-point tree) 그룹 공유 트리 방법에서는 그룹이 트리를 결정한다.
멀티캐스트 라우팅(계속) 멀티캐스트 백본(MBONE) 문제점 해결책 인터넷에서 멀티캐스트 라우터는 멀티캐스트 패킷을 전달하기 위해서 이웃에서 다른 멀티캐스트 라우터를 찾지 못할 수 있다 해결책 터널링(tunneling) 멀티캐스트 라우터들은 유니캐스트 라우터 위에 있는 라우터의 그룹을 보여질 수 있음 멀티캐스트 라우터는 논리적으로 연결되어 있음
멀티캐스트 라우팅(계속) 멀티캐스트 백본 논리적 터널링(logical tunneling) 아래의 그림에서 점선 안에 있는 라우터만이 멀티캐스팅 가능 격리된 라우터들로부터 멀티캐스트 백본 생성
멀티캐스트 라우팅(계속) 멀티캐스트 백본 논리적 터널(logical tunnel) 유니캐스트 안에 멀티캐스트 패킷을 캡슐화 DVMRP : MBONE과 터널링을 지원하는 유일한 프로토콜
21.4 멀티캐스트 라우팅 프로토콜 멀티캐스트 라우팅 프로토콜
멀티캐스트 라우팅 프로토콜(계속) 거리 벡터 멀티캐스트 라우팅 프로토콜(DVMRP) Distance Vector Multicast Routing Protocol DVRP(Distance Vector Routing Protocol) 확장 최단 경로(shortest path) 트리 형성 DVMRP는 거리 벡터 라우팅과 동일한 전략 사용 경로는 점진적으로 생성 각 라우터는 경로 형성에 기여 최적의 트리도 점진적으로 생성 다음과 같은 목적을 반드시 달성해야 함 루프가 형성되지 않아야 함 중복(duplication)이 없어야 함 동적인 소속원 자격 제공
멀티캐스트 라우팅 프로토콜(계속) DVMRP 역경로 전달(RPF) Reverse Path Forwarding 라우터는 발신지에서 목적지로 가장 짧은 경로를 이동하는 복사본을 전달 RPF는 RIP의 유니캐스트 라우팅 테이블 사용
멀티캐스트 라우팅 프로토콜(계속) 역경로 전달(RPF)에서 라우터는 발신지에서 목적지로 가장 짧은 경로를 지아온 패킷 만을 전달한다. 모든 다른 복사본들은 버려지며, RPF는 루프 형성을 방지한다.
멀티캐스트 라우팅 프로토콜(계속) DVMRP 역경로 브로드캐스팅(RPB) Reverse Path Broadcasting PRF의 문제점 RPF는 각 망이 하나의 사본만을 수신하는 것을 보장하지 못함 해결책 : RPB 중복 해결을 위해 지정한 부모 라우터로부터 수신
멀티캐스트 라우팅 프로토콜(계속) 역경로 브로드캐스팅(RPB)은 발신지에서 각각의 목적지로 최단 경로 브로드캐스트 트리를 생성한다. 각 목적지들은 단지 하나의 패킷만을 수신하도록 보장한다.
멀티캐스트 라우팅 프로토콜(계속) DVMRP RPF 대 RPB
멀티캐스트 라우팅 프로토콜(계속) DVMRP 역경로 멀티캐스팅(RPM) Reverse Path Multicasting PRB의 문제점 RPB는 패킷을 멀티캐스트하지 않고 브로드캐스트함 DVMRP에서 첫 패킷은 모든 네트워크에 브로캐스트함 해결책 : RPM 제거(pruning) : 한 인터페이스로 메시지 송신을 중단하는 절차 접목(grafting) : 멀티캐스트 메시지들의 전송을 재개하는 절차
멀티캐스트 라우팅 프로토콜(계속) 역경로 멀티캐스팅(RPM)은 동적 소속원 변경을 지원하는 멀티캐스트 최단 경로 트리를 생성하기 위해서 제거와 접목을 RPB에 추가한다.
멀티캐스트 라우팅 프로토콜(계속) DVMRP RPF, RPB, 그리고 RPM
멀티캐스트 라우팅 프로토콜(계속) 멀티캐스트 개방형 최단 경로 우선(MSOPF) Multicast Open Shortest Path First 멀티캐스트 링크 상태 라우팅 사용 OSPF 프로토콜의 확장 트리는 최소 비용 트리이며, 한 번에 모두 생성
멀티캐스트 라우팅 프로토콜(계속) MOSPF 최소 비용 트리(least-cost tree) 유니캐스트 라우팅 공통의 링크 상태 데이터 베이스 존재 각 라우터는 전체 네트워크의 토폴로지를 안다는 사실을 이용 최소 비용 트리를 생성하기 위해 딕스트라 알고리즘 이용 각 라우터에서 데이터베이스와 토폴로지는 동일 최소 비용 트리는 라우터마다 동일하지 않음
멀티캐스트 라우팅 프로토콜(계속) MOSPF 최소 비용 트리 멀티캐스트 트리 유니캐스트 트리와 멀티캐스트 트리 발신지-그룹 쌍을 위해서 하나의 트리를 필요로 함 데이터베이스가 동일하기 때문에 딕스트라 알고리즘을 이용하여 발신지를 루트로 가지는 트리를 생성 유니캐스트 트리와 멀티캐스트 트리
멀티캐스트 라우팅 프로토콜(계속) MOSPF 문제점 1. 딕스트라 알고리즘을 기반으로 하는 트리는 유일한 유니캐스트 주소를 사용 2. 소속원이 자주 변경할 수 도 있음 3. 딕스트라 알고리즘은 매우 복잡하고, 많은 비용을 소모
멀티캐스트 라우팅 프로토콜(계속) MOSPF 해결책 1. 호스트의 유니캐스트 주소와 그룹 주소, 또는 호스트가 지원하는 주소들을 결합하기 위해 링크 상태 갱신 패킷(link state update packet) 추가 2. 새로운 링크 상태 패킷들이 소속원 자격에 변경이 있을 때마다 패킷을 송신 3. 요구에 따라 최소 비용 트리를 라우터가 계산 트리는 미래에 사용하기 위하여 캐쉬 메모리에 저장 가능 MOSPF는 데이터 구동(data driven) 프로토콜임
멀티캐스트 라우팅 프로토콜(계속) 코어 기반 트리(CBT) Core-Based Tree 트리의 루트로 코어를 사용하는 그룹 공유 프로토콜 자율 시스템은 지역들로 나뉨 코어(중앙 또는 랑데부 라우터) 하나씩이 각 지역들을 위해서 선택
멀티캐스트 라우팅 프로토콜(계속) CBT 트리 형성 각 라우터는 선택되어진 랑데부 라우터의 유니캐스트 주소를 통지 받음 각 라우터는 이후에 유니캐스트 참여 메시지 전송 각 중간 라우터는 참여 메시지로부터 필요한 정보 추출 랑데부 라우터가 그룹의 모든 소속원들로부터 참여 메시지를 수신
멀티캐스트 라우팅 프로토콜(계속) CBT 랑데부 라우터를 가지는 공유 그룹 트리
멀티캐스트 라우팅 프로토콜(계속) CBT DVMRP, MOSPF, 그리고 CBT 사이의 차이점 처음 두 가지를 위한 트리는 루트로부터 생성 CBT 트리는 리프들로부터 생성 DVMRP에서 트리가 먼저 생성된 후, 가지치기 수행 CBT에서 시작 지점에는 트리가 없으나, 참여(접목)로 점차 트리를 생성
멀티캐스트 라우팅 프로토콜(계속) CBT 멀티캐스트 패킷 전송 랑데부 라우터의 유니캐스트 주소를 사용하여 랑데부 라우터엑 패킷을 전송 랑데부 라우터는 그룹의 모든 소속원들에게 패킷을 배포 랑데부 라우터에 멀티캐스트 패킷 전송
멀티캐스트 라우팅 프로토콜(계속) CBT CBT는 공유 그룹 트리 그룹당 하나의 트리를 사용하는 중앙 기반(center-based) 프로토콜 트리에 있는 라우터들 중 하나를 코어라 함
멀티캐스트 라우팅 프로토콜(계속) 코어 기반 트리(CBT)에서 발신지는 코어 라우터에게 멀티캐스트 패킷을 전송한다. 코어 라우터는 패킷의 캡슐을 제거하고 모든 관심있는 호스트들에게 패킷을 전달한다.
멀티캐스트 라우팅 프로토콜(계속) 프로토콜 독립 멀티캐스트(PIM) Protocol Independent Multicast 프로토콜 독립 멀티캐스트 밀집 모드(PIM-DM) 프로토콜 독립 멀티캐스트 성긴 모드(PIM-SM) PIM-DM(Dense Mode) 각 라우터가 멀티캐스팅에 연관되어 있는 가능성이 있을 경우 사용 발신지 기반 라우팅
멀티캐스트 라우팅 프로토콜(계속) PIM-DM은 멀티캐스팅을 다루기 위해서 RPF와 제거/접목 전략을 사용한다. 그러나 하부에 있는 유니캐스트 프로토콜과는 독립적이다.
PIM-SM은 CBT와 유사한 더 간단한 절차를 사용한다. 멀티캐스트 라우팅 프로토콜(계속) CBT PIM-SM(Spare Mode) 각 라우터가 멀티캐스팅에 참여하는 약간의 가능성이 있을때 사용 트리의 발신지로서 랑데부 포인트를 갖는 그룹 공유 라우팅 프로토콜 RP 고장을 극복하기 위해 각 지역을 위한 RP 백업 집합 생성 그룹 공유 트리 전략에서 출발지 기반 공유 트리 전략으로 변경 가능 PIM-SM은 CBT와 유사한 더 간단한 절차를 사용한다.
멀티캐스트 라우팅 프로토콜(계속) 멀티캐스팅 응용 분산 데이터 베이스에 대한 접근 정보 보급 원격 교육 멀티미디어 통신
21.5 요약