KR101740234B1 - 가상화 환경에서 http/2 프록시 게이트웨이 서버 제공 방법 - Google Patents

가상화 환경에서 http/2 프록시 게이트웨이 서버 제공 방법 Download PDF

Info

Publication number
KR101740234B1
KR101740234B1 KR1020160103724A KR20160103724A KR101740234B1 KR 101740234 B1 KR101740234 B1 KR 101740234B1 KR 1020160103724 A KR1020160103724 A KR 1020160103724A KR 20160103724 A KR20160103724 A KR 20160103724A KR 101740234 B1 KR101740234 B1 KR 101740234B1
Authority
KR
South Korea
Prior art keywords
http
network node
request
virtual network
response
Prior art date
Application number
KR1020160103724A
Other languages
English (en)
Other versions
KR20170021209A (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 KR20170021209A publication Critical patent/KR20170021209A/ko
Application granted granted Critical
Publication of KR101740234B1 publication Critical patent/KR101740234B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or 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/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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 웹 프로토콜 변환에 관한 기술로, 보다 구체적으로는, HTTP 2.0을 지원하는 모바일 단말과 현재 HTTP 1.0/1.1 서버 사이에서 HTTP 프로토콜 변환 및 부하 분산을 수행하여 고속의 웹 서비스를 제공할 수 있도록 하기 위한 가상화 환경에서 HTTP/2 프록시 게이트웨이 서버 시스템 및 그 제공방법에 관한 것이다.
본 발명은, 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서, 가상화네트워크노드 관리자를 포함하는 네트워크기능가상화 기술을 제공하여 가상화네트워크노드의 생성 방법; 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 가상화네트워크노드의 상태 및 성능에 따라 가상화네트워크노드의 자동 확장성을 제공하기 위한 방법; 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 가상화 환경에서 HPACK 표준에 따른 소프트웨어 기반 헤더 압축 기능 및 하드웨어 가속기를 이용한 고속의 TLS 암호화 기능을 포함하는 HTTP 메시지 처리 방법을 제공하는 것을 특징으로 한다.

Description

가상화 환경에서 HTTP/2 프록시 게이트웨이 서버 제공 방법 {METHOD FOR PROVIDING HTTP/2 PROXY GATEWAY SERVER IN VIRTUALIZED ENVIRONMENT}
본 발명은 웹 프로토콜 변환 및 프록시 게이트웨이 서버 제공방법에 관한 기술로, 보다 구체적으로는, HTTP 2.0을 지원하는 모바일 단말과 HTTP 1.0/1.1 서버 사이에 HTTP 프로토콜 변환 및 부하 분산을 수행하여 고속의 웹 서비스를 제공하기 위하여 가상화 환경에서 HTTP/2 프록시 게이트웨이 서버 제공하는 방법에 관한 것이다.
HTTP(Hypertext Transfer Protocol)는 웹에서 정보를 주고받을 수 있는 프로토콜로써, 인터넷을 사용하기 위한 가장 기본적인 기술이다. HTTP는 1996년 처음 1.0 버전이 나왔고, 1999년 1.1 버전이 발표되었다. 20년이 지난 지금도 HTTP 기술은 1990년대 기술 수준에 머물러 있다. 웹 서비스 용량이 증가하면서 프로토콜 자체를 변화하려는 움직임이 생기기 시작했으며, 2009년 구글이 스피디(SPDY)라는 기술을 발표하면서 고성능 웹 프로토콜 기술이 발전하고 있다. HTTP 기술 표준을 이끄는 IETF(Internet Engineering Task Force)는 2015년 5월 RFC 7540(Hyper Transfer Protocol Version 2 (HTTP/2)) 표준을 제정하였다. HTTP/2는 기존 HTTP 1.0 및 1.1.에 비해 더 빠른 웹을 제공하기 위해 헤더압축, 우선순위 전송, 다중화 전송 및 서버푸시 기술을 제공하고 있다.
한편, 인터넷 표준이 나온 후에 서버 및 네트워크 인프라에 해당 기술에 대한 적용까지는 오랜 시간이 걸리고 있으며, 한 예로, IPv6의 경우 1995년 RFC1883으로 표준화되었지만, 2014년 5월 96%이상이 IPv4를 통해 네트워크를 사용하고 있다.
따라서, HTTP/2가 2015년 5월 표준화가 되었지만, 모든 웹 서버 및 응용 프로그램이 HTTP/2를 지원하기 까지는 최소 10년 이상이 필요할 것으로 예상되므로, HTTP/2의 고속 웹 서비스를 제공하기 위해, HTTP 2.0을 지원하는 모바일 단말과 현재 HTTP 1.0/1.1 서버 사이에서 HTTP 프로토콜 변환 및 부하분산을 수행하는 프록시 게이트웨이 서버에 대한 기술 개발이 필요하며, 대용량의 웹 서비스를 지원하기 위해 확장성 및 가용성이 뛰어난 가상화 기반 기술상에서 개발된 HTTP/2 가상화 프록시 게이트웨이 서버에 대한 기술 개발이 필요로 되고 있다.
본 발명은 상기의 문제점을 해결하기 위한 것으로, HTTP 2.0을 지원하는 모바일 단말과 현재 HTTP 1.0/1.1 서버 사이에서 HTTP 프로토콜 변환 및 부하분산을 수행하기 위한 가상화 기반의 HTTP/2 프록시 게이트웨이 서버를 제공하기 위한 것이다.
또한, 본 발명은 고속 대용량의 웹 서비스를 제공하기 위하여 확장성 및 가용성을 제공할 수 있는 가상 네트워크 노드 (VNF: Virtual Network Function) 관리자를 포함하는 네트워크 기능 가상화(NFV: Network Function Virtualization) 기술을 기반으로 x86 표준 서버 상에 HTTP/2 가상화 프록시 게이트웨이 서버를 제공하기 위한 것이다.
또한, 본 발명은 가상 스위치 데이터 플레인 개발을 기반으로 고속의 데이터 처리가 가능한 가상화 네트워크상에 고속 데이터 처리 프레임워크를 포함하는 가상화 기반의 HTTP/2 프록시 게이트웨이 서버를 제공하기 위한 것이다.
또한, 본 발명은 HTTP 프로토콜 변환 및 세션관리 기능을 제공하며, 가상화 환경에서 HPACK 표준에 따른 소프트웨어 기반 헤더 압축 기능을 포함하며, 하드웨어 가속기를 이용한 고속의 TLS 암호화 기능을 수행하는 가상화 기반의 HTTP/2 프록시 게이트웨이 서버를 제공하기 위한 것이다.
상기의 목적을 달성하기 위한 본 발명의 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법은, 운용지원시스템으로부터 NFV (Network Function Virtualization) 오케스트레이터로 가상화네트워크노드 생성을 요청하는 단계, NFV 오케스트레이터가 VNF (Virtual Network Function) 관리자로 가상화네트워크노드 생성을 요청하는 단계, VNF 관리자가 가상화네트워크노드를 생성하기 위해 NFV 오케스트레이터로 자원 확인을 요청하는 단계, NFV 오케스트레이터가 VIM (Virtualized Infrastructure Manager)으로 자원 확인을 요청하는 단계, VIM이 가상화된 자원을 확인하여 NFV 오케스트레이터로 자원 확인 요청에 대한 응답을 수행하는 단계, NFV 오케스트레이터가 VNF 관리자로 자원 요청에 대한 응답을 수행하는 단계, NFV 오케스트레이터가 운용지원시스템으로 가상화네트워크노드 생성 요청에 응답하는 단계, VNF 관리자가 VIM에 자원 할당 및 가상화네트워크노드 생성을 요청하는 단계 및 VIM이 VNF 관리자의 요청에 따라 가상화네트워크노드를 생성하는 단계를 포함한다.
이 때, HTTP/2 프록시 게이트웨이 서버 제공 방법은, 운용지원시스템으로부터 NFV (Network Function Virtualization) 오케스트레이터로 가상화네트워크노드 생성을 요청하는 단계 이후에, NFV 오케스트레이터가 운용지원시스템으로부터 수신된 요청에 대하여 유효한 요청인지 여부에 대한 유효성을 확인을 수행하는 단계를 더 포함할 수 있다.
이 때, HTTP/2 프록시 게이트웨이 서버 제공 방법은, NFV 오케스트레이터가 VNF (Virtual Network Function) 관리자로 가상화네트워크노드 생성을 요청하는 단계 이후에, VNF 관리자가 NFV 오케스트레이터로부터 수신된 요청에 대하여 유효한 요청인지 여부에 대한 유효성을 확인하는 단계를 더 포함할 수 있다.
상기의 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법은, VNF 관리자는 수신된 가상화네트워크노드의 상태 및 성능을 기반으로 가상화네트워크노드의 확장성(Scaling)을 판단하는 단계, VNF 관리자는 NFV 오케스트레이터로 가상화네트워크노드의 라이프사이클에 대한 확인을 요청하고, NFV 오케스트레이터는 가상화네트워크노드의 확장성을 결정하고 가용한 자원 상태를 확인하는 단계, 가용한 자원이 존재하는 경우, NFV 오케스트레이터는 VIM으로 자원 확보를 요청하고, VIM은 NFV 오케스트레이터(102)로 자원 확보 요청에 대하여 자원을 할당하는 단계, NFV 오케스트레이터는 VNF 관리자로 라이프사이클 요청에 대해 응답을 수행하고, VNF 관리자는 VIM에게 자원 할당 및 가상화네트워크노드 생성을 요청하는 단계 및 VIM이 VNF 관리자의 요청에 따라 가상화네트워크노드를 생성하는 단계를 포함한다.
이 때, HTTP/2 프록시 게이트웨이 서버 제공 방법은 가상화네트워크노드가 가상화네트워크노드의 상태 및 성능을 VNF 관리자에게 주기적으로 보고하는 단계를 더 포함할 수 있다.
상기의 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 HTTP/2 메시지 처리 방법은, 클라이언트가 HTTP/2 프록시 게이트웨이 서버로 HTTP 2.0 요청을 수행하기 위해 TLS 상의 단일 TCP 요청을 송신하는 단계, HTTP/2 프록시 게이트웨이 서버가 고속의 TLS 연결을 수행하는 단계, 클라이언트가 HTTP/2 프록시 게이트웨이 서버로 HTTP/2 요청을 수행하는 단계, HTTP/2 프록시 게이트웨이 서버가 Legacy 웹 서버로 TCP 연결을 요청하는 단계, HTTP/2 프록시 게이트웨이 서버가 HTTP 1.0 또는 HTTP 1.1 요청을 Legacy 웹 서버로 요청하고, Legacy 웹 서버로부터 HTTP 1.0 또는 HTTP 1.1 응답을 수신하는 단계, HTTP/2 프록시 게이트웨이 서버와 Legacy 웹 서버 사이에 TCP 연결을 종료하는 단계 및 HTTP/2 프록시 게이트웨이 서버가 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계를 포함한다.
이 때, 상기 HTTP/2 프록시 게이트웨이 서버가 Legacy 웹 서버로 TCP 연결을 요청하는 단계는, 가상화 기반의 소프트웨어 압축 모듈을 통해 HPACK 표준에 따라 HTTP/2 압축을 해제하고 분석하는 단계를 추가로 수행할 수 있다.
이 때, HTTP/2 프록시 게이트웨이 서버가 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계는, 가상화 기반의 소프트웨어 압축 모듈을 통해 HPACK 표준에 따라 HTTP 2.0 응답을 압축하여 클라이언트로 HTTP/2 응답을 전달할 수 있다.
이 때, HTTP/2 프록시 게이트웨이 서버가 고속의 TLS 연결을 수행하는 단계는, HTTP/2 프록시 게이트웨이 서버가 암호화 가속기를 통해 TLS 상에 핸드셰이크 프로토콜에 따라 암호화 키 교환 및 랜덤 값을 생성하여, 고속의 TLS 연결을 수행할 수 있다.
본 발명의 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법은, HTTP 2.0 프로토콜을 지원하는 모바일 단말과 HTTP 2.0 프로토콜을 제공하지 않는 웹 서버 사이에서 HTTP 프로토콜 변환 및 부하분산을 제공함으로써 고속의 웹 서비스를 제공하는 효과를 제공한다.
또한, 본 발명의 다른 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법은, 가상화네트워크노드 관리자를 포함하는 네트워크 기능 가상화 기술을 제공하여 고속 대용량의 웹 서비스 제공이 가능하며 확장성 및 가용성을 제공할 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법은, 고속의 암호화를 제공하기 위한 하드웨어 가속기를 포함할 뿐만 아니라, 가상화 환경에서 소프트웨어 기반 HTTP 헤더 압축 및 해제 기능을 제공하여 고속의 웹 서비스를 제공받을 수 있는 효과를 제공한다.
도 1은, 본 개시의 실시예가 동작할 수 있는 NFV 시스템(100)의 일 실시예의 개략도이다.
도 2는 본 발명의 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법이 구현될 수 있는 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템 구성도이다.
도 3은 본 발명의 일 실시예에 따른 HTTP/2 프록시 VM(210)의 세부 모듈 스택을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 도 3의 가상화네트워크노드를 생성 방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 가상화네트워크노드 자동 확장성을 제공하기 위한 방법을 나타내는 흐름도이다.
도 6은 본 발명의 실시예에 따른 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 HTTP 메시지 처리 방법을 나타내는 흐름도이다.
이하에서 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명하면 다음과 같다.
하나 이상의 실시예의 예시적인 구현이 이하에서 제공됨에도, 개시된 시스템, 장치, 및/또는 방법은 현재 알려져 있거나 존재하는 임의의 수많은 기술을 이용하여 구현될 수 있다는 것을 처음부터 이해해야 한다. 본 개시는, 여기서 도시되고 설명된 예시적인 설계 및 구현을 포함하는, 이하에서 도시된 예시적인 구현, 도면 및 테크닉에 한정되지 않으며, 이들의 등가물의 모든 범위와 함께 청구 범위의 범위 내에서 변경될 수 있다. 종래 기술의 특정 측면이 본 개시를 용이하게 하기 위해 논의되었지만, 출원인은 이러한 기술적 측면에 대해 결코 권리를 포기하지 않으며, 본 개시는 여기서 논의된 하나 이상의 종래의 기술적 측면을 더 포함할 수 있다고 생각된다.
여기서 개시되어 있는 것은 NFV (Network Function Virtualization, 네트워크 기능 가상화)를 이용하는 물리적 네트워크 장치의 적어도 일부분을 가상화하는 적어도 하나의 방법, 장치 및 시스템이다. NFV 가상화는 물리적 네트워크 장치를 복수의 NF (Network Function, 네트워크 기능)로 나누어 이 물리적 네트워크 장치를 가상화할 수 있다. 각각의 NF는 물리적 네트워크 장치에 의해 일반적으로 구현되는 네트워크 기능을 수행하도록 구성되어 있다. 가상 컨테이너는 물리적 네트워크 장치와 연관된 네트워크 스케일러빌리티(network scalability), 확장(expansion) 및 이주(migration)를 다루기 위해 하나 이상의 NF를 호스트할 수 있다. NFV는, 물리적 네트워크 장치에 의해 수행되는 네트워크 기능을 구현하기 위해, 절대적 분해 방식, 네트워크 기능 분해 방식, 및/또는 서비스 분리 방법 중 임의의 하나를 이용하여 NF를 그룹화하고 가상 컨테이너 내에 위치시킬 수 있다. 물리적 네트워크 장치를 하나 이상의 NF에 가상화함으로써, NF가 가상 컨테이너 및/또는 하드웨어 자원 노드 사이에 분배되고 정렬되어 OPEX 비용을 최소화할 수 있다.
도 1은, 본 개시의 실시예가 동작할 수 있는 NFV 시스템(100)의 일 실시예의 개략도이다. NFV 시스템(100)은, 데이터 중앙 네트워크, 서비스 공급자 네트워크 및/또는 LAN과 같은, 다양한 네트워크를 이용하여 구현될 수 있다. NFV 시스템(100)은 NFV 관리 및 편성 시스템(NFV Management and Orchestration system)(128), NFV 인프라스트럭처(NFV Infrastructure; NFVI)(130), 복수의 가상 네트워크 기능(virtual network function; VNF)(108), 복수의 구성 요소 관리 시스템(element management system; EMS)(122), 서비스, VNF 및 인프라스트럭처 디스크립션 시스템(Infrastructure Description system)(126), 및 하나 이상의 운용 지원 시스템(Operations Support Systems; OSS) 및 비즈니스 지원 시스템(Business Support Systems; BSS)(OSS/BSS)(124)을 포함할 수 있다. NFV 관리 및 편성 시스템(128)은 오케스트레이터(Orchestrator)(102), 하나 이상의 VNF 관리자(104), 및 하나 이상의 가상화된 인프라스트럭처 관리자(106)를 포함할 수 있다. NFVI(130)는 컴퓨팅 하드웨어(112), 스토리지 하드웨어(114) 및 네트워크 하드웨어(116), 및 가상화 계층, 가상 컴퓨팅(110), 가상 스토리지(118) 및 가상 네트워크(120)를 포함할 수 있다. 서비스, VNF 및 인프라스크럭처 디스크립션 유닛(126) 및 OSS/BSS(124)는 ETSI GS NFV 002 v1.1.1 표준에서 보다 상세하게 논의된다.
NFV 관리 및 편성 시스템(128)은 VNF(108) 및 NFVI(130)에 대한 감독 및 관리 기능을 수행하도록 구성되어 있을 수 있다. 오케스트레이터(102)는 NFVI(130) 및 NFVI(130) 내의 가상화 자원으로 구성되어 있을 수 있다. 오케스트레이터(102)는 NFVI(130) 상의 네트워크 서비스(예컨대, L2 및 L3 VPN 서비스)를 실현할 수도 있다. 오케스트레이터(102)는 하나 이상의 VNF 관리자(104)와 통신하여, 요청과 연관된 자원을 구현하고, VNF 관리자(104)에게 구성 정보를 전송하고, VNF(108)의 상태 정보를 수집할 수 있다. 또한, 오케스트레이터(102)는 가상화된 인프라스트럭처 관리자(106)와 통신하여, 자원 할당을 구현 및/또는 가상화된 하드웨어 자원 구성 및 상태 정보를 예약 및 교환할 수 있다. VNF 관리자(104)는 하나 이상의 VNF(108)를 관리하도록 구성되어 있을 수 있다. VNF 관리자(104)는, VNF(108)를 인스턴스화(instantiating), 업데이트(updating), 질의(querying), 스케일링(scaling), 및/또는 종료(terminating)하는 것과 같은, 다양한 관리 기능을 수행할 수 있다. 가상화된 인프라스트럭처 관리자(106)는 컴퓨팅 하드웨어(112), 스토리지 하드웨어(114), 네트워크 하드웨어(116), 가상 컴퓨팅(110)(예컨대, VM), 가상 스토리지(118) 및 가상 네트워크(120)와의 VNF(108)의 상호 작용을 제어하고 관리하는데 사용되는 관리 기능성을 수행하도록 구성되어 있을 수 있다. 예를 들어, 가상화된 인프라스트럭처 관리자(106)는, 인프라스트럭처 자원 및 할당을 관리하는 것(예컨대, 가상 컨테이너에 자원을 증가하는 것)과 같은 자원 관리 기능, 및 NFVI 장애 정보(fault information)를 수집하는 것과 같은 동작 기능을 수행할 수 있다. VNF 관리자(104) 및 가상화된 인프라스트럭처 관리자(106)는 자원 할당 요청을 위해 및 가상화된 하드웨어 자원 구성 및 상태 정보를 교환하기 위해 서로 통신할 수 있다.
NFVI(130)는 하드웨어 구성 요소, 소프트웨어 구성 요소, 또는 이들의 조합을 포함하여 VNF(108)를 배치(deploy), 관리, 및 실행하기 위해 가상화된 환경을 형성한다. 다시 말해, 하드웨어 자원 및 가상화 계층은 VNF(108)를 위해, VM 및 다른 유형의 가상 컨테이너와 같은, 가상화된 자원을 제공하는데 이용된다. 하드웨어 자원은 컴퓨팅 하드웨어(112), 스토리지 하드웨어(114) 및 네트워크 하드웨어(116)를 포함한다. 컴퓨팅 하드웨어(112)는 자원을 처리하고 컴퓨팅하는 것을 제공하는데 이용되는 상용 제품(commercial off-the-shelf; COTS) 하드웨어 및/또는 커스텀 하드웨어(custom hardware)일 수 있다. 스토리지 하드웨어(114)는 네트워크 내에서 제공될 수 있거나 또는 스토리지 하드웨어(114) 자체 내에 있을 수 있는 (예컨대, 서버 내에 위치되어 있는 로컬 메모리) 스토리지 용량을 제공할 수 있다. 일 실시예에서, 컴퓨팅 하드웨어(112) 및 스토리지 하드웨어(114)로부터의 자원은 협력(pooled together)될 수 있다. 네트워크 하드웨어(116)는 스위치(예컨대, 상용 스위치), 라우터, 및/또는 유선 및/또는 무선으로 서로 연결되어 있는 스위칭 기능을 수행하도록 구성되어 있는 임의의 다른 네트워크 장치일 수 있다. 네트워크 하드웨어(116)는 복수의 도메인에 걸쳐 놓여질 수 있고, 하나 이상의 전송 네트워크를 통해 서로 연결되어 있는 복수의 네트워크를 포함할 수 있다.
NFVI(130) 내의 가상화 계층은 하드웨어 자원을 추상화할 수 있고, 가상화된 자원을 VNF(108)에 제공하기 위해 기저(underlying) 물리적 네트워크 계층으로부터 VNF(108)를 분리할 수 있다. 도 1에 도시된 바와 같이, 가상화된 자원은 가상 컴퓨팅(110), 가상 스토리지(118) 및 가상 네트워크(120)를 포함할 수 있다. 가상 컴퓨팅(110) 및 가상 스토리지(118)는 하이퍼바이저(hypervisor), VM, 및/또는 다른 가상 컨테이너의 형식으로 VNF(108)에 제공될 수 있다. 예를 들어, 하나 이상의 VNF(108)는 VM 상에 배치될 수 있다. 가상화 계층은 가상 네트워크(120)를 형성하기 위해 네트워크 하드웨어(116)를 추상화한다. 가상 네트워크(120)는, VNF(108)를 호스트한 다른 가상 컨테이너 및/또는 VM 사이의 연결성을 제공하는 가상 스위치(V스위치)를 포함할 수 있다. 하드웨어 자원의 추상화(abstraction)은, 이에 한정되는 것은 아니지만, VLAN(Virtual LAN), VPLS, VxLAN (Virtual extensible LAN), 및 NVGRE(Network Virtualization using Generic Routing Encapsulation)를 포함하는 다양한 기술을 이용하여 구현될 수 있다. 뿐만 아니라, 네트워크 하드웨어(116) 내의 전송 네트워크는 집중 제어 플레인(centralized control plane) 및 개별 포워딩 플레인(separate forwarding plane)(예컨대, 소프트웨어 정의 네트워크(Software Defined Network; SDN))를 이용하여 가상화될 수 있다.
도 1에 도시된 바와 같이, VNF 관리자(104)는 VNF(108) 및 EMS(122)와 통신하여 VNF 라이프사이클 관리를 수행하고 구성 및 상태 정보를 교환할 수 있다. VNF(108)는 물리적 네트워크 장치에 의해 수행된 네트워크 기능 중 적어도 하나의 가상화가 되도록 구성되어 있을 수 있다. 일 실시예에서, VNF(108)는, 가상화되지 않은 PE (Provider Edge)장치 내에서 일반적으로 발견되는 모든 PE 네트워크 기능을 제공하도록 구성되어 있는 가상화된 PE 노드일 수 있다. 다른 실시예에서, VNF(108)는 가상화되지 않은 PE 장치에 대한 구성 요소 중 하나(예컨대, 운용, 집행 및 관리(operations, administration, and management; OAM) 구성 요소)를 구현하도록 구성되어 있을 수 있다. 이와 같이, 가상 컨테이너는 하나의 VNF(108)를 호스트하거나 또는 복수의 VNF(108)를 호스트할 수 있고, 여기서 각 VNF(108)는 가상 컨테이너에서 실행되고, 하나 이상의 물리적 장치에 속하는 네트워크 기능의 세트에 대응한다. 네트워크 기능을 수행하기 위해 VNF(108)를 배치하는 것은 도 2 내지 도 6에서 보다 상세하게 논의될 것이다. EMS(122)는 하나 이상의 VNF(108)에 대해 관리 기능성을 수행하도록 구성되어 있을 수 있다.
도 2는 본 발명의 실시예에 따른 HTTP/2 프록시 게이트웨이 서버 제공 방법이 구현될 수 있는 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템 구성도이다.
도 2를 참조하면, 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템은 HTTP/2 프록시 기능을 수행하는 HTTP/2 프록시 VM(210), HTTP/2 프록시 VM(210)에 가상 하드웨어를 제공하는 하이퍼바이저(220), 하이퍼바이저(220)와 연동되는 물리적 하드웨어(230), 가상화 관리를 위한 오케이스트레이터(102), VNF관리자(104) 및 VIM(106, Virtualized Infrastructure Manager, 가상화된 인프라스트럭처 관리자)를 포함하여 구성된다.
여기서, HTTP/2 프록시 VM(210)은 사용 방식에 따라 2개 이상 생성 및 운용이 가능하며, 웹 서비스 요청 성능에 따라 동적으로 확장되어 N개(N은 자연수)까지 확장될 수 있다. (이하, HTTP/2 프록시 VM(210)를 가상화네트워크노드라고도 칭할 수 있다.)
HTTP/2 프록시 VM(210)의 세부적인 구성 및 동작 원리는 도 3에서 상세하게 설명한다.
HTTP/2 프록시 VM(210)의 생성 및 관리는 오케이스트레이터(102), VNF 관리자(104) 및 VIM(106)을 통해 이루어지며, 이에 관한 세부적인 절차는 도 4 내지 6에서 상세하게 설명한다.
HTTP/2 프록시 게이트웨이 시스템의 하이퍼바이저(220)는 물리적 하드웨어에 대한 가상화 및 상기 HTTP/2 프록시 VM(210)과 연결을 수행하기 위한 가상화 엔진으로 구현될 수 있다.
이 때, 하이퍼바이저(220)는 가상화플랫폼(221) 및 가상 스위치(222)를 포함하여 구성된다.
가상화플랫폼(221)은 오픈소스 클라우드 기술인 Openstack 기반의 가상화플랫폼 기술을 적용할 수 있다.
OpenStack은 Public과 Private 클라우드를 구축하기 위한 오픈 소스 소프트웨어로써, 가상화 시스템 구축을 위해 필수적 구성요소로 하이퍼바이저로 KVM을 사용하며 다양한 모듈을 통해서 표준 하드웨어 상에 가상화 시스템 구축을 제공할 수 있다.
OpenStack은 Compute Node, Controller Node, Network Node 3개의 시스템으로 구성되며, Neutron을 통한 네트워크 구성 여부에 따라 Network Node 필요 여부가 결정되며, 가상화플랫폼(221)은 Neutron을 통한 시스템을 구성할 수 있다. Network Node와 Controller 노드는 같은 서버 상에 구현되며, HTTP/2 프록시 게이트웨이는 Compute Node에 구성되게 되며, Compute Node는 필요에 따라서 동적으로 추가/삭제가 가능하다.
가상 스위치(222)는 가상화 환경에서 네트워크 스위치 기능을 수행한다. 이 때 가상 스위치(222)는 OVS-DPDK 모듈을 채택할 수 있다.
OVS (OpenVSwitch)는 Apache2 라이선스의 오픈소스 가상스위치로 가상화 환경에서 네트워크 스위치 기능을 하는 소프트웨어이다.
DPDK (Data Plane Development Kit)는 INTEL에서 제공하는 고속 데이터 처리를 위한 개발 도구로써, NIC 카드로부터 수신되는 패킷을 SR-IOV 기술을 통해 VM으로 직접 전달함으로써, 가상화 환경에서 고속의 데이터 처리가 가능한 기술이다.
DPDK는 VM의 OS를 통하지 않고 Low Packet을 VM으로 직접 전달함으로써 고속의 데이터 처리는 가능하지만 OS를 통하지 않으므로, DPDK상에 TCP/IP 및 HTTP와 같은 패킷을 처리하기 위해서는 자체 프로토콜 스택의 개발이 필수적이다. 이러한 문제를 해결하기 위해서 최근 INTEL에서는 OVS를 통해 VM의 OS로 패킷을 전달하고, DPDK를 통해 고속의 데이터 처리를 지원할 수 있는 OVS-DPDK 모듈을 제공하고 있으며, 본 발명의 가상화플랫폼(221)에 관련된 OpenStack에서는 OVS-DPDK를 지원하지 않으므로, 고속의 패킷 처리를 수행하기 위해 OVS-DPDK를 적용할 수 있다.
HTTP/2 프록시 게이트웨이 시스템의 하드웨어(230)은 네트워크 인터페이스(231) 및 하드웨어암호화 가속기(232)를 포함하여 구성된다.
이 때, 네트워크 인터페이스(231)는 10기가바이트 네트워크 인터페이스를 적용할 수 있으며, 이를 통해 HTTP/2 프록시 VM(210)과 고속의 데이터 통신을 수행할 수 있다.
또한, 하드웨어암호화 가속기(232)는 HTTP/2 프록시 VM(210)과 고속의 TLS 연결 및 송수신하는 데이터의 암호화/복호화를 수행할 수 있다.
HTTP/2 프록시 게이트웨이 시스템의 오케이스트레이터(102), VNF관리자(104) 및 VIM(106, 가상화된 인프라스트럭처 관리자)는 도 1에서 상세하게 설명한 바 있다.
도 3은 본 발명의 일 실시예에 따른 HTTP/2 프록시 VM(210)의 세부 모듈 스택을 나타낸 도면이다.
HTTP/2 프록시 VM(210)은 세션관리자(211), S/W(소프트웨어) 압축부(212), 고속암호화부(213), HTTP 프로토콜 스택(214), TCP/IP 프로토콜 스택(215), 가상화 환경의 게스트 운영체제(216), 가상화된 네트워크 자원 사용을 위한 가상화 네트워크(217)를 포함하여 구성된다.
세션관리자(211)는 HTTP 세션을 관리하며, 여러 HTTP 요청에 대해 각각의 상태 정보를 유지한다. 좀 더 상세하게 설명하면, 여러 이용자가 또는 동일 이용자가 여러 문서를 요청하면, 서버는 문서나 몇몇의 에러 코드로 응답하고 트랜잭션을 종료하게 되는데, 서버는 어떤 다른 이용자의 요청인지 구분을 하지 못하기 때문에 세션관리자(211)를 통해 여러 개의 HTTP요청에 대해 각각의 상태 정보를 유지하는 과정이 필요하다.
일례로 JSP PAGE는 자바 서블릿 API에서 제공하는 기능을 통해 내부적으로 이 세션 관리 기능을 지원하고, 서블릿은 cookie나 URL rewriting을 사용하여 세션 관리를 할 수 있다.
S/W(소프트웨어) 압축부(212)는 가상화 환경에서 구동되는 소프트웨어와 주고 받는 메시지 정보의 압축 및 해제를 위한 기능을 수행하며, 고속암호화부(213)는 가상화 환경에서 TLS 연결 및 고속 암호화/복호화 기능을 수행한다.
또한, HTTP 프로토콜 스택(214)은 HTTP 프로토콜 처리를 위한 버전별 HTTP 프로토콜 스택을 포함하며, 현재 적용되고 있는 HTTP 1.0 프로토콜 스택, HTTP 1.1 프로토콜 스택 및 HTTP2.0 프로토콜 스택을 포함하여 구성된다.
TCP/IP 프로토콜 스택(215)은 가상화 환경에서 HTTP 연결을 통한 데이터 통신이 가능하도록 경로 설정 및 주소 해석 등의 기능을 지원한다.
가상화 환경의 게스트 운영체제(216)는 가상화 환경이 구동될 수 있도록 운영체제 역할을 수행하며, 일반적으로 Linux가 적용된다.
가상화 네트워크(217)는 가상화 환경에서 네트워크 자원 사용을 지원하며, 하이퍼바이저(220)의 가상화 스위치(222)에 연동되어 될 수 있다.
도 4는 본 발명의 실시예에 따른 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 도 3의 가상화네트워크노드를 생성 방법을 나타내는 흐름도이다.
도 4를 참조하면, 운용지원시스템(124, OSS/BSS)으로부터 NFV 오케스트레이터(102)로 가상화네트워크노드 생성을 요청하면(S1), NFV 오케스트레이터(102)는 운용지원시스템(124)으로부터 수신된 요청에 대하여 유효한 요청인지 여부에 대한 유효성을 확인을 수행한다(S2). 유효성 확인은 유효한 운용지원시스템으로부터 전달된 요청인지 여부, 현재 NFV 생성/삭제가 가능한 상태인지 여부 등 생성 요청과 관련된 파라미터에 대한 유효성을 확인하는 것이다.
이후, 유효한 요청으로 판별되면 NFV 오케스트레이터(102)는 VNF 관리자(104)로 가상화네트워크노드 생성을 요청한다(S3). VNF 관리자(104)는 NFV 오케스트레이터(102)로부터 수신된 요청에 대하여 유효한 요청인지 여부에 대한 유효성을 확인한다.(S5) S5의 유효성 확인 단계는 위에서 설명한 S2단계와 유사하게 수행될 수 있다.
이후, 유효한 요청으로 판별되면 VNF 관리자(104)는 가상화네트워크노드를 생성하기 위해 NFV 오케스트레이터(102)로 자원 확인을 요청한다(S5). NFV 오케스트레이터(102)는 VIM(106)로 자원 확인을 요청하면(S6), VIM(106)은 가상화된 자원을 확인하여 NFV 오케스트레이터(102)로 자원 확인 요청에 대한 응답을 수행한다.(S7) 예를 들어, 가상화네트워크노드가 최대 4개까지 지원되는 상태라고 가정 했을 때 현재 4개의 가상화네트워크노드가 생성된 상태라면 가용자원이 없다는 응답을 전달하고, 현재 2개의 가상화네트워크노드가 생성된 상태라면 가용자원이 50%가 점유되어 있다는 응답 또는 가용자원이 있다는 응답과 함께 추가로 2개의 가상화네트워크노드가 생성될 수 있다는 응답을 함께 전달할 수 있다.
이후, NFV 오케스트레이터(102)는 VNF 관리자(104)로 자원 요청에 대한 응답을 수행한다(S8). 동시에 NFV 오케스트레이터(102)는 운용지원시스템(124)으로 가상화네트워크노드 생성 요청에 응답한다.(S9)
이후, VNF 관리자(104)는 VIM(106)에게 자원 할당 및 가상화네트워크노드 생성을 요청하고(S10), VIM(106)은 VNF 관리자(104)의 요청에 따라 가상화네트워크노드(108)를 생성한다(S11). 여기서, VIM(106)은 할당받은 자원을 이용하여 하이퍼바이저를 통해 VM을 생성하고, 윈도우 및 리눅스 등의 운영체제 이미지 설치를 통해 응용프로그램이 실행할 수 있는 환경을 생성한다. 또한 가상화네트워크노드를 생성한다는 의미는 도 2에서 설명한 바와 같이 가상화 환경에서 HTTP/2 프록시 VM을 추가로 생성한다는 의미와 유사하게 해석될 수 있다.
가상화네트워크노드(108) 생성이 완료되면, VIM(106)은 VNF 관리자(104)로 자원 할당 및 가상화네트워크노드(108) 생성 요청에 대한 응답을 수행한다.(S12)
이후, VNF 관리자(104)는 생성된 가상화네트워크노드(108)을 구성하고(S13). 이 때, VNF 관리자(104)는 S11단계에서 생성된 가상머신 상에 응용프로그램을 설치하고 응용프로그램이 정상적으로 동작할 수 있는 가상환경을 구성한다.
이 후, 생성된 가상화네트워크노드(108)은 관리자모듈(200)로 가상화네트워크노드(108) 구성을 알린다.(S14)
도 5는 본 발명의 실시예에 따른 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 가상화네트워크노드 자동 확장성을 제공하기 위한 방법을 나타내는 흐름도이다.
도 5를 참조하면, 가상화네트워크노드(108)은 가상화네트워크노드(108)의 상태 및 성능을 VNF 관리자(104)로 주기적으로 보고하고(S101), 가VNF 관리자(104)은 수신된 가상화네트워크노드(108)의 상태 및 성능을 기반으로 가상화네트워크노드(108)의 확장성(Scaling)을 판단하게 된다(S102). 여기서, 가상화네트워크노드(108)의 상태 및 성능을 VNF 관리자(104)로 주기적으로 보고하는 것은 현재 생성된 가상화네트워크노드의 개수, 생성된 가상화네트워크노드의 활용상태에 따른 추가로 가상화네트워크노드를 생성할 수 있는지 여부, 현재 생성된 가상화네트워크노드의 자원활용 상태 등의 정보를 포함할 수 있다.
VNF 관리자(104)는 NFV 오케스트레이터(102)로 가상화네트워크노드(108)의 라이프사이클에 대한 확인을 요청하고(S103), NFV 오케스트레이터(102)는 가상화네트워크노드(108)의 확장성을 결정하고 가용한 자원 상태를 확인한다.(S104) 이 때, 라이프사이클은 인스턴스화(instantiating), 업데이트(updating), 질의(querying), 스케일링(scaling), 및/또는 종료(terminating)과 같은 가상화네트워크노드의 상태로써 S103은 해당 가상화네트워크노드가 확장(scaling)이 가능 여부를 확인하는 과정이다. 예를 들어 가상화네트워크 노드의 최대 생성 개수 설정 값이 5 이며, 현재 가상화네트워크노드가 5개일 경우 추가적인 확장은 불가능하다.
이 때, 가용한 자원이 존재하는 경우, NFV 오케스트레이터(102)는 VIM(106)로 자원 확보를 요청하고(S105), VIM(106)은 NFV 오케스트레이터(102)로 자원 확보 요청에 대하여 자원을 할당한 후 응답을 수행한다(S106).
이후, NFV 오케스트레이터(102)는 VNF 관리자(104)로 라이프사이클 요청에 대해 응답을 수행하고(S107), VNF 관리자(104)는 VIM(106)에게 자원 할당 및 가상화네트워크노드(108) 생성을 요청한다(S108).
이후, VIM(106)은 가상화네트워크노드(108)을 생성하고(S109), VIM(106)은 VNF 관리자(104)로 자원 할당 및 가상화네트워크노드(108) 생성 요청에 대한 응답을 수행한다(S110).
이후, VNF 관리자(104)는 생성된 가상화네트워크노드(108)을 구성하고(S111), 생성된 가상화네트워크노드(108)은 관리자모듈(200)로 가상화네트워크노드(108) 구성을 알리게 된다(S112).
도 6은 본 발명의 실시예에 따른 가상화 기반의 HTTP/2 프록시 게이트웨이 서버 시스템에서 HTTP 메시지 처리 방법을 나타내는 흐름도이다.
HTTP/2는 Multiplex Stream을 지원하기 위해 기존 HTTP 1.0/1.1 프로토콜의 메시지 형식이 아닌 Binary Framing Layer를 제공할 수 있다. 따라서 Binary Framing Layer에 따라 전달된 HTTP/2 요청은 HTTP 1.0/1.1 프로토콜에 따른 메시지로 변환하여 전달해야 한다.
또한, HTTP/2는 Multiplex Stream 기능 이외에 Stream Priority 기능을 지원하므로 요청된 우선순위에 따라 기존 웹 서버로 요청을 제어해야 하며, 헤더 크기를 줄이기 위해 아래와 같이 암시적으로 전달되는 헤더에 대해서는 이전 헤더를 참조하여 정상 메시지로 조합하는 기능을 제공해주어야 한다.
이러한 목적을 달성하기 위한 HTTP 메시지 처리 방법은 아래와 같다.
도 6을 참조하면, 클라이언트(10)는 HTTP/2 프록시 게이트웨이 서버(210)로 HTTP 2.0 요청을 수행하기 위해 TLS 상의 단일 TCP 요청을 송신한다.(S1001)
클라이언트(10)로부터 HTTP/2 요청을 수신한 HTTP/2 프록시 게이트웨이 서버(210)는 INTEL Quickassist 기반의 하드웨어 암호화 가속기를 통해 TLS 상에 핸드셰이크 프로토콜에 따라 암호화 키 교환 및 랜덤 값을 생성하여, 고속의 TLS 연결을 수행한다(S1002). 이 때, 클라이언트(10)는 유저의 모바일단말이 될 수 있다.
TLS 연결 후, 클라이언트(10)는 HTTP/2 프록시 게이트웨이 서버(210)로 HTTP/2 요청을 수행하고(S1003), HTTP/2 요청을 수신한 HTTP/2 프록시 게이트웨이 서버(210)는 가상화 기반의 소프트웨어 압축부을 통해 HPACK 표준에 따라 HTTP/2 압축을 해제하고 분석한 후(S1004), 최종 목적지 Legacy 웹 서버(20)로 TCP 연결을 요청한다(S1005).
기존 HTTP 프로토콜의 헤더는 사람이 읽을 수 있는 텍스트 기반으로 되어 있어 크기가 크며, 이를 반복적으로 보내게 됨으로써 헤더 크기만으로도 네트워크 패킷의 상당부분을 차지하고 있다. 이를 해결하기 위해 HPACK 표준에 따라 헤더를 압축하여 데이터양을 줄이고 반복적인 헤더를 제거함으로써 성능을 향상시킬 수 있으며, 헤더 압축을 통해서 88% 요청 헤더가 줄고 응답 헤더크기는 최고 85%까지 감소할 수 있다.
TCP 연결이 완료 된 후, HTTP/2 프록시 게이트웨이 서버(210)는 HTTP 1.0 또는 HTTP 1.1 요청을 Legacy 웹 서버(20)로 요청하고, Legacy 웹 서버(20)로부터 HTTP 1.0 또는 HTTP 1.1 응답을 수신하고(S1006), Legacy 웹 서버(20)와 TCP 연결을 종료한다(S1007).
HTTP/2 프록시 게이트웨이 서버(210)는 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 가상화 기반의 소프트웨어 압축부을 통해 HPACK 표준에 따라 HTTP 2.0 응답을 압축하고(S1008), 클라이언트(10)로 HTTP/2 응답을 전달한다(S1009).
이상 본 발명의 바람직한 실시예들을 들어 본 발명을 설명하였으나, 본 출원의 특허청구범위에 기재된 본 발명의 범위를 벗어나지 않고도 다양한 개작, 변경, 수정이 가능할 것이며, 이러한 개작, 변경, 수정 등은 이하의 특허청구의 범위에 속하는 것으로 보아야 할 것이다.

Claims (9)

  1. 운용지원시스템으로부터 NFV (Network Function Virtualization) 오케스트레이터로 가상화네트워크노드 생성을 요청하는 단계;
    NFV 오케스트레이터가 VNF (Virtual Network Function) 관리자로 가상화네트워크노드 생성을 요청하는 단계;
    VNF 관리자가 가상화네트워크노드를 생성하기 위해 NFV 오케스트레이터로 자원 확인을 요청하는 단계;
    NFV 오케스트레이터가 VIM (Virtualized Infrastructure Manager)으로 자원 확인을 요청하는 단계;
    VIM이 가상화된 자원을 확인하여 NFV 오케스트레이터로 자원 확인 요청에 대한 응답을 수행하는 단계;
    NFV 오케스트레이터가 VNF 관리자로 자원 요청에 대한 응답을 수행하는 단계;
    NFV 오케스트레이터가 운용지원시스템으로 가상화네트워크노드 생성 요청에 응답하는 단계;
    VNF 관리자가 VIM에 자원 할당 및 가상화네트워크노드 생성을 요청하는 단계; 및
    VIM이 VNF 관리자의 요청에 따라 가상화네트워크노드를 생성하는 단계;를 포함하고,
    상기 VIM이 VNF 관리자의 요청에 따라 가상화네트워크노드를 생성하는 단계는
    VIM이 할당받은 자원을 이용하여 하이퍼바이저를 통해 VM을 생성하는 단계;
    상기 VIM이 운영체제 이미지 설치를 통해 응용프로그램이 실행할 수 있는 환경을 생성하는 단계;
    가상화네트워크노드 생성이 완료된 후, VIM이 VNF 관리자로 자원 할당 및 가상화네트워크노드 생성 요청에 대한 응답을 수행하는 단계;및
    VNF 관리자가 생성된 가상화네트워크노드를 구성하는 단계;
    를 포함하고,
    상기 VNF 관리자가 생성된 가상화네트워크노드를 구성하는 단계는
    VNF 관리자가 생성된 VM에 응용프로그램이 동작하는 가상환경을 구성하는 단계;및
    생성된 가상화네트워크노드가 관리자모듈로 가상화네트워크노드 구성을 알리는 단계;
    를 포함하며,
    상기 생성된 가상화네트워크노드는,
    HTTP 1.0 프로토콜 스택, HTTP 1.1 프로토콜 스택 및 HTTP 2.0 프로토콜 스택을 포함하여 가상화 환경에서 HTTP 연결을 통한 데이터 통신을 수행하는 것이며,
    클라이언트로부터 HTTP 2.0 요청을 수행하기 위해 TLS 상의 단일 TCP 요청을 수신하는 단계;
    고속의 TLS 연결을 수행하는 단계;
    클라이언트로부터 HTTP/2 요청을 수신하는 단계;
    Legacy 웹 서버로 TCP 연결을 요청하는 단계;
    HTTP 1.0 또는 HTTP 1.1 요청을 Legacy 웹 서버로 요청하고, Legacy 웹 서버로부터 HTTP 1.0 또는 HTTP 1.1 응답을 수신하는 단계;
    Legacy 웹 서버 와의 TCP 연결을 종료하는 단계; 및
    상기 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계;
    를 포함하고
    상기 클라이언트로부터 HTTP/2 요청을 수신하는 단계는
    상기 클라이언트로부터 이진 프레이밍 계층(Binary Framing Layer)에 따라 HTTP/2 요청을 수신하는 것이며,
    상기 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계는
    HTTP 1.0 프로토콜 또는 HTTP 1.1 프로토콜에 따른 메시지로 변환하여 클라이언트로 HTTP/2 응답을 전달하는 것이며, 암시적으로 전달되는 헤더의 경우, 이전 헤더를 참조하여 정상 메시지로 조합하는 것을 특징으로 하는 HTTP/2 프록시 게이트웨이 서버 제공 방법.
  2. 청구항 1에 있어서,
    상기 운용지원시스템으로부터 NFV (Network Function Virtualization) 오케스트레이터로 가상화네트워크노드 생성을 요청하는 단계 이후에,
    NFV 오케스트레이터가 운용지원시스템으로부터 수신된 요청에 대하여 유효한 요청인지 여부에 대한 유효성을 확인을 수행하는 단계;
    를 더 포함하는, HTTP/2 프록시 게이트웨이 서버 제공 방법.
  3. 청구항 2에 있어서,
    NFV 오케스트레이터가 VNF (Virtual Network Function) 관리자로 가상화네트워크노드 생성을 요청하는 단계 이후에,
    VNF 관리자가 NFV 오케스트레이터로부터 수신된 요청에 대하여 유효한 요청인지 여부에 대한 유효성을 확인하는 단계;
    를 더 포함하는, HTTP/2 프록시 게이트웨이 서버 제공 방법.
  4. VNF 관리자는 수신된 가상화네트워크노드의 상태 및 성능을 기반으로 가상화네트워크노드의 확장성(Scaling)을 판단하는 단계;
    VNF 관리자는 NFV 오케스트레이터로 가상화네트워크노드의 라이프사이클에 대한 확인을 요청하고, NFV 오케스트레이터는 가상화네트워크노드의 확장성을 결정하고 가용한 자원 상태를 확인하는 단계;
    가용한 자원이 존재하는 경우, NFV 오케스트레이터는 VIM으로 자원 확보를 요청하고, VIM은 NFV 오케스트레이터(102)로 자원 확보 요청에 대하여 자원을 할당하는 단계;
    NFV 오케스트레이터는 VNF 관리자로 라이프사이클 요청에 대해 응답을 수행하고, VNF 관리자는 VIM에게 자원 할당 및 가상화네트워크노드 생성을 요청하는 단계; 및
    VIM이 VNF 관리자의 요청에 따라 가상화네트워크노드를 생성하는 단계;를 포함하고,
    상기 VIM이 VNF 관리자의 요청에 따라 가상화네트워크노드를 생성하는 단계는
    VIM이 할당받은 자원을 이용하여 하이퍼바이저를 통해 VM을 생성하는 단계;
    상기 VIM이 운영체제 이미지 설치를 통해 응용프로그램이 실행할 수 있는 환경을 생성하는 단계;
    가상화네트워크노드 생성이 완료된 후, VIM이 VNF 관리자로 자원 할당 및 가상화네트워크노드 생성 요청에 대한 응답을 수행하는 단계;및
    VNF 관리자가 생성된 가상화네트워크노드를 구성하는 단계;
    를 포함하고,
    상기 VNF 관리자가 생성된 가상화네트워크노드를 구성하는 단계는
    VNF 관리자가 생성된 VM에 응용프로그램이 동작하는 가상환경을 구성하는 단계;및
    생성된 가상화네트워크노드가 관리자모듈로 가상화네트워크노드 구성을 알리는 단계;
    를 포함하며,
    상기 생성된 가상화네트워크노드는,
    HTTP 1.0 프로토콜 스택, HTTP 1.1 프로토콜 스택 및 HTTP 2.0 프로토콜 스택을 포함하여 가상화 환경에서 HTTP 연결을 통한 데이터 통신을 수행하는 것이며,
    클라이언트로부터 HTTP 2.0 요청을 수행하기 위해 TLS 상의 단일 TCP 요청을 수신하는 단계;
    고속의 TLS 연결을 수행하는 단계;
    클라이언트로부터 HTTP/2 요청을 수신하는 단계;
    Legacy 웹 서버로 TCP 연결을 요청하는 단계;
    HTTP 1.0 또는 HTTP 1.1 요청을 Legacy 웹 서버로 요청하고, Legacy 웹 서버로부터 HTTP 1.0 또는 HTTP 1.1 응답을 수신하는 단계;
    Legacy 웹 서버 와의 TCP 연결을 종료하는 단계; 및
    상기 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계;
    를 포함하고
    상기 클라이언트로부터 HTTP/2 요청을 수신하는 단계는
    상기 클라이언트로부터 이진 프레이밍 계층(Binary Framing Layer)에 따라 HTTP/2 요청을 수신하는 것이며,
    상기 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계는
    HTTP 1.0 프로토콜 또는 HTTP 1.1 프로토콜에 따른 메시지로 변환하여 클라이언트로 HTTP/2 응답을 전달하는 것이며, 암시적으로 전달되는 헤더의 경우, 이전 헤더를 참조하여 정상 메시지로 조합하는 것을 특징으로 하는 HTTP/2 프록시 게이트웨이 서버 제공 방법.
  5. 제 4 항에 있어서,
    가상화네트워크노드가 가상화네트워크노드의 상태 및 성능을 VNF 관리자에게 주기적으로 보고하는 단계를 더 포함하는, HTTP/2 프록시 게이트웨이 서버 제공 방법.
  6. 삭제
  7. 제 1 항에 있어서,
    Legacy 웹 서버로 TCP 연결을 요청하는 단계는,
    가상화 기반의 소프트웨어 압축 모듈을 통해 HPACK 표준에 따라 HTTP/2 압축을 해제하고 분석하는 단계를 추가로 수행하는 것을 특징으로 하는, HTTP/2 프록시 게이트웨이 서버 제공 방법.
  8. 제 1 항에 있어서,
    상기 수신한 HTTP 1.0 또는 HTTP 1.1 응답을 분석하고, HTTP 2.0 세션을 확인 한 후, 클라이언트로 HTTP/2 응답을 전달하는 단계는,
    가상화 기반의 소프트웨어 압축 모듈을 통해 HPACK 표준에 따라 HTTP 2.0 응답을 압축하여 클라이언트로 HTTP/2 응답을 전달하는 것을 특징으로 하는, HTTP/2 프록시 게이트웨이 서버 제공 방법.
  9. 제 1 항에 있어서,
    상기 고속의 TLS 연결을 수행하는 단계는,
    암호화 가속기를 통해 TLS 상에 핸드셰이크 프로토콜에 따라 암호화 키 교환 및 랜덤 값을 생성하여, 고속의 TLS 연결을 수행하는 것을 특징으로 하는, HTTP/2 프록시 게이트웨이 서버 제공 방법.
KR1020160103724A 2015-08-17 2016-08-16 가상화 환경에서 http/2 프록시 게이트웨이 서버 제공 방법 KR101740234B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150115158 2015-08-17
KR20150115158 2015-08-17

Publications (2)

Publication Number Publication Date
KR20170021209A KR20170021209A (ko) 2017-02-27
KR101740234B1 true KR101740234B1 (ko) 2017-05-29

Family

ID=58315978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160103724A KR101740234B1 (ko) 2015-08-17 2016-08-16 가상화 환경에서 http/2 프록시 게이트웨이 서버 제공 방법

Country Status (1)

Country Link
KR (1) KR101740234B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338496B (zh) * 2020-10-12 2023-09-05 中移(苏州)软件技术有限公司 一种资源转发方法、装置、终端和计算机存储介质
WO2022108064A1 (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치 및 이의 제어 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
기술문서(provision, Fastest Website Acceleration for New HTTP Protocol with Alteon NG and Advanced HTTP/2 Gateway, 2015.07.23.)*
표준문서(ETSI GS NFV-MAN 001 V1.1.1 , 2014.12.)*

Also Published As

Publication number Publication date
KR20170021209A (ko) 2017-02-27

Similar Documents

Publication Publication Date Title
EP3610670B1 (en) Service provision for offering network slices to a customer
US10700979B2 (en) Load balancing for a virtual networking system
US10411947B2 (en) Hot swapping and hot scaling containers
US10237362B2 (en) Efficient communication within hybrid cloud system
EP2936754B1 (en) Network function virtualization for a network device
US9112801B2 (en) Quantized congestion notification in a virtual networking system
EP2842282B1 (en) Distributed virtual switch architecture for a hybrid cloud
US10038665B2 (en) Reducing broadcast flooding in a software defined network of a cloud
WO2016155394A1 (zh) 一种虚拟网络功能间链路建立方法及装置
US20130041987A1 (en) System and Method for Deploying a Dynamic Virtual Network Address Translation Appliance
EP3022888B1 (en) Network element and method of running applications in a cloud computing system
Masutani et al. Requirements and design of flexible NFV network infrastructure node leveraging SDN/OpenFlow
WO2016121736A1 (ja) オーケストレータ装置、システム、仮想マシンの作成方法及びプログラム
CN114945903A (zh) 使用边缘优化计算实例在提供商底层扩展处执行用户工作负载
WO2016050109A1 (zh) 一种通信方法、云管理服务器及虚拟交换机
EP4302469A1 (en) Containerized router with virtual networking
CN115834708A (zh) 负载均衡方法、装置、设备及计算机可读存储介质
Takefusa et al. Virtual cloud service system for building effective inter-cloud applications
KR101740234B1 (ko) 가상화 환경에서 http/2 프록시 게이트웨이 서버 제공 방법
Khan et al. The reconfigurable mobile network
Dickel et al. Evaluation of autoscaling metrics for (stateful) IoT gateways
WO2018082533A1 (en) Systems and methods for hierarchical network management
Chou et al. Design of SFC Management System based on SDN and NFV
KR102266051B1 (ko) 대용량 데이터 처리 및 고성능 nfv 시스템 구축 방법
US20240231922A1 (en) Anti-affinity for containerized computing service

Legal Events

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

Payment date: 20200303

Year of fee payment: 4