KR101688984B1 - 데이터 플로우 처리를 위한 방법 및 디바이스 - Google Patents

데이터 플로우 처리를 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR101688984B1
KR101688984B1 KR1020157011759A KR20157011759A KR101688984B1 KR 101688984 B1 KR101688984 B1 KR 101688984B1 KR 1020157011759 A KR1020157011759 A KR 1020157011759A KR 20157011759 A KR20157011759 A KR 20157011759A KR 101688984 B1 KR101688984 B1 KR 101688984B1
Authority
KR
South Korea
Prior art keywords
port
credential
data
flow tag
source device
Prior art date
Application number
KR1020157011759A
Other languages
English (en)
Other versions
KR20150082282A (ko
Inventor
마크 휴멜
데이비드 매이휴
마이클 오스본
Original Assignee
어드밴스드 마이크로 디바이시즈, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 어드밴스드 마이크로 디바이시즈, 인코포레이티드 filed Critical 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20150082282A publication Critical patent/KR20150082282A/ko
Application granted granted Critical
Publication of KR101688984B1 publication Critical patent/KR101688984B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

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

Abstract

네트워크 환경에서 데이터 교환을 관리하기 위한 방법 및 시스템이 개시된다. 플로우태그는 소스 디바이스(112-1)에서의 데이터 패킷에 할당된다. 플로우태그는 취합 디바이스(200)에서의 포트(포트 2)에 대응하는 포트 아이디를 포함한다. 수신지 디바이스(112-2)는 취합 디바이스에서의 포트와 통신하고 있다. 데이터 패킷은 취합 디바이스에서 인증된다. 인증된 데이터 패킷의 플로우태그 내 포트 아이디에 따라 취합 디바이스를 통하여 소스 디바이스로부터 수신지 디바이스로 데이터 패킷이 출력된다.

Description

데이터 플로우 처리를 위한 방법 및 디바이스{METHOD AND DEVICE FOR DATA FLOW PROCESSING}
본 발명은 일반적으로는 데이터 네트워크에 관한 것으로, 더 구체적으로는, 데이터 네트워크 디바이스 간 데이터 플로우를 제어하기 위한 방법 및 시스템에 관한 것이다.
데이터 센터와 같은 대규모 네트워크 환경은 사업장 및 조직을 지원하는 인터넷 및 인트라넷 서비스를 제공할 수 있다. 전형적 데이터 센터는 컴퓨터, 도메인 네임 시스템(domain name system: DNS) 서버, 네트워크 스위치, 라우터(router), 데이터 저장 디바이스 등과 같은 다양한 유형의 전자 장비를 소장할 수 있다. 데이터 센터는 스위치, 라우터 등을 포함하는 스위칭 아키텍처를 통하여 서로 그리고 외부 디바이스와 통신하는 수백 또는 수천의 상호접속된 호스트 디바이스, 예를 들어, 서버 노드를 가질 수 있다. 호스트 디바이스와 네트워크 스위치 간 데이터 교환에 있어서, 호스트 디바이스는, 예를 들어, 이더넷 프레임으로 데이터 페이로드와 수신지 맥(MAC) 어드레스를 스위치에 송신한다. 차례로 스위치는 데이터 페이로드의 의도된 수신지를 결정하기 위해 MAC 어드레스를 디코딩한다. 관용적 네트워크 스위치는 전형적으로는 데이터를 수신지 디바이스에 출력하기 위해 수신지 디바이스 MAC 어드레스 및 스위치 포트 정보와 같은 정보를 포워딩하는 프레임을 포함하는 컨텐트 어드레싱가능한 메모리(CAM) 테이블로 구성된다.
일 태양에 의하면, 네트워크 환경에서 데이터 교환을 관리하기 위한 방법이 제공된다. 플로우태그(flowtag)는 소스 디바이스에 송신된다. 플로우태그는 취합 디바이스에서의 포트에 대응하는 포트 아이디(port identification)를 포함한다. 플로우태그를 포함하는 데이터 패킷이 소스 디바이스로부터 수신된다. 데이터 패킷은 취합 디바이스에서 인증된다. 인증된 데이터 패킷은 인증된 데이터 패킷의 플로우태그 내 포트 아이디에 따라 출력된다.
다른 일 태양에 의하면, 데이터 패킷을 처리(processing)하기 위한 방법이 제공된다. 소스 디바이스는 취합 디바이스에서 발생된 플로우태그 및 크리덴셜(credential)을 수신한다. 플로우태그는 라우팅 데이터(routing data)를 포함한다. 플로우태그를 포함하는 데이터 패킷 및 대응하는 데이터 유닛을 소스 디바이스로부터 취합 디바이스로 출력한다.
다른 일 태양에 의하면, 소스 디바이스, 수신지 디바이스 및 취합 디바이스를 포함하는 데이터 네트워크가 제공된다. 소스 디바이스는 데이터 전송 연산에서 플로우태그를 데이터 패킷에 할당한다. 수신지 디바이스는 데이터 전송 연산에서 데이터 패킷을 수신한다. 취합 디바이스는 소스 디바이스가 통신하고 있는 제1 포트 및 수신지 디바이스가 통신하고 있는 제2 포트를 갖는다. 취합 디바이스는 플로우태그 내 라우팅 데이터를 처리하고 플로우태그를 봉인하는 크리덴셜을 타당성 검증하는 패킷 관리 디바이스를 포함한다. 플로우태그 내 라우팅 데이터는 제2 포트에 대응하는 포트 아이디를 포함한다. 취합 디바이스는 플로우태그 내 포트 아이디에 따라 소스 디바이스로부터 수신지 디바이스로 데이터 패킷을 전송한다.
다른 일 태양에 의하면, 소스 디바이스와 통신하고 있는 제1 포트, 수신지 디바이스와 통신하고 있는 제2 포트, 및 매핑 테이블을 포함하는 패킷 관리 디바이스를 포함하는 취합 디바이스가 제공된다. 매핑 테이블은 제1 포트와 소스 디바이스 간 제1 매핑 및 제2 포트와 수신지 디바이스 간 제2 매핑을 포함한다. 패킷 관리 디바이스는 소스 디바이스로부터 데이터 유닛을 수신하고 데이터 유닛이 제공되는 제2 포트와 관련된 정보에 따라 데이터를 수신지 디바이스로 라우팅한다.
다른 일 태양에 의하면, 컴퓨터 판독가능 프로그램 코드가 내장되어 있는 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 판독가능 프로그램 코드는 플로우태그를 소스 디바이스에서의 데이터 패킷에 할당하도록 구성된 컴퓨터 판독가능 프로그램 코드를 포함한다. 플로우태그는 취합 디바이스에서의 포트에 대응하는 포트 아이디를 포함한다. 수신지 디바이스는 취합 디바이스에서의 포트와 통신한다. 컴퓨터 판독가능 프로그램 코드는 취합 디바이스에서 데이터 패킷을 인증하도록 구성된 컴퓨터 판독가능 프로그램 코드 및 인증된 데이터 패킷 내 포트 아이디에 따라 취합 디바이스를 통하여 소스 디바이스로부터 수신지 디바이스로 데이터 패킷을 출력하도록 구성된 컴퓨터 판독가능 프로그램 코드를 더 포함한다.
본 발명의 상기 및 추가적 이점은, 첨부 도면과 함께 이하의 설명을 참조함으로써 더 잘 이해될 수 있으며, 첨부 도면에서 유사한 참조 부호는 다양한 도면에서 유사한 구조적 요소 및 특징을 나타낸다. 도면은 반드시 일정 축척으로 되어 있는 것은 아니며, 대신에 본 발명의 원리를 예시하는데 강조점을 둔다.
도 1은 본 발명의 개념의 실시예가 실시될 수 있는 컴퓨팅 환경의 블록 선도;
도 2는 일 실시예에 따라, 도 1의 취합 시스템의 패킷 관리 디바이스의 블록 선도;
도 3은 일 실시예에 따라, 네트워크 환경에서 데이터 교환을 관리하기 위한 방법의 순서도;
도 4는 다른 일 실시예에 따라, 네트워크 환경에서 데이터 교환을 관리하기 위한 방법의 순서도;
도 5는 일 실시예에 따라, 패킷을 인증하기 위한 방법의 순서도;
도 6은 일 실시예에 따라, 서버 노드로부터 취합 디바이스로 출력되는 패킷의 컨텐트를 예시하는 선도; 및
도 7은 일 실시예에 따라, 타당성 검증 프로세스를 예시하는 상세한 블록 선도.
이하의 설명에서 특정 상세가 제시되기는 하지만, 그 시스템 및 방법은 그 상세 중 적어도 일부 없이 실시될 수 있음을 당업자라면 인식하여야 한다. 일부 경우에 있어서, 기지의 특징 및 프로세스는 본 발명을 모호하게 하지 않도록 상세히 설명되지는 않는다.
관용적 서버 노드는 데이터 패킷을 네트워크 스위치에 송신하고, 그것은 데이터 패킷이 제공되는 소스 및 수신지 MAC 어드레스에 따라 그 수신지 디바이스에 데이터 패킷을 포워딩한다. 그렇지만, 스위치의 CAM 테이블의 관리는 소정 세트의 로직-집약적 단계를 요구하며, 그것은 MAC 어드레스 룩업 또는 관련 디코딩 기능, MAC 어드레스-대-포트 매핑 등을 포함한다. 이러한 비용이 드는 처리는 가상 머신(VM)이 네트워크 스위치로의 각각의 접속에 대해 제공되는 경우 및 각각의 VM이 하나 이상의 MAC 어드레스를 요구하는 경우의 가상 네트워크 구성에서 확대될 수 있다.
본 발명의 개념의 일부 특징은 데이터 센터와 같은 네트워크 환경에서 취합 디바이스와 통신하고 있는 하나 이상의 서버 노드 간 교환되는 데이터 패킷, 프레임, 셀, 또는 다른 고정량 또는 가변량의 데이터의 라우팅을 효율적으로 제어하고, 데이터의 전송과 관련된 보안-관련 속성, 예를 들어, 소스 MAC 어드레스 타당성 검증, 가상 랜(VLAN) 멤버십, 및 수신지 MAC 어드레스 필터링을 집행하기 위한 접근법을 포함할 수 있다. 취합 디바이스는 취합 디바이스를 통하여 수신지 디바이스에 데이터 패킷을 라우팅하라는 요청을 소스 디바이스로부터 수신한다. 취합 디바이스는 수신지 디바이스의 MAC 어드레스에 매핑되는 포트 식별자 등을 포함하는 플로우태그를 발생시킨다. 취합 디바이스는 또한 플로우태그를 봉인하는데 사용될 수 있는 크리덴셜을 발생시킬 수 있다. 플로우태그는 소스 디바이스에 의해 수신되고 플로우태그 캐시에 저장된다. 크리덴셜에 부가하여, 플로우태그는 데이터를 수신지 디바이스로 라우팅하기 위해 MAC 어드레스 대신에 취합 디바이스에 의해 사용되는 다른 라우팅 정보 또는 스위치 포트 번호를 포함할 수 있다. 후속의 데이터 교환 동안, 취합 디바이스는 소스 디바이스로부터 수신된 패킷을 플로우태그 내 포트 번호 또는 관련 식별자에 대응하는 포트로 지향시킨다. 취합 디바이스는 MAC 어드레스 대신에 데이터를 라우팅하도록 수신된 플로우태그로부터의 포트 번호 등을 사용한다. 따라서, MAC 어드레스 룩업은 필요하지 않다. 이것은 디코딩 기능 등이 하드웨어-집약적 CAM 테이블 대신에 취합 디바이스에서 소프트웨어로 수행될 수 있게 하고, 그리하여 MAC 어드레스를 처리할 때 일반적으로 요구되는 하드웨어 수고를 감축한다.
본 발명의 개념의 관련, 부가적 또는 대안의 특징은 또한, 특히 가상화 애플리케이션에 있어서, 스푸핑 등에 MAC 어드레스의 노출 위험을 감축할 수 있다. 이것은 패킷을 수신지 디바이스로 라우팅하기 이전에, 플로우태그 컨텐트를 봉인하는, 플로우태그와 수신된 크리덴셜을 타당성 검증하는 취합 디바이스에 의해 달성될 수 있다. 크리덴셜은 취합 디바이스에서 크리덴셜을 재계산하고 그것을 수신된 크리덴셜에 비교함으로써 타당성 검증될 수 있다.
도 1은 본 발명의 개념의 실시예가 실시될 수 있는 컴퓨팅 환경(10)의 블록 선도이다. 컴퓨팅 환경(10)은 네트워크의 구성요소 간 데이터가 교환되는 데이터 네트워크를 포함할 수 있다. 컴퓨팅 환경(10)은 복수의 서버 노드(112-1 내지 112-N)(일반적으로는, 112)를 포함하며, 여기서 N은 0보다 큰 정수이다. 서버 노드(112)는 취합 디바이스(200)와의 통신 경로(116)를 확립하도록 주변 소자 상호연결 익스프레스(Peripheral Component Interconnect Express: PCIe) 커넥터 등에 의해 취합 디바이스(200)에 각각 결합된다. 서버 노드(112)는 PCIe 인터페이스 등에 의해 취합 디바이스(200)에 배속된 단일 소켓 서버 또는 관련 마이크로프로세서 디바이스를 포함할 수 있다. 다른 저-전력 호스트 디바이스가 취합 디바이스(200)와 통신하도록 구성 및 배열될 수 있다. 서버 노드(112)는 프로세서 클러스터 또는 다른 주지의 배열로서 구성 및 배열될 수 있다. 하나 이상의 서버 노드(112)는 가상화형 또는 비-가상화형일 수 있다
서버 노드(112)는 하나 이상의 네트워크 인터페이스, 예를 들어, NIC들을 포함한다. 가상화형 서버 노드 및/또는 취합 디바이스(200)는 다수의 가상 네트워크 인터페이스 카드(virtual network interface card: vNIC)를 포함할 수 있다.
서버 노드(112)는 프로세서(102)를 포함하며, 그것은 하나 이상의 마이크로프로세서, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 메모리 컨트롤러, 멀티-코어 프로세서, 또는 다른 유형의 데이터 처리 디바이스, 또는 이들 및 다른 디바이스의 일부 및 조합을 포함할 수 있다.
서버 노드(112)는 또한 메모리를 포함한다(도시되지 않음). 메모리는 비-휘발성 또는 휘발성 메모리, 예를 들어, DRAM 또는 정적 RAM(SRAM)일 수 있다. 메모리(104)는 프로세서(102)에 의해 실행되는 운영 체제, 하나 이상의 애플리케이션 또는 다른 소프트웨어 프로그램의 프로그램 코드를 저장하여 포함한다. 또한 메모리(104)는 노드 인터페이스(122), 디바이스 드라이버(124), 플로우태그 캐시(126) 및 네트워크 스택(128) 중 일부 또는 전부를 저장하여 포함할 수 있다.
노드 인터페이스(122)는 PCIe 포트 또는 관련 네트워크 커넥터를 포함하고, 취합 디바이스(200)와의 통신 경로(116)를 확립하도록 디바이스 드라이버(124)와 통신할 수 있다.
플로우태그 캐시(126)는 MAC 어드레스-대-라우팅 정보 맵 데이터를 저장한다. 라우팅 정보는 수신지 디바이스에 대응하는 출구 포트 또는 다른 식별자를 포함할 수 있다. 일 실시예에 있어서, 플로우태그 캐시(126)는 투플, 예를 들어, {수신지 MAC 어드레스, VLAN 태그(존재하는 경우)}을 가변 길이 플로우태그에 매핑한다. 예를 들어, 플로우태그 캐시(126)는 취합 디바이스(200)에서의 포트 2와 서버 노드(112-2)의 MAC 어드레스를 매핑할 수 있다. 플로우태그는 취합 디바이스(200)에 이더넷 프레임 또는 다른 데이터 유닛, 예를 들어, 셀, 패킷 등과 송신되는 헤더 내에 삽입될 수 있다.
호스트 드라이버라고도 지칭되는 드라이버(124)는 플로우태그 캐시(126)를 관리할 수 있다. 일 실시예에 있어서, 드라이버(124)는 취합 디바이스(200)에서의 vNIC에 의해 지원되는 가상 큐, 또는 가상 큐(218)와 통신하는 가상 큐 인터페이스(132)를 포함한다.
네트워크 스택(128)은 네트워크 통신을 위한 다-계층 소프트웨어 스택을 포함할 수 있다. 네트워크 스택(128)은 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 또는 인터넷 프로토콜(IP) 스위트에 포함된 관련 프로토콜을 포함할 수 있다. 네트워크 스택(128)은, 예를 들어, 개방형 시스템 상호접속(OSI) 모델을 준수하는 다른 네트워크, 전송, 및/또는 링크 계층, 또는 다른 추상화 계층을 포함할 수 있다. 예를 들어, 네트워크 스택(128)의 링크 계층은 소스 및 수신지 MAC 어드레스를 배속시킬 수 있어서, 데이터 패킷이 서버 노드(112-1) 상의 특정 네트워크 인터페이스, 예를 들어, 인터페이스(122)로 지향될 수 있게 한다.
위에서 설명된 바와 같이, 서버 노드(112-1)는 가상화형일 수 있다. 가상화형 서버 노드(112-1)는 하나 이상의 가상 머신(도시되지 않음) 또는 게스트, 하이퍼바이저, 및/또는 다른 가상화 구성요소를 포함할 수 있어서, 서버 노드(112-1)가, 취합 디바이스(200)와 통신하고 있는 물리적 NIC(242), 및/또는 BIOS, HBA 또는 다른 하드웨어 디바이스와 같은, 하드웨어를 공유할 수 있게 한다.
취합 디바이스(200)는, 서버 노드(112)가 하나 이상의 원격 전자 디바이스(152)와 통신할 수 있도록, 서버 노드(112)와 하나 이상의 네트워크 인터페이스 카드(NIC)(242) 또는 관련 네트워크 어댑터 사이에 결합될 수 있다. 취합 디바이스(200)는 관용적 서버 랙에서 사용되는 전통적 이더넷 스위칭 요건 중 일부 또는 전부를 대체하는, 클러스터 내에 조직될 수 있는, 서버 노드(112)에 대한 접속 패브릭으로서 사용될 수 있다.
취합 디바이스(200)는 스위치 패브릭(202), 입/출력(I/O) 프로세서(204), 패킷 관리 디바이스(210), 복수의 포트 1-N, 및 대응하는 복수의 포트 프로세서(216-1 내지 216-N)를 포함할 수 있고, 여기서 N은 1보다 큰 정수이다.
포트 1-N은 입력 포트 및/또는 출력 포트일 수 있다. 포트 프로세서(216)는 서버 노드(112)와의 통신 경로(116)를 형성하는 PCIe 링크 등을 제공할 수 있다. 포트 프로세서(216)는 서버 노드(112)로부터의 인커밍 패킷을 처리하도록 송신 및/또는 수신 제어 로직 및 디코딩 로직을 포함할 수 있다.
스위치 패브릭(202)은 서버 노드(112) 간 데이터 플레인 상호접속을 제공하여, 하나 이상의 NIC(242)을 통해 취합 시스템(200)과 통신하고 있는 하나 이상의 원격 전자 디바이스(152) 및/또는 서버 노드(112) 간 데이터를 교환한다.
I/O 프로세서(204)는 취합 시스템(200)과 서버 노드(112) 및/또는 원격 컴퓨팅 디바이스(252) 간 전송된 데이터를 처리한다. I/O 프로세서(204)는 서버 노드(112) 및/또는 하나 이상의 원격 컴퓨팅 디바이스(152) 간 데이터 패킷의 전송을 감시할 수 있다. 일 실시예에 있어서, I/O 프로세서(204)는 서버 노드(112) 및/또는 원격 전자 디바이스(152) 간 데이터를 교환하기 위한 네트워크 프로세서를 포함한다. 다른 일 실시예에 있어서, I/O 프로세서(204)는, 예를 들어, 복수의 vNIC이 제공될 수 있는 제어 플레인 프로세서(도시되지 않음)에 따라 스위치 패브릭(202) 내외로 데이터 전송을 수행하도록 멀티플렉서 및 다른 로직을 포함한다. 여기서, I/O 프로세서(204)는, 예를 들어, 2개 이상의 서버 노드(112) 간, 또는 서버 노드(112)와 원격 컴퓨팅 디바이스(152) 간, 취합 디바이스(200) 내외로 데이터를 송신하기 위한 임시보관 구역(staging area)으로서 역할할 수 있다.
도 2는, 일 실시예에 따라, 도 1의 취합 시스템의 패킷 관리 디바이스(210)의 블록 선도이다. 패킷 관리 디바이스(210)는 매핑 테이블(222), 구성 관리 모듈(224), 크리덴셜 처리 엔진(226), 크리덴셜 타당성 검증 모듈(228) 및 순환 키 선택기(232)를 포함한다.
매핑 테이블(222)은 취합 시스템 포트 1-N 및 취합 디바이스(200)와 통신하고 있는 소스 서버 노드의 MAC 어드레스 간 소정 세트의 매핑을 포함한다. 매핑 테이블(222)은 취합 디바이스(200)와 통신하고 있는 서버 노드(112) 및/또는 다른 디바이스의 MAC 어드레스 및 서버 노드(112) 및/또는 다른 디바이스가 걸려 있는 포트를 추적 및 관리하는 소프트웨어 애플리케이션의 일부분일 수 있다. 예를 들어, 도 2를 참조하면, 서버 노드(212A, 212B)에 각각 할당된 MAC 어드레스는 각각 스위치 포트 1-N 중 어느 스위치 포트와 연관될 수 있어서, 하드웨어-집약적 CAM 테이블보다 더 적은 처리를 요구한다.
구성 관리 모듈(224)은 MAC 어드레스와 관련된 구성 변경을 검출할 수 있다. 예를 들어, 구성 관리 모듈(224)은 디바이스가 취합 디바이스(200)에서의 다른 포트로 변경되었을 때를 검출할 수 있다. 여기서, 외부 컨트롤러와 같은 관리 디바이스는 디바이스의 MAC 어드레스와 새로운 포트 간 매핑으로 매핑 테이블(222)을 업데이트할 수 있다.
크리덴셜 처리 엔진(226)은 취합 디바이스(200)와 서버 노드(112) 간 교환에 있어서 포트 번호 등과 같은 라우팅 정보를 보호하도록 사용될 수 있는 크리덴셜을 발생시킨다. 이것은, 예를 들어, MAC 어드레스와 같은 플로우태그 및 헤더 정보와 같은 데이터 패킷의 구성요소를 봉인하는 크리덴셜에 의해 달성될 수 있다. 크리덴셜 처리 엔진(226)은 가상 머신-당 또는 포트-당 단위로 크리덴셜을 발생시킬 수 있다. 크리덴셜의 캐시는 호스트 드라이버(124)에 의해 유지될 수 있다. 크리덴셜은 플로우태그 및 관련 헤더 정보의 단방향 해시를 컴퓨팅함으로써 크리덴셜 처리 엔진(226)에 의해 구성될 수 있다, 예를 들어: {포트당 시드, 포트 번호, 링크 번호, 가상 큐 태그}. 크리덴셜 처리 엔진(226)은, 크리덴셜이 한 번보다 많이 사용될 수 있도록, 크리덴셜을 순환시키는데 사용되는, 크리덴셜의 포트 시드 또는 순환 값, 또는 가상 큐(VQ) 태그, VLAN 멤버십, 및/또는 현재 활성 키에 기반하여 하나 이상의 크리덴셜을 할당할 수 있다.
플로우태그 데이터를 인증하는 크리덴셜 타당성 검증 모듈(228)은, 취합 디바이스(200)에서의 입구 포트에서, 플로우태그와 수신된 크리덴셜을 발생 또는 재계산된 사본에 대비하여 타당성 검증할 수 있다. 크리덴셜이 타당성 검증되고 나면, 플로우태그 컨텐트는 패킷을 적합한 수신지 가상 큐(218)로 라우팅하는데 사용될 수 있다.
여기서 설명되는 바와 같이, 크리덴셜은 취합 디바이스(200)에서 재활용될 수 있다. 순환 키 선택기(232)는 소정 기준으로 크리덴셜을 재활용할 수 있고, 크리덴셜의 상태를 유지할 수 있다. 이것은 권한 없는 호스트 또는 다른 스누핑 디바이스가 크리덴셜을 전복시키지 않게 방지하거나 그렇지 않으면 그 위험을 감축하도록 순환 키 선택기(232)에 의해 주기적으로 순환되는 키, 예를 들어, VQ-당 키에 의해 달성될 수 있다.
도 3은, 일 실시예에 따라, 네트워크 환경에서 데이터 교환을 관리하기 위한 방법(300)의 순서도이다. 방법(300)을 설명함에 있어서는, 도 1 및 도 2의 구성요소를 참조한다.
블록(302)에서, 플로우태그 캐시 맵이 생성된다. 플로우태그 캐시 맵은 서버 노드 MAC 어드레스와 취합 디바이스(200)에서의 디바이스 포트 간 매핑을 포함할 수 있다. 예를 들어, 도 1을 참조하면, 캐시(126)에서의 플로우태그 캐시 맵은 서버 노드(112-1)의 MAC 어드레스와 취합 디바이스(200)의 포트 1 간 제1 매핑 및 서버 노드(112-2)의 MAC 어드레스와 취합 디바이스의 포트 2 간 제2 매핑을 포함할 수 있다. 플로우태그 캐시 맵은 MAC 어드레스-대-포트 매핑과 관련된 취합 디바이스(200), 예를 들어, 취합 디바이스(200)에 결합된 새로운 디바이스에서 수집된 데이터에 의해 파퓰레이팅될(populated) 수 있다.
결정 마름모(304)에서는, 소스 노드 드라이버, 예를 들어, 서버 노드(112-1)의 드라이버(124)가 수신지 MAC 어드레스, 예를 들어, 수신지 서버 노드(112-2)의 MAC 어드레스와 출구 포트 아이디(ID), 예를 들어, 수신지 서버(112-2)가 통신하고 있는 포트 2 간 매핑을 식별할 수 있는지 결정한다. 소스 드라이버(124)가 수신지 서버 노드(112-2)의 MAC 어드레스와 수신지 서버 노드(112-2)와 통신하고 있는 취합 디바이스(200)에서의 포트, 즉, 포트 2 간 매핑을 결정하면, 그때 방법(300)은 블록(312)으로 진행하고, 거기에서 취합 디바이스(200)는, 수신지 MAC 어드레스 대신에, 수신지 서버 노드(112-2)의 포트 ID, 즉, 포트 2에 따라 소스 서버 노드(112-1)로부터 수신지 서버 노드(112-2)로 보내지는 패킷을 처리한다.
소스 드라이버(124)가 수신지 서버 노드(112-2)의 MAC 어드레스와 수신지 포트, 즉, 포트 2 간 매핑을 식별하지 못하면, 그때 방법(300)은 블록(306)으로 진행하고, 거기에서는 수신지 MAC 어드레스가 패킷 관리 디바이스(210)에 포워딩된다.
블록(308)에서, 패킷 관리 디바이스(210)는 수신된 수신지 MAC 어드레스에 대응하는 포트 번호 또는 관련 식별자를 소스 서버 노드(112-1)에 보낼 수 있다. 포트 번호는 바람직하게는 수신지 MAC 어드레스를 갖는 수신지 서버 노드(112-2)가 통신하고 있는 출구 포트와 관련된다. 포트 번호 또는 관련 식별자는, 요청에 응답하여 소스 서버 노드(112-1)에 보내지는, 패킷 관리 디바이스에서 발생된 플로우태그의 일부분일 수 있다. 플로우태그는 플로우태그 캐시(126)에 저장될 수 있다.
블록(310)에서, 소스 서버 노드(112-1)는 그 수신지로 라우팅하도록 플로우태그를 포함하는 데이터 패킷을 취합 디바이스(200)에 출력한다. 데이터 패킷은 이더넷 패킷 등일 수 있다.
블록(312)에서, 취합 디바이스(200)는 수신지 서버 노드(112-2)의 포트 번호 또는 관련 식별자, 즉, 포트 2에 따라 소스 서버 노드(112-1)로부터 수신지 서버 노드(112-2)로 보내지는 패킷을 처리한다. 라우팅이 포트 번호에 따라 일어나므로, 라우팅이 MAC 어드레스에 따라 일어나는 구성보다 더 적은 처리가 요구된다.
도 4는, 다른 일 실시예에 따라, 전자 통신 환경에서 데이터 교환을 관리하기 위한 방법(400)의 순서도이다. 방법(400)을 설명함에 있어서는, 도 1 내지 도 3의 구성요소를 참조한다.
블록(402)에서는, 구성 변경이 검출된다. 구성 변경은 서버 노드(112)에 의한 다른 포트로의 변경을 포함할 수 있다. 서버 노드(112) 또는 외부 디바이스(152)는 다른 MAC 어드레스로 재구성될 수 있거나, MAC 어드레스가 다른 서버 노드(112) 또는 외부 디바이스(152)에 재할당될 수 있다. 여기에서, 소스 서버 노드(112-1)에서의 캐시(126)는 취합 디바이스(200)의 포트 2에 매핑된 MAC 어드레스를 가리키는 엔트리를 갖고 있을 수 있다. 그렇지만, 취합 디바이스(200), 더 구체적으로는, 패킷 관리 디바이스(210)의 구성 매니저(228)는 다른 MAC 어드레스가 포트 2와 통신하고 있음, 또는 캐시(126)에 저장된 MAC 어드레스가 다른 MAC 어드레스로 변경되었음을 검출할 수 있다. 다른 일례에 있어서, 취합 디바이스(200)는 서버 노드(112)에서의 가상 머신에 다른 MAC 어드레스가 할당되어 있음을 검출한다.
블록(404)에서, 패킷 관리 디바이스(210)는 소스 서버 노드(112-1)에 요청을 보낸다. 그 요청은 수신지 MAC 어드레스와 포트 2의 이전 매핑이 더 이상 유효하지 않음을 소스 서버 노드(112-1)에 나타내는 무효화 요청을 포함할 수 있다. 다른 일 실시예에 있어서, 그 요청은 소스 서버 노드(112-1)에 대한 업데이트 요청을 포함한다. 소스 서버 노드(112-1)는 플로우태그 캐시(126)에서 이전 매핑 정보를 소거하고 새로운 매핑 정보를 처리한다. 따라서, 플로우태그 캐시(126)에서의 이전 매핑을 무효화하라는 요청이 패킷 관리 디바이스(210)에 의해 보내질 수 있거나, 또는 대안으로, 매핑의 무효화 및 후속 업데이트를 수행하는 표시자가 소스 서버 노드(112-1))에 보내질 수 있다.
블록(406)에서, 플로우태그 캐시(126)는 블록(402)에서 검출된 구성 변경을 반영하는 MAC 어드레스-대-포트 매핑 정보를 포함하도록 업데이트된다. MAC 어드레스-대-포트 매핑 정보는 패킷 관리 디바이스(210)의 매핑 테이블(222)로부터 제공된다.
도 5는, 일 실시예에 따라, 패킷 데이터를 타당성 검증하기 위한 방법(500)의 순서도이다. 방법(500)을 설명함에 있어서는, 도 1 내지 도 4의 구성요소를 참조한다. 방법(500)은, 예를 들어, 가상화형 서버 노드의 게스트 드라이버에서의 MAC 어드레스와 같은 라우팅 정보가 스푸핑을 위해 취득되거나 또는 다른 권한 없는 사용 또는 불법 사용되기 쉬울 수 있는 어드레스 보안-관련 문제에 적용되어, 예를 들어, 타인이 서버 노드로의 액세스를 피하여 데이터를 취득하는 것을 방지할 수 있다.
블록(502)에서, 소스 서버 노드(112-1)는 취합 디바이스(200)에 라우팅 요청 메시지를 보낼 수 있다. 라우팅 요청 메시지는 수신지 MAC 어드레스 또는 다른 라우팅 데이터에 대한 요청을 포함할 수 있다.
블록(504)에서, 취합 디바이스(200)의 패킷 관리 디바이스(210)는 블록(502)에서 이루어진 요청에 응답하여 라우팅 데이터를 보낼 수 있다. 일 실시예에 있어서, 취합 디바이스(200)는 매핑 테이블(222)에서의 매핑 정보에 따라 요청된 수신지 MAC 어드레스 대신에 플로우태그를 갖는 크리덴셜을 보낸다.
취합 디바이스(200)는 또한 라우팅 데이터와 VLAN 멤버십 데이터와 같은 크리덴셜 및/또는 다른 정보를 요청 소스 서버 노드(112-1)에 보낼 수 있다. 크리덴셜은 크리덴셜 처리 엔진(226)에 의해 생성될 수 있다. 크리덴셜은, 아래에서 설명되는 바와 같이 크리덴셜을 재활용하도록 사용될 수 있는, 포트-당 시드, 포트 번호, 링크 번호, 가상 큐 식별자 또는 태그, 및/또는 세대 아이디와 같은 플로우태그 데이터 및/또는 패킷 헤더 정보의 단방향 해시를 컴퓨팅함으로써 구성될 수 있다. 일 실시예에 있어서, 크리덴셜은 서버 노드(112)의 각각의 가상 머신에 대해 생성된다. 다른 일 실시예에 있어서, 크리덴셜은 서버 노드(112) 또는 다른 전자 디바이스가 결합되는 각각의 포트 1-N에 대해 생성된다. 크리덴셜 처리 엔진(226)은, 도 7을 참조하여 아래에서 설명되는, 가상 큐 태그, 소스에 대한 VLAN 멤버십, 및/또는 현재 활성 키에 기반하여 크리덴셜을 할당할 수 있다.
블록(506)에서, 서버 노드(112)는 플로우태그를 포함하는 패킷 또는 관련 데이터 유닛을 송신한다. 플로우태그는, 예를 들어, 여기에서 설명되는 수신지 포트, VLAN 데이터, 및/또는 다른 라우팅 데이터와 관련된 데이터를 포함할 수 있다. 플로우태그는 블록(504)에서 설명된 취합 디바이스(200)에 의해 제공된 세대 아이디 또는 위상 아이디 및/또는 크리덴셜을 포함할 수 있다. 플로우태그가 제공된 패킷은 이더넷 패킷 등일 수 있다.
블록(508)에서, 패킷 관리 디바이스(210)는 플로우태그와 수신된 크리덴셜을 타당성 검증한다. 크리덴셜 타당성 검증 모듈(228)은, 예를 들어, 크리덴셜을 재계산함으로써, 예를 들어, 단방향 해시를 수행함으로써, 입구 포트에서 발생된 사본에 대비하여 수신된 크리덴셜을 타당성 검증할 수 있다. 일 실시예에 있어서, 크리덴셜 타당성 검증 모듈(228)은 게스트가 데이터 버퍼를 가리키는 기술자를 서버 노드(112)에 게시할 수 있게 하는, 그리고 서버 노드(112)가 기술자를 재사용을 위해 게스트에 다시 풀어줄 수 있게 하는 취합 디바이스(200)에서의 하나 이상의 가상 큐와 통신한다. 여기에서, 플로우태그 및 패킷을 취합 디바이스(200)를 통해 이동시키도록 요청 서버 노드 가상 머신의 NIC과 플로우 경로가 확립될 수 있다.
블록(510)에서, 타당성 검증이 완료되고 나면, 취합 디바이스 출구 포트 번호와 같은 플로우태그 컨텐트는 패킷을 그 수신지로 라우팅하도록 사용될 수 있다. 패킷은, 예를 들어, 데이터 버퍼링을 위해 취합 디바이스(200)에서의 수신지 가상 큐(218)로 라우팅될 수 있다. 다른 실시예에 있어서, 패킷은 수신지 서버 노드(112) 또는 원격 디바이스로의 출력을 위해 출구 포트 1-N로 직접 라우팅된다.
도 6은, 일 실시예에 따라, 서버 노드(112)로부터 취합 디바이스(200)로 출력되는 패킷(600)의 컨텐트를 예시하는 선도이다.
데이터 유닛(600)은 패킷, 프레임, 셀 등일 수 있다. 데이터 유닛(600)은 플로우태그(602), 헤더(604) 및 데이터 페이로드(606)를 포함한다. 플로우태그(602)는 여기에서의 실시예에 따라 설명된 것들과 동일 또는 유사할 수 있다. 헤더(604)는 이더넷 헤더 등일 수 있고, 프리앰블, 소스 MAC 어드레스, 수신지 MAC 어드레스, VLAN ID, 및/또는 이더넷 유형 필드를 포함할 수 있다.
플로우태그(602)는 포트 ID 필드, 크리덴셜 필드, 및/또는 세대 ID 필드를 포함할 수 있다. 포트 ID 필드는 수신지 포트 번호를 포함할 수 있다. 포트 ID 필드 내 포트 번호는 네트워크 패킷(604)을 수신지 디바이스로 라우팅하는데 사용될 수 있다. 크리덴셜 필드는, 예를 들어, 여기에서 설명된 방법에 따라 취합 디바이스(200)에 의해 발생되어 데이터 교환 동안 서버 노드(112-1)에 제공되는 크리덴셜을 포함할 수 있다.
세대 ID 필드는 세대 아이디 또는 포트 시드를 포함할 수 있는데, 그것은 스누퍼가 시간에 걸쳐 정보를 모으는 것을 방지하도록 사용될 수 있으며 그렇지 않았더라면 해시를 약화시켰을 것이다. 세대 ID는 취합 디바이스(200)가 생성된 크리덴셜의 상태를 유지할 수 있게 하고, 크리덴셜이, 예를 들어, 크리덴셜을 추적함으로써 주기적으로 재활용될 수 있게 한다.
도 7은, 일 실시예에 따라, 패킷 타당성 검증 플로우를 예시하는 상세한 블록 선도이다. 패킷 타당성 검증 플로우를 설명함에 있어서는 도 1 내지 도 6의 구성요소, 특히, 도 5의 블록(508)에서 설명된 크리덴셜 타당성 검증 단계를 참조한다.
서버 노드(112)는 패킷(702) 등을 취합 디바이스(200)에 송신한다. 패킷(702)은 플로우태그(712), 이더넷 헤더(714) 및 페이로드(716)를 포함한다. 플로우태그(712)는 도 6에서 설명된 플로우태그(602)와 유사할 수 있다. 다른 실시예에 있어서는, 도 7에 도시된 바와 같이, 플로우태그(712)가 키 선택 필드(722), 크리덴셜 필드(724) 및 VQ_DestTag 필드(726)를 포함한다.
키 선택 필드(722)는, 유효한 암호화 키(키 0, 키 1)를 선택하도록, 세대 아이디(ID)라고도 지칭되는, 순환 키 선택기(704)에 의해 사용되는 키 선택 값을 포함한다. 선택된 암호화 키(734)는 타당성 검증 프로세스 동안 플로우태그(712) 내 크리덴셜(724)에 비교되는 크리덴셜이 발생될 때 사용될 수 있다. 키(키 0, 키 1)는 취합 디바이스(200)에서 저장될 수 있고, 스누퍼와 같은 권한 없는 당사자가 크리덴셜을 발생 및 타당성 검증하기 위한 메커니즘을 전복시킬 위험을 감축하기 위하여, 소정 기준으로 예를 들어 매 4초마다 크리덴셜 처리 엔진(226)에 의해 순환될 수 있다.
크리덴셜(724)은 여기에서 설명된 실시예에 따라 발생되어 플로우태그(712)에 삽입될 수 있다, 예를 들어, 크리덴셜 처리 엔진(226)에 의해 발생될 수 있다. 크리덴셜(724)은 일부는 크리덴셜 처리 엔진(226)이, 이더넷 헤더(714)의 VLAN 멤버십 아이디(VLAN_ID)(730)와 같은, 인커밍 패킷(702)으로부터 수신된 데이터(740)를 사용하여 크리덴셜을 재계산하는 것에 의하여 크리덴셜 타당성 검증 모듈(228)에 의해 타당성 검증된다.
VQ_DestTag(726)는 패킷 데이터를 수신하도록 수신지 디바이스를 식별하는 가상 큐에 관한 것이다. VQ_DestTag(726)는 수신지 디바이스에 의한 수신을 위해 취합 디바이스(200)에서 버퍼 등에 패킷 데이터의 저장과 관련된 MMIO 메일박스 기록 어드레스 및 데이터를 디코딩함으로써 생성될 수 있다.
이더넷 헤더(714)는 프리앰블, 소스 MAC 어드레스, 수신지 MAC 어드레스, VLAN ID, 및 이더넷 유형 필드와 같이 당업자에게 주지되어 있는 하나 이상의 필드를 포함할 수 있다.
패킷 타당성 검증 연산 동안, 크리덴셜 타당성 검증 모듈(228)은 패킷(702)의 크리덴셜(724)에 비교되는 크리덴셜을 발생시킨다. 이더넷 헤더(714)의 VQ_DestTag(726) 및 VLAN ID는, 타당성 검증 결과를 산출하도록 수신된 플로우태그(702) 내 크리덴셜(724)에 비교될 수 있는 크리덴셜을 발생시키기 위해 순환 키 선택기(232)로부터 출력된 VQ_SrcTag 및 키(키 0, 키 1)와 조합될 수 있다. 타당성 검증이 실패하면, 그때는 패킷이 누락될 수 있고, 결과에 대한 로그가 생성될 수 있다. 타당성 검증이 통과되면, 패킷 프로세서는 수신된 데이터를 처리할 수 있다.
당업자에 의해 인식될 바와 같이, 본 발명의 태양은 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구체화될 수 있다. 따라서, 본 발명의 태양은 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함) 또는 여기서 일반적으로는 전부 "회로", "모듈" 또는 "시스템"이라고 지칭될 수 있는 하드웨어 및 소프트웨어 태양을 조합하는 실시예의 형태를 취할 수 있다. 더욱, 본 발명의 태양은 컴퓨터 판독가능 프로그램 코드를 구체화해 놓은 하나 이상의 컴퓨터 판독가능 매체(들)에 구체화된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 판독가능 매체(들)의 어떠한 조합이라도 이용될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 신호 매체 또는 컴퓨터 판독가능 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는 국한되는 것은 아니지만, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치 또는 디바이스, 또는 상기의 어느 적합한 조합이라도 될 수 있다. 컴퓨터 판독가능 저장 매체의 더 구체적 예(빠짐없는 것은 아닌 리스트)는 이하의 것을 포함할 것이다: 하나 이상의 유선을 갖는 전기 커넥션, 휴대용 컴퓨터 디스켓, 하드 디스크, 램(RAM), 롬(ROM), 이피롬(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 롬(CD-ROM), 광학 저장 디바이스, 자기 저장 디바이스, 또는 상기의 어느 적합한 조합. 본 문서의 맥락에 있어서, 컴퓨터 판독가능 저장 매체는 명령 실행 시스템, 장치 또는 디바이스와 연관되는 또는 그에 의한 사용을 위한 프로그램을 포함 또는 저장할 수 있는 어느 유형적 매체라도 될 수 있다.
컴퓨터 판독가능 신호 매체는, 예를 들어 기저대역으로 또는 반송파의 일부분으로서, 컴퓨터 판독가능 프로그램 코드가 내부에 구체화되어 있는 전파되는 데이터 신호를 포함할 수 있다. 그러한 전파되는 신호는, 국한되는 것은 아니지만, 전기-자기, 광학 또는 그 어느 적합한 조합을 포함하는 각종 형태를 취할 수 있다. 컴퓨터 판독가능 신호 매체는 명령 실행 시스템, 장치 또는 디바이스와 연관되는 또는 그에 의한 사용을 위한 프로그램을 통신, 전파 또는 송출할 수 있는 그리고 컴퓨터 판독가능 저장 매체가 아닌 어느 컴퓨터 판독가능 매체라도 될 수 있다. 컴퓨터 판독가능 매체 상에 구체화된 프로그램 코드는, 국한되는 것은 아니지만, 무선, 유선, 광섬유 케이블, RF 등 또는 상기의 어느 적합한 조합이라도 포함하는 어느 적합한 매체를 사용하여 송신될 수 있다.
본 발명의 태양의 연산을 수행하기 위한 컴퓨터 프로그램 코드는 자바(Java), 스몰토크(Smalltalk), C++ 등과 같은 객체 지향형 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 관용적 프로시저 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 어느 조합으로라도 작성될 수 있다. 프로그램 코드는 전적으로 사용자의 컴퓨터 상에서, 일부는 사용자의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서, 일부는 사용자의 컴퓨터 상에서 그리고 일부는 원격 컴퓨터 상에서 또는 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에 있어서, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 통신망(WAN)을 포함하는 어느 유형의 네트워크라도 통하여 사용자의 컴퓨터에 접속될 수 있거나, 또는 커넥션이 (예를 들어, 인터넷 서비스 제공자를 사용하는 인터넷을 통해) 외부 컴퓨터에 이뤄질 수 있다.
본 발명의 태양은 본 발명의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 예시적 순서도 및/또는 블록 선도를 참조하여 여기에서 설명된다. 예시적 순서도 및/또는 블록 선도의 각각의 블록, 및 예시적 순서도 및/또는 블록 선도 내 블록의 조합은 컴퓨터 프로그램 명령어에 의해 구현될 수 있음을 이해할 것이다. 이들 컴퓨터 프로그램 명령어는, 컴퓨터 또는 다른 프로그래밍 가능한 데이터 처리 장치의 프로세서를 통하여 실행될 수 있는 명령어가 순서도 및/또는 블록 선도 블록 또는 블록들에 명시된 기능/작용을 구현하기 위한 수단을 생성하게 되도록, 범용 컴퓨터, 특수 목적 컴퓨터, 또는 머신을 산출하는 다른 프로그래밍 가능한 데이터 처리 장치의 프로세서에 제공될 수 있다.
이들 컴퓨터 프로그램 명령어는 또한, 컴퓨터 판독가능 매체에 저장된 명령어가 순서도 및/또는 블록 선도 블록 또는 블록들에 명시된 기능/작용을 구현하는 명령어를 포함하는 제조 물품을 산출하게 되도록, 컴퓨터에 지시할 수 있는 컴퓨터 판독가능 매체, 다른 프로그래밍 가능한 데이터 처리 장치, 또는 특정 방식으로 기능하는 다른 디바이스에 저장될 수 있다. 이들 컴퓨터 프로그램 명령어는 또한, 컴퓨터 또는 다른 프로그래밍 가능한 장치 상에서 실행되는 명령어가 순서도 및/또는 블록 선도 블록 또는 블록들에 명시된 기능/작용을 구현하기 위한 프로세스를 제공하게 되도록, 일련의 연산 단계가 컴퓨터, 다른 프로그래밍 가능한 장치 또는 다른 디바이스 상에 수행되게 하기 위해 컴퓨터, 다른 프로그래밍 가능한 데이터 처리 장치 또는 다른 디바이스 상에 로딩될 수 있다.
도면에서의 순서도 및 블록 선도는 본 발명의 다양한 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능성 및 연산을 예시한다. 이와 관련하여, 순서도 또는 블록 선도에서의 각각의 블록은 명시된 논리 기능(들)을 구현하기 위한 하나 이상의 실행가능한 명령어를 포함하는 모듈, 세그먼트, 또는 코드 일부를 표현할 수 있다. 일부 대안의 구현에서는, 블록에 언급된 기능이 도면에 언급된 순서와 다르게 일어날 수 있음을 또한 주목해야 한다. 예를 들어, 연속으로 도시된 2개의 블록은 실제로는 실질적으로 동시다발적으로 실행될 수도 있고, 블록들은 때로는, 관련 기능성에 의존하여, 역순으로 실행될 수도 있다. 예시적 순서도 및/또는 블록 선도의 각각의 블록, 및 예시적 순서도 및/또는 블록 선도 내 블록의 조합은 명시된 기능 또는 작용을 수행하는 특수 목적 하드웨어-기반 시스템, 또는 특수 목적 하드웨어 및 컴퓨터 명령어의 조합에 의해 구현될 수 있다.
본 발명이 특정 실시예를 참조하여 도시 및 설명되었지만, 본 발명의 취지 및 범위로부터 벗어남이 없이 형태 및 상세의 다양한 변화가 거기에 이뤄질 수 있음을 당업자는 이해해야 한다.

Claims (31)

  1. 네트워크 환경에서 데이터 교환을 관리하기 위한 방법으로서,
    취합 디바이스로부터 소스 디바이스로 플로우태그(flowtag)를 송신하는 단계, 상기 플로우태그는 상기 취합 디바이스에서의 포트를 식별하는 포트 아이디(port identification)를 포함하고, 상기 포트는 MAC(Media Access Control) 어드레스를 갖는 수신지 디바이스에 통신가능하게 접속되며;
    상기 취합 디바이스에서 데이터 패킷 및 상기 플로우태그를 상기 소스 디바이스로부터 수신하는 단계;
    상기 취합 디바이스에서 상기 데이터 패킷을 인증하는 단계; 및
    상기 데이터 패킷을 인증하면, 상기 플로우태그 내의 상기 포트 아이디에 따라 상기 데이터 패킷을 상기 취합 디바이스로부터 상기 수신지 디바이스로 출력하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 포트 아이디는 상기 MAC 어드레스에 대하여 상기 취합 디바이스 내의 매핑 테이블에 매핑되는 것인 방법.
  3. 제1항에 있어서, 상기 소스 디바이스는 서버 노드를 포함하는 것인 방법.
  4. 제1항에 있어서,
    상기 소스 디바이스로부터 상기 취합 디바이스로 상기 포트 아이디에 대한 요청을 보내는 단계, 상기 요청은 상기MAC 어드레스를 포함하며;
    상기 MAC 어드레스를 상기 포트 아이디와 연관시키는 상기 취합 디바이스에서의 매핑 테이블 엔트리에 따라, 상기 포트를 식별하는 포트 아이디를 포함하는 상기 플로우태그를 상기 취합 디바이스로부터 상기 소스 디바이스로 보내는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 취합 디바이스에서 상기 플로우태그를 발생시키는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 취합 디바이스에서 구성 변경을 검출하는 단계;
    상기 구성 변경과 관련된 데이터를 포함하는 요청을 상기 취합 디바이스로부터 상기 소스 디바이스로 보내는 단계; 및
    상기 구성 변경과 관련된 상기 데이터를 포함하도록 상기 요청에 응답하여 상기 소스 디바이스에서 상기 플로우태그를 업데이트하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 데이터 패킷을 인증하는 단계는,
    라우팅 요청 메시지(routing request message)를 상기 소스 디바이스로부터 상기 취합 디바이스로 보내는 단계;
    상기 플로우태그를 봉인(seal)하는 크리덴셜(credential)을 상기 취합 디바이스로부터 상기 소스 디바이스에서 수신하는 단계;
    상기 플로우태그와 상기 데이터 패킷을 상기 소스 디바이스로부터 상기 취합 디바이스로 송신하는 단계, 상기 플로우태그는 상기 크리덴셜을 포함하고; 그리고
    상기 취합 디바이스에서 상기 크리덴셜을 타당성 검증함으로써 상기 데이터 패킷을 인증하는 단계를 포함하는 것인 방법.
  8. 제7항에 있어서,
    상기 플로우태그는 상기 취합 디바이스에서 발생된 복수의 크리덴셜 중에서 상기 크리덴셜에 대응하는 세대 ID(generation ID)를 포함하는 것인 방법.
  9. 제7항에 있어서,
    상기 크리덴셜을 타당성 검증하는 것은,
    상기 취합 디바이스에서 제 2 크리덴셜을 발생시키는 단계;
    상기 소스 디바이스로부터 보내진 상기 크리덴셜과 상기 제 2 크리덴셜을 상기 취합 디바이스에서 비교하는 단계; 및
    상기 소스 디바이스로부터 보내진 상기 크리덴셜이 상기 제 2 크리덴셜과 매칭되면 상기 소스 디바이스로부터 보내진 상기 크리덴셜을 유효라고 결정하고 또는 상기 소스 디바이스로부터 보내진 상기 크리덴셜이 상기 제 2 크리덴셜과 매칭되지 않으면 상기 소스 디바이스로부터 보내진 상기 크리덴셜을 무효라고 결정하는 단계를 포함하는 것인 방법.
  10. 제9항에 있어서,
    상기 소스 디바이스로부터 보내진 상기 크리덴셜이 무효라는 결정에 응답하여 상기 데이터 패킷을 폐기하고 타당성 검증 결과의 로그를 생성하는 단계를 더 포함하는 방법.
  11. 제7항에 있어서,
    상기 취합 디바이스에서 순환 키 선택기로부터 키를 제공하는 단계; 및
    상기 취합 디바이스에서 복수의 발생된 크리덴셜로부터 상기 크리덴셜을 선택하도록 상기 키를 사용하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서,
    상기 소스 디바이스에서 플로우태그 캐시를 유지하는 단계를 더 포함하며, 상기 플로우태그 캐시는 하나 이상의 플로우태그들을 저장하도록 구성되는 것인 방법.
  13. 데이터 패킷을 처리하기 위한 방법으로서,
    취합 디바이스에서 발생된 플로우태그를, 상기 취합 디바이스로부터 소스 디바이스에서 수신하는 단계, 상기 플로우태그는 라우팅 데이터 및 크리덴셜을 포함하고, 상기 라우팅 데이터는 상기 취합 디바이스에서의 포트에 대응하는 포트 아이디를 포함하며, 상기 포트는 MAC 어드레스를 갖는 수신지 디바이스에 통신가능하게 접속되며; 그리고
    상기 플로우태그를 포함하는 데이터 패킷 및 대응하는 데이터 유닛을 상기 소스 디바이스로부터 상기 취합 디바이스로 보내는 단계를 포함하는 방법.
  14. 삭제
  15. 제13항에 있어서, 상기 플로우태그는 상기 취합 디바이스에서 발생된 복수의 크리덴셜 중에서 상기 크리덴셜에 대응하는 세대 ID를 포함하는 것인 방법.
  16. 제13항에 있어서,
    상기 소스 디바이스로부터 보내진 상기 크리덴셜이 무효라는 결정에 응답하여 타당성 검증 결과의 로그를 상기 취합 디바이스에서 생성하는 단계를 더 포함하는 방법.
  17. 제13항에 있어서,
    상기 취합 디바이스에서 순환 키 선택기로부터 키를 제공하는 단계; 및
    상기 취합 디바이스에서 복수의 발생된 크리덴셜로부터 상기 크리덴셜을 선택하도록 상기 키를 사용하는 단계를 더 포함하는 방법.
  18. 제13항에 있어서,
    상기 취합 디바이스에서 상기 크리덴셜을 타당성 검증함으로써 상기 데이터 패킷을 인증하는 단계; 및
    상기 크리덴셜을 타당성 검증하는 것에 응답하여 상기 플로우태그 내 상기 라우팅 데이터에 따라 상기 데이터 유닛을 처리하는 단계를 더 포함하는 방법.
  19. 데이터 네트워크로서,
    데이터 전송 연산에서 플로우태그를 데이터 패킷에 할당하는 소스 디바이스;
    상기 데이터 전송 연산에서 상기 데이터 패킷을 수신하는 수신지 디바이스; 및
    상기 소스 디바이스가 통신하고 있는 제 1 포트 및 상기 수신지 디바이스가 통신하고 있는 제 2 포트를 갖는 취합 디바이스를 포함하며,
    상기 취합 디바이스는 상기 플로우태그 내의 라우팅 데이터를 처리하고 상기 플로우태그를 봉인하는 크리덴셜을 타당성 검증하는 패킷 관리 디바이스를 포함하고, 상기 플로우태그 내의 상기 라우팅 데이터는 상기 제 2 포트에 대응하는 포트 아이디를 포함하고,
    상기 취합 디바이스는 상기 데이터 패킷 및 상기 플로우태그를 상기 소스 디바이스로부터 수신하고 그리고 상기 플로우태그 내의 상기 포트 아이디에 기초하여 상기 데이터 패킷을 상기 수신지 디바이스로 포워딩하도록 구성되는 것을 특징으로 하는 데이터 네트워크.
  20. 제19항에 있어서,
    상기 소스 디바이스는 복수의 엔트리, 상기 소스 디바이스의 MAC 어드레스와 상기 제 1 포트에 대응하는 포트 아이디 간 매핑을 포함하는 제 1 엔트리, 및 상기 수신지 디바이스의 MAC 어드레스와 상기 제 2 포트에 대응하는 상기 포트 아이디 간 매핑을 포함하는 제 2 엔트리를 포함하는 플로우태그 캐시를 포함하는 것인 데이터 네트워크.
  21. 제20항에 있어서,
    상기 패킷 관리 디바이스는 상기 소스 디바이스로부터 보내진 요청에 응답하여 상기 수신지 디바이스의 상기 MAC 어드레스와 상기 제2 포트에 대응하는 상기 포트 아이디 간 매핑을 제공하는 매핑 테이블을 포함하는 것인 데이터 네트워크.
  22. 제21항에 있어서, 상기 패킷 관리 디바이스는 포트 구성 변경을 검출하는 구성 관리 모듈을 포함하고, 상기 매핑 테이블은 상기 포트 구성 변경에 응답하여 업데이트되는 것인 데이터 네트워크.
  23. 제19항에 있어서, 상기 패킷 관리 디바이스는 상기 크리덴셜을 발생시키는 크리덴셜 처리 엔진을 포함하는 것인 데이터 네트워크.
  24. 제23항에 있어서, 상기 패킷 관리 디바이스는 상기 소스 디바이스로부터 수신된 상기 크리덴셜을 타당성 검증하는 크리덴셜 타당성 검증 모듈을 포함하는 것인 데이터 네트워크.
  25. 제23항에 있어서, 상기 패킷 관리 디바이스는 복수의 크리덴셜로부터 상기 크리덴셜을 선택하기 위한 키를 제공하는 순환 키 선택기를 포함하는 것인 데이터 네트워크.
  26. 취합 디바이스로서,
    소스 디바이스와 통신하는 제 1 포트;
    MAC 어드레스를 갖는 수신지 디바이스와 통신하는 제 2 포트; 및
    매핑 테이블을 포함하는 패킷 관리 디바이스를 포함하며,
    상기 매핑 테이블은 상기 제 1 포트와 상기 소스 디바이스 사이의 제 1 매핑 및 상기 제 2 포트와 상기 수신지 디바이스 사이의 제 2 매핑을 포함하며, 상기 패킷 관리 디바이스는 상기 소스 디바이스로부터 데이터 유닛을 수신하고 상기 데이터 유닛과 함께 제공되는 상기 제 2 포트와 관련된 정보에 따라 상기 데이터 유닛을 상기 수신지 디바이스로 라우팅하며, 상기 제 2 포트와 관련된 상기 정보는 상기 데이터 유닛과 함께 수신되는 플로우태그 내에 포함된 상기 제 2 포트에 대한 아이디(identification)인 것을 특징으로 하는 취합 디바이스.
  27. 제26항에 있어서, 상기 패킷 관리 디바이스는 포트 구성 변경을 검출하는 구성 관리 모듈을 포함하고, 상기 매핑 테이블은 상기 포트 구성 변경에 응답하여 업데이트되는 것인 취합 디바이스.
  28. 제27항에 있어서,
    상기 패킷 관리 디바이스는 상기 데이터 유닛을 인증하기 위한 크리덴셜을 발생시키는 크리덴셜 처리 엔진을 포함하는 것인 취합 디바이스.
  29. 제28항에 있어서, 상기 패킷 관리 디바이스는 발생된 상기 크리덴셜을 사용하여 상기 소스 디바이스로부터 상기 플로우태그와 수신된 크리덴셜을 타당성 검증하는 크리덴셜 타당성 검증 모듈을 포함하는 것인 취합 디바이스.
  30. 제28항에 있어서, 상기 패킷 관리 디바이스는 상기 크리덴셜을 발생시키기 위한 키를 제공하는 순환 키 선택기를 포함하는 것인 취합 디바이스.
  31. 컴퓨터 판독가능 프로그램 코드가 내장되어 있는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 판독가능 프로그램 코드는,
    플로우태그를 소스 디바이스에서의 데이터 패킷에 할당하도록 구성된 컴퓨터 판독가능 프로그램 코드, 상기 플로우태그는 취합 디바이스에서의 포트를 식별하는 포트 아이디 및 크리덴셜을 포함하고, 상기 포트는 MAC 어드레스를 갖는 수신지 디바이스에 통신가능하게 접속되며;
    상기 소스 디바이스로부터 상기 취합 디바이스로 상기 데이터 패킷 및 상기 플로우태그를 전송하도록 구성된 컴퓨터 판독가능 프로그램 코드;
    상기 크리덴셜에 기초하여 상기 취합 디바이스에서 상기 데이터 패킷을 인증하도록 구성된 컴퓨터 판독가능 프로그램 코드; 및
    상기 플로우태그 내의 상기 포트 아이디에 기초하여, 상기 포트로부터 상기 데이터 패킷을 상기 취합 디바이스로부터 상기 수신지 디바이스로 출력하도록 구성된 컴퓨터 판독가능 프로그램 코드
    를 포함하는 것인 컴퓨터 판독가능 저장 매체.
KR1020157011759A 2012-11-13 2013-11-12 데이터 플로우 처리를 위한 방법 및 디바이스 KR101688984B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/675,401 US8875256B2 (en) 2012-11-13 2012-11-13 Data flow processing in a network environment
US13/675,401 2012-11-13
PCT/US2013/069572 WO2014078271A1 (en) 2012-11-13 2013-11-12 Method and device for data flow processing

Publications (2)

Publication Number Publication Date
KR20150082282A KR20150082282A (ko) 2015-07-15
KR101688984B1 true KR101688984B1 (ko) 2016-12-22

Family

ID=49679637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157011759A KR101688984B1 (ko) 2012-11-13 2013-11-12 데이터 플로우 처리를 위한 방법 및 디바이스

Country Status (6)

Country Link
US (1) US8875256B2 (ko)
EP (1) EP2920940B1 (ko)
JP (1) JP2016502795A (ko)
KR (1) KR101688984B1 (ko)
CN (1) CN104769912B (ko)
WO (1) WO2014078271A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023038387A1 (ko) * 2021-09-07 2023-03-16 프라이빗테크놀로지 주식회사 데이터 플로우 기반 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374305B2 (en) * 2013-10-24 2016-06-21 Dell Products L.P. Packet transfer system
US9672512B1 (en) * 2014-01-02 2017-06-06 Sprint Communications Company L.P. Processor routing number for mobile communication service provider billing
EP3314828A4 (en) * 2015-06-26 2018-12-19 McAfee, LLC Systems and methods for routing data using software-defined networks
US10187218B2 (en) * 2015-09-15 2019-01-22 Google Llc Systems and methods for processing packets in a computer network
US9606959B1 (en) * 2015-11-12 2017-03-28 International Business Machines Corporation Indicating a sending buffer and receiving buffer in a message to use to validate the message in the receiving buffer
US10454930B2 (en) 2017-07-14 2019-10-22 EMC IP Holding Company LLC System and method for local data IP based network security for preventing data breach attempts in a multi-tenant protection storage deployment
US10146953B1 (en) * 2017-07-14 2018-12-04 EMC IP Holding Company LLC System and method for physical data packets isolation for different tenants in a multi-tenant protection storage environment
US20190109789A1 (en) * 2018-12-06 2019-04-11 Intel Corporation Infrastructure and components to provide a reduced latency network with checkpoints
CN110691074B (zh) * 2019-09-20 2022-04-22 西安瑞思凯微电子科技有限公司 一种IPv6数据加密方法、IPv6数据解密方法
US11477048B2 (en) * 2021-01-15 2022-10-18 BlackBear (Taiwan) Industrial Networking Security Ltd. Communication method for one-way transmission based on VLAN ID and switch device using the same
KR102345866B1 (ko) * 2021-05-13 2022-01-03 주식회사 엠엘소프트 서버시스템 및 서버시스템에서 수행되는 사용자단말에 대한 통신 보안방법
CN113312656B (zh) * 2021-07-29 2022-04-15 阿里云计算有限公司 数据轮转方法、装置、设备及系统
CN113382024B (zh) * 2021-08-12 2021-12-21 阿里云计算有限公司 凭据的轮转方法、计算设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258062A1 (en) 2003-01-27 2004-12-23 Paolo Narvaez Method and device for the classification and redirection of data packets in a heterogeneous network

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291482A (en) 1992-07-24 1994-03-01 At&T Bell Laboratories High bandwidth packet switch
JP2570963B2 (ja) * 1993-05-31 1997-01-16 日本電気株式会社 パケット網における中継経路情報を用いたシグナリング方式
US6031842A (en) 1996-09-11 2000-02-29 Mcdata Corporation Low latency shared memory switch architecture
US6370605B1 (en) 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
US6850987B1 (en) 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6785892B1 (en) 2000-06-23 2004-08-31 Unisys Communications between partitioned host processors and management processor
US6823453B1 (en) 2000-10-06 2004-11-23 Hewlett-Packard Development Company, L.P. Apparatus and method for implementing spoofing-and replay-attack-resistant virtual zones on storage area networks
US20020069317A1 (en) 2000-12-01 2002-06-06 Chow Yan Chiew E-RAID system and method of operating the same
US6795886B1 (en) 2000-12-22 2004-09-21 Ncr Corporation Interconnect switch method and apparatus
US7154885B2 (en) 2001-12-31 2006-12-26 Stmicroelectronics Ltd. Apparatus for switching data in high-speed networks and method of operation
US7421532B2 (en) 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports
US8688834B2 (en) * 2004-07-09 2014-04-01 Toshiba America Research, Inc. Dynamic host configuration and network access authentication
US8095600B2 (en) 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US7694167B2 (en) 2004-10-22 2010-04-06 Microsoft Corporation Maintaining routing consistency within a rendezvous federation
US7480303B1 (en) 2005-05-16 2009-01-20 Pericom Semiconductor Corp. Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports
US7568074B1 (en) 2005-10-25 2009-07-28 Xilinx, Inc. Time based data storage for shared network memory switch
US8549098B2 (en) 2006-01-12 2013-10-01 Broadcom Israel Research, Ltd. Method and system for protocol offload and direct I/O with I/O sharing in a virtualized network environment
US8397284B2 (en) 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
JP2007328461A (ja) 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
WO2007144702A1 (en) 2006-06-13 2007-12-21 Freescale Semiconductor, Inc. Method for processing information fragments and a device having information fragment processing capabilities
US8140719B2 (en) 2007-06-21 2012-03-20 Sea Micro, Inc. Dis-aggregated and distributed data-center architecture using a direct interconnect fabric
US7925802B2 (en) 2007-06-21 2011-04-12 Seamicro Corp. Hardware-based virtualization of BIOS, disks, network-interfaces, and consoles using a direct interconnect fabric
EP2224339A3 (en) 2007-09-12 2011-03-16 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
JP5096905B2 (ja) 2007-12-20 2012-12-12 株式会社日立製作所 サーバ装置及びそのリンク回復処理方法
US8249072B2 (en) 2009-03-12 2012-08-21 Oracle America, Inc. Scalable interface for connecting multiple computer systems which performs parallel MPI header matching
WO2010002411A1 (en) 2008-07-03 2010-01-07 Hewlett-Packard Development Company, L.P. Memory server
KR101539297B1 (ko) 2009-01-05 2015-07-24 삼성전자주식회사 반도체 장치, 이를 포함하는 반도체 시스템, 및 반도체 장치의 전압 공급방법
US8732258B2 (en) * 2009-03-20 2014-05-20 Oracle America, Inc. Method and system for transporting telemetry data across a network
US7913027B2 (en) 2009-04-07 2011-03-22 Lsi Corporation Configurable storage array controller
US8352669B2 (en) 2009-04-27 2013-01-08 Lsi Corporation Buffered crossbar switch system
JP5449543B2 (ja) * 2009-06-09 2014-03-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークにおけるパケットルーティング
TW201115458A (en) 2009-10-29 2011-05-01 Ralink Technology Corp Buffer space allocation method and related packet switch
US8463934B2 (en) 2009-11-05 2013-06-11 Rj Intellectual Properties, Llc Unified system area network and switch
WO2011115168A1 (ja) * 2010-03-17 2011-09-22 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム
JP2011234063A (ja) * 2010-04-27 2011-11-17 Fujitsu Ltd 中継装置、及び、転送方法
KR101509145B1 (ko) 2011-03-03 2015-04-07 가부시키가이샤 무라타 세이사쿠쇼 적층 세라믹 콘덴서
US8989009B2 (en) * 2011-04-29 2015-03-24 Futurewei Technologies, Inc. Port and priority based flow control mechanism for lossless ethernet
US9021475B2 (en) * 2011-05-04 2015-04-28 Citrix Systems, Inc. Systems and methods for SR-IOV pass-thru via an intermediary device
US8490113B2 (en) 2011-06-24 2013-07-16 International Business Machines Corporation Messaging in a parallel computer using remote direct memory access (‘RDMA’)
US9137173B2 (en) 2012-06-19 2015-09-15 Advanced Micro Devices, Inc. Devices and methods for interconnecting server nodes
US8930595B2 (en) 2012-06-21 2015-01-06 Advanced Micro Devices, Inc. Memory switch for interconnecting server nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258062A1 (en) 2003-01-27 2004-12-23 Paolo Narvaez Method and device for the classification and redirection of data packets in a heterogeneous network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023038387A1 (ko) * 2021-09-07 2023-03-16 프라이빗테크놀로지 주식회사 데이터 플로우 기반 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Also Published As

Publication number Publication date
US20140137215A1 (en) 2014-05-15
CN104769912B (zh) 2018-10-02
JP2016502795A (ja) 2016-01-28
EP2920940B1 (en) 2018-12-26
KR20150082282A (ko) 2015-07-15
EP2920940A1 (en) 2015-09-23
US8875256B2 (en) 2014-10-28
CN104769912A (zh) 2015-07-08
WO2014078271A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
KR101688984B1 (ko) 데이터 플로우 처리를 위한 방법 및 디바이스
US10949379B2 (en) Network traffic routing in distributed computing systems
US20210344692A1 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
US9413554B2 (en) Virtual network overlays
US8856518B2 (en) Secure and efficient offloading of network policies to network interface cards
US20200344088A1 (en) Network interoperability support for non-virtualized entities
US8295275B2 (en) Tagging network I/O transactions in a virtual machine run-time environment
US10666617B2 (en) Intercepting network traffic routed by virtual switches for selective security processing
US20190273718A1 (en) Intercepting network traffic routed by virtual switches for selective security processing
US20110274110A1 (en) Method for preventing mac spoofs in a distributed virtual switch
US20180367518A1 (en) Device identification and authentication in a network
US20070162619A1 (en) Method and System for Zero Copy in a Virtualized Network Environment
US10911493B2 (en) Identifying communication paths between servers for securing network communications
US10469529B2 (en) Address checking to protect against denial of service attack
US20200351286A1 (en) Configuring an island virtual switch for provisioning of network security services
US20200351306A1 (en) Configuring security policies in response to detecting a pivot of an intrusion
CN114008979B (zh) 具有隔离虚拟网络集成的无服务器分组处理服务
US20140068088A1 (en) Systems and methods for processing media access control (mac) addresses
WO2019165274A1 (en) Systems and methods for preventing malicious network traffic from accessing trusted network resources
US20220353180A1 (en) Inter-tunneling endpoint (inter-tep) overlay forwarding
WO2022146586A1 (en) Layer-2 networking information in a virtualized cloud environment

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