KR20150013041A - 가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시 - Google Patents

가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시 Download PDF

Info

Publication number
KR20150013041A
KR20150013041A KR1020140092692A KR20140092692A KR20150013041A KR 20150013041 A KR20150013041 A KR 20150013041A KR 1020140092692 A KR1020140092692 A KR 1020140092692A KR 20140092692 A KR20140092692 A KR 20140092692A KR 20150013041 A KR20150013041 A KR 20150013041A
Authority
KR
South Korea
Prior art keywords
virtual
network interface
interface card
traffic flow
virtual machine
Prior art date
Application number
KR1020140092692A
Other languages
English (en)
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 KR20150013041A publication Critical patent/KR20150013041A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

시스템은 하이퍼바이저 (hypervisor) 의 제어 하에서 복수의 가상 머신들을 실행하는 호스트 컴퓨터를 포함한다. 네트워크 인터페이스 카드가 호스트 머신에 커플링된다. 네트워크 인터페이스 카드는 복수의 가상 포트들을 갖는 가상 스위치 (virtual switch) 를 구현한다. (하나 이상의) 가상 포트들 각각은 일 가상 머신과 연관된다. 네트워크 인터페이스 카드는 가상 머신 단위로 QoS 및 대역폭 제공과 같은, 선택된 트래픽 플로우 정책들을 관리함으로써 호스트 컴퓨터에 대한 코-프로세서로서 동작할 수 있다.

Description

가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시{NETWORK INTERFACE CARD WITH VIRTUAL SWITCH AND TRAFFIC FLOW POLICY ENFORCEMENT}
관련 출원에 대한 교차 참조
본원은 2013년 7월 25일자에 출원된 미국 특허 출원 번호 13/951,334 에 대한 우선권을 주장하며, 이 문헌의 내용은 본 명세서에서 참조로서 인용된다.
본 발명은 전반적으로 컴퓨터 네트워크에서의 통신에 관한 것이다. 특히, 본 발명은 가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시에 관한 것이다.
도 1은 복수의 가상 머신들 (102_1 내지 102_N) 을 실행하는 물리적 호스트 컴퓨터 (100) 를 예시한다. 가상 머신은 컴퓨팅 자원 및 그와 연관된 운영 체제의 소프트웨어 구현이다. 호스트 머신은 가상화가 발생하는 실제 물리적 머신이다. 가상 머신들은 때로 게스트 머신 (guest machine) 으로 지칭된다. 호스트 하드웨어 상에서 가상 머신용 환경을 생성하는 소프트웨어는 하이퍼바이저 (hypervisor) 로서 지칭된다. 가상 머신의 네트워크 인터페이스의 가상 뷰는 포트들 vNIC (103_1 내지 103_N) 을 갖는 가상 네트워크 인터페이스 카드로서 지칭된다. 하이퍼바이저의 소프트웨어에서 구현되는 가상 스위치 (104) 는 물리적 포트 (106) 로부터의 트래픽을 지정된 가상 머신의 vNIC (103) 로 또는 2 개의 가상 머신들 간으로 다이렉팅 (directing) 하는데 사용된다.
네트워크 인터페이스 카드 (NIC) (108) 는 물리적 포트 (110) (통상적으로, PCIe (Peripheral Component Interface Express) 와 같은 시스템 버스) 를 통해서 호스트 컴퓨터 (100) 에 커플링된다. NIC (108) 는 네트워크로 인터페이스하기 위해 물리적 포트 (112) 를 갖는다. 네트워크 트래픽은 메모리 (116) 내의 인스트럭션들에 액세스하는 프로세서 (114) 에 의해서 처리된다. 특히, 프로세서 (114) 는 다양한 패킷 포맷팅, 체크 및 전달 동작들을 구현한다.
도 1의 종래 기술 시스템은 가상 머신이 공격 (예를 들어서, 분산형 서비스 거부 공격:distributed denial of service attack) 의 대상이 되는 경우에 프로세싱 비효율성에 취약하다. 이러한 경우에, 하이퍼바이저는 공격을 받은 가상 머신의 트래픽을 관리하는데 불균형적인 (disproportionate) 수의 프로세싱 사이클들을 소비하며, 이는 다른 가상 머신들의 성능을 저하시킨다. 또한, 프로세싱 비효율성은 특히 가상 머신들 간의 대역폭 제공 (bandwidth provisioning) 및 QoS (Quality of Service) 와 같은, 호스트 컴퓨터에 의해서 지원되는 가상 스위치에서의 매우 큰 수의 태스크들로부터 기인된다. 이러한 오버헤드의 추가 영향은 네트워크 통신 시에 부가되는 레이턴시 측면에서 드러난다.
전술한 바를 고려하면, 개선된 호스트 컴퓨터 및 네트워크 인터페이스 카드를 제공하는 것이 바람직하다.
시스템은 하이퍼바이저 (hypervisor) 의 제어 하에서 가상 머신들을 실행하는 호스트 컴퓨터를 포함한다. 네트워크 인터페이스 카드가 호스트 머신에 커플링된다. 네트워크 인터페이스 카드는 가상 포트들을 갖는 가상 스위치 (virtual switch) 를 구현한다. (하나 이상의) 가상 포트들 각각은 일 가상 머신과 연관된다. 네트워크 인터페이스 카드는 가상 머신 단위로 QoS 및 대역폭 제공과 같은, 선택된 트래픽 플로우 정책들을 관리함으로써 호스트 컴퓨터에 대한 코-프로세서로서 동작할 수 있다.
본 발명은 첨부 도면들과 함께 취해져서 설명되는 다음의 상세한 설명과 관련하여서 보다 완벽하게 이해된다.
도 1은 종래 기술 컴퓨터 호스트 및 네트워크 인터페이스 카드 시스템을 예시한다.
도 2는 본 발명의 실시예에 따라 구성된 시스템을 예시한다.
도 3은 본 발명의 실시예에 따라 구성된 네트워크 인터페이스 카드를 예시한다.
도 4는 본 발명의 실시예에 따라서 사용되는, 인커밍 (incoming) 네트워크 트래픽 플로우 프로세싱을 예시한다.
도 5는 본 발명의 실시예에 따라서 사용되는, 아웃고잉 (outgoing) 네트워크 트래픽 플로우 프로세싱을 예시한다.
도 6은 본 발명의 실시예에 따라서 수행되는 트래픽 플로우 정책 실시 동작들을 예시한다.
몇몇 도면들에서, 유사한 참조 부호는 유사한 부분들을 나타낸다.
도 2는 본 발명의 실시예에 따라 구성된 시스템을 예시한다. 시스템은 하이퍼바이저 (204) 의 제어 하에서 가상 머신 세트 (201_1 내지 201_N) 를 실행하는 호스트 머신 (200) 을 포함한다.
네트워크 인터페이스 카드 (206) 는 호스트 머신 (200) 에 커플링된다. 네트워크 인터페이스 카드 (206) 는 가상 스위치 (208) 를 구현한다. 가상 스위치 (208) 는 물리적 포트 (210) 로부터 네트워크 트래픽을 수신하고 이를 지정된 가상 머신으로 다이렉팅하며, 지정된 가상 머신은 대응하는 가상 포트 (212) 를 통해서 액세스된다. 즉, 각 가상 포트 또는 가상 네트워크 카드 (212) 는 대응하는 가상 머신을 갖는다. 가상 스위치 (208) 는 트래픽을 가상 포트 (예를 들어서, 212_2) 로 다이렉팅하며, 이로써 대응하는 가상 머신 (예를 들어서, 202_2) 이 이 트래픽을 수신한다.
가상 포트들은 호스트 머신 (200) 과 네트워크 인터페이스 카드 (206) 간의 물리적 인터페이스에 통해서 구현된다. 물리적 인터페이스는 하나 이상의 PCIe 포트들일 수 있다. 가상 스위치 (208) 는 가상 포트 또는 가상 네트워크 카드 (212) 를 물리적 포트 또는 물리적 네트워크로 맵핑한다.
이러한 아키텍처의 이점은 네트워크 인터페이스 카드 (206) 와 연관된 프로세싱 전력을 레버리지하여 (leverage) 다양한 프로세싱 태스크들을 갖는 호스트 (200) 를 완화시키는 것이다. 이러한 아키텍처의 다른 이점은 가상 머신과 그의 가상 네트워크 포트 간의 일-대-일 대응이 컴퓨팅 자원들의 사전 설정된 분포를 생성한다는 것이다. 이로써, 일 가상 머신이 공격를 받게 되면, 다른 가상 머신들의 프로세싱은 덩달아 영향을 받지 않게 된다.
도 3은 네트워크 인터페이스 카드 (206) 의 실시예를 예시한다. 가상 스위치 (208) 는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 도 3은 하드웨어 가상 스위치 프로세싱 역량을 갖는 프로세서 (300) 를 예시한다. 프로세서 (300) 는 소프트웨어 가상 스위치 모듈 (304) 를 갖는 메모리 (302) 를 액세스한다. 이로써, 이 실시예에서, 가상 스위치는 하드웨어와 소프트웨어의 조합으로서 구현된다. 메모리 (302) 는 또한 정책 모듈 (policy module) (306) 을 저장한다. 이하에서 기술되는 바와 같이, 가상 스위치 (208) 는 대역폭 제공, QoS, TCP (Transmission Control Protoco) 오프로딩 (offload), UDP (User Datagram Protocol) 오프로딩, SSL (Secure Socket Layer) 오프로딩 및 다른 정책들과 같은 다양한 네트워크 트래픽 플로우 정책들을 실시할 수 있다. 일 가상 머신 단위로 호스트 머신으로부터 네트워크 인터페이스 카드로 태스크를 오프로딩하는 것은 호스트 머신 상에서의 컴퓨팅 부담을 줄인다.
도 4는 인커밍 (incoming) 네트워크 트래픽 플로우 프로세싱을 예시한다. 처음에, 인커밍 플로우가 특성화된다 (400). 이 특성화는 입력 포트, VLAN ID ( Virtual Local Area network identification), 이더넷 소스 MAC (Media Access Control) 어드레스, IP (Internet Protocol) 소스 MAC 어드레스, IP 수신지 MAC 어드레스, TCP (Transmission Control Protocol) 소스 또는 수신지 포트, UDP (User Datagram Protocol) 소스 또는 수신지 포트 등과 같은 임의의 개수의 요소들에 기초할 수 있다. 이러한 표준 요소들에 추가적으로, 본 발명은 가상 머신 식별자를 사용한다. 특히, VXLAN (Virtual Extensible LAN) 식별자가 사용될 수 있다. VXLAN는 층 3 UDP 패킷들 내에 MAC-기반 층 2 이더넷 프레임들을 캡슐화하기 위한 캡슐화 기법 (encapsulation technique) 을 사용하는 네트워크 가상화 기술 (network virtualization technology) 이다. 이 캡슐화된 가상 머신 식별자가 평가된다 (402). 식별자는 또한 소프트웨어 규정된 네트워킹에 의해서 규정되는 바와 같은 실험적/맞춤 (experimental/custom) 프로토콜에 대해 고유하고 특정된 어떠한 것일 수도 있다. 식별자는 플로우를 적합한 가상 머신으로 그의 대응하는 가상 네트워크 또는 가상 포트를 통해서 라우팅하는데 사용된다. 각 가상 네트워크는 동일한 네트워크 어드레스를 가질 수 있다. VXLAN 식별자는 패킷이 속하는 가상 네트워크를 특정한다.
라우팅하기 이전에, 네트워크 인터페이스 카드는 이하에서 기술되는 바와 같은, 하나 이상의 트래픽 플로우 정책들을 적용할 수 있다 (404). 가상 머신 식별자는 이 패킷에 대해서 무엇을 할지를 특정하는 하나 이상의 정책 엔트리들을 갖는 플로우 테이블 어레이로의 인덱스로서 사용된다. 일 실시예에서, Linux® 커넬이 고속 경로 프로세싱을 위해서 사용된다. 엔트리가 이 플로우 테이블에서 발견되지 않으면, 예외가 쓰로우되고 (thrown) Linux® 사용자 공간이 저속 경로 프로세싱을 위해서 사용된다.
이후에, 가상 머신 식별자는 제거되고 (406) 패킷은, 적합한 가상 포트 또는 가상 네트워크 카드로, 이후에 이 가상 포트 또는 가상 네트워크 카드에 대응하는 가상 머신으로 전달되기 위해서, 포워딩된다.
도 5는 아웃고잉 (outgoing) 네트워크 트래픽 플로우 프로세싱을 예시한다. 먼저, 아웃고잉 네트워크 트래픽이 특성화된다 (500). 인커밍 플로우에 대해서 위에서 특정된 기준들이 이 아웃고잉 플로우에 대해서도 사용될 수 있다. 이어서, 정책들이 적용된다 (502). 이어서, 가상 머신 식별자가 패킷 내에 캡슐화된다 (504). 마지막으로, 패킷이 포워딩된다 (506) . 패킷이 도 2의 예를 들어서 포트 (210) 과 같은 물리적 포트로 포워딩될 수 있다. 이와 달리, 패킷은 가상 스위치 (208) 에 의해서 다른 가상 포트 또는 가상 네트워크 카드로 포워딩될 수 있다. 이로써, 효과적으로, 가상 머신 대 가상 머신 트래픽이 물리적 네트워크에 도달하지 않고서 네트워크 인터페이스 카드 (206) 에 의해서 스위칭된다.
정책 모듈 (306) 은 다양한 트래픽 관리 정책들을 실시하도록 실행가능한 인스트럭션들을 포함한다. 예를 들어서, 도 6에 도시된 바와 같이, 정책 모듈은 대역폭 제공을 체크할 수 있다 (600). 이러한 제공이 소정의 사용자, 플로우, 애플리케이션 또는 디바이스에 대해서 존재하면 (600-예), 제공 정책이 실시된다 (602). 예를 들어서, 특정 사용자, 플로우, 애플리케이션 또는 디바이스가 상이한 시간들에 특정된 양의 대역폭으로 한정될 수 있다. 제공 정책 (602) 은 이러한 사용자, 플로우, 애플리케이션 또는 디바이스에 대해서 대역폭 제공을 구현할 수 있다.
정책 모듈 (306) 은 또한 QoS (Quality of Service) 정책을 체크할 수도 있다 (604). QoS 정책은 상이한 사용자들, 플로우들, 애플리케이션들 또는 디바이스들에 상이한 우선순위를 제공할 수 있다. QoS 정책은 데이터 플로우에 대한 특정 레벨의 성능을 보장할 수 있다. 예를 들어서, 요구된 비트 레이트, 지연, 지터 (jitter), 패킷 드랍핑 확률 (packet dropping probability) 및/또는 비트 에러 레이트가 보장될 수 있다. 이러한 정책이 존재하면 (604-예), 이 정책이 적용된다 (606). 공동으로 소유된 미국 특허 공개 번호 2013/0097350에서의 QoS 동적 실행 엔진이 본 명세서에서 참조로서 인용되며 QoS 동작들을 구현하는데 사용될 수 있다. 공동으로 소유된 미국 특허 공개 번호 2013/0100812에서의 패킷 우선순위 프로세서 (packet priority processor) 가 본 명세서에서 참조로서 인용되며 패킷 프로세싱 동작들을 구현하는데 사용될 수 있다. 공동으로 소유된 미국 특허 공개 번호 2013/0107711에서의 패킷 트래픽 제어 프로세서가 본 명세서에서 참조로서 인용되며 패킷 프로세싱 동작들을 구현하는데 사용될 수 있다.
정책 모듈 (306) 은 또한 TCP 오프로딩 정책을 체크할 수도 있다 (608). 이 정책이 존재하면 (608-예), TCP 오프로딩 정책이 적용된다 (610). TCP 오프로딩 정책은 TOE (TCP 오프로딩 엔진) 을 사용하여서 적용될 수 있다. TOE는 네트워크 인터페이스 카드 (206) 와 연관된 네트워크 제어기로 전체 TCP/IP 스택 프로세싱을 오프로딩한다. TCP 오프로딩은 가상 머신 단위로 이루어진다. 요즘, TCP 오프로딩은 가상화되지 않는다. 대신에, 네트워크 인터페이스 카드 상의 TOE가, 오직 하나의 운영 체제가 실행중이기 때문에 일 TCP 스택이 실행중이라고 가정한다. 이와 반대로, 개시된 기술에서는, 네트워크 인터페이스 카드는 다수의 가상 네트워크들 또는 가상 포트들 (212) 을 갖는데, 이는 실행 중인 균등한 수의 TCP 스택들이 존재함을 의미한다.
정책 모듈 (306) 은 또한 SSL 오프로딩 정책을 체크할 수도 있다 (612). 이 정책이 존재하면 (612-예), SSL 오프로딩 정책이 적용된다 (614). 예를 들어서, 네트워크 인터페이스 카드 (206) 는 SSL 트래픽을 암호화 및 암호해독하기 위한 하드웨어 및/또는 소프트웨어 자원들을 포함할 수 있다. 이 경우에, 네트워크 인터페이스 카드 (206) 는 SSL 접속을 종료하며 처리된 트래픽을 호스트 (200) 로 보낸다. 이로써, 호스트는 SSL 프로세싱으로부터 자유해진다.
임의의 수의 호스트 태스크들이 네트워크 인터페이스 카드 (206) 로 오프로딩될 수 있다. 예를 들어서, Ipsec (Internet Protocol Security) 이 또한 네트워크 인터페이스 카드 (206) 상에서 구현될 수 있다. 마찬가지로, 일 네트워크 프로토콜이 다른 네트워크 프로토콜 내측에서 캡슐화되는 터널링 프로토콜 (tunneling protocol) 이 네트워크 인터페이스 카드 (206) 상에서 구현될 수 있다. NVGRE (Virtualization using Generic Routing Encapsulation) 및 다른 프로토콜들이 네트워크 인터페이스 카드 (206) 상에서 구현될 수 있다.
본 발명의 실시예들은 다양한 컴퓨터-구현되는 동작들을 수행하기 위한 컴포터 코드를 그 상에 갖는 비일시적 컴퓨터 판독가능한 저장 매체를 갖는 컴퓨터 저장 제품에 대한 것이다. 이러한 매체 및 컴퓨터 코드는 본 발명의 목적을 위해서 특정하게 구성되고 설계된 것들일 수 있거나, 컴퓨터 소프트웨어 기술분야의 당업자에게 잘 알려지고 입수가능한 종류의 것일 수 있다. 컴퓨터 판독가능한 저장 매체의 실례는 다음으로 한정되지 않지만, 자기 매체, 광학 매체, 자기-광학 매체, 및 ASIC (application-specific integrated circuits), PLD (programmable logic device), 및 ROM 디바이스 및 RAM 디바이스와 같은, 프로그램 코드를 저장 및 실행하도록 특정하게 구성된 하드웨어 디바이스들을 포함한다. 컴퓨터 코드의 실례는 컴파일러에 의해서 생성되는 것과 같은 머신 코드 및 해석기를 사용하여서 컴퓨터에 의해서 실행되는 보다 하이 레벨의 코드를 파일들을 포함한다. 예를 들어서, 본 발명의 실시예는 JAVA®, C++, 또는 다른 객체 지향 프로그래밍 언어 및 개발 툴들 (object-oriented programming language and development tools) 을 사용하여서 구현될 수 있다. 본 발명의 다른 실시예는 머신-실행가능한 소프트웨어 인스트럭션들 대신에 또는 이와 조합하여서 하드와이어된 회로 (hardwired circuitry) 로 구현될 수 있다.
설명을 위해서 제공된 위의 전술한 바들은 본 발명의 철저한 이해를 제공하기 위해서 특정 용어들을 사용하였다. 그러나, 특정 세부사항들은 본 발명을 실시하는데 필요하지 않음이 본 기술 분야의 당업자에게 자명할 것이다. 따라서, 본 발명의 특정 실시예들의 전술한 설명 부분들은 본 발명을 예시적으로 설명하기 위해서 제공되었다. 위의 설명들은 본 발명을 정확하게 개시된 형태로만 한정하는 것이 아니며; 자명하게는, 수많은 수정 사항들 및 변경 사항들이 위의 교시사항들의 조명 하에서 가능하다. 위의 실시예들은, 본 발명의 원리들 및 그의 실제적 애플리케이션을 최상으로 설명하여서 본 기술 분야의 당업자가 본 발명 및 고려되는 특정 용도에 맞게 수정된 다양한 수정 사항들을 갖는 다양한 실시예들을 최상으로 활용할 수 있도록, 선정 및 기술되었다. 다음의 청구항들 및 이의 균등 범위가 본 발명의 범위를 규정한다.

Claims (12)

  1. 하이퍼바이저 (hypervisor) 의 제어 하에서 복수의 가상 머신들을 실행하는 호스트 컴퓨터; 및
    상기 호스트 머신에 커플링된 네트워크 인터페이스 카드로서, 상기 네트워크 인터페이스 카드는 복수의 가상 포트들을 갖는 가상 스위치 (virtual switch) 를 구현하도록 구성된, 상기 네트워크 인터페이스 카드를 포함하며,
    상기 복수의 가상 포트들 각각은 상기 복수의 가상 머신들 중 하나의 가상 머신과 연관되는,
    시스템.
  2. 제 1 항에 있어서,
    상기 가상 스위치는 트래픽 플로우 정책 (traffic flow policy) 을 구현하도록 구성되는,
    시스템.
  3. 제 2 항에 있어서,
    상기 트래픽 플로우 정책은 가상 머신마다 대역폭 제공 (bandwith provision) 을 구현하는,
    시스템.
  4. 제 2 항에 있어서,
    상기 트래픽 플로우 정책은 가상 머신마다의 QoS (quality of service) 인,
    시스템.
  5. 제 2 항에 있어서,
    상기 트래픽 플로우 정책은 제 1 네트워킹 프로토콜이 제 2 네트워킹 프로토콜 내로 캡슐화되는 (encapsulated) 터널링 프로토콜 (tunneling protocol) 을 구현하는,
    시스템.
  6. 제 2 항에 있어서,
    상기 트래픽 플로우 정책은 가상 머신마다의 TCP (Transmission Control Protocol) 오프로드 (offload) 프로세싱인,
    시스템.
  7. 제 2 항에 있어서,
    상기 트래픽 플로우 정책은 가상 머신마다의 SSL (Secure Socket Layer) 오프로드 (offload) 프로세싱인,
    시스템.
  8. 제 1 항에 있어서,
    상기 가상 스위치는 특정 가상 머신에 대응하는 가상 포트를 선택하기 위해서 수신된 플로우 내에 캡슐화된 가상 머신 식별자를 평가하도록 구성되는,
    시스템.
  9. 제 2 항에 있어서,
    상기 가상 스위치는 전송된 플로우 내의 가상 머신 식별자를 평가하도록 구성되는,
    시스템.
  10. 제 1 항에 있어서,
    상기 가상 스위치는 하드웨어로 구현되는,
    시스템.
  11. 제 1 항에 있어서,
    상기 가상 스위치는 소프트웨어-규정된 네트워킹가능한 소프트웨어로 구현되는,
    시스템.
  12. 제 1 항에 있어서,
    상기 가상 스위치는 하드웨어와 소프트웨어의 조합으로 구현되는,
    시스템.
KR1020140092692A 2013-07-25 2014-07-22 가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시 KR20150013041A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/951,334 US20150033222A1 (en) 2013-07-25 2013-07-25 Network Interface Card with Virtual Switch and Traffic Flow Policy Enforcement
US13/951,334 2013-07-25

Publications (1)

Publication Number Publication Date
KR20150013041A true KR20150013041A (ko) 2015-02-04

Family

ID=51225300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140092692A KR20150013041A (ko) 2013-07-25 2014-07-22 가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시

Country Status (6)

Country Link
US (1) US20150033222A1 (ko)
EP (1) EP2830270A1 (ko)
JP (1) JP2015039166A (ko)
KR (1) KR20150013041A (ko)
CN (1) CN104348694A (ko)
HK (1) HK1206888A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170080846A (ko) * 2015-12-30 2017-07-11 한국전자통신연구원 가상 스위칭 장치 및 방법
KR20190069764A (ko) * 2017-12-12 2019-06-20 주식회사 시큐아이 가상 네트워크를 위한 오프로드 장치 및 방법

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020046B1 (ko) * 2012-12-06 2019-09-10 한국전자통신연구원 서버 가상화 환경에서의 플로우 관리 장치 및 방법, 서비스품질 정책 적용 방법
US9503943B2 (en) * 2013-10-25 2016-11-22 Benu Networks, Inc. Combination cellular and Wi-Fi hardware device
US9124536B2 (en) * 2013-12-12 2015-09-01 International Business Machines Corporation Managing data flows in overlay networks
US9686237B2 (en) * 2014-08-19 2017-06-20 International Business Machines Corporation Secure communication channel using a blade server
US20170093677A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Method and apparatus to securely measure quality of service end to end in a network
CN106998347A (zh) * 2016-01-26 2017-08-01 中兴通讯股份有限公司 服务器虚拟化网络共享的装置和方法
CN106101007B (zh) * 2016-05-24 2019-05-07 杭州迪普科技股份有限公司 处理报文的方法及装置
US10382597B2 (en) * 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US20180109471A1 (en) * 2016-10-13 2018-04-19 Alcatel-Lucent Usa Inc. Generalized packet processing offload in a datacenter
CN106612218A (zh) * 2017-01-01 2017-05-03 国云科技股份有限公司 一种虚拟访问入口数据包的地区区域特征提取方法
US20190028409A1 (en) * 2017-07-19 2019-01-24 Alibaba Group Holding Limited Virtual switch device and method
US20190068466A1 (en) 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US10445272B2 (en) * 2018-07-05 2019-10-15 Intel Corporation Network function virtualization architecture with device isolation
US10531592B1 (en) * 2018-07-19 2020-01-07 Quanta Computer Inc. Smart rack architecture for diskless computer system
US11082399B2 (en) * 2018-08-10 2021-08-03 Microsoft Technology Licensing, Llc Virtual switch bypass
CN110912825B (zh) * 2018-09-18 2022-08-02 阿里巴巴集团控股有限公司 一种报文的转发方法、装置、设备及系统
CN111277516B (zh) * 2018-12-05 2021-04-16 大唐移动通信设备有限公司 用户面集中单元、数据处理装置及数据处理方法
CN111988264A (zh) * 2019-05-22 2020-11-24 阿里巴巴集团控股有限公司 区块链与网络系统、数据接收与发送方法及设备
JP7280508B2 (ja) * 2019-09-19 2023-05-24 富士通株式会社 情報処理装置、情報処理方法および仮想マシン接続管理プログラム
CN111245740B (zh) * 2019-11-19 2022-06-28 华为云计算技术有限公司 配置业务的服务质量策略方法、装置和计算设备
CN115380514B (zh) * 2020-04-01 2024-03-01 威睿有限责任公司 为异构计算元件自动部署网络元件
US11245645B2 (en) * 2020-04-02 2022-02-08 PrimeWan Limited Virtual network device
US11962518B2 (en) 2020-06-02 2024-04-16 VMware LLC Hardware acceleration techniques using flow selection
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
US11736566B2 (en) 2020-09-28 2023-08-22 Vmware, Inc. Using a NIC as a network accelerator to allow VM access to an external storage via a PF module, bus, and VF module
US11829793B2 (en) 2020-09-28 2023-11-28 Vmware, Inc. Unified management of virtual machines and bare metal computers
US11792134B2 (en) * 2020-09-28 2023-10-17 Vmware, Inc. Configuring PNIC to perform flow processing offload using virtual port identifiers
US11470007B2 (en) * 2021-01-19 2022-10-11 Mellanox Technologies, Ltd. Bandwidth-control policers in a network adapter
WO2023097155A1 (en) * 2021-11-23 2023-06-01 Oracle International Corporation Cloud based cross domain system – virtual data diode
US11863455B2 (en) 2021-11-23 2024-01-02 Oracle International Corporation Cloud based cross domain system—CDSaaS
US11853813B2 (en) 2021-11-23 2023-12-26 Oracle International Corporation Cloud based cross domain system—CDS with disaggregated parts
US11863376B2 (en) 2021-12-22 2024-01-02 Vmware, Inc. Smart NIC leader election
US20230231741A1 (en) 2022-01-14 2023-07-20 Vmware, Inc. Per-namespace ip address management method for container networks
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5935268A (en) * 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US8028071B1 (en) * 2006-02-15 2011-09-27 Vmware, Inc. TCP/IP offload engine virtualization system and methods
US8798056B2 (en) * 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
US8195774B2 (en) * 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US9426095B2 (en) * 2008-08-28 2016-08-23 International Business Machines Corporation Apparatus and method of switching packets between virtual ports
US7962647B2 (en) * 2008-11-24 2011-06-14 Vmware, Inc. Application delivery control module for virtual network switch
US8407366B2 (en) * 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
WO2012114398A1 (en) * 2011-02-24 2012-08-30 Nec Corporation Network system, controller, and flow control method
US9507643B2 (en) * 2011-03-02 2016-11-29 Radware, Ltd. Techniques for virtualization of application delivery controllers
US8990824B2 (en) * 2011-04-28 2015-03-24 Dell Products L.P. System and method for automated virtual network configuration
US9129060B2 (en) 2011-10-13 2015-09-08 Cavium, Inc. QoS based dynamic execution engine selection
US8885480B2 (en) 2011-10-20 2014-11-11 Cavium, Inc. Packet priority in a network processor
US9906468B2 (en) 2011-10-27 2018-02-27 Cavium, Inc. Packet traffic control in a network processor
US8989188B2 (en) * 2012-05-10 2015-03-24 Cisco Technology, Inc. Preventing leaks among private virtual local area network ports due to configuration changes in a headless mode

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170080846A (ko) * 2015-12-30 2017-07-11 한국전자통신연구원 가상 스위칭 장치 및 방법
KR20190069764A (ko) * 2017-12-12 2019-06-20 주식회사 시큐아이 가상 네트워크를 위한 오프로드 장치 및 방법

Also Published As

Publication number Publication date
CN104348694A (zh) 2015-02-11
US20150033222A1 (en) 2015-01-29
JP2015039166A (ja) 2015-02-26
EP2830270A1 (en) 2015-01-28
HK1206888A1 (en) 2016-01-15

Similar Documents

Publication Publication Date Title
KR20150013041A (ko) 가상 스위치를 갖는 네트워크 인터페이스 카드 및 트래픽 플로우 정책 실시
US10789199B2 (en) Network traffic rate limiting in computing systems
US20150085868A1 (en) Semiconductor with Virtualized Computation and Switch Resources
US9736211B2 (en) Method and system for enabling multi-core processing of VXLAN traffic
US8194667B2 (en) Method and system for inheritance of network interface card capabilities
US8713202B2 (en) Method and system for network configuration for virtual machines
US9882776B2 (en) Methods and apparatus for configuring a virtual network switch
KR101969194B1 (ko) 네트워킹 장치 가상화를 위한 패킷 처리 오프로딩 기법
EP2909780B1 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
US9641435B1 (en) Packet segmentation offload for virtual networks
JP6188093B2 (ja) 通信トラフィック処理アーキテクチャおよび方法
US8634415B2 (en) Method and system for routing network traffic for a blade server
US8327014B2 (en) Multi-layer hardware-based service acceleration (MHSA)
US11277382B2 (en) Filter-based packet handling at virtual network adapters
US11324077B2 (en) Priority channels for distributed broadband network gateway control packets
US20080077694A1 (en) Method and system for network security using multiple virtual network stack instances
Ram et al. sNICh: Efficient last hop networking in the data center
Kawashima et al. Non-tunneling edge-overlay model using openflow for cloud datacenter networks
Freitas et al. A survey on accelerating technologies for fast network packet processing in Linux environments
US20140282551A1 (en) Network virtualization via i/o interface
US20230388398A1 (en) Encoding of an implicit packet sequence number in a packet
US20220231993A1 (en) Security association bundling for an interface
Kawashima et al. Accelerating the Performance of Software Tunneling Using a Receive Offload-Aware Novel L4 Protocol
Haeberle et al. A Caching SFC Proxy Based on eBPF

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid