KR102174979B1 - 가상 스위치의 패킷 전송 제어 방법 - Google Patents

가상 스위치의 패킷 전송 제어 방법 Download PDF

Info

Publication number
KR102174979B1
KR102174979B1 KR1020150161344A KR20150161344A KR102174979B1 KR 102174979 B1 KR102174979 B1 KR 102174979B1 KR 1020150161344 A KR1020150161344 A KR 1020150161344A KR 20150161344 A KR20150161344 A KR 20150161344A KR 102174979 B1 KR102174979 B1 KR 102174979B1
Authority
KR
South Korea
Prior art keywords
packet transmission
hardware
switching
virtual switch
virtual
Prior art date
Application number
KR1020150161344A
Other languages
English (en)
Other versions
KR20170057770A (ko
Inventor
이동헌
박민철
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020150161344A priority Critical patent/KR102174979B1/ko
Publication of KR20170057770A publication Critical patent/KR20170057770A/ko
Application granted granted Critical
Publication of KR102174979B1 publication Critical patent/KR102174979B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • 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/20Traffic policing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Abstract

본 발명은 가상 스위치에서 수행하는 패킷 전송 제어 방법에 관한 것으로, 네트워크 인터페이스 카드로부터 가상머신들 사이의 패킷 전송을 지원하는 하드웨어 스위칭 포트 정보를 수신하는 단계와, 수신된 하드웨어 스위칭 포트의 정보와 가상머신들 사이의 패킷 전송을 위한 소프트웨어 스위칭 포트 정보를 SDN 컨트롤러로 전송하는 단계와, 패킷 전송 규칙을 SDN 컨트롤러로부터 수신하는 단계와, 수신된 패킷 전송 규칙을 네트워크 인터페이스 카드로 전송하는 단계를 포함하며, 패킷 전송 규칙은 트래픽 우선순위 정보에 기초한 하드웨어 스위칭과 소프트웨어 스위칭의 분배 정책에 따라 특정 플로우에 대해 상기 하드웨어 스위칭 포트를 통한 하드웨어 스위칭을 결정할 수 있다. 따라서, 가상 스위치의 스위칭과 네트워크 인터페이스 카드에 의한 하드웨어 오프로드 기능을 서버 외부의 SDN 컨트롤러가 제어할 수 있으며, 하드웨어 오프로드 기능을 서버 외부에서 동적으로 변경하거나 관리할 수 있는 이점이 있다.

Description

가상 스위치의 패킷 전송 제어 방법{METHOD FOR CONTROLLING TRANSSION OF PACKET IN VIRTUAL SWITCH}
본 발명은 가상 스위치의 패킷 전송 제어 방법에 관한 것으로, 더욱 상세하게는 가상머신들 사이의 통신을 지원하는 가상 스위치에서 수행하는 패킷 전송 제어 방법에 관한 것이다.
주지하는 바와 같이, 가상 스위치는 하나의 물리 서버 내부에 존재하는 여러 가상머신들을 연결하고, 가상머신과 네트워크 인터페이스 카드를 연결하는 기능을 수행한다.
그런데, 이러한 가상 스위치는 소트프웨어로 구동되기 때문에 하드웨어 스위치에 비하여 성능 열화가 존재한다. 특히 가상머신들 사이에 전송되는 트래픽이 증가하고, 작은 크기의 패킷이 자주 전송될 때에 스루풋(throughput) 성능 열화가 심각하다. 아울러, 패킷 처리 및 전송을 위해 CPU 자원을 점유하게 되는데 이는 어플리케이션의 처리에 사용되어야 할 CPU 자원을 낭비하는 단점이 있다.
종래에는 이러한 가상 스위치의 단점을 보완하기 위하여 하드웨어 VEB(Virtual Ethernet Bridge)라는 기술을 사용하였다. 하드웨어 VEB는 가상 스위치의 스위칭 기능을 물리 네트워크 인터페이스 카드에 오프로드(offload)하는 기술이다. SR-IOV(Single Root I/O Virtualization) 기술을 이용하여 가상머신과 네트워크 인터페이스 카드가 직접 패킷을 전송할 수 있도록 연결하면 하드웨어 VEB 기술을 통해 네트워크 인터페이스 카드에서 레이어2(L2) 스위칭을 지원하여 가상머신들 사이에 패킷을 전송할 수 있도록 한다.
그러나, 이러한 종래 기술은 네트워크 인터페이스 카드에 의한 하드웨어 오프로드 기능을 서버 외부에서 동적으로 변경하거나 관리할 수 없고, 하드웨어 VEB를 가상 스위치와 동시에 사용할 수 없다. 또한, 하드웨어 VEB를 통해 스위칭할 수 있는 용량이 네트워크 인터페이스 카드의 테이블 크기와 VF(Virtual Function)의 개수에 따라 제한적인 문제점이 있었다.
대한민국 공개특허공보 제10-2013-0039626호, 공개일자 2013년 04월 22일.
본 발명은 전술한 바와 같은 종래 기술의 문제점을 해결하기 위해 제안한 것으로서, 가상 스위치의 스위칭과 네트워크 인터페이스 카드에 의한 하드웨어 오프로드 기능을 서버 외부의 SDN(Software-Defined Networking) 컨트롤러가 제어할 수 있도록 가상 스위치에서 수행하는 패킷 전송 제어 방법을 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 관점에 따른 가상 스위치에서 수행하는 패킷 전송 제어 방법은, 네트워크 인터페이스 카드로부터 가상머신들 사이의 패킷 전송을 지원하는 하드웨어 스위칭 포트 정보를 수신하는 단계와, 상기 수신된 하드웨어 스위칭 포트의 정보와 상기 가상머신들 사이의 패킷 전송을 위한 소프트웨어 스위칭 포트 정보를 SDN 컨트롤러로 전송하는 단계와, 패킷 전송 규칙을 상기 SDN 컨트롤러로부터 수신하는 단계와, 상기 수신된 패킷 전송 규칙을 상기 네트워크 인터페이스 카드로 전송하는 단계를 포함하며, 상기 패킷 전송 규칙은, 트래픽 우선순위 정보에 기초한 하드웨어 스위칭과 소프트웨어 스위칭의 분배 정책에 따라 특정 플로우에 대해 상기 하드웨어 스위칭 포트를 통한 하드웨어 스위칭을 결정할 수 있는 것일 수 있다.
본 발명의 실시예에 따르면, 가상 스위치의 스위칭과 네트워크 인터페이스 카드에 의한 하드웨어 오프로드 기능을 서버 외부의 SDN 컨트롤러가 제어할 수 있으며, 하드웨어 오프로드 기능을 트래픽에 따라 서버 외부에서 동적으로 변경하거나 관리할 수 있다. 그러므로, 우선순위가 높은 트래픽의 패킷을 하드웨어 스위치로 동적 할당하여 패킷 전송 속도를 가속화할 수 있다. 뿐만 아니라, 소프트웨어 스위치가 CPU를 사용하여 처리해야 할 스위칭을 하드웨어 스위치가 대신해 주기 때문에, 가상머신에서 동작하는 어플리케이션에 더 많은 CPU 자원을 할당할 수 있다.
도 1은 본 발명의 실시예에 따른 패킷 전송 제어 방법을 수행하는 가상 스위치가 포함된 컴퓨트 노드와 SDN 컨트롤러의 시스템 구성도이다.
도 2는 본 발명의 실시예에 따라 가상 스위치에서 수행하는 패킷 전송 제어 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시예에 따라 네트워크 인터페이스 카드에서 수행하는 패킷 전송 과정을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 대해 살펴보기로 한다.
도 1은 본 발명의 실시예에 따른 패킷 전송 제어 방법을 수행하는 가상 스위치가 포함된 컴퓨트 노드와 SDN 컨트롤러의 시스템 구성도이다.
이에 나타낸 바와 같이, 컴퓨트 노드(100)는 게스트 OS(110), 호스트 OS(120), 네트워크 인터페이스 카드(130)를 포함한다.
게스트 OS(110)은 복수의 가상머신(111, 112, 113, 114)을 포함한다. 도 1에는 총 4개의 가상머신을 도시하였으나 이러한 가상머신의 개수는 실시예에 불과하며, 서버 성능과 네트워크 인터페이스 카드가 제공하는 용량 내에서 제한이 없다.
호스트 OS(120)는 가상 스위치(121)를 포함하며, 가상 스위치(121)는 제 2 오프로드 드라이버(121a)를 포함한다.
네트워크 인터페이스 카드(130)는 하드웨어 오프로드 모듈(131)을 포함하며, 하드웨어 오프로드 모듈(131)은 가상 이더넷 브리지(131a)를 포함한다.
SDN 컨트롤러(200)는 트래픽 분류기(210), 하드웨어 오프로드 관리기(220), 제 1 오프로드 드라이버(230)를 포함한다.
SDN 컨트롤러(200)와 가상 스위치(121) 사이의 인터페이스(10) 및 가상 스위치(121)와 네트워크 인터페이스 카드(130) 사이의 인터페이스(20)를 위하여 다수의 API가 정의된다.
이와 같이 구성된 네트워크에서 SDN 컨트롤러(200)는 컴퓨트 노드(100)에 포함된 가상머신들(111, 112, 113, 114) 사이를 가상 스위치(121)가 소프트웨어 스위칭(30)을 통해 연결할 것인지 가상 이더넷 브리지(131a)가 하드웨어 스위칭(40)을 통해 연결할 것인지를 결정할 때에 이용하는 패킷 전송 규칙을 제공한다.
컴퓨터 노드(100)의 가상 스위치(121)는 가상머신들(111, 112, 113, 114) 사이의 연결을 소프트웨어 스위칭(30)을 통해 연결하며, SDN 컨트롤러(200)로부터 제공받은 패킷 전송 규칙을 네트워크 인터페이스 카드(130)에게 전달한다.
컴퓨터 노드(100)의 가상 이더넷 브리지(131a)는 가상머신들(111, 112, 113, 114) 사이의 연결을 하드웨어 스위칭(40)을 통해 연결한다. 즉 가상 스위치(121)의 스위칭 연결 기능을 오프로드한다.
SDN 컨트롤러(200)의 트래픽 분류기(210)에는 가입자들에 대한 우선순위 정보와 가입자별로 정의된 어플리케이션 우선순위 정보 및 플로우 특성에 따라 정의된 우선순위 정보에 따라 패킷 전송을 하기 위한 트래픽 우선순위 정보가 저장된다.
SDN 컨트롤러(200)의 하드웨어 오프로드 관리기(220)는 컴퓨트 노드(100)에 포함된 하드웨어 오프로드 모듈(131)이 가상 스위치(121)의 일부 기능을 오프로드하도록 제어하며, 이러한 오프로드 기능을 동적으로 변경하여 관리한다. 이를 위해 하드웨어 오프로드 관리기(220)는 제 1 오프로드 드라이버(230) 및 제 2 오프로드 드라이버(121a)를 통해 네트워크 인터페이스 카드(130)에게 패킷 전송 규칙을 제공한다. 또, 하드웨어 오프로드 관리기(220)는 컴퓨트 노드의 CPU 자원을 점유하는 기능에 대한 하드웨어 오프로드 활성화 신호를 제 1 오프로드 드라이버(230) 및 제 2 오프로드 드라이버(121a)를 통해 네트워크 인터페이스 카드(130)에게 제공한다.
컴퓨트 노드(100)에 포함된 가상 스위치(121)는 네트워크 인터페이스 카드(130)로부터 가상머신들(111, 112, 113, 114) 사이의 패킷 전송을 지원하는 하드웨어 스위칭 포트의 정보를 수신하며, 가상머신들 사이의 패킷 전송을 위한 소프트웨어 스위칭 포트의 정보와 수신된 하드웨어 스위칭 포트의 정보를 SDN 컨트롤러(200)에게 전달한다.
또, 가상 스위치(121)는 트래픽 우선순위 정보에 기초한 하드웨어 스위칭과 소프트웨어 스위칭의 분배 정책에 따라 특정 플로우에 대해 하드웨어 스위칭 포트를 통한 하드웨어 스위칭을 결정할 수 있는 패킷 전송 규칙을 SDN 컨트롤러(200)로부터 수신하며, 수신된 패킷 전송 규칙을 네트워크 인터페이스 카드(130)에게 전달한다.
도 2는 본 발명의 실시예에 따라 가상 스위치에서 수행하는 패킷 전송 제어 방법을 설명하기 위한 흐름도이다.
이에 나타낸 바와 같이, 본 방법은 하드웨어 오프로드 모듈에 신규 플로우가 도착된 후에 네트워크 인터페이스 카드로부터 가상머신들 사이의 패킷 전송을 지원하는 하드웨어 스위칭 포트의 정보를 수신하는 단계(303, 305)를 포함한다.
이어서, 가상머신들 사이의 패킷 전송을 위한 소프트웨어 스위칭 포트의 정보와 수신된 하드웨어 스위칭 포트의 정보를 SDN 컨트롤러에게 전달하는 단계(307)를 포함한다.
이후, 트래픽 분류기에 의해 트래픽 우선순위 정책이 획득된 상태에서 트래픽 우선순위 정보에 기초한 하드웨어 스위칭과 소프트웨어 스위칭의 분배 정책에 따라 특정 플로우에 대해 하드웨어 스위칭 포트를 통한 하드웨어 스위칭을 결정할 수 있는 패킷 전송 규칙을 SDN 컨트롤러로부터 수신하는 단계(301, 309, 311, 313)를 포함한다.
이어서, 수신된 패킷 전송 규칙을 네트워크 인터페이스 카드에게 전달하여 패킷 전송 규칙에 따라 하드웨어 스위칭 또는 소프트웨어 스위칭이 이루어지도록 하는 단계(315, 317, 319, 321)를 포함한다.
도 3은 본 발명의 실시예에 따라 네트워크 인터페이스 카드에서 수행하는 패킷 전송 과정을 설명하기 위한 흐름도이다.
이에 나타낸 바와 같이, 도착된 패킷이 기존 패킷 전송 규칙에 포함되지 않은 신규 플로우이면 SDN 컨트롤러와의 협업을 통해 패킷 전송 규칙을 갱신하는 단계(401, 403, 405)를 포함한다.
그리고, 도착된 패킷이 기존 패킷 전송 규칙에 포함된 것으로 확인되면 패킷 전송 규칙에 기초하여 하드웨어 스위칭 대상인지를 판정하는 단계(S407, 409)를 포함한다.
이어서, 하드웨어 스위칭 대상이면 하드웨어 스위칭 포트를 통해 패킷을 가상머신에게 전송하는 단계(411)를 포함한다.
이하, 도 1 내지 도 3을 참조하여 본 발명의 실시예에 따른 패킷 전송 제어 방법을 수행하는 가상 스위치가 포함된 컴퓨트 노드 내의 패킷 전송 과정을 더 자세히 살펴보기로 한다.
먼저, SDN 컨트롤러(200)와 가상 스위치(121) 사이의 인터페이스(10) 및 가상 스위치(121)와 네트워크 인터페이스 카드(130) 사이의 인터페이스(20)를 위하여 기능 활성화 API, 포트 구성 API, 하드웨어 가상 이더넷 브리지 API가 정의된다. 기능 활성화 API는 VXLAN 터널링(tunneling), 세그먼테이션(segmentation), 체크섬(checksum) 검사 등과 같이 컴퓨트 노드(100)의 CPU 자원을 점유하는 기능을 대한 하드웨어 오프로드 활성화 신호를 제어하기 위한 API이다. 포트 구성 API는 네트워크 인터페이스 카드(130)의 VF(Virtual Function) 및 PF(Physical Function)의 연결 구성을 관리하기 위한 API이다. 하드웨어 가상 이더넷 브리지 API는 네트워크 인터페이스 카드(130)의 플로우 테이블에 스위칭을 위해서 패킷 전송 규칙을 반영하기 위한 API이다.
트래픽 분류기(210)에는 가입자(tenant)들에 대한 우선순위 정보와 가입자별로 정의된 어플리케이션 우선순위 정보 및 플로우 특성에 따라 정의된 우선순위 정보에 따라 패킷 전송을 하기 위한 트래픽 우선순위 정보가 저장된다. 가입자들의 우선순위가 차등하여 정의될 수 있으며, 각 가입자별로 어플리케이션 우선순위에 따른 트래픽 우선순위가 정의될 수 있다. 또, 플로우 특성에 따라 우선순위가 정의될 수 있다. 예컨대, 엘리펀트(elephant) 플로우로 인해 마이스(mice) 플로우의 전송 지연이 늘어나기 때문에, 선정된 엘리펀트 플로우에 대해 높은 우선순위를 부여하여 전송 속도를 증가시키기 위해 하드웨어 스위칭이나 소프트웨어 스위칭에 관계없이 전용 스위칭 레인(lane)을 생성해 스케쥴링(scheduling)해 줄 수 있다. 인터넷 트래픽 통계 특성을 살펴보면 일반적으로 적은 수의 엘리펀트 플로우가 전체 트래픽 양의 약80%를 차지하고 많은 수의 마이스 플로우가 나머지 트래픽 양을 차지하는 헤비 테일(heavy-tailed) 분포를 가진다고 알려져 있다. 장시간 지속(long-lived) 플로우를 엘리펀트 플로우라고 할 수 있고, 폭주성(bursty) 플로우 또는 단시간 지속(short-lived) 플로우를 마이스 플로우라고 할 수 있다. 예컨대, 세션 지속시간이 15분 이상이면 엘리펀트 플로우로 분류한다든지, 특정 플로우가 링크 효율(link utilization)의 10%이상의 대역폭(bandwidth)를 차지한다면 엘리펀트 플로우로 분류할 수 있다.
이렇게 트래픽 분류기(210)에 의해 시스템의 초기 셋업 시 미리 사용자나 관리자에 의한 우선순위 책정 규칙이 입력 및 획득된다(301).
그리고, 네트워크 인터페이스 카드(130)에 기존 패킷 전송 규칙에 포함되지 않은 신규 플로우가 도착(303)하면 하드웨어 오프로드 모듈(131)은 가상 이더넷 브리지(131a)의 하드웨어 스위칭 포트의 정보를 가상 스위치(121)에게 제공한다(305).
이어서, 가상 스위치(121)는 제 2 오프로드 드라이버(121a) 및 제 1 오프로드 드라이버(230)를 통해 하드웨어 오프로드 관리기(220)에게 가상 이더넷 브리지(131a)의 하드웨어 스위칭 포트의 정보를 전달한다. 여기서, 가상 스위치(121)는 가상머신들(111, 112, 113, 114) 사이의 패킷 전송을 위한 소프트웨어 스위칭 포트의 정보를 하드웨어 오프로드 관리기(220)에게 함께 전달한다(307).
그러면, 하드웨어 오프로드 관리기(220)는 트래픽 분류기(210)로부터 트래픽 우선순위 정보를 제공받고(309), 하드웨어 스위칭 포트 정보와 트래픽 우선순위 정보를 바탕으로 하여 스위칭 분배 정책에 따라 특정 플로우에 대해 하드웨어 스위칭 포트를 통한 하드웨어 스위칭을 결정할 수 있는 패킷 전송 규칙을 생성한다(311).
이렇게 생성된 패킷 전송 규칙은 제 1 오프로드 드라이버(230) 및 제 2 오프로드 드라이버(121a)를 통해 가상 스위치(121)에게 전달되며(313), 가상 스위치(121)는 패킷 전송 규칙을 네트워크 인터페이스 카드(130)의 하드웨어 오프로드 모듈(131)에게 전달한다(315).
여기서, 하드웨어 오프로드 모듈(131)은 기존 패킷 전송 규칙을 가상 스위치(121)로부터 전달받은 패킷 전송 규칙으로 갱신하며(317), 갱신된 패킷 전송 규칙에 따라 하드웨어 스위칭을 하여 가상머신들(111, 112, 113, 114) 사이에 패킷을 전송한다(319).
아울러, 하드웨어 오프로드 모듈(131)은 단계 317에서 갱신된 패킷 전송 규칙에 따라 패킷 플로우가 하드웨어 스위칭 대상이 아닐 경우에는 가상 스위치(121)에 의한 소프트웨어 스위칭을 통해 가상머신들(111, 112, 113, 114) 사이에 패킷이 전송된다(321).
또한, SDN 컨트롤러(200)의 하드웨어 오프로드 관리기(220)는 제 1 오프로드 드라이버(230) 및 제 2 오프로드 드라이버(121a)를 통해 가상 스위치(121)에게 VXLAN 터널링, 세그먼테이션, 체크섬 검사 등과 같이 컴퓨트 노드(100)의 CPU 자원을 점유하는 기능을 대한 하드웨어 오프로드 활성화 신호를 전송할 수 있으며, 이는 가상 스위치(121)에 의해 네트워크 인터페이스 카드(130) 내의 하드웨어 오프로드 모듈(131)에게 전달된다. 그러면, 이더넷 패킷의 앞에 헤더를 추가로 붙여서 VXLAN 패킷을 만드는 터널링 기능, 큰 사이즈의 패킷을 물리적으로 전송할 때에 작은 사이즈로 잘라주는 세그먼테이션 기능, VXLAN 패킷에 대한 체크섬 검사 기능 등을 하드웨어 오프로드 모듈(131)에서 담당하여 수행 및 처리한다.
지금까지 설명한 바와 같이, 본 발명의 실시예에 따르면 가상 스위치의 스위칭과 네트워크 인터페이스 카드에 의한 하드웨어 오프로드 기능을 서버 외부의 SDN 컨트롤러가 제어할 수 있으며, 하드웨어 오프로드 기능을 서버 외부에서 동적으로 변경하거나 관리할 수 있다. 그러므로, 우선순위가 높은 트래픽의 패킷을 하드웨어 스위치로 동적 할당하여 전송 속도를 가속화할 수 있다. 이로써, 소프트웨어 스위치가 CPU를 사용하여 처리해야 할 스위칭을 하드웨어 스위치가 대신해 주기 때문에, 가상머신에서 동작하는 어플리케이션에 더 많은 CPU 자원을 할당할 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행하는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행하는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행하는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예에 의하면, 가상 스위치의 스위칭과 네트워크 인터페이스 카드에 의한 하드웨어 오프로드 기능을 서버 외부의 SDN 컨트롤러가 제어할 수 있으며, 하드웨어 오프로드 기능을 서버 외부에서 동적으로 변경하거나 관리할 수 있다.
이러한 본 발명은 가상 스위치가 물리 서버 내부에 존재하는 여러 가상머신들을 연결함과 아울러 가상머신과 네트워크 인터페이스 카드를 연결하는 컴퓨트 노드를 포함하는 각종 시스템에서 이용할 수 있다.
100 : 컴퓨트 노드 111, 112, 113, 114 : 가상머신
121 : 가상 스위치 130 : 네트워크 인터페이스 카드
131 : 하드웨어 오프로드 모듈 131a : 가상 이더넷 브리지
200 : SDN 컨트롤러 210 : 트래픽 분류기
220 : 하드웨어 오프로드 관리기

Claims (6)

  1. 네트워크 인터페이스 카드로부터 가상머신들 사이의 패킷 전송을 지원하는 하드웨어 스위칭 포트 정보를 수신하는 단계와,
    상기 수신된 하드웨어 스위칭 포트의 정보와 상기 가상머신들 사이의 패킷 전송을 위한 소프트웨어 스위칭 포트 정보를 SDN(Software-Defined Networking) 컨트롤러로 전송하는 단계와,
    상기 SDN 컨트롤러로부터 트래픽 우선순위 정보에 기초한 하드웨어 스위칭과 소프트웨어 스위칭의 분배 정책에 따라 특정 플로우에 대해 상기 하드웨어 스위칭 포트를 통한 상기 하드웨어 스위칭을 결정할 수 있는 패킷 전송 규칙을 수신하는 단계와,
    상기 패킷 전송 규칙을 상기 네트워크 인터페이스 카드로 전송함으로써 상기 네트워크 인터페이스 카드가 상기 패킷 전송 규칙에 따라 패킷 플로우가 하드웨어 스위칭 대상일 경우에 상기 하드웨어 스위칭만 하여 상기 가상머신들 사이의 패킷 전송을 지원하게 하되, 상기 패킷 전송 규칙에 따라 상기 패킷 플로우가 상기 하드웨어 스위칭 대상이 아닐 경우에 상기 소프트웨어 스위칭만 하여 상기 가상머신들 사이의 패킷 전송을 지원하는 단계를 포함하는
    가상 스위치에서 수행하는 패킷 전송 제어 방법.
  2. 제 1 항에 있어서,
    상기 트래픽 우선순위 정보는, 가입자들에 대한 우선순위 정보 또는 가입자별로 정의된 어플리케이션 우선순위 정보를 포함하는
    가상 스위치에서 수행하는 패킷 전송 제어 방법.
  3. 제 1 항에 있어서,
    상기 트래픽 우선순위 정보는, 플로우 특성에 따라 정의된 우선순위 정보를 포함하는
    가상 스위치에서 수행하는 패킷 전송 제어 방법.
  4. 제 3 항에 있어서,
    상기 플로우 특성에 따라 선정된 특정 플로우는 상기 하드웨어 스위칭과 상기 소프트웨어 스위칭 중에서 어느 하나의 전용 스위칭 레인으로 스위칭하는
    가상 스위치에서 수행하는 패킷 전송 제어 방법.
  5. 제 1 항에 있어서,
    상기 가상머신 및 상기 가상 스위치를 포함하는 컴퓨트 노드의 CPU 자원을 점유하는 기능에 대한 하드웨어 오프로드 활성화 신호를 상기 SDN 컨트롤러로부터 수신하여 상기 네트워크 인터페이스 카드에게 전달하는 단계를 더 포함하는
    가상 스위치에서 수행하는 패킷 전송 제어 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항의 패킷 전송 제어 방법을 프로세서가 수행하도록 하기 위하여
    컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020150161344A 2015-11-17 2015-11-17 가상 스위치의 패킷 전송 제어 방법 KR102174979B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150161344A KR102174979B1 (ko) 2015-11-17 2015-11-17 가상 스위치의 패킷 전송 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150161344A KR102174979B1 (ko) 2015-11-17 2015-11-17 가상 스위치의 패킷 전송 제어 방법

Publications (2)

Publication Number Publication Date
KR20170057770A KR20170057770A (ko) 2017-05-25
KR102174979B1 true KR102174979B1 (ko) 2020-11-05

Family

ID=59051113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150161344A KR102174979B1 (ko) 2015-11-17 2015-11-17 가상 스위치의 패킷 전송 제어 방법

Country Status (1)

Country Link
KR (1) KR102174979B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7280508B2 (ja) * 2019-09-19 2023-05-24 富士通株式会社 情報処理装置、情報処理方法および仮想マシン接続管理プログラム
CN113965521B (zh) * 2021-10-19 2024-03-01 京东科技信息技术有限公司 数据包的传输方法、服务器及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102334112B (zh) * 2009-02-27 2014-06-11 美国博通公司 用于虚拟机网络的方法和系统
KR20130039626A (ko) 2011-10-12 2013-04-22 주식회사센트루소프트웨어 가상 머신 통신 인터페이스를 이용한 가상 머신간 데이터 전송방법과 그 기록 매체
KR102153585B1 (ko) * 2013-06-24 2020-09-09 한국전자통신연구원 네트워크 기능 가상화 장치 및 방법
KR102160252B1 (ko) * 2013-12-18 2020-09-25 삼성전자주식회사 가상 스위칭 방법 및 장치

Also Published As

Publication number Publication date
KR20170057770A (ko) 2017-05-25

Similar Documents

Publication Publication Date Title
US11625154B2 (en) Stage upgrade of image versions on devices in a cluster
US10581729B2 (en) Network interface card, computing device, and data packet processing method
US11134132B2 (en) Accelerated network packet processing
US11233884B2 (en) Service process control method and network device
US8855116B2 (en) Virtual local area network state processing in a layer 2 ethernet switch
US9325615B2 (en) Method and apparatus for implementing communication between virtual machines
US20170300353A1 (en) Method for Allocating Communication Path in Cloudified Network, Apparatus, and System
US9692706B2 (en) Virtual enhanced transmission selection (VETS) for lossless ethernet
WO2016015559A1 (zh) 云化数据中心网络的承载资源分配方法、装置及系统
CN106209623B (zh) 确定转发路径的方法和控制设备
EP3694159A1 (en) Network interface card, computing device, and data packet processing method
US20100287262A1 (en) Method and system for guaranteed end-to-end data flows in a local networking domain
US20150103659A1 (en) Quantized congestion notification for computing environments
US8665725B2 (en) System and method for hierarchical adaptive dynamic egress port and queue buffer management
CN109962850B (zh) 实现分段路由的方法和控制器及计算机可读存储介质
US20160254995A1 (en) Control Device and Control Method in SDN Network
WO2020009932A1 (en) Resource partitioning for network slices in segment routing networks
JP7288980B2 (ja) 仮想サービスネットワークにおけるサービス品質
JP6783850B2 (ja) データトラフィックを制限するための方法及びシステム
EP3142303A1 (en) Network control method and apparatus
CN111371694B (zh) 一种分流方法、装置和系统、处理设备和存储介质
CN112165435A (zh) 一种基于虚拟机网络服务质量的双向流量控制方法及系统
KR102174979B1 (ko) 가상 스위치의 패킷 전송 제어 방법
CN104767677A (zh) 接入节点系统和用于该接入节点系统的计算资源池单元
CN108092787B (zh) 一种缓存调整方法、网络控制器及系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right