KR100975018B1 - 인터넷 그룹 관리 프로토콜 프락시 장치 - Google Patents

인터넷 그룹 관리 프로토콜 프락시 장치 Download PDF

Info

Publication number
KR100975018B1
KR100975018B1 KR1020080062628A KR20080062628A KR100975018B1 KR 100975018 B1 KR100975018 B1 KR 100975018B1 KR 1020080062628 A KR1020080062628 A KR 1020080062628A KR 20080062628 A KR20080062628 A KR 20080062628A KR 100975018 B1 KR100975018 B1 KR 100975018B1
Authority
KR
South Korea
Prior art keywords
upstream
interface
interfaces
igmp
upstream interfaces
Prior art date
Application number
KR1020080062628A
Other languages
English (en)
Other versions
KR20100002657A (ko
Inventor
신현재
Original Assignee
주식회사 다산네트웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 다산네트웍스 filed Critical 주식회사 다산네트웍스
Priority to KR1020080062628A priority Critical patent/KR100975018B1/ko
Publication of KR20100002657A publication Critical patent/KR20100002657A/ko
Application granted granted Critical
Publication of KR100975018B1 publication Critical patent/KR100975018B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

인터넷 그룹 관리 프로토콜 프락시 장치가 제공된다. 이 장치는 N(1보다 큰 자연수) 개의 업스트림 인터페이스들; 적어도 하나의 다운스트림 인터페이스; 및 상기 업스트림 인터페이스들의 부하를 균등화하기 위해, 상기 업스트림 인터페이스들과 상기 적어도 하나의 다운스트림 인터페이스 간의 연결 관계를 스위칭하는 제어부를 포함한다. 본 발명에 따르면, 업스트림 인터페이스의 부하(load)를 분산시켜 안정적인 멀티캐스트 서비스를 제공할 수 있다.

Description

인터넷 그룹 관리 프로토콜 프락시 장치 {apparatus for Internet Group Management Protocol Proxy}
본 발명은 IGMP 프락시 장치에 관한 것으로, 보다 상세하지만 제한됨이 없이는(more particularly, but not exclusively), 부하(load)를 분산시켜 안정적인 멀티캐스트 서비스를 제공할 수 있도록 하는 IGMP 프락시 장치에 관한 것이다.
인터넷 그룹 관리 프로토콜(Internet Group Management Protocol : 이하, IGMP) 프락시(Proxy)는 IGMP 멤버쉽(membership) 정보만으로 멀티캐스트(Multicast) 패킷을 전달(forwarding) 가능하기 때문에, 멀티캐스트 라우팅 프로토콜(Multicast Routing Protocol : 이하, MRP)을 반드시 요구하지는 않는다. 따라서, MRP에 의한 복잡한 연산 수행을 줄일 수 있으며, 서로 상이한 MRP가 사용되더라도 호환성을 가진다.
도 1 및 도 2는 일반적인 IGMP 프락시를 설명하기 위한 개념도이다.
IGMP 프락시 기기(170)는 하나의 업스트림 인터페이스(110) 및 다운스트림 인터페이스(120, 130)을 구비한다.
업스트림 인터페이스(110)는 상위에 있는 멀티캐스트 라우터(100)와 연결된 인터페이스로서, IGMP의 호스트(Host) 역할을 수행한다.
제1 다운스트림 인터페이스(120) 및 제2 다운스트림 인터페이스(130)는 각각 제1 서브넷(150) 및 제2 서브넷(160)과 연결된 인터페이스로서, IGMP의 라우터(Router) 역할을 수행한다. 서브넷(150, 160) 내에는 적어도 하나의 호스트(미도시)가 포함되며, 경우에 따라 스위치 등도 포함된다.
제1, 제2 다운스트림 인터페이스(120, 130)는 각각 제1, 2 가입 리스트(subscription list)(122, 132)를 관리한다. 여기서, 가입 리스트(122, 132)는 해당 다운스트림 인터페이스(120, 130)와 연결된 서브넷(150, 160)의 멤버쉽을 포함하는 정보이고, 멤버쉽은 해당 서브넷(150, 160)에 서비스 중인 멀티캐스트 그룹 주소를 의미한다. 즉, 멤버쉽은 해당 서브넷(150, 160)이 조인(join)한 멀티캐스트 그룹을 의미한다.
멤버쉽 데이터베이스(140)는 다운스트림 인터페이스(120, 130)의 가입 리스트(122, 132)를 병합(merge)한 데이터베이스로서, 도 1에 도시된 바와 같이, 멤버쉽 레코드들의 집합이 엔트리로서 저장된다. 여기서, 멤버쉽 레코드는 도 1에 도시된 바와 같이, 멀티캐스트 그룹 주소가 포함되며, 부가적으로 필터 모드, 소스 리스트도 포함될 수 있다.
도 2는 도 1의 상태에서, 제1 서브넷(150) 내의 어느 호스트(미도시)가 멀티캐스트 그룹 주소 225.1.2.1의 멀티캐스트 서비스를 제공받기 위해, IGMP 보고(report) 패킷을 송신하는 경우, IGMP 프락시 기기(170)의 동작을 설명하기 위한 개념도이다. 편의상, 도 2에서의 참조 부호는 도 1의 참조 부호를 그대로 원용한다.
도 2에서, 제1 다운스트림 인터페이스(120)가 제1 서브넷(150)으로부터 IGMP 보고 패킷을 수신하면, 제1 가입 리스트(122)가 갱신(update)된다. 여기서, IGMP 보고 패킷의 예로는 서비스 받기를 원하는 멀티캐스트 그룹 주소를 알리기 위한 IGMP 멤버쉽 보고 패킷, 및 해당 멀티캐스트 그룹 주소에 대한 서비스를 원하지 않음을 알리기 위한 IGMP 탈퇴 (leave) 보고 패킷을 들 수 있으나, 반드시 이에 한정되는 것은 아니다.
이렇게 갱신된 가입 정보는 멤버쉽 데이터베이스(140)에 반영되고, 멤버쉽 데이터베이스(140)의 갱신된 부분(즉, 멤버쉽 레코드)은 IGMP 보고 패킷의 형태로 업스트림 인터페이스(110)를 통해 멀티캐스트 라우터(100)에게 전달된다.
도 2에서의 IGMP 보고 패킷은 멀티캐스트 그룹 주소 225.1.2.1의 서비스를 받겠다는 것이므로, 이를 전달받은 멀티캐스트 라우터(100)는 해당 멀티캐스트 그룹 주소에 대응되는 패킷을 IGMP 프락시 기기(170)에 전달한다. 그 결과, 해당 서비스를 요청한 제1 서브넷(150) 내의 호스트(미도시)는 IGMP 프락시 기기(170)의 다운스트림 인터페이스(120)를 통하여 해당 멀티캐스트 패킷을 제공받게 된다.
한편, 상술한 IGMP 프락시 기기는, 라우팅 정보의 교환이 필요 없는 단순한 트리 토폴로지(simple tree topology) 환경을 전제로 설계되었기 때문에, 한 개의 업스트림 인터페이스를 구비하게 된다. 이 경우, 그 업스트림 인터페이스 또는 그 업스트림 인터페이스와 연결된 멀티캐스트 라우터에 부하(load)가 많은 경우, 안정적인 멀티캐스트 서비스를 제공할 수 없는 상황이 발생될 수 있다.
본 발명이 이루고자 하는 기술적 과제는 부하를 분산시켜 안정적인 멀티캐스트 서비스를 제공할 수 있도록 하는 IGMP 프락시 장치를 제공하는 데 있다.
상기의 기술적 과제를 이루기 위해 본 발명의 제1 측면은 N(1보다 큰 자연수) 개의 업스트림 인터페이스들; 적어도 하나의 다운스트림 인터페이스; 및 상기 업스트림 인터페이스들의 부하를 균등화하기 위해, 상기 업스트림 인터페이스들과 상기 적어도 하나의 다운스트림 인터페이스 간의 연결 관계를 스위칭하는 제어부를 포함하는 인터넷 그룹 관리 프로토콜 프락시 장치를 제공한다.
상기의 기술적 과제를 이루기 위해 본 발명의 제2 측면은 N(1보다 큰 자연수) 개의 업스트림 인터페이스들; 적어도 하나의 다운스트림 인터페이스; 상기 업스트림 인터페이스들 중에서, M(1보다 크고, N보다 작거나 같은 자연수)개의 사용 가능한 업스트림 인터페이스들이 감지하고, 상기 사용 가능한 업스트림 인터페이스들과 상기 적어도 하나의 다운스트림 인터페이스 간의 연결 관계를 스위칭하는 제어부를 포함하는 인터넷 그룹 관리 프로토콜 프락시 장치를 제공한다.
상기에서 제시한 본 발명의 실시예들은 다음의 장점들을 포함하는 효과를 가 질 수 있다. 다만, 본 발명의 모든 실시예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일실시예에 따르면, 업스트림 인터페이스 또는 그 업스트림 인터페이스와 연결된 멀티캐스트 라우터의 부하를 분산시켜 안정적인 멀티캐스트 서비스를 제공할 수 있다.
또한, 본 발명의 일실시예에 따르면, 사용 가능한 업스트림 인터페이스들의 개수가 변경되더라도, 시그널링(예컨대, IGMP 보고 패킷의 송신 횟수, 멀티캐스트 라우터 간의 라우팅 정보 교환 등) 및 데이터베이스 변경(예컨대, 멤버쉽 데이터베이스가 갱신되는 내용의 정도 등)를 최소화할 수 있다.
본 발명의 실시예들에 관한 설명은 본 발명의 구조적 내지 기능적 설명들을 위하여 예시된 것에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예들에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 본 발명의 실시예들은 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 본 발명의 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
"및/또는"의 용어는 하나 이상의 관련 항목으로부터 제시가능 한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및/또는 제3 항목"의 의미는 "제1 항목, 제2 항목 및 제3 항목 중 적어도 하나 이상"을 의미하는 것으로, 제1, 제2 또는 제3 항목뿐만 아니라 제1, 제2 및 제3 항목들 중 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 발명에서 기재된 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명에서 기술한 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 3a 내지 도 3c는 본 발명의 일실시예에 따른 IGMP 프락시 기기의 동작을 설명하기 위한 도면이다.
도 3a는 IGMP 프락시 기기(310)의 일반적인 동작을 설명하기 위한 도면이고, 도 3b는 도 3a의 상황에서 사용 가능한 업스트림 인터페이스의 갯수가 감소한 후의 동작을 설명하기 위한 도면이고, 도 3c는 도 3b의 상황에서 사용 가능한 업스트림 인터페이스의 개수가 증가한 후의 동작을 설명하기 위한 도면이다.
도 3a 내지 3c에는 제1 멀티캐스트 라우터(300), 제2 멀티캐스트 라우터(302), 제3 멀티캐스트 라우터(304), IGMP 프락시 기기(310)가 도시되어 있으며, IGMP 프락시 기기(310)는 업스트림 인터페이스들(u1, u2, u3), 다운스트림 인터페 이스(d1, d2), 가입 리스트(340, 342), 및 멤버쉽 데이터베이스(350)를 포함하는 것으로 도시되어 있다.
도 3a 내지 3c에 도시된 IGMP 프락시 기기(310)의 내부는 다양한 방법으로 구현 가능하며, 본 명세서에서는, 편의상, 하나의 모듈인 제어부(미도시)가 본 발명에 따른 스위칭 동작을 수행하는 것을 전제하여 설명한다.
도 3a를 참조하여, 본 발명의 일실시예에 따른 IGMP 프락시 기기의 동작을 설명하면 다음과 같다.
IGMP 프락시 기기(310)는 다운스트림 인터페이스들(d1, d2) 각각에 해당하는 가입 리스트(340, 342)를 관리한다.
IGMP 프락시 기기(310)는 다운스트림 인터페이스(d1, d2)에서의 패킷 수신에 따라 멤버쉽 데이터베이스(350)가 갱신되면, IGMP 보고 패킷을 해당 멀티캐스트 라우터(300, 302, 304)에 송신하거나, 업스트림 인터페이스(u1, u2, u3)로부터 수신된 멀티캐스트 패킷을 해당 호스트(미도시)에 송신하기 위해, 업스트림 인터페이스(u1, u2, u3)와 다운스트림 인터페이스(d1, d2) 간의 연결 관계를 스위칭한다. 일례로, 제1 다운스트림 인터페이스(d1)에서 호스트(미도시)로부터 송신된 IGMP 보고 패킷을 수신한 경우, IGMP 프락시 기기(310)는 제1 가입 리스트(340)를 갱신한 후, 갱신된 내용을 멤버쉽 데이터베이스(350)에 반영한다. 여기서, 연결 관계는 다운스트림 인터페이스(d1, d2)가 가입한 멀티캐스트 그룹 주소들과 관련된 IGMP 처리를 담당하는 업스트림 인터페이스들(u1, u2, u3)의 선택을 의미한다. 이러한 선 택 방법에 대해서는 도 4a 이하에서 후술한다.
IGMP 프락시 기기(310)는 업스트림 인터페이스들(u1, u2, u3) 각각에 대한 병합 정보를 멤버쉽 데이터베이스(350)에 저장/관리한다. 여기서, 병합 정보는 해당 업스트림 인터페이스(u1, u2, u3)와 연결된 적어도 하나의 다운스트림 인터페이스(d1, d2)의 가입 리스트(340, 342)를 병합한 정보로서, 도 3a를 참조하면, 제1 업스트림 인터페이스(u1)의 병합 정보는 멀티캐스트 그룹 주소 225.1.1.1을 포함하고, 제2 업스트림 인터페이스(u2)의 병합 정보는 멀티캐스트 그룹 주소 225.1.1.2를 포함하고, 제3 업스트림 인터페이스(u3)의 병합 정보는 멀티캐스트 그룹 주소 225.1.1.3을 포함한다.
도 3a에 도시된 바와 같이, 225.1.1.1과 관련된 IGMP 보고 패킷은 제1 업스트림 인터페이스(u1)를 통하여 제1 멀티캐스트 라우터(300)에 전달되고, 225.1.1.2 과 관련된 IGMP 보고 패킷 및 225.1.1.3과 관련된 IGMP 보고 패킷은 각각 제2 멀티캐스트 라우터(302) 및 제3 멀티캐스트 라우터(304)로 전달된다. 그 결과, 제1 다운스트림 인터페이스(d1)와 연결된 호스트(미도시)는 제1 멀티캐스트 라우터(300), 및 제1 업스트림 인터페이스(u1)를 통하여 225.1.1.1과 관련된 멀티캐스트 서비스 패킷을 수신할 수 있으며, 제3 멀티캐스트 라우터(304), 제3 업스트림 인터페이스(u3)를 통하여 225.1.1.3과 관련된 멀티캐스트 서비스 패킷을 수신할 수 있게 된다.
도 3b를 참조하여, 본 발명의 일실시예에 따른 IGMP 프락시 기기의 동작을 설명하면 다음과 같다. 도 3b는 도 3a와 같이 동작하던 IGMP 프락시 기기(310)가 제2 업스트림 인터페이스(u2)의 사용 불가를 감지하여 대처하는 동작을 설명하기 위한 도면이다.
제2 업스트림 인터페이스(u2)가 사용 불가능 한 경우의 예로는, 업스트림 인터페이스 관련 장애가 발생한 경우, 장비 관리자가 해당 업스트림 인터페이스의 연결을 임의로 제거한 경우를 들 수 있으나 반드시 이에 한정되는 것은 아니다. 여기서, 업스트림 인터페이스 관련 장애의 예로는, 업스트림 인터페이스와 연결된 멀티캐스트 라우터에 이상이 있는 경우, 이 멀티캐스트 라우터와 IGMP 프락시 기기 간의 링크에 장애가 생긴 경우, 업스트림 인터페이스 자체에 장애가 발생한 경우를 들 수 있으나, 반드시 이에 한정되는 것은 아니다.
여기서, 사용 불가를 감지하는 방법의 예로는, 업스트림 인터페이스(u1, u2, u3)의 상태 파라미터(status parameter)를 통하여 확인하거나 업스트림 인터페이스(u1, u2, u3)로 조인된 그룹의 멀티캐스트 패킷이 일정 시간 동안 수신되고 있지 않는지를 확인하는 방법 등을 통하여 장애를 감지하거나, 장비 관리자의 입력에 따라 감지하는 방법을 들 수 있으나, 반드시 이에 한정되는 것은 아니다.
IGMP 프락시 기기(310)는 제2 업스트림 인터페이스(u2)의 사용 불가를 감지하면, 적어도 제2 업스트림 인터페이스(u2)의 병합 정보를 나머지 업스트림 인터페이스(u1, u3)로 분산시켜야 하는데, 도 3b의 실시예는 제2 업스트림 인터페이스(u2)가 담당하던 225.1.1.2가 제3 업스트림 인터페이스(u3)의 병합 정보로 옮겨진 것을 알 수 있다.
이렇게 멤버쉽 데이터베이스(350)를 갱신한 후, 갱신된 내용을 담은 IGMP 보고 패킷은 해당 업스트림 인터페이스를 통하여 해당 라우터에 보고되는데, 도 3b에 따르면, 제3 업스트림 인터페이스(u3)의 병합 정보가 갱신되었으므로, 225.1.1.2에 해당하는 IGMP 보고가 제3 업스트림 인터페이스(u3)를 통하여 제3 멀티캐스트 라우터(304)로 전달된다. 그 결과, 도 3a에서 제2 멀티캐스트 라우터(302) 및 제2 상향 스트림 인터페이스(u2)를 통해 225.1.1.2 관련 서비스를 받던 제2 다운스트림 인터페이스(d2) 하의 호스트(미도시)는 제3 멀티캐스트 라우터(304) 및 제3 업스트림 인터페이스(u3)를 통해 225.1.1.2 관련 서비스를 지속적으로 받을 수 있게 된다.
도 3c를 참조하여, 본 발명의 일실시예에 따른 IGMP 프락시 기기의 동작을 설명하면 다음과 같다. 도 3c는 도 3d와 같이 동작하던 IGMP 프락시 기기(310)가 제2 업스트림 인터페이스(u2)의 사용 가능을 감지하여 대처하는 동작을 설명하기 위한 도면이다.
여기서, 사용 가능한 업스트림 인터페이스의 개수가 증가하는 경우의 예로는, 업스트림 인터페이스 관련 장애가 해소됨을 발견한 경우, 장비 관리자가 임의로 새로운 업스트림 인터페이스에 대한 연결을 수행한 경우를 들 수 있으나, 반드시 이에 한정되는 것은 아니다.
IGMP 프락시 기기(310)는 제2 업스트림 인터페이스(u2)의 사용 가능을 감지하면, 멤버쉽 데이터베이스(350)에 포함된 멀티캐스트 그룹 주소들을 분산시켜야 하는데, 도 3c의 실시예는 제3 업스트림 인터페이스(u3)가 담당하던 225.1.1.2가 제2 업스트림 인터페이스(u2)의 병합 정보로 옮겨진 것을 알 수 있다.
이렇게 멤버쉽 데이터베이스(350)를 갱신한 후, 갱신된 내용을 담은 IGMP 보고 패킷은 해당 업스트림 인터페이스를 통하여 해당 멀티캐스트 라우터에 보고되는 데, 도 3c에 따르면, 제2 업스트림 인터페이스(u2)의 병합 정보가 갱신되었으므로, 225.1.1.2에 해당하는 IGMP 보고가 제2 업스트림 인터페이스(u2)를 통하여 제2 멀티캐스트 라우터(302)로 전달된다. 그 결과, 도 3b에서 제3 멀티캐스트 라우터(304) 및 제3 업스트림 인터페이스(u3)를 통해 225.1.1.2 관련 서비스를 받던 제2 다운스트림 인터페이스(d2) 하의 호스트(미도시)는 제2 멀티캐스트 라우터(302) 및 제2 상향 스트림 인터페이스(u2)를 통해 225.1.1.2 관련 서비스를 지속적으로 받을 수 있게 된다.
한편, 제3 업스트림 인터페이스(u3)의 병합 정보도 갱신되었으므로, 삭제된 멀티캐스트 그룹 주소 225.1.1.2와 관련된 IGMP 탈퇴 보고 패킷을 제3 멀티캐스트 라우터(304)에 전달하는 동작도 수행될 수 있음은 이 분야에 종사하는 자라면 충분히 이해할 수 있다.
상술한 바와 같이, IGMP 프락시 환경에서 복수의 업스트림 인터페이스들을 구비하고, 멀티캐스트 그룹에 따라 서로 다른 업스트림 인터페이스를 통하여 IGMP 보고 패킷을 해당 멀티캐스트 라우터에 전달함으로써, IGMP 프락시 기기 및 호스트들은 멀티캐스트 패킷을 분산/수신할 수 있게 된다. 이러한 방법은 부하 균등화(load balancing) 효과를 얻을 수 있어, 안정적인 멀티캐스트 서비스를 제공할 수 있다는 효과를 가진다.
이러한 부하 균등화 방법의 일실시예를 설명하자면 다음과 같다.
IGMP 프락시 기기가 IGMP 보고 패킷을 수신하면, 수신된 IGMP 보고 패킷에 포함된 멀티캐스트 그룹 주소를 키(key) 값으로 하여 해쉬(hash) 함수를 통해 해쉬 값을 얻어 내고, 이 해쉬 값을 hash-threshold 알고리즘에 적용하여 멀티캐스트 그룹 주소를 담당하는 업스트림 인터페이스를 결정할 수 있다. 이렇게 결정된 업스트림 인터페이스를 통해 수신된 IGMP 보고 패킷을 송신함으로써, IGMP 프락시 기기와 연결된 멀티캐스트 라우터들의 부하를 분산시킬 수 있다.
업스트림 인터페이스를 결정하기 위한 해쉬 함수의 예로는, CRC(Cyclic Redundancy Check) 연산을 들 수 있다. 예컨대, 수신된 IGMP 보고 패킷에 포함된 멀티캐스트 그룹 주소에 CRC-8 연산을 적용하면, 8비트 해쉬 값이 얻어지고, 이러한 해쉬 값은 해쉬 값 영역(region)을 결정하는 데 사용된다. 도 5를 참조하여 후술하겠지만, 복수의 해쉬 값 영역은 복수의 업스트림 인터페이스에 일대일 맵핑된다.
사용 가능한 업스트림 인터페이스의 증가/감소하는 경우, IGMP 프락시 기기는 기존의 멀티캐스트 서비스를 지속적으로 제공하되, 기존 멀티캐스트 패킷의 전달 경로에 대한 영향을 최소화해야 한다. 그렇지 않을 경우, 네트워크에 속하는 멀티캐스트 라우터들은 잦은 경로 재설정 및 그에 따른 라우팅 정보 교환을 수행해야 하는 등 복잡한 문제를 야기한다. 이러한 점을 최소화하기 위해, 본 발명의 일실시 예에 따라 IGMP 프락시 기기는 hash-threshold 알고리즘을 사용한다.
이러한 Hash-threshold 알고리즘의 특성을 설명하면 다음과 같다.
일례로, IGMP 프락시 기기에서 사용 가능한 업스트림 인터페이스가 5개 존재하고, 해쉬 함수를 통해서 얻을 수 있는 해쉬 값들의 개수가 40인 경우(즉, 해쉬 값 공간의 크기가 40인 경우), 해쉬 값 영역들 각각은 경로(즉, 사용 가능한 업스트림 인터페이스)와 일대일 매칭된다. 이 경우, 도 4a와 같이 해쉬 값 영역 마다 40/5개의 해쉬 값이 포함된다.
도 4a를 참조하면, 해쉬 값 영역 당 8개의 해쉬 값이 할당되고, 5개의 해쉬 값 영역은 동일한 영역 사이즈 8을 가지고 있음을 알 수 있다.
도 4a와 같이 5개의 경로가 사용 가능하다가 하나의 경로(예컨대, 경로 3)에서 사용 불가능한 이벤트가 발생한 경우, 도 4b와 같이 변경된다.
도 4b를 참조하면, 도 4a와는 달리 해쉬 값 영역 1에 속하는 해쉬 값들뿐만 아니라 해쉬 값 영역 2에 속하는 해쉬 값들의 1/4가 경로 1에 맵핑됨을 알 수 있다. 나머지 해쉬 값 영역에 대해서도 마찬가지로 설명된다. 즉, 여러 경로 중 해쉬 값 영역 3에 해당하는 업스트림 인터페이스의 삭제에 따라 total disruption은 1/5 x (1/4 + 1/2 + 1/2 + 1/4) = 3/10이다.
hash-threshold 알고리즘의 이러한 특성은 사용 가능한 업스트림 인터페이스의 개수 변화가 N -> N-1, N -> N+1 일 때 모두 성립되며, total disruption은 최소 1/4에서 최대 1/2의 값이 된다
도 5는 본 발명의 일실시예에 따른 업스트림 인터페이스의 결정 과정을 설명하기 위한 도면이다.
IGMP 프락시 기기의 다운스트림 인터페이스에서 IGMP 보고 패킷(500)이 수신되면 IGMP 프락시 기기는 IGMP 보고 패킷(500)에 포함된 멀티캐스트 그룹 주소에 CRC-8연산을 수행하여, 8비트 CRC 값을 얻는다. 여기서, CRC-8 연산 및 8비트 CRC 값이 상술한 해쉬 함수 및 해쉬 값의 예에 해당한다.
참조 부호 510는 CRC-8 연산을 통하여 나올 수 있는 모든 CRC 값들에 대한 공간 즉, 해쉬 값 공간을 나타내며, 이 해쉬 값 공간(510)은 사용 가능한 업스트림 인터페이스들의 개수만큼 나뉘어 제1 내지 제4 영역이 생성된다. 상술한 방법으로 얻어진 CRC 값은 제1 내지 제4 영역 중 어느 하나에 속하게 되는데, 그 속하는 영역에 맵핑되는 업스트림 인터페이스를 통하여 IGMP 보고 패킷(500)이 해당 멀티캐스트 라우터에 송신된다.
이러한 본원 발명인 장치는 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
상기에서 제시한 본 발명의 실시예들은 다음의 장점들을 포함하는 효과를 가 질 수 있다. 다만, 본 발명의 모든 실시예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일실시예에 따르면, 업스트림 인터페이스 또는 그 업스트림 인터페이스와 연결된 멀티캐스트 라우터의 부하를 분산시켜 안정적인 멀티캐스트 서비스를 제공할 수 있다.
또한, 본 발명의 일실시예에 따르면, 사용 가능한 업스트림 인터페이스들의 개수가 변경되더라도, 시그널링(예컨대, IGMP 보고 패킷의 송신 횟수, 멀티캐스트 라우터 간의 라우팅 정보 교환 등) 및 데이터베이스 변경(예컨대, 멤버쉽 데이터베이스가 갱신되는 내용의 정도 등)를 최소화할 수 있다.
도 1 및 도 2는 일반적인 IGMP 프락시를 설명하기 위한 개념도이다.
도 3a 내지 도 3c는 본 발명의 일실시예에 따른 IGMP 프락시 기기의 동작을 설명하기 위한 도면이다.
도 4a 및 4b는 본 발명의 일실시예에 따른 해쉬 함수 및 hash-threshold 알고리즘을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 업스트림 인터페이스의 결정 과정을 설명하기 위한 도면이다.

Claims (7)

  1. N(1보다 큰 자연수) 개의 업스트림 인터페이스들;
    적어도 하나의 다운스트림 인터페이스;
    상기 업스트림 인터페이스들의 부하를 균등화하기 위해 상기 업스트림 인터페이스들과 상기 적어도 하나의 다운스트림 인터페이스 간의 연결 관계를 스위칭하되, 상기 적어도 하나의 다운스트림 인터페이스에서 패킷이 수신되어 IGMP 보고 패킷을 송신할 이벤트가 발생된 경우, 상기 수신된 패킷에 포함된 멀티캐스트 그룹 주소에 hash-threshold 알고리즘을 적용하여 상기 복수의 업스트림 인터페이스들 중 하나를 선택하고, 상기 선택된 업스트림 인터페이스를 통하여 상기 IGMP 보고 패킷을 송신하는 제어부; 및
    상기 업스트림 인터페이스들 중 적어도 하나에 대한 병합 정보를 저장하기 위한 멤버쉽 데이터베이스를 포함하고,
    상기 이벤트는 상기 수신된 패킷에 포함된 멀티캐스트 그룹 주소가 상기 멤버쉽 데이터베이스에 없는 경우를 포함하고,
    상기 병합 정보는 해당 업스트림 인터페이스와 연결된 적어도 하나의 다운스트림 인터페이스의 가입 리스트를 병합한 정보이고,
    상기 제어부는 상기 멀티캐스트 그룹 주소를 상기 선택된 업스트림 인터페이스의 병합 정보에 포함시키는 것을 특징으로 하는 인터넷 그룹 관리 프로토콜 프락시 장치.
  2. 삭제
  3. 제1항에 있어서, 상기 제어부는
    상기 업스트림 인터페이스들 중에서, M(1보다 크고, N보다 작거나 같은 자연수)개의 사용 가능한 업스트림 인터페이스들이 있는 경우,
    해쉬 값들의 공간(space)을 M개로 분할하여 얻어지는 M개의 영역들을 상기 사용 가능한 업스트림 인터페이스들에 일대일 맵핑하고,
    상기 영역들 중에서, 상기 멀티캐스트 그룹 주소로부터 산출되는 해쉬 값을 포함하는 영역에 맵핑된 업스트림 인터페이스를 통하여 상기 IGMP 보고 패킷을 송신하는 것을 특징으로 하는 인터넷 그룹 관리 프로토콜 프락시 장치.
  4. 제3항에 있어서,
    상기 해쉬 값은 상기 멀티캐스트 그룹 주소에 CRC 연산을 가하여 얻어지는 CRC 값이고,
    상기 해쉬 값들의 공간은 상기 CRC 연산으로 얻어지는 CRC 값들을 포함하는 공간인 것을 특징으로 하는 인터넷 그룹 관리 프로토콜 프락시 장치.
  5. 삭제
  6. N(1보다 큰 자연수) 개의 업스트림 인터페이스들;
    적어도 하나의 다운스트림 인터페이스;
    상기 업스트림 인터페이스들 중에서, M(1보다 크고, N보다 작거나 같은 자연수)개의 사용 가능한 업스트림 인터페이스들을 감지하고, 상기 사용 가능한 업스트림 인터페이스들과 상기 적어도 하나의 다운스트림 인터페이스 간의 연결 관계를 스위칭하는 제어부; 및
    상기 업스트림 인터페이스들 중 적어도 하나에 대한 병합 정보를 저장하기 위한 멤버쉽 데이터베이스를 포함하고,
    상기 제어부는, M 값이 변동되는 이벤트가 발생한 경우, hash-threshold 알고리즘을 사용하여 상기 사용 가능한 업스트림 인터페이스들의 부하가 균등화되도록 상기 멤버쉽 데이터베이스를 갱신하고, 갱신된 병합 정보를 가진 업스트림 인터페이스를 통하여 해당 IGMP 보고 패킷을 송신하고,
    상기 병합 정보는 해당 업스트림 인터페이스와 연결된 적어도 하나의 다운스트림 인터페이스의 가입 리스트를 병합한 정보인 것을 특징으로 하는 인터넷 그룹 관리 프로토콜 프락시 장치.
  7. 삭제
KR1020080062628A 2008-06-30 2008-06-30 인터넷 그룹 관리 프로토콜 프락시 장치 KR100975018B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080062628A KR100975018B1 (ko) 2008-06-30 2008-06-30 인터넷 그룹 관리 프로토콜 프락시 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080062628A KR100975018B1 (ko) 2008-06-30 2008-06-30 인터넷 그룹 관리 프로토콜 프락시 장치

Publications (2)

Publication Number Publication Date
KR20100002657A KR20100002657A (ko) 2010-01-07
KR100975018B1 true KR100975018B1 (ko) 2010-08-11

Family

ID=41812663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080062628A KR100975018B1 (ko) 2008-06-30 2008-06-30 인터넷 그룹 관리 프로토콜 프락시 장치

Country Status (1)

Country Link
KR (1) KR100975018B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671655A (zh) * 2019-10-16 2021-04-16 中兴通讯股份有限公司 组播用户接入方法、电子设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067917A1 (en) 2001-10-04 2003-04-10 Adc Broadband Access Systems, Inc. IGMP proxy
JP2006101471A (ja) 2004-09-06 2006-04-13 Hitachi Communication Technologies Ltd マルチキャスト冗長経路ルータ、マルチキャスト冗長化方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067917A1 (en) 2001-10-04 2003-04-10 Adc Broadband Access Systems, Inc. IGMP proxy
JP2006101471A (ja) 2004-09-06 2006-04-13 Hitachi Communication Technologies Ltd マルチキャスト冗長経路ルータ、マルチキャスト冗長化方式

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C. Hopps, "Analysis of an Equal-Cost Multi-Path Algorithm," IETF RFC 2992.
V. Cardellini, M. Colajanni, and P.S. Yu, "Dynamic Load Balancing on Web Server Systems," IEEE Internet Computing, May-June 1999, pp. 28-39.

Also Published As

Publication number Publication date
KR20100002657A (ko) 2010-01-07

Similar Documents

Publication Publication Date Title
US10148554B2 (en) System and methods for load placement in data centers
CN101658001B (zh) 组播分发系统和组播分发方法
JP5542927B2 (ja) ノード間リンク集合システムおよび方法
US8170022B2 (en) Method and apparatus for actively discovering internet protocol equal cost multiple paths and associate metrics
US20190222538A1 (en) Packet Processing Method, Computing Device, and Packet Processing Apparatus
US7623533B2 (en) Switch meshing using multiple directional spanning trees
EP3306873B1 (en) Routing method, and relevant device and system
JP2013197868A (ja) 中継装置、中継装置の制御方法及び中継システム
JP2018191290A (ja) 負荷分散を実現するための方法、装置、およびネットワークシステム
US20140036726A1 (en) Network, data forwarding node, communication method, and program
CN102347905A (zh) 一种网络设备及其转发信息更新方法
US9401865B2 (en) Network appliance redundancy system, control apparatus, network appliance redundancy method and program
KR20120072053A (ko) 다중보호그룹의 보호절체를 수행하는 보호절체 장치 및 방법
WO2013114489A1 (en) Control method, control apparatus, communication system, and program
CN113472646B (zh) 一种数据传输方法、节点、网络管理器及系统
KR102011021B1 (ko) Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
US20190222505A1 (en) Communication system, edge node, communication method and program
KR101297498B1 (ko) 트래픽의 장애 복구형 전파를 제공하기 위한 방법, 제 1 노드 및 컴퓨터 판독 가능 저장 매체
CN101692654A (zh) 一种HUB-Spoken组网的方法、系统及设备
US10680931B2 (en) Ingress gateway selection for a shortest path bridging network to support inter domain multicast routing
EP4009592A1 (en) Method for configuring port state and network device
US7869351B2 (en) Communication techniques and generic layer 3 automatic switching protection
JP2015012343A (ja) 通信ネットワークおよび転送ノード
EP2517422B1 (en) Grid router and network
KR100975018B1 (ko) 인터넷 그룹 관리 프로토콜 프락시 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170802

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 10