KR20130126833A - 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 - Google Patents
네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 Download PDFInfo
- Publication number
- KR20130126833A KR20130126833A KR1020120046515A KR20120046515A KR20130126833A KR 20130126833 A KR20130126833 A KR 20130126833A KR 1020120046515 A KR1020120046515 A KR 1020120046515A KR 20120046515 A KR20120046515 A KR 20120046515A KR 20130126833 A KR20130126833 A KR 20130126833A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- interface
- logical
- physical
- logical interface
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
네트워크 가상화 서비스를 제공하기 위한 가상 스위치와 입력 패킷의 고속 스위칭 방법이 제공된다. 입력 패킷의 정보를 효율적으로 이용하여 물리 인터페이스와 논리 인터페이스 사이에서, 또는 논리 인터페이스 상호 간에 패킷을 고속으로 전송한다.
Description
본 발명은 네트워크 가상화를 위한 패킷 고속 스위칭 방법 및 고속 스위칭을 구현하는 가상 스위치에 관한 것이다.
클라우드 컴퓨팅은 개인용 컴퓨터(personal computer, 이하 'PC'라 함)나 기업의 서버에 개별적으로 저장해 두었던 자료와 소프트웨어를 중앙시스템인 대형 컴퓨터에 저장하고, 사용자가 PC나 휴대폰과 같은 각종 단말기를 이용해 원격으로 원하는 작업을 수행할 수 있는 사용 환경을 말한다. 즉, 다수의 사용자는 인터넷 기술을 이용해서 하나의 서비스로서 방대한 아이티(informational technology, 이하 'IT'라 함) 능력을 제공받을 수 있게 된다.
클라우드 컴퓨팅은 사용자 측면에서는 컴퓨팅 자원을 사용한 만큼 비용을 지불한다는 점에서 유틸리티 컴퓨팅이나 서비스로서의 소프트웨어(Software as a Service, SaaS)와 유사하고, 서비스 제공자 측면에서는 분산된 여러 컴퓨팅 자원을 취합하여 하나의 컴퓨팅 자원처럼 사용할 수 있도록 제공한다는 점에서 그리드 컴퓨팅의 개념과 유사하다. 즉, 기술적으로는 그리드 컴퓨팅을, 과금모델로는 유틸리티 컴퓨팅을 혼합한 것이 클라우드 컴퓨팅의 개념이다.
이러한 클라우드 서비스는 운영 및 관리가 효율적으로 이루어질 수 있고 구축 비용이 적게 들기 때문에 서비스 사업자들이 중요한 미래 서비스로 간주하고 있으며, 특히 클라우드 데이터센터 서비스는 대부분의 IT 사업자들이 관심을 가지는 분야이다.
일반적인 클라우드 데이터 센터 네트워크를 개략적으로 보면, 데이터 센터의 각 서버들은 랙(rack)에 장착되어 최종 서버 그룹을 이루고, 상기 서버 그룹의 모든 서버들은 탑-오브-랙(top of rack, 이하 'ToR'이라 함) 스위치를 통하여 연결된다. 각 서버는 하이퍼바이저 기능을 이용하여 운영체제(operating system, 이하 'OS'라 함) 및 버추얼 머신(virtual machine, 이하 'VM'이라 함) 가상화를 지원하고, 내부 VM 간의 연결을 위한 VM 가상스위치가 각 서버에 존재한다.
복수의 상기 ToR 스위치는 상위 집합 스위치(aggregation switch, 이하 'AS'라 함)를 통해서 계층2 스위치 연결을 구성하고, 복수의 AS는 상위 접근 라우터(access router, 이하 'AR'이라 함)와 연결된 후, 복수의 AR이 다시 상위 경계 라우터(border router, 이하 'BR'이라 함)와 연결됨으로써 복수의 AR과 복수의 BR은 계층3 라우터 연결을 구성한다. 최종적으로 복수의 BR이 백본 인터넷에 연결됨으로써 클라우드 데이터 센터 네트워크가 구현될 수 있다.
상기 데이터 센터 네트워크와 같은 물리 네트워크 자원을 바탕으로 가상 네트워크를 사용자들에게 제공하기 위해서는 네트워크 가상화 기술이 필수적으로 필요하다. 네트워크 가상화에서는 제어 평면과 전송 평면이 분리되어야 하고, 인터페이스 가상화 및 전송 엔진의 가상화가 요구된다.
무엇보다 물리 인터페이스와 가상 인터페이스 간의 패킷 전달뿐만 아니라 내부 가상 엔진 간의 가상 인터페이스를 통한 패킷 전달을 위한 고성능의 가상 스위치가 가상화된 네트워크 환경에서 핵심적인 역할을 담당한다.
일반적으로 네트워크 가상화를 위한 가상 스위치는 멀티코어 네트워크 프로세서 유닛(multi-core network processor unit, multi-core NPU)을 이용하여 구현되는데, 이때 구현된 가상 스위치는 물리 인터페이스로부터 입력된 패킷을 손실 없이 내부의 가상 엔진에 전달할 수 있어야 하고, 가상 엔진들 간의 가상 인터페이스를 통해서도 손실 없이 패킷을 전송해야 하기 때문에, 패킷의 고속 스위칭을 구현하기 위한 가상 스위치를 설계하는 기술은 매우 중요한 문제이다.
본 발명이 이루고자 하는 과제는 네트워크 가상화에 핵심적으로 요구되는 가상 스위치를 설계함에 있어, 일반 상용 네트워크 프로세서 유닛 상에서 물리 인터페이스와 가상 엔진 사이에서 패킷을 고속으로 스위칭하는 방법 및 고속 스위칭 기능이 구현된 가상 스위치를 제공하는 것이다.
본 발명의 한 실시예에 따르면, 네트워크 가상화를 위한 스위치에서 패킷을 스위칭하는 방법이 제공된다. 상기 패킷의 스위칭 방법은, 패킷을 수신하는 단계, 패킷을 논리 인터페이스로 전달할 패킷과 물리 인터페이스로 전달할 패킷으로 구분하는 단계, 패킷이 상기 논리 인터페이스로 전달할 패킷인 경우, 패킷을 논리 인터페이스 매핑 테이블을 이용하여 복수의 논리 인터페이스 중 어느 하나의 논리 인터페이스로 매핑하는 단계, 패킷의 매체 접근 제어(media access control, 이하 'MAC'이라 함) 주소를 상기 매핑한 논리 인터페이스 주소로 변경하는 단계, 패킷을 상기 매핑한 논리 인터페이스에 대응하는 가상 포워딩 요소로 전달하는 단계, 가상 포워딩 요소에서 전달되는 패킷을 물리 인터페이스 매핑 테이블을 이용하여 물리 인터페이스에 매핑하는 단계, 패킷의 논리 인터페이스 주소를 MAC 주소로 변환하여 상기 매핑한 물리 인터페이스로 전송하는 단계를 포함한다.
상기 패킷의 스위칭 방법은, 구분하는 단계에서, 패킷이 물리 인터페이스로 전송할 패킷인 경우, 패킷을 물리 인터페이스로 전송하는 단계를 더 포함할 수 있다.
상기 패킷의 스위칭 방법은, 물리 인터페이스에 매핑하는 단계에서 패킷에 대응하는 물리 인터페이스가 존재하지 않으면, 논리 인터페이스 룩업 테이블을 이용하여 패킷에 대응하는 논리 인터페이스가 존재하는지 판단하는 단계, 그리고 대응하는 논리 인터페이스로 패킷을 전송하는 단계를 더 포함할 수 있다.
상기 패킷의 스위칭 방법은 패킷에 대응하는 논리 인터페이스가 존재하지 않으면, 패킷을 폐기하는 단계를 더 포함할 수 있다.
상기 패킷의 스위칭 방법에서 패킷이 논리 인터페이스로 전송할 패킷인 경우, 패킷의 참조 값을 버퍼에 저장하는 단계를 더 포함하며, 논리 인터페이스로 매핑하는 단계는 참조 값에 기초하여 패킷을 읽는 단계를 포함할 수 있다.
상기 패킷의 스위칭 방법은, 논리 인터페이스 주소로 변경한 패킷을 버퍼에 저장하는 단계를 더 포함하며, 가상 포워딩 요소로 전달하는 단계는 버퍼에 저장된 패킷을 전달할 수 있다.
상기 패킷의 스위칭 방법에서, 물리 인터페이스에 매핑하는 단계는, 가상 포워딩 요소에서 전달되는 패킷을 버퍼에 저장하는 단계, 그리고 버퍼에 저장된 패킷을 물리 인터페이스 매핑 테이블을 이용하여 물리 인터페이스에 매핑하는 단계를 포함할 수 있다.
본 발명의 다른 실시 예에 따르면, 네트워크 가상화를 위해 패킷을 스위칭하는 가상 스위치가 제공된다. 상기 가상 스위치는, 외부 노드와 패킷을 송수신하며, 복수의 물리 인터페이스를 포함하는 물리 인터페이스부, 각각 논리 인터페이스를 가지는 복수의 가상 포워딩 요소, 물리 인터페이스부에서 수신한 패킷을 논리 인터페이스로 전달할 패킷과 물리 인터페이스부로 전달할 패킷으로 구분하는 입력 패킷 프로세서, 논리 인터페이스부로 전달될 패킷을 논리 인터페이스 매핑 테이블을 이용하여 복수의 논리 인터페이스 중 어느 하나의 논리 인터페이스로 매핑하고, 상기 패킷의 MAC 주소를 상기 매핑한 논리 인터페이스 주소로 변환하는 물리 패킷 스위칭부, 패킷을 매핑한 논리 인터페이스에 대응하는 가상 포워딩 요소로 전달하는 논리 출력 프로세서, 가상 포워딩 요소에서 전달되는 패킷을 물리 인터페이스 매핑 테이블을 이용하여 물리 인터페이스에 매핑하고, 패킷의 논리 인터페이스 주소를 MAC 주소로 변환하는 논리 패킷 스위칭부, 그리고 패킷을 매핑한 물리 인터페이스로 전송하는 물리 출력 프로세서를 포함한다.
상기 가상 스위치는, 상위 가상 스위치 정책 관리자(virtual switch policy manager, VSPM)와 가상 스위치의 정책 수행을 위한 통신을 하는 가상 스위치 관리 인터페이스부(virtual switch management interface, VSMI)를 더 포함할 수 있다.
상기 가상 스위치에서 입력 패킷 프로세서는, 심층 패킷 조사(deep packet inspection, DPI) 전용 프로세서를 이용함으로써 입력된 패킷의 내용에 특정 시그니쳐의 존재여부를 검색하여 바이러스 트래픽의 탐지 및 정밀 응용 서비스의 식별기능을 추가 수행할 수 있다.
상기 가상 스위치에서 입력 패킷 프로세서는, 비정상적 트래픽을 탐지하고 차단하는 기능을 추가 수행할 수 있다.
상기 가상 스위치에서 물리 출력 프로세서는, 플로우 또는 목적지 아이피(internet protocol, 이하 'IP'라 함) 주소를 기반으로 하는 대역폭 제한(rate-limit) 기능 및 서비스 품질(quality of service, 이하 'QoS'라 함) 보장을 위한 트래픽 관리 기능을 추가 수행할 수 있다.
본 발명의 한 실시 예에 따른 가상 스위치는 기존에 구현된 클라우드 데이터 센터 네트워크에 부가적으로 설치될 수 있어 경제적인 운용이 가능한 이점이 있고, 가상 스위치로 입력된 입력 패킷의 처리 과정에서 전체 패킷 중 일부를 사용함으로써 고속의 스위칭 성능을 구현하여 손실 없이 물리 및 논리 인터페이스에 전달할 수 있으며, 입력 패킷의 내용을 검색하여 바이러스 트래픽을 탐지하거나 정밀 응용서비스를 식별해낼 수 있다.
또한, 가상 스위치는 입력 패킷의 처리를 네트워크 프로세서 유닛 내부의 고속 메모리를 사용하거나 전용 티캠(ternary content addressable memory, 이하 'TCAM'이라 함)를 사용함으로써 고속의 스위칭 성능을 구현할 수 있다.
도 1은 본 발명의 한 실시 예에 따른 클라우드 데이터 센터 네트워크를 나타낸 도면이다.
도 2는 본 발명의 한 실시 예에 따른 가상 스위치를 나타낸 도면이다.
도 3은 본 발명의 한 실시 예에 따른 가상 스위치로 입력된 패킷의 처리 과정을 나타낸 순서도이다.
도 2는 본 발명의 한 실시 예에 따른 가상 스위치를 나타낸 도면이다.
도 3은 본 발명의 한 실시 예에 따른 가상 스위치로 입력된 패킷의 처리 과정을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 클라우드 네트워크의 가상화를 위한 가상 스위치 및 그 스위칭 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 한 실시 예에 따른 클라우드 데이터 센터 네트워크를 나타낸 도면이다.
도 1을 참고하면, 본 발명의 가상 스위치(3000)는 클라우드 네트워크의 계층2 스위치(1100)와 계층3 라우터(1200) 사이에 위치하여 클라우드 가상 서버들을 위한 스마트 가상 스위치(smart virtual switch, SVS) 기능을 수행함으로써 네트워크 가상화 서비스를 가능하게 한다.
이때, 망운영자는 가상 스위치 정책 관리자(virtual switch policy manager, VSPM)(2000)를 통하여 가상 스위치(3000)에 정책을 설정함으로써, 네트워크 가상화 서비스의 다양한 정책운영을 가능하게 할 수 있다.
클라우드 데이터 센터 네트워크는, 각 서버(1000)들은 랙(rack)에 장착되어 최종 서버 그룹을 이루고, 상기 서버 그룹의 모든 서버(1000)들은 탑-오브-랙(top of rack, 이하 'ToR'이라 함) 스위치(1101)를 통하여 연결된다. 각 서버(1000)는 하이퍼바이저 기능을 이용하여 OS 및 버추얼 머신(virtual machine, 이하 'VM'이라 함) 가상화를 지원하고, 내부 VM 간의 연결을 위한 VM 가상스위치가 각 서버에 존재한다.
복수의 ToR 스위치(1101)는 상위 집합 스위치(aggregation switch, 이하 'AS'라 함)(1102)를 통해서 계층2 스위치 연결(1100)을 구성한다.
복수의 상위 접근 라우터(access router, 이하 'AR'이라 함)와, 복수의 AR과 연결된 복수의 상위 경계 라우터(border router, 이하 'BR'이라 함)는 계층3 라우터 연결을 구성한다. 최종적으로 복수의 BR이 백본 인터넷에 연결됨으로써 클라우드 데이터 센터 네트워크가 구현될 수 있다.
위와 같이 기존에 구현된 가상화 서비스 지원하기 위한 클라우드 네트워크의 계층2 스위치(1100)와 계층3 라우터(1200)의 사이에 추가적으로 본 발명의 한 실시 예에 따른 가상 스위치(3000)를 설치하여, 네트워크 제공자는 소프트웨어 기반의 가상 스위치만이 설치되어 있던 클라우드 네트워크 장비를 그대로 사용할 수 있게 됨으로써, 비용절감의 효과를 거둘 수 있고, 소프트웨어 기반의 가상 스위치의 성능 문제 등 한계를 극복할 수 있다.
도 2는 본 발명의 한 실시 예에 따른 가상 스위치를 나타낸 도면이고, 도 3은 가상 스위치로 입력된 패킷의 처리 과정을 나타낸 순서도이다.
도 2를 참고하면, 가상 스위치(3000)는 물리 인터페이스부(3001)와 네트워크 프로세서 유닛(3100)을 포함한다.
물리 인터페이스부(3001)는 클라우드 네트워크의 L2 스위치(1100) 및 L3 라우터(1200)와 물리적으로 연결된다.
네트워크 프로세서 유닛(3100)은 물리 인터페이스부(3001)와 연결되어 패킷을 입력받아 처리하고, 처리된 패킷을 물리 인터페이스부(3001)를 통해 출력한다.
네트워크 프로세서 유닛(3100)은 가상 스위치 정책 관리자(2000)와 연결된 가상 스위치 관리 인터페이스(virtual switch management interface, VSMI)(3117)를 포함하여, 망운영자가 설정한 정책에 따라 가상 스위치(3000)가 운영될 수 있도록 한다. 예를 들어 망운영자는 가상 스위치에 패킷의 내용을 검색하는 정책을 적용하여 바이러스 트래픽을 탐지하거나 정밀 응용서비스를 식별해낼 수 있다.
또한, 네트워크 프로세서 유닛(3100)은, 내부 버스(internal bus)(3115)와 논리 인터페이스로 연결되어 패킷을 포워딩해주는 복수의 가상 포워딩 요소(virtual forwarding element, VFE)(3116)를 포함한다.
그러면, 도 3을 참고하여 가상 스위치(3000)로 입력된 패킷이 물리 인터페이스부(3001)를 거쳐, 네트워크 프로세서 유닛(3100)에서 분류 및 처리된 후, 다시 물리 인터페이스부(3001)를 거쳐, 가상 스위치(3000)로부터 출력되는 과정에 대해 자세히 설명한다.
도 3을 참고하면, 먼저, 네트워크의 물리 인터페이스부(3001)는 L2 스위치(1100)와 L3 라우터(1200) 둘 중 어느 한쪽으로부터 패킷을 입력 받게 되고 해당 패킷을 네트워크 프로세서 유닛(3100)으로 전달한다(S100).
상기 패킷은 네트워크 프로세서 유닛(3100)의 입력 패킷 프로세서(packet input processor, PIP)(3101)로 전달된다.
입력 패킷 프로세서(3101)는 입력 패킷 룩업 테이블(Input packet lookup table, IPLT)(3113)을 이용하여, 입력된 패킷을 논리 인터페이스에 대응된 가상 포워딩 요소(3116)로 전달할 패킷인지, 아니면 물리 인터페이스부(3001)로 전송할 패킷인지 구분한다(S101).
입력 패킷 룩업 테이블(3113)은 통상 5-튜플(tuple) 조건(소스 IP, 목적지 IP, TCP/UDP 소스 포트, TCP/UDP 목적지 포트, 그리고 IP 프로토콜)과 해당하는 패킷 처리 액션들의 집합을 포함할 수 있으며, 더 정밀한 입력 패킷 처리를 위한 룩업 기능을 수행하기 위해서는 10-튜플(입력 포트, 소스 MAC 주소, 목적지 MAC 주소, 이더넷 타입, VLAN id, 그리고 5-튜플)을 포함할 수 있다.
입력 패킷 프로세서(3101)는 입력 패킷 룩업 테이블(3113)을 이용하여 접근 제어 목록(access control list, ACL)을 탐색한 뒤 입력된 패킷을 처리한다.
이때, 물리 인터페이스부(3001)로 전달할 패킷은 물리 출력 버퍼(physical output buffer, POB)(3109)에 저장된다(S111).
반면, 입력 패킷 프로세서(3101)의 판단 결과 가상 포워딩 요소(3116)로 전달할 패킷은 물리 입력 버퍼(physical input buffer, PIB)(3102)에 저장된다(S102).
이 경우 실제 패킷 전체가 저장되면 가상 스위치(3000)의 스위칭 속도가 현저하게 저하될 수 있기 때문에, 패킷의 참조 값들만 물리 입력 버퍼(3102)에 저장됨으로써 가상 스위치(3000)의 고속 스위칭 성능을 구현할 수 있다.
패킷의 참조 값이 물리 입력 버퍼(3102)에 저장된 후, 상기 참조 값이 네트워크 프로세서 유닛(3100)에서 각종 분류 및 처리과정을 거친다.
한편 입력 패킷 룩업 테이블(3113)의 저장, 검색수행에 사용되는 메모리도 있는데, 이때 사용되는 메모리로는 네트워크 프로세서 유닛(3100)에 포함된 고속 메모리가 사용될 수도 있고, 고속의 스위칭 성능을 보장하기 위해서 전용 TCAM도 사용될 수 있다.
이 밖에, 입력 패킷 프로세서(3101)는 패킷의 내용(페이로드, payload) 자체에 포함된 특정 시그니처를 검색함으로써, 바이러스 트래픽을 탐지하고 정밀 응용서비스를 식별하는 기능도 수행할 수 있다.
이 경우, 심층 패킷 조사(deep packet inspection, DPI) 전용 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA) 또는 주문형 집적회로(Application Specific Integrated Circuit, ASIC)과 같은 보조 프로세서 칩을 사용하여 시그니처 검색 성능을 고속화시킬 수 있다.
또한, 입력 패킷 프로세서(3101)는 가상 스위치(3000)의 시스템 안정성을 위해서 맥 플러딩(media access control flooding, MAC flooding)이나 디도스(distributed denial of service, DDoS)와 같은 비정상적인 트래픽을 탐지하고 차단하는 기능도 수행할 수 있다.
위와 같은 기능을 수행함으로써, 상용화된 클라우드 네트워크 가상화 서비스의 안정성을 확보하고 가용성을 보장할 수 있다.
이때, 입력 패킷 프로세서(3101)의 특정 시그니처의 검색 기능 및 비정상적 트래픽의 차단 기능 등은 망운영자가 가상 스위치 관리 인터페이스(3117)를 통해 해당 기능을 수행하는 정책을 적용함으로써 구현될 수 있다.
입력 패킷 프로세서(3101)에서 위와 같은 기능을 수행한 뒤, 패킷은 물리 패킷 스위칭부(physical packet switching, PPS)(3103)로 전달되고, 물리 패킷 스위칭부(3103)에서는 상기 패킷을 논리 인터페이스로 매핑함으로써, 해당 가상 포워딩 요소(3116)의 논리 인터페이스로 스위칭한다(S103).
이 경우 물리 패킷 스위칭부(3103)는 논리 인터페이스 매핑 테이블(logical interface mapping table, LIMT)(3114)을 이용하여 패킷의 MAC 주소를 가상 포워딩 요소(3116)의 논리 인터페이스 주소로 변경함으로써 패킷의 스위칭 기능을 수행한다. 이때, 물리 패킷 스위칭부(3103)에서 스위칭되는 패킷은 패킷의 참조 값일 수 있다.
이후, 논리 인터페이스의 주소로 MAC 주소가 변경된 패킷은 논리 출력 버퍼(logical output buffer, LOB)(3104)에 저장된다(S104).
이후, 논리 출력 프로세서(logical output process, LOP)(3105)에서는 논리 출력 버퍼(3104)에 저장된 상기 패킷을 내부 버스(internal bus)(3115)를 이용하여 내부 버스(3115)와 논리 인터페이스로 연결된 가상 포워딩 요소(3116)로 전달한다(S105). 이때, 논리 출력 프로세서(3105)에서 가상 포워딩 요소(3116)로 전달되는 패킷은 패킷의 참조 값일 수 있다.
가상 포워딩 요소(3116)는 상기 패킷을 각 서버(1000)로 전달하기 위한 가상 라우터 역할을 수행한다. 그리고, 가상 포워딩 요소(3116)는 가상 인터페이스 설정 기능, 주소결정 프로토콜(address resolution protocol, ARP) 기능, IP 포워딩 룩업 기능, 또는 가상 인터페이스 패킷 전달 기능을 수행할 수 있다. 또한, 가상 포워딩 요소(3116)는 VM 가상화 플랫폼을 이용하여 플로우 모니터링, 메타정보 수집, 터널링, 또는 암호화 및 복호화 등의 임의의 IP 미들박스(middle box) 기능을 추가로 수행할 수도 있다.
가상 포워딩 요소(3116)에서 포워딩된 상기 패킷은 내부 버스(3115)를 거쳐 논리 입력 프로세서(logical input process, LIP)(3106)로 전달된다(S106).
논리 입력 프로세서(3106)는 내부 버스(3115)로부터 전달받은 상기 패킷을 논리 입력 버퍼(logical input buffer, LIB)(3107)에 저장한다(S107). 이때, 논리 입력 프로세서(3106)으로 전달되고, 논리 입력 버퍼(3107)에 저장되는 패킷은 패킷의 참조 값일 수 있다.
이후, 논리 패킷 스위칭부(logical packet switching, LPS)(3108)는 논리 입력 버퍼(3107)에 저장된 패킷을 물리 인터페이스 매핑 테이블(physical interface mapping table, PIMT)(3111)을 이용하여 외부의 물리 인터페이스로 전달할 것인지 판단한다(S108).
판단결과, 패킷에 해당 물리 인터페이스가 존재하지 않을 경우에는 패킷을 물리 출력 버퍼(3109)에 저장하지 않고, 논리 인터페이스 룩업 테이블(logical interface lookup table, LILT)(3112)을 이용하여 다시 논리 인터페이스로 전달할 것인지 판단한다(S109).
이 경우, 논리 인터페이스가 패킷에 포함되어 있다면, 다시 해당 논리 인터페이스로 전송해야 하므로, 패킷 논리 출력 버퍼(3104)에 저장(S104)되어 재차 논리 출력 프로세서(3105)에 의해 내부 버스(3115)로 이동하여 가상 포워딩 요소(3116)로 전송된다. 이때, 논리 패킷 스위칭부(3108)에서 판단되는 패킷은 패킷의 참조 값일 수 있다.
하지만, 논리 인터페이스 룩업 테이블(3112)를 검색하였음에도 불구하고 논리 인터페이스가 존재하지 않는다면 그 패킷은 폐기한다(S110).
한편, 패킷에 대한 물리 인터페이스 매핑 테이블(3111)의 검색결과 물리 인터페이스부(3001)로 전송할 패킷인 것으로 판단된다면, 해당 패킷은 MAC 주소 변환 및 터널링 헤더 삽입 등의 추가 기능이 수행된 후 물리 출력 버퍼(3109)에 저장된다(S111).
이때, 패킷의 참조 값을 이용하여 물리 인터페이스 매핑 테이블(3111)을 검색했다면, 상기 패킷의 참조 값은 MAC 주소 변환 및 터널링 헤더 삽입 등의 추가 기능이 수행된 후 패킷과 결합되어 물리 출력 버퍼(3109)에 저장될 수 있다.
이후, 물리 출력 프로세서(physical output process, POP)(3110)는 물리 출력 버퍼(3109)에 저장된 패킷을 물리 인터페이스부(3001)로 전송한다(S112).
이때 추가적으로 물리 출력 프로세서(3110)는 플로우 또는 목적지 IP 주소 기반의 레이트 리밋(Rate Limit) 기능 및 서비스품질 (Quality of Service, QoS)의 보장을 위한 트래픽 매니져(Traffic Manager, TM) 기능을 수행할 수 있다.
마지막으로 패킷이 물리 인터페이스부(3001)를 거쳐 가상 스위치(3000)에서 출력되면(S113), 가상 스위치(3000)로 입력된 패킷의 처리 과정이 종료된다.
이와 같이, 본 발명의 한 실시 예에 따르면, 가상 스위치로 입력된 패킷은 손실 없이 물리 및/또는 논리 인터페이스로 전달될 수 있고, 전체 패킷 중 일부(예를 들면, 패킷의 참조 값)가 사용됨으로써 패킷의 처리에 있어 고속의 스위칭 성능을 구현할 수 있다.
또한, 본 발명의 다른 실시 예에 따르면, 가상 스위치에 패킷의 내용을 검색하는 정책을 적용하여 바이러스 트래픽을 탐지하거나 정밀 응용서비스를 식별해낼 수 있고, 네트워크 프로세서 유닛 내부의 고속 메모리를 사용하거나 전용 TCAM를 사용하여 패킷을 처리함으로써 고속의 스위칭 성능을 구현할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 쉽게 가능한 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
Claims (12)
- 네트워크 가상화 스위치에서 패킷을 스위칭하는 방법으로서,
패킷을 수신하는 단계,
상기 패킷을 논리 인터페이스로 전달할 패킷과 물리 인터페이스로 전달할 패킷으로 구분하는 단계,
상기 패킷이 상기 논리 인터페이스로 전달할 패킷인 경우,
상기 패킷을 논리 인터페이스 매핑 테이블을 이용하여 복수의 논리 인터페이스 중 어느 하나의 논리 인터페이스로 매핑하는 단계,
상기 패킷의 MAC 주소를 상기 매핑한 논리 인터페이스 주소로 변경하는 단계,
상기 패킷을 상기 매핑한 논리 인터페이스에 대응하는 가상 포워딩 요소로 전달하는 단계,
상기 가상 포워딩 요소에서 전달되는 패킷을 물리 인터페이스 매핑 테이블을 이용하여 물리 인터페이스에 매핑하는 단계,
상기 패킷의 논리 인터페이스 주소를 MAC 주소로 변환하여 상기 매핑한 물리 인터페이스로 전송하는 단계를 포함하는
입력 패킷의 스위칭 방법.
- 제1항에서,
상기 구분하는 단계에서, 상기 패킷이 상기 물리 인터페이스로 전송할 패킷인 경우,
상기 패킷을 상기 물리 인터페이스로 전송하는 단계를 더 포함하는 입력 패킷의 스위칭 방법.
- 제1항에서,
상기 물리 인터페이스에 매핑하는 단계에서 상기 패킷에 대응하는 물리 인터페이스가 존재하지 않으면,
논리 인터페이스 룩업 테이블을 이용하여 상기 패킷에 대응하는 논리 인터페이스가 존재하는지 판단하는 단계, 그리고
상기 대응하는 논리 인터페이스로 상기 패킷을 전송하는 단계
를 더 포함하는 입력 패킷의 스위칭 방법.
- 제3항에서,
상기 패킷에 대응하는 논리 인터페이스가 존재하지 않으면, 상기 패킷을 폐기하는 단계를 더 포함하는 입력 패킷의 스위칭 방법.
- 제1항에서,
상기 패킷이 상기 논리 인터페이스로 전송할 패킷인 경우, 상기 패킷의 참조 값을 버퍼에 저장하는 단계를 더 포함하며,
상기 논리 인터페이스로 매핑하는 단계는 상기 참조 값에 기초하여 상기 패킷을 읽는 단계를 포함하는 입력 패킷의 스위칭 방법.
- 제1항에서,
상기 논리 인터페이스 주소로 변경한 패킷을 버퍼에 저장하는 단계를 더 포함하며,
상기 가상 포워딩 요소로 전달하는 단계는 상기 버퍼에 저장된 패킷을 전달하는 입력 패킷의 스위칭 방법.
- 제1항에서,
상기 물리 인터페이스에 매핑하는 단계는,
상기 가상 포워딩 요소에서 전달되는 패킷을 버퍼에 저장하는 단계, 그리고
상기 버퍼에 저장된 패킷을 상기 물리 인터페이스 매핑 테이블을 이용하여 상기 물리 인터페이스에 매핑하는 단계를 포함하는 입력 패킷의 스위칭 방법.
- 네트워크 가상화 스위치로서,
외부 노드와 패킷을 송수신하며, 복수의 물리 인터페이스를 포함하는 물리 인터페이스부,
각각 논리 인터페이스를 가지는 복수의 가상 포워딩 요소,
상기 물리 인터페이스부에서 수신한 패킷을 상기 논리 인터페이스로 전달할 패킷과 상기 물리 인터페이스부로 전달할 패킷으로 구분하는 입력 패킷 프로세서,
상기 논리 인터페이스부로 전달될 패킷을 논리 인터페이스 매핑 테이블을 이용하여 복수의 논리 인터페이스 중 어느 하나의 논리 인터페이스로 매핑하고, 상기 패킷의 MAC 주소를 상기 매핑한 논리 인터페이스 주소로 변환하는 물리 패킷 스위칭부,
상기 패킷을 상기 매핑한 논리 인터페이스에 대응하는 가상 포워딩 요소로 전달하는 논리 출력 프로세서,
상기 가상 포워딩 요소에서 전달되는 패킷을 물리 인터페이스 매핑 테이블을 이용하여 물리 인터페이스에 매핑하고, 상기 패킷의 논리 인터페이스 주소를 MAC 주소로 변환하는 논리 패킷 스위칭부, 그리고
상기 패킷을 상기 매핑한 물리 인터페이스로 전송하는 물리 출력 프로세서
를 포함하는 네트워크 가상화 스위치.
- 제8항에서,
상위 가상 스위치 정책 관리자(virtual switch policy manager, VSPM)와 가상 스위치의 정책 수행을 위한 통신을 하는 가상 스위치 관리 인터페이스부(virtual switch management interface, VSMI)를 더 포함하는 네트워크 가상화 스위치.
- 제8항에서,
상기 입력 패킷 프로세서는 심층 패킷 조사(deep packet inspection, DPI) 전용 프로세서를 이용함으로써 입력된 패킷의 내용에 특정 시그니쳐의 존재여부를 검색하여 바이러스 트래픽의 탐지 및 정밀 응용 서비스의 식별기능을 수행하는 네트워크 가상화 스위치.
- 제8항에서,
상기 입력 패킷 프로세서는 비정상적 트래픽을 탐지하고 차단하는 기능을 수행하는 네트워크 가상화 스위치.
- 제8항에서,
상기 물리 출력 프로세서는 플로우 또는 목적지 IP 주소를 기반으로 하는 rate-limit 기능 및 QoS 보장을 위한 트래픽 관리 기능을 수행하는 네트워크 가상화 스위치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120046515A KR20130126833A (ko) | 2012-05-02 | 2012-05-02 | 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 |
US13/648,468 US20130294231A1 (en) | 2012-05-02 | 2012-10-10 | Method of high-speed switching for network virtualization and high-speed virtual switch architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120046515A KR20130126833A (ko) | 2012-05-02 | 2012-05-02 | 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130126833A true KR20130126833A (ko) | 2013-11-21 |
Family
ID=49512431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120046515A KR20130126833A (ko) | 2012-05-02 | 2012-05-02 | 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130294231A1 (ko) |
KR (1) | KR20130126833A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10020961B2 (en) | 2013-12-27 | 2018-07-10 | Electronics And Telecommunications Research Institute | Method and apparatus for network virtualization |
US10523566B2 (en) | 2015-08-18 | 2019-12-31 | Poco-Apoco Networks Co., Ltd. | Memory device |
WO2020227190A1 (en) * | 2019-05-06 | 2020-11-12 | Friedman Seth Gregory | Transaction encoding and verification by way of data-link layer fields |
US10868707B1 (en) | 2019-09-16 | 2020-12-15 | Liquid-Markets-Holdings, Incorporated | Zero-latency message processing with validity checks |
US11935120B2 (en) | 2020-06-08 | 2024-03-19 | Liquid-Markets GmbH | Hardware-based transaction exchange |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9641611B2 (en) * | 2014-06-30 | 2017-05-02 | International Business Machines Corporation | Logical interface encoding |
US9762457B2 (en) | 2014-11-25 | 2017-09-12 | At&T Intellectual Property I, L.P. | Deep packet inspection virtual function |
US9866657B2 (en) * | 2014-12-19 | 2018-01-09 | Cavium, Inc. | Network switching with layer 2 switch coupled co-resident data-plane and network interface controllers |
US20160261619A1 (en) * | 2015-03-03 | 2016-09-08 | Electronics And Telecommunications Research Institute | Ship gateway apparatus and status information displaying method thereof |
CN105138393A (zh) * | 2015-08-27 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种实现底层平台虚拟化的方法 |
EP3264711B1 (en) | 2016-06-28 | 2018-09-19 | Virtual Open Systems | Virtual switch for multi-compartment mixed critical network communications |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3619411B2 (ja) * | 1999-12-03 | 2005-02-09 | 富士通株式会社 | パケット中継装置 |
US7415535B1 (en) * | 2002-04-22 | 2008-08-19 | Cisco Technology, Inc. | Virtual MAC address system and method |
EP1588530A2 (en) * | 2003-01-27 | 2005-10-26 | Raza Microelectronics, Inc. | Method and device for the classification and redirection of data packets in a heterogeneous network |
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US20050078708A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Formatting packet headers in a communications adapter |
US20050138184A1 (en) * | 2003-12-19 | 2005-06-23 | Sanrad Ltd. | Efficient method for sharing data between independent clusters of virtualization switches |
US7675926B2 (en) * | 2004-05-05 | 2010-03-09 | Cisco Technology, Inc. | Hierarchical QoS behavioral model |
JP4230410B2 (ja) * | 2004-05-11 | 2009-02-25 | 株式会社日立製作所 | 仮想ストレージの通信品質制御装置 |
US20060262808A1 (en) * | 2005-04-21 | 2006-11-23 | Victor Lin | Methods and Systems for Fragmentation and Reassembly for IP Tunnels in Hardware Pipelines |
US7565463B2 (en) * | 2005-04-22 | 2009-07-21 | Sun Microsystems, Inc. | Scalable routing and addressing |
IL189514A (en) * | 2007-02-14 | 2011-12-29 | Marvell Israel Misl Ltd | Logical mediation system and method |
US7869439B1 (en) * | 2007-04-16 | 2011-01-11 | World Wide Packets, Inc. | Varying packet switch behavior based on a quantity of virtual interfaces associated with a virtual switch |
US20090063706A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing |
US20090092136A1 (en) * | 2007-10-09 | 2009-04-09 | Broadcom Corporation | System and method for packet classification, modification and forwarding |
CN101453399B (zh) * | 2007-11-30 | 2012-07-04 | 华为技术有限公司 | 虚拟网络配置方法及系统 |
US7912082B2 (en) * | 2008-06-09 | 2011-03-22 | Oracle America, Inc. | Shared virtual network interface |
US8503468B2 (en) * | 2008-11-05 | 2013-08-06 | Fusion-Io, Inc. | PCI express load sharing network interface controller cluster |
US8572609B2 (en) * | 2009-07-01 | 2013-10-29 | Riverbed Technology, Inc. | Configuring bypass functionality of a network device based on the state of one or more hosted virtual machines |
US8369345B1 (en) * | 2009-11-13 | 2013-02-05 | Juniper Networks, Inc. | Multi-router system having shared network interfaces |
US8705513B2 (en) * | 2009-12-15 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks |
US7991859B1 (en) * | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
US8699499B2 (en) * | 2010-12-08 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to provision cloud computing network elements |
US8612612B1 (en) * | 2011-09-28 | 2013-12-17 | Juniper Networks, Inc. | Dynamic policy control for application flow processing in a network device |
US9565120B2 (en) * | 2012-01-30 | 2017-02-07 | Broadcom Corporation | Method and system for performing distributed deep-packet inspection |
-
2012
- 2012-05-02 KR KR1020120046515A patent/KR20130126833A/ko not_active Application Discontinuation
- 2012-10-10 US US13/648,468 patent/US20130294231A1/en not_active Abandoned
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10020961B2 (en) | 2013-12-27 | 2018-07-10 | Electronics And Telecommunications Research Institute | Method and apparatus for network virtualization |
US10523566B2 (en) | 2015-08-18 | 2019-12-31 | Poco-Apoco Networks Co., Ltd. | Memory device |
WO2020227190A1 (en) * | 2019-05-06 | 2020-11-12 | Friedman Seth Gregory | Transaction encoding and verification by way of data-link layer fields |
US10880211B2 (en) | 2019-05-06 | 2020-12-29 | Seth Gregory Friedman | Transaction encoding and verification by way of data-link layer fields |
US11431628B2 (en) | 2019-05-06 | 2022-08-30 | Seth Gregory Friedman | Line-speed messaging and validation using data-link layer fields |
US11743184B2 (en) | 2019-05-06 | 2023-08-29 | Seth Gregory Friedman | Message validation using data-link layer fields |
US12003415B2 (en) | 2019-05-06 | 2024-06-04 | Seth Gregory Friedman | Message validation using data-link layer fields |
US10868707B1 (en) | 2019-09-16 | 2020-12-15 | Liquid-Markets-Holdings, Incorporated | Zero-latency message processing with validity checks |
US11349700B2 (en) | 2019-09-16 | 2022-05-31 | Liquid-Markets-Holdings, Incorporated | Encapsulation of payload content into message frames |
US11637917B2 (en) | 2019-09-16 | 2023-04-25 | Liquid-Markets-Holdings, Incorporated | Processing of payload content with parallel validation |
US11935120B2 (en) | 2020-06-08 | 2024-03-19 | Liquid-Markets GmbH | Hardware-based transaction exchange |
Also Published As
Publication number | Publication date |
---|---|
US20130294231A1 (en) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111095901B (zh) | 服务操作链接方法、设备、系统、以及可读存储介质 | |
US20210344692A1 (en) | Providing a virtual security appliance architecture to a virtual cloud infrastructure | |
KR20130126833A (ko) | 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 | |
CN111164939B (zh) | 通过网络指定和利用路径 | |
US11019030B2 (en) | Use of stateless marking to speed up stateful firewall rule processing | |
EP3342100B1 (en) | Distributing remote device management attributes to service nodes for service rule processing | |
KR102586898B1 (ko) | 패킷 처리 방법 및 장치, 및 관련 디바이스들 | |
US10158563B2 (en) | Flow based overlay network | |
US9729441B2 (en) | Service function bundling for service function chains | |
US9729512B2 (en) | Use of stateless marking to speed up stateful firewall rule processing | |
US10505899B1 (en) | Apparatus, system, and method for applying firewall rules on packets in kernel space on network devices | |
US11324077B2 (en) | Priority channels for distributed broadband network gateway control packets | |
US20220385631A1 (en) | Distributed traffic steering and enforcement for security solutions | |
US20190044873A1 (en) | Method of packet processing using packet filter rules | |
US11711292B2 (en) | Pre-filtering of traffic subject to service insertion | |
CN117389680A (zh) | 数据处理方法、装置及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |