KR101880379B1 - 멀티캐스트 멤버들을 유지하기 위한 방법 및 장치 - Google Patents

멀티캐스트 멤버들을 유지하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101880379B1
KR101880379B1 KR1020167031035A KR20167031035A KR101880379B1 KR 101880379 B1 KR101880379 B1 KR 101880379B1 KR 1020167031035 A KR1020167031035 A KR 1020167031035A KR 20167031035 A KR20167031035 A KR 20167031035A KR 101880379 B1 KR101880379 B1 KR 101880379B1
Authority
KR
South Korea
Prior art keywords
multicast group
query
multicast
count value
message
Prior art date
Application number
KR1020167031035A
Other languages
English (en)
Other versions
KR20160145647A (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20160145647A publication Critical patent/KR20160145647A/ko
Application granted granted Critical
Publication of KR101880379B1 publication Critical patent/KR101880379B1/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 인터넷 분야와 관련된다. 멀티캐스트 멤버들을 유지하기 위한 방법 및 장치가 개시된다. 방법은 다음을 포함한다: 미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에서의 모든 멀티캐스트 멤버들에게 질의 메시지를 보내도록 하는 단계; 현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들 카운트 값을 획득하는 단계; 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 멤버들을 유지하는 단계. 장치는 다음을 포함한다: 제1 송신 모듈, 획득 모듈, 및 유지 모듈. 본 발명을 이용하여, 멀티캐스트 멤버들은 스위치에서의 유지 플로 테이블에 의하여 유지되고, 그에 의해 컨트롤러의 부하를 줄이고, 컨트롤러에 의해 멀티캐스트 멤버들을 유지하는 처리 효율성을 향상시킨다.

Description

멀티캐스트 멤버들을 유지하기 위한 방법 및 장치{METHOD AND DEVICE FOR MAINTAINING MULTICAST MEMBERS}
본 출원은 2014년 4월 28일에 중국 특허청에 출원되고, 발명의 명칭이 "METHOD AND DEVICE FOR MAINTAINING MULTICAST GROUP MEMBER"인 중국 특허 출원 제 201410175802.6호에 기초한 우선권을 주장하는데, 이 출원은 참조에 의해 그 전체가 본 명세서에 통합된다.
본 발명은 인터넷 분야와 관련되고, 특히 멀티캐스트 그룹 멤버를 유지하기 위한 방법 및 장치와 관련된다.
SDN(software defined networking) 네트워크는 컨트롤러, 스위치, 및 호스트를 포함한다. 다중 호스트는 모두 하나의 멀티캐스트 그룹에 가입할 수 있고, 하나의 호스트는 동시에 다중 멀티캐스트 그룹에 가입할 수 있다. 멀티캐스트 그룹에 가입하는 호스트는 멀티캐스트 그룹 멤버로서 지칭될 수 있다. 멀티캐스트 통신이 구현될 때, 스위치가 컨트롤러와 멀티캐스트 그룹 멤버들 사이에서 데이터 스트림들을 포워딩하는 것을 책임지며, 컨트롤러는 데이터 스트림들의 포워딩 경로들을 제어하기 위해, 멀티캐스트 그룹에 가입하고 탈퇴하는 멀티캐스트 그룹 멤버를 유지한다.
지금까지, 멀티캐스트 그룹 멤버를 유지하는 수순은 다음과 같다: 컨트롤러가 스위치에게 일반적 질의 메시지를 보내고, 스위치가 일반적 질의 메시지를 수신하고 또한 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에게 일반적 질의 메시지를 보낸다. 일반적 질의 메시지를 수신할 때, 멀티캐스트 그룹 멤버는 멀티캐스트 그룹 멤버가 가입한 각각의 멀티캐스트 그룹으로부터 질의 응답 메시지를 발생하고 또한 발생된 질의 응답 메시지를 스위치에게 보내고, 스위치는 질의 응답 메시지를 컨트롤러에게 보낸다. 질의 응답 메시지를 수신할 때, 컨트롤러는 질의 응답 메시지를 처리하여, 멀티캐스트 그룹 멤버가 변했는지를 결정함으로써, 멀티캐스트 그룹에서의 멀티캐스트 그룹 멤버를 유지하도록 한다.
컨트롤러는 주기적으로 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 일반적 질의 메시지를 보내고, 멀티캐스트 그룹이 상대적으로 많은 양의 멀티캐스트 그룹 멤버들을 포함할 때, 컨트롤러는 주기적으로 상대적으로 많은 양의 질의 응답 메시지를 수신한다. 그러므로, 컨트롤러의 부하는 증가되고, 컨트롤러의 처리 효율성은 감소된다.
종래 기술의 문제를 해결하기 위해, 본 발명의 실시예들은 멀티캐스트 그룹 멤버를 유지하기 위한 방법 및 장치를 제공한다. 기술적 해결책들은 다음과 같다.
제1 양태에 따라, 멀티캐스트 그룹 멤버를 유지하기 위한 방법이 제공되며, 여기서 방법은 다음을 포함한다:
미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하는 단계;
현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계; 및
현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계.
제1 양태에 관하여, 제1 양태의 제1 가능한 구현 방식에서, 현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계는 다음을 포함한다:
플로 엔트리 질의 메시지를 스위치에게 보내는 단계 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달하여, 스위치가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 하는 단계; 및
스위치에 의해 보내지는 질의 응답 카운트 값을 수신하고, 및 수신된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 결정하는 단계.
제1 양태 또는 제1 양태의 제1 가능한 구현 방식에 관하여, 제1 양태의 제2 가능한 구현 방식에서, 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계는 다음을 포함한다:
멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하는 단계;
현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하는 단계; 및
차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계.
제1 양태의 제2 가능한 구현 방식에 관하여, 제1 양태의 제3 가능한 구현 방식에서, 차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계는 다음을 포함한다:
차이가 미리 설정된 질의 응답 카운트 값 증분 미만이면, 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정하고; 및
비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하는 단계.
제1 양태의 제3 가능한 구현 방식에 관하여, 제1 양태의 제4 가능한 구현 방식에서, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하는 단계는 다음을 포함한다:
삭제 메시지를 스위치에게 보내어 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하는 단계;
질의 메시지를 스위치에게 보내어- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하는 단계;
스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하는 단계 - 여기서 적어도 하나의 제2 질의 응답은 적어도 하나의 제1 질의 응답을 별도로 캡슐화함으로써 획득되고, 적어도 하나의 제1 질의 응답이 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 질의 메시지에 따라 보내지고, 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응관계로부터 대응하는 포트 번호를 획득하는 단계; 및
획득된 포트 번호와 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호를 비교하여, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하는 단계.
제1 양태, 제1 양태의 제1 가능한 구현 방식, 제1 양태의 제2 가능한 구현 방식, 제1 양태의 제3 가능한 구현 방식, 또는 제1 양태의 제4 가능한 구현 방식에 관하여, 제1 양태의 제5 가능한 구현 방식에서, 방법은 다음을 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계- 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 - ;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하는 단계; 및
플로 엔트리를 스위치에게 보내어, 스위치가 대응하는 플로 테이블에 플로 엔트리를 저장하도록 하는 단계.
제2 양태에 따라, 멀티캐스트 그룹 멤버를 유지하기 위한 방법이 제공되는데, 여기서 방법은 다음을 포함한다:
미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하고, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내는 단계;
멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하는 단계 - 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함-;
저장된 플로 테이블이 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 제1 질의 응답을 폐기하고, 및 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득하는 단계; 및
현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내어, 컨트롤러가 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계.
제2 양태에 관하여, 제2 양태의 제1의 가능한 구현 방식에 있어서, 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내는 것은 다음을 포함한다:
컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하는 것 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함-;
타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 저장된 플로 테이블로부터 대응 질의 응답 카운트 값을 획득하는 것; 및
획득된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내는 단계.
제2 양태 또는 제2 양태의 제1 가능한 구현 방식에 관하여, 제2 양태의 제2 가능한 구현 방식에서, 컨트롤러에게 현재 주기 질의 응답들의 카운트 값을 보낸 후에, 방법은 다음을 추가로 포함한다:
컨트롤러가 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정할 때, 컨트롤러에 의해 보내지는 삭제 메시지를 수신하고 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함-, 및 멀티캐스트 그룹 어드레스에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
컨트롤러에 의해 보내지는 질의 메시지가 수신될 때, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내는 단계- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 적어도 하나의 제1 질의 응답을 수신하는 단계- 여기서 적어도 하나의 제1 질의 응답 각각은 멀티캐스트 그룹 어드레스를 전달함-;
적어도 하나의 제1 질의 응답을 별도로 캡슐화하여, 적어도 하나의 제2 질의 응답을 취득하는 단계 - 여기서 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 전달함-; 및
적어도 하나의 제2 질의 응답을 컨트롤러에게 보내어, 컨트롤러가 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하도록 하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하는 단계.
제2 양태, 제2 양태의 제1 가능한 구현 방식, 제2 양태의 제2 가능한 구현 방식에 관하여, 제2 양태의 제3 가능한 구현 방식에서, 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하기 전에, 방법은 추가로 다음을 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계 - 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하는 단계 - 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
제2 멀티캐스트 가입 메시지를 컨트롤러에게 보내어, 컨트롤러가 제2 멀티캐스트 가입 메시지에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 하는 단계; 및
컨트롤러에 의해 보내지는 플로 엔트리를 수신하고, 및 플로 테이블에 플로 엔트리를 저장하는 단계.
제2 양태, 제2 양태의 제1 가능한 구현 방식, 제2 양태의 제2 가능한 구현 방식, 또는 제2 양태의 제3 가능한 구현 방식에 관하여, 제2 양태의 제4 가능한 구현 방식에 있어서, 방법은 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하는 단계 - 상기 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하는 단계 -여기서 제2 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -; 및
제2 멀티캐스트 탈퇴 메시지를 컨트롤러에게 보내어, 컨트롤러가 멀티캐스트 경로로부터 포트 번호를 삭제하도록 하는 단계.
제3 양태에 따라, 멀티캐스트 그룹 멤버를 유지하기 위한 장치가 제공되는데, 여기서 장치는 다음을 포함한다:
미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 구성되는 제1 송신 모듈;
현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하도록 구성되는 획득 모듈; 및
현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 구성되는 유지 모듈.
제3 양태에 관하여, 제3 양태의 제1 가능한 구현 방식에서, 획득 모듈은 다음을 포함한다:
플로 엔트리 질의 메시지를 스위치에게 보내도록 구성되는 제1 송신 유닛 - 여기서 플로 엔트리 질의 메시지가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달하여, 스위치가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 함-; 및
스위치에 의해 보내지는 질의 응답 카운트 값을 수신하고, 및 수신된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 결정하도록 구성되는 제1 수신 유닛.
제3 양태 또는 제3 양태의 제1 가능한 구현 방식에 관하여, 제3 양태의 제2 가능한 구현 방식에서, 유지 모듈은 다음을 포함한다:
멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하도록 구성되는 제1 획득 유닛;
현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하도록 구성되는 계산 유닛; 및
차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 구성되는 유지 유닛.
제3 양태의 제2 가능한 구현 방식에 관하여, 제3 양태의 제3 가능한 구현 방식에 있어서, 유지 유닛은 다음을 포함한다:
차이가 미리 설정된 질의 응답 카운트 값 증분 미만이면, 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정하도록 구성되는 결정 하위 유닛; 및
비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하도록 구성되는 삭제 하위 유닛.
상기 제3 양태의 상기 제3 가능한 구현 방식에 관하여, 제3 양태의 제4 가능한 구현 방식에서,
상기 삭제 유닛은:
삭제 메시지를 스위치에게 보내어 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하고;
질의 메시지를 스위치에게 보내어- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하고;
스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하고 - 여기서 적어도 하나의 제2 질의 응답은 적어도 하나의 제1 질의 응답을 별도로 캡슐화함으로써 획득되고, 적어도 하나의 제1 질의 응답이 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 질의 메시지에 따라 보내지고, 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응관계로부터 대응하는 포트 번호를 획득하고; 및
획득된 포트 번호와 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호를 비교하여, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하도록 구성된다.
제3 양태 또는 제3 양태의 제1의 가능한 구현 방식, 제3 양태의 제2의 가능한 구현 방식, 제3 양태의 제3의 가능한 구현 방식, 제3 양태의 제4의 가능한 구현 방식과 관련하여, 제3 양태의 제5의 가능한 구현 방식에 있어서, 장치는 다음을 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하도록 구성되는 제1 수신 모듈- 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 - ;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 구성되는 생성 모듈; 및
플로 엔트리를 스위치에게 보내어, 스위치가 대응하는 플로 테이블에 플로 엔트리를 저장하도록 구성되는 제2 송신 모듈.
제4 양태에 따라, 멀티캐스트 그룹 멤버를 유지하기 위한 장치는 제공되며, 여기서 장치는 다음을 포함한다:
미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하고, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 구성되는 제2 수신 모듈;
멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하도록 구성되는 제3 수신 모듈 - 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함-;
저장된 플로 테이블이 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 제1 질의 응답을 폐기하고, 및 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득하도록 구성되는 폐기 모듈; 및
현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내어, 컨트롤러가 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 구성되는 제3 송신 모듈.
상기 제4 양태에 관하여, 제4 양태의 제1 가능한 구현 방식에 있어서, 제3 송신 모듈은:
컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하도록 구성되는 제2 수신 유닛 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함-;
타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 저장된 플로 테이블로부터 대응 질의 응답 카운트 값을 획득하도록 구성되는 제2 획득 유닛; 및
획득된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내도록 구성되는 제2 송신 유닛.
제4 양태 또는 제4 양태의 제1 가능한 구현 방식에 관하여, 제4 양태의 제2 가능한 구현 방식에 있어서, 장치는 하기를 더 포함한다:
컨트롤러가 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정할 때, 컨트롤러에 의해 보내지는 삭제 메시지를 수신하고 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함-, 및 멀티캐스트 그룹 어드레스에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하도록 구성되는 제1 삭제 모듈;
컨트롤러에 의해 보내지는 질의 메시지가 수신될 때, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 구성되는 제4 송신 모듈- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 적어도 하나의 제1 질의 응답을 수신하도록 구성되는 제4 수신 모듈- 여기서 적어도 하나의 제1 질의 응답 각각은 멀티캐스트 그룹 어드레스를 전달함-;
적어도 하나의 제1 질의 응답을 별도로 캡슐화하여, 적어도 하나의 제2 질의 응답을 취득하도록 구성되는 제1 캡슐화 모듈 - 여기서 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 전달함-; 및
적어도 하나의 제2 질의 응답을 컨트롤러에게 보내어, 컨트롤러가 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하도록 하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하도록 구성되는 제5 송신 모듈.
제4 양태, 제4 양태의 제1의 가능한 구현 방식, 또는 제4 양태의 제2의 가능한 구현 방식에 관하여, 제4 양태의 제3의 가능한 구현 방식에 있어서, 장치는 하기를 더 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하도록 구성되는 제5 수신 모듈 - 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하도록 구성되는 제2 캡슐화 모듈 - 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
제2 멀티캐스트 가입 메시지를 컨트롤러에게 보내어, 컨트롤러가 제2 멀티캐스트 가입 메시지에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 구성되는 제6 송신 모듈; 및
컨트롤러에 의해 보내지는 플로 엔트리를 수신하고, 및 플로 테이블에 플로 엔트리를 저장하도록 구성되는 저장 모듈.
제4 양태, 제4 양태의 제1의 가능한 구현 방식, 제4 양태의 제2의 가능한 구현 방식, 또는 제4 양태의 제3의 가능한 구현 방식에 관하여, 제4 양태의 제4 가능한 구현 방식에 있어서, 장치는 하기를 더 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하도록 구성되는 제6 수신 모듈 - 상기 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하도록 구성되는 제2 삭제 모듈;
제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하도록 구성되는 제3 캡슐화 모듈 -여기서 제2 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -; 및
제2 멀티캐스트 탈퇴 메시지를 컨트롤러에게 보내어, 컨트롤러가 멀티캐스트 경로로부터 포트 번호를 삭제하도록 구성되는 제7 송신 모듈.
본 발명의 실시예들에서 제공되는 기술적 해결책들은 하기 유리한 효과들을 가져온다.
본 발명의 실시예들에서, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러는 질의 메시지를 스위치로 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라, 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상당히 많은 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멤버가 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 직접적으로 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 이용하여 결정이 신속하게 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 향상시킨다. 멀티캐스트 그룹 멤버가 변할 때, 결정이 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고, 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있을 뿐이고, 이는 컨트롤러의 부하를 줄인다.
본 발명의 실시예들에서의 기술적 해결책들을 더 명확히 설명하기 위해, 아래에서는 실시예들을 설명하는 데 필요한 첨부 도면들이 간단히 설명된다. 분명히, 이하 설명에서의 첨부 도면들은 본 발명의 몇몇 실시예들일 뿐이며, 본 기술분야의 통상의 기술자는 창의적 노력 없이도 이들 첨부 도면들로부터 다른 도면들을 여전히 도출해낼 수 있다.
도 1은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 시스템의 아키텍처 다이어그램이다;
도 2는 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 방법의 흐름도이다;
도 3은 본 발명의 실시예에 따른 멀티캐스트 그룹 멤버를 유지하기 위한 또 다른 방법의 흐름도이다;
도 4는 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 또 다른 방법의 흐름도이다;
도 5는 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 장치의 도식적 구조도이다;
도 6은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 또 다른 장치의 도식적 구조도이다;
도 7은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 또 다른 장치의 도식적 구조도이다; 및
도 8은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 또 다른 장치의 도식적 구조도이다.
본 발명의 목적들, 기술적 해결책들 및 장점들을 더 명료하게 하기 위해, 아래에서는 첨부 도면들을 참조하여 본 발명의 실시예들이 상세하게 더 설명된다.
도 1은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 시스템의 아키텍처 다이어그램이다. 멀티캐스트 그룹 멤버를 유지하기 위한 시스템은 컨트롤러, 스위치, 및 호스트를 포함한다. 다중 호스트가 하나의 스위치에 연결될 수 있고, 다중 호스트는 모두 하나의 멀티캐스트 그룹에 가입할 수 있고, 하나의 호스트는 동시에 다중 멀티캐스트 그룹에 가입할 수 있고, 멀티캐스트 그룹에 가입하는 호스트는 다중 멀티캐스트 그룹 멤버로서 지칭될 수 있다. 컨트롤러는 질의 메시지를 스위치에게 질의 메시지를 보낼 수 있고, 스위치는 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 질의 메시지를 보낸다. 스위치는 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하고, 및 제1 질의 응답을 캡슐화하여 제2 질의 응답을 취득한다. 컨트롤러는, 제2 질의 응답에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지를 결정하여, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하게 된다. 본 발명의 이 실시예에서, 플로 테이블이 스위치에서 유지되고, 플로 테이블은 적어도 멀티캐스트 그룹 어드레스와 포트 번호 사이의 대응 관계 및 멀티캐스트 그룹 어드레스와 질의 응답 카운트 값 사이의 대응 관계를 포함한다. 스위치가 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때 - 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함 -, 스위치는 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득한다. 스위치에 의해 유지되는 플로 테이블이 멀티캐스트 그룹 어드레스와 획득된 포트 번호 사이의 대응 관계를 포함하면, 스위치는 제2 질의 응답을 컨트롤러에게 보내지 않고, 멀티캐스트 그룹 어드레스에 대응하는 질의 응답 카운트 값을 증가시켜서 현재 주기 질의 응답들의 카운트 값을 획득한다. 컨트롤러는, 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 멀티캐스트 그룹 멤버를 유지하는 특정 구현 수순에 관해, 상세 사항에 대해서는 하기 실시예들을 참조하라.
도 2는 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 방법의 흐름도이다; 도 2를 참조하면, 방법은 다음을 포함한다:
단계 201: 미리 설정된 주기 간격으로 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다.
단계 202: 현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득한다.
단계 203: 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지한다.
선택 사항으로, 현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계는 다음을 포함한다:
플로 엔트리 질의 메시지를 스위치에게 보내는 단계 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달하여 스위치가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 하는 단계; 및
스위치에 의해 보내지는 질의 응답 카운트 값을 수신하고, 및 현재 주기 질의 응답들의 카운트 값으로서 수신된 질의 응답 카운트 값을 결정하는 단계.
선택 사항으로, 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계는 다음을 포함한다:
멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하는 단계;
현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하는 단계; 및
차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계.
선택 사항으로, 차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계는:
차이가 미리 설정된 질의 응답 카운트 값 증분 미만이면, 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정하는 단계; 및
비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하는 단계.
선택 사항으로, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하는 단계는 다음을 포함한다:
스위치에게 삭제 메시지를 보내어 -여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하는 단계;
스위치에게 질의 메시지를 보내어 - 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하는 단계;
스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하는 단계 - 여기서 적어도 하나의 제2 질의 응답이 적어도 하나의 제1 질의 응답을 별도로 캡슐화하여 취득되고, 적어도 하나의 제1 질의 응답은 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 질의 메시지에 따라 보내지고, 및 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함-;
멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 사이의 저장된 대응 관계로부터 대응하는 포트 번호를 획득하는 단계; 및
획득된 포트 번호를 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호와 비교하여 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하는 단계.
또한, 방법은 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계 - 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하는 단계; 및
플로 엔트리를 스위치에게 보내어, 스위치가 플로 엔트리를 대응하는 플로 테이블에 저장하도록 하는 단계.
본 발명의 이 실시예에서는, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러가 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상대적으로 큰 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는, 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 결정은 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 직접적으로 이용하여 신속히 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 개선할 수 있다. 멀티캐스트 그룹 멤버가 변할 때, 결정은 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고; 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있고, 이는 또한 컨트롤러의 부하를 줄인다.
도 3은 본 발명의 일 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 방법의 흐름도이다. 도 3을 참조하면, 방법은 다음을 포함한다:
단계 301: 미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하며, 및 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보낸다.
단계 302: 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하는데, 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달한다.
단계 303: 저장된 플로 테이블이 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 제1 질의 메시지를 폐기하고, 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득한다.
단계 304: 컨트롤러가, 이전 주기 질의 응답들의 카운트 값을 현재 주기 질의 응답들 및 카운트 값에게 주, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록, 현재 주기 질의 응답들의 카운트 값을 컨트롤러로 보내시오.
선택 사항으로, 컨트롤러에게 현재 주기 질의 응답들의 카운트 값을 보내는 단계는 다음을 포함한다:
컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하는 단계 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함 -;
타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 저장된 플로 테이블로부터 대응하는 질의 응답 카운트 값을 획득하는 단계; 및
획득된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내는 단계
선택 사항으로, 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보낸 후에, 방법은 다음을 추가로 포함한다:
컨트롤러가 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정할 때, 컨트롤러에 의해 보내지는 삭제 메시지를 수신하고 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 -, 및 멀티캐스트 그룹 어드레스에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
컨트롤러에 의해 보내지는 질의 메시지가 수신될 때, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내는 단계- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 적어도 하나의 제1 질의 응답을 수신하는 단계 -여기서 적어도 하나의 제1 질의 응답 각각은 멀티캐스트 그룹 어드레스를 전달함-;
적어도 하나의 제1 질의 응답을 개별적으로 캡슐화하여, 적어도 하나의 제2 질의 응답을 취득하는 단계- 여기서 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 전달함-; 및
적어도 하나의 제2 질의 응답을 컨트롤러에게 보내어, 컨트롤러가 비정상적으로 탈퇴한 멀티캐스트 그룹 멤보에 대응하는 포트 번호를 취득하도록 하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하는 단계.
선택 사항으로, 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하기 전에, 방법은 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계 - 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하는 단꼐 - 여기서 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함-;
제2 멀티캐스트 가입 메시지를 컨트롤러에 보내어, 컨트롤러가 제2 멀티캐스트 가입 메시지에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 하는 단계; 및
컨트롤러에 의해 보내지는 플로 엔트리를 수신하고, 및 플로 엔트리를 플로 테이블에 저장하는 단계.
또한, 방법은 다음을 추가로 포함한다:
멀티캐스트 그룹 어드레스에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하는 단계 - 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 획득하는 단계 - 여기서 제2 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함-; 및
제2 멀티캐스트 탈퇴 메시지를 컨트롤러에게 보내어, 컨트롤러가 멀티캐스트 경로로부터 포트 번호를 삭제하도록 하는 단계.
본 발명의 이 실시예에서는, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러가 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라, 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상대적으로 큰 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는, 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 결정은 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 직접적으로 이용하여 신속히 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 개선할 수 있다. 멀티캐스트 그룹 멤버가 변할 때, 결정은 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고; 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있고, 이는 또한 컨트롤러의 부하를 줄인다.
도 4는 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 방법의 흐름도이다; 도 4를 참조하면, 방법은 다음을 포함한다:
단계 401: 멀티캐스트 그룹 멤버가 제1 멀티캐스트 가입 메시지를 스위치에게 보내는데, 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달한다.
호스트가 멀티캐스트 그룹에 가입할 때, 호스트는 멀티캐스트 그룹 멤버로서 지칭될 수 있다. 멀티캐스트 그룹 멤버는 제1 멀티캐스트 가입 메시지를 스위치에게 보내는데, 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 가입 데이터 패킷의 형태로 보내질 수 있거나, 또는 확실히 제1 멀티캐스트 가입 메시지는 또 다른 형태로 보내질 수 있고, 이는 본 발명에서 특정적으로 제한되지 않는다.
멀티캐스트 그룹이 멀티캐스트 소스 및 멀티캐스트 수신기를 포함한다는 것을 유의해야 한다. 본 발명의 이 실시예에서는, 멀티캐스트 수신기는 멀티캐스트 그룹 멤버이고, 멀티캐스트 소스는 컨트롤러에 연결되어, 컨트롤러가 멀티캐스트 소스에 의해 보내지는 데이터 스트림을 포워딩하도록 하며, 및 멀티캐스트 그룹 어드레스는 멀티캐스트 소스의 어드레스이다. 멀티캐스트 소스가 본 발명과 연루되지 않기 때문에, 멀티캐스트 소스는 본 발명의 이 실시예에서 보여지지 않는다.
단계 402: 스위치는 제1 멀티캐스트 가입 메시지를 수신하고, 제1 멀티캐스트 가입 메시지를 캡슐화하여, 제2 멀티캐스트 가입 메시지를 획득하고, 및 제2 멀티캐스트 가입 메시지를 컨트롤러에게 보내는데, 여기서 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달한다.
구체적으로, 스위치는 제1 멀티캐스트 가입 메시지를 수신하고, 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득한다. 제1 멀티캐스트 가입 메시지는 캡슐화되어 제2 멀티캐스트 가입 메시지를 취득하고, 여기서 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 획득된 포트 번호를 전달한다. 스위치는 제2 멀티캐스트 가입 메시지를 컨트롤러에게 보낸다.
스위치는 OpenFlow 네트워크 프로토콜에 따라서 멀티캐스트 가입 데이터 패킷을 캡슐화할 수 있는데, 여기서 OpenFlow 네트워크 프로토콜은 SDN을 구현하기 위한 프로토콜이다.
제1 멀티캐스트 가입 메시지가 멀티캐스트 가입 데이터 패킷의 형태로 보내질 때, 컨트롤러가 멀티캐스트 가입 데이터 패킷을 식별할 수 있게 하기 위해, 스위치는 추가로 OpenFlow 네트워크 프로토콜에 따라 멀티캐스트 가입 데이터 패킷을 캡슐화할 필요가 있고, 및 캡슐화된 멀티캐스트 가입 데이터 패킷을 컨트롤러에게 보낸다.
멀티캐스트 그룹 멤버에 대응하는 포트 번호는, 이를 이용함으로써 멀티캐스트 그룹 멤버가 스위치에 연결되는 포트의 포트 번호이다.
단계 403: 컨트롤러는 제2 멀티캐스트 가입 메시지를 수신하고, 멀티캐스트 그룹 어드레스 및 제2 멀티캐스트 가입 메시지에 의해 전달되는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하고, 이 플로 엔트리를 스위치에게 보낸다.
적어도 하나의 플로 엔트리는 플로 테이블을 형성할 수 있고, 각각의 플로 엔트리는 포워딩 규칙이다. 컨트롤러가 멀티캐스트 그룹 멤버를 위한 대응하는 플로 엔트리를 생성하여, 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는 멀티캐스트 그룹 멤버에 대응하는 플로 엔트리에 대해 질의하여 제1 질의 응답의 포워딩 규칙을 결정하게 된다.
본 발명의 이 실시예에서는, 스위치가 하나의 플로 테이블 또는 두 개의 플로 테이블을 유지할 수 있다. 스위치가 두 개의 플로 테이블을 유지할 때, 두 개의 플로 테이블은 제1 플로 테이블 및 제2 플로 테이블이다. 제1 플로 테이블은 적어도 하나의 제1 플로 엔트리를 포함하고, 제1 플로 엔트리는 적어도 멀티캐스트 그룹 어드레스, 포트 번호, 및 실행될 동작을 포함하는데, 여기서 포트 번호는 이를 이용함으로써 멀티캐스트 그룹 멤버가 스위치에 연결되는 포트의 번호이고, 실행될 동작은 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 대해 실행될 필요가 있는 동작이다. 제2 플로 테이블은 적어도 하나의 제2 플로 엔트리를 포함하고, 제2 플로 엔트리는 적어도 멀티캐스트 그룹 어드레스, 질의 응답 카운트 값, 및 실행될 동작을 포함한다. 멀티캐스트 그룹 어드레스 및 제2 멀티캐스트 가입 메시지에 의해 전달되는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대해 컨트롤러에 의해 생성되는 플로 엔트리는 제1 플로 엔트리이다.
본 발명의 이 실시예에서는, 멀티캐스트 그룹 어드레스는 IP(Internet Protocol) 어드레스이거나, 또는 MAC(Media Access Control) 어드레스일 수 있다. 본 발명의 이 실시예에서는 멀티캐스트 그룹 어드레스가 IP 어드레스인 예를 이용하여 제공된다.
예를 들어, 제2 멀티캐스트 가입 메시지에 의해 전달되는 멀티캐스트 그룹 어드레스는 225.1.1.1 이고, 포트 번호는 5이다. 이러한 경우에, 멀티캐스트 그룹 어드레스 225.1.1.1 및 포트 번호 5에 따라 멀티캐스트 그룹 멤버에 대해 컨트롤러에 의해 생성되는 플로 엔트리는 하기 표 1에 도시된 제1 플로 엔트리일 수 있다. 제1 플로 엔트리는 멀티캐스트 그룹 어드레스 225.1.1.1 및 포트 번호 5를 포함할 뿐만이 아니라, 실행될 동작도 포함한다. 실행될 동작은 제2 플로 테이블로 바뀌고 있다.
멀티캐스트 그룹 어드레스 포트 번호 실행될 동작
225.1.1 5 제2 플로 테이블로 바뀜
본 발명의 이 실시예에서는 제1 플로 엔트리가 멀티캐스트 그룹 어드레스, 포트 번호, 및 실행될 동작을 포함하는 예만을 이용하여 제공된다는 것을 유의해야 한다. 실제 응용에서, 제1 플로 엔트리는 다른 정보를 추가로 포함할 수 있다.
단계 404: 스위치는 플로 엔트리를 수신하고, 및 플로 엔트리를 대응하는 플로 테이블에 저장한다.
멀티캐스트 그룹 멤버에 대해 컨트롤러에 의해 생성되는 플로 엔트리가 제1 플로 엔트리이기 때문에, 스위치에 의해 수신되는 플로 엔트리는 제1 플로 엔트리이고, 스위치가 제1 플로 엔트리를 수신할 때, 스위치는 플로 엔트리를 제1 플로 테이블에 저장한다.
예를 들어, 제1 플로 테이블은 하기 표 2에 보여지며, 여기서 플로 테이블은 다중의 제1 플로 엔트리를 포함하고, 멀티캐스트 그룹 멤버에 대응하는 수신된 제1 플로 엔트리는 하기 표 2에서 보여지는 제1 플로 테이블에 저장될 수 있다.
멀티캐스트 그룹 어드레스 포트 번호 실행될 동작
225.1.1.1 3 제2 플로 테이블로 바뀜
225.1.0.6 5 제2 플로 테이블로 바뀜
225.1.1.1 5 제2 플로 테이블로 바뀜
멀티캐스트 그룹 멤버는 단계 401 내지 단계 404에 따라 멀티캐스트 그룹에 가입한다. 컨트롤러는 멀티캐스트 그룹 멤버에 대해 대응하는 플로 엔트리를 생성한다. 컨트롤러가 플로 엔트리를 스위치에 저장한 후, 스위치는 멀티캐스트 그룹 멤버에 대응하는 플로 엔트리를 유지할 수 있고, 및 멀티캐스트 그룹 멤버에 대응하는 플로 엔트리에 따라, 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 대한 대응하는 동작을 수행한다. 컨트롤러에 의해, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 것은 하기 단계 405 내지 단계 412에 따라 구현될 수 있다.
단계 405: 컨트롤러는 미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보낸다.
컨트롤러는, 미리 설정된 주기 간격들로, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하고, 및 컨트롤러는 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지한다. 그러므로, 컨트롤러는 미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보낼 필요가 있다.
또한, 컨트롤러가 적어도 하나의 스위치에 연결될 수 있고, 및 각각의 스위치는 추가로 적어도 하나의 멀티캐스트 그룹 멤버에 연결될 수 있어서, 스위치에 연결되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내기 때문에, 컨트롤러는 질의 메시지에 목적지 어드레스를 더할 수 있으며, 여기서 목적지 어드레스는 예약된 어드레스이다.
예약된 어드레스는 특별 어드레스이고, 예약된 어드레스는 네트워크 측에 의해 할당되지 않는다. 그러므로, 예약된 어드레스를 전달하는 질의 메시지를 수신할 때, 스위치는 스위치에 의해 포함되는 각각의 포트에 연결되는 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 지시받을 수 있다.
질의 메시지는 질의 데이터 패킷의 형태로 보내질 수 있거나, 또는 또 다른 형태로 보내질 수 있고, 이는 본 발명에서 특정적으로 제한되지 않는다.
단계 406: 스위치는 질의 메시지를 수신하고, 및 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보낸다.
질의 메시지를 수신할 때, 스위치는 질의 메시지에 의해 전달되는 목적지 어드레스가 예약된 어드레스인 것을 결정한다. 임의의 멀티캐스트 그룹 멤버가 스위치의 포트에 연결되는지 여부에 관계 없이, 질의 메시지는 스위치의 각각의 포트에 보내져서, 스위치가 질의 메시지를 전달하도록 한다.
질의 메시지가, 멀티캐스트 그룹 멤버가 질의 데이터 패킷을 식별할 수 있게 하기 위해, 질의 데이터 패킷의 형태로 보내질 때, 스위치는 추가로 OpenFlow 네트워크 프로토콜에 따라 질의 데이터 패킷을 캡슐화할 필요가 있고, 및 캡슐화된 질의 데이터 패킷을 멀티캐스트 그룹 멤버에게 보낸다.
단계 407: 질의 메시지를 수신할 때, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버는 제1 질의 응답을 스위치로 보내며, 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달한다.
구체적으로, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 질의 메시지를 수신할 때, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버는 질의 메시지에 따라 대응하는 제1 질의 응답을 발생하고, 및 제1 질의 응답을 스위치에게 보내며, 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달한다.
멀티캐스트 그룹은 적어도 하나의 멀티캐스트 그룹 멤버를 포함한다. 그러므로, 스위치는 또한 적어도 하나의 제1 질의 응답을 수신할 수 있다.
단계 408: 저장된 플로 테이블이 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 대응하는 플로 엔트리를 포함하면, 제1 질의 응답을 폐기하고, 대응하는 질의 응답 카운트 값을 증가시킨다.
구체적으로, 스위치가 질의 응답을 수신할 때, 스위치는 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 멤버 및 획득된 포트 번호를, 저장된 제1 플로 테이블에 포함되는 각각의 제1 플로 엔트리에 있는 멀티캐스트 그룹 어드레스 및 포트 번호와 비교한다; 저장된 제1 플로 테이블이 멀티캐스트 그룹 어드레스 및 포트 번호에 대응하는 제1 플로 엔트리를 포함하면, 스위치는, 제1 플로 테이블로부터, 멀티캐스트 그룹 어드레스 및 포트 번호 양쪽에 대응하는 실행될 동작을 획득하고, 실행될 동작에 따라 제2 플로 테이블에 질의하는 것으로 바뀐다. 멀티캐스트 그룹 어드레스에 따라 제2 플로 테이블로부터 발견되는 대응하는 실행될 동작이 폐기 동작이면, 제1 질의 응답은 폐기된다. 대응하는 질의 응답 카운트 값은 제2 플로 테이블에 포함되는 제2 플로 엔트리로부터 멀티캐스트 그룹 어드레스에 따라, 발견되고, 발견된 질의 응답 카운트 값은 증가된다.
각각의 멀티캐스트 그룹 멤버는 스위치의 포트에 개별적으로 연결된다. 그러므로, 스위치가 제1 질의 응답을 수신할 때, 스위치는 이를 이용함으로써 멀티캐스트 그룹 멤버가 스위치에 연결되는 포트의 번호를 획득할 수 있고, 및 획득된 포트 번호를 멀티캐스트 그룹 멤버에 대응하는 포트 번호로서 결정한다.
본 발명의 이 실시예에서, 저장된 제1 플로 테이블이 멀티캐스트 그룹 어드레스 및 포트 번호에 대응하는 제1 플로 엔트리를 포함할 때, 제1 질의 응답은 직접적으로 폐기될 수 있거나, 또는 제1 질의 응답은 후속 사용을 위해, 일시적으로 저장될 수 있다. 즉, 제2 플로 테이블에서의 멀티캐스트 그룹 어드레스에 대응하는 실행될 동작은 일시적 저장 동작일 수 있다.
발견된 질의 응답 카운트 값을 증가시키는 특정 동작은 발견된 질의 응답 카운트 값을 1만큼 증가시키는 것일 수 있다.
저장된 제1 플로 테이블이 멀티캐스트 그룹 어드레스 및 포트 번호에 대응하는 제1 플로 엔트리를 포함할 때, 포트 번호, 멀티캐스트 그룹 멤버가 이미 멀티캐스트 그룹에 가입했다는 것이 결정된다는 것을 유의해야 한다. 컨트롤러의 부하를 줄이기 위해, 제1 질의 응답은 컨트롤러에 보내지지 않지만, 스위치에서의 멀티캐스트 그룹 어드레스에 대응하는 질의 응답 카운트 값은 증가된다.
본 발명의 이 실시예에서는 제2 플로 엔트리가 멀티캐스트 그룹 어드레스, 질의 응답 카운트 값, 및 실행될 동작을 포함하는 예만을 이용하여 제공되는 것을 유의해야 한다. 실제 응용에서, 제2 플로 엔트리는 다른 정보를 추가로 포함할 수 있다.
예를 들어, 멀티캐스트 그룹 어드레스는 225.1.1.1이고, 포트 번호는 5이고, 스위치는 멀티캐스트 그룹 어드레스 225.1.1.1 및 포트 번호 5를 상기 표 2에서 각각의 제1 플로 엔트리에 포함되는 멀티캐스트 그룹 어드레스 및 포트 번호와 비교하고, 멀티캐스트 그룹 어드레스 225.1.1.1 및 포트 번호 5가 상기 표 2에 보여진 제1 플로 테이블이 존재한다는 것을 결정하고, 멀티캐스트 그룹225.1.1.1 및 포트 번호 5양쪽에 대응하는 실행될 동작이 제2 플로 테이블로 바뀌고 있는 것을 획득한다. 표 3에 보여진 제2 플로 테이블로부터 멀티캐스트 그룹 어드레스 225.1.1.1에 따라, 획득되는 대응하는 실행될 동작은 폐기 동작이다. 이러한 경우에, 제1 질의 응답은 폐기된다.
멀티캐스트 그룹 어드레스 질의 응답 카운트 값 실행될 동작
225.1.0.6 5 폐기
225.1.1.1 5 폐기
225.1.1.2 4 폐기
또한, 제1 질의 응답이 폐기된 후, 대응하는 질의 응답 카운트 값 5는 멀티캐스트 그룹 어드레스 225.1.1.1에 따라 상기 표 2에서 발견되고, 발견된 질의 응답 카운트 값 5는 1만큼 증가되어, 질의 응답 카운트 값 6을 획득하게 된다. 이러한 경우에, 상기 표 3은 하기 표 4와 같이 된다.
멀티캐스트 그룹 어드레스 질의 응답 카운트 값 실행될 동작
225.1.0.6 5 폐기
225.1.1.1 6 폐기
225.1.1.2 4 폐기
스위치가 적어도 하나의 제1 질의 응답을 수신할 수 있기 때문에, 각각의 제1 질의 응답에 대해, 스위치는 단계 408에서 방법을 수행할 수 있다.
단계 409: 컨트롤러가 현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득할 때, 컨트롤러는 플로 엔트리 질의 메시지를 스위치에게 보내며, 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달한다.
컨트롤러가 스위치를 이용하여 질의 메시지를 멀티캐스트 그룹 멤버에게 보낸 후, 각각의 멀티캐스트 그룹 멤버가 질의 메시지를 수신하고 및 질의 메시지에 대응하는 제1 질의 응답을 스위치에게 보내는 것은 시간 기간이 걸리고, 및 스위치가 제1 질의 응답을 처리하는 것도 시간 기간이 걸린다. 그러므로, 질의 메시지를 스위치에게 보낸 후, 컨트롤러는 타이밍을 시작한다. 타이밍 지속 시간이 미리 설정된 시간 기간에 도달할 때, 컨트롤러는 플로 엔트리 질의 메시지를 스위치에게 보내어, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하게 된다.
미리 설정된 시간 기간은 사전에 컨트롤러에 의해 설정되고, 및 미리 설정된 시간 기간에서 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버는 제1 질의 응답을 스위치에게 보내는 것을 완성할 수 있고, 스위치는 또한 제1 질의 응답의 처리를 완성할 수 있다.
타깃 플로 테이블 식별자가 플로 테이블을 고유하게 식별하는데 사용되고, 타깃 플로 테이블 식별자는 플로 테이블의 명칭일 수 있고, 플로 테이블 또는 그와 유사한 것에 대해 컨트롤러에 의해 설정되는 시퀀스 번호일 수 있다. 타깃 플로 엔트리 식별자는 플로 엔트리를 고유하게 식별하는데 사용되고, 타깃 플로 엔트리 식별자는 플로 엔트리의 시퀀스 번호일 수 있고, 플로 테이블에서의 플로 엔트리의 위치일 수 있고, 플로 엔트리 또는 그와 유사한 것에 포함되는 멀티캐스트 그룹 어드레스일 수 있다. 고유하게 대응하는 플로 엔트리는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 플로 테이블에서 발견될 수 있다.
단계 410: 스위치는 플로 엔트리 질의 메시지를 수신하고, 및 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 저장된 플로 테이블로부터 대응하는 질의 응답 카운트 값을 획득한다.
본 발명의 이 실시예에서는, 플로 엔트리 질의 메시지가 특정 포맷을 가지며, 및 컨트롤러는 플로 엔트리 질의 메시지의 포맷에 따라 플로 엔트리 질의 메시지를 발생할 수 있다.
예를 들어, 타깃 플로 테이블 식별자는 질의를 필요가 있는 플로 테이블이 제2 플로 테이블인 것을 표시하고, 및 타깃 플로 엔트리 식별자는 플로 엔트리에 포함되는 멀티캐스트 그룹 어드레스 225.1.1.1이고; 스위치는 플로 엔트리 질의 메시지를 수신하고, 멀티캐스트 그룹 어드레스 225.1.1.1에 따라 상기 표 4에서 보여진 플로 테이블로부터 대응하는 질의 응답 카운트 값 6을 획득한다.
단계 411: 스위치는 획득된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로 사용하고, 및 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보낸다.
플로 엔트리 질의 메시지가 스위치가 질의 메시지를 보낸 후 미리 설정된 시간 기간에 보내지기 때문에, 스위치가 플로 엔트리 질의 메시지를 수신할 때, 획득된 질의 응답 카운트 값은 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답이 처리된 후 취득되는 결과이다. 이러한 경우에, 획득된 질의 응답 카운트 값은 현재 주기 질의 응답들의 카운트 값으로서 이용될 수 있고 컨트롤러에게 보내질 수 있다.
단계 412: 컨트롤러는 현재 주기 질의 응답들의 카운트 값을 수신하고, 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들이 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지한다.
구체적으로, 이 단계는 다음을 포함하는 하기 단계 1 내지 4를 이용하여 구현될 수 있다:
(1) 컨트롤러는 현재 주기 질의 응답들의 카운트 값을 수신한다.
(2) 멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득한다.
구체적으로, 컨트롤러는 멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 미리 설정된 질의 응답 카운트 값 증분 사이의 저장된 대응으로부터 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하고, 획득된 미리 설정된 질의 응답 카운트 값 증분을 멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분으로서 결정한다.
미리 설정된 질의 응답 카운트 값 증분은 이전 주기에서 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버들의 실제 양이다. 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버들이 이전 주기에서 변할 때, 미리 설정된 질의 응답 카운트 값 증분도 변한다.
또한, 컨트롤러가 처음으로 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러는 미리 설정된 질의 응답 카운트 값 증분을 0에 설정할 수 있다.
(3) 현재 주기 질의 응답들 및 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산한다.
구체적으로, 이전 주기 질의 응답들의 카운트 값은 현재 주기 질의 응답들의 카운트 값으로부터 감산되어 차이를 획득하게 된다.
멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답이 수신될 때마다, 스위치는 멀티캐스트 그룹에 대응하는 질의 응답 카운트 값을 증가시킨다. 따라서, 질의 응답 카운트 값은 주기들의 양이 증가함에 따라 증가되는데, 즉, 현재 주기 질의 응답들의 카운트 값은 이전 주기 질의 응답들의 카우트 값보다 크거나 같다. 따라서, 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이가 계산될 필요가 있고, 멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값이 획득될 필요가 있고, 및 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지는 차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라 결정된다.
(4) 차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지한다.
구체적으로, 차이는 미리 설정된 질의 응답 카운트 값 증분과 비교되고, 차이가 미리 설정된 질의 응답 카운트 값 증분보다 작으면, 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것이 결정되고; 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 획득되고, 획득된 포트 번호는 멀티캐스트 경로로부터 삭제된다.
양호하게는, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 획득된 후에, 컨트롤러는 스위치를 이용함으로써 획득된 포트 번호에 따라 멀티캐스트 그룹 멤버에게 질의 메시지를 추가로 보낼 수 있다. 멀티캐스트 그룹 멤버가 제1 질의 응답을 반환하지 않았다면, 멀티캐스트 그룹 멤버가 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버라는 것이 결정되고, 및 획득된 포트 번호가 멀티캐스트 경로로부터 삭제되어, 멀티캐스트 데이터 스트림을 멀티캐스트 그룹 멤버에게 포워딩하는 것을 중단하게 된다.
비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하는 특정 동작은 다음과 같을 수 있다: 컨트롤러에 의해, 스위치에게 삭제 메시지를 보내어 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하고; 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제한 후, 컨트롤러에 의해, 질의 메시지를 스위치에게 보내어 -여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함- 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하고; 질의 메시지를 수신할 때, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해, 제1 질의 응답을 스위치에게 보내고; 스위치에 의해, 적어도 하나의 제1 질의 응답을 수신하고, 수신된 적어도 제1 질의 응답을 개별적으로 캡슐화하여 적어도 하나의 제2 질의 응답을 취득하고, 및 컨트롤러에게 적어도 하나의 제2 질의 응답을 보고하고; 컨트롤러에 의해, 스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하고 -여기서 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -; 및 컨트롤러에 의해, 멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 사이의 저장된 대응으로부터, 대응하는 포트 번호를 획득하고; 및 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호와 획득된 포트 번호를 비교하여, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하게 된다.
멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응으로부터 컨트롤러에 의해 획득되는 대응 포트 번호는 적어도 하나의 포트 번호이다. 이러한 경우에, 컨트롤러에 의해, 획득된 포트 번호를 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호와 비교하여 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하기 위한 동작은 다음과 같을 수 있다: 획득된 포트 번호를 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호와 비교하고, 및 획득된 포트 번호로부터 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호를 제외한 포트 번호를 선택하고; 및 선택된 포트 번호를 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호로서 결정한다.
컨트롤러는 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하고, 및 멀티캐스트 데이터가 후속적으로 보내질 때 포트에게 멀티캐스트 데이터를 송신하는 것을 중단한다.
또한, 차이가 미리 설정된 질의 응답 카운트 값 증분과 동일하면, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하지 않았다고 결정되고, 어떤 처리도 수행되지 않으며, 및 동작들은 종료된다.
또한, 본 발명의 이 실시예에서는, 비정상적으로 멀티캐스트 그룹을 떠난 멀티캐스트 그룹 멤버뿐만 아니라 정상적으로 멀티캐스트 그룹을 떠난 멀티캐스트 그룹 멤버도 존재할 수 있다. 멀티캐스트 그룹 멤버가 정상적으로 멀티캐스트 그룹을 떠날 때, 특정 동작은 다음가 같을 수 있다: 멀티캐스트 그룹 멤버에 의해, 제1 멀티캐스트 탈퇴 메시지를 스위치에게 보내고 -여기서 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함-; 스위치에 의해, 제1 멀티캐스트를 탈퇴 메시지를 수신하고, 및 제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하고 -여기서 제2 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -; 스위치에 의해, 멀티캐스트 그룹 어드레스 및 포트 번호에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하고; 및 스위치에 의해, 제2 멀티캐스트 탈퇴 메시지를 컨트롤러에게 보고하여, 컨트롤러가 멀티캐스트 경로로부터 포트 번호를 삭제하도록 한다.
본 발명의 이 실시예에서, 멀티캐스트 그룹 멤버가 멀티캐스트 그룹에 가입할 때, 컨트롤러가 멀티캐스트 그룹 멤버에 대한 대응하는 플로 엔트리를 생성하고, 스위치는 플로 엔트리를 유지한다. 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러는 질의 메시지를 스위치로 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라, 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 주기적으로 상대적으로 큰 양의 질의 응답들을 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 미리 설정된 시간 기간 후에, 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는 카운트 값을 획득할 수 있고, 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 결정은 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 직접적으로 이용하여 신속히 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 개선하게 된다. 멀티캐스트 그룹 멤버가 변할 때, 결정은 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고; 및 컨트롤러는 현재 주기에서의 질의 응답만을 처리할 필요가 있고, 이것은 또한 컨트롤러의 부하를 줄인다.
도 5는 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 장치의 도식적 구조도이다. 도 5를 참조하면, 장치는 다음을 포함한다:
미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 구성되는 제1 송신 모듈(501);
현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하도록 구성되는 획득 모듈(502); 및
현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 구성되는 유지 모듈(503).
선택 사항으로, 획득 모듈(502)은 다음을 포함한다:
플로 엔트리 질의 메시지를 스위치에게 보내어 -여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함 - 스위치가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 구성되는 제1 송신 유닛; 및
스위치에 의해 보내지는 질의 응답 카운트 값을 수신하고, 및 수신된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 결정하도록 구성되는 제1 수신 유닛.
선택 사항으로, 유지 모듈(503)은 다음을 포함한다:
멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하도록 구성되는 제1 취득 유닛;
현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하도록 구성되는 계산 유닛; 및
차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 구성되는 유지 유닛.
선택 사항으로, 유지 유닛은 다음을 포함한다:
차이가 미리 설정된 질의 응답 카운트 값 증분 미만이면, 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정하도록 구성되는 결정 하위 유닛; 및
비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하도록 구성되는 삭제 하위 유닛.
선택 사항으로,
삭제 하위 유닛은:
삭제 메시지를 스위치에게 보내어 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하고;
질의 메시지를 스위치에게 보내어- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하고;
스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하고 - 여기서 적어도 하나의 제2 질의 응답은 적어도 하나의 제1 질의 응답을 별도로 캡슐화함으로써 획득되고, 적어도 하나의 제1 질의 응답이 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 질의 메시지에 따라 보내지고, 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응관계로부터 대응하는 포트 번호를 획득하고; 및
획득된 포트 번호와 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호를 비교하여, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하도록 특정적으로 구성된다.
또한, 장치는 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하도록 구성되는 제1 수신 모듈- 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 - ;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 구성되는 생성 모듈; 및
플로 엔트리를 스위치에게 보내어, 스위치가 대응하는 플로 테이블에 플로 엔트리를 저장하도록 구성되는 제2 송신 모듈.
본 발명의 이 실시예에서, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러는 질의 메시지를 스위치로 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라, 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상당히 많은 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멤버가 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 직접적으로 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 이용하여 결정이 신속하게 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 향상시킨다. 멀티캐스트 그룹 멤버가 변할 때, 결정이 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고, 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있을 뿐이고, 이는 컨트롤러의 부하를 줄인다.
도 6은 본 발명의 실시예에 따른 멀티캐스트 그룹 멤버를 유지하기 위한 장치의 도식적 구조도이다. 도 6을 참조하면, 이 장치는 다음을 포함한다:
미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하고, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 구성되는 제2 수신 모듈(601);
멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하도록 구성되는 제3 수신 모듈(602) - 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함-;
저장된 플로 테이블이 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 제1 질의 응답을 폐기하고, 및 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득하도록 구성되는 폐기 모듈(603); 및
현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내어, 컨트롤러가 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 구성되는 제3 송신 모듈(604).
선택 사항으로, 제3 송신 모듈(604)은 다음을 포함한다:
컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하도록 구성되는 제2 수신 유닛 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함-;
타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 저장된 플로 테이블로부터 대응 질의 응답 카운트 값을 획득하도록 구성되는 제2 획득 유닛; 및
획득된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내도록 구성되는 제2 송신 유닛.
선택 사항으로, 장치는 다음을 추가로 포함한다:
컨트롤러가 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정할 때, 컨트롤러에 의해 보내지는 삭제 메시지를 수신하고 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함-, 및 멀티캐스트 그룹 어드레스에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하도록 구성되는 제1 삭제 모듈;
컨트롤러에 의해 보내지는 질의 메시지가 수신될 때, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 구성되는 제4 송신 모듈- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 적어도 하나의 제1 질의 응답을 수신하도록 구성되는 제4 수신 모듈- 여기서 적어도 하나의 제1 질의 응답 각각은 멀티캐스트 그룹 어드레스를 전달함-;
적어도 하나의 제1 질의 응답을 별도로 캡슐화하여, 적어도 하나의 제2 질의 응답을 취득하도록 구성되는 제1 캡슐화 모듈 - 여기서 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 전달함-; 및
적어도 하나의 제2 질의 응답을 컨트롤러에게 보내어, 컨트롤러가 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하도록 하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하도록 구성되는 제5 송신 모듈.
선택 사항으로, 장치는 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하도록 구성되는 제1 수신 모듈 - 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하도록 구성되는 제2 캡슐화 모듈 - 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
제2 멀티캐스트 가입 메시지를 컨트롤러에게 보내어, 컨트롤러가 제2 멀티캐스트 가입 메시지에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 구성되는 제6 송신 모듈; 및
컨트롤러에 의해 보내지는 플로 엔트리를 수신하고, 및 플로 테이블에 플로 엔트리를 저장하도록 구성되는 저장 모듈.
또한, 장치는 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하도록 구성되는 제6 수신 모듈 - 상기 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하도록 구성되는 제2 삭제 모듈;
제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하도록 구성되는 제3 캡슐화 모듈 -여기서 제2 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -; 및
제2 멀티캐스트 탈퇴 메시지를 컨트롤러에게 보내어, 컨트롤러가 멀티캐스트 경로로부터 포트 번호를 삭제하도록 구성되는 제7 송신 모듈.
본 발명의 이 실시예에서, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러는 질의 메시지를 스위치로 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라, 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상당히 많은 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멤버가 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 직접적으로 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 이용하여 결정이 신속하게 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 향상시킨다. 멀티캐스트 그룹 멤버가 변할 때, 결정이 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고, 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있을 뿐이고, 이는 컨트롤러의 부하를 줄인다.
도 7은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 장치의 도식적 구조도이다. 도 8을 참조하면, 장치는 멀티캐스트 그룹 멤버를 유지하기 위해 하기 방법을 수행하도록 구성되는 메모리(701) 및 프로세서(702)를 포함하고, 이 방법은 다음을 포함한다:
미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하는 단계;
현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계; 및
현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계.
선택 사항으로, 현재 주기에서 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계는:
플로 엔트리 질의 메시지를 스위치에게 보내는 단계 - 여기서 플로 엔트리 질의 메시지가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달하여, 스위치가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 하는 단계; 및
스위치에 의해 보내지는 질의 응답 카운트 값을 수신하고, 및 수신된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 결정하는 단계.
선택 사항으로, 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계는 다음을 포함한다:
멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하는 단계;
현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하는 단계; 및
차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계.
선택 사항으로, 차이 및 미리 설정된 질의 응답 카운트 값 증분에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하는 단계는 다음을 포함한다:
차이가 미리 설정된 질의 응답 카운트 값 증분 미만이면, 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정하고; 및
비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하는 단계.
선택 사항으로, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하는 단계는 다음을 포함한다:
삭제 메시지를 스위치에게 보내어 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하는 단계;
질의 메시지를 스위치에게 보내어- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 하는 단계;
스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하는 단계 - 여기서 적어도 하나의 제2 질의 응답은 적어도 하나의 제1 질의 응답을 별도로 캡슐화함으로써 획득되고, 적어도 하나의 제1 질의 응답이 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 질의 메시지에 따라 보내지고, 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
멀티캐스트 그룹 어드레스와 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응관계로부터 대응하는 포트 번호를 획득하는 단계; 및
획득된 포트 번호와 적어도 하나의 제2 질의 응답에 의해 전달되는 포트 번호를 비교하여, 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 결정하는 단계.
또한, 방법은 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계- 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 - ;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하는 단계; 및
플로 엔트리를 스위치에게 보내어, 스위치가 대응하는 플로 테이블에 플로 엔트리를 저장하도록 하는 단계.
본 발명의 이 실시예에서, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러는 질의 메시지를 스위치로 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라, 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상당히 많은 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멤버가 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 직접적으로 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 이용하여 결정이 신속하게 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 향상시킨다. 멀티캐스트 그룹 멤버가 변할 때, 결정이 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고, 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있을 뿐이고, 이는 컨트롤러의 부하를 줄인다.
도 8은 본 발명의 실시예에 따라 멀티캐스트 그룹 멤버를 유지하기 위한 장치의 도식적 구조도이다. 도 8을 참조하면, 장치는 멀티캐스트 그룹 멤버를 유지하기 위해 하기 방법을 수행하도록 구성되는 메모리(801) 및 프로세서(802)를 포함하는데, 방법은 다음을 포함한다:
미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하고, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내는 단계;
멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하는 단계 - 여기서 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함-;
저장된 플로 테이블이 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 제1 질의 응답을 폐기하고, 및 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득하는 단계; 및
현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내어, 컨트롤러가 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값에 따라 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지하도록 하는 단계.
선택 사항으로, 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내는 단계는 다음을 포함한다:
컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하는 단계 - 여기서 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함-;
타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자에 따라 저장된 플로 테이블로부터 대응 질의 응답 카운트 값을 획득하는 단계; 및
획득된 질의 응답 카운트 값을 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 현재 주기 질의 응답들의 카운트 값을 컨트롤러에게 보내는 단계.
선택 사항으로, 현재 주기 질의 응답들을 컨트롤러에게 보낸 후에, 방법은 다음을 추가로 포함한다:
컨트롤러가 비정상적으로 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정할 때, 컨트롤러에 의해 보내지는 삭제 메시지를 수신하고 - 여기서 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함-, 및 멀티캐스트 그룹 어드레스에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
컨트롤러에 의해 보내지는 질의 메시지가 수신될 때, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내는 단계- 여기서 질의 메시지는 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함-;
멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버에 의해 보내지는 적어도 하나의 제1 질의 응답을 수신하는 단계- 여기서 적어도 하나의 제1 질의 응답 각각은 멀티캐스트 그룹 어드레스를 전달함-;
적어도 하나의 제1 질의 응답을 별도로 캡슐화하여, 적어도 하나의 제2 질의 응답을 취득하는 단계 - 여기서 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 전달함-; 및
적어도 하나의 제2 질의 응답을 컨트롤러에게 보내어, 컨트롤러가 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하도록 하고, 및 멀티캐스트 경로로부터 획득된 포트 번호를 삭제하는 단계.
선택 사항으로, 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하기 전에, 방법은 추가로 다음을 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계 - 여기서 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함-;
제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하는 단계 - 제2 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
제2 멀티캐스트 가입 메시지를 컨트롤러에게 보내어, 컨트롤러가 제2 멀티캐스트 가입 메시지에 따라 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 하는 단계; 및
컨트롤러에 의해 보내지는 플로 엔트리를 수신하고, 및 플로 테이블에 플로 엔트리를 저장하는 단계.
또한, 방법은 다음을 추가로 포함한다:
멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하는 단계 - 상기 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하는 단계 -여기서 제2 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -; 및
제2 멀티캐스트 탈퇴 메시지를 컨트롤러에게 보내어, 컨트롤러가 멀티캐스트 경로로부터 포트 번호를 삭제하도록 하는 단계.
본 발명의 이 실시예에서는, 컨트롤러가 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버를 유지할 때, 컨트롤러가 질의 메시지를 스위치에게 보내어, 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 질의 메시지를 보내도록 한다. 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신할 때, 스위치는, 제1 질의 응답에 의해 전달되는 멀티캐스트 그룹 어드레스 및 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 스위치에 의해 유지되는 플로 테이블에서의 대응하는 플로 엔트리에 대해 질의한다. 대응하는 플로 엔트리가 발견되면, 스위치는 제1 질의 응답을 폐기하여, 질의 응답을 컨트롤러에게 보내는 것을 생략한다. 컨트롤러는 상대적으로 큰 양의 질의 응답들을 주기적으로 처리할 필요가 없고, 이것은 컨트롤러의 부하를 줄인다. 컨트롤러는, 스위치로부터, 현재 주기에서의 현재 주기 질의 응답들의, 멀티캐스트 그룹 어드레스에 대응하는, 카운트 값을 획득하고, 및 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 멀티캐스트 그룹에 포함되는 멀티캐스트 그룹 멤버가 변하는지를 결정한다. 이렇게 하면, 멀티캐스트 그룹 멤버가 변하지 않을 때, 결정은 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값을 직접적으로 이용하여 신속히 수행될 수 있고, 그에 의해 멀티캐스트 그룹 멤버를 유지하는 효율성을 개선할 수 있다. 멀티캐스트 그룹 멤버가 변할 때, 결정은 이후 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답에 따라 수행되고; 및 컨트롤러는 현재 주기에서의 질의 응답들만을 처리할 필요가 있고, 이는 또한 컨트롤러의 부하를 줄인다.
상기 실시예들에서 제공되는 장치가, 멀티캐스트 그룹 멤버를 유지하기 위해 멀티캐스트 그룹 멤버를 유지할 때, 상기 기능 모듈들의 분할은 단지 설명을 위한 예로서 이용된다는 것을 유의해야 한다. 실제 응용에서, 상기 기능들은 상이한 기능 모듈들에 할당될 수 있고 요구사항에 따라 완성될 수 있는데, 즉, 장치의 내부 구조는 앞서 기술한 기능들 중 전부 또는 일부를 완성하기 위해 상이한 기능 모듈들이 되도록 분할된다. 게다가, 멀티캐스트 그룹 멤버를 유지하기 위해 상기 실시예들에서 제공되는 장치와 멀티캐스트 그룹 멤버를 유지하기 위한 방법의 실시예들은 동일 개념에 속한다. 특정한 구현 수순을 위해, 방법 실시예들을 특정적으로 참조하면 되고, 다시 본 명세서에서 상세 사항들이 기술되지는 않는다.
본 발명의 전술한 실시예들의 시퀀스 번호들은 예시의 목적일 뿐이며, 실시예들의 우선 순위를 지시하는 것을 의도하지 않는다.
본 기술 분야의 통상의 기술자는 실시예들의 단계들의 전부 또는 일부가 하드웨어 또는 관련 하드웨어에 명령하는 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있다. 프로그램은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 저장 매체는 다음을 포함할 수 있다: 판독 전용 메모리, 자기 디스크, 또는 광 디스크.
위의 설명은 본 발명의 예시적 실시예들일 뿐이며, 본 발명을 한정하는 것을 의도하지 않는다. 본 발명의 원리를 벗어나지 않고서 이루어진 임의의 수정, 등가의 대체 및 개선은 본 발명의 보호 범위 내에 들 것이다.

Claims (22)

  1. 멀티캐스트 그룹 멤버들을 유지하기 위한 방법으로서, 상기 방법은 컨트롤러에 의해 수행되고, 상기 방법은:
    미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 상기 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 상기 질의 메시지를 보내도록 하는 단계;
    현재 주기에서 상기 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계;
    상기 멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하는 단계;
    상기 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하는 단계;
    상기 미리 설정된 질의 응답 카운트 값 증분 및 상기 현재 주기 질의 응답들의 카운트 값 및 상기 이전 주기 질의 응답들의 카운트 값 사이의 차이에 따라, 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버들을 유지하는 단계
    를 포함하고,
    상기 차이 및 상기 미리 설정된 질의 응답 카운트 값 증분에 따라, 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버들을 유지하는 단계는:
    상기 차이가 상기 미리 설정된 질의 응답 카운트 값 증분 미만인 경우, 멀티캐스트 그룹 멤버가 비정상적으로 상기 멀티캐스트 그룹을 탈퇴했다고 결정하는 단계;
    상기 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하는 단계, 및
    멀티캐스트 경로로부터 상기 획득된 포트 번호를 삭제하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 현재 주기에서 상기 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하는 단계는:
    플로 엔트리 질의 메시지를 상기 스위치에게 보내는 단계 - 상기 플로 엔트리 질의 메시지가 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달하여, 상기 스위치가 상기 타깃 플로 테이블 식별자 및 상기 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 함 -; 및
    상기 스위치에 의해 보내지는 상기 질의 응답 카운트 값을 수신하고, 및 상기 수신된 질의 응답 카운트 값을 상기 현재 주기 질의 응답들의 카운트 값으로서 결정하는 단계를 포함하는
    방법.
  3. 제1항에 있어서, 상기 비정상적으로 탈퇴한 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하는 단계는:
    삭제 메시지를 상기 스위치에게 보내어 - 상기 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 상기 스위치가 상기 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하는 단계;
    상기 질의 메시지를 상기 스위치에게 보내어 - 상기 질의 메시지는 상기 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 상기 스위치가 상기 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 상기 질의 메시지를 보내도록 하는 단계;
    상기 스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하는 단계 - 상기 적어도 하나의 제2 질의 응답은 적어도 하나의 제1 질의 응답을 별도로 캡슐화함으로써 획득되고, 상기 적어도 하나의 제1 질의 응답은 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버에 의해 상기 질의 메시지에 따라 보내지고, 상기 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
    멀티캐스트 그룹 어드레스와 상기 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응관계로부터 대응하는 포트 번호를 획득하는 단계; 및
    상기 획득된 포트 번호와 상기 적어도 하나의 제2 질의 응답에 의해 전달되는 상기 포트 번호를 비교하여, 비정상적으로 탈퇴한 상기 멀티캐스트 그룹 멤버에 대응하는 상기 포트 번호를 결정하는 단계를 포함하는
    방법.
  4. 제1항에 있어서,
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계 - 상기 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
    상기 멀티캐스트 그룹 어드레스 및 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 상기 멀티캐스트 그룹 멤버에 대해 플로 엔트리를 생성하는 단계; 및
    상기 플로 엔트리를 상기 스위치에게 보내어, 상기 스위치가 대응하는 플로 테이블에 상기 플로 엔트리를 저장하도록 하는 단계를 추가로 포함하는
    방법.
  5. 멀티캐스트 그룹 멤버들을 유지하기 위한 방법으로서, 상기 방법은 스위치에 의해 수행되고, 상기 방법은:
    미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하고, 및 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 상기 질의 메시지를 보내는 단계;
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하는 단계 - 상기 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함 -;
    저장된 플로 테이블이 상기 멀티캐스트 그룹 어드레스 및 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 상기 제1 질의 응답을 폐기하고, 및 상기 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득하는 단계; 및
    상기 컨트롤러가 미리 설정된 질의 응답 카운트 값 증분 및 상기 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이에 따라 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버를 유지하도록, 상기 현재 주기 질의 응답들의 카운트 값을 상기 컨트롤러에게 보내는 단계;
    멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하는 단계 - 상기 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
    상기 멀티캐스트 그룹 어드레스 및 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 상기 저장된 플로 테이블로부터 대응하는 플로 엔트리를 삭제하는 단계;
    상기 제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하는 단계 - 상기 제2 멀티캐스트 탈퇴 메시지는 상기 멀티캐스트 그룹 어드레스 및 상기 포트 번호를 전달함 -; 및
    상기 제2 멀티캐스트 탈퇴 메시지를 상기 컨트롤러에게 보내어, 상기 컨트롤러가 멀티캐스트 경로로부터 상기 포트 번호를 삭제하도록 하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서,
    상기 현재 주기 질의 응답들의 카운트 값을 상기 컨트롤러에게 보내는 단계는:
    상기 컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하는 단계 - 상기 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함 -;
    상기 타깃 플로 테이블 식별자 및 상기 타깃 플로 엔트리 식별자에 따라 상기 저장된 플로 테이블로부터 대응하는 질의 응답 카운트 값을 획득하는 단계; 및
    상기 획득된 질의 응답 카운트 값을 상기 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 상기 현재 주기 질의 응답들의 카운트 값을 상기 컨트롤러에게 보내는 단계를 포함하는
    방법.
  7. 제5항 또는 제6항에 있어서,
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하는 단계 이전에:
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하는 단계 - 상기 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
    상기 제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하는 단계 - 상기 제2 멀티캐스트 가입 메시지는 상기 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
    상기 제2 멀티캐스트 가입 메시지를 상기 컨트롤러에게 보내어, 상기 컨트롤러가 상기 제2 멀티캐스트 가입 메시지에 따라 상기 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 하는 단계; 및
    상기 컨트롤러에 의해 보내지는 상기 플로 엔트리를 수신하고, 및 상기 플로 테이블에 상기 플로 엔트리를 저장하는 단계
    를 추가로 포함하는 방법.
  8. 멀티캐스트 그룹 멤버들을 유지하기 위한 장치로서:
    미리 설정된 주기 간격들로 질의 메시지를 스위치에게 보내어, 상기 스위치가 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 상기 질의 메시지를 보내게 하도록 구성되는 제1 송신 모듈;
    현재 주기에서 상기 스위치에 의해 수신되는 현재 주기 질의 응답들의 카운트 값을 획득하도록 구성되는 획득 모듈; 및
    상기 현재 주기 질의 응답들의 카운트 값 및 이전 주기 질의 응답들의 카운트 값에 따라, 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버를 유지하도록 구성되는 유지 모듈
    을 포함하고,
    상기 유지 모듈은:
    상기 멀티캐스트 그룹에 대응하는 미리 설정된 질의 응답 카운트 값 증분을 획득하도록 구성되는 제1 획득 유닛;
    상기 현재 주기 질의 응답들의 카운트 값과 상기 이전 주기 질의 응답들의 카운트 값 사이의 차이를 계산하도록 구성되는 계산 유닛; 및
    상기 차이 및 상기 미리 설정된 질의 응답 카운트 값 증분에 따라, 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버를 유지하도록 구성되는 유지 유닛을 포함하고,
    상기 유지 유닛은:
    상기 차이가 상기 미리 설정된 질의 응답 카운트 값 증분 미만이면, 비정상적으로 상기 멀티캐스트 그룹을 탈퇴한 멀티캐스트 그룹 멤버가 존재한다는 것을 결정하도록 구성되는 결정 하위 유닛; 및
    비정상적으로 탈퇴한 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호를 획득하고, 및 멀티캐스트 경로로부터 상기 획득된 포트 번호를 삭제하도록 구성되는 삭제 하위 유닛을 포함하는, 장치.
  9. 제8항에 있어서, 상기 획득 모듈은:
    플로 엔트리 질의 메시지를 상기 스위치에게 보내도록 구성되는 제1 송신 유닛 - 상기 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달하여, 상기 스위치가 상기 타깃 플로 테이블 식별자 및 상기 타깃 플로 엔트리 식별자 양쪽에 대응하는 질의 응답 카운트 값에 대해 질의하도록 함 -; 및
    상기 스위치에 의해 보내지는 상기 질의 응답 카운트 값을 수신하고, 및 상기 수신된 질의 응답 카운트 값을 상기 현재 주기 질의 응답들의 카운트 값으로서 결정하도록 구성되는 제1 수신 유닛을 포함하는
    장치.
  10. 제8항에 있어서,
    상기 삭제 하위 유닛은:
    삭제 메시지를 상기 스위치에게 보내어 - 상기 삭제 메시지는 멀티캐스트 그룹 어드레스를 전달함 - 상기 스위치가 상기 멀티캐스트 그룹 어드레스에 대응하는 플로 엔트리를 삭제하도록 하고;
    상기 질의 메시지를 상기 스위치에게 보내어 - 상기 질의 메시지는 상기 멀티캐스트 그룹의 멀티캐스트 그룹 어드레스를 전달함 - 상기 스위치가 상기 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 상기 질의 메시지를 보내도록 하고;
    상기 스위치에 의해 보고되는 적어도 하나의 제2 질의 응답을 수신하고 - 상기 적어도 하나의 제2 질의 응답은 적어도 하나의 제1 질의 응답을 별도로 캡슐화함으로써 취득되고, 상기 적어도 하나의 제1 질의 응답은 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버에 의해 상기 질의 메시지에 따라 보내지고, 상기 적어도 하나의 제2 질의 응답 각각은 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
    멀티캐스트 그룹 어드레스와 상기 멀티캐스트 그룹 어드레스에 따른 포트 번호 간의 저장된 대응관계로부터 대응하는 포트 번호를 획득하고; 및
    상기 획득된 포트 번호와 상기 적어도 하나의 제2 질의 응답에 의해 전달되는 상기 포트 번호를 비교하여, 비정상적으로 탈퇴한 상기 멀티캐스트 그룹 멤버에 대응하는 상기 포트 번호를 결정하도록 구성되는
    장치.
  11. 제8항에 있어서,
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하도록 구성되는 제1 수신 모듈 - 상기 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
    상기 멀티캐스트 그룹 어드레스 및 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 상기 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 구성되는 생성 모듈; 및
    상기 플로 엔트리를 상기 스위치에게 보내어, 상기 스위치가 대응하는 플로 테이블에 상기 플로 엔트리를 저장하도록 구성되는 제2 송신 모듈
    을 추가로 포함하는 장치.
  12. 멀티캐스트 그룹 멤버들을 유지하기 위한 장치로서:
    미리 설정된 주기 간격들로, 컨트롤러에 의해 보내지는 질의 메시지를 수신하고, 멀티캐스트 그룹에 포함되는 각각의 멀티캐스트 그룹 멤버에게 상기 질의 메시지를 보내도록 구성되는 제2 수신 모듈;
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 질의 응답을 수신하도록 구성되는 제3 수신 모듈 - 상기 제1 질의 응답은 멀티캐스트 그룹 어드레스를 전달함 -;
    저장된 플로 테이블이 상기 멀티캐스트 그룹 어드레스 및 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호가 자리잡은 플로 엔트리를 포함하면, 상기 제1 질의 응답을 폐기하고, 및 상기 제1 질의 응답들의 양에 따라 현재 주기 질의 응답들의 카운트 값을 획득하도록 구성되는 폐기 모듈;
    상기 현재 주기 질의 응답들의 카운트 값을 상기 컨트롤러에게 보내어, 상기 컨트롤러가 미리 설정된 질의 응답 카운트 값 증분 및 상기 현재 주기 질의 응답들의 카운트 값과 이전 주기 질의 응답들의 카운트 값 사이의 차이에 따라, 상기 멀티캐스트 그룹에 포함되는 상기 멀티캐스트 그룹 멤버를 유지하도록 구성되는 제3 송신 모듈
    을 포함하고,
    상기 장치는:
    멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 탈퇴 메시지를 수신하도록 구성되는 제6 수신 모듈 - 상기 제1 멀티캐스트 탈퇴 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
    상기 멀티캐스트 그룹 어드레스 및 상기 멀티캐스트 그룹 멤버에 대응하는 포트 번호에 따라 상기 플로 테이블로부터 대응하는 플로 엔트리를 삭제하도록 구성되는 제2 삭제 모듈;
    상기 제1 멀티캐스트 탈퇴 메시지를 캡슐화하여, 제2 멀티캐스트 탈퇴 메시지를 취득하도록 구성되는 제3 캡슐화 모듈 - 상기 제2 멀티캐스트 탈퇴 메시지는 상기 멀티캐스트 그룹 어드레스 및 상기 포트 번호를 전달함 -; 및
    상기 제2 멀티캐스트 탈퇴 메시지를 상기 컨트롤러에게 보내어, 상기 컨트롤러가 멀티캐스트 경로로부터 상기 포트 번호를 삭제하도록 구성되는 제7 송신 모듈
    을 더 포함하는, 장치.
  13. 제12항에 있어서, 상기 제3 송신 모듈은:
    상기 컨트롤러에 의해 보내지는 플로 엔트리 질의 메시지를 수신하도록 구성되는 제2 수신 유닛 - 상기 플로 엔트리 질의 메시지는 타깃 플로 테이블 식별자 및 타깃 플로 엔트리 식별자를 전달함 -;
    상기 타깃 플로 테이블 식별자 및 상기 타깃 플로 엔트리 식별자에 따라 상기 저장된 플로 테이블로부터 대응하는 질의 응답 카운트 값을 획득하도록 구성되는 제2 획득 유닛; 및
    상기 획득된 질의 응답 카운트 값을 상기 현재 주기 질의 응답들의 카운트 값으로서 이용하고 및 상기 현재 주기 질의 응답들의 카운트 값을 상기 컨트롤러에게 보내도록 구성되는 제2 송신 유닛을 포함하는
    장치.
  14. 제12항 또는 제13항에 있어서,
    상기 멀티캐스트 그룹 멤버에 의해 보내지는 제1 멀티캐스트 가입 메시지를 수신하도록 구성되는 제5 수신 모듈 - 상기 제1 멀티캐스트 가입 메시지는 멀티캐스트 그룹 어드레스를 전달함 -;
    상기 제1 멀티캐스트 가입 메시지를 캡슐화하여 제2 멀티캐스트 가입 메시지를 취득하도록 구성되는 제2 캡슐화 모듈 - 상기 제2 멀티캐스트 가입 메시지는 상기 멀티캐스트 그룹 어드레스 및 포트 번호를 전달함 -;
    상기 제2 멀티캐스트 가입 메시지를 상기 컨트롤러에게 보내어, 상기 컨트롤러가 상기 제2 멀티캐스트 가입 메시지에 따라 상기 멀티캐스트 그룹 멤버에 대한 플로 엔트리를 생성하도록 구성되는 제6 송신 모듈; 및
    상기 컨트롤러에 의해 보내지는 상기 플로 엔트리를 수신하고, 및 상기 플로 테이블에 상기 플로 엔트리를 저장하도록 구성되는 저장 모듈
    을 추가로 포함하는 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020167031035A 2014-04-28 2015-01-04 멀티캐스트 멤버들을 유지하기 위한 방법 및 장치 KR101880379B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410175802.6A CN105099721B (zh) 2014-04-28 2014-04-28 维护组播成员的方法及设备
CN201410175802.6 2014-04-28
PCT/CN2015/070044 WO2015165281A1 (zh) 2014-04-28 2015-01-04 维护组播成员的方法及设备

Publications (2)

Publication Number Publication Date
KR20160145647A KR20160145647A (ko) 2016-12-20
KR101880379B1 true KR101880379B1 (ko) 2018-07-19

Family

ID=54358139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167031035A KR101880379B1 (ko) 2014-04-28 2015-01-04 멀티캐스트 멤버들을 유지하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9998293B2 (ko)
EP (1) EP3121995B1 (ko)
JP (1) JP6241637B2 (ko)
KR (1) KR101880379B1 (ko)
CN (1) CN105099721B (ko)
WO (1) WO2015165281A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2454533B1 (en) 2009-07-13 2019-11-13 Carrier Corporation Transport refrigeration system, transport refrigeration unit, and methods for same
US10511548B2 (en) * 2017-06-22 2019-12-17 Nicira, Inc. Multicast packet handling based on control information in software-defined networking (SDN) environment
US11876790B2 (en) * 2020-01-21 2024-01-16 The Boeing Company Authenticating computing devices based on a dynamic port punching sequence
CN111600800B (zh) * 2020-04-01 2022-06-28 武汉迈威通信股份有限公司 一种跨网段拓扑发现的方法及设备
CN112448826B (zh) * 2020-11-13 2022-04-15 恒生电子股份有限公司 组播消息的通信方法、装置、可读介质及电子设备
CN117411738B (zh) * 2023-12-15 2024-03-08 格创通信(浙江)有限公司 组播复制方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070248088A1 (en) * 2006-04-21 2007-10-25 Lim Seau S Method and apparatus for transmitting a multicast message
US20130343393A1 (en) * 2011-03-09 2013-12-26 Tomoaki SUGIHARA Computer system, server, open flow controller and communication method
JP2016000718A (ja) * 2009-04-24 2016-01-07 イシューティカ ピーティーワイ リミテッド 商業的ナノ粒子及びマイクロ粒子粉末の生産方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223286B1 (en) * 1996-03-18 2001-04-24 Kabushiki Kaisha Toshiba Multicast message transmission device and message receiving protocol device for realizing fair message delivery time for multicast message
JP3906679B2 (ja) * 2001-12-05 2007-04-18 日本電気株式会社 移動通信方法及びシステム並びにプログラム
JP4504167B2 (ja) * 2004-11-24 2010-07-14 株式会社日立製作所 マルチキャスト課金制御システム及びブロードバンドアクセスサーバ
JP4215736B2 (ja) * 2005-04-04 2009-01-28 Necアクセステクニカ株式会社 ブロードバンドルータによるマルチキャスト転送方法及び方式
EP2034731A4 (en) * 2006-06-09 2010-03-03 Huawei Tech Co Ltd MULTICAST SERVICE PROCESSES AND ACCESSORIES
CN101163260B (zh) * 2006-10-14 2011-04-13 华为技术有限公司 一种控制承载变化的系统、装置和方法
JP2008160718A (ja) * 2006-12-26 2008-07-10 Mitsubishi Electric Corp Ponシステム
CN100518119C (zh) * 2007-06-25 2009-07-22 中兴通讯股份有限公司 基于网际分组管理协议第三版的以太网组播实现方法
JP4918900B2 (ja) * 2007-09-13 2012-04-18 日本電気株式会社 無線マルチホップネットワーク、ノード、マルチキャスト経路制御方法及びプログラム
CN101409704B (zh) * 2007-10-09 2013-06-05 华为技术有限公司 组播成员管理协议的处理方法及装置
CN101414919B (zh) * 2007-10-19 2012-11-28 上海贝尔阿尔卡特股份有限公司 上行组播业务的控制方法及装置
CN101442711A (zh) 2007-11-20 2009-05-27 中兴通讯股份有限公司 用户设备反馈多媒体广播多播业务信息的方法
CN101184044A (zh) * 2007-12-05 2008-05-21 中兴通讯股份有限公司 一种组播监听发现协议的报文处理方法
EP2134029A1 (en) * 2008-06-09 2009-12-16 THOMSON Licensing Network device and method for obtaining terminal multicast status
CN101388788B (zh) * 2008-10-29 2011-03-30 杭州华三通信技术有限公司 二层组播管理方法、系统及二层交换机
EP2667545A4 (en) * 2011-01-17 2017-08-23 Nec Corporation Network system, controller, switch, and traffic monitoring method
CN102170364B (zh) 2011-05-26 2014-12-31 华为技术有限公司 一种宽带远程接入服务器组播通信方法及装置
JP5488642B2 (ja) * 2011-05-31 2014-05-14 株式会社バッファロー 可搬型ネットワーク接続装置及びその設定方法、並びに、コンピュータプログラム及び記録媒体
US8964563B2 (en) 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow
US8638788B2 (en) 2011-11-22 2014-01-28 Telefonaktiebolaget L M Ericsson (Publ) Replication management for remote multicast replication network
US10225094B2 (en) * 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
CN104509073A (zh) * 2012-09-11 2015-04-08 惠普发展公司,有限责任合伙企业 在软件定义的网络中发现ip多播组成员
KR101648777B1 (ko) * 2012-10-04 2016-08-17 엘지전자 주식회사 무선랜 시스템에서 시스템 정보 업데이트 방법 및 장치
US8953618B2 (en) * 2012-10-10 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) IP multicast service leave process for MPLS-based virtual private cloud networking
CN103248724A (zh) * 2013-04-19 2013-08-14 中国(南京)未来网络产业创新中心 一种基于sdn控制器的dhcp广播处理方法
CN103346969A (zh) * 2013-07-05 2013-10-09 中国科学院计算机网络信息中心 基于OpenFlow实现动态组播生成树路径调整的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070248088A1 (en) * 2006-04-21 2007-10-25 Lim Seau S Method and apparatus for transmitting a multicast message
JP2016000718A (ja) * 2009-04-24 2016-01-07 イシューティカ ピーティーワイ リミテッド 商業的ナノ粒子及びマイクロ粒子粉末の生産方法
US20130343393A1 (en) * 2011-03-09 2013-12-26 Tomoaki SUGIHARA Computer system, server, open flow controller and communication method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
H. Asaeda, "IGMP/MLD-Based Explicit Membership Tracking Function for Multicast Routers" IETF PIM Working Group, {draft-ietf-pim-explicit-tracking-09 (2013.12.03.) *
논문:(2013) *
비특허문헌:(2013) *

Also Published As

Publication number Publication date
EP3121995B1 (en) 2018-06-20
JP2017517182A (ja) 2017-06-22
EP3121995A1 (en) 2017-01-25
WO2015165281A1 (zh) 2015-11-05
EP3121995A4 (en) 2017-04-19
CN105099721B (zh) 2018-12-07
US20170048076A1 (en) 2017-02-16
CN105099721A (zh) 2015-11-25
KR20160145647A (ko) 2016-12-20
JP6241637B2 (ja) 2017-12-06
US9998293B2 (en) 2018-06-12

Similar Documents

Publication Publication Date Title
KR101880379B1 (ko) 멀티캐스트 멤버들을 유지하기 위한 방법 및 장치
CN105723657B (zh) 交换机、控制器、系统及链路质量检测方法
US20110013551A1 (en) Network relay apparatus
US20120120954A1 (en) Method and apparatus for tracing a multicast flow
KR102025680B1 (ko) Sdn 기반의 arp 구현 방법 및 장치
AU2014399458A1 (en) Flow Entry Configuration Method, Apparatus, and System
US8724993B2 (en) Station side device and optical communication system
US9548917B2 (en) Efficient multicast delivery to dually connected (VPC) hosts in overlay networks
KR20110027683A (ko) 단말기의 멀티캐스트 상태를 얻기 위한 방법
CN107276905B (zh) 覆盖网络中的非对称多目的地流量复制
CN110999230B (zh) 传输组播报文的方法、网络设备和系统
US20140348164A1 (en) Maintaining a multicast forwarding table and a pim router
WO2017082773A1 (ru) Способ групповой передачи пакетов через программно-конфигурируемые сети
CN101262446A (zh) 一种Hello报文的生成方法及装置
WO2014199924A1 (ja) 制御装置、通信システム、中継装置の制御方法及びプログラム
CN108183851B (zh) 一种报文转发方法及转发设备
WO2012103748A1 (zh) 一种组播控制方法、路由设备及组播系统
WO2021093477A1 (zh) 一种路径规划方法及装置、数据传输系统
CN107276774B (zh) 一种组播报文传输方法以及转发设备
MY187072A (en) Multicast forwarding in openflow sdn network
CN103795634A (zh) 一种转发表的生成方法及装置
KR20100069290A (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