KR20140054357A - Openflow 데이터 플레인 및 컨트롤 플레인을 갖는 클라우드 컴퓨터에서의 3g 패킷 코어의 구현 - Google Patents
Openflow 데이터 플레인 및 컨트롤 플레인을 갖는 클라우드 컴퓨터에서의 3g 패킷 코어의 구현 Download PDFInfo
- Publication number
- KR20140054357A KR20140054357A KR1020147007870A KR20147007870A KR20140054357A KR 20140054357 A KR20140054357 A KR 20140054357A KR 1020147007870 A KR1020147007870 A KR 1020147007870A KR 20147007870 A KR20147007870 A KR 20147007870A KR 20140054357 A KR20140054357 A KR 20140054357A
- Authority
- KR
- South Korea
- Prior art keywords
- gtp
- control plane
- gtp tunnel
- controller
- protocol
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
- H04L12/4666—Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
분리 아키텍처를 가진 제3 세대(3G) 네트워크의 패킷 코어(PC)에서 GPRS(general packet radio service) 터널 프로토콜(GTP)을 구현하기 위한 방법 - 상기 분리 아키텍처에서 상기 3G 네트워크의 PC의 컨트롤 플레인이 클라우드 컴퓨팅 시스템에 있음 - 으로서, 상기 클라우드 컴퓨팅 시스템은 컨트롤러를 포함하고, 상기 컨트롤러는 복수의 컨트롤 플레인 모듈들을 실행하고, 상기 컨트롤 플레인은 컨트롤 플레인 프로토콜을 통하여 상기 PC의 데이터 플레인과 통신하고, 상기 데이터 플레인은 제1 및 제2 GTP 터널 종단점을 확립하도록 SGSN 및 GGSN의 데이터 플레인을 구현하는 스위치들 및 중간 스위치들을 구성함으로써 상기 3G 네트워크의 복수의 네트워크 요소들에 구현된다.
Description
본 발명의 실시예들은 클라우드 컴퓨터 시스템에서 제3 세대 패킷 코어의 컨트롤 플레인을 구현하기 위한 방법 및 시스템에 관한 것이다. 구체적으로, 본 발명의 실시예들은 클라우드 컴퓨터 시스템에서 실행 중인 컨트롤 플레인에 의해 데이터 플레인의 제어를 구현하기 위한 OpenFlow 프로토콜의 사용에 관한 것이다.
GPRS(general packet radios system)는 휴대 전화와 같은 사용자 장치들과 인터넷 간에 인터넷 프로토콜 패킷들을 전송하기 위해 이용되는 시스템이다. GPRS 시스템은 GSM(global system for mobile communication)의 통합 부분인 GPRS 코어 네트워크를 포함한다. 이들 시스템은 광범위한 지역들에 걸쳐 휴대 전화 서비스를 가능하게 하기 위해 휴대 전화 네트워크 제공업체들에 의해 널리 이용된다.
GPRS 터널링 프로토콜(GTP)은 GPRS 코어 네트워크 내에서 이용되는 중요한 통신 프로토콜이다. GTP는 GSM 네트워크 내의 최종 사용자 장치들(예를 들어, 휴대 전화들)이 인터넷에 계속 접속하면서 여기저기 이동할 수 있게 해준다. 최종 사용자 장치들은 게이트웨이 GPRS 지원 노드(gateway GPRS support node, GGSN)를 통하여 인터넷에 접속된다. GGSN은 최종 사용자 장치로부터 시작되는 세션을 처리하고 있는 최종 사용자 장치의 서빙 GPRS 지원 노드(serving GPRS support node, SGSN)로부터의 최종 사용자 장치의 데이터를 추적한다.
3가지 종류의 GTP가 GPRS 코어 네트워크에 의해 이용된다. GTP-U는 각각의 패킷 데이터 프로토콜(PDP) 컨텍스트에 대한 분리된 터널들에서의 사용자 데이터의 전송을 위해 이용된다. GTP-C는 GPRS 코어 네트워크 내에서 GGSN과 SGSN 간의 시그널링을 위해 이용된다. GTP'는 GSM 또는 UMTS 네트워크의 CDF(Charging Data Function)로부터 CGF(charging gateway function)로 과금 데이터(charging data)를 전달하기 위해 이용되며, CGF는 필요한 최종 사용자 장치 사용 정보를 빌링 시스템에 제공한다. GTP'는 GTP-C 및 GTP-U와 동일한 메시지 구조를 사용한다.
분리 아키텍처(split architecture)를 가진 제3 세대(3G) 네트워크의 패킷 코어(PC)에서 GPRS(general packet radio service) 터널 프로토콜(GTP)을 구현하기 위한 방법 - 상기 분리 아키텍처에서 상기 3G 네트워크의 PC의 컨트롤 플레인이 클라우드 컴퓨팅 시스템에 있음 - 으로서, 상기 클라우드 컴퓨팅 시스템은 컨트롤러를 포함하고, 상기 컨트롤러는 복수의 컨트롤 플레인 모듈들을 실행하고, 상기 컨트롤 플레인은 컨트롤 플레인 프로토콜을 통하여 상기 PC의 데이터 플레인과 통신하고, 상기 데이터 플레인은 상기 3G 네트워크의 복수의 네트워크 요소들에 구현되고, 상기 방법은, 상기 컨트롤러가 가입자 세션에 대해 서빙 GPRS 지원 노드(SGSN)와 게이트웨이 GPRS 지원 노드(GGSN) 간에 상기 3G 네트워크의 상기 PC 내에 GTP 터널을 생성하라는 요청을 수신하는 단계; 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하고 제1 GTP 터널 종단점을 확립하도록, 상기 컨트롤 플레인 프로토콜을 통해, 상기 SGSN의 데이터 플레인을 구현하는 스위치를 구성하는 단계; 상기 GTP 터널에 따라 상기 가입자 세션의 패킷들을 전달하도록, 상기 컨트롤 플레인 프로토콜을 통해, 상기 GTP 터널의 경로 내의 적어도 하나의 스위치를 구성하는 단계; 및 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하고 제2 GTP 터널 종단점을 확립하도록, 상기 컨트롤 플레인 프로토콜을 통해, 상기 GGSN의 데이터 플레인을 구현하는 스위치를 구성하는 단계를 포함한다.
분리 아키텍처를 가진 제3 세대(3G) 네트워크의 패킷 코어(PC)에서 GPRS(general packet radio service) 터널 프로토콜(GTP)의 구현을 관리하기 위한 클라우드 컴퓨팅 시스템 - 상기 분리 아키텍처에서 상기 3G 네트워크의 PC의 컨트롤 플레인이 상기 클라우드 컴퓨팅 시스템에 있음 - 으로서, 상기 컨트롤 플레인은 컨트롤 플레인 프로토콜을 통하여 상기 PC의 데이터 플레인과 통신하고, 상기 데이터 플레인은 상기 3G 네트워크의 복수의 네트워크 요소들에 구현되고, 상기 클라우드 컴퓨팅 시스템은, 서로 통신하고 상기 PC의 상기 데이터 플레인을 구현하는 상기 복수의 네트워크 요소들과 통신하는 복수의 서버들 - 상기 복수의 서버들은 상기 PC의 상기 컨트롤 플레인을 구현하는 복수의 컨트롤 플레인 모듈들을 실행하도록 구성된 컨트롤러를 실행하고, 각각의 컨트롤 플레인 모듈은 상기 데이터 플레인을 관리하기 위한 컨트롤 플레인 기능들의 세트를 제공하고, 상기 컨트롤러는 가입자 세션에 대해 서빙 GPRS 지원 노드(SGSN)와 게이트웨이 GPRS 지원 노드(GGSN) 간에 상기 3G 네트워크의 상기 PC 내에 GTP 터널을 생성하라는 요청을 수신하도록 구성되고, 상기 컨트롤러는 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하고 제1 GTP 터널 종단점을 확립하도록, 상기 컨트롤 플레인 프로토콜을 통해, 상기 SGSN의 데이터 플레인을 구현하는 스위치를 구성하도록 구성되고, 상기 컨트롤러는 상기 GTP 터널에 따라 상기 가입자 세션의 패킷들을 전달하도록, 상기 컨트롤 플레인 프로토콜을 통해, 상기 GTP 터널의 경로 내의 적어도 하나의 스위치를 구성하도록 구성되고, 상기 컨트롤러는 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하고 제2 GTP 터널 종단점을 확립하도록, 상기 컨트롤 플레인 프로토콜을 통해, 상기 GGSN의 데이터 플레인을 구현하는 스위치를 구성하도록 구성됨 -; 및 상기 컨트롤러에 통신 연결된 클라우드 관리자 - 상기 클라우드 관리자는 상기 PC의 상기 복수의 컨트롤 플레인 모듈들의 실행을 관리하도록 구성됨 - 를 포함한다.
본 발명은 같은 참조 번호들이 유사한 요소들을 나타내는 첨부 도면들에 제한이 아니라 예로서 도시되어 있다. 이 개시 내용에서 "한" 또는 "일" 실시예에 대한 상이한 언급들은 반드시 동일한 실시예에 대한 것은 아니며, 그러한 언급들은 적어도 하나를 의미한다는 것에 유의해야 한다. 또한, 한 실시예와 관련하여 특정한 특징, 구조, 또는 특성이 기술되어 있는 경우, 명시적으로 기술되어 있든 아니든 간에 그러한 특징, 구조, 또는 특성을 다른 실시예들과 관련하여 달성하는 것은 숙련된 당업자라면 알고 있는 것이라고 생각된다.
도 1은 OpenFlow 스위치를 가진 예시적인 네트워크의 일 실시예를 보여주는 도면이다.
도 2는 플로우 테이블 엔트리의 콘텐츠의 일 실시예를 보여주는 도면이다.
도 3은 OpenFlow를 구현하는 또 다른 예시적인 아키텍처를 보여주고 있다.
도 4는 OpenFlow 스위치 패킷 처리 파이프라인을 통한 패킷들의 처리의 일 실시예를 보여주고 있다.
도 5는 OpenFlow 규칙 매칭 프로세스의 일 실시예의 흐름도이다.
도 6은 패킷에 적용할 규칙들을 식별하기 위해 매칭 프로세스가 이용할 수 있는 필드들을 보여주는 도면이다.
도 7a 및 도 7b는 OpenFlow 헤더 처리를 위한 프로세스의 일 실시예의 흐름도이다.
도 8은 제3 세대(3G) 패킷 코어(PC)의 일 실시예를 보여주는 도면이다.
도 9는 주요 GTP-U 캡슐화 헤더 내의 헤더 필드들의 일 실시예를 보여주는 도면이다.
도 10은 한 세트의 클라이언트들에 서비스하는 클라우드 컴퓨팅 시스템의 일 실시예를 보여주는 도면이다.
도 11은 새로운 서비스 인스턴스를 클라이언트의 VPC에 추가하는 프로세스를 보여주는 클라우드 컴퓨팅 시스템의 또 다른 실시예를 보여주는 도면이다.
도 12는 클라우드 컴퓨팅 시스템에 구현된 3G PC의 일 실시예를 보여주는 도면이다.
도 13은 3G PC 네트워크의 기본 동작을 위한 프로세스의 일 실시예의 흐름도이다.
도 14는 클라우드 컴퓨팅 시스템 내의 3G PC가 어떻게 관리 서비스 회사로 하여금 단일 데이터 센터로부터 다수의 사업자 네트워크를 관리할 수 있게 해주는지에 대한 일 실시예를 보여주는 도면이다.
도 15는 전문화 서비스 처리를 위한 3G PC 피어링 및 차동 라우팅을 위한 프로세스의 일 실시예를 보여주는 도면이다.
도 16은 GTP TEID 라우팅을 위한 OpenFlow 플로우 테이블 수정의 일 실시예를 보여주는 도면이다.
도 17은 플로우 테이블 행의 구조를 보여주는 도면이다.
도 18a 내지 도 18c는 3G PC에서의 세션 생성, 수정 및 삭제의 흐름도들이다.
도 19는 세션 생성 요청 절차를 위한 OpenFlow 메시지 흐름의 일 실시예를 보여주는 도면이다.
도 20은 세션 수정 요청 절차를 위한 OpenFlow 메시지 시퀀스의 일 실시예를 보여주는 도면이다.
도 21은 세션 삭제 요청 절차를 위한 OpenFlow 메시지 시퀀스의 일 실시예를 보여주는 도면이다.
도 1은 OpenFlow 스위치를 가진 예시적인 네트워크의 일 실시예를 보여주는 도면이다.
도 2는 플로우 테이블 엔트리의 콘텐츠의 일 실시예를 보여주는 도면이다.
도 3은 OpenFlow를 구현하는 또 다른 예시적인 아키텍처를 보여주고 있다.
도 4는 OpenFlow 스위치 패킷 처리 파이프라인을 통한 패킷들의 처리의 일 실시예를 보여주고 있다.
도 5는 OpenFlow 규칙 매칭 프로세스의 일 실시예의 흐름도이다.
도 6은 패킷에 적용할 규칙들을 식별하기 위해 매칭 프로세스가 이용할 수 있는 필드들을 보여주는 도면이다.
도 7a 및 도 7b는 OpenFlow 헤더 처리를 위한 프로세스의 일 실시예의 흐름도이다.
도 8은 제3 세대(3G) 패킷 코어(PC)의 일 실시예를 보여주는 도면이다.
도 9는 주요 GTP-U 캡슐화 헤더 내의 헤더 필드들의 일 실시예를 보여주는 도면이다.
도 10은 한 세트의 클라이언트들에 서비스하는 클라우드 컴퓨팅 시스템의 일 실시예를 보여주는 도면이다.
도 11은 새로운 서비스 인스턴스를 클라이언트의 VPC에 추가하는 프로세스를 보여주는 클라우드 컴퓨팅 시스템의 또 다른 실시예를 보여주는 도면이다.
도 12는 클라우드 컴퓨팅 시스템에 구현된 3G PC의 일 실시예를 보여주는 도면이다.
도 13은 3G PC 네트워크의 기본 동작을 위한 프로세스의 일 실시예의 흐름도이다.
도 14는 클라우드 컴퓨팅 시스템 내의 3G PC가 어떻게 관리 서비스 회사로 하여금 단일 데이터 센터로부터 다수의 사업자 네트워크를 관리할 수 있게 해주는지에 대한 일 실시예를 보여주는 도면이다.
도 15는 전문화 서비스 처리를 위한 3G PC 피어링 및 차동 라우팅을 위한 프로세스의 일 실시예를 보여주는 도면이다.
도 16은 GTP TEID 라우팅을 위한 OpenFlow 플로우 테이블 수정의 일 실시예를 보여주는 도면이다.
도 17은 플로우 테이블 행의 구조를 보여주는 도면이다.
도 18a 내지 도 18c는 3G PC에서의 세션 생성, 수정 및 삭제의 흐름도들이다.
도 19는 세션 생성 요청 절차를 위한 OpenFlow 메시지 흐름의 일 실시예를 보여주는 도면이다.
도 20은 세션 수정 요청 절차를 위한 OpenFlow 메시지 시퀀스의 일 실시예를 보여주는 도면이다.
도 21은 세션 삭제 요청 절차를 위한 OpenFlow 메시지 시퀀스의 일 실시예를 보여주는 도면이다.
다음의 설명에서는, 다수의 특정 상세들이 기술된다. 그러나, 본 발명의 실시예들은 이러한 특정 상세들 없이 실시될 수 있다고 생각된다. 다른 경우에, 이 설명의 이해를 모호하게 하지 않기 위하여 잘 알려진 회로들, 구조들 및 기법들은 상세히 제시되지 않았다. 그러나, 숙련된 당업자는 본 발명이 그러한 특정 상세들 없이 실시될 수 있다는 것을 알 것이다. 통상의 기술을 가진 당업자들은, 여기에 포함된 설명들을 이용해, 과도한 실험 없이 적절한 기능을 구현할 수 있을 것이다.
도 8, 도 10 내지 도 12, 도 14, 및 도 15의 모범적인 실시예들을 참조하여 흐름도들의 동작들을 설명할 것이다. 그러나, 흐름도들의 동작들은 도 8, 도 10 내지 도 12, 도 14, 및 도 15를 참조하여 설명한 것들과 다른 본 발명의 실시예들에 의해 수행될 수 있으며, 도 8, 도 10 내지 도 12, 도 14, 및 도 15를 참조하여 설명한 실시예들은 도 5, 도 7, 도 13, 도 18, 도 19, 도 20 및 도 21의 흐름도들을 참조하여 설명한 것들과 다른 동작들을 수행할 수 있다는 것을 이해해야 한다.
이 도면들에 도시된 기법들은 하나 이상의 전자 장치(예를 들어, 종단국, 네트워크 요소 등)에 저장되고 그것에서 실행되는 코드 및 데이터를 이용하여 구현될 수 있다. 그러한 전자 장치들은 비일시적 기계 판독가능 또는 컴퓨터 판독가능 매체, 예를 들어 비일시적 기계 판독가능 또는 컴퓨터 판독가능 저장 매체(예를 들어, 자기 디스크; 광 디스크; 랜덤 액세스 메모리; 판독 전용 메모리; 플래시 메모리 장치; 및 상변화 메모리)를 이용하여 코드 및 데이터를 저장하고 전달할 수 있다(내부적으로 및/또는 네트워크를 통하여 다른 전자 장치들과). 게다가, 그러한 전자 장치들은 보통 하나 이상의 다른 구성요소, 예를 들어, 하나 이상의 저장 장치, 사용자 입력/출력 장치(예를 들어, 키보드, 터치 스크린, 및/또는 디스플레이), 및 네트워크 접속들에 연결된 하나 이상의 프로세서들의 세트를 포함한다. 프로세스들의 세트와 다른 구성요소들의 연결은 보통 하나 이상의 버스 및 브리지(버스 컨트롤러라고도 칭함)를 통하여 이루어진다. 저장 장치들은 하나 이상의 비일시적 기계 판독가능 또는 컴퓨터 판독가능 저장 매체 및 비일시적 기계 판독가능 또는 컴퓨터 판독가능 통신 매체를 나타낸다. 따라서, 소정 전자 장치의 저장 장치는 보통 해당 전자 장치의 하나 이상의 프로세서들의 세트에서 실행하기 위한 코드 및/또는 데이터를 저장한다. 물론, 본 발명의 한 실시예의 하나 이상의 부분들은 소프트웨어, 펌웨어, 및/또는 하드웨어의 상이한 조합들을 이용하여 구현될 수 있다.
본 명세서에서 사용될 때, 네트워크 요소(예를 들어, 라우터, 스위치, 브리지 등)는 네트워크 상의 다른 장비(예를 들어, 다른 네트워크 요소들, 종단국들 등)를 통신으로 상호 접속하는, 하드웨어 및 소프트웨어를 포함한, 하나의 네트워크 장비이다. 일부 네트워크 요소들은 다수의 네트워크 기능들(예를 들어, 라우팅, 브리징, 스위칭, 레이어 2 집성, 세션 경계 제어, 멀티캐스팅, 및/또는 가입자 관리)에 대한 지원을 제공하고/하거나, 다수의 애플리케이션 서비스들(예를 들어, 데이터, 음성, 및 비디오)에 대한 지원을 제공하는 "다중 서비스 네트워크 요소들"이다. 가입자 종단국들(예를 들어, 서버, 워크스테이션, 랩톱, 팜톱, 이동 전화, 스마트폰, 멀티미디어 폰, VOIP(Voice Over Internet Protocol) 폰, 휴대용 미디어 플레이어, GPS 유닛, 게임 시스템, 셋톱 박스(STB), 등)은 인터넷을 통해 제공된 콘텐츠/서비스들 및/또는 인터넷 상에 오버레이된 가상 사설 통신망(VPN)들 상에 제공된 콘텐츠/서비스들에 액세스한다. 콘텐츠 및/또는 서비스들은 보통 서비스 또는 콘텐츠 제공업체에 속하는 하나 이상의 종단국(예를 들어, 서버 종단국) 또는 피어 투 피어 서비스에 관여하는 종단국들에 의해 제공되며, 공용 웹 페이지들(무료 콘텐츠, 스토어 프런트, 검색 서비스 등), 사설 웹 페이지들(예를 들어, 이메일 서비스 등을 제공하는 사용자명/암호로 액세스되는 웹 페이지들), VPN들을 통한 기업 네트워크들, IPTV, 등을 포함할 수 있다. 전형적으로, 가입자 종단국들은 다른 종단국들(예를 들어, 서버 종단국들)에 (예를 들어, 하나 이상의 코어 네트워크 요소를 통하여 다른 에지 네트워크 요소들에) 연결되어 있는, 에지 네트워크 요소들에 (예를 들어, (유선 또는 무선으로) 액세스 네트워크에 연결된 고객 구내 장비를 통하여) 연결된다.
본 발명의 실시예들은 종래 기술의 불리점들을 방지하기 위한 방법 및 시스템을 제공한다. 종래 기술의 불리점들은 3G 코어의 종래 구현들이 SGSN의 호스팅에 전용되는 서버 풀과 같은, 특정 네트워크 엔티티에 전용되는 서버들의 풀을 이용한다는 것이다. 추가 시그널링 수요가 그러한 추가 용량을 필요로 하는 경우에는, 서버 풀에 새로운 SGSN 인스턴스가 인스턴스화된다. 그러나, 홈 가입자 서버(home subscriber server, HSS)의 서비스들에 대한 수요가 많을 경우, HSS 서버들에 전용되는 서버 풀은 아주 많이 이용될 것이지만, SGSN을 위한 서버 풀은 충분히 이용되지 않는다. 이렇게 충분히 이용되지 않는 서버 풀들은 계속해서 유지 보수를 필요로 하고 운영비를 발생시키지만, 네트워크 사업자에게 최적 성능을 제공하지 못한다.
일부 경우에는, 관리 서비스 회사들이 모바일 사업자 네트워크들을 구축하고 운영하는 반면, 모바일 사업자 자신은 마케팅, 빌링, 및 고객 관계를 다룬다. 각 모바일 사업자 네트워크에 대한 시그널링 및 데이터 트래픽은 비밀로 유지되고 그들의 경쟁사들의 트래픽으로부터 분리되지만, 그들의 네트워크와 그들의 경쟁사들의 네트워크들이 동일한 관리 서비스 회사에 의해 관리될 수도 있다. 관리 서비스 회사는 그 회사가 지원하는 각 모바일 사업자에 대해 완전히 분리된 서버 풀 및 물리적 시그널링 네트워크를 유지해야만 한다. 그 결과, 리소스들이 많이 중복되고 서버 용량이 충분히 이용되지 않는 경우가 있다. 이에 따라 추가의 장비, 전력 및 냉각 요건들로 인해 관리 서비스 회사들 및 모바일 사업자 네트워크의 운영비가 증가한다.
현재 정의되어 있는 3G 패킷 코어 아키텍처는 모바일 사업자의 고정 코어/인터넷과 모바일 집성 네트워크 간에 하나의 PoP(point of presence)만을 허용한다(즉, 단일 게이트웨이 GPRS 지원 노드(GGSN)가 있다). 모바일 네트워크 사업자들은 집성 네트워크 내의 이웃 사업자들 간에 다수의 피어링 포인트들 및 PoP들을 설치할 수 없다. 이에 따라 모바일 사업자의 코어 네트워크 내로 유입되는 트래픽의 양이 감소할 것이고, 이로써 비용이 많이 들고 시간이 많이 드는 코어 네트워크 업그레이드에 대한 필요가 감소할 것이다. 게다가, 서비스 수준 협약서(service level agreements, SLA)가 준수되는 한 피어링 포인트들은 일반적으로 사업자들에게 비용이 들지 않는다. 그러나, 이러한 설치의 융통성은 모바일 사업자들에게 유효하지 않은데 그 이유는 이들의 PoP를 단일 이동 게이트웨이에서 코어/인터넷에 접속시킬 필요가 있기 때문이다.
3G PC 아키텍처는 또한 사용자 플로우들의 전문화된 처리를 위한 융통성을 거의 포함하고 있지 않다. 이 아키텍처는 서비스 품질(QoS)을 확립하기 위한 지원을 제공하기는 하지만, 다른 종류의 데이터 관리는 이용할 수 없다. 예를 들어 트랜스코딩 또는 증강 현실 애플리케이션(augmented reality applications)을 위해 이용될 수도 있는 로컬 데이터 캐싱 및 처리 리소스들과의 상호 작용 또는 전문화된 심층 패킷 검사와 같은, 미들박스들(middleboxes)을 수반하는 서비스들은 현재의 3G PC 아키텍처로는 지원하기가 어렵다. 대부분의 모든 그러한 애플리케이션들은 패킷 흐름들이 GGSN을 통하여 나가서, GTP로부터 디터널링(de-tunnel)되고, 유선 네트워크 내에서 처리될 것을 요구한다.
OpenFlow 스위치들의 세트를 이용하여 3G PC의 데이터 플레인 및 클라우드 컴퓨팅 설비에 3G PC의 컨트롤 플레인을 구현하는 것은 물론, OpenFlow 프로토콜(예를 들어, OpenFlow 1.1)을 이용하여 컨트롤 플레인과 데이터 플레인 간의 통신을 관리하는 것은 OpenFlow 프로토콜이, 3G PC의 데이터 플레인을 구현하는 데 필요한, GTP 또는 GTP 터널 종단점 식별자(tunnel endpoint identifier, TEID) 라우팅을 지원하지 않는 문제를 야기한다.
본 발명의 실시예들은 종래 기술의 이러한 불리점들을 극복한다. 종래 기술의 불리점들은 3G PC 아키텍처에 대한 컨트롤 플레인과 데이터 플레인을 분리함으로써 구현되는데, 컨트롤 플레인은 클라우드 컴퓨팅 설비에 3G PC 컨트롤 플레인 엔티티들을 설치함으로써 구현하는 반면, 데이터 플레인은 OpenFlow 스위치들의 분산된 컬렉션에 의해 구현된다. OpenFlow 프로토콜은, GTP 라우팅을 지원하는 개선과 함께, 이 둘을 접속하는 데 이용된다. SGSN 및 GGSN은 주로 데이터 플레인 엔티티들인 반면 HLR(home location register), HSS(home subscriber server) 및 AUC(authentication center)는 주로 컨트롤 플레인 엔티티들이라는 점에서 3G PC 아키텍처는 이미 컨트롤 플레인과 데이터 플레인 간의 분리를 갖고 있지만, 이러한 분리는 이동성 관리 프로토콜(mobility management protocol)인 GTP의 레벨에서 이루어졌다.
표준 3G PC 아키텍처는 이동 통신 네트워크 엔티티들 및 프로토콜들이 그 위에 구현되는 전송을 위한 표준 라우팅 IP 네트워크를 가정한다. 본 명세서에 기술된 개선된 3G PC 아키텍처는 대신에 IP 라우팅 및 매체 접근 제어(MAC) 스위칭의 레벨에 있다. L2 라우팅 및 L3 내부 게이트웨이 프로토콜들을 이용하여 IP 라우팅을 분산시키고 이더넷 및 IP 라우팅을 분산된 제어 엔티티들의 컬렉션으로서 관리하는 대신에, L2 및 L3 라우팅 관리는 클라우드 설비에 집중되고 라우팅은 OpenFlow 프로토콜을 이용하여 클라우드 설비로부터 제어된다. 본 명세서에서 사용될 때, "OpenFlow 프로토콜"은 스탠포드 대학이 호스팅하는 웹 사이트인 www.openflowswitch.org에서 OpenFlow 스위치 사양(OpenFlow Switch Specification)에 정의된 OpenFlow 네트워크 프로토콜 및 스위칭 사양을 나타낸다. 본 명세서에서 사용될 때, "OpenFlow 스위치"는 OpenFlow 프로토콜을 구현하는 네트워크 요소를 나타낸다.
표준 3G PC 컨트롤 플레인 엔티티들인 HSS, HLR, AUC, VLR(visitor location register), EIR(equipment identity register), SMS-IWMSC(sort message service interworking message center), SMS-GMSC(SMS gateway message center) 및 SLF(subscriber location function)와 SGSN 및 GGSN의 컨트롤 플레인 측면들이 클라우드에 설치된다. 데이터 플레인은, IP 라우터들 및 이더넷 스위치들 대신에, GTP 패킷들의 라우팅을 위해 필요한 개선과 함께 표준 OpenFlow 스위치들로 이루어진다. 최소한, SGSN 및 GGSN의 데이터 플레인 부분들 및 E-UTRAN의 NodeB의 패킷 라우팅 부분은 GTP 라우팅을 위해 OpenFlow 개선을 필요로 한다. 사업자가 라우팅에 대해 얼마나 세밀한 제어를 필요로 하는지에 따라 3G PC 아키텍처 내의 다른 스위치들에서도 GTP 라우팅을 위한 추가 개선들이 요구될 수 있다. GTP 라우팅을 위한 개선들은 3G PC 아키텍처 내에서 GTP 터널들을 확립하고, GTP 터널들을 수정하고, GTP 터널들을 해체하는 프로세스들을 포함한다.
3G PC의 컨트롤 플레인 부분과 데이터 플레인 부분 간의 분리는 가상 사설 클라우드(virtual private cloud, VPC) 기술과 함께 단일 3G PC 내에 다수의 PoP들을 구현하고, 전문화된 애플리케이션들을 위해 GTP 플로우 특정 라우팅을 제공하고, 단일 클라우드 컴퓨팅 설비로부터 다수의 사업자 네트워크들을 운영하는 데 이용될 수 있다.
일 실시예에서, 클라우드 기반 3G PC 시스템은 하드웨어 장치들의 세트로서 구현될 수 있다. 다른 실시예에서, 시스템 구성요소들은 소프트웨어(예를 들어 마이크로코드, 어셈블리 언어 또는 고수준 언어)로 구현된다. 이들 소프트웨어 구현들은 비일시적 컴퓨터 판독가능 매체에 저장될 수 있다. 비일시적 "컴퓨터 판독가능" 매체는 정보를 저장할 수 있는 임의의 매체를 포함할 수 있다. 비일시적 컴퓨터 판독가능 매체의 예들은 판독 전용 메모리(ROM), 플로피 디스켓, CD ROM, DVD, 플래시 메모리, 하드 드라이브, 광 디스크 또는 유사 매체를 포함한다.
OpenFlow
1.0 네트워크들
도 1은 OpenFlow 1.0 사양에 따르는, OpenFlow 스위치를 가진 예시적인 네트워크의 일 실시예를 보여주는 도면이다. OpenFlow 1.0 프로토콜은 컨트롤러(101)가 보안 채널(103)을 이용하여 OpenFlow 1.0 지원 스위치(109)에 접속하여 스위치(109) 내의 단일 포워딩 테이블(107)을 제어할 수 있게 해준다. 컨트롤러(101)는 사용자가 OpenFlow 1.0 스위치(109)를 구성할 수 있게 해주는 원격 컴퓨팅 장치에 의해 실행되는 외부 소프트웨어 구성요소이다. 보안 채널(103)은 근거리 통신망(LAN) 또는 인터넷과 같은 광역 통신망(WAN)을 포함하는 임의의 유형의 네트워크에 의해 제공될 수 있다.
도 2는 플로우 테이블 엔트리의 콘텐츠의 일 실시예를 보여주는 도면이다. 포워딩 테이블(107)은 패킷 헤더들 내의 필드들에 대한 매치들을 정의하는 규칙(201); 플로우 매치에 연관된 액션(203); 및 플로우에 대한 통계(205)의 컬렉션으로 이루어진 엔트리들로 채워진다. 착신 패킷이 수신될 때 플로우 테이블(107)에서 매칭 규칙에 대한 검색이 이루어진다. 착신 패킷이 특정 규칙에 매칭하면, 해당 플로우 테이블 엔트리에 정의된 연관된 액션이 그 패킷에 대해 수행된다.
규칙(201)은 프로토콜 스택 내의 몇몇 헤더들로부터의 중요 필드들, 예를 들어 소스 및 목적지 이더넷 MAC 주소들, 소스 및 목적지 IP 주소들, IP 프로토콜 타입 번호, 착신 및 발신 TCP 또는 UDP 포트 번호들을 포함한다. 플로우를 정의하기 위해, 모든 이용 가능한 매칭 필드들이 이용될 수 있다. 그러나 원치 않는 필드들에 대해 와일드카드들을 이용함으로써 매칭 규칙을 이용 가능한 필드들의 서브세트로 제한하는 것도 가능하다.
OpenFlow 1.0의 사양에 의해 정의되는 액션들은 매칭 패킷들을 드롭하는 드롭(Drop); 패킷을 하나 또는 모든 발신 포트들, 착신 물리 포트 자체, 보안 채널을 통해 컨트롤러, 또는 로컬 네트워킹 스택(만일 그것이 존재한다면)으로 전달하는 포워드(Forward)이다. OpenFlow 1.0 프로토콜 데이터 단위(PDU)들은 C 프로그래밍 언어를 이용하여 명시된 구조들의 세트로 정의된다. 더 일반적으로 사용되는 메시지들의 일부는 다음과 같다: 스위치 구성 보고 메시지들; 상태 수정 메시지들(플로우 엔트리 수정 메시지 및 포트 수정 메시지를 포함); 상태 판독 메시지들 - 시스템이 동작하고 있는 동안, 데이터 경로는 이 메시지를 이용하여 그의 현재 상태에 관해 문의될 수 있음 -; 및 컨트롤러가 데이터 경로를 통해 패킷을 송출하기를 원할 때 사용되는, 패킷 송신 메시지.
OpenFlow 1.0은 특정 프로토콜 요소들이 확장되게 해주는 "벤더 확장(vendor extensions)"을 지원한다. 프로토콜 메시지들 및 테이블 액션들은 확장될 수 있지만, 플로우-매칭 규칙들은 확장될 수 없다. 클라우드 기반 EPC 아키텍처들과 관련한 이들 확장들의 사용에 대해서는 아래에 더 설명된다.
OpenFlow
1.1 네트워크들
도 3은 OpenFlow 1.1 사양에 따르는, OpenFlow를 구현하는 또 다른 예시적인 아키텍처를 보여준다. 이 실시예에서는, 다수의 플로우 테이블들(301)에 대한 명백한 규정이 있다. 이에 따라 패킷 처리 파이프라인은 테이블 사이즈에서 조합적 확산(combinatorial explosion)을 일으키지 않고 특정 규칙들 및 액션들을 혼합하고 매칭시킬 수 있다. 예를 들어, 제2 플로우 테이블이 라우팅을 행하는 동안 하나의 플로우 테이블은 QoS를 수행할 수 있다.
도 4는 OpenFlow 1.1 스위치 패킷 처리 파이프라인을 통한 패킷들의 처리의 일 실시예를 보여준다. 수신되는 패킷이 플로우 테이블들(401) 각각과 비교된다. 각 플로우 테이블이 매칭한 후에, 액션들은 누적되어 액션 세트가 된다. 만일 처리가 또 다른 플로우 테이블과의 매칭을 요구한다면, 매칭된 규칙 내의 액션들은 파이프라인 내의 다음 테이블로 처리를 보내는 액션을 포함한다. 모든 누적된 액션들을 즉시 실행하는 액션이 세트에 포함되어 있지 않다면, 액션들은 패킷 처리 파이프라인의 끝(403)에서 실행된다. 액션은 메타데이터 레지스터로의 데이터의 기입을 허용하고, 이는 패킷 헤더와 같이 패킷 처리 파이프라인에서 운반된다.
도 5는 OpenFlow 1.1 규칙 매칭 프로세스의 일 실시예의 흐름도이다. OpenFlow 1.1은 패킷 태깅에 대한 지원을 포함한다. OpenFlow 1.1은 헤더 필드들 및 멀티-프로토콜 라벨 스위칭(MPLS) 라벨들에 기초한 매칭을 허용한다. 하나의 가상 LAN(VLAN) 라벨 및 하나의 MPLS 라벨이 테이블마다 매칭될 수 있다. 규칙 매칭 프로세스는 처리될 패킷의 도착과 함께 개시된다(블록 501). 제1 테이블 0에서 시작하여 수신된 패킷과의 매치를 결정하기 위한 검색이 수행된다(블록 503). 이 테이블에 매치가 없다면, 디폴트 액션들의 세트 중의 하나가 행해진다(즉, 패킷을 컨트롤러에 송신하거나, 패킷을 드롭하거나 다음 테이블로 계속하는 것)(블록 509). 매치가 있다면, 카운터들, 패킷 또는 매치 세트 필드들 및 메타 데이터와 함께 액션에 대한 업데이트가 이루어진다(블록 505). 순차적으로 다음 테이블 또는 매칭 규칙의 액션에 의해 명시된 것일 수 있는, 처리할 다음 테이블을 결정하기 위한 체크가 이루어진다(블록 507). 모든 테이블들이 처리되면, 결과로 얻어진 액션이 실행된다(블록 511).
도 6은 패킷에 적용할 규칙들을 식별하기 위해 매칭 규칙이 이용할 수 있는 필드들을 보여주는 도면이다. 액션들은 라벨들을 푸싱(pushing)하거나 팝핑(popping)함으로써 태그 스택들의 조작을 허용한다. 다수의 테이블들과 조합되어, VLAN 또는 MPLS 라벨 스택들은 테이블마다 하나의 라벨을 매칭시킴으로써 처리된다.
도 7은 헤더 파싱 프로세스의 일 실시예의 흐름도이다. 파싱 프로세스는 매칭 필드들의 세트를 초기화하고(블록 701) 상이한 헤더 타입들의 세트가 존재하는지를 체크함으로써 패킷 헤더를 매칭시킨다. 프로세서는 VLAN 태그가 있는지를 체크한다(블록 703). VLAN 태그가 존재한다면, VLAN 태그에 대한 일련의 처리 단계들이 있다(블록 705-707). 스위치가 MPLS를 지원한다면(블록 709), MPLS 헤더 정보를 검출하고 처리하기 위한 일련의 단계들이 있다(블록 711-715). 스위치가 주소 분석 프로토콜(address resolution protocol, ARP)을 지원한다면, ARP 헤더를 처리하기 위한 일련의 단계들이 있다(블록 719 및 721). 패킷이 IP 헤더를 가지고 있다면(블록 723), IP 헤더를 처리하기 위한 일련의 단계들이 있다(블록 725-733). 이 프로세스는 각각의 수신된 패킷에 대해 수행된다.
일 실시예에서, OpenFlow 1.1 프로토콜과 관련하여 그룹 테이블이 지원될 수 있다. 그룹 테이블들은 단일 플로우 매치가 다수의 포트들에서의 포워딩을 트리거하게 해주는 방법을 가능하게 한다. 그룹 테이블 엔트리들은 다음과 같은 4개의 필드로 이루어진다: 그룹을 식별하는 32 비트 무부호 정수인 그룹 식별자; 그룹의 시맨틱스를 결정하는 그룹 타입; 그룹에 대한 통계를 유지하는 카운터들; 및 액션 버킷들의 순서 리스트인 액션 버킷 리스트 - 각 버킷은 실행할 액션들의 세트와 함께 이들의 파라미터들을 포함함 -.
다음과 같은 4개의 상이한 타입의 그룹이 있다: 버킷 리스트 내의 모든 액션들을 실행하는, 모두(All) - 이것은 브로드캐스트 또는 멀티캐스트 포워딩을 위해 사용됨 -; OpenFlow 프로토콜의 밖에 있는 스위치에 의해 결정된 알고리즘에 기초하여, 패킷마다 하나의 버킷을 실행하는, 선택(Select) - 이것은 다중 경로 포워딩을 구현하기 위해 사용됨 -; 모든 패킷들에 대해 단일 버킷을 실행하는, 간접(Indirect) - 이것은 다수의 포워딩 테이블 엔트리들에 정의된 액션들을 갖기보다는 다수의 플로우들 또는 그룹들이 액션들의 단일 컬렉션을 지시하게 해줌 -; 첫 번째 살아 있는 버킷을 실행하는, 고속 장애 극복(Fast Failover) - 각 버킷은 그의 살아 있음(liveness)을 제어하는 포트와 연관되고, 이것은 컨트롤러를 관련시키지 않고 스위치가 다른 포트로 장애 극복할 수 있게 해줌 -.
OpenFlow 1.1은 가상 포트들을 지원하는 데 이용될 수 있다. 가상 포트는, 본 명세서에서 사용될 때, 물리 포트들이 그런 것처럼 단순히 패킷을 네트워크 접속에 전달하는 것 이외의 어떤 종류의 처리 액션을 수행하는 "액션 블록"이다. 몇 개의 내장 가상 포트들의 예들은 다음과 같은 것들을 포함한다: 진입 포트(ingress port)와 "전달하지 말라(Do Not Forward)"라고 표시되어 있는 임의의 포트들을 제외한 모든 포트들 밖으로 패킷을 전달하는, 모두(ALL); 패킷을 캡슐화하고 그것을 컨트롤러에 송신하는, 컨트롤러(CONTROLLER); 패킷을 첫 번째 플로우 테이블에 제출함으로써 패킷을 패킷 처리 파이프라인 안에 삽입하는, 테이블(TABLE) - 이 액션은 패킷-출력 메시지의 액션 세트에서만 유효함 -; 및 패킷을 진입 포트 밖으로 송신하는, IN-PORT. 다른 실시예들에서는, 스위치-정의(switched-defined) 가상 포트들도 있을 수 있다.
3G
PC
아키텍처
도 8은 3G 패킷 코어(3G PC) 네트워크의 일 실시예를 보여주는 도면이다. 3G PC 네트워크는 다음과 같은 3개의 상호 작용 도메인들로 이루어진다: 코어 네트워크(CN)(801), 무선 액세스 네트워크(RAN)(803) 및 사용자 장비(UE)(805). 사용자 장비(805)는 컴퓨팅 장치, 휴대 전화 및 유사 장치일 수 있다. 무선 액세스 네트워크들(803)은 범용 이동 통신 시스템(universal mobile telecommunications system, UMTS)(841) 또는 글로벌 이동 통신 시스템(global systems for mobile communications, GSM) 네트워크들(843)을 포함하는 임의의 수 또는 조합의 네트워크들일 수 있다. 이들 네트워크들은 무선 네트워크 센터(RNC)(831) 또는 패킷 컨트롤 유닛(PCU)(833)을 통하여 코어 네트워크(801)와 인터페이스할 수 있다.
코어 네트워크(801)의 주요 기능은 사용자 장비(805)로부터의 사용자 트래픽에 대한 스위칭, 라우팅 및 트랜짓(transit)을 제공하는 것이다. 코어 네트워크(801)는 또한 데이터베이스 및 네트워크 관리 기능들을 포함한다. 그것은 GSM/GPRS, 광대역 코드 분할 다중 접속(WCDMA)/고속 패킷 접속(HSPA) 및 비-3GPP 이동 통신 네트워크들을 위한 공통 패킷 코어 네트워크이다. 코어 네트워크(801)는 인터넷 프로토콜(IP) 패킷들을 전송하기 위해 이용된다. 코어 네트워크(801)는 GGSN(819)을 통하여 인터넷(851) 및 다른 네트워크들(853)과 인터페이스한다.
코어 네트워크(801)는 회선 교환(circuit switched) 및 패킷 교환(packet switched) 도메인들로 나누어진다. 회선 교환 요소들은 이동 서비스 스위칭 센터(mobile services switching centre, MSC)(811), VLR(visitor location register)(813) 및 게이트웨이 MSC(815)를 포함한다. 패킷 교환 요소들은 SGSN들(817) 및 GGSN(819)이다. EIR(821), HLR(823), VLR(813) 및 AUC(825)와 같은 다른 네트워크 요소들이 양쪽 도메인에 의해 공유된다.
코어 네트워크(801)의 아키텍처는 새로운 서비스들 및 특징들이 도입될 때 바뀔 수 있다. 다른 실시예들에서는, 사용자가 기존 전화 번호를 유지하면서 네트워크들을 변경할 수 있게 해주기 위해 NPDB(number portability database)가 이용될 수 있다. 네트워크 경계들 사이의 가입자 처리를 최적화하기 위해 GLR(gateway location register)이 이용될 수 있다.
이동 무선 네트워킹에 관한 코어 네트워크(801)의 주요 기능들은 이동성 관리 및 QoS이다. 이들 기능들은 일반적으로 고정된 광대역 네트워크에서는 제공되지 않지만, 이들은 무선 네트워크들에 결정적이다. 이동성 관리는 무선 단말기가 하나의 기지국에서 또 다른 기지국으로 이동할 때 패킷 네트워크 접속성을 보장하기 위해 필요하다. QoS가 필요한 이유는, 고정된 네트워크들과 달리, 무선 링크는 그것이 단말기에 얼마만큼의 대역폭을 제공할 수 있는지에 심하게 제약을 받으며, 따라서 사용자에게 허용할 만한 서비스 품질을 제공하기 위해서는 고정된 네트워크들에서보다 더 엄격하게 대역폭을 관리할 필요가 있기 때문이다.
이동성 관리 및 QoS 기능들을 구현하기 위한 시그널링은 GPRS 터널링 프로토콜(GTP)에 의해 제공된다. GTP는 다음과 같은 2개의 구성요소를 가지고 있다: GTP-C - 유선 백홀 및 패킷 코어 QoS를 무선 링크 QoS에 매칭시키는 QoS 관리를 위한 베어러들 및 이동성 관리를 위한 터널들의 확립을 지원하는 컨트롤 플레인 프로토콜; 및 GTP-U - 라우터들로서 기능하는 네트워크 요소들 사이의 터널들을 구현하는 데 이용되는 데이터 플레인 프로토콜. GTP-C 프로토콜의 2개의 버전, 즉, GTP 버전 1(GTPv1-C 및 GTPv1-U) 및 GTP 버전 2-C(LTE를 위해 설계됨)가 있다. GTPv1은 주로 3G PC 기반 시스템과 관련하여 이용된다.
네트워크 서비스들은 엔드-투-엔드(end-to-end)라고 생각되는데, 이는 단말기 장비(Terminal Equipment, TE) 대 또 다른 TE를 의미한다. 엔드-투-엔드 서비스는 네트워크 서비스의 사용자에게 제공되는 특정 서비스 품질(QoS)을 가질 수 있다. 제공된 QoS에 만족하는지 아닌지를 결정하는 것은 사용자이다. 분명히 정의된 특성들 및 기능을 가진 특정 네트워크 QoS 서비스를 실현하는 것은 서비스의 소스로부터 목적지까지 설정되는 것이다.
QoS 파라미터들에 더하여, 각각의 베어러는 연관된 GTP 터널을 가지고 있다. GTP 터널은 터널 종단점 노드들(무선 기지국, SGSN, 및 GGSN)의 IP 주소, 소스 및 목적지 UDP 포트, 및 터널 종단점 식별자(TEID)로 이루어진다. GTP 터널들은 단방향성이어서, 각 베어러는 2개의 TEID - 업링크를 위한 하나와 다운링크를 위한 하나 - 와 연관된다. 한 세트의 GTP 터널들(업링크 및 다운링크)이 무선 기지국과 SGSN 사이에 연장되고 한 세트는 SGSN과 GGSN 사이에 연장된다. GTP-U에 대한 UDP 목적지 포트 번호는 2152인 반면 GTP-C에 대한 목적지 포트 번호는 2123이다. 소스 포트 번호는 송신 노드에 의해 동적으로 할당된다. 도 9는 주요 GTP-U 캡슐화 헤더 내의 헤더 필드들의 일 실시예를 보여주는 도면이다.
클라우드
컴퓨팅
데이터 센터들은 컴퓨팅, 저장, 및 네트워크 통신 리소스들을 외부 고객들에게 제공한다. 제공되는 서비스들은 대부분의 실제적인 목적으로 고객의 지불 능력, 및 인터넷으로의 네트워크 대역폭에 의해서만 제한되는 융통성 있는, 온 디맨드 처리, 저장으로 이루어질 수 있다. 데이터 센터에 의해 제공되는 이러한 서비스들의 세트를 본 명세서에서는 클라우드 컴퓨팅이라고 한다.
서버 가상화 기술은 서버들의 풀이 본질적으로 하나의 대형 서비스 리소스로서 관리되게 해준다. 하이퍼바이저라고 하는 소프트웨어의 계층이 운영 체제와 하드웨어 사이에 있다. 하이퍼바이저는 가상 머신(VM)들의 실행을 스케줄링한다. VM은 일부 애플리케이션들과 함께 패키징된 운영 체제 이미지이다. 하이퍼바이저는 부하 균형을 위해 VM이 중단되거나 서버들 사이에 이동되게 해준다. 고장을 캐치하는 VM 실행의 부하 균형 및 모니터링은 전문화된 해법으로 훨씬 더 많은 비용으로 달성되는 기업 애플리케이션들에 대해 동일한 종류의 내고장성 및 확장성 서비스들을 제공한다. 클라우드 관리자 시스템은 VM들의 실행, VM들의 수요를 만족시키기 위한 실행의 스케줄링 및 서버 이용의 최적화와 전력 소비의 최소화를 감독한다. 클라우드 관리자 또는 클라우드 운영 체제는 클라우드 컴퓨팅 시스템에서의 VM들 및 이들의 애플리케이션들에 대한 진행 중인 서비스 제공에 영향을 주지 않고 하드웨어와 소프트웨어의 서비스 내 업그레이드를 허용하도록 실행을 스케줄링할 수 있는 소프트웨어 프로그램이다.
머신들 사이의 VM들의 임의의 이동을 지원하기 위해, 데이터 센터 내의 네트워킹도 가상화되어야 한다. 클라우드 컴퓨팅 시스템들은 가상 스위치를 하이퍼바이저 내에 포함시킴으로써 네트워크를 가상화할 수 있다. 가상 스위치는 하이퍼바이저의 제어 하에 실행 중인 VM들에 대한 가상 네트워크 포트들을 제공한다. 가상 스위치 소프트웨어는 또한 서버 리소스들이 하이퍼바이저에 의해 가상화되는 방법과 유사한 방법으로 네트워크 리소스들이 가상화되게 해준다. 하이퍼바이저 및 가상 스위치는 이로써 협력하여 VM들이 서버들 사이에서 이동되게 해줄 수 있다. 하이퍼바이저가 VM을 이동시킬 때, 그것은 새로운 위치에 관해 가상 스위치와 통신하고, 가상 스위치는 VM의 주소들(L2 MAC 주소, 잠재적으로는 또한 IP 주소)에 대한 네트워크 라우팅 테이블들이 업데이트되어 패킷들이 새로운 위치로 라우팅되도록 보장한다.
클라우드 컴퓨팅 시스템은 임의의 범위의 능력들(예를 들어, 처리 능력 또는 저장 용량)을 가진 임의의 수의 컴퓨팅 장치들로 구성될 수 있다. 클라우드 컴퓨팅 시스템은 사설 또는 공용 시스템일 수 있다. 컴퓨팅 장치들은 임의의 통신 시스템 또는 네트워크를 가로질러 서로 통신할 수 있다. 클라우드 컴퓨팅 시스템은 단일 클라우드 또는 서비스 또는 임의의 수의 별개의 클라우드들 또는 서비스들을 지원할 수 있다. 서비스들, 애플리케이션들 및 유사 프로그램들이 표준 코드로서 가상화되거나 실행될 수 있다. 일 실시예에서, 클라우드 컴퓨팅 시스템들은 웹 서비스 애플리케이션들을 지원할 수 있다. 웹 서비스 애플리케이션들은 웹 서버들의 풀에 요청들을 보내는 부하 균형 프런트 엔드로 이루어진다. 요청들은 인터넷 상의 원격 머신들 상의 애플리케이션들로부터 시작되며 따라서 보안 및 프라이버시 요건들이 사설 기업 네트워크 내의 애플리케이션들에 대한 것보다 훨씬 느슨하다.
클라우드 컴퓨팅 시스템들은 또한 안전한 멀티-테넌시(multi-tenancy)를 지원할 수 있으며, 여기서 클라우드 컴퓨팅 시스템 제공업체는 클라우드 컴퓨팅 시스템 내의 가상 사설 통신망(VPN)과 클라우드 외부의 클라이언트의 분산된 사무실 네트워크들 사이에 VPN 같은 접속들을 제공한다. 이에 따라 클라우드 컴퓨팅 시스템 내의 클라이언트의 애플리케이션들은 기업 WAN과 유사한 네트워크 환경에서 동작할 수 있다. 서비스들이 데이터 센터를 소유하고 있는 기업 내의 고객들에게만 제공되는, 사설 데이터 센터들의 경우, 멀티-테넌시를 위한 보안 및 프라이버시 요건들은 완화된다. 그러나 공용 데이터 센터들의 경우, 클라우드 사업자는 다수의 테넌트(tenants)로부터의 트래픽이 분리되고 하나의 클라이언트로부터의 트래픽이 또 다른 클라이언트 네트워크에 도달할 가능성이 없도록 보장해야만 한다.
도 10은 한 세트의 클라이언트들에 서비스하는 클라우드 컴퓨팅 시스템의 일 실시예를 보여주는 도면이다. '세트'는, 본 명세서에서 사용될 때, 임의의 양의 정수의 아이템들을 나타낸다. 도 10에 도시된 실시예에서는, 2개의 상이한 외부 기업 고객을 위해 2개의 가상 사설 클라우드(virtual private cloud, VPC)가 설치되어 있다. VPC는 클라우드 내의 기업 임대 공간에 안전한 멀티-테넌시를 제공하는 VM들, 저장, 및 네트워킹 리소스들의 컬렉션으로 이루어진다. 기업 고객들은 공용 사업자 네트워크 상에서 운영되는 인터넷 상의 VPN들을 통해 VPC들에 접속한다.
도 11은 새로운 서비스 인스턴스를 클라이언트의 VPC에 추가하는 프로세스를 보여주는 클라우드 컴퓨팅 시스템의 또 다른 실시예를 보여주는 도면이다. 이 경우, 클라우드 내 VPN은 MAC 계층 가상 LAN(VLAN)들을 이용하여 구현된다. VM은 새로운 서비스 인스턴스를 요청하는 기업에 대해 VPC 내의 하이퍼바이저 관리 서버 상에 생성된다(단계 1). 가상 스위치 VLAN은 기업 클라우드 내 VPN에 새로운 VM을 포함시키고, 이로써 클라우드 내에 서비스 접속성을 확립하도록 구성된다(단계 2). 가상 고객 에지 라우터(CE)는 새로운 서비스를 위해 업데이트된다(단계 3). 기업 VPN이 운영되는 사업자 네트워크 내의 제공업체 에지 라우터는 새로운 서비스로 업데이트된다(단계 4).
클라우드
컴퓨팅 시스템에서의 3G
PC
구현
도 12는 클라우드 컴퓨팅 시스템에 구현된 EPC의 일 실시예를 보여주는 도면이다. 3G PC 컨트롤 플레인 엔티티들(AUC, HLR, HSS)(1207) 및 지원 노드들(SGSN, GGSN)(1207)의 컨트롤 플레인 부분들, 즉, GTP 시그널링을 처리하는 부분들이 OpenFlow 컨트롤러(1205)의 부분으로서 클라우드 컴퓨팅 시스템(1201)에 구현되어 있다. 컨트롤 플레인 엔티티들(1207) 및 OpenFlow 컨트롤러(1205)는 VM들로서 패키징된다. OpenFlow 컨트롤러(1205)와 컨트롤 플레인 엔티티들(1207) 사이의 애플리케이션 프로그래밍 인터페이스(API)는 원격 프로시저 호출(remote procedure call, RPC) 인터페이스 또는 유사 인터페이스일 수 있다. 이러한 구현 기술은 클라우드 내의 컨트롤 플레인 엔티티들의 확장성 있는 관리에 유리한데, 그 이유는 그것이 컨트롤 플레인 엔티티들(1207) 및 컨트롤러(1205)의 실행이 요구에 따라 개별적으로 관리되게 해주기 때문이다. 클라우드 관리자(1203)는 클라우드 컴퓨팅 시스템(1201) 내에서 실행되는 애플리케이션 또는 VM일 수 있다.
클라우드 관리자(1203)는 3G PC 컨트롤 플레인 엔티티들(1207)의 중앙 처리 장치(CPU) 이용 및 클라우드 내의 3G PC 컨트롤 플레인 엔티티들(1207) 간의 컨트롤 플레인 트래픽을 모니터한다. 그것은 또한 클라우드 컴퓨팅 시스템(1201) 내에 컨트롤 플레인 엔티티들을 갖고 있지 않은, 최종 사용자 장치(UE)들(1225) 및 NodeB들(1217)과, 3G PC 컨트롤 플레인 엔티티들(1207) 간의 컨트롤 플레인 트래픽도 모니터한다. 3G PC 컨트롤 플레인 엔티티들(1207)이 너무 많은 CPU 시간의 이용, 또는 처리해야 할 너무 많은 트래픽의 대기(queueing up)와 같은 과부하의 징후를 보이기 시작하면, 과부하가 걸린 컨트롤 플레인 엔티티들(1207)은 클라우드 관리자(1203)가 부하를 처리할 새로운 VM을 시작할 것을 요청한다. 게다가, 3G PC 컨트롤 플레인 엔티티들(1207)이 과부하를 겪기 시작하고 있는 것을 내부적으로 탐지하면 그들 자신이 클라우드 관리자(1203)에 이벤트 통지들을 발행할 수 있다.
클라우드 관리자(1203)는 또한 특정 컨트롤 플레인 엔티티(1207)에 대한 VM을 다시 시작함으로써 신뢰성 및 장애 극복을 제공하거나 3G PC 컨트롤 플레인 엔티티들(1207) 중 어떤 것이든 고장날 경우 기능한다. 이 재시작 프로세스 중에 클라우드 관리자는 진단 데이터를 수집하고, 고장난 3G PC 컨트롤 플레인 엔티티의 임의의 핵심 파일들을 저장하고, 고장이 발생한 것을 시스템 관리자들에게 알릴 수 있다. 컨트롤 플레인 엔티티들(1207)은 그 자신들 사이에 도 8에 도시된 3GPP 3G PC 아키텍처에서와 동일한 프로토콜 인터페이스를 유지한다.
여기서 점선으로 나타내어진 OpenFlow 컨트롤 플레인(1221)은 네트워크에서의 라우팅 및 스위칭 구성을 관리한다. OpenFlow 컨트롤 플레인(1221)은 클라우드 컴퓨팅 시스템(1203)을 SGSN-D들(1215)(즉, SGSN의 데이터 플레인), 표준 OpenFlow 스위치들(1213), 및 GGSN-D(1211)(즉, GGSN의 데이터 플레인)에 접속시킨다. OpenFlow 컨트롤 플레인(1221)의 물리 구현은 완전히 별개의 물리 네트워크일 수 있거나, 또는 그것은 우선순위 VLAN으로 또는 MPLS 라벨 스위치 경로로 또는 심지어 GRE(generic routing encapsulation) 또는 다른 IP 터널로 구현된, 데이터 플레인과 동일한 물리 네트워크 상에서 운영되는 가상 네트워크일 수 있다. OpenFlow 컨트롤 플레인(1221)은 원칙적으로 GTP-C 및 다른 이동 통신 네트워크 시그널링과 동일한 물리 컨트롤 플레인 경로들을 사용할 수 있다. SGSN-D들(1215) 및 GGSN-D들(1211)은 아래에 더 설명되는 OpenFlow GTP 스위치 확장들을 이용하여 OpenFlow GTP-확장 게이트웨이들, 캡슐화 및 역캡슐화 패킷들로서의 역할을 한다.
NodeB들(1217)은 클라우드에 컨트롤 플레인 엔티티들을 갖고 있지 않은데, 그 이유는 3G PC와 NodeB 사이에 요구되는 무선 액세스 네트워크(RAN) 시그널링이 IP 라우팅 파라미터들만이 아니라 무선 파라미터들을 포함하기 때문이다. 그러므로, 클라우드 컴퓨팅 시스템(1201) 내의 OpenFlow 컨트롤러(1205)와 NodeB들(1217) 사이에는 OpenFlow 컨트롤 플레인(1221) 접속이 없다. 그러나 NodeB들(1217)은 OpenFlow를 이용하여 데이터 플레인 접속에 대한 로컬 컨트롤을 구현함으로써 OpenFlow GTP-확장 게이트웨이들로서의 역할을 할 수 있다. 이에 따라 NodeB들(1217)의 패킷 스위칭 측은 패킷 게이트웨이들과 동일한 OpenFlow GTP 스위칭 확장들을 이용할 수 있다.
3G PC 클라우드 컴퓨터 시스템의 동작은 다음과 같이 동작한다. UE(1225), NodeB(1217), SGSN(1207) 및 GGSN(1207)은 GTP 터널들을 확립하고, 수정하고, 삭제하기 위해 표준 3G PC 프로토콜들을 이용하여 HLR, HSS, AUC, SMS-GMSC(1207)에 시그널링한다. 이 시그널링은 요청대로 3G PC에서의 라우팅을 수정하도록 OpenFlow 컨트롤러와의 프로시저 호출들을 트리거링한다. OpenFlow 컨트롤러는 컨트롤 플레인 엔티티들에 의해 요청된 라우팅을 가능하게 하는 플로우 규칙들 및 액션들을 이용해 표준 OpenFlow 스위치들인, OpenFlow SGSN(1215), 및 GGSN(1211)을 구성한다. 이러한 구성의 세부 사항들은 아래에 더 상세히 설명된다.
도 13은 3G PC 네트워크의 기본 동작의 일 실시예의 흐름도이다. 일 실시예에서, 프로세스는 클라우드 컴퓨팅 시스템의 OpenFlow 컨트롤러 내의 3G PC의 컨트롤 플레인 모듈들의 초기화로 시작된다(블록 1301). 복수의 컨트롤 플레인 모듈 중의 각각의 컨트롤 플레인 모듈은 클라우드 관리자에 의해 별개의 VM으로서 초기화된다. 그 후 클라우드 관리자는 각각의 컨트롤 플레인 모듈의 리소스 이용뿐만 아니라 각각의 컨트롤 플레인 모듈에 의해 처리되는 컨트롤 플레인 트래픽의 양과 유형도 모니터한다(블록 1303). 클라우드 관리자는 직접 이 데이터를 모니터하거나, 컨트롤 플레인 모듈들로부터 보고들을 수신하거나, 이들의 임의의 조합을 행할 수 있다.
클라우드 관리자가 모니터되고 있는 복수의 컨트롤 플레인 모듈 중 어느 하나에 대해 임계 레벨의 리소스 이용 또는 트래픽 부하를 탐지하면(블록 1305), 클라우드 관리자는 이러한 시나리오에 자동으로 대응하기 위한 조치들을 취할 수 있다. 클라우드 관리자는 새로운 컨트롤 플레인 모듈 또는 그러한 컨트롤 플레인 모듈의 인스턴스를 별개의 가상 머신으로서 초기화할 수 있다(블록 1307). 그 후 이 새로운 컨트롤 플레인 모듈 또는 인스턴스는 동일한 유형의 기존 컨트롤 플레인 모듈들 또는 인스턴스들의 부하를 공유하여 이들 모듈들에 대한 부하를 동적으로 경감시킬 수 있다.
유사하게, 클라우드 관리자는 복수의 컨트롤 플레인 모듈 중 하나의 고장 또는 불충분한 이용을 탐지할 수 있다(블록 1309). 그 후 클라우드 관리자는 고장난 컨트롤 플레인 모듈을 다시 시작하거나 충분히 이용되지 않은 컨트롤 플레인 모듈을 종료할 수 있다(블록 1311). 컨트롤 플레인 모듈을 다시 시작하는 것은 컨트롤 플레인 모듈들의 풀에 대한 일정 레벨의 부하 공유를 보장한다. 컨트롤 플레인 모듈을 비활성화하는 것은 리소스들을 자유롭게 해주고 그 컨트롤 플레인 모듈에 의해 야기되는 오버헤드를 감소시킨다. 클라우드 관리자는 클라우드 컴퓨팅 시스템 리소스들을 이용하는 VPC들 및 모바일 사업자들에 걸쳐 이들 기능을 수행할 수 있고, 이로써 이용 가능한 리소스들의 이용을 최대화하고 운영 비용을 감소시킴과 동시에 모바일 사업자들 사이에 데이터 및 트래픽의 엄격한 분리를 유지할 수 있다.
도 14는 클라우드 컴퓨팅 시스템 내의 3G PC가 어떻게 관리 서비스 회사로 하여금 단일 데이터 센터로부터 다수의 사업자 네트워크를 관리할 수 있게 해주는지에 대한 일 실시예를 보여주는 도면이다. 관리 서비스 클라우드 컴퓨팅 설비(1401)는 관리 서비스 회사가 연락을 취하고 있는 모든 각 모바일 사업자에 대한 3G PC 컨트롤 플레인의 별개의 인스턴스들을 실행한다. 각각의 3G PC 인스턴스는 모바일 사업자의 트래픽을 데이터 센터의 클라우드 컴퓨팅 설비(1401) 내의 다른 테넌트들로부터 격리시키는 VPC(1403A,B)에 있다. 모바일 사업자에 대한 3G PC 컨트롤 플레인 인스턴스는 가상 에지 라우터(1409A,B)를 통하여 모바일 사업자의 지리적으로 분산된 3G PC OpenFlow 데이터 플레인 스위칭 패브릭(1407A,B) 및 모바일 사업자의 기지국들에 접속된다. 가상 에지 라우터(1409A,B)는 데이터 센터로부터의 트래픽을 적절한 모바일 사업자 3G PC 데이터 플레인 스위칭 패브릭(1407A,B)으로 그리고 그로부터 라우팅한다. 일부 경우에, 모바일 사업자들은 기지국들 및 3G PC 스위칭 패브릭들을 공유할 수도 있지만, 도 14의 예시적인 실시예는 2개의 모바일 사업자들이 별개의 스위칭 패브릭들을 갖고 있는 경우를 보여준다.
클라우드
컴퓨팅 시스템에서의 3G
PC
피어링
및
차동
라우팅
도 15는 전문화 서비스 처리를 위한 3G PC 피어링 및 차동 라우팅을 위한 프로세스의 일 실시예를 보여주는 도면이다. 실선들 및 화살표들(1501)에 의해 표시된 OpenFlow 시그널링은 차동 라우팅을 위해 3G PC 내의 스위치들 및 게이트웨이들에 대한 플로우 규칙들 및 액션들을 설정한다. 이들 플로우 규칙들은 GTP 플로우들을 특정 위치들로 보낸다. 이 예에서, 이 경우의 사업자는 그의 3G PC를 2개의 다른 고정 사업자들과 피어링한다. 각각의 피어링 포인트를 통한 라우팅은 각자의 GGSN1 및 GGSN2(1503A,B)에 의해 처리된다. 파선들 및 화살표들(1505)은 다른 피어링 사업자에게 라우팅될 필요가 있는 UE(1507)로부터의 트래픽을 보여준다. 트래픽이 어느 피어링 포인트를 거쳐야 하는지를 구별해주는 플로우 규칙들 및 액션들이 OpenFlow 컨트롤러(1511)에 의해 OpenFlow 스위치들(1509) 및 게이트웨이들(1503A,B)에 설치된다. OpenFlow 컨트롤러(1511)는 외부 트래픽을 위해 그것이 유지하는 라우팅 테이블들, 및 패킷들의 소스 및 목적지에 기초하여, 그리고 DSCP 마킹된 패킷들을 위해 요구되는 임의의 전문화된 포워딩 처리에 의해 이들 플로우 규칙들 및 액션들을 계산한다.
긴 파선 및 점선들 및 화살표들(1515)은 외부 소스로부터 콘텐츠를 획득하고 있는 UE(1517)의 예를 보여준다. 콘텐츠는 원래는 UE(1517)의 스크린을 위해 만들어져 있지 않고, 따라서 OpenFlow 컨트롤러(1511)는 플로우를 클라우드 컴퓨팅 설비 내의 트랜스코딩 애플리케이션(1521)을 통하여 라우팅하기 위해 GGSN1(1503B), SGSN(1519) 및 OpenFlow 스위치들(1509)에 플로우 규칙들 및 액션들을 설치하였다. 트랜스코딩 애플리케이션(1521)은 콘텐츠가 UE(1517)의 스크린에 맞도록 콘텐츠를 새로 포맷한다. UE가 IP 멀티미디어 시스템(IMS) 또는 다른 시그널링 프로토콜을 통해 외부 콘텐츠 소스와의 그의 세션을 설정할 때 MSC가 전문화된 처리를 요청한다.
GTP
TEID
라우팅
일 실시예에서, OpenFlow는 GTP TEID 라우팅을 위한 규칙들을 제공하도록 수정된다. 도 16은 GTP TEID 라우팅을 위한 OpenFlow 플로우 테이블 수정의 일 실시예를 보여주는 도면이다. TEID 라우팅을 지원하는 OpenFlow 스위치는 적어도 하나의 플로우 테이블(예를 들어, 제1 플로우 테이블)에서, 헤더 필드들의 2 바이트(16 비트) 컬렉션 및 4 바이트(32 비트) GTP TEID에 더하여, 다른 OpenFlow 헤더 필드들을 매칭한다. GTP TEID 플래그는 와이드카드될 수 있다(즉, 매치들은 "don't care"이다). 일 실시예에서, 3G PC 프로토콜들은, 표준 UDP/TCP 전송 프로토콜에서의 포트들과 같이, 터널들에 대한 종단점 식별자로서 이외에 어떠한 의미도 TEID들에 할당하지 않는다. 다른 실시예들에서, TEID들은 상관된 의미 또는 시맨틱스를 가질 수 있다. GTP 헤더 플래그 필드 역시 와일드카드될 수 있고, 이것은 다음과 같은 비트마스크들을 조합함으로써 부분적으로 매칭될 수 있다: 0xFF00 - 메시지 타입 필드를 매칭; 0xe0 - 버전 필드를 매칭; 0x10 - PT 필드를 매칭; 0x04 - E 필드를 매칭; 0x02 - S 필드를 매칭; 0x01 - PN 필드를 매칭.
일 실시예에서, OpenFlow는 고속 경로 GTP TEID 캡슐화 및 역캡슐화를 위한 가상 포트들을 지원하도록 수정될 수 있다. OpenFlow 이동 게이트웨이가 가상 포트들로 GTP 캡슐화 및 역캡슐화를 지원하기 위해 이용될 수 있다. GTP 캡슐화 및 역캡슐화 가상 포트들은 GTP-U 터널들 내의 사용자 데이터 패킷들의 고속 캡슐화 및 역캡슐화를 위해 이용될 수 있고, 그것들이 하드웨어 또는 펌웨어로 구현될 수 있을 만큼 단순히 설계될 수 있다. 이런 이유로, GTP 가상 포트들은 그것들이 처리할 트래픽에 대해 다음과 같은 제약들을 가질 수 있다: GTP 캡슐화 포트들이 GTP'(PT 필드 = 0)가 아니라 GTP만 지원하는, 프로토콜 타입(PT) 필드 = 1; 어떠한 확장 헤더도 지원되지 않는, 확장 헤더 플래그(E) = 0, 어떠한 시퀀스 번호도 지원되지 않는, 시퀀스 번호 플래그(S) = 0; N-PDU 플래그(PN) = 0; 및 G-PDU 메시지들, 즉, 터널링된 사용자 데이터만 고속 경로에서 지원되는, 메시지 타입 = 255.
패킷이 캡슐화를 필요로 하거나 비제로 헤더 플래그들, 헤더 확장들로 캡슐화되어 도착하거나, 및/또는 GTP-U 패킷이 G-PDU 패킷이 아니면(즉, 그것이 GTP-U 컨트롤 패킷이라면), 프로세싱은 게이트웨이의 저속 경로(소프트웨어) 컨트롤 플레인을 통해 진행되어야 한다. 게이트웨이의 IP 주소로 향하는 GTP-C 및 GTP' 패킷들은 잘못된 구성의 결과이고 잘못되어 있다. 이 패킷들은 클라우드 컴퓨팅 시스템 내의 SGSN 및 GGSN 컨트롤 플레인 엔티티들에 의해 처리되기 때문에 OpenFlow 컨트롤러에 보내져야 하거나 또는 SGSN 및 GGSN 데이터 플레인 스위치들이 아니라 GTP'를 처리하는 빌링 엔티티에 보내져야 한다.
GTP 가상 포트들은 구성 프로토콜을 이용하여 OpenFlow 컨트롤러로부터 구성된다. 구성 프로토콜의 세부 사항들은 스위치에 좌우된다. 구성 프로토콜은 다음과 같은 기능들을 수행하는 메시지들을 지원해야 한다: 컨트롤러로 하여금 스위치가 GTP 고속 경로 가상 포트들을 지원하는지 그리고 고속 경로 및 저속 경로 GTP-U 프로세싱을 위해 어떤 가상 포트 번호들이 사용되는지에 대해 질의하고 그에 대한 표시를 반환하게 하는 것; 및 컨트롤러로 하여금 OpenFlow 테이블 세트-출력-포트 액션에 사용하기 위한 스위치 데이터 경로 내의 GTP-U 고속 경로 가상 포트를 인스턴스화하게 하는 것. 구성 커맨드는, 액션의 결과들이 컨트롤러에 보고될 때, 요청된 데이터 경로에 대한 GTP-U 고속 경로 가상 포트가 인스턴스화되거나 요청이 부응될 수 없는 이유를 나타내는 오류가 반환되도록 트랜잭션에서 실행되어야 한다. 그 커맨드는 또한 OpenFlow 컨트롤러로 하여금 GTP-U 가상 포트를 물리 포트에 결속시키게 한다. 역캡슐화 가상 포트들에 대해, 물리 포트는 입력 포트이다. 캡슐화 가상 포트들에 대해, 물리 포트는 출력 포트이다.
OpenFlow 컨트롤러는, GTP TEID 라우팅을 위해 스위치에 임의의 규칙들을 설치하기 전에, GTP 터널을 통하여 라우팅된 패킷들을 송신 또는 수신할 수 있는 각각의 물리 포트에 대한 가상 포트를 인스턴스화한다.
일 실시예에서, OpenFlow GTP 게이트웨이는 GTP TEID들을 그들의 베어러들에 대한 터널 헤더 필드들 내에 매핑하는 해시 테이블을 유지한다. 도 17은 플로우 테이블 행의 구조를 보여주는 도면이다. TEID 해시 키들은 낮은 충돌 빈도를 가진 적합한 해시 알고리즘, 예를 들어 SHA-1을 이용하여 계산된다. 게이트웨이는 각 GTP TEID/베어러마다 하나의 그러한 플로우 테이블 행을 유지한다. TEID 필드는 터널에 대한 GTP TEID를 포함한다. VLAN 태그들 및 MPLS 라벨들의 필드들은 패킷이 그 안으로 라우팅될 필요가 있는 터널들을 정의하는 VLAN 태그들 및/또는 MPLS 라벨들의 순서 리스트를 포함한다. VLAN 우선순위 비트들 및 MPLS 트래픽 클래스 비트들이 그 라벨들에 포함된다. 그러한 터널들은 요구될 수 있거나 요구되지 않을 수 있다. 그것들이 요구되지 않는다면, 이들 필드들은 비어 있다. 터널 기점 소스 IP 주소는 터널을 수반하는 임의의 컨트롤 트래픽이 보내져야 하는 캡슐화 게이트웨이 상의 주소를 포함한다(예를 들어, 오류 표시들). 터널 종점 목적지 IP 주소 필드는 터널링된 패킷이 라우팅되어야 하는 게이트웨이의 IP 주소를 포함하고, 그곳에서 패킷은 역캡슐화되고 GTP 터널로부터 제거될 것이다. QoS DSCP 필드는 전용 베어러의 경우에 베어러에 대한 DSCP(DiffServe Code Point)(만약 있다면)를 포함한다. 이 필드는 베어러가 최선 노력 QoS를 가진 디폴트 베어러인 경우 비어 있을 수 있지만, 베어러 QoS가 최선 노력보다 큰 경우에는 비제로 값들을 포함할 것이다.
일 실시예에서, GTP에 대한 저속 경로 지원은 OpenFlow 게이트웨이 스위치를 이용하여 구현된다. OpenFlow 이동 게이트웨이 스위치는 저속 경로 패킷 처리를 위한 소프트웨어 컨트롤 플레인에 대한 지원도 포함한다. 이 경로는 비제로 헤더 필드들 또는 확장 헤더들을 가진 G-PDU(메시지 타입 255) 패킷들, 및 그러한 필드들 또는 확장 헤더들의 추가로 캡슐화를 필요로 하는 사용자 데이터 플레인 패킷들에 의해, 그리고 GTP-U 컨트롤 패킷들에 의해 취해진다. 이를 위해, 스위치는 소프트웨어 컨트롤 플레인 내의 다음과 같은 3개의 로컬 포트들을 지원한다: LOCAL_GTP_CONTROL - 스위치 고속 경로는 GTP-U 컨트롤 메시지를 포함하는 게이트웨이 IP 주소로 향하는 GTP 캡슐화된 패킷들을 전달하고 로컬 스위치 소프트웨어 컨트롤 플레인은 GTP-U 컨트롤 메시지에 따라 로컬 컨트롤 플레인 액션들을 개시한다; LOCAL_GTP_U_DECAP - 스위치 고속 경로는 비제로 헤더 필드들 또는 확장 헤더들(즉, E != 0, S != 0, 또는 PN != 0)을 가진 G-PDU 패킷들을 이 포트에 전달한다. 이들 패킷들은 전문화된 처리를 필요로 한다. 로컬 스위치 소프트웨어 저속 경로는 패킷들을 처리하고 전문화된 처리를 수행하고; LOCAL_GTP_U_ENCAP - 스위치 고속 경로는 비제로 헤더 필드들 또는 확장 헤더들(즉, E != 0, S != 0, 또는 PN != 0)을 가진 GTP 터널에서 캡슐화를 필요로 하는 사용자 데이터 플레인 패킷들을 이 포트에 전달한다. 이들 패킷들은 전문화된 처리를 필요로 한다. 로컬 스위치 소프트웨어 저속 경로는 패킷들을 캡슐화하고 전문화된 처리를 수행한다. 패킷을 전달하는 것 외에, 스위치 고속 경로는 OpenFlow 메타데이터 필드를 저속 경로 소프트웨어가 이용할 수 있게 만든다.
저속 경로 캡슐화를 지원하기 위해, 스위치 상의 소프트웨어 컨트롤 플레인은 GTP-U TEID로부터 계산된 키들을 가진 해시 테이블을 유지한다. TEID 해시 키들은 낮은 충돌 빈도를 가진 적합한 해시 알고리즘, 예를 들어 SHA-1을 이용하여 계산된다. 플로우 테이블 엔트리들은 GTP 캡슐화 헤더를 포함하여 패킷 헤더가 어떻게 구성되어야 하는지에 대한 레코드를 포함한다. 이것은 다음과 같은 것들을 포함한다: 도 18의 하드웨어 또는 펌웨어 캡슐화 테이블의 경우와 동일한 헤더 필드들; GTP 헤더 플래그들(PT, E, S, 및 PN)에 대한 값들; 시퀀스 번호 및/또는 N-PDU 번호(만약 있다면); E 플래그가 1이라면, 플로우 테이블은 저속 경로가 GTP 헤더에 삽입해야 하는 확장 헤더들(그 타입들을 포함함)의 리스트를 포함한다.
일 실시예에서, 시스템은 GTP 고속 경로 캡슐화 가상 포트를 구현한다. 클라우드 컴퓨팅 시스템에서 실행되는 SGSN 및 GGSN 컨트롤 플레인 소프트웨어에 의해 요청받을 때, OpenFlow 컨트롤러는 패킷들을 고속 경로 GTP 캡슐화 가상 포트를 통해 GTP 터널들 안으로 라우팅하기 위한 규칙들, 액션들, 및 TEID 해시 테이블 엔트리들을 설치하도록 게이트웨어 스위치를 프로그램한다. 규칙들은 GTP 터널의 베어러의 입력 측에 대한 패킷 필터와 매칭한다. 통상적으로 이것은 IP 소스 주소; IP 목적지 주소; UDP/TCP/SCTP 소스 포트; 및 UDP/TCP/SCTP 목적지 포트로 이루어진 4 튜플일 것이다. IP 소스 주소와 목적지 주소는 통상적으로 사용자 데이터 플레인 트래픽, 즉 UE 또는 UE가 교섭하고 있는 인터넷 서비스에 대한 주소들이고, 포트 번호들과 유사하다. GTP-U 터널 입력 측과 매칭하는 규칙의 경우, 연관된 명령들은 다음과 같다:
Write-Metadata ( GTP-TEID, 0xFFFFFFFF )
Apply-Actions (Set-Output-Port GTP-Encap-VP )
스위치는 또한 패킷에 대한 터널 헤더 필드들을 포함하는 TEID 해시 테이블에 엔트리를 기입한다. GTP-TEID는 GTP 터널 종단점 식별자이다. GTP - Enacap - VP 는 캡슐화된 패킷이 궁극적으로 라우팅될 물리 포트에 결속된 GTP 고속 경로 캡슐화 가상 포트이다.
패킷 헤더가 가상 포트와 연관된 규칙과 매칭할 경우, GTP TEID는 메타데이터의 하위 32 비트에 기입되고 패킷은 가상 포트로 보내진다. 가상 포트는 TEID의 해시를 계산하고 터널 헤더 테이블 내의 터널 헤더 정보를 검색한다. 그러한 터널 정보가 존재하지 않는다면, 패킷은 오류 표시와 함께 컨트롤러에 전달된다. 그렇지 않다면, 가상 포트는 GTP 터널 헤더를 구성하고 패킷을 캡슐화한다. 임의의 DSCP 비트들 또는 VLAN 우선순위 비트들이 추가로 IP 또는 MAC 터널 헤더들에 설정되고, 임의의 VLAN 태그들 또는 MPLS 라벨들이 패킷 상에 푸싱된다. 캡슐화된 패킷은 가상 포트가 결속되어 있는 물리 포트 밖으로 전달된다.
일 실시예에서, 시스템은 GTP 고속 경로 역캡슐화 가상 포트를 구현한다. 클라우드 컴퓨팅 시스템에서 실행되는 SGSN 및 GGSN 컨트롤 플레인 소프트웨어에 의해 요청받을 때, 게이트웨이 스위치는 GTP 캡슐화된 패킷들을 GTP 터널 밖으로 라우팅하기 위한 규칙들 및 액션들을 설치한다. 다음과 같이 도 16에 도시된 수정된 OpenFlow 플로우 테이블에서, 규칙들은 패킷에 대한 GTP 헤더 플래그들 및 GTP TEID와 매칭한다: IP 목적지 주소는 게이트웨이가 GTP 트래픽을 기대하고 있는 IP 주소이다; IP 프로토콜 타입은 UDP(17)이다; UDP 목적지 포트는 GTP-U 목적지 포트(2152)이다; 헤더 필드들 및 메시지 타입 필드는 플래그 0XFFF0로 와일드카드되고 필드의 상위 2 바이트는 G-PDU 메시지 타입(255)과 매칭하는 반면 하위 2 바이트는 0x30과 매칭하는데, 즉, 패킷은 GTP' 패킷이 아니라 GTP 패킷이고 버전 번호는 1이다. 가상 포트는 단순히 GTP 터널 헤더를 제거하고 동봉된 사용자 데이터 플레인 패킷을 결속된 물리 포트 밖으로 전달한다.
일 실시예에서, 시스템은 GTP-U 컨트롤 패킷들의 처리를 구현한다. OpenFlow 컨트롤러는 GTP 트래픽에 사용되는 각각의 게이트웨이 스위치 IP 주소에 대해 5개의 규칙으로 게이트웨이 스위치 플로우 테이블들을 프로그램한다. 이들 규칙들은 다음과 같은 필드들에 대한 명시된 값들을 포함한다: IP 목적지 주소는 게이트웨이가 GTP 트래픽을 기대하고 있는 IP 주소이다; IP 프로토콜 타입은 UDP(17)이다; UDP 목적지 포트는 GTP-U 목적지 포트(2152)이다; GTP 헤더 플래그들 및 메시지 타입 필드는 0XFFF0로 와일드카드된다; 헤더 플래그 필드의 값은 0x30으로, 즉, 버전 번호는 1이고 PT 필드는 1이다; 메시지 타입 필드의 값은 1(에코 요청), 2(에코 응답), 26(오류 표시), 31(확장 헤더 통지에 대한 지원), 또는 254(종료 마커)이다.
이들 규칙들 중 하나와의 매칭과 연관된 명령은 다음과 같다:
Apply-Actions (Set-Output-Port LOCAL_GTP_CONTROL )
이는 패킷이 로컬 소프트웨어 컨트롤 플레인에 의한 처리를 위해 게이트웨이 스위치의 로컬 GTP-U로 전달되게 한다. 스위치에 의해 시작되는 GTP-U 컨트롤 패킷들은 소프트웨어 컨트롤 플레인 상에서 발생되고 컨트롤 플레인에 의해 라우팅된다.
일 실시예에서, 시스템은 확장 헤더들, 시퀀스 번호들, 및 N-PDU 번호들을 가진 G-PDU 패킷들의 처리를 구현한다. 확장 헤더들, 시퀀스 번호들, 및 N-PDU 번호들을 가진 G-PDU 패킷들은 처리를 위해 로컬 스위치 소프트웨어 컨트롤 플레인에 전달될 필요가 있다. OpenFlow 컨트롤러는 이를 위해 3개의 규칙을 프로그램한다. 이들은 다음과 같은 공통 헤더 필드들을 갖는다: IP 목적지 주소는 게이트웨이가 GTP 트래픽을 기대하고 있는 IP 주소이다; IP 프로토콜 타입은 UDP(17)이다; UDP 목적지 포트는 GTP-U 목적지 포트(2152)이다.
3개의 규칙에 대한 헤더 플래그들 및 메시지 타입 필드들은 다음과 같은 비트마스크들로 와일드카드되고 다음과 같이 매칭한다: 비트마스크 0xFFF4 및 상위 2 바이트는 G-PDU 메시지 타입(255)과 매칭하는 반면 하위 2 바이트는 0x34이며, 이는 버전 번호는 1이고, 패킷은 GTP 패킷이고, 확장 헤더가 존재한다는 것을 나타낸다; 0xFFF2 및 상위 2 바이트는 G-PDU 메시지 타입(255)과 매칭하는 반면 하위 2 바이트는 0x32이며, 이는 버전 번호는 1이고, 패킷은 GTP 패킷이고, 시퀀스 번호가 존재한다는 것을 나타낸다; 0xFF01 및 상위 2 바이트는 G-PDU 메시지 타입(255)과 매칭하는 반면 하위 2 바이트는 0x31이며, 이는 버전 번호는 1이고, 패킷은 GTP 패킷이고, N-PDU가 존재한다는 것을 나타낸다.
이들 규칙들에 대한 명령은 다음과 같다:
Apply-Actions (Set-Output-Port LOCAL_GTP_U_DECAP)
이는 패킷을 특수 처리를 위해 소프트웨어 저속 경로 GTP-U 역캡슐화 경로로 보낸다.
일 실시예에서, 시스템은 확장 헤더들, 시퀀스 번호들, 및 N-PDU 번호들로 GTP-U 캡슐화를 요구하는 사용자 데이터 플레인 패킷들의 처리를 구현한다. GTP 캡슐화 중에 확장 헤더들, 시퀀스 번호들, 또는 N-PDU 번호들을 요구하는 사용자 데이터 플레인 패킷들은 소프트웨어 저속 경로에 의한 특수 처리를 요구한다. 이들 패킷들에 대해, OpenFlow 컨트롤러는 IP 소스 주소; IP 목적지 주소; UDP/TCP/SCTP 소스 포트; 및 UDP/TCP/SCTP 목적지 포트로 이루어진 4 튜플과 매칭하는 규칙을 프로그램한다. 매칭하는 패킷들에 대한 명령들은 다음과 같다:
Write-Metadata ( GTP-TEID, 0xFFFFFFFF )
Apply-Actions (Set-Output-Port LOCAL_GTP_U_ENCAP )
이는 패킷을 소프트웨어 저속 경로 GTP 캡슐화 포트로 보내고, 추가로, TEID를 저속 경로가 이용할 수 있게 만든다.
규칙 삽입을 프로그램하는 OpenFlow 메시지는 또한 시퀀스 번호, N-PDU 번호에 대한 값들, 또는 확장 헤더의 타입 및 콘텐츠는 물론, 역캡슐화 게이트웨이 및 베어러 전송을 지정하는 패킷 헤더 필드들 및 GTP TEID에 관한 정보를 포함한다. 이 정보는 스위치의 컨트롤 플레인 소프트웨어에 의해 TEID에 의해 키잉되는 소프트웨어 캡슐화 테이블 안에 삽입된다.
일 실시예에서, 시스템은 GTP-C 및 GTP' 컨트롤 패킷들의 처리를 구현한다. 게이트웨이 스위치 상의 IP 주소들로 보내지는 임의의 GTP-C 및 GTP' 컨트롤 패킷들이 잘못되어 있다. 이들 패킷들은 스위치들 내의 SGSN 및 GGSN 엔티티들이 아니라, 클라우드 컴퓨팅 시스템 내의 SGSN, GGSN, 및 GTP' 프로토콜 엔티티들에 의해 처리될 필요가 있다. 그러한 패킷들을 캐치하기 위해, OpenFlow 컨트롤러는 다음과 같은 2개의 규칙으로 스위치를 프로그램해야 한다: IP 목적지 주소는 게이트웨이가 GTP 트래픽을 기대하고 있는 IP 주소이다; IP 프로토콜 타입은 UDP(17)이다; 하나의 규칙에 대해, UDP 목적지 포트는 GTP-U 목적지 포트(2152)이고, 다른 하나의 규칙에 대해, UDP 목적지 포트는 GTP-C 목적지 포트(2123)이다; GTP 헤더 플래그들 및 메시지 타입 필드들은 와일드카드된다.
이들 규칙들은 게이트웨이 스위치의 플로우 테이블 내의 모든 GTP 규칙들의 최저 우선순위이어야 한다. 이들은 다른 더 많은 특정 규칙들과 매칭하지 않는 임의의 GTP 패킷들과 매칭할 것이다. 이들 규칙들에 대한 명령은 다음과 같다:
Apply-Actions (Set-Output-Port CONTROLLER )
이는 패킷을 캡슐화하고 그것을 OpenFlow 컨트롤러에 보낸다.
일 실시예에서, 시스템은 비-게이트웨이 GTP 라우팅을 구현한다. GTP-확장 OpenFlow 스위치도 캡슐화 및 역캡슐화의 게이트웨이 기능들을 수행하지 않고 GTP 라우팅을 달성할 수 있다. GTP 라우팅 기능은 게이트웨이 스위치에 의해 그의 게이트웨이 기능에 더하여 수행될 수 있거나, 그것은 분산된 EPC 스위칭 패브릭 내에서, 게이트웨이 기능이 없는 다른 스위치에 의해 수행될 수 있다.
GTP-확장 OpenFlow 스위치는 도 16에서와 같이 GTP 헤더 필드들과 매칭하는 규칙들을 처리하는 적어도 하나의 플로우 테이블을 포함한다. OpenFlow 컨트롤러는 GTP 라우팅을 수행하기 위해 다른 필드들에 더하여 GTP 헤더 필드 규칙들을 프로그램하고 규칙이 매칭될 경우 적절한 액션들을 추가한다. 예를 들어, 다음과 같은 규칙은 컨트롤 플레인 VLAN에 있지 않은, 클라우드 컴퓨팅 시스템 내의 컨트롤 플레인 엔티티(MSC,SGSN,GGSN)로 향하는 GTP-C 컨트롤 패킷과 매칭한다: VLAN 태그는 컨트롤 플레인 VLAN으로 설정되지 않고, 목적지 IP 주소 필드는 대상 컨트롤 플레인 엔티티의 IP 주소로 설정되고, IP 프로토콜 타입은 UDP(17)이고, UDP 목적지 포트는 GTP-C 목적지 포트(2123)이고, GTP 헤더 플래그들 및 메시지 타입은 0xF0로 와일드카드되고 매칭된 버전 및 프로토콜 타입 필드들은 2 및 1이고, 이는 패킷이 GTP'가 아니라 GTPv1 컨트롤 플레인 패킷임을 나타낸다.
다음과 같은 액션들은 컨트롤 플레인 VLAN 태그를 패킷 상에 푸싱하고 그것을 관련 컨트롤 플레인 엔티티에 의한 처리를 위해 클라우드에 전달한다. 패킷은 어떠한 L3 처리도 없이(즉, IP TTL을 수정하지 않고) 전달된다:
Write-Action ( Set-VLAN-ID CP_VLAN_TAG )
Write-Action ( Set-Source-MAC-Address SWITCH_MAC_ADDR )
Write-Action ( Set-Dest-MAC-Address NEXT_HOP_MAC_ADDR )
Set-Output-Port NEXT_HOP_PORT
OpenFlow
에 대한
GTP
확장들
OpenFlow 프로토콜은 3G PC의 관리를 가능하게 하는 GTP에 대한 확장들을 제공하도록 수정될 수 있다. OpenFlow는 프로토콜이 특정 플로우들에 대한 매칭하는 규칙들에 대한 기준들을 정의할 수 있게 해주는 플로우 매치 구조라고 불리는 데이터 구조들을 이용한다. ofp_match의 OpenFlow 플로우 매치 구조는 플로우 매치 구조가 확장되게 해주는 2개의 필드, 즉 타입 및 길이를 포함한다. 타입 필드는 확장의 타입으로 설정될 수 있고 길이 필드는 확장된 ofp_match 구조의 길이로 설정될 수 있다. 일 실시예에서, GTP 플로우 매칭을 위한 난수에 기초한 새로운 타입이 다음과 같이 정의된다:
enum ofp_match_type_ext {
ERSMT_GTP = 48696,
};
타입은 다른 확장된 타입들과 간섭하지 않도록 무작위로 생성될 수 있다. 현재 OpenFlow에서 타입 식별자들을 등록하기 위한 조직 메커니즘은 없다.
ersmt_gtp 구조는 GTP 플로우 라우팅에 대한 플로우 테이블 필드들을 다음과 같이 정의한다:
struct ersmt_gtp {
unit8_t gtp_wildcard;
uint16_t gtp_type_n_flags;
uint16_t gtp_flag_mask;
uint32_t gtp_teid;
};
gtp_type_n_flags 필드는 상위 8 비트에 GTP 메시지 타입 및 하위 8 비트에 GTP 헤더 플래그들을 포함한다. gtp_teid 필드는 GTP TEID를 포함한다. gtp_wildcard 필드는 GTP 타입 및 플래그들과 TEID가 매칭되어야 하는지를 지시한다. 하위 4 비트가 1이면, 타입 및 플래그 필드가 무시되어야 하는 반면, 상위 4 비트가 1이면, TEID가 무시되어야 한다. 하위 비트들이 0이면, 타입 및 필드 플래그가 gtp_flag_mask 필드 내의 플래그들을 조건으로 매칭되어야 하는 반면, 상위 비트들이 0이면 TEID가 매칭되어야 한다. 논리 AND를 이용하여 패킷의 메시지 타입 및 헤더 필드와 마스크가 조합된다; 결과는 매치의 값이 된다. 마스크가 1의 값을 갖는 필드의 부분들만이 매칭된다.
플로우 테이블 필드들에 더하여, 가상 포트 TEID 해시 테이블 엔트리의 캡슐화를 인코딩하기 위한 오브젝트가 요구된다. ersmt_gtp_tuninfo 구조가 이 정보를 정의하기 위해 이용된다:
struct ermst_mpls_lbl {
uint8_t mpls_lbl_low;
uint8_t mpls_lbl_mid;
uint8_t mpls_lbl_high;
};
struct ersmt_gtp_tuninfo {
uint16_t gtp_tuninfo_length;
uint32_t gtp_tuninfo_saddr;
uint32_t gtp_tuninfo_daddr;
uint8_t gtp_tuninfo_dscp;
uint8_t gtp_tuninfo_vlan_len;
unit16_t gtp_tuninfo_vlan_tags[0]; /*variable length*/
uint8_t gtp_tuninfo_mpls_len;
struct mpls_lbl gtp_tuninfo_mpls_labels[0]; /*variable length*/
};
ermst_mpls_lbl 구조는 MPLS 라벨들을 인코딩하기 위한 24 비트 데이터 구조를 제공한다. ersmt_gtp_tunifo 구조는 GTP 터널을 기술하는 필드들을 포함한다. 이들은 캡슐화 가상 포트에 삽입된다. 이 구조는 가변 길이인데, 그 이유는 그것은 가변 수의 VLAN 태그들 및/또는 MPLS 라벨들을 포함할 수 있기 때문이다. gtp_tuninfo_length 필드는 구조의 길이를 포함한다. gtp_tuninfo_saddr, gtp_tuninfo_daddr, 및 gtp_tuninfo_dscp 필드들은 터널의 소스 주소(캡슐화를 수행하는 스위치 상의 인터페이스의 주소), 터널의 목적지 주소(터널링된 패킷이 라우팅될 그리고 패킷을 역캡슐화할 스위치), 및 터널의 베어러에 할당된 DiffServ Code Point(만약 있다면)를 포함한다. 베어러 DSCP는 베어러가 전용 베어러이고 최선 노력 베어러가 아니라면 비제로일 것이다.
gtp_tuninfo_vlan_len 및 gtp_tuninfo_mpls_len은 각각 VLAN 태그 필드 및 MPLS 라벨 필드의 길이를 포함한다. gtp_tuninfo_vlan_tags[0] 및 gtp_tuninfo_mpls_labels[0] 필드는 패킷의 터널 헤더 상에 푸싱될 필요가 있는 실제 VLAN 태그들 및/또는 MPLS 라벨들을 포함한다. 이들 필드들은 VLAN 또는 MPLS 라벨 교환 경로(Label Switched Path, LSP)들이 터널에 사용되지 않은 경우 존재하지 않을 것이다(그리고 대응하는 길이 필드들은 제로일 것이다).
일 실시예에서, OpenFlow는 3G PC 베어러 또는 GTP 터널을 추가, 삭제, 또는 수정하기 위한 확장 메시지들을 추가하도록 수정된다. 3G PC 베어러 또는 GTP 터널을 추가, 수정, 또는 삭제하기 위한 OpenFlow 시그널링은 ersmt_gtp GTP 플로우 정의를 포함하는 하나의 OpenFlow 메시지, 즉 ofp_flow_mod 메시지로 이루어져 있다. OpenFlow 프로토콜 파서가 확장된 플로우들을 처리할 수 있는 한 표준 OpenFlow ofp_flow_mod 메시지가 사용될 수 있다. 플로우 수정이 캡슐화 가상 포트 TEID 해시 테이블에 대한 변경을 필요로 한다면, OpenFlow 컨트롤러는 TEID 해시 테이블 엔트리를 포함하는 GTP OpenFlow 확장 메시지를 발행해야만 한다. OpenFlow 컨트롤러는 양쪽 메시지를 순차적으로, ofp_flow_mod 메시지를 먼저, 그 후 TEID 해시 테이블 수정 메시지를 발행해야 하고, 그 후 OpenFlow 컨트롤러는 OpenFlow 스위치에 의한 양쪽 메시지의 처리를 강제하기 위해 OFPT_BARRIER_REQUEST 메시지를 발행해야 한다.
OpenFlow 메시지 확장 헤더 구조인 ofp_experimenter_header는 실험자(experimenter)라고 불리는 실험자 id 필드를 포함한다. 일 실시예에서, 이 필드는 Ericsson IEEE OUI, 0x01ec 또는 유사 제조자 또는 제공자 OUI로 설정될 수 있다. 이 구조의 나머지는 GTP 확장 메시지들을 포함한다. 이들 메시지들은 다음과 같은 메시지 코드들에 의해 식별될 수 있다:
enum ermst_gtp_message_code {
GTP_ADD_TEID_TABLE_ENTRY = 0,
GTP_DEL_TEID_TABLE_ENTRY = 1,
};
GTP OpenFlow 확장은 TEID 해시 테이블 엔트리를 추가하기 위한 그리고 삭제하기 위한 메시지를 포함한다. 엔트리들은 먼저 TEID에 대한 엔트리를 삭제한 다음 동일한 TEID에 대한 새로운 엔트리를 추가함으로써 수정된다. 캡슐화 가상 포트 해시 테이블에 새로운 TEID 엔트리를 입력하기 위한 GTP OpenFlow 확장 메시지는 다음과 같다:
struct ermst_teid_table_add {
ermst_gtp_message_code teid_table_add_type;
uint16_t teid_table_add_teid;
struct ermst_gtp_tuninfo teid_table_add_entry;
};
teid_table_add_type 필드는 GTP_ADD_TEID_TABLE_ENTRY로 설정되는 반면 teid_table_add_teid 필드는 TEID를 포함하고 teid_table_add_entry는 추가될 테이블 엔트리를 포함한다. 캡슐화 가상 포트 해시 테이블로부터 TEID 엔트리를 삭제하기 위한 GTP OpenFlow 확장 메지시는 다음과 같다:
struct ermst_teid_table_del {
ermst_gtp_message_code teid_table_del_type;
uint16_t teid_table_del_teid;
};
teid_table_del_type 필드는 GTP_DEL_TEID_TABLE_ENTRY로 설정되는 반면 teid_table_del_teid 필드는 삭제될 엔트리에 대한 TEID를 포함한다.
일 실시예에서, GTP에 대한 OpenFlow에 대한 확장들은 또한 OpenFlow 스위치 구성을 포함한다. 3G PC 클라우드 컨트롤 플레인 엔티티들로부터 임의의 GTP 라우팅 업데이트 RPC들을 받아들이기 전에, OpenFlow 컨트롤러는 GTP 확장된 OpenFlow 게이트웨이 스위치들 상의 GTP 캡슐화 및/또는 역캡슐화 가상 포트들을 구성해야만 한다. 이 구성은 스위치 특정 구성 프토토콜을 이용하여 달성되며, 위에 설명되어 있다.
GTP 확장된 OpenFlow 게이트웨이들에 대한 가상 포트 구성에 더하여, 최선 노력 GTP 베어러 트래픽보다 더 양호하게 전달할 임의의 OpenFlow 스위치에 대해 QoS 큐 구성이 요구될 수 있다. OpenFlow 프로토콜은 큐들을 구성하기 위한 어떠한 메시지도 포함하지 않고, 이 구성은 가상 포트들의 경우와 마찬가지로 구성 프로토콜에 일임된다. 임의의 플로우 경로들을 설치하기 전에, OpenFlow 컨트롤러는 최선 노력 GTP 베어러들보다 양호하게 라우팅할 스위치들 내의 물리 및/또는 가상 포트들과 접속하도록 임의의 큐들을 구성해야 한다. 이 구성 단계는 GTP 확장된 OpenFlow 스위치들 및 표준 OpenFlow 스위치들 양자에 대해 수행되어야 한다.
일 실시예에서 GTP 동작들을 위한 OpenFlow 메시지 플로우들이 수정된다. 전술한 바와 같이, SGSN 및 GGSN의 3G PC 컨트롤 플레인 부분들을 포함하여 3G PC 컨트롤 플레인 엔티티들은 클라우드 컴퓨팅 설비 내에 데이터 센터에 존재한다. SGSN 및 GGSN의 컨트롤 플레인은 GTP 시그널링에 의해 라우팅 변경들이 트리거될 때 원격 프로시저 호출(RPC)들 또는 유사 메커니즘을 통해 클라우드 내의 OpenFlow 컨트롤러와 통신한다. OpenFlow 컨트롤러는 GTP 확장된 OpenFlow 지원 데이터 플레인 게이트웨이들에 대한, SGSN 및 GGSN의 컨트롤 플레인에 대한, 그리고 본 명세서에서 'GxOFS'라고 불리는, GTP 라우팅을 위해 확장되어 있는 OpenFlow 스위치들에 대한 데이터 플레인 상의 변경들을, 클라우드를 그 게이트웨이들 및 스위치들에 접속하는 컨트롤 플레인 네트워크 상의 OpenFlow 시그널링을 통하여 실행한다.
일반적으로, GTP 플로우들에 대해 어떠한 특수 라우팅 처리도 요구되지 않는다면 GxOFS에 어떠한 시그널링도 요구되지 않는다. 그러한 처리가 요구될 수도 있는 경우들은, 예를 들어, 사업자의 3G PC가 둘 이상의 포인트에서 인터넷과의 피어링 포인트들을 갖고 있고 그 결과 둘 이상의 게이트웨이를 가지고 있어, 최적의 게이트웨이로의 라우팅이 3G PC 내에서 중간 스위치들에서 트래픽 조종을 필요로 할 수 있는 경우; 및 GTP 플로우가 사업자의 네트워크 내부, 예를 들어, 클라우드 내부의 어딘가에 있는 애플리케이션으로부터 특수 처리를 수신해야 하는 경우이다. 그러한 특수 처리의 일례는 트랜스코딩이다. 중간 스위치들은 사용자 플레인 패킷들을 트랜스코딩 애플리케이션으로 라우팅하기 위한 프로그래밍을 필요로 할 수 있다. 이 리스트는 철저한 것이 아니고, 중간 스위치들에서의 GTP 라우팅의 다른 많은 애플리케이션들이 가능하다.
GTP PDP 컨텍스트 터널들은 GTP-C PDP 컨텍스트 생성 요청 메시지들을 이용하여 설치될 수 있다. 이 절차는 각종 메시지 시퀀스들에서, 예를 들어, E-UTRAN 초기 접속 절차에서 사용된다.
도 18a 내지 도 18c는 3G PC에서의 세션 생성, 수정 및 삭제의 흐름도들이다. 도 18a에는 세션을 생성하기 위한 프로세스가 예시되어 있다. 이 프로세스는 가입자 세션에 대해 SGSN과 GGSN 간에 GTP 터널을 생성하라는 요청에 응답하여 개시된다(블록 1801). 가입자 세션은 3G PC 내의 사용자 장비를, 또 다른 사용자 장비, 서버 또는 유사 종단점일 수 있는, 가입자 세션의 또 다른 종단점에 접속하도록 개시된다. GTP 터널은 3G PC 네트워크의 코어 네트워크를 가로질러 피어링 포인트인, 인터넷 또는 유사 종단점으로의 가입자 세션의 경로를 확립한다. 컨트롤러는 가입자 세션에 대한 데이터 패킷들을 캡슐화 및 역캡슐화하도록 그리고 제1 GTP 터널 종단점을 확립하도록 SGSN을 구현하는 스위치를 구성한다(블록 1803). 컨트롤러는 또한 GTP 터널의 경로에 따라 각 방향으로 패킷들을 전달하도록 GTP 터널의 경로 내의 각 스위치를 구성한다(블록 1805). 컨트롤러는 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하여 GGSN에서 GTP 터널의 제2 종단점을 확립하도록 GGSN의 데이터 플레인을 구성한다(블록 1807).
도 18b에는 세션을 수정하기 위한 프로세스가 예시되어 있다. 이 프로세스는 가입자 세션에 대해 SGSN과 GGSN 간의 GTP 터널을 수정하라는 요청에 응답하여 개시된다(블록 1811). 가입자 세션은 3G PC 내의 사용자 장비를, 또 다른 사용자 장비, 서버 또는 유사 종단점일 수 있는, 가입자 세션의 또 다른 종단점에 접속한다. GTP 터널은 3G PC 네트워크의 코어 네트워크를 가로질러 피어링 포인트인, 인터넷 또는 유사 종단점으로의 가입자 세션의 확립된 경로이다. 수정 프로세스는 가입자 세션을 3G PC 네트워크를 가로질러 동일한 종단점들로 또는 상이한 종단점들로 라우팅 변경(re-route)하기 위해 이용될 수 있다. GTP 터널의 종단점들의 임의의 조합 및 GTP의 경로가 이 프로세스를 이용하여 변경될 수 있다. 컨트롤러는 가입자 세션에 대한 데이터 패킷들을 캡슐화 및 역캡슐화하도록 그리고 제1 GTP 터널 종단점을 수정하도록 SGSN을 구현하는 스위치의 구성을 수정한다(블록 1813). 컨트롤러는 또한 GTP 터널의 경로에 따라 각 방향으로 패킷들을 전달하도록 GTP 터널의 현재의 경로 및 새로운 경로 내의 각 스위치를 구성한다(블록 1815). 컨트롤러는 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하여 GGSN에서 GTP 터널의 제2 종단점을 확립하도록 GGSN의 데이터 플레인의 구성을 수정한다(블록 1817).
도 18c에는 세션을 삭제하기 위한 프로세스가 예시되어 있다. 이 프로세스는 가입자 세션에 대해 SGSN과 GGSN 간의 GTP 터널을 삭제하라는 요청에 응답하여 개시된다(블록 1821). 가입자 세션은 3G PC 내의 사용자 장비를, 또 다른 사용자 장비, 서버 또는 유사 종단점일 수 있는, 가입자 세션의 또 다른 종단점에 접속한다. GTP 터널은 3G PC 네트워크의 코어 네트워크를 가로질러 피어링 포인트인, 인터넷 또는 유사 종단점으로의 가입자 세션의 확립된 경로이다. 가입자 세션 및 연관된 GTP 터널은 사용자 장비 상의 연관된 애플리케이션 또는 가입자 세션의 다른 쪽 단부에 있는 서버 애플리케이션 또는 다른 쪽 사용자 장비 상의 애플리케이션이 접속을 종료할 때 삭제된다. 그 후 가입자 세션은 가입자 세션과 GTP 터널을 삭제함으로써 다시 요구(re-claim)될 수 있다. 컨트롤러는 가입자 세션에 대한 데이터 패킷들을 캡슐화 및 역캡슐화하였던 SGSN을 구현하는 스위치에서의 GTP 터널의 구성을 제거하고 이로써 제1 GTP 터널 종단점을 제거한다(블록 1823). 컨트롤러는 또한 GTP 터널의 경로에 따라 각 방향으로 패킷들을 전달하였던 GTP 터널의 경로 내의 각 스위치로부터 GTP 터널에 대한 구성을 제거한다(블록 1825). 컨트롤러는 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하였던 GGSN의 데이터 플레인으로부터 GTP 터널에 대한 구성을 제거하고 이로써 GGSN에서의 GTP 터널의 제2 종단점을 제거한다(블록 1827).
도 19에는, 세션 생성 요청 절차를 위한 OpenFlow 메시지 흐름의 일례가 도시되어 있다. 도시된 예에서, SGSN 컨트롤 플레인 구성요소는 클라우드 컴퓨팅 시스템 내의 GGSN 컨트롤 플레인 구성요소에 세션 생성 요청을 보내고, 그 후 후자의 구성요소는 그 요청을 GTP 라우팅 업데이트 RPC 호출을 통하여 컨트롤러에 보낸다. 이 RPC 호출은 OpenFlow 컨트롤러에게 데이터 플레인 내의 SGSN 및 GGSN에서 새로운 GTP 터널 종단점을 확립하도록, 그리고 필요할 경우, 중간 스위치들에서 새로운 GTP 베어러들 또는 터널에 대한 경로들을 설치하도록 요청한다.
GTP 라우팅 업데이트 RPC로부터 컨트롤 플레인 GGSN으로 결과를 반환하기 전에, OpenFlow 컨트롤러는 OpenFlow 메시지들의 시퀀스를 적절한 데이터 플레인 게이트웨이 엔티티에 발행한다. 이 예시적인 실시예에서, 이 시퀀스는 후속 메시지들의 처리에 영향을 줄 수도 있는 미결 메시지가 없도록 보장하기 위해 OFP_BARRIER_REQUEST로 시작된다. 그 후 매치 필드로서 GTP 확장과 커맨드 필드로서 OFPFC_ADD를 가진 ofp_match 구조를 포함하는, OFPT_FLOW_MOD 메시지가 발행된다. 이 메시지는, 전술한 바와 같이, 적절한 가상 포트를 통하여 패킷들을 캡슐화 및 역캡슐화하는 GTP 터널에 대한 플로우 경로를 확립하기 위한 액션들 및 명령들을 명시한다. 게다가, OFPT_FLOW_MOD 메시지에 바로 이어서, OpenFlow 컨트롤러는 캡슐화 가상 포트에 대한 TEID 해시 테이블 엔트리들을 포함하는 GTP_ADD_TEID_TABLE_ENTRY 메시지를 게이트웨이들에 발행한다. 전술한 바와 같이, 이 2개의 OpenFlow 메시지들에 이어서 게이트웨이들에게 처리 전에 플로우 경로 및 TEID 해시 테이블 업데이트를 처리하도록 강요하기 위해 OFPT_BARRIER_REQUEST 메시지가 따라온다.
GTP 라우팅 업데이트 RPC로부터 반환하기 전에, OpenFlow 컨트롤러는 또한 맞춤형 GTP 플로우 라우팅에 관련될 필요가 있는 임의의 GTP 확장된 OpenFlow 스위치(GxOFS)들에 GTP 플로우 라우팅 업데이트들을 발행한다. 이들 업데이트들 내의 메시지들은 OFP_BARRIER_REQUEST와 이어서 매치 필드로서 새로운 GTP 플로우에 대한 GTP 확장과 커맨드 필드로서 OFPFC_ADD를 가진 ofp_match 구조를 포함하는 OFPT_FLOW_MOD 메시지와, 맞춤형 GTP 플로우 라우팅을 위해 전술한 액션들 및 명령들로 이루어져 있다. 마지막의 OFP_BARRIER_REQUEST는 스위치에게 응답 전에 변경을 처리하도록 강요한다. 임의의 GxOFS들 상의 플로우 경로들은, 도 19에 예시된 바와 같이, 데이터 플레인 내의 SGSN 상에 GTP 터널 종단점 경로를 설치한 후에 그리고 데이터 플레인 내의 GGSN 상에 GTP 터널 종단점 경로를 설치하기 전에 설치된다. OpenFlow 컨트롤러는 모든 플로우 라우팅 업데이트들이 완수될 때까지는 컨트롤 플레인 GGSN RPC에 응답하지 않는다.
RPC들이 반환하면, 컨트롤 플레인 GGSN 및 SGSN은 PDP 컨텍스트 생성 응답 메시지들을 반환한다. GTP 베어러의 특징들은 PDP 컨텍스트 업데이트 요청 프로세스를 이용하여 변경된다. 그러한 변경들은, 예를 들어, IP 패킷들에 할당된 QoS를 포함할 수 있다. 이 절차는 각종 3G PC 메시지 시퀀스들, 예를 들어, UE 트리거 서비스 요청에서 이용된다.
도 20은 세션 수정 요청 절차를 위한 OpenFlow 메시지 시퀀스의 일 실시예를 보여주는 도면이다. 세션 생성과 마찬가지로, 3G PC 클라우드 컨트롤 플레인 SGSN은 PDP 컨텍스트 업데이트 요청 메시지를 컨트롤 플레인 GGSN에 발행하고 컨트롤 플레인 GGSN은 새로운 터널 업데이트 정보를 포함하는 GTP 라우팅 업데이트 RPC를 OpenFlow 컨트롤러에 발행한다. 그 후 OpenFlow 컨트롤러는 GTP 확장된 OpenFlow 메시지들을 데이터 플레인 SGSN, GxOFS들, 및 데이터 플레인 GGSN에 발행한다.
GTP 라우팅 업데이트 RPC로부터 컨트롤 플레인 GGSN으로 결과를 반환하기 전에, OpenFlow 컨트롤러는 OpenFlow 메시지들의 시퀀스를 적절한 데이터 플레인 게이트웨이 엔티티에 발행한다. 이 시퀀스는 후속 메시지들의 처리에 영향을 줄 수도 있는 미결 메시지가 없도록 보장하기 위해 OFP_BARRIER_REQUEST로 시작된다. 그 후 매치 필드로서 GTP 확장과 커맨드 필드로서 OFPFC_MODIFY 또는 OFPFC_MODIFY_STRICT를 가진 ofp_match 구조를 포함하는, OFPT_FLOW_MOD 메시지가 발행된다. 필요할 경우, 이 메시지는, 전술한 바와 같이, 적절한 가상 포트를 통하여 패킷들을 캡슐화 및 역캡슐화하는 GTP 터널에 대한 새로운 플로우 경로를 확립하기 위한 액션들 및 명령들을 명시한다. 게다가, TEID 해시 테이블에서 변경들이 요구된다면, OFPT_FLOW_MOD 메시지에 바로 이어서, OpenFlow 컨트롤러는 엔트리를 삭제하기 위한 TP_DEL_TEID_TABLE_ENTRY와 이어서 새로운 엔트리를 설치하기 위한 TP_ADD_TEID_TABLE_ENTRY를 발행한다. 전술한 바와 같이, 이 2개의 OpenFlow 메시지들에 이어서 게이트웨이들에게 처리 전에 플로우 경로 및 TEID 해시 테이블 업데이트를 처리하도록 강요하기 위해 OFPT_BARRIER_REQUEST 메시지가 따라온다.
GTP 라우팅 업데이트 RPC로부터 반환하기 전에, OpenFlow 컨트롤러는 또한 맞춤형 GTP 플로우 라우팅에 관련될 필요가 있는 임의의 GTP 확장된 OpenFlow 스위치(GxOFS)들에 필요한 GTP 플로우 라우팅 업데이트들을 발행한다. 이들 업데이트들 내의 메시지들은 OFP_BARRIER_REQUEST와 이어서 매치 필드로서 새로운 GTP 플로우에 대한 GTP 확장과 커맨드 필드로서 OFPFC_MODIFY 또는 OFPFC_MODIFY_STRICT를 가진 ofp_match 구조를 포함하는 OFPT_FLOW_MOD 메시지와, 필요할 경우, 전술한 바와 같이, 맞춤형 GTP 플로우 라우팅을 위한 액션들 및 명령들로 이루어져 있다. 마지막의 OFP_BARRIER_REQUEST는 스위치에게 응답 전에 변경을 처리하도록 강요한다. 임의의 GxOFS들 상의 플로우 경로들은, 도 20에 예시된 바와 같이, 데이터 플레인 SGSN 상에 GTP 터널 종단점 경로를 설치한 후에 그리고 데이터 플레인 GGSN 상에 GTP 터널 종단점 경로를 설치하기 전에 설치된다. OpenFlow 컨트롤러는 모든 플로우 라우팅 업데이트들이 완수될 때까지는 컨트롤 플레인 GGSN RPC에 응답하지 않는다. RPC들이 반환하면, 컨트롤 플레인 GGSN 및 SGSN은 PDP 컨텍스트 업데이트 메시지들을 반환한다.
GTP 터널들은 세션 삭제 요청 절차를 이용하여 삭제된다. 이 절차는 각종 3G PC 메시지 시퀀스들, 예를 들어, UE 트리거 서비스 요청에서 이용될 수 있다. 도 21은 세션 삭제 요청 절차를 위한 OpenFlow 메시지 시퀀스의 일 실시예를 보여주는 도면이다. 세션 생성 및 수정과 유사하게, 3G PC 클라우드 컨트롤 플레인 SGSN은 PDP 컨텍스트 삭제 요청 메시지를 컨트롤 플레인 GGSN에 발행하고 컨트롤 플레인 GGSN은 터널 삭제 정보를 포함하는 GTP 라우팅 업데이트 RPC를 OpenFlow 컨트롤러에 발행한다. 그 후 OpenFlow 컨트롤러는 GTP 확장된 OpenFlow 메시지들을 데이터 플레인 SGSN, GxOFS들, 및 데이터 플레인 GGSN에 발행한다.
OpenFlow 시그널링은 GTP 라우팅 업데이트 RPC를 호출 측에 반환하기 전에 수행된다. 이 시퀀스는 후속 메시지들의 처리에 영향을 줄 수도 있는 미결 메시지가 없도록 보장하기 위해 OFP_BARRIER_REQUEST로 시작된다. 그 후 매치 필드로서 GTP 확장과 커맨드 필드로서 OFPFC_DELETE 또는 OFPFC_DELETE_STRICT를 가진 ofp_match 구조를 포함하는, OFPT_FLOW_MOD 메시지가 발행된다. 게다가, OFPT_FLOW_MOD 메시지에 바로 이어서, OpenFlow 컨트롤러는 TEID 해시 테이블 엔트리를 삭제하기 위한 GTP_DEL_TEID_TABLE_ENTRY를 발행한다. 전술한 바와 같이, 이 OpenFlow 메시지에 이어서 게이트웨이들에게 처리 전에 플로우 경로 및 TEID 해시 테이블 업데이트를 처리하도록 강요하기 위해 OFPT_BARRIER_REQUEST 메시지가 따라온다.
GTP 라우팅 업데이트 RPC로부터 반환하기 전에, OpenFlow 컨트롤러는 또한 맞춤형 GTP 플로우 라우팅에 관련될 필요가 있는 임의의 GTP 확장된 OpenFlow 스위치들에 필요한 GTP 플로우 라우팅 업데이트들을 발행한다. 이들 업데이트들 내의 메시지들은 OFP_BARRIER_REQUEST와 이어서 매치 필드로서 새로운 GTP 플로우에 대한 GTP 확장과 커맨드 필드로서 OFPFC_DELETE 또는 OFPFC_DELETE_STRICT를 가진 ofp_match 구조를 포함하는 OFPT_FLOW_MOD 메시지로 이루어져 있다. 마지막의 OFP_BARRIER_REQUEST는 스위치에게 응답 전에 변경을 처리하도록 강요한다. 임의의 GxOFS들 상의 플로우 경로들은, 도 21에 예시된 바와 같이, 데이터 플레인 SGSN 상에 GTP 터널 종단점 경로를 설치한 후에 그리고 데이터 플레인 GGSN 상에 GTP 터널 종단점 경로를 설치하기 전에 설치된다. OpenFlow 컨트롤러는 모든 플로우 라우팅 업데이트들이 완수될 때까지는 호출 측에 응답하지 않는다.
대안
구현예들
다른 실시예들에서, 분리된 3G PC 아키텍처는 비-클라우드 및 비-가상화 시스템들에서 구현될 수 있다. 3G PC 아키텍처의 컨트롤 플레인 엔티티들은 단일 서버에 저장되어 실행되거나 임의의 수의 서버들 또는 유사 컴퓨팅 장치들에 분산될 수 있다. 유사하게, 컨트롤 플레인 엔티티들은 가상화 또는 유사 시스템들이 없는 표준 소프트웨어 코드 및 모듈들로서 실행될 수 있다. 이들 컨트롤 플레인 엔티티들은 로컬 시스템 또는 프로시저 호출들, 원격 프로시저 호출들 또는 유사 메커니즘들을 통하여 서로 통신할 수 있다. 추가 실시예들에서, 컨트롤 플레인 엔티티들의 서브세트가 클라우드 컴퓨팅 시스템에서 가상화되거나 실행될 수 있는 반면 컨트롤 플레인 엔티티들의 또 다른 서브세트가 서버, 분산된 서버 시스템 또는 유사 시스템에서 실행될 수 있다. 컨트롤 플레인 엔티티들은 본 명세서에서 전술한 것과 같은 OpenFlow 프로토콜의 사용을 통하여 또는 본 명세서에서 후술하는 것과 같은 다른 컨트롤 프로토콜들을 통하여 데이터 플레인과 통신할 수 있다.
본 명세서에서 전술한 클라우드 컴퓨팅 시스템은 제한으로서 제공되는 것이 아니라 예로서 제공된다. 숙련된 당업자라면 클라우드 컴퓨팅 시스템에 관하여 전술한 원리들 및 특징들은 단일 서버들 또는 분산된 서버 시스템들과 같은 다른 구성들에서도 구현될 수 있다는 것을 이해할 것이다. 전술한 것들과 유사한 원리들 및 특징들이 단일 서버 시스템들, 분산된 서버 시스템들 및 유사 컴퓨팅 환경들에서 구현될 수 있다. 이들 원리들 및 특징들은 클라우드 컴퓨팅 시스템들, 단일 서버들, 분산된 서버 시스템들 및 유사 시스템들의 임의의 조합에서 실행되는 비-가상화 컨트롤 플레인 엔티티들을 포함하는 비-가상화 환경을 이용하여 구현될 수도 있다.
다른 실시예들에서는, 본 명세서에서 설명된 OpenFlow 대신에 다른 컨트롤 프로토콜들이 이용될 수 있다. OpenFlow의 사용은 제한이 아니라 예로서 제시된다. 분리된 3G PC 아키텍처의 데이터 플레인의 구성 및 컨트롤 플레인과 데이터 플레인 간의 통신을 관리하기 위한 다른 컨트롤 프로토콜들이 이용될 수도 있다. 그러한 프로토콜의 일례가, 네트워크들에서 컨트롤 플레인과 포워딩 플레인을 분리하기 위한 IETF 표준 프로토콜인 FORCES이다. FORCES 프로토콜 사양이 RFC 5810에 기술되어 있다. RFC 5812는 OpenFlow 스위치에 상당하는 것인 FORCES 포워딩 요소의 아키텍처를 기술하고 있다. FORCES 프로토콜 자체는 포워딩 요소로의 프로그래밍 경로들을 직접 지원하지 않고, 그것은, 대신에, FORCES 컨트롤러와 FORCES 포워딩 요소 간의 상호 작용을 처리하기 위한 프레임워크이다. 포워딩 요소 아키텍처는 실제로 FORCES 컨트롤러가 FORCES 포워딩 요소를 프로그램하게 해주는 프로토콜을 설계하는 방법을 기술하고 있다. 숙련된 당업자라면 FORCES 기반 시스템이 컨트롤러가 GTP TEID 라우팅을 위해 스위치들을 프로그램할 수 있도록, GTP OpenFlow 확장과 같은, OpenFlow 실시예에 관하여 본 명세서에서 전술한 특징들을 포함할 수 있을 것임을 이해할 것이다.
FORCES 및 OpenFlow는 제한이 아니라 예로서 제시된다. 숙련된 당업자라면 FORCES 및 OpenFlow 프로토콜들에 관하여 전술한 원리들 및 특징들이 다른 유사 컨트롤 프로토콜들에서 구현될 수도 있다는 것을 이해할 것이다.
이렇게 하여, 클라우드 컴퓨팅 시스템에서 3G PC를 구현하기 위한 방법, 시스템 및 장치에 대해 기술하였다. 상기 설명은 제한이 아니라 예시를 위한 것임을 이해해야 할 것이다. 상기 설명을 읽고 이해하는 즉시 숙련된 당업자들에게 다수의 다른 실시예들이 분명할 것이다. 그러므로, 본 발명의 범위는 첨부된 청구항들과 함께, 그러한 청구항들의 자격이 있는 균등물들의 전반적인 범위를 참고로 하여 결정되어야 한다.
Claims (14)
- 분리 아키텍처(split architecture)를 갖는 제3 세대(3G) 네트워크의 패킷 코어(PC)에서 GPRS(general packet radio service) 터널 프로토콜(GTP)을 구현하기 위한 방법으로서 - 상기 3G 네트워크의 PC의 컨트롤 플레인(control plane)은 클라우드 컴퓨팅 시스템에 있고, 상기 클라우드 컴퓨팅 시스템은 컨트롤러를 포함하고, 상기 컨트롤러는 복수의 컨트롤 플레인 모듈을 실행하고, 상기 컨트롤 플레인은 컨트롤 플레인 프로토콜을 통하여 상기 PC의 데이터 플레인과 통신하고, 상기 데이터 플레인은 상기 3G 네트워크의 복수의 네트워크 요소에 구현됨 -,
상기 컨트롤러에 의해, 가입자 세션에 대해 서빙 GPRS 지원 노드(SGSN)와 게이트웨이 GPRS 지원 노드(GGSN) 사이에 상기 3G 네트워크의 PC에서 GTP 터널을 생성하라는 요청을 수신하는 단계;
상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 제1 GTP 터널 종단점(tunnel endpoint)을 확립하도록, 상기 컨트롤 프로토콜을 통해 상기 SGSN의 데이터 플레인을 구현하는 스위치를 구성하는 단계;
상기 GTP 터널에 따라 상기 가입자 세션의 패킷들을 전달하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 GTP 터널의 경로에서 적어도 하나의 스위치를 구성하는 단계; 및
상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 제2 GTP 터널 종단점을 확립하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 GGSN의 데이터 플레인을 구현하는 스위치를 구성하는 단계
를 포함하는 방법. - 제1항에 있어서, 상기 컨트롤러에 의해, GTP 터널을 생성하라는 요청을 수신하는 단계는, 상기 SGSN의 컨트롤 플레인 구성요소로부터 프로토콜 데이터 패킷(PDP) 컨텍스트 생성 요청을 수신하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 컨트롤러에 의해, GTP 터널을 생성하라는 요청을 수신하는 단계는, 상기 GGSN의 컨트롤 플레인 구성요소로부터 GTP 라우팅 업데이트 요청을 수신하는 단계를 더 포함하는 방법.
- 제1항에 있어서,
상기 컨트롤러에 의해, 상기 가입자 세션에 대해 상기 SGSN과 상기 GGSN 사이에 상기 3G 네트워크의 PC에서 상기 GTP 터널을 수정하라는 요청을 수신하는 단계;
상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 상기 제1 GTP 터널 종단점을 수정하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 SGSN의 데이터 플레인을 구현하는 스위치의 구성을 수정하는 단계; 및
상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 상기 제2 GTP 터널 종단점을 수정하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 GGSN의 데이터 플레인을 구현하는 스위치의 구성을 수정하는 단계
를 더 포함하는 방법. - 제4항에 있어서, 상기 GTP 터널에 따른 상기 가입자 세션의 패킷들의 전달을 종료하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 GTP 터널의 경로에서 상기 적어도 하나의 스위치의 구성을 제거하는 단계를 더 포함하는 방법.
- 제5항에 있어서, 상기 GTP 터널에 따라 상기 가입자 세션의 패킷들을 전달하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 GTP 터널의 새로운 경로에서 스위치를 구성하는 단계를 더 포함하는 방법.
- 제1항에 있어서,
상기 컨트롤러에 의해, 상기 가입자 세션에 대해 상기 SGSN과 상기 GGSN 사이에 상기 3G 네트워크의 PC에서 상기 GTP 터널을 삭제하라는 요청을 수신하는 단계;
상기 가입자 세션의 패킷들의 캡슐화 및 역캡슐화를 종료하며 상기 제1 GTP 터널 종단점을 제거하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 SGSN의 데이터 플레인을 구현하는 스위치의 구성을 제거하는 단계; 및
상기 가입자 세션의 패킷들의 캡슐화 및 역캡슐화를 종료하며 상기 제2 GTP 터널 종단점을 제거하도록, 상기 컨트롤 플레인 프로토콜을 통해 상기 GGSN의 데이터 플레인을 구현하는 스위치의 구성을 제거하는 단계
를 더 포함하는 방법. - 분리 아키텍처를 갖는 제3 세대(3G) 네트워크의 패킷 코어(PC)에서 GPRS(general packet radio service) 터널 프로토콜(GTP)의 구현을 관리하기 위한 클라우드 컴퓨팅 시스템으로서 - 상기 3G 네트워크의 PC의 컨트롤 플레인은 상기 클라우드 컴퓨팅 시스템에 있고, 상기 컨트롤 플레인은 컨트롤 플레인 프로토콜을 통하여 상기 PC의 데이터 플레인과 통신하고, 상기 데이터 플레인은 상기 3G 네트워크의 복수의 네트워크 요소에 구현됨 -,
복수의 서버 - 상기 복수의 서버는 서로 통신하며, 상기 PC의 데이터 플레인을 구현하는 상기 복수의 네트워크 요소와 통신하고, 상기 복수의 서버는, 상기 PC의 컨트롤 플레인을 구현하는 복수의 컨트롤 플레인 모듈을 실행하도록 구성된 컨트롤러를 실행하고, 각각의 컨트롤 플레인 모듈은 상기 데이터 플레인을 관리하기 위한 컨트롤 플레인 기능들의 세트를 제공하고, 상기 컨트롤러는, 가입자 세션에 대해 서빙 GPRS 지원 노드(SGSN)와 게이트웨이 GPRS 지원 노드(GGSN) 사이에 상기 3G 네트워크의 PC에서 GTP 터널을 생성하라는 요청을 수신하도록 구성되고, 상기 컨트롤러는, 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 제1 GTP 터널 종단점을 확립하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 SGSN의 데이터 플레인을 구현하는 스위치를 구성하도록 구성되고, 상기 컨트롤러는, 상기 GTP 터널에 따라 상기 가입자 세션의 패킷들을 전달하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 GTP 터널의 경로에서 적어도 하나의 스위치를 구성하도록 구성되고, 상기 컨트롤러는, 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 제2 GTP 터널 종단점을 확립하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 GGSN의 데이터 플레인을 구현하는 스위치를 구성하도록 구성됨 -; 및
상기 컨트롤러에 통신가능하게 연결된 클라우드 관리자 - 상기 클라우드 관리자는 상기 PC의 상기 복수의 컨트롤 플레인 모듈의 실행을 관리하도록 구성됨 -
를 포함하는 클라우드 컴퓨팅 시스템. - 제8항에 있어서, 상기 컨트롤러는, 상기 SGSN의 컨트롤 플레인 구성요소로부터 프로토콜 데이터 패킷(PDP) 컨텍스트 생성 요청으로서 상기 GTP 터널을 생성하라는 요청을 수신하는 클라우드 컴퓨팅 시스템.
- 제8항에 있어서, 상기 컨트롤러는, 상기 GGSN의 컨트롤 플레인 구성요소로부터 GTP 라우팅 업데이트 요청으로서 상기 GTP 터널을 생성하라는 요청을 수신하는 클라우드 컴퓨팅 시스템.
- 제8항에 있어서, 상기 컨트롤러는, 상기 가입자 세션에 대해 상기 SGSN과 상기 GGSN 사이에 상기 3G 네트워크의 PC에서 상기 GTP 터널을 수정하라는 요청을 수신하도록 구성되고, 상기 컨트롤러는, 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 상기 제1 GTP 터널 종단점을 수정하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 SGSN의 데이터 플레인을 구현하는 스위치의 구성을 수정하도록 구성되고, 상기 컨트롤러는, 상기 가입자 세션의 패킷들을 캡슐화 및 역캡슐화하며 상기 제2 GTP 터널 종단점을 수정하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 GGSN의 데이터 플레인을 구현하는 스위치의 구성을 수정하도록 구성되는 클라우드 컴퓨팅 시스템.
- 제11항에 있어서, 상기 컨트롤러는, 상기 GTP 터널에 따른 상기 가입자 세션의 패킷들의 전달을 종료하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 GTP 터널의 경로에서 상기 적어도 하나의 스위치의 구성을 제거하도록 구성되는 클라우드 컴퓨팅 시스템.
- 제12항에 있어서, 상기 컨트롤러는, 상기 GTP 터널에 따라 상기 가입자 세션의 패킷들을 전달하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 GTP 터널의 새로운 경로에서 스위치를 구성하도록 구성되는 클라우드 컴퓨팅 시스템.
- 제8항에 있어서, 상기 컨트롤러는, 상기 컨트롤러에 의해, 상기 가입자 세션에 대해 상기 SGSN과 상기 GGSN 사이에 상기 3G 네트워크의 PC에서 상기 GTP 터널을 삭제하라는 요청을 수신하도록 되어 있고, 상기 컨트롤러는, 상기 가입자 세션의 패킷들의 캡슐화 및 역캡슐화를 종료하며 상기 제1 GTP 터널 종단점을 제거하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 SGSN의 데이터 플레인을 구현하는 스위치의 구성을 제거하도록 구성되고, 상기 컨트롤러는, 상기 가입자 세션의 패킷들의 캡슐화 및 역캡슐화를 종료하며 상기 제2 GTP 터널 종단점을 제거하게, 상기 컨트롤 플레인 프로토콜을 통해 상기 GGSN의 데이터 플레인을 구현하는 스위치의 구성을 제거하도록 구성되는 클라우드 컴퓨팅 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/220,471 US8762501B2 (en) | 2011-08-29 | 2011-08-29 | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
US13/220,471 | 2011-08-29 | ||
PCT/IB2012/053920 WO2013030693A1 (en) | 2011-08-29 | 2012-07-31 | Implementing a 3g packet core in a cloud computer with openflow data and control planes |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140054357A true KR20140054357A (ko) | 2014-05-08 |
KR101900536B1 KR101900536B1 (ko) | 2018-09-19 |
Family
ID=46852328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147007870A KR101900536B1 (ko) | 2011-08-29 | 2012-07-31 | Openflow 데이터 플레인 및 컨트롤 플레인을 갖는 클라우드 컴퓨터에서의 3g 패킷 코어의 구현 |
Country Status (10)
Country | Link |
---|---|
US (1) | US8762501B2 (ko) |
EP (1) | EP2751964B1 (ko) |
JP (1) | JP6092873B2 (ko) |
KR (1) | KR101900536B1 (ko) |
CN (1) | CN103931149B (ko) |
AU (1) | AU2012303738B2 (ko) |
BR (1) | BR112014001861B1 (ko) |
CA (1) | CA2847103C (ko) |
IL (1) | IL230406A (ko) |
WO (1) | WO2013030693A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770012A (zh) * | 2017-10-23 | 2018-03-06 | 中国联合网络通信集团有限公司 | 一种宽带接入方法、装置及虚拟宽带远程接入服务器*** |
Families Citing this family (209)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873398B2 (en) | 2011-05-23 | 2014-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing EPC in a cloud computer with openflow data plane |
CN107071087B (zh) | 2011-08-17 | 2021-01-26 | Nicira股份有限公司 | 逻辑l3路由 |
AU2012296330B2 (en) | 2011-08-17 | 2016-03-17 | Nicira, Inc. | Hierarchical controller clusters for interconnecting different logical domains |
US9167501B2 (en) | 2011-08-29 | 2015-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
WO2013042374A1 (en) * | 2011-09-21 | 2013-03-28 | Nec Corporation | Communication apparatus, control apparatus, communication system, communication control method, and program |
US20140233392A1 (en) * | 2011-09-21 | 2014-08-21 | Nec Corporation | Communication apparatus, communication system, communication control method, and program |
US9112812B2 (en) * | 2011-09-22 | 2015-08-18 | Embrane, Inc. | Distributed virtual appliance |
US9137107B2 (en) | 2011-10-25 | 2015-09-15 | Nicira, Inc. | Physical controllers for converting universal flows |
US9288104B2 (en) | 2011-10-25 | 2016-03-15 | Nicira, Inc. | Chassis controllers for converting universal flows |
US9178833B2 (en) | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
US9203701B2 (en) | 2011-10-25 | 2015-12-01 | Nicira, Inc. | Network virtualization apparatus and method with scheduling capabilities |
EP2777219B1 (en) * | 2011-11-09 | 2016-08-17 | Nec Corporation | Method and system for supporting transport of data packets in a network |
US8966024B2 (en) | 2011-11-15 | 2015-02-24 | Nicira, Inc. | Architecture of networks with middleboxes |
CN103166866B (zh) * | 2011-12-12 | 2016-08-03 | 华为技术有限公司 | 生成表项的方法、接收报文的方法及相应装置和*** |
US8849949B1 (en) * | 2012-01-05 | 2014-09-30 | Google Inc. | Providing proxy service during access switch control plane software upgrade |
US9584409B2 (en) * | 2012-02-20 | 2017-02-28 | Nec Corporation | Network system and method of improving resource utilization |
US10390259B2 (en) * | 2012-02-28 | 2019-08-20 | Nokia Solutions And Networks Oy | Data forwarding in a mobile communications network system with centralized gateway apparatus controlling distributed gateway elements |
WO2013128915A1 (en) * | 2012-02-29 | 2013-09-06 | Nec Corporation | Communication apparatus, communication method, communication system and program |
US9184981B2 (en) * | 2012-03-09 | 2015-11-10 | Futurewei Technologies, Inc. | System and apparatus for distributed mobility management based network layer virtual machine mobility protocol |
US9679132B2 (en) * | 2012-04-16 | 2017-06-13 | Hewlett Packard Enterprise Development Lp | Filtering access to network content |
CN104081734B (zh) | 2012-04-18 | 2018-01-30 | Nicira股份有限公司 | 利用事务使分布式网络控制***中的波动降至最小 |
WO2013168737A1 (ja) * | 2012-05-09 | 2013-11-14 | 日本電気株式会社 | 通信システム、制御装置、通信方法及びプログラム |
US9374301B2 (en) * | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
WO2014000304A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 一种控制和转发解耦架构下的转发面隧道资源的管理方法 |
US9451393B1 (en) * | 2012-07-23 | 2016-09-20 | Amazon Technologies, Inc. | Automated multi-party cloud connectivity provisioning |
WO2014019205A1 (zh) * | 2012-08-02 | 2014-02-06 | 华为技术有限公司 | 处理数据报文的方法、装置及*** |
US9210079B2 (en) | 2012-08-14 | 2015-12-08 | Vmware, Inc. | Method and system for virtual and physical network integration |
US9104492B2 (en) * | 2012-09-04 | 2015-08-11 | Wisconsin Alumni Research Foundation | Cloud-based middlebox management system |
US9210615B2 (en) * | 2012-09-17 | 2015-12-08 | Brocade Communications Systems, Inc. | Method and system for elastic and resilient 3G/4G mobile packet networking for subscriber data flow using virtualized switching and forwarding |
CN103716881B (zh) * | 2012-10-08 | 2018-08-14 | 华为技术有限公司 | 空口信息处理***、方法及设备 |
US10104004B2 (en) * | 2012-11-08 | 2018-10-16 | Texas Instruments Incorporated | Openflow match and action pipeline structure |
US9042252B2 (en) * | 2012-11-13 | 2015-05-26 | Netronome Systems, Incorporated | Inter-packet interval prediction learning algorithm |
US9258218B2 (en) * | 2012-11-30 | 2016-02-09 | Alcatel Lucent | Software-defined network overlay |
CN104022968B (zh) * | 2013-02-28 | 2017-06-27 | 华为终端有限公司 | 一种基于多链路的数据传输方法及设备 |
WO2014131462A1 (en) * | 2013-03-01 | 2014-09-04 | Nokia Solutions And Networks Oy | Software defined networking for edge nodes |
US9825848B2 (en) | 2013-03-14 | 2017-11-21 | Nec Corporation | Communication network and data transmission and reception method thereof |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9444748B2 (en) * | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
CN104247363B (zh) * | 2013-03-28 | 2017-03-29 | 华为技术有限公司 | 一种报文传输的方法与交换设备和控制器 |
US20140301226A1 (en) * | 2013-04-09 | 2014-10-09 | Electronics And Telecommunications Research Institute | Apparatus and method for network monitoring and packet inspection |
JP6036506B2 (ja) * | 2013-04-15 | 2016-11-30 | 富士通株式会社 | 障害影響範囲を特定するためのプログラム及び情報処理装置 |
KR20140135000A (ko) | 2013-05-15 | 2014-11-25 | 삼성전자주식회사 | 소프트웨어정의네트워킹 기반 통신시스템의 서비스 처리 방법 및 장치 |
EP2978277B1 (en) * | 2013-05-20 | 2020-06-03 | Huawei Technologies Co., Ltd. | Data transmission methods and gateways |
US9271197B2 (en) * | 2013-05-22 | 2016-02-23 | Futurewei Technologies, Inc. | System and method for distributed evolved packet core architecture |
US9226333B2 (en) | 2013-06-07 | 2015-12-29 | Alcatel Lucent | Virtualization of control plane functions of a wireless core packet network |
WO2014201160A1 (en) * | 2013-06-11 | 2014-12-18 | Huawei Technologies Co., Ltd. | System and method for coordinated remote control of network radio nodes and core network elements |
US9843624B1 (en) * | 2013-06-13 | 2017-12-12 | Pouya Taaghol | Distributed software defined networking |
CN104243299B (zh) * | 2013-06-14 | 2019-07-02 | 中兴通讯股份有限公司 | 一种隧道处理方法及***、控制面设备、转发面设备 |
US9882733B2 (en) * | 2013-06-14 | 2018-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Migrating eMBMS into a cloud computing system |
JP5724046B1 (ja) * | 2013-06-19 | 2015-05-27 | ソフトバンクテレコム株式会社 | 通信システムおよびプログラム |
CN103347013B (zh) * | 2013-06-21 | 2016-02-10 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络***和方法 |
US9398121B1 (en) * | 2013-06-24 | 2016-07-19 | Amazon Technologies, Inc. | Selecting among virtual networking protocols |
KR102129481B1 (ko) | 2013-06-27 | 2020-07-02 | 에스케이텔레콤 주식회사 | 컨텐츠 전송 시스템에서 데이터 처리를 위한 장치 및 이를 위한 방법 |
US9325630B2 (en) | 2013-07-05 | 2016-04-26 | Red Hat, Inc. | Wild card flows for switches and virtual switches based on hints from hypervisors |
CN104284385B (zh) * | 2013-07-05 | 2018-02-23 | 华为技术有限公司 | 用于数据转发的设备和方法 |
US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9667447B2 (en) | 2013-07-08 | 2017-05-30 | Nicira, Inc. | Managing context identifier assignment across multiple physical domains |
US10218564B2 (en) | 2013-07-08 | 2019-02-26 | Nicira, Inc. | Unified replication mechanism for fault-tolerance of state |
EP3758307A1 (en) | 2013-07-10 | 2020-12-30 | Huawei Technologies Co., Ltd. | Method for implementing gre tunnel, access point and gateway |
WO2015004922A1 (ja) * | 2013-07-11 | 2015-01-15 | 日本電気株式会社 | 通信システム、サービングゲートウェイ、その通信方法および基地局 |
WO2015004921A1 (ja) * | 2013-07-11 | 2015-01-15 | 日本電気株式会社 | 通信システム、通信装置、その制御方法および制御装置 |
US9407580B2 (en) | 2013-07-12 | 2016-08-02 | Nicira, Inc. | Maintaining data stored with a packet |
CN106453027B (zh) * | 2013-07-12 | 2019-08-20 | 华为技术有限公司 | Gre隧道实现方法、接入设备和汇聚网关 |
US9197529B2 (en) | 2013-07-12 | 2015-11-24 | Nicira, Inc. | Tracing network packets through logical and physical networks |
US9282019B2 (en) | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
US9461967B2 (en) * | 2013-07-18 | 2016-10-04 | Palo Alto Networks, Inc. | Packet classification for network routing |
US10868856B2 (en) | 2013-07-19 | 2020-12-15 | Nokia Solutions And Networks Oy | Network element and method of running applications in a cloud computing system |
CN103391296B (zh) * | 2013-07-29 | 2016-08-24 | 北京华为数字技术有限公司 | 一种控制器、转发器及通道建立方法和*** |
CN104378749B (zh) | 2013-08-12 | 2020-03-10 | 中兴通讯股份有限公司 | 基于sdn epc网络的计费实现方法与*** |
CN104378249B (zh) * | 2013-08-13 | 2019-06-11 | 中兴通讯股份有限公司 | 数据链路的检测方法、装置、***、控制器及网关 |
CN104378250B (zh) * | 2013-08-13 | 2019-06-25 | 中兴通讯股份有限公司 | 数据链路的检测方法、装置、***、控制器及网关 |
US9973382B2 (en) | 2013-08-15 | 2018-05-15 | Nicira, Inc. | Hitless upgrade for network control applications |
JP6288633B2 (ja) * | 2013-08-23 | 2018-03-07 | 学校法人東京電機大学 | ネットワーク制御方法 |
US9531676B2 (en) | 2013-08-26 | 2016-12-27 | Nicira, Inc. | Proxy methods for suppressing broadcast traffic in a network |
CN104426815B (zh) * | 2013-08-27 | 2019-07-09 | 中兴通讯股份有限公司 | 一种sdn中流表下发的方法和***、of控制器和of交换机 |
US9924455B2 (en) * | 2013-09-12 | 2018-03-20 | Huawei Technologies Co., Ltd. | System and method for virtual user-specific service gateways |
US10212022B2 (en) * | 2013-09-13 | 2019-02-19 | Microsoft Technology Licensing, Llc | Enhanced network virtualization using metadata in encapsulation header |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US20150085868A1 (en) * | 2013-09-25 | 2015-03-26 | Cavium, Inc. | Semiconductor with Virtualized Computation and Switch Resources |
US9785455B2 (en) | 2013-10-13 | 2017-10-10 | Nicira, Inc. | Logical router |
CN104580021B (zh) * | 2013-10-17 | 2018-07-13 | 华为技术有限公司 | 一种配置点连接信息的获取方法及装置 |
US9225641B2 (en) | 2013-10-30 | 2015-12-29 | Globalfoundries Inc. | Communication between hetrogenous networks |
CN104639470B (zh) * | 2013-11-14 | 2019-05-31 | 中兴通讯股份有限公司 | 流标识封装方法及*** |
US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
US9548924B2 (en) | 2013-12-09 | 2017-01-17 | Nicira, Inc. | Detecting an elephant flow based on the size of a packet |
JP6932118B2 (ja) * | 2013-12-11 | 2021-09-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | パケット処理方法および装置 |
CN108712338B (zh) | 2013-12-11 | 2021-06-22 | 华为技术有限公司 | 报文处理方法及装置 |
US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
US9294524B2 (en) | 2013-12-16 | 2016-03-22 | Nicira, Inc. | Mapping virtual machines from a private network to a multi-tenant public datacenter |
US9380002B2 (en) * | 2013-12-17 | 2016-06-28 | Anue Systems, Inc. | Pre-sorter systems and methods for distributing GTP packets |
US9363178B2 (en) * | 2013-12-18 | 2016-06-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
CN104735000A (zh) * | 2013-12-23 | 2015-06-24 | 中兴通讯股份有限公司 | OpenFlow信令控制方法及装置 |
EP3086513B1 (en) * | 2013-12-23 | 2020-07-29 | Huawei Technologies Co., Ltd. | Message processing method and gateway |
RU2652440C2 (ru) | 2013-12-31 | 2018-04-26 | Хуавей Текнолоджиз Ко., Лтд. | Способ передачи пакетов, устройство и система связи |
US9967181B2 (en) | 2014-01-13 | 2018-05-08 | Futurewei Technologies, Inc. | Packet labeling in a virtual network |
EP3097669B1 (en) * | 2014-01-20 | 2019-04-24 | Telefonaktiebolaget LM Ericsson (publ) | Method, nodes and computer program for enabling of data traffic separation |
US10484307B2 (en) * | 2014-01-20 | 2019-11-19 | Nokia Solutions And Networks Oy | Method of operating a network entity |
CN105009544B (zh) | 2014-01-23 | 2018-04-20 | 华为技术有限公司 | 报文的隧道处理方法、交换设备及控制设备 |
CN104811403B (zh) * | 2014-01-27 | 2019-02-26 | 中兴通讯股份有限公司 | 基于开放流的组表处理方法、装置及组表配置单元 |
US10263903B2 (en) * | 2014-02-05 | 2019-04-16 | Ibasis, Inc. | Method and apparatus for managing communication flow in an inter-network system |
US9629018B2 (en) | 2014-02-05 | 2017-04-18 | Ibasis, Inc. | Method and apparatus for triggering management of communication flow in an inter-network system |
US9473414B2 (en) * | 2014-02-06 | 2016-10-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for supporting packet prioritization at a data network |
CN103747502B (zh) * | 2014-02-18 | 2017-06-23 | 中国联合网络通信集团有限公司 | 一种gtp隧道的处理方法及*** |
US10432518B2 (en) * | 2014-02-21 | 2019-10-01 | Nokia Solutions And Networks Oy | Packet flow optimization in a network |
CN104869064B (zh) * | 2014-02-21 | 2018-03-16 | 华为技术有限公司 | 一种流表更新方法及装置 |
US9473385B2 (en) | 2014-03-11 | 2016-10-18 | Sprint Communications Company L.P. | Control of long term evolution (LTE) virtual network elements based on radio network tunnels |
JP2015177430A (ja) * | 2014-03-17 | 2015-10-05 | 日本電気株式会社 | トンネルエンドポイント装置、通信装置、通信システム、通信方法及びプログラム |
JP6287443B2 (ja) * | 2014-03-26 | 2018-03-07 | 富士通株式会社 | 制御装置、及びそのテーブル作成方法 |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US9385954B2 (en) | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
US10193806B2 (en) | 2014-03-31 | 2019-01-29 | Nicira, Inc. | Performing a finishing operation to improve the quality of a resulting hash |
US9985896B2 (en) | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
US20150289299A1 (en) | 2014-04-03 | 2015-10-08 | Qualcomm Incorporated | Multichannel link aggregation with tdls |
EP3130133B1 (en) * | 2014-04-11 | 2019-11-06 | Nokia Solutions and Networks GmbH & Co. KG | Multi tenancy in software defined networking |
CN106464583A (zh) * | 2014-05-05 | 2017-02-22 | 瑞典爱立信有限公司 | 实现具有开放流数据和控制平面的云计算机中的3g分组核心 |
US9602422B2 (en) | 2014-05-05 | 2017-03-21 | Nicira, Inc. | Implementing fixed points in network state updates using generation numbers |
US9491031B2 (en) * | 2014-05-06 | 2016-11-08 | At&T Intellectual Property I, L.P. | Devices, methods, and computer readable storage devices for collecting information and sharing information associated with session flows between communication devices and servers |
US9742881B2 (en) | 2014-06-30 | 2017-08-22 | Nicira, Inc. | Network virtualization using just-in-time distributed capability for classification encoding |
US9331905B1 (en) * | 2014-07-10 | 2016-05-03 | Sprint Communication Company L.P. | Configuring ethernet elements via ethernet local management interface |
CN105337854B (zh) * | 2014-07-14 | 2018-10-26 | 杭州迪普科技股份有限公司 | 一种路由信息转发方法及装置 |
CN104219149B (zh) * | 2014-08-26 | 2018-07-13 | 新华三技术有限公司 | 一种基于虚连接的报文传输方法和设备 |
CN106664258A (zh) * | 2014-08-29 | 2017-05-10 | 柏思科技有限公司 | 通过聚合连接传输数据包的方法和*** |
US10735372B2 (en) | 2014-09-02 | 2020-08-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Network node and method for handling a traffic flow related to a local service cloud |
CN104168203A (zh) * | 2014-09-03 | 2014-11-26 | 上海斐讯数据通信技术有限公司 | 一种基于流表的处理方法及*** |
CN105637918B (zh) * | 2014-09-22 | 2019-06-28 | 华为技术有限公司 | 一种移动网络扁平化的实现装置、方法及*** |
US9826436B2 (en) | 2014-09-29 | 2017-11-21 | At&T Intellectual Property I, L.P. | Facilitation of mobility management across various radio technologies |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US10250443B2 (en) | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US10511458B2 (en) | 2014-09-30 | 2019-12-17 | Nicira, Inc. | Virtual distributed bridging |
US9652277B2 (en) | 2014-10-03 | 2017-05-16 | At&T Intellectual Property I, L.P. | Scalable network function virtualization |
US10469342B2 (en) | 2014-10-10 | 2019-11-05 | Nicira, Inc. | Logical network traffic analysis |
US9438534B2 (en) * | 2014-10-14 | 2016-09-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for data set migration over a circuit switching network |
KR102012571B1 (ko) | 2014-10-17 | 2019-10-21 | 인텔 아이피 코포레이션 | 셀룰러 네트워크에서의 플렉시블 모바일 스티어링을 위한 방법 및 장치 |
US10091082B2 (en) | 2014-11-28 | 2018-10-02 | At&T Intellectual Property I, L.P. | Methods and apparatus to capture data plane information |
BR112017012218A2 (pt) | 2014-12-09 | 2017-12-26 | Huawei Tech Co Ltd | método e aparelho para processamento de tabela de fluxo adaptativo |
WO2016091322A1 (en) | 2014-12-12 | 2016-06-16 | Telefonaktiebolaget Lm Ericsson (Publ) | A method and node for handling control plane signaling |
CN104579898A (zh) * | 2015-01-26 | 2015-04-29 | 中国联合网络通信集团有限公司 | 一种租户隔离方法及*** |
CN104580505A (zh) * | 2015-01-26 | 2015-04-29 | 中国联合网络通信集团有限公司 | 一种租户隔离方法及*** |
US10505834B2 (en) * | 2015-03-27 | 2019-12-10 | Gigamon Inc. | Session aware adaptive packet filtering |
WO2016160007A1 (en) * | 2015-04-01 | 2016-10-06 | Nokia Solutions And Networks Oy | Method and apparatus for flow control |
US9967134B2 (en) | 2015-04-06 | 2018-05-08 | Nicira, Inc. | Reduction of network churn based on differences in input state |
WO2016199874A1 (ja) | 2015-06-10 | 2016-12-15 | 株式会社ソラコム | 複数のsimカードを利用するための管理方法及び管理サーバ |
EP3310008B1 (en) | 2015-06-10 | 2021-02-17 | Soracom, Inc. | Communication system and communication method for providing ip network access to wireless terminals |
JP5938498B1 (ja) * | 2015-06-25 | 2016-06-22 | 株式会社ソラコム | 無線端末に外部ネットワークへのアクセスを提供するための通信システム及び通信方法 |
CN112187645B (zh) | 2015-06-30 | 2021-12-03 | 华为技术有限公司 | 一种路由的方法、相关设备及*** |
US10225184B2 (en) | 2015-06-30 | 2019-03-05 | Nicira, Inc. | Redirecting traffic in a virtual distributed router environment |
JP6409974B2 (ja) | 2015-07-17 | 2018-10-24 | 日本電気株式会社 | 通信システム、通信装置、通信方法、端末、プログラム |
CN105119820B (zh) * | 2015-07-23 | 2018-01-02 | 中国人民解放军信息工程大学 | 路由协议多实例并行执行***及其并行执行方法 |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
CN106385365B (zh) | 2015-08-07 | 2019-09-06 | 新华三技术有限公司 | 基于开放流Openflow表实现云平台安全的方法和装置 |
TWI562661B (en) | 2015-08-27 | 2016-12-11 | Ind Tech Res Inst | Cell and method and system for bandwidth management of backhaul network of cell |
US9806983B2 (en) | 2015-09-14 | 2017-10-31 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | System and method for control flow management in software defined networks |
JP5938507B1 (ja) * | 2015-09-18 | 2016-06-22 | 株式会社ソラコム | 無線端末に外部ネットワークへのアクセスを提供するための通信システム及び通信方法 |
WO2017053303A1 (en) * | 2015-09-23 | 2017-03-30 | Google Inc. | Systems and methods for mobility management in a distributed software defined network packet core system |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US11113085B2 (en) | 2015-09-30 | 2021-09-07 | Nicira, Inc. | Virtual network abstraction |
US9871731B2 (en) | 2015-09-30 | 2018-01-16 | Microsoft Technology Licensing, Llc | Data plane manipulation in a load balancer |
WO2017062065A1 (en) * | 2015-10-09 | 2017-04-13 | Intel IP Corporation | Network initiated packet data network connection |
WO2017075046A1 (en) * | 2015-10-26 | 2017-05-04 | Nokia Solutions And Networks Oy | Method and apparatus for virtualized network function decomposition |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
EP3454588B1 (en) * | 2016-05-20 | 2023-06-07 | Huawei Technologies Co., Ltd. | Method and device for transmitting messages |
US10979890B2 (en) | 2016-09-09 | 2021-04-13 | Ibasis, Inc. | Policy control framework |
US11895177B2 (en) | 2016-09-30 | 2024-02-06 | Wisconsin Alumni Research Foundation | State extractor for middlebox management system |
US10439932B2 (en) * | 2016-10-05 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | System and method for flow rule management in software-defined networks |
CN106453086B (zh) * | 2016-10-17 | 2019-07-09 | 上海赛特斯信息科技股份有限公司 | 基于mpls l2vpn业务的标签报文控制面整合方法 |
CN109417741B (zh) * | 2016-11-16 | 2021-01-29 | 华为技术有限公司 | 数据迁移方法及装置 |
US10805239B2 (en) | 2017-03-07 | 2020-10-13 | Nicira, Inc. | Visualization of path between logical network endpoints |
US10820190B2 (en) | 2017-03-30 | 2020-10-27 | Ibasis, Inc. | eSIM profile switching without SMS |
US10511523B1 (en) * | 2017-05-15 | 2019-12-17 | Barefoot Networks, Inc. | Network forwarding element with data plane packet snapshotting capabilities |
US10855694B2 (en) | 2017-05-30 | 2020-12-01 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Methods, systems, and computer readable media for monitoring encrypted packet flows within a virtual network environment |
US10630552B2 (en) | 2017-06-08 | 2020-04-21 | Huawei Technologies Co., Ltd. | Wireless communication access node (WCAN) device based policy enforcement and statistics collection in anchorless communication systems |
US10541909B2 (en) * | 2017-06-23 | 2020-01-21 | International Business Machines Corporation | Distributed affinity tracking for network connections |
US10524116B2 (en) | 2017-06-27 | 2019-12-31 | Ibasis, Inc. | Internet of things services architecture |
US10903985B2 (en) | 2017-08-25 | 2021-01-26 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques |
US10992652B2 (en) | 2017-08-25 | 2021-04-27 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Methods, systems, and computer readable media for monitoring encrypted network traffic flows |
CN109428792B (zh) * | 2017-08-29 | 2021-12-14 | 中兴通讯股份有限公司 | 一种用户宽带接入处理的方法及装置、设备 |
US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
US10374827B2 (en) | 2017-11-14 | 2019-08-06 | Nicira, Inc. | Identifier that maps to different networks at different datacenters |
US10511459B2 (en) | 2017-11-14 | 2019-12-17 | Nicira, Inc. | Selection of managed forwarding element for bridge spanning multiple datacenters |
US10404597B2 (en) | 2017-11-30 | 2019-09-03 | Keysight Technologies, Inc. | Virtual horizontally-scalable packet broker systems and methods for distribution of session-based network traffic |
US10673764B2 (en) | 2018-05-22 | 2020-06-02 | International Business Machines Corporation | Distributed affinity tracking for network connections |
US10893030B2 (en) | 2018-08-10 | 2021-01-12 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element |
US20210092103A1 (en) * | 2018-10-02 | 2021-03-25 | Arista Networks, Inc. | In-line encryption of network data |
CN109918109B (zh) * | 2019-03-12 | 2022-07-19 | 赛特斯信息科技股份有限公司 | 针对sd-wan***实现软件版本平滑升级功能的***及方法 |
EP3991366A1 (en) | 2019-07-31 | 2022-05-04 | Huawei Technologies Co., Ltd. | Transporting a multi-transport network context-identifier (mtnc-id) across multiple domains |
WO2021021169A1 (en) | 2019-07-31 | 2021-02-04 | Huawei Technologies Co., Ltd | Transporting mtnc-id over srv6-enabled dataplane for 5g transport |
US20220247719A1 (en) * | 2019-09-24 | 2022-08-04 | Pribit Technology, Inc. | Network Access Control System And Method Therefor |
US11283699B2 (en) | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
DE112020005657T5 (de) | 2020-01-21 | 2022-10-27 | Mitsubishi Electric Corporation | Steuerung, Kommunikationsvorrichtung, Kommunikationssystem, Steuerschaltung, Speichermedium und Kommunikationsverfahren |
US11190417B2 (en) | 2020-02-04 | 2021-11-30 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for processing network flow metadata at a network packet broker |
US11496437B2 (en) | 2020-04-06 | 2022-11-08 | Vmware, Inc. | Selective ARP proxy |
US11558426B2 (en) | 2020-07-29 | 2023-01-17 | Vmware, Inc. | Connection tracking for container cluster |
US11570090B2 (en) | 2020-07-29 | 2023-01-31 | Vmware, Inc. | Flow tracing operation in container cluster |
US11196628B1 (en) | 2020-07-29 | 2021-12-07 | Vmware, Inc. | Monitoring container clusters |
US11736436B2 (en) | 2020-12-31 | 2023-08-22 | Vmware, Inc. | Identifying routes with indirect addressing in a datacenter |
US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
CN113098775B (zh) * | 2021-03-28 | 2022-04-22 | 杭州迪普信息技术有限公司 | 流量分流方法及装置 |
US11805101B2 (en) | 2021-04-06 | 2023-10-31 | Vmware, Inc. | Secured suppression of address discovery messages |
CN113572634B (zh) * | 2021-06-22 | 2023-04-07 | 济南浪潮数据技术有限公司 | 一种实现云内网络与云外网络二层互通的方法及*** |
US11687210B2 (en) | 2021-07-05 | 2023-06-27 | Vmware, Inc. | Criteria-based expansion of group nodes in a network topology visualization |
US11711278B2 (en) | 2021-07-24 | 2023-07-25 | Vmware, Inc. | Visualization of flow trace operation across multiple sites |
US11677645B2 (en) | 2021-09-17 | 2023-06-13 | Vmware, Inc. | Traffic monitoring |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008044283A1 (fr) * | 2006-10-10 | 2008-04-17 | Panasonic Corporation | Appareil de station radio fixe |
US20110004913A1 (en) * | 2007-07-31 | 2011-01-06 | Symbol Technologies, Inc. | Architecture for seamless enforcement of security policies when roaming across ip subnets in ieee 802.11 wireless networks |
US20110082941A1 (en) * | 2009-10-06 | 2011-04-07 | Electronics And Telecommunications Research Institute | Method of providing direct communication in internet protocol network |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6765591B2 (en) * | 1999-04-02 | 2004-07-20 | Nortel Networks Limited | Managing a virtual private network |
US7103002B2 (en) * | 2000-07-12 | 2006-09-05 | Telefonktiebolaget Lm Ericsson (Publ) | Communication management in networks having split control planes and user planes |
US7149195B2 (en) * | 2001-08-28 | 2006-12-12 | Nokia Corporation | Apparatus, and associated method, for multicasting data in a radio communications system |
US20030126435A1 (en) * | 2001-12-28 | 2003-07-03 | Mizell Jerry L. | Method, mobile telecommunication network, and node for authenticating an originator of a data transfer |
GR1004638B (el) * | 2003-07-08 | 2004-07-23 | ATMELCorporation | Μεθοδοσακαιασυστηματαααδιαλειπτησακινητικοτητασακινητωνατερματικωναεντοσαασυρματουαδικτυουαα |
DE60308029T2 (de) * | 2003-09-11 | 2006-12-21 | Alcatel | Anmeldung eines Dualmodusendgerätes in einem zellularen Netzwerk und einem WLAN Netzwerk |
US7616613B2 (en) * | 2004-05-05 | 2009-11-10 | Cisco Technology, Inc. | Internet protocol authentication in layer-3 multipoint tunneling for wireless access points |
US8031719B2 (en) * | 2005-01-19 | 2011-10-04 | Alcatel Lucent | System, node, and method optimizing data connections for packet services |
EP1705858A1 (en) * | 2005-03-24 | 2006-09-27 | Orange SA | Method and system for activation of a packet data protocol context |
EP2247038B1 (en) * | 2005-12-31 | 2015-04-22 | Huawei Technologies Co., Ltd. | A method and a system for optimizing radio network layer to implement the network interconnection, and a method for interconnection between the radio network and the wired network |
CN102685879B (zh) * | 2007-08-20 | 2015-03-25 | 华为技术有限公司 | 一种用户设备去附着的方法 |
EP2193630B1 (en) * | 2007-09-26 | 2015-08-26 | Nicira, Inc. | Network operating system for managing and securing networks |
US8902733B2 (en) * | 2008-12-02 | 2014-12-02 | Nec Corporation | Communication network management system, method and program, and management computer |
WO2010099513A2 (en) | 2009-02-27 | 2010-09-02 | Coach Wei | Adaptive network with automatic scaling |
CA3204215A1 (en) * | 2009-04-01 | 2010-10-07 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
US7937438B1 (en) * | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
US7953865B1 (en) * | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US7991859B1 (en) * | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
CN102149213B (zh) * | 2010-02-10 | 2014-02-12 | 邬学农 | 一种基于gtp协议的中继传输方法及其*** |
US8862714B2 (en) * | 2010-03-15 | 2014-10-14 | Electronics And Telecommunications Research Institute | Apparatus and method for virtualizing of network device |
US8856300B2 (en) | 2010-05-18 | 2014-10-07 | At&T Intellectual Property I, L.P. | End-to-end secure cloud computing |
US8989187B2 (en) * | 2010-06-04 | 2015-03-24 | Coraid, Inc. | Method and system of scaling a cloud computing network |
US8897134B2 (en) * | 2010-06-25 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
US20120221700A1 (en) | 2010-08-26 | 2012-08-30 | Kddi Corporation | System, Method and Program for Telecom Infrastructure Virtualization and Management |
US8873398B2 (en) * | 2011-05-23 | 2014-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing EPC in a cloud computer with openflow data plane |
-
2011
- 2011-08-29 US US13/220,471 patent/US8762501B2/en active Active
-
2012
- 2012-07-31 CN CN201280042298.1A patent/CN103931149B/zh active Active
- 2012-07-31 EP EP12759520.5A patent/EP2751964B1/en active Active
- 2012-07-31 WO PCT/IB2012/053920 patent/WO2013030693A1/en active Application Filing
- 2012-07-31 BR BR112014001861-8A patent/BR112014001861B1/pt active IP Right Grant
- 2012-07-31 CA CA2847103A patent/CA2847103C/en active Active
- 2012-07-31 AU AU2012303738A patent/AU2012303738B2/en active Active
- 2012-07-31 KR KR1020147007870A patent/KR101900536B1/ko active IP Right Grant
- 2012-07-31 JP JP2014527759A patent/JP6092873B2/ja active Active
-
2014
- 2014-01-12 IL IL230406A patent/IL230406A/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008044283A1 (fr) * | 2006-10-10 | 2008-04-17 | Panasonic Corporation | Appareil de station radio fixe |
US20110004913A1 (en) * | 2007-07-31 | 2011-01-06 | Symbol Technologies, Inc. | Architecture for seamless enforcement of security policies when roaming across ip subnets in ieee 802.11 wireless networks |
US20110082941A1 (en) * | 2009-10-06 | 2011-04-07 | Electronics And Telecommunications Research Institute | Method of providing direct communication in internet protocol network |
Non-Patent Citations (4)
Title |
---|
3GPP TR 23.873 v.4.0.0, Feasibility Study for Transport and Control Separation in the PS CN Domain (Release 4) (2001.03.) * |
McKeown, Nick, et al., "OpenFlow: Enabling Innovation in Campus Networks", ACM SIGCOMM Computer Communication Review (2008.) * |
논문:(2008) * |
비특허문헌:(2001) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770012A (zh) * | 2017-10-23 | 2018-03-06 | 中国联合网络通信集团有限公司 | 一种宽带接入方法、装置及虚拟宽带远程接入服务器*** |
Also Published As
Publication number | Publication date |
---|---|
AU2012303738A1 (en) | 2014-03-20 |
BR112014001861B1 (pt) | 2022-03-29 |
AU2012303738B2 (en) | 2016-07-28 |
CA2847103A1 (en) | 2013-03-07 |
KR101900536B1 (ko) | 2018-09-19 |
JP2014531792A (ja) | 2014-11-27 |
IL230406A (en) | 2016-05-31 |
CN103931149A (zh) | 2014-07-16 |
BR112014001861A2 (pt) | 2017-02-21 |
WO2013030693A1 (en) | 2013-03-07 |
CA2847103C (en) | 2019-08-20 |
CN103931149B (zh) | 2016-10-05 |
US8762501B2 (en) | 2014-06-24 |
EP2751964A1 (en) | 2014-07-09 |
JP6092873B2 (ja) | 2017-03-08 |
EP2751964B1 (en) | 2017-01-18 |
US20130054761A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101900536B1 (ko) | Openflow 데이터 플레인 및 컨트롤 플레인을 갖는 클라우드 컴퓨터에서의 3g 패킷 코어의 구현 | |
US9497661B2 (en) | Implementing EPC in a cloud computer with openflow data plane | |
EP2831733B1 (en) | Implementing epc in a cloud computer with openflow data plane | |
US9167501B2 (en) | Implementing a 3G packet core in a cloud computer with openflow data and control planes | |
US11438267B2 (en) | Method and system for service switching using service tags | |
EP3140964B1 (en) | Implementing a 3g packet core in a cloud computer with openflow data and control planes | |
US11184842B2 (en) | Conveying non-access stratum messages over ethernet | |
US9380111B2 (en) | Feature peer network with scalable state information | |
US9003057B2 (en) | System and method for exchanging information in a mobile wireless network environment | |
US8675669B2 (en) | Policy homomorphic network extension |
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 |