KR101231673B1 - 이종 요소들의 분산된 스위치 도메인 - Google Patents
이종 요소들의 분산된 스위치 도메인 Download PDFInfo
- Publication number
- KR101231673B1 KR101231673B1 KR1020110076560A KR20110076560A KR101231673B1 KR 101231673 B1 KR101231673 B1 KR 101231673B1 KR 1020110076560 A KR1020110076560 A KR 1020110076560A KR 20110076560 A KR20110076560 A KR 20110076560A KR 101231673 B1 KR101231673 B1 KR 101231673B1
- Authority
- KR
- South Korea
- Prior art keywords
- switching
- packet
- switching device
- domain
- virtual
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
가상 및 물리적 네트워크 스위칭 요소들의 이종 스위칭 도메인 내로의 통합 방법이 제공된다. 이러한 방법은 제 1 스위칭 장치에 의해, 도메인 정보를 포함하고 있는 헤더를 가상 머신으로부터 수신된 패킷에 첨부하는 단계, 및 헤더의 제어에 따라 스위칭 장치에 의해 패킷을 처리하는 단계를 포함한다. 마지막으로, 패킷은 포워드되며, 이러한 포워딩은 헤더에 의해 제어된다.
Description
관련 출원의 상호 참조
본 출원은 여기서 참조로써 통합되는 2010년 7월 30일자의 미국 임시 특허 출원 번호 61/369,529호에 대한 이익을 주장한다.
본 발명은 개괄적으로 분산된 스위치에 관한 것으로서, 보다 상세하게, 그러나 이에 한정되지 않는, 가상 및 물리적 스위치들을 통합하는 스위치 도메인에 관한 것이다.
최근 네트워크들의 발전에 따라, 복합 네트워크 스위칭 구조 내에서 패킷들을 처리하고 라우트(route)하기 위하여 상이한 타입들의 네트워크 장치들이 이용된다. 전통적으로, 물리적 스위칭 장치들을 논리적 엔터티들로 함께 링크함으로써 이익들이 달성되며, 네트워크 요소들, 예를 들어 포트들, 브리지들 및 네트워크 스위치들, 사이의 이러한 링키지(linkage)들은 직접적이고 물리적인 측면을 구비한다. 요소들 간의 네트워크 링크들은 물리적 장치들의 동종 집합의 통합과 관련되어 왔다. 점점 더, 가상 스위치들과 링크된 가상 머신들(VMs)이 네트워크 토폴로지들로 통합되고 있다. 가상 머신 매니저들(VMMs)에 의해 관리되는 가상화된 환경들이 상이한 물리적 토폴로지들 위에서 서로 다른 방식들로 사용된다. 가상 스위칭 요소들이 물리적 스위칭 요소들과 상호작용을 하는 경우, 문제들이 발생할 수 있다. 물리적 네트워킹 요소들 간의 링키지들과 대조적으로, 네트워크 내의 물리적 스위칭 장치와 가상 스위칭 장치를 링크하는 것은 도전 의식을 북돋을 수 있다.
이종 네트워크 요소들 간의 링키지들을 구현하기 위한 도전들은 가상 스위치의 동적 특질과 가상 스위치(예를 들어, 복수의 가상 머신들 및 복합적이고 동적으로 변화하는 네트워크 토폴로지들과 링크하는 가상 스위치들)가 사용될 수 있는 상이한 타입들의 토폴로지들 및 성능 유지, 에너지 절감 및 효율 표준을 포함한다.
본 발명이 속하는 기술분야의 당업자들은 많은 수의 이종 장치들의 관리에 대하여, 도전들과 이익들이 모두 중요하다는 것을 인식할 것이다. 따라서, 전술한 바와 같은 단점들을 극복하기 위한 향상된 방법들 및 시스템들이 필요하다.
본 발명의 일 측면에 따르면, 가상 네트워크 스위칭 장치와 물리적 네트워크 스위칭 장치를 이종 스위칭 도메인에 통합하는 방법으로서,
제 1 스위칭 장치에 의하여, 가상 머신으로부터 수신된 패킷에 헤더를 첨부하는 단계로서, 상기 헤더는 이종 스위칭 도메인의 요소를 설명하는 도메인 정보를 포함하고 있는 것인 단계;
상기 제 1 스위칭 장치에 의하여, 상기 패킷을 처리하는 단계로서, 상기 처리는 상기 헤더에 의해 제어되는 것인 단계; 및
상기 처리된 패킷을 포워딩하는 단계로서, 상기 포워딩은 상기 헤더에 의해 제어되는 것인 단계를 포함하는 것을 특징으로 하는, 방법이 제공된다.
적절하게, 상기 처리된 패킷은 제 2 스위칭 장치로 포워드되며, 이러한 제 2 스위칭 장치는 스위치 또는 라우터일 수 있다.
적절하게, 상기 스위칭 장치들 중 어느 하나는 물리적 스위칭 장치 또는 가상 스위칭 장치이고, 상기 이종 스위칭 도메인은 적어도 하나의 가상 스위칭 장치를 포함한다.
적절하게, 상기 도메인 정보는, 상기 도메인 내의 스위칭 장치의 입력 포트; 및 상기 스위칭 장치의 출력 포트를 포함한다.
적절하게, 상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 처리(processing)를 포함한다.
적절하게, 상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용하기 위한 필터링 옵션들을 포함한다.
적절하게, 상기 도메인 정보는 상기 스위칭 장치에 의하여 상기 처리된 패킷에 적용되기 위한 트래픽 경로(traffic path)를 포함하며, 이러한 트래픽 경로는 물리적 스위칭 장치 및 가상화된 스위칭 장치 둘 다를 통하여 상기 처리된 패킷을 라우팅한다.
적절하게, 상기 도메인 정보는 상기 제 1 스위칭 장치의 동작에 적용되기 위한 에너지 제어 및 효율성 정책을 포함한다.
본 발명의 일 측면에 따르면, 가상 네트워킹 요소와 물리적 네트워킹 요소를 이종 스위칭 도메인에 통합하는 시스템으로서,
스위칭 가속 엔진(switching accelerator engine, SAE)를 구비한 통신 제어기를 포함하며,
상기 SAE는,
가상 머신으로부터 수신된 패킷의 헤더를 디코드하도록 구성되되, 상기 헤더는 상기 이종 스위칭 도메인에 관한 도메인 정보를 포함하고;
상기 패킷을 처리하도록 구성되되, 상기 처리는 상기 헤더에 의해 제어되며;
상기 처리된 패킷을 네트워크 요소로 포워드하도록 구성되되, 상기 포워딩은 상기 헤더에 의해 제어되는 것을 특징으로 하는, 시스템이 제공된다.
적절하게, 상기 패킷이 포워드되는 상기 네트워크 요소는 물리적 스위칭 장치이다.
적절하게, 상기 패킷이 포워드되는 상기 네트워크 요소는 가상 머신이다.
적절하게, 상기 도메인 정보는, 상기 이종 스위칭 도메인 내의 스위칭 장치의 입력 포트; 및 상기 스위칭 장치의 출력 포트를 포함한다.
적절하게, 상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 처리를 포함한다.
적절하게, 상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 필터링 옵션들을 포함한다.
적절하게, 상기 도메인 정보는 상기 스위칭 장치에 의하여 상기 처리된 패킷에 적용되기 위한 트래픽 경로(traffic path)를 포함하며, 이러한 통신 경로는 물리적 스위칭 장치 및 가상화된 스위칭 장치 둘 다를 통하여 상기 처리된 패킷을 라우팅한다.
적절하게, 상기 도메인 정보는 네트워크 요소의 동작에 적용되기 위한 에너지 제어 및 효율성 정책을 포함한다.
본 발명의 일 측면에 따르면, 가상 네트워킹 요소와 물리적 네트워킹 요소를 이종 스위칭 도메인으로 통합하는 시스템으로서,
서버;
상기 서버 상에서 동작하는 제 1 가상 머신;
상기 서버 상에서 동작하는 가상 스위치로서, 상기 가상 스위치는 상기 제 1 가상 머신으로부터 패킷들을 수신하고 처리하도록 구성되며, 상기 제 1 가상 머신으로부터의 패킷 수신에 대하여, 상기 가상 스위치는 상기 패킷에 헤더를 첨부하도록 구성되고, 상기 헤더는 상기 이종 스위치 도메인에 관한 도메인 정보를 포함하고 있는 것인 가상 스위치; 및
상기 서버에 연결된 물리적 스위치로서, 상기 패킷의 수신에 대하여, 상기 물리적 스위치는 상기 첨부된 헤더를 디코드하고, 상기 헤더에 따라 상기 패킷을 처리하도록 구성되는 물리적 스위치를 포함하는 것을 특징으로 하는, 시스템이 제공된다.
적절하게, 상기 시스템은,
상기 서버에 설치된 통신 제어기; 및
상기 통신 제어기 내의 스위칭 가속 엔진(SAE)로서, 상기 SAE는 패킷들을 수신하고 처리하도록 구성된 것인 스위칭 가속 엔진을 더 포함한다.
적절하게, 상기 SAE는 상기 패킷에 첨부된 헤더에 따라 상기 패킷들을 처리하도록 구성된다.
적절하게, 고려사항(consideration)에 기초하여, 상기 가상 스위치는 패킷 처리의 일부를 상기 SAE로 떠넘기도록 구성된다.
적절하게, 상기 고려사항은 시스템 성능을 향상한다.
적절하게, 상기 고려사항은 시스템 에너지 효율을 향상한다.
적절하게, 상기 시스템은,
제 2 가상 머신으로서, 상기 가상 스위치는 상기 제 1 가상 머신으로부터의 패킷들을 상기 제 2 가상 머신으로 스위치하도록 더 구성된 제 2 가상 머신을 더 포함한다.
적절하게, 상기 시스템은,
제 2 가상 머신으로서, 상기 가상 스위치는 상기 물리적 스위치를 바이패스함으로써, 상기 제 1 가상 머신으로부터의 패킷들을 상기 제 2 가상 머신으로 스위치하도록 더 구성된 제 2 가상 머신을 더 포함한다.
첨부된 도면들은 본 발명을 도시하고, 상세한 설명과 함께 본 발명의 원리들을 설명하며, 본 발명과 관련된 기술분야의 당업자가 본 발명을 만들고 이용할 수 있게 한다.
도 1은 예시적인 네트워크 토폴로지의 블록 다이어그램이다.
도 2는 스위치에 연결된 서버의 보다 상세한 블록 다이어그램으로서, 서버는 본 발명의 일 실시예에 따른 가상화된 요소들을 포함한다.
도 3은 본 발명의 일 실시예에 따른 물리적 스위칭 요소들과 가상화된 요소들을 구비한 서버 간의 링크를 구비한 시스템의 블록 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 이종 스위칭 도메인을 구비한 시스템의 블록 다이어그램이다.
도 5는 본 발명의 일 실시예에 따른 스위칭 가속 엔진을 구비한 통신 제어기를 도시한 블록 다이어그램이다.
도 6은 본 발명의 일 실시예에 따른 이종 스위칭 도메인 제어기의 상이한 배치들을 도시한다.
도 7은 본 발명의 일 실시예에 따른 가상 네트워크 스위칭 요소와 물리적 네트워크 스위칭 요소를 스위칭 도메인 내로 통합하는 방법을 도시한 순서도이다.
본 발명은 첨부된 도면들을 참조하여 설명된다. 도면 내에서 처음 나타나는 구성요소는 전형적으로 대응하는 참조 번호 내의 제일 왼쪽의 숫자(들)에 의해 지시된다.
도 1은 예시적인 네트워크 토폴로지의 블록 다이어그램이다.
도 2는 스위치에 연결된 서버의 보다 상세한 블록 다이어그램으로서, 서버는 본 발명의 일 실시예에 따른 가상화된 요소들을 포함한다.
도 3은 본 발명의 일 실시예에 따른 물리적 스위칭 요소들과 가상화된 요소들을 구비한 서버 간의 링크를 구비한 시스템의 블록 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 이종 스위칭 도메인을 구비한 시스템의 블록 다이어그램이다.
도 5는 본 발명의 일 실시예에 따른 스위칭 가속 엔진을 구비한 통신 제어기를 도시한 블록 다이어그램이다.
도 6은 본 발명의 일 실시예에 따른 이종 스위칭 도메인 제어기의 상이한 배치들을 도시한다.
도 7은 본 발명의 일 실시예에 따른 가상 네트워크 스위칭 요소와 물리적 네트워크 스위칭 요소를 스위칭 도메인 내로 통합하는 방법을 도시한 순서도이다.
본 발명은 첨부된 도면들을 참조하여 설명된다. 도면 내에서 처음 나타나는 구성요소는 전형적으로 대응하는 참조 번호 내의 제일 왼쪽의 숫자(들)에 의해 지시된다.
후술되는 본 발명의 상세한 설명은 본 발명과 일치하는 예시적인 실시예들을 도시하는 첨부된 도면들을 참조한다. 다른 실시예들도 가능하며, 실시예에 대한 변용들도 본 발명의 사상과 범위 내에서 이루어질 수 있다. 따라서, 상세한 설명은 본 발명을 제한하는 의미가 아니다. 오히려, 본 발명의 범위는 첨부된 청구항들에 의해 정의된다.
본 발명의 특징들과 이점들은 후술되는 상세한 설명에서 진술되며, 부분적으로는 상세한 설명으로부터 명확해지고, 또는 본 발명의 실행에 의해 깨우쳐질 수 있다. 본 발명의 이점들은 첨부된 도면들과 이 문서의 설명 및 청구항들 내의 구조와 특별히 지적된 부분에 의해 실현되고 획득된다. 후술되는 상세한 설명은 예시적이고 설명적이며, 청구된 발명들에 대한 추가적인 설명을 제공하기 위한 것이다. 설명된 실시예(들)과 상세한 설명의 "하나의 실시예", "일 실시예", "예시적 실시예" 등의 참조들은 설명된 실시예(들) 특별한 특징, 구조, 또는 특성을 포함할 수 있음을 나타낸다. 그러나, 모든 실시예가 필수적으로 특별한 특징, 구조, 또는 특성을 포함해야하는 것은 아닐 수 있다. 더욱이, 이러한 관용구가 반드시 동일한 실시예를 나타내는 것은 아니다. 일 실시예와 관련된 특별한 특징, 구조 또는 특성이 설명되는 경우, 명백하게 설명되었는지 여부를 불문하고, 이는 당업자의 지식 내에서 다른 실시예들과 관련된 그러한 특징, 구조, 또는 특성에 영향을 주는 것으로 이해된다.
개요
개괄적으로 말해, 여기서 설명된 몇몇 실시예들은 이종 네트워크 스위칭/라우팅 요소들을 포함하는 분산된 스위칭 도메인을 가능하게 하는 것과 관련된다. 네트워크 스위칭 성능을 향상시키기 위한 전통적인 처리 방법은 물리적 스위칭 장치들을 논리적으로 링크하는 것에 초점이 맞추어져 왔다. 그러나, 전통적인 처리 방법은 물리적 및 가상의 스위칭 자원들의 완전한 다양성을 포함하는 스위칭 도메인을 생성하지 못한다. 여기서 설명되는 몇몇 실시예들은 가상 스위치들 및 물리적 스위치들을 적절하게 포함하는 스위칭 도메인을 생성하는 방법들 및 시스템들을 설명한다. 이하에서 설명되는 바와 같이, 다른 타입들의 이종 자원들 또한 여기에서의 사상들을 이용하여 적절하게 링크될 수 있다.
또한, 전통적인 처리 방법은 네트워크 인터페이스 카드(NIC) 자원들과 가상 스위치들을 스위치 도메인 내로 통합하는 스위칭 도메인을 생성하지 못한다. 여기서 설명되는 몇몇 실시예들은 NIC 자원-스위칭 가속 엔진-을 가상 스위치와 함께 이종 스위칭 도메인 내에 통합한다. 이하에서 설명되는 바와 같이, 다른 타입들의 NIC 자원들과 가상 요소들 또한 여기에서의 사상들을 이용하여 적절하게 링크될 수 있다.
도 1은 일 실시예에 따른 서버들(120A-B), 액세스 스위치들(130A-B), 네트워크(160) 및 코어 스위치(100)를 포함하는 샘플 네트워크 토폴로지(100)를 도시한다. 물리적 링크들은 각각의 서버들(120A-B)과 액세스 스위치들(130A-B) 사이에 표시되며, 코어 스위치(110), 네트워크(160) 및 두 개의 스위치들(130A-B) 사이에 표시된다. 일 실시예에 있어, 코어 스위치(110)와 액세스 스위치들(130A-B) 사이의 관계는 코어 스위치(100)가 상위에 있는 상태의 계층적 관계라고 할 수 있다.
비-제한적 예에 있어, 네트워크 토폴로지(100)는 데이터 센터 네트워크의 서브셋이며, 서버들(120A-B)은 네트워크(160)에 연결된 클라이언트들(미도시)에 대하여 어플리케이션들과 데이터를 호스트(host)하도록 구성된다. 관련된 기술분야의 당업자에 의해 이해될 수 있는 바와 같이, 여기에서의 사상들은 다양한 서로 다른 네트워크 구성들과 목적들에 적용될 수 있다.
서버 장치들(120A-B)은 전형적으로 복수의 프로세스들 및 복수의 공유된 또는 분리된 메모리 요소들을 구비할 수 있는, 예시적이고 제한적이지 않는, 클러스터드 컴퓨팅 환경 또는 서버 팜 내에 통합된 하나 또는 그 이상의 컴퓨터 장치들과 같은 컴퓨터 시스템들이다. 클러스터드 컴퓨팅 환경 또는 서버 팜에 의해 수행되는 컴퓨팅 프로세스들은 동일한 장소 또는 상이한 장소들에 위치된 복수의 프로세서들 전체를 통해 수행된다. 다른 실시예에 있어, 서버 장치들(120A-B)은 단일 컴퓨팅 장치 상에 구현될 수도 있다. 컴퓨팅 장치들의 예들은 중앙 처리 유닛, 주문형 반도체(application-Specific integrated Circuit), 또는 적어도 하나의 프로세서 및 메모리를 구비한 다른 타입의 컴퓨팅 장치를 구비한 장치를 포함하나, 이에 한정되는 것은 아니다.
네트워크(160)는 어떤 네트워크 또는 네트워크들의 조합일 수 있으며, 예시적이고 제한적이지 않게, 도 1의 네트워킹 요소들(코어 스위치(110), 액세스 스위치들(130A-B), 서버들(120A-B))과 다른 네트워킹 요소들을 통신가능하게 연결하는 근거리 네트워크(LAN), 광대역 네트워크(WAN), 인터넷, 유선 연결(예를 들어, 이더넷) 또는 무선 연결(예들 들어, Wi-Fi, 3G) 네트워크이다.
액세스 스위치들(130A-B)은 전형적으로, 예를 들어 L2/L3 스위치/라우터와 같은, 부가적인 라우팅/스위칭 능력을 갖는 데이터 포트들을 구비한 네트워크 브리지 장치들이다. 스위치는 적어도 두 개의 데이터 포트들 또는 무려 400 또는 그 이상이나 되는 데이터 포트들을 구비할 수 있으며, 트래픽을 특정 포트로부터 다른 포트로 전이중 방식(full-duplex)으로 전송할 수 있고, 실질적으로 특정 포트를 입력으로서 동작하도록, 특정 포트를 출력으로서 동작하도록 할 수 있다. 설명의 편의를 위하여, 여기에서, 데이터 포트들과 그 대응하는 링크들은 데이터 채널들, 통신 링크들, 데이터 링크들 등으로서 교환적으로 참조될 수 있다.
도면들 내의 물리적인 묘사들이 제한적으로 해석되지 않아야 하므로, 여기에서 사용된 액세스 스위치들(130A-B) 및 호스트들(120A-B)은 단일 물리 장치(미도시) 내에 결합된 호스트(120A) 및 액세스 스위치(130A)를 포함할 수 있다. 또한, 액세스 스위치들(130A-B)은 최신의 계층적 스위칭 아키텍쳐들(modern tiered switching architectures) 내의 스위치 로직의 이용을 광범위하게 포함한다. 코어 스위치는 전형적으로 복수의 액세스 스위치들(130)을 링크하기 위하여 네트워크 토폴로지 내에 위치된 고속 스위치이다. 여기에서 네트워크 요소들을 설명하기 위하여 사용된 용어 "물리적(physical)"은 전형적으로 비-가상화된 장치(non-virtualized device)와 같은 "비-가상(non-virtual)"을 의미한다. 또한, 트래픽 경로 선택 및 처리에 적용된 것과 같은 여기에서의 사상들은 이러한 기능들을 처리하는 모든 요소들에 일반적으로 적용될 수 있기 때문에, 여기에서 사용된 바와 같이, 용어 라우팅, 스위칭 및 라우팅/스위칭은 일반적으로 상호교환적으로 사용된다.
도 2는 서버(120A) 및 액세스 스위치(130A)의 예를 도시한다. 서버(120A)는 가상 머신들(240A-B), 가상 스위치(250), 통신 제어기(CC)(270), 가상 머신 매니저(VMM)(245) 및 프로세서(260)를 포함하는 것으로 도시되어 있다. 물리적 링크들은 서버(120A)와 액세스 스위치(130A) 사이에 나타난다.
가상 머신들(VMs)(240A-B)는 전형적으로 동적으로 제공된 소프트웨어 엔터티들이며, 이는 네트워크에서 독립적인 네트워크 엔터티들로 나타나고, 그 각각은 미디어 액세스 컨트롤(MAC) 어드레스를 갖는다. 또한, 가상 머신들(240A-B)은 전형적으로 가상화 플랫폼(virtualization platform)의 일부인 가상 머신의 사례이다. 관련된 기술분야의 당업자는 최신 가상화 플랫폼들 및 그 구현에 대하여 알 수 있을 것이다. 가상 머신을 구비한 시스템은 전형적으로 완전한 운영 시스템(OS)의 실행을 지원하는 완전한 시스템 플랫폼을 제공한다. 가상 머신은 전형적으로 VMM(245)과 같은 가상 머신 매니저들(하이퍼바이저(hypervisor)라고도 알려진)에 의해 관리된다.
가상 스위치(VS)(250)는 전형적으로 가상 머신들(240A-B)과 다른 네트워크 요소들 간에 통신을 제공하기 위하여 사용된다. 예시적인 동작에 있어, 가상 스위치(250)는 가상 머신(240A)으로부터 패킷을 수신하고, 소스 맥 어드레스와 목적지 맥 어드레스를 판독하며, 패킷을 서버의 메모리 서브시스템들로 포워드한다. 이러한 포워딩 동작과 함께, 가상 스위치(250)는 가상 머신(240A)이 서버(120A) 내의 다른 가상 머신들뿐만 아니라 외부 장치들과의 통신하는 것을 가능하게 한다.
관련된 기술분야의 당업자는 몇몇 구현들에 있어, 가상화된 시스템의 가상 제어 플레인(예를 들어 가상 머신 매니저(245))이 네트워크 토폴로지의 물리적 부분들과의 상이한 측면들을 인지하지 못할 수도 있음을 이해할 수 있을 것이다. 가상 머신 매니저(245) 내의 이러한 정보의 결여는 물리적 스위칭 요소와 가상 스위칭 요소 간의 링키지들과 관련하여 대단히 중요하다. 이하에서 논의되는 바와 같이, 몇몇 실시예들은 네트워크 내의 이종 요소들 간의 링키지들을 향상시키기 위하여, 부가적인 정보를 가상화된 요소들에게 제공할 수도 있다.
프로세서(260)는 전형적으로 단일 프로세서, 일군의 프로세서들, 또는 그 조합들이다. 프로세서 장치는 하나 또는 그 이상의 프로세서 '코어(core)'를 구비할 수 있다. 예시적으로, 적어도 하나의 프로세서 장치 및 메모리가 전술한 바와 같은 실시예들을 구현하기 위하여 사용될 수 있다.
이러한 상세한 설명을 읽은 후, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍쳐들을 이용하여 본 발명을 구현하는 방법이 관련된 기술분야의 당업자에게 명백해질 것이다. 동작들이 일련의 프로세스로서 설명되더라도, 몇몇 동작들은 실제 병렬로, 동시에, 및/또는 분산된 환경에서, 그리고 단일 또는 복수 프로세서 머신들에 의하여 액세스되기 위해 지역적으로 또는 원격적으로 저장된 프로그램 코드를 이용하여 수행될 수 있다. 이에 더하여, 몇몇 실시예들에 있어 동작들의 순서는 개시된 주제의 사상에서 벗어나지 않고 재배열될 수도 있다.
도 3은 전통적인 스위칭 링키지(310)를 나타내는 점선을 포함하는 도 1의 네트워크 토폴로지(100)와 유사한 네트워크 토폴로지(300)를 도시한다. 스위칭 링키지(310)는 코어 스위치(110) 및 액세스 스위치(130A)를 포함하고 있는 것으로 도시되어 있다. 통신 제어기(270) 및 가상 스위(250)는 스위칭 링키지(310) 내에 포함되어 있지 않음이 주목되어야 한다.
이상에서 논의된 바와 같이, 전통적으로, 물리적 요소들을 스위칭 링키지(310) 내로 링크하기 위한 상이한 처리 방법들이 추구되어 왔다. 예를 들어, 네트워크 트래픽은 기본 정보 헤더들로 "태그"되어 왔다. 이러한 태그들은 논리적인 링크를 위하여, 또는 예를 들어, 스위칭 링키지(310)를 통해 패킷이 라우트될 수 있도록 하는 패킷 소스 및 목적 정보와 같은 참조 정보의 제공을 통해 물리적 스위치들을 "스택(stack)"하기 위하여 고안되었다. 이상에서 살펴본 바와 같이, 물리적 장치들 간의 이러한 물리적 링키지들을 가능하게 하는 전통적인 태그들은 가상 스위치와 물리적 스위치와 같은 이종 네트워크 장치들을 링크하기 위하여 요구되는 사항들을 구비하고 있지 않다. 실시예들에 이용된 대안적인 처리 방법들이 이하에서 논의된다.
이종 스위칭 도메인(
Heterogeneous
Switching
Domain
)
도 4는 일 실시예에 따른, 가상 스위치(VS)(250), 액세스 스위치(130A) 및 코어 스위치(110)를 포함하는 이종 스위칭 도메인(HSD)(410)을 구비한 네트워크 토폴로지(400)를 도시한다.
여기에서 몇몇 실시예들에 사용된 바와 같이, 이종 스위칭 도메인(410)은 가상 스위칭 장치와 물리적 스위칭 장치를 단일 스위칭 도메인 내로 링크/통합/바인드할 수 있다. 예를 들어, 일 실시예에 있어, 이종 스위칭 도메인(410)은 유사한 속성 필터들(attribute filters), QOS 및 트래픽 관리 특성들을 갖는 액세스 스위치(130A)와 가상 스위치(250)로의 액세스를 가능하게 한다. 여기에서의 사상에 접근할 수 있는 관련된 분야의 당업자는 이러한 가상 및 물리적 스위치 특성/속성들의 통합으로부터 생기는 이익들을 이해할 수 있을 것이며, 예시적인 이익들이 이하에서 논의된다.
네트워크 관점으로부터, 패킷이 이종 스위칭 도메인(410)의 "가장자리(edge)" 스위치 포트로 진입하는 경우, 패킷이 이종 스위칭 도메인(410) 요소들을 통해 이동함에 따라 패킷은 단일 스위칭 엔진에 의해 처리된 것과 유사하게 취급된다. 다르게 표현하면, 일 실시예에 있어, 이종 스위칭 도메인(410)은 포함된 모든 요소들 사이에서 스위치 구조의 익스텐더(extender)로서 동작한다.
여기에서의 사상에 접근할 수 있는 관련된 분야의 당업자는 이러한 이종 링크 장치들의 단일 도메인 내로의 이러한 링키지가 도 3을 참조해 이상에서 논의된 전통적인 "스태킹"과 대비된다는 것을 또한 이해할 수 있을 것이다.
향상된 헤더들(
Enhanced
Headers
)
이종 스위칭 도메인(410)이 가상 및 물리적 네트워크 요소들에 링크하는 것을 가능하게 하는 하나의 처리 방법은 패킷들이 이종 스위칭 도메인(410) 내의 스위치들과 상호 동작함에 따라 처리된 패킷들에 앞서 첨부된(prepended) 향상된 헤더를 이용하는 것이다. 전술한 바와 같은 제한적인 종래 태그들과 대조적으로, 향상된 헤더들은 실시예들에서 설명된 것과 같은 이종 스위치 도메인(410)의 잘 알려진 특징들을 가능하게 하는 것과 관련된 부가적인 정보를 포함한다. 일 실시예에 있어, 향상된 헤더들은 네트워크 토폴로지(400)의 요소들에 대한 업데이트된 상태-정보를 포함하고 분배할 수 있다. 일 실시예에 있어, 향상된 헤더를 통하여 저장되고 중계되는 이종 스위칭 도메인(410)의 동작에 관한 정보는 "도메인 정보(domain information)"로 지칭될 수 있다.
동종 네트워크들 내의 패킷들의 전통적인 태깅이 네트워크 내의 상이한 포인트들, 예를 들어, 소스들 및 목적지들에 대한 참조들을 포함할 수 있는 반면, 여기서 설명되는 향상된 헤더의 몇몇 실시예들은 예를 들어 성능, 에너지 절감, 효율 등과 같은 상이한 네트워킹 고려사항(consideration)에 영향을 주는 명령들을 포함한다.
이하의 리스트 H1~H8은 실시예들에 따른 향상된 헤더 내에 포함될 수 있는 아이템들과 관련된 예의 비-제한적인 예시적 리스트이다.
H1. 네트워크 스위칭 요소 내로의 패킷 입력 포트를 지정(specify)하기 위한 명령.
H2. 네트워크 스위칭 요소 밖으로의 패킷 출력 포트를 지정하기 위한 명령.
H3. 포워딩 전에 네트워크 스위칭 요소에 의해 패킷에 수행될 부가적인 프로세싱을 지정하기 위한 명령.
H4. 네트워크 스위칭 요소에 의해 패킷이 포워드되기 전에 반드시 충족되어야만 하는 조건들을 지정하기 위한 명령. 예를 들어, 패킷이 이종 스위칭 도메인(410) 밖으로 포워드되기 전에, 조건에 의해 지정된 네트워크 스위칭 요소 상의 지정된 출력 포트로 나가기 위한 권한이 부여되어야만 하는 조건이 설정될 수 있다.
H5. 패킷 필터링 옵션들을 지정하기 위한 명령. 예를 들어, 패킷들은 패킷들의 발원 서브도메인 또는 목적 서브도메인에 기초하여 필터링될 수 있다.
H6. 패킷 프로세싱에 대한 옵션들과 조건들을 지정하기 위한 명령. 일 실시예에 있어, 가상 스위치(250)가 프로세서(260)를 이용하여 구현되었으므로, 프로세서(260)의 용량과 작업량에 맞춘 패킷 프로세싱 옵션들/조건들을 구현함으로써 이익들이 발생할 수 있다. 일 실시예에 있어, 이종 스위칭 도메인(410)의 이종 통합(물리적에 대하여 링크된 가상) 때문에, 프로세싱 기능(function)들은 가상 및 물리적 자원들 사이에서 동적으로 재할당될 수도 있다.
H7. 포워딩 옵션들을 지정하기 위한 명령으로, 이러한 옵션들은 네트워크 내의 트래픽 경로들을 지정한다. 일 실시예에 있어, 각각의 트래픽 경로는 상이한 가중치, 용량들, 혼잡 레벨들, 및 패킷의 소스-기반 방향을 제공하기 위하여 사용되는 이러한 특성들을 가질 수 있다. 여기에서의 설명들이 주어지는 경우, 관련된 기술분야의 당업자에 의해 이해될 수 있는 바와 같이, 실시예들에 있어, 이러한 능력은 패킷들을 가상 스위치들 내로 및 밖으로 라우팅하는데 매우 유용할 수 있다. 가상 플레인 내의 모든 요소들과 마찬가지로, 가상 스위치들은 전통적으로 플레인 밖의 물리적 특성들에 대한 포괄적인 정보를 가지지 않는다. 일 실시예에 있어, 가상 및 물리적 스위치들을 이종 스위칭 도메인(410) 내로 링크하는 것은 이종 스위칭 도메인(410) 내의 요소들에 대한 정보를 제공함으로써 가상 스위치(250)의 라우팅 능력들을 향상시킬 수 있다. 라우팅에서의 이러한 향상은, 예를 들어 네트워크 전반에 걸쳐 부하-균형(load-balancing) 능력들을 향상시킬 수 있다.
H8. 이종 스위칭 도메인(410) 내의 상이한 통합된 요소들에 적용되기 위한 에너지 제어 및 효율성 정책들을 지정하기 위한 명령. H7과 함께 이상에서 논의된 물리적 특성들과 마찬가지로, 전통적인 가상 요소들을 이용한 네트워크 구현들에 있어, 포괄적인 전원-절감 옵션을 구현하는 것이 어려웠다. 일 실시예에 있어, 물리적 및 가상 스위치들을 이종 스위칭 도메인(410) 내에 통합함으로써, 에너지 제어 및 효율성 처리 방법들을 구현하기 위한 단일화된 처리 방법이 취해질 수 있다. 이러한 처리 방법들은, 예를 들어 IEEE P802.3az 표준(에너지 효율 이더넷(Energy Efficient Ethernet)으로도 알려진)에 따라 구현된 제어 정책들을 포함할 수도 있다.
관련된 기술분야의 당업자에 의해 이해될 수 있는 바와 같이, 전기의 아이템들 H1~H8은 향상된 헤더 내에서 중계될 수 있는 정보의 비-제한적 예들이다. 이종 스위칭 도메인(410)과 그것으로부터 기인한 기능들/이익들은 여기서 개시된 본 발명의 사상에서 벗어나지 않고 다양한 방식으로 구현될 수 있다.
향상된 헤더의 일례는 캘리포니아주 어바인시의 브로드콤 주식회사의 HIGIG HEADER이다. HiGig 헤더 인터페이스의 일 타입은 시스템 확장성과 성능을 향상시킬 수 있는 10-Gbps, 전이중 방식의 칩-대-칩(chip-to-chip) 인터페이스이다. HiGig 헤더의 특정 구현들과 커스터마이제이션들(HiGig+ 및 HiGig2 프로토콜들의 변형들과 함께)은 물리적 및 가상 스위치들을 이종 스위칭 도메인(HSD)(410)과 같은 이종 스위치 도메인 내로의 상호연결에 대한 표준 메커니즘을 제공하기 위한 실시예들에 의해 사용될 수 있다. 프로토콜의 실시예들은 유니캐스트, 브로드캐스트, 멀티캐스트(Layer 2 및 IP) 및 제어 트래픽을 위한 포워드 프레임들을 정의할 수 있다. HiGig/HiGig+ 프로토콜은 표준 이더넷 프레임들에 앞서 첨부됨으로써 형성되는 HiGig 프레임, 12바이트 내지 16바이트 HiGig 헤더를 구현한다. 이러한 특정 헤더는 예시일뿐이고, 여기에서는 몇몇 실시예들을 구현할 수 있는 단지 한가지 타입의 프로토콜만이 설명되어 졌다는 것이 이해되어야 할 것이다.
몇몇 구현들에 있어, HiGig 헤더는 패킷에 관한 정보, 즉, 패킷의 소스 및 목적 포트들, 및 포트 미러링에 대한 정보를 포함한다. 실시예들에 있어, 이러한 정보는 스위치 도메인들 내에서 그리고 그 사이에서의 테이블 검색을 촉진할 수 있고, 그에 따라 전체 시스템 성능이 향상될 수 있다.
스위칭 가속 엔진(
Switching
Accelerator
Engine
,
SAE
)
도 5는 서버(120A) 및 액세스 스위치(130A)의 실시예들을 도시하며, 서버(120A)는 가상 스위치(250), 통신 제어기(CC)(270)를 구비한 것으로 도시되어 있다. 통신 제어기(270)는 스위칭 가속 엔진을 구비한 것으로 도시된다. 전술한 바와 같이, 가상 스위치(250)와 물리적 스위치들(130A, 110)을 링크하는 것에 더하여, 이종 스위칭 도메인(410)의 실시예들은 통신 제어기(CC)(270)를 포함할 수 있다. 특별히, 이종 스위칭 도메인(410)을 사용하는 일 실시예에 있어, 스위칭 가속 엔진(SAE)(570)은 가상 스위치(250)와 스위치들(130A, 110)에 링크될 수 있다.
일 실시예에 있어, 통신 제어기(CC)(270)는 그 내부에 스위칭 가속 엔진(SAE)(570)(NIC 스위칭 엔진으로도 알려진)을 구비한다. 서버(120A) 상의 통신 제어기(270) 내에 스위칭 가속 엔진(SAE)(570)을 포함함으로써, 부가적인 프로세싱 자원들이 이종 스위칭 도메인(410)에 대하여 이용가능하게 된다. 스위칭 가속 엔진(570)은 이종 스위칭 도메인(410) 내의 물리적 및 가상 요소들에 대한 스위칭 기능들을 수행하기 위하여 디자인된 특화된 프로세서일 수 있다.
일 예에 있어, 상황이 적당한 경우, 가상 스위치(250)는 선택적으로 프로세싱 기능들을 스위칭 가속 엔진(570)으로 떠넘길 수 있다. 이종 스위칭 도메인(410) 내로 통합된 상이한 타입의 하드웨어 요소로서의 스위칭 가속 엔진(570)의 포함은 이종 스위칭 도메인(410) 구조의 이종적인 본질을 두드러지게 한다.
일 예에 있어, 가상 스위치(250)는 가상 스위치(250)의 스위칭/프로세싱/포워딩 능력들을 가속하기 위하여 스위칭 가속 엔진(570)의 스위칭 능력을 이용할 수 있다. 이러한 실시예에 있어, 스위칭 가속 엔진(570)을 사용함으로써, 통신 제어기(270)는 가상 스위치(250)에 대한 추가적인 하드웨어 가속 엔진이 된다. 스위칭 가속 엔진(570)에 의해 향상된 가상 스위칭 기능들은 여기서 설명된 향상된 헤더들의 효율적인 프로세싱을 포함한다.
이익들(
Benefits
)
이상에서 설명된 바와 같은, 이종 스위칭 도메인(410)에 의해 제공되는 통합은 많은 이익들을 갖는다. 이하의 아이템들 B1~B10은 추가적인 구현 명세들과 실시예들로부터 발생하는 예시적 이익들의 비-제한적 리스트이다.
B1. 물리적 및 가상 스위치들을 단일 스위칭 엔터티로 통합함에 의하여, 실시예들은 네트워크 상의 개별적으로 관리되어야만 하는 장치들-가상 및 물리적-의 양을 감소시킨다. 또한, 일 실시예에 있어, 더 적은 장치들이 패킷 프로세싱에 사용되는 토폴로지 프로토콜들에 참여하도록 요구된다.
B2. 이종 스위칭 도메인(410) 내에서 트래픽하기 위한 단일화된 처리 방법을 구비함으로써, 스위치 트래픽 모니터링을 향상시킨다. 예를 들어, 가상 스위치(250)는 액세스 스위치(130A)와 함께 패킷 모니터링을 조직화할 수 있다. 일 실시예에 있어, 가상 스위치(250)는 패킷들을 복사하고 다른 스위치 엔터티, 예를 들어 스위치(130A) 상의 모니터링 포트로 전송할 수 있다. 전술된 바와 같은 향상된 헤더들이 이종 스위칭 도메인(410) 내의 모든 통합된 요소들의 특성들과 트래픽에 대한 정보를 포함하고 있기 때문에, 이것은 트래픽 모니터링의 더 효율적인 방법을 제공할 수 있다.
B4. 가상 스위치(250)와 액세스 스위치(130A)의 통합은 가상 스위칭 프로세스의 효율과 동작을 향상시키기 위한 처리 방법의 발전을 가능하게 한다. 여기서 설명이 주어지면, 관련된 분야의 당업자에 의해 이해되는 바와 같이, 가상 스위치들은 스위칭 태스크들에 적용되는 부가적인 프로세싱 파워를 구비하는 것으로부터 이익을 얻을 수 있다. 실시예들에 있어, 가상 스위치(250)와 액세스 스위치(130A)의 통합 때문에, 선택된 프로세싱 태스크들인 동적으로 가상 스위치(250)로부터 액세스 스위치(130A)로 떠넘겨질 수 있다. 이상에서 살펴본 바와 같이, 또한, 이러한 떠넘김(offloading)은 스위칭 가속 엔진(570)에 의해 수행될 수도 있다. 실시예들에 있어, 통합된 네트워크 요소들 내의 자원들은 자체 균형(self balance), 예를 들어 시스템의 동작에 기초하여 가장 적합하도록 자동으로 기능을 수행하는 것과 같은 자체 균형이 가능하게 될 수 있다.
B6. 실시예들에 있어, 네트워크 요소들을 이종 스위칭 도메인(410) 내에 링크함으로써, 시스템(400)의 보안 측면들이 향상될 수 있다. 일 실시예에 있어, 이종 스위칭 도메인(410)의 "가장자리(edge)"는 보안 절차를 적용하도록 구성될 수 있다. 예를 들어, 외향 인접 요소들(예를 들어, 가상 스위치(250))의 포트들은 패킷들이 특정 입력 포트들에 액세스하는 것을 가능하게 하기 전에 적용되는 부가적인 조건들을 구비하도록 설정될 수 있다. 일 실시예에 있어, 이종 스위칭 도메인(410)의 가장자리 주변에서 이러한 보안 정책들을 강화하는 하나의 방법은 전술한 바와 같은 향상된 헤더들을 사용하는 것이다.
B7. 실시예들에 있어, 이상에서 B6와 함께 논의된 보안 정책들의 동일한 배포가 상이한 요소들에게 에너지 절감 및 제어 정책을 배포하고 적용하기 위하여 이용될 수 있다. 예를 들어, 관련된 기술분야의 당업자가 이해할 수 있는 바와 같이, 가상 스위치(250)가 두 개의 여분의 트래픽 경로들을 50%의 효율로 사용하고 있는 경우, 이러한 상태를 검출하고 링크들 중 하나를 0% 사용량으로 변경하고, 다른 하나를 100% 사용량으로 변경하는 것은 특정 상황에서 에너지를 절감할 수 있다. 일 실시예에 있어, 가상 스위치(250)를 이종 스위칭 도메인(410) 내의 다른 자원들과 링크하는 것은 상태를 검출하는 것과 그 상태를 정정하기 위한 정책들을 강화하는 것 둘 다에 도움이 될 수 있다.
다른 하드웨어 제조업체를 이용한 구현들(
Implementations
with
Different
Hardware
Vendors
)
여기서 설명된 이종 스위칭 도메인(410)의 몇몇 실시예들은 가상 및 물리적 스위칭 엔터티들의 스위칭 로직을 통합하도록 디자인되었기 때문에, 일 실시예에 있어, 성능들의 통합 없이 가상 스위치들을 여기서 설명되는 이종 스위칭 도메인(410) 엔터티들 내로 통합되는 것을 가능하게 하는 소프트웨어 개발 키트(Sofware Development Kit, SDK)가 제공된다.
예를 들어, 특정 "바닐라/제너릭(vanilla/generic)" 가상 스위치 구현이 그것의 이종 스위칭 도메인(410) 내로의 통합을 가능하게 하는 특징들/능력들을 구비하지 않은 경우, 소프트웨어 개발 키트는 그 특징들이 부가되는 것을 가능하게 한다. 부가될 수 있는 일 특징은 전술한 향상된 헤더들과 작업하기 위한 능력이며, 일 실시예에 있어, 이러한 헤더들이 제공되는 경우, 가상 및 물리적 스위치들 간에 링키지가 조직된다. 이러한 소프트웨어 개발 키트, 또는 유사한 스위치 드라이버들은 바닐라 가상 스위치를 여기서 설명한 바와 같은 실시예들의 이익들의 발생이 가능한 특화된 가상 스위치가 되게 한다.
이상에서 살펴본 바와 같이, 일 실시예에 있어, 이종 스위칭 도메인(410) 내에 통합된 가상 스위치(250)를 구비하는 것은 이러한 스위치가 그것의 스위칭 기능들에 적용되는 서로 다른 정책들, 특성들 및 속성들을 가지는 것을 가능하게 한다. 여기에서의 사상에 접근할 수 있는 관련된 기술분야의 당업자에 의해 이해될 수 있는 바와 같이, 상이한 제조회사로부터의 서로 다른 네트워크 스위칭 요소들(예를 들어, 통신 제어기들, 스위치들)은 상이한 특징들을 가지며, 이것은 실시예들에 의해 이러한 특징들이 용이하고 균일하게 이종 스위칭 도메인(410) 내의 가상 스위치들에 적용되도록 하기에 유리하다.
예를 들어, 액세스 스위치(130A)의 제조회사-특정 특징들(vendor-specific characteristics)이 가상 스위치(250)에 적용되도록 하는 것은, 가상 스위치(250)가 이러한 요소들 간의 통합과 관련된 개선들을 가지는 것을 가능하게 한다.
도 6은 이종 스위칭 도메인 제어기(heterogeneous switching domain controller, HSDC)(610A-D)의 실시예들을 나타내는 네트워크 토폴로지(600)를 도시한다. 서로 다른 실시예들에 있어, 이종 스위칭 도메인 제어기(610A-D)는 전술한 바와 같은 이종 스위칭 도메인(410) 기능들에 적용하기 위한 중앙화된 로직을 제공한다. 예를 들어, 이종 스위칭 도메인 제어기(610A-D)는 도메인 내에 포함된 이종 요소들 전체에 걸친 보안 정책들의 시행을 조정할 수 있다. 여기에서의 설명이 주어지면, 관련된 기술분야의 당업자에 의해 이해될 수 있는 바와 같이, 이종 스위칭 도메인 제어기(610A-D)는 이종 스위칭 도메인(410) 요소들에 의해 사용되는 전술한 바와 같은 향상된 헤더들의 생성, 변형 및 적용을 관리함으로써 그 제어 기능을 수행할 수 있다. 이상에서 이종 스위칭 도메인 제어기(610A-D)의 실시예와 함께 설명된 로직 및 제어 기능은 네트워크 토폴로지(600) 내의 하나 또는 그 이상의 요소들 내에 위치될 수 있다. 도시된 예시적인 배치들은, 통신 제어기(270)의 일부로서의 이종 스위칭 도메인 제어기(610A), 액세스 스위치(130A)의 일부로서의 이종 스위칭 도메인 제어기(610B), 서버(120A)의 일부로서의 이종 스위칭 도메인 제어기(610C) 및 코어 스위치(110)의 일부로서의 이종 스위칭 도메인 제어기(610D)를 포함한다. 언급된 배치들은 비-제한적 의도이며, 이종 스위칭 도메인 제어기(610A-D)의 실시예들은 소프트웨어 또는 하드웨어로 구현될 수 있다.
방법(700)(
Method
700)
이 절과 도 7은 가상 및 물리적 네트워크 스위칭 장치들을 이종 스위칭 도메인 내로 통합하는 예시적인 방법(700)의 순서도를 표현함으로써 여기서 설명된 기술들을 요약한다. 방법(700)이 본 발명의 일 실시예에 관련하여 설명되었으나, 방법(700)이 한정되는 의미는 아니며, 방법(700)은 다른 응용들에서도 이용될 수 있다.
도 7에 도시된 바와 같이, 방법(700)의 실시예는 단계 710에서 시작하고, 여기서 제 1 스위칭 장치에 의해 헤더가 가상 머신으로부터 수신된 패킷에 첨부되며, 헤더는 이종 스위칭 도메인에 관한 도메인 정보를 포함한다. 일 실시예에 있어, 가상 스위치(250)는 가상 머신(240A)으로부터 수신된 패킷에 헤더를 첨부할 수 있다. 단계 710이 완료되면, 방법(700)은 단계 720으로 진행한다.
단계 720에서, 패킷은 제 1 스위칭 장치에 의해 처리되며, 그 처리(processing)는 헤더에 의해 제어된다. 일 실시예에 있어, 패킷은 가상 스위치(250)에 의해 처리되고, 이러한 처리는 헤더에 의해 제어된다. 단계 720이 완료되면, 방법(700)은 단계 730으로 진행한다.
단계 730에서, 패킷은 포워드되며, 이 포워딩은 헤더에 의해 제어된다. 일 실시예에 있어, 가상 스위치(250)가 패킷을 액세스 스위치(130A) 또는 스위칭 가속 엔진(570) 중 하나로 포워드한다. 단계 730이 완료되면, 방법(700)은 종료된다.
결론(
Conclusion
)
본 발명의 다양한 실시예들이 위에서 설명되었으나, 그들은 본 발명을 한정하려는 의도에서가 아니라 예로서 제시된 것임이 이해되어야 한다. 본 발명의 사항 및 영역을 벗어남이 없이 형태 및 세부 사항에서의 다양한 변경들이 이루어질 수 있다는 것은 관련 기술 분야에서 숙련된 자들에게 명백할 것이다. 따라서, 본 발명은 후술되는 청구항들과 그 균등범위들에 따라서 정의되어야만 할 것이다.
Claims (15)
- 가상 네트워크 스위칭 장치와 물리적 네트워크 스위칭 장치를 이종 스위칭 도메인 내로 통합하는 방법으로서,
제 1 스위칭 장치에 의하여, 가상 머신으로부터 수신된 패킷에 헤더를 첨부하는 단계로서, 상기 헤더는 이종 스위칭 도메인의 요소를 설명하는 도메인 정보를 포함하고 있는 것인 단계;
상기 제 1 스위칭 장치에 의하여, 상기 패킷을 처리하는 단계로서, 상기 처리는 상기 헤더에 의해 제어되는 것인 단계; 및
상기 처리된 패킷을 포워딩하는 단계로서, 상기 포워딩은 상기 헤더에 의해 제어되는 것인 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 처리된 패킷은 제 2 스위칭 장치로 포워드되며, 상기 제 2 스위칭 장치는 스위치 또는 라우터인 것을 특징으로 하는 방법. - 청구항 2에 있어서,
상기 스위칭 장치들 중 어느 하나는 물리적 스위칭 장치 또는 가상 스위칭 장치이고, 상기 이종 스위칭 도메인은 적어도 하나의 가상 스위칭 장치를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 도메인 정보는,
상기 도메인 내의 스위칭 장치의 입력 포트; 및
상기 스위칭 장치의 출력 포트를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 처리(processing)를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 필터링 옵션들을 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 도메인 정보는 상기 스위칭 장치에 의하여 상기 처리된 패킷에 적용되기 위한 트래픽 경로(traffic path)를 포함하며,
상기 트래픽 경로는 물리적 스위칭 장치 및 가상화된 스위칭 장치 둘 다를 통하여 상기 처리된 패킷을 라우팅하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 도메인 정보는 상기 제 1 스위칭 장치의 동작에 적용되기 위한 에너지 제어 및 효율성 정책을 포함하는 것을 특징으로 하는 방법. - 가상 네트워킹 요소와 물리적 네트워킹 요소를 이종 스위칭 도메인 내로 통합하는 시스템으로서,
스위칭 가속 엔진(switching accelerator engine, SAE)를 구비한 통신 제어기를 포함하며,
상기 스위칭 가속 엔진은,
가상 머신으로부터 수신된 패킷의 헤더를 디코드하도록 구성되고, 상기 헤더는 상기 이종 스위칭 도메인에 관한 도메인 정보를 포함하며;
상기 패킷을 처리하도록 구성되고, 상기 처리는 상기 헤더에 의해 제어되며; 그리고
상기 처리된 패킷을 네트워크 요소로 포워드하도록 구성되고, 상기 포워딩은 상기 헤더에 의해 제어되는 것을 특징으로 하는 시스템. - 청구항 9에 있어서,
상기 패킷이 포워드되는 상기 네트워크 요소는 물리적 스위칭 장치인 것을 특징으로 하는 시스템. - 청구항 9에 있어서,
상기 패킷이 포워드되는 상기 네트워크 요소는 상기 가상 머신인 것을 특징으로 하는 시스템. - 청구항 9에 있어서,
상기 도메인 정보는,
상기 이종 스위칭 도메인 내의 스위칭 장치의 입력 포트; 및
상기 스위칭 장치의 출력 포트를 포함하는 것을 특징으로 하는 시스템. - 청구항 9에 있어서,
상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 처리(processing)를 포함하는 것을 특징으로 하는 시스템. - 청구항 9에 있어서,
상기 도메인 정보는 상기 스위칭 장치에 의해 상기 패킷에 적용되기 위한 필터링 옵션들을 포함하는 것을 특징으로 하는 시스템. - 가상 네트워킹 요소와 물리적 네트워킹 요소를 이종 스위칭 도메인 내로 통합하는 시스템으로서,
서버;
상기 서버에서 동작하는 제 1 가상 머신;
상기 서버에서 동작하는 가상 스위치로서, 상기 가상 스위치는 상기 제 1 가상 머신으로부터 패킷들을 수신하고 처리하도록 구성되며, 상기 제 1 가상 머신으로부터의 패킷 수신에 대하여, 상기 가상 스위치는 상기 패킷에 헤더를 첨부하도록 구성되고, 상기 헤더는 상기 이종 스위칭 도메인에 관한 도메인 정보를 포함하고 있는 것인 가상 스위치; 및
상기 서버에 연결된 물리적 스위치로서, 상기 패킷 수신에 대하여, 상기 물리적 스위치는 상기 첨부된 헤더를 디코드하고, 상기 헤더에 따라 상기 패킷을 처리하도록 구성되는 물리적 스위치를 포함하는 것을 특징으로 하는 시스템.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36952910P | 2010-07-30 | 2010-07-30 | |
US61/369,529 | 2010-07-30 | ||
US12/872,738 | 2010-08-31 | ||
US12/872,738 US9118591B2 (en) | 2010-07-30 | 2010-08-31 | Distributed switch domain of heterogeneous components |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120012448A KR20120012448A (ko) | 2012-02-09 |
KR101231673B1 true KR101231673B1 (ko) | 2013-02-08 |
Family
ID=44581939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110076560A KR101231673B1 (ko) | 2010-07-30 | 2011-08-01 | 이종 요소들의 분산된 스위치 도메인 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9118591B2 (ko) |
EP (1) | EP2413549B1 (ko) |
KR (1) | KR101231673B1 (ko) |
CN (1) | CN102347900B (ko) |
HK (1) | HK1166898A1 (ko) |
TW (1) | TWI538445B (ko) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8958292B2 (en) * | 2010-07-06 | 2015-02-17 | Nicira, Inc. | Network control apparatus and method with port security controls |
CN102594707A (zh) * | 2012-03-21 | 2012-07-18 | 北京天地云箱科技有限公司 | 网络控制系统及网络交换适配器 |
US9558351B2 (en) | 2012-05-22 | 2017-01-31 | Xockets, Inc. | Processing structured and unstructured data using offload processors |
US9495308B2 (en) | 2012-05-22 | 2016-11-15 | Xockets, Inc. | Offloading of computation for rack level servers and corresponding methods and systems |
US9898317B2 (en) | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9292351B2 (en) * | 2012-06-15 | 2016-03-22 | Verizon Patent And Licensing Inc. | Distributed fabric architecture in a cloud computing environment |
EP3852316B1 (en) * | 2012-06-21 | 2022-10-26 | Huawei Technologies Co., Ltd. | Method, apparatus, host, and network system for processing packet |
US8982734B2 (en) * | 2012-06-26 | 2015-03-17 | Intel Corporation | Methods, apparatus, and systems for routing information flows in networks using spanning trees and network switching element resources |
US8787396B2 (en) * | 2012-10-04 | 2014-07-22 | International Business Machines Corporation | Centralized control and management planes for different independent switching domains |
US9250954B2 (en) | 2013-01-17 | 2016-02-02 | Xockets, Inc. | Offload processor modules for connection to system memory, and corresponding methods and systems |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
CN103095568B (zh) * | 2013-01-30 | 2016-06-01 | 迈普通信技术股份有限公司 | 机架式交换设备实现堆叠的系统及方法 |
US9317310B2 (en) * | 2013-01-31 | 2016-04-19 | Broadcom Corporation | Systems and methods for handling virtual machine packets |
KR101499668B1 (ko) * | 2013-01-31 | 2015-03-06 | 주식회사 시큐아이 | 가상 실행 환경에서 네트워크 프레임을 전달하기 위한 장치 및 방법 |
US9888055B2 (en) | 2013-03-15 | 2018-02-06 | Profitbricks Gmbh | Firewall for a virtual network and related techniques |
US9363204B2 (en) | 2013-04-22 | 2016-06-07 | Nant Holdings Ip, Llc | Harmonized control planes, systems and methods |
US20150012973A1 (en) * | 2013-07-05 | 2015-01-08 | General Dynamics, C4 Systems, Inc. | Methods and apparatus for sharing a service between multiple virtual machines |
CN103428084B (zh) * | 2013-08-22 | 2017-05-24 | 福建星网锐捷网络有限公司 | 虚拟交换单元中虚拟交换设备的报文转发方法、成员设备 |
KR101512040B1 (ko) * | 2013-10-24 | 2015-04-14 | 에스케이텔레콤 주식회사 | 트래픽 처리 방법 및 장치 |
US9454314B2 (en) | 2014-03-07 | 2016-09-27 | ProfitBricks, Inc. | Systems and methods for creating an image of a virtual storage device |
US9361171B2 (en) | 2014-03-07 | 2016-06-07 | ProfitBricks, Inc. | Systems and methods for storage of data in a virtual storage device |
US9485191B2 (en) | 2014-03-31 | 2016-11-01 | Juniper Networks, Inc. | Flow-control within a high-performance, scalable and drop-free data center switch fabric |
US9294304B2 (en) * | 2014-03-31 | 2016-03-22 | Juniper Networks, Inc. | Host network accelerator for data center overlay network |
US9479457B2 (en) | 2014-03-31 | 2016-10-25 | Juniper Networks, Inc. | High-performance, scalable and drop-free data center switch fabric |
US9703743B2 (en) | 2014-03-31 | 2017-07-11 | Juniper Networks, Inc. | PCIe-based host network accelerators (HNAS) for data center overlay network |
WO2015167489A1 (en) | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Network fabric control |
US10291553B2 (en) | 2014-05-06 | 2019-05-14 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Logical switch architecture for network virtualization |
CN105530112A (zh) * | 2014-10-22 | 2016-04-27 | 深圳市中兴微电子技术有限公司 | 一种数据交换方法及系统 |
KR102168047B1 (ko) | 2016-09-26 | 2020-10-20 | 난트 홀딩스 아이피, 엘엘씨 | 클라우드 네트워크들에서의 가상 회로들 |
US10243840B2 (en) | 2017-03-01 | 2019-03-26 | Juniper Networks, Inc. | Network interface card switching for virtual networks |
US11411998B2 (en) * | 2018-05-01 | 2022-08-09 | Cisco Technology, Inc. | Reputation-based policy in enterprise fabric architectures |
CN113630342B (zh) * | 2021-06-25 | 2023-08-15 | 济南浪潮数据技术有限公司 | 一种虚拟交换机的转发表管理方法、系统及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047850A1 (en) | 2004-08-31 | 2006-03-02 | Singh Bhasin Harinder P | Multi-chassis, multi-path storage solutions in storage area networks |
KR100653634B1 (ko) | 2005-06-23 | 2006-12-06 | 조창환 | 네트워크 트래픽 제어 시스템 및 방법 |
US20080089247A1 (en) | 2006-10-16 | 2008-04-17 | Cisco Technology, Inc., A California Corporation | Multi-chassis emulated switch |
US7653056B1 (en) | 2006-06-02 | 2010-01-26 | World Wide Packets, Inc. | Virtual switching using a provisional identifier to conceal a user identifier |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5550816A (en) * | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US7124414B2 (en) * | 2002-10-31 | 2006-10-17 | International Business Machines Corporation | Method, system and program product for routing requests in a distributed system |
US20060031506A1 (en) * | 2004-04-30 | 2006-02-09 | Sun Microsystems, Inc. | System and method for evaluating policies for network load balancing |
US8254285B2 (en) | 2005-02-25 | 2012-08-28 | Ip Infusion, Inc. | Hardware abstraction layer |
US20070079307A1 (en) * | 2005-09-30 | 2007-04-05 | Puneet Dhawan | Virtual machine based network carriers |
US8010990B2 (en) * | 2006-10-26 | 2011-08-30 | Intel Corporation | Acceleration of packet flow classification in a virtualized system |
US8903938B2 (en) * | 2007-06-18 | 2014-12-02 | Amazon Technologies, Inc. | Providing enhanced data retrieval from remote locations |
US9432213B2 (en) | 2007-12-31 | 2016-08-30 | Rpx Clearinghouse Llc | IP forwarding across a link state protocol controlled ethernet network |
CA2659141C (en) * | 2008-03-20 | 2014-07-08 | Embotics Corporation | Method and system for supporting wake-on-lan in a virtualized environment |
JP2009278261A (ja) * | 2008-05-13 | 2009-11-26 | Toshiba Corp | 情報処理装置および通信制御方法 |
US8195774B2 (en) * | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
JP5157717B2 (ja) * | 2008-07-28 | 2013-03-06 | 富士通株式会社 | 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム |
US9264341B2 (en) * | 2009-07-24 | 2016-02-16 | Broadcom Corporation | Method and system for dynamic routing and/or switching in a network |
US9158567B2 (en) * | 2009-10-20 | 2015-10-13 | Dell Products, Lp | System and method for reconfigurable network services using modified network configuration with modified bandwith capacity in dynamic virtualization environments |
-
2010
- 2010-08-31 US US12/872,738 patent/US9118591B2/en active Active
-
2011
- 2011-07-21 EP EP11005997.9A patent/EP2413549B1/en active Active
- 2011-07-29 TW TW100126973A patent/TWI538445B/zh not_active IP Right Cessation
- 2011-08-01 KR KR1020110076560A patent/KR101231673B1/ko active IP Right Grant
- 2011-08-01 CN CN201110217767.6A patent/CN102347900B/zh not_active Expired - Fee Related
-
2012
- 2012-08-01 HK HK12107527.3A patent/HK1166898A1/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047850A1 (en) | 2004-08-31 | 2006-03-02 | Singh Bhasin Harinder P | Multi-chassis, multi-path storage solutions in storage area networks |
KR100653634B1 (ko) | 2005-06-23 | 2006-12-06 | 조창환 | 네트워크 트래픽 제어 시스템 및 방법 |
US7653056B1 (en) | 2006-06-02 | 2010-01-26 | World Wide Packets, Inc. | Virtual switching using a provisional identifier to conceal a user identifier |
US20080089247A1 (en) | 2006-10-16 | 2008-04-17 | Cisco Technology, Inc., A California Corporation | Multi-chassis emulated switch |
Also Published As
Publication number | Publication date |
---|---|
TWI538445B (zh) | 2016-06-11 |
US9118591B2 (en) | 2015-08-25 |
KR20120012448A (ko) | 2012-02-09 |
EP2413549A1 (en) | 2012-02-01 |
EP2413549B1 (en) | 2015-09-09 |
CN102347900A (zh) | 2012-02-08 |
CN102347900B (zh) | 2016-06-01 |
TW201220772A (en) | 2012-05-16 |
HK1166898A1 (zh) | 2012-11-09 |
US20120027018A1 (en) | 2012-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101231673B1 (ko) | 이종 요소들의 분산된 스위치 도메인 | |
US11743123B2 (en) | Managed switch architectures: software managed switches, hardware managed switches, and heterogeneous managed switches | |
EP2828760B1 (en) | Offloading packet processing for networking device virtualization | |
JP5946532B2 (ja) | データセンタ環境で物理ネットワークに仮想ネットワークをオーバーレイするための方法、オーバーレイ仮想ネットワークで通信するための方法、ネットワーク仮想化環境のためのシステム、データセンタおよびコンピュータ・プログラム | |
US8665747B2 (en) | Preventing loops on network topologies built with virtual switches and VMS | |
US9225549B2 (en) | Multi-chassis link aggregation in a distributed virtual bridge | |
US20170142011A1 (en) | Hybrid Packet Processing | |
US11336570B1 (en) | Layer three multi-homing for virtual networks | |
WO2012033041A1 (ja) | コンピュータシステム、及びコンピュータシステムにおける通信方法 | |
US20230079209A1 (en) | Containerized routing protocol process for virtual private networks | |
US11063872B2 (en) | Scalable overlay multicast routing | |
US12003429B2 (en) | Dual user space-kernel space datapaths for packet processing operations | |
US20240291753A1 (en) | Policy enforcement for bare metal servers by top of rack switches | |
Tu | Cloud-scale data center network architecture | |
Shahrokhkhani | An Analysis on Network Virtualization Protocols and Technologies | |
RU2574350C2 (ru) | Компьютерная система и способ осуществления связи в компьютерной системе | |
CN117255019A (zh) | 用于虚拟化计算基础设施的系统、方法及存储介质 |
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 |