KR102358518B1 - 데이터 송신을 위한 헤더 정보 스와핑 - Google Patents
데이터 송신을 위한 헤더 정보 스와핑 Download PDFInfo
- Publication number
- KR102358518B1 KR102358518B1 KR1020217025354A KR20217025354A KR102358518B1 KR 102358518 B1 KR102358518 B1 KR 102358518B1 KR 1020217025354 A KR1020217025354 A KR 1020217025354A KR 20217025354 A KR20217025354 A KR 20217025354A KR 102358518 B1 KR102358518 B1 KR 102358518B1
- Authority
- KR
- South Korea
- Prior art keywords
- host
- gateway
- mac address
- data packet
- identifier
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H04L61/2038—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H04L61/6022—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 청구 대상은 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 제1 게이트웨이에서 수신하는 단계를 포함하는 방법에 관한 것이다. 데이터 패킷의 헤더 정보의 제1 부분은, 제1 게이트웨이에 의해, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체될 수 있다. 데이터 패킷은 제1 게이트웨이에 의해, 헤더 정보의 제2 부분에 따라, 제2 호스트를 서빙하는 제2 게이트웨이에 송신될 수 있다.
Description
다양한 예시적인 실시예들은 컴퓨터 네트워킹에 관한 것으로, 더 구체적으로는 데이터 송신을 위해 헤더 정보를 스와핑하기 위한 방법에 관한 것이다.
LAN(Local Area Network)과 같은 네트워크들은 거의 모든 산업에 상당한 영향을 미친다. 이들의 증가하는 요구들을 충족시키기 위해, 이러한 산업들은, 예를 들어 각각 상이한 부서에 전용되는 몇몇 네트워크들을 사용한다. 그러나, 그러한 네트워크들에서 데이터 송신을 개선할 필요가 있다.
US 2017/171068 A1은 계층 2 스위칭에 기초한 초고속 모바일 네트워크를 개시한다.
EP 1335919 A2는 듀얼 모드 가상 네트워크 어드레싱 방법을 개시한다.
US 2017/171068 A1은 계층 2 스위칭에 기초한 초고속 모바일 네트워크를 개시한다.
EP 1335919 A2는 듀얼 모드 가상 네트워크 어드레싱 방법을 개시한다.
예시적인 실시예들은 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 제1 게이트웨이에서 수신하는 단계, 제1 게이트웨이에 의해, 데이터 패킷의 헤더 정보의 제1 부분을, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체하는 단계, 제1 게이트웨이에 의해, 헤더 정보의 제2 부분에 따라 데이터 패킷을, 제2 호스트를 서빙하는 제2 게이트웨이에 송신하는 단계를 포함하는 방법을 제공한다.
추가의 예시적인 실시예들에 따르면, 방법은, 게이트웨이에 의해 서빙되는 제2 호스트를 목적지로 하는 데이터 패킷을 게이트웨이에서 수신하는 단계 ― 데이터 패킷은 제2 호스트의 아이덴티티 정보를 포함함 ―, 제2 호스트의 네트워크 어드레스를 결정하기 위해 제2 호스트의 아이덴티티 정보를 사용하는 단계,
수신된 데이터 패킷의 네트워크 목적지 어드레스를 결정된 네트워크 어드레스로 대체하는 단계, 제2 호스트에 데이터 패킷을 송신하는 단계를 포함한다.
추가의 예시적인 실시예들에 따르면, 방법은, 게이트웨이로부터 게이트웨이에 의해 서빙되는 호스트의 아이덴티티 정보의 요청을 데이터베이스 시스템에서 수신하는 단계 ― 요청은 호스트의 네트워크 어드레스를 표시함 ―, 네트워크 어드레스들 및 연관된 아이덴티티 정보를 포함하는 데이터 콘테이너에서 수신된 네트워크 어드레스를 검색하는 단계, 데이터 콘테이너에서 수신된 네트워크 어드레스를 식별하는 것에 대한 응답으로, 식별된 네트워크 어드레스와 연관된 아이덴티티 정보를 리턴하고, 그렇지 않으면 아이덴티티 정보를 생성하고, 생성된 아이덴티티 정보를 리턴하는 단계를 포함한다.
추가의 예시적인 실시예들에 따르면, 장치는, 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 수신하도록 구성된 수단,
데이터 패킷의 헤더 정보의 제1 부분을, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체하도록 구성된 수단, 헤더 정보의 제2 부분에 따라 데이터 패킷을, 제2 호스트를 서빙하는 제2 게이트웨이에 송신하도록 구성된 수단을 포함한다.
추가의 예시적인 실시예들에 따르면, 장치는, 제2 호스트를 목적지로 하는 데이터 패킷을 수신하도록 구성된 수단 ― 데이터 패킷은 제2 호스트의 아이덴티티 정보를 포함함 ―; 제2 호스트의 네트워크 어드레스를 결정하기 위해 제2 호스트의 아이덴티티 정보를 사용하도록 구성된 수단, 수신된 데이터 패킷의 네트워크 목적지 어드레스를 결정된 네트워크 어드레스로 대체하도록 구성된 수단; 제2 호스트에 데이터 패킷을 송신하도록 구성된 수단을 포함한다.
추가의 예시적인 실시예들에 따르면, 장치는, 게이트웨이로부터 게이트웨이에 의해 서빙되는 호스트의 아이덴티티 정보의 요청을 수신하도록 구성된 수단 ― 요청은 호스트의 네트워크 어드레스임 ―,
계층 어드레스들 및 연관된 아이덴티티 정보를 포함하는 데이터 콘테이너에서 수신된 네트워크 어드레스를 검색하도록 구성된 수단, 데이터 콘테이너에서 수신된 네트워크 어드레스를 식별하는 것에 대한 응답으로, 식별된 네트워크 어드레스와 연관된 아이덴티티 정보를 리턴하고, 그렇지 않으면 아이덴티티 정보를 생성하고, 생성된 아이덴티티 정보를 리턴하도록 구성된 수단을 포함한다.
추가의 예시적인 실시예들에 따르면, 컴퓨터 프로그램은, 적어도, 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 수신하는 것, 데이터 패킷의 헤더 정보의 제1 부분을, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체하는 것, 헤더 정보의 제2 부분에 따라 데이터 패킷을, 제2 호스트를 서빙하는 제2 게이트웨이에 송신하는 것을 수행하기 위해 저장된 명령들을 포함한다.
추가의 예시적인 실시예들에 따르면, 컴퓨터 프로그램은, 적어도, 게이트웨이에 의해 서빙되는 제2 호스트를 목적지로 하는 데이터 패킷을 수신하는 것 ― 데이터 패킷은 제2 호스트의 아이덴티티 정보를 포함함 ―, 제2 호스트의 네트워크 어드레스를 결정하기 위해 제2 호스트의 아이덴티티 정보를 사용하는 것, 수신된 데이터 패킷의 네트워크 목적지 어드레스를 결정된 네트워크 어드레스로 대체하는 것, 제2 호스트에 데이터 패킷을 송신하는 것을 수행하기 위해 저장된 명령들을 포함한다.
추가의 예시적인 실시예들에 따르면, 컴퓨터 프로그램은, 적어도, 게이트웨이로부터 게이트웨이에 의해 서빙되는 호스트의 아이덴티티 정보의 요청을 수신하는 것 ― 요청은 호스트의 네트워크 어드레스를 표시함 ―, 네트워크 어드레스들 및 연관된 아이덴티티 정보를 포함하는 데이터 콘테이너에서 수신된 네트워크 어드레스를 검색하는 것, 데이터 콘테이너에서 수신된 네트워크 어드레스를 식별하는 것에 대한 응답으로, 식별된 네트워크 어드레스와 연관된 아이덴티티 정보를 리턴하고, 그렇지 않으면 아이덴티티 정보를 생성하고, 생성된 아이덴티티 정보를 리턴하는 것을 수행하기 위해 저장된 명령들을 포함한다.
일부 예시적인 실시예들은 이제 첨부된 도면들을 참조하여 설명될 것이다. 도면들에서:
도 1은 다수의 호스트들 사이의 데이터 교환을 위한 시스템의 블록도이다.
도 2는 본 청구 대상의 예에 따라 호스트들의 아이덴티티 정보를 생성하기 위한 방법을 예시한다.
도 3a는 본 청구 대상의 예에 따라 맵핑 정보를 저장하기 위한 예를 예시하는 도면이다.
도 3b는 본 청구 대상의 예에 따라 데이터베이스 시스템에 맵핑 정보를 저장하기 위한 예를 예시하는 도면이다.
도 4a는 본 청구 대상의 예에 따라 게이트웨이에 새롭게 접속하는 호스트의 아이덴티티 정보를 결정하는 방법을 예시하는 도면이다.
도 4b는 본 청구 대상의 예에 따라 피어 호스트의 아이덴티티 정보를 결정하는 방법을 예시하는 도면이다.
도 5는 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
도 6은 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
도 7은 본 청구 대상의 예에 따라 아이덴티티 정보를 제공하기 위한 방법의 흐름도이다.
도 8a는 본 청구 대상의 예에 따른 게이트웨이에서의 방법을 예시하는 도면이다.
도 8b는 본 청구 대상의 예에 따른 게이트웨이에서의 방법을 예시하는 도면이다.
도 8c는 본 청구 대상의 예에 따른 게이트웨이에서의 방법을 예시하는 도면이다.
도 9는 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
도 10은 본 청구 대상의 예에 따른 장치의 예를 도시하는 블록도이다.
도 1은 다수의 호스트들 사이의 데이터 교환을 위한 시스템의 블록도이다.
도 2는 본 청구 대상의 예에 따라 호스트들의 아이덴티티 정보를 생성하기 위한 방법을 예시한다.
도 3a는 본 청구 대상의 예에 따라 맵핑 정보를 저장하기 위한 예를 예시하는 도면이다.
도 3b는 본 청구 대상의 예에 따라 데이터베이스 시스템에 맵핑 정보를 저장하기 위한 예를 예시하는 도면이다.
도 4a는 본 청구 대상의 예에 따라 게이트웨이에 새롭게 접속하는 호스트의 아이덴티티 정보를 결정하는 방법을 예시하는 도면이다.
도 4b는 본 청구 대상의 예에 따라 피어 호스트의 아이덴티티 정보를 결정하는 방법을 예시하는 도면이다.
도 5는 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
도 6은 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
도 7은 본 청구 대상의 예에 따라 아이덴티티 정보를 제공하기 위한 방법의 흐름도이다.
도 8a는 본 청구 대상의 예에 따른 게이트웨이에서의 방법을 예시하는 도면이다.
도 8b는 본 청구 대상의 예에 따른 게이트웨이에서의 방법을 예시하는 도면이다.
도 8c는 본 청구 대상의 예에 따른 게이트웨이에서의 방법을 예시하는 도면이다.
도 9는 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
도 10은 본 청구 대상의 예에 따른 장치의 예를 도시하는 블록도이다.
다음의 설명에서, 제한이 아닌 설명의 목적들을 위해, 예들의 철저한 이해를 제공하기 위해 특정 세부 사항들, 이를 테면 특정 아키텍처들, 인터페이스들, 기법들 등이 제시된다. 그러나, 개시된 청구 대상이 이러한 특정 세부 사항들로부터 벗어나는 다른 예시적인 예들에서 실시될 수 있다는 것이 당업자들에게 명백할 것이다. 일부 경우들에서, 잘 알려진 디바이스들 및/또는 방법들의 상세한 설명들은 불필요한 세부 사항들로 설명을 모호하게 하지 않기 위해 생략된다.
본 청구 대상은 계층 2, 계층 3 또는 상위 계층 프로토콜과 같은 계층화된 통신 프로토콜을 사용하여 다른 디바이스들과 통신하는 디바이스들에 대한 전송-기반 모빌리티를 가능하게 할 수 있다. 예를 들어, 본 청구 대상에 있어서, 동일한 호스트는 상이한 LAN들 사이에서 이동하고 투명한 방식으로 각각의 게이트웨이들에 의해 서빙될 수 있다.
본 청구 대상은 기존 시스템들에 끊김 없이 통합될 수 있다. 예를 들어, 본 청구 대상은 SDN(software-defined networking) 노드들 상에서 실현되는 게이트웨이들에서 구현될 수 있다. SDN 노드들이 패킷 헤더들에 대한 수정들을 행하기 위해 사용될 수 있기 때문에, 본 청구 대상은 노드들에서의 재구성 또는 수정 없이 또는 최소의 재구성 또는 수정으로 계층 2 디바이스들의 지원을 위해 기존의 계층 2 네트워크들로의 통합을 허용할 수 있는데, 이는, 개별 패킷들의 길이를 변경하지 않고 수신된 패킷들의 헤더 부분에만 수정이 행해지기 때문이다. 수신 및 수정된 데이터 패킷의 패킷 길이가 변하지 않기 때문에, 이는 네트워크의 복잡한 재구성을 방지할 수 있는데, 이는, 패킷 길이들이 일반적으로 고정되고 일정하기 때문이다.
일례에 따르면, 정보는 사용자 정의 정보를 더 포함한다. 이는, 네트워크의 최소 구성으로 본 청구 대상을 이용하는 네트워크에서 송신될 수 있는 데이터의 양을 증가시킬 수 있다. 사용자 정의 정보는, 예를 들어, 구성 또는 성능 파라미터들의 값들을 포함할 수 있다. 성능 파라미터의 예는 제1 호스트 또는 제1 게이트웨이의 레이턴시, 지터 및 대역폭과 같은 서비스 품질 파라미터일 수 있다. 구성 파라미터의 예는 에너지 소비 파라미터일 수 있다.
일례에 따르면, 방법은 헤더 정보의 제1 부분을 사용하여 제1 및 제2 호스트들의 아이덴티티 정보를 결정하는 단계를 더 포함한다.
제1 및 제2 호스트들 각각의 아이덴티티 정보는, 제1 및 제2 호스트들을 각각 고유하게 식별하도록 생성될 수 있다. 제1 및 제2 호스트들이 각각 제1 및 제2 게이트웨이들에 의해 서빙되는 동안 제1 및 제2 호스트들의 아이덴티티 정보가 생성될 수 있다. 아이덴티티 정보는 헤더 정보의 제1 부분의 크기를 사용하여 결정될 수 있다. 제1 및 제2 호스트들의 아이덴티티 정보의 크기는 헤더 정보의 제1 부분의 크기보다 작거나 그와 동일할 수 있다. 호스트의 아이덴티티 정보는, 예를 들어 식별자일 수 있다.
헤더 정보의 제1 부분의 적어도 일부와 연관된 제1 호스트의 아이덴티티 정보는 제1 및 제2 게이트웨이들에 의해 액세스가능할(예를 들어, 공유될) 수 있다. 헤더 정보의 제2 부분의 적어도 일부와 연관된 제2 호스트의 아이덴티티 정보는 제1 및 제2 게이트웨이들에 의해 액세스가능할(예를 들어, 공유될) 수 있다. 헤더 정보의 제1 부분의 적어도 일부는 제1 호스트의 네트워크 어드레스를 포함할 수 있다. 헤더 정보의 제2 부분의 적어도 일부는 제2 호스트의 네트워크 어드레스를 포함할 수 있다. 본원에서 설명되는 바와 같은 네트워크 어드레스는, 예를 들어, 계층 2 어드레스 또는 계층 3 어드레스일 수 있다.
예를 들어, 헤더 정보의 제1 부분은 제1 호스트의 소스 계층 2 어드레스를 포함할 수 있다. 다른 예에서, 헤더 정보의 제1 부분은 제1 호스트의 소스 계층 3 어드레스를 더 포함할 수 있다. 제1 게이트웨이에서 수신된 패킷의 헤더 정보의 제2 부분은, 예를 들어 제2 호스트의 네트워크 어드레스를 포함할 수 있다. 예를 들어, 데이터 패킷을 수신할 때, 데이터 패킷의 제2 부분의 네트워크 목적지 어드레스는 제2 게이트웨이의 네트워크 어드레스로 대체될 수 있고, 결과적인 데이터 패킷은 제2 게이트웨이에 송신될 수 있다.
제2 게이트웨이의 네트워크 어드레스는 제1 게이트웨이의 맵핑 정보 또는 데이터베이스 시스템의 맵핑 정보를 사용하여 획득될 수 있다. 맵핑 정보는 제2 호스트를 서빙하는 제2 게이트웨이의 네트워크 어드레스와 연관하여 제2 호스트의 네트워크 어드레스 및 제2 호스트의 아이덴티티 정보 중 적어도 하나를 표시할 수 있다. 일례에서, 제1 게이트웨이는 수신된 데이터 패킷의 일부인 제2 호스트의 네트워크 어드레스를 사용하여 맵핑 정보에서 제2 게이트웨이의 네트워크 어드레스를 검색할 수 있다.
일례에서, 데이터 패킷을 수신할 때, 제1 게이트웨이는 제2 호스트의 네트워크 어드레스와 연관된 제2 게이트웨이의 네트워크 어드레스를 획득하기 위해 제2 호스트의 네트워크 어드레스를 이용하여 데이터베이스 시스템에 질의할 수 있고, 데이터베이스 시스템으로부터 제2 게이트웨이의 네트워크 어드레스를 수신할 수 있다. 제2 게이트웨이의 네트워크 어드레스는, 예를 들어 계층 2 어드레스 또는 계층 3 어드레스 일 수 있다. 헤더 정보의 제2 부분에 따라 데이터 패킷을 전송 또는 송신하는 것은 데이터 패킷을 송신하기 위해 제2 부분을 사용하는 것을 포함한다.
다른 예에서, 제1 및 제2 호스트들의 아이덴티티 정보는 개별적으로 제1 및 제2 게이트웨이들의 각각의 게이트웨이에 의해 그리고 공통 미리 정의된 알고리즘에 기초하여 자율적으로 결정되거나 생성될 수 있다. 일례에서, 미리 정의된 알고리즘은 계층 2 어드레스와 같은 네트워크 어드레스를 입력으로서 수신하도록 구성될 수 있고, 수신된 입력에 기초하여 식별자를 생성할 수 있다. 게다가, 생성된 식별자가 알고리즘에 대한 입력으로서 제공되면, 알고리즘은 식별자가 생성되는 네트워크 어드레스를 재구성하도록 구성될 수 있다. 예를 들어, 입력 네트워크 어드레스가 MAC 어드레스이면, 단지 인증된 벤더들의 선택으로부터의 (호스트-) 장비만이 사용될 수 있기 때문에, OUI(Organizationally Unique Identifier) 필드(24비트)가 부분적으로 재사용될 수 있다. 예를 들어, 전체 24비트를 사용하는 대신에, 주어진 환경에서 이용가능하고 각각의 게이트웨이에서 이용가능한 리스트로부터 벤더를 식별하기 위해 프랙션(fraction)(예를 들어, 4비트)이 사용될 수 있다.
추가적인 예에서, 아이덴티티 정보는 SDN-제어 프로토콜을 사용하여 결정될 수 있다. 게이트웨이들은 스위치들 또는 라우터들 또는 게이트웨이들과 같은 네트워크(포워딩) 노드들을 위한 데이터 포워딩 하드웨어 플랫폼인 SDN-NE(SDN network element), 및 네트워크 외부에, 예를 들어 데이터 센터에 상주하는 제어 소프트웨어로 구성될 수 있다. 제어 소프트웨어는 SDN 제어기 및 애플리케이션을 포함한다. 제어 소프트웨어는 순수한 포워딩 노드(예를 들어, 스위치 또는 라우터)로서 또는 게이트웨이로서 접속된 SDN-NE들을 동작시키는 것을 허용할 수 있다.
제어 소프트웨어는 동작 동안 SDN-NE의 동작 모드를 동적으로 변경하는 것을 허용할 수 있다. 게이트웨이로서 동작할 때, 아이덴티티 정보 결정을 위한 규칙들은 흐름 테이블에 저장될 수 있다. 새로운 호스트가 게이트웨이(SDN-NE)에 어태치되고, 게이트웨이가 새로운 호스트에 대한 아이덴티티 정보를 결정하기 위한 규칙을 갖지 않는다면, 게이트웨이는 SDN-NE와 SDN 제어기 사이의 SDN-제어 프로토콜, 예를 들어 OpenFlow를 사용하는 SDN 제어기를 통해 게이트웨이의 애플리케이션에 이러한 새로운 호스트에 대한 새로운 규칙을 요청할 수 있다. 새로운 호스트에 대한 아이덴티티 정보의 할당 또는 결정은 애플리케이션에 의해 수행될 수 있고, 새로운 규칙을 초래하거나 또는 SDN-NE의 흐름 테이블에서 기존 규칙의 업데이트를 초래할 수 있다. 이에 의해, 아이덴티티 정보의 결정은 게이트웨이에 의한 데이터베이스에 대한 개별적인 액세스를 요구하지 않고 SDN-제어기를 통해 중앙집중형으로 할당되는 포워딩 규칙들로서 실현될 수 있다.
일례에 따르면, 제1 호스트의 아이덴티티 정보는 제1 그룹의 비트들의 값이고, 제2 호스트의 아이덴티티 정보는 제2 그룹의 비트들의 값이고, 제1 그룹 및 상기 제2 그룹의 비트들은 상이한 수의 비트들을 갖는다. 헤더 정보의 제1 부분은 헤더 정보의 제2 부분과는 상이하다. 제1 게이트웨이에 의해 제2 게이트웨이로 송신되는 데이터 패킷의 헤더 정보의 제2 부분은 제2 게이트웨이의 네트워크 어드레스를 포함한다.
헤더 정보의 제1 부분은 비트들의 세트로 구성된다. 제1 그룹의 비트들은 세트의 비트들의 서브세트일 수 있다. 제2 그룹의 비트들은 세트의 비트들의 서브세트일 수 있다. 제2 그룹의 비트들은 제1 그룹의 비트들과 구별될 수 있다. 제1 그룹의 비트들은 제1 게이트웨이에 의해 서빙되는 호스트들, 이를 테면 제1 호스트의 제1 게이트웨이 아이덴티티 정보를 결정하기 위해 사용될 수 있다. 제2 그룹의 비트들은 제2 게이트웨이에 의해 서빙되는 호스트들, 이를 테면 제2 호스트의 제1 게이트웨이 아이덴티티 정보를 결정하기 위해 사용될 수 있다.
이는, 결정된 아이덴티티들의 비대칭을 초래할 수 있고, 따라서 자원들의 유연하고 최적의 사용을 가능하게 할 수 있어서, 예를 들어, 주어진 게이트웨이가 다른 게이트웨이보다 더 많은 호스트들을 서빙할 수 있으면, 주어진 게이트웨이의 호스트들에 대한 비트들의 그룹은 다른 게이트웨이에 대한 비트들의 그룹에서의 비트들의 수보다 많은 비트들의 수를 가질 수 있다. 이 예는 추가로, 비트들의 그룹에 사용될 비트들의 수를 동적으로 변경하는 것을 가능하게 할 수 있다.
일례에 따르면, 제1 호스트의 아이덴티티 정보는 제1 그룹의 비트들의 값이고, 제2 호스트의 아이덴티티 정보는 제2 그룹의 비트들의 값이고, 비트들의 제1 그룹은 비트들의 제2 그룹보다 많은 수의 비트들을 갖는다.
일례에 따르면, 제1 호스트의 아이덴티티 정보는 제1 그룹의 비트들의 값이고, 제2 호스트의 아이덴티티 정보는 제2 그룹의 비트들의 값이고, 제1 그룹 및 상기 제2 그룹의 비트들은 동일한 수의 비트들을 갖는다. 동일한 타입의 식별자들을 사용하는 것은 전송 및 수신 호스트들 둘 모두에 대한 아이덴티티 정보로서 사용될 수 있는 모든 가능한 고유 값들의 단일 세트를 정의하는 것을 가능하게 할 수 있다. 이는, 그렇지 않으면 상이한 세트들의 아이덴티티 정보를 유지하고 프로세싱하기 위해 요구될 프로세싱 자원들을 절약할 수 있다.
일례에 따르면, 제1 호스트의 아이덴티티 정보는 제1 그룹의 비트들의 값이다. 방법은, 제1 그룹의 비트들의 가능한 값들의 최대 수가 제1 게이트웨이에 의해 서빙될 수 있는 호스트들의 미리 정의된 최대 수보다 작거나 그와 동일하도록 제1 그룹의 비트들을 결정하는 단계를 더 포함한다.
일례에 따르면, 제2 호스트의 아이덴티티 정보는 제2 그룹의 비트들의 값이다. 방법은, 제2 그룹의 비트들의 가능한 값들의 최대 수가 제2 게이트웨이에 의해 서빙될 수 있는 호스트들의 미리 정의된 최대 수보다 작거나 그와 동일하도록 제2 그룹의 비트들을 결정하는 단계를 더 포함한다.
이러한 예들은 제1 및 제2 게이트웨이에 의해 서빙되는 디바이스들에 대한 전송-기반 모빌리티의 효율적인 제어를 가능하게 할 수 있다.
일례에 따르면, 방법은 네트워크 어드레스들 및 연관된 미리 정의된 아이덴티티 정보를 포함하는 로컬 데이터 콘테이너를 제공하는 단계, 및 로컬 데이터 콘테이너를 사용하여 제1 호스트 및/또는 제2 호스트의 아이덴티티 정보를 결정하는 단계를 더 포함한다. 제1 및/또는 제2 호스트의 아이덴티티 정보는 수신된 데이터 패킷에서 인코딩된 개개의 네트워크 어드레스들을 사용하여 결정될 수 있다. 네트워크 어드레스는 계층 2 어드레스를 포함할 수 있다. 예를 들어, 로컬 데이터 콘테이너의 각각의 계층 2 어드레스는 개개의 아이덴티티 정보와 연관될 수 있다. 로컬 데이터 콘테이너는 호스트마다 엔트리를 포함할 수 있다. 호스트의 엔트리는 호스트의 맵핑 정보를 포함할 수 있다. 호스트의 맵핑 정보는 호스트의 아이덴티티 정보와 연관된 호스트의 계층 2 어드레스를 포함할 수 있다. 이 예는 아이덴티티 정보가 국부적으로 결정될 때 데이터 송신 프로세스를 가속화할 수 있다.
일 예에 따르면, 방법은, 데이터 패킷을 수신할 때, 제1 호스트 및/또는 제2 호스트의 네트워크 어드레스를 이용하여 연관된 미리 정의된 아이덴티티 정보 및 네트워크 어드레스들을 포함하는 원격 데이터 콘테이너에 질의하는 단계, 및 원격 데이터 콘테이너를 저장하는 데이터베이스 시스템으로부터 아이덴티티 정보를 수신하는 단계를 더 포함한다. 제1 호스트 및 제2 호스트 각각의 네트워크 어드레스는 계층 2 또는 계층 3 어드레스일 수 있다. 원격 데이터 콘테이너 내의 네트워크 어드레스들은 계층 2 또는 계층 3 어드레스될 수 있다. 이 예는 상이한 게이트웨이들에 대한 아이덴티티 정보의 중앙집중적이고 일관된 제어를 가능하게 할 수 있다.
일례에 따르면, 수신된 데이터 패킷은 계층 2 및 계층 3 통신 프로토콜들 중 적어도 하나로부터의 헤더를 포함한다. 이는 기존의 시스템들에서 본 방법의 끊김 없는 통합을 가능하게 할 수 있다.
일례에 따르면, 송신하는 단계는, 제2 게이트웨이로 하여금, 데이터 패킷을 제2 호스트에 송신하기 위해 제1 호스트 및/또는 제2 호스트의 아이덴티티 정보를 사용하게 하는 단계를 포함한다. 일례에서, 데이터 패킷을 제2 호스트에 송신하는 것은 계층 2 통신 프로토콜에 따라 수행될 수 있다. 제1 게이트웨이로부터의 데이터 패킷의 수신은 아이덴티티 정보를 사용하여 제2 호스트에 데이터 패킷을 송신하도록 제2 게이트웨이를 트리거링할 수 있다. 제2 게이트웨이는 제2 게이트웨이에서 수신된 데이터 패킷의 제2 호스트의 아이덴티티 정보를 사용하여 제2 호스트의 계층 2 어드레스와 같은 네트워크 어드레스를 결정 또는 식별할 수 있다. 제2 게이트웨이는 수신된 데이터 패킷에 있는 네트워크 목적지 어드레스를 제2 호스트의 식별된 네트워크 어드레스로 대체한다. 예를 들어, 제2 게이트웨이는 개개의 아이덴티티 정보를 사용하여 제1 및/또는 제2 호스트들의 계층 2 어드레스를 결정할 수 있다.
일례에 따르면, 방법은, 제1 호스트가 제거된 호스트라는 것을 표시하는 통지를 데이터베이스 시스템으로부터 수신하는 단계를 더 포함하고, 다른 제1 호스트로부터 다른 제2 호스트를 목적지로 하는 다른 데이터 패킷을 게이트웨이에서 수신할 때, 방법은 제1 호스트의 아이덴티티 정보를 다른 제1 호스트의 아이덴티티 정보로서 사용하여 반복된다. 제1 호스트는 제1 게이트웨이를 포함하는 시스템으로부터 제거될 수 있다. 이는 자원들의 효율적인 사용 또는 재사용을 가능하게 할 수 있다. 일례에서, 데이터베이스 시스템은, 제1 호스트가 시스템으로부터 제거되면, 제1 호스트의 아이덴티티 정보를 다른 제1 호스트의 아이덴티티 정보로서 할당하도록 구성될 수 있다.
도 1은 다수의 호스트들, 이를 테면 제1 호스트(101) 및 제2 호스트(103) 사이의 데이터 교환을 위한 시스템(100)의 블록도이다. 호스트들(101 및 103)은 제1 게이트웨이(105) 및 제2 게이트웨이(107)와 같은 게이트웨이들을 통해 서로 통신한다. 제1 게이트웨이(105)는 제1 홉 브리지 노드(AM(access mediator)으로 표시될 수 있음)일 수 있다.
제1 호스트(101)는 제1 LAN(111)과 같은 제1 로컬 네트워크를 통해 제1 게이트웨이(105)에 커플링된다. 제2 호스트(103)는 제2 LAN(113)과 같은 제2 로컬 네트워크를 통해 제2 게이트웨이(107)에 커플링된다. 제1 LAN 및 제2 LAN은 예를 들어, 이더넷 네트워크들일 수 있다.
제1 호스트(101)는 유선에 의해 또는 WLAN(Wireless LAN) 액세스 포인트를 통해 무선으로 제1 LAN(111)에 접속하도록 구성될 수 있다. 제2 호스트(103)는 유선에 의해 또는 WLAN 액세스 포인트를 통해 무선으로 제2 LAN(113)에 접속하도록 구성될 수 있다. 제1 및 제2 호스트들(101-103)의 호스트는, 예를 들어, 그 상에서 실행되는 애플리케이션, 예를 들어, HTTP 프로토콜의 사용에 의해 콘텐츠를 페칭하는 웹 브라우저를 갖는 노트북, 또는 HTTP 프로토콜을 지원함으로써 콘텐츠를 제공하기 위해 웹 서버를 실행하는 서버를 포함할 수 있다.
제1 호스트(101)는 계층 2 통신 프로토콜 및 계층 3 통신 프로토콜 중 적어도 하나에 따라 통신하도록 구성될 수 있다. 제2 호스트(101)는 계층 2 통신 프로토콜 및 계층 3 통신 프로토콜 중 적어도 하나에 따라 통신하도록 구성될 수 있다.
제1 및 제2 게이트웨이들(105-107) 각각은 데이터가 네트워크로부터 다른 네트워크로 흐를 수 있게 하도록 구성될 수 있다. 예를 들어, 제1 게이트웨이(105)는, 예를 들어 터널링 통신 프로토콜에 따라 제1 LAN(111)으로부터 제2 LAN(113)으로의 데이터 흐름 또는 송신을 가능하게 하도록 구성될 수 있다. 제2 게이트웨이(105)는, 예를 들어 터널링 통신 프로토콜에 따라 제2 LAN(113)으로부터 제1 LAN(111)으로의 데이터 흐름 또는 송신을 가능하게 하도록 구성될 수 있다.
제1 게이트웨이(105) 및 제2 게이트웨이(107)는 정의된 네트워크 계층, 이를 테면 네트워크 계층 2 또는 네트워크 계층 3에서 데이터 패킷들을 교환하도록 구성될 수 있다. 게이트웨이들(105 및 107) 사이에서 전달되는 데이터 패킷들은, 일례에서, 라우터들 및 스위치들과 같은 인터넷의 네트워크 포워딩 노드들에 의해 포워딩될 수 있다.
제1 게이트웨이(105)는 계층 2 통신 프로토콜 및 계층 3 통신 프로토콜 중 적어도 하나에 따라 통신하도록 구성될 수 있다. 제2 게이트웨이(105)는 계층 2 통신 프로토콜 및 계층 3 통신 프로토콜 중 적어도 하나에 따라 통신하도록 구성된다.
계층 2 통신 프로토콜은, 예를 들어 이더넷 프로토콜일 수 있다. 계층 3 통신 프로토콜은, 예를 들어 IP(internet protocol)일 수 있다. 예를 들어, 제1 호스트(101)는 예를 들어 제2 호스트(103)를 목적지로 데이터 패킷(120)을 전송하도록 구성될 수 있다. 데이터 패킷(120)은 헤더(121) 및 페이로드(122)를 포함할 수 있다. 헤더(120)는 예를 들어, 필드들을 포함할 수 있으며, 여기서 각각의 필드는 데이터 패킷을 표시하는 정보를 포함한다. 헤더(121)는 예를 들어, 계층 2 헤더(125)일 수 있다. 다른 예에서, 도 1에 도시된 바와 같이, 헤더(121)는 계층 2(L2) 헤더(125) 및 계층 3(L3) 헤더(126)를 포함할 수 있다. L2 헤더(125)는 계층 2 통신 프로토콜에 따라 데이터 통신을 가능하게 하기 위한 필드들(131A 및 133A)을 포함할 수 있다. L3 헤더(126)는 계층 3 통신 프로토콜에 따라 데이터 통신을 가능하게 하기 위한 필드들(131B 및 133B)을 포함할 수 있다. 필드들(131A 및 131B)(총괄적으로 131로 지칭됨)은, 예를 들어, 소스 계층 2 어드레스 및 소스 계층 3 어드레스를 각각 포함할 수 있다. 필드들(133A 및 133B)(총괄적으로 133로 지칭됨)은, 예를 들어, 목적지 계층 2 어드레스 및 목적지 계층 3 어드레스를 각각 포함할 수 있다. 필드들(131A, 131B, 133A 및 133B)의 각각의 필드는 개개의 비트 수로 구성될 수 있다.
계층 2 및/또는 계층 3 통신 프로토콜들을 사용하여, 필드들(133)에 포함된 헤더 정보의 일부는, 데이터 패킷(120)이 제2 호스트(103)에 도달할 수 있도록 효과적으로 사용될 수 있는데, 예를 들어 필드들(131)에 포함된 헤더 정보의 다른 부분은 데이터 패킷(120)을 제2 호스트(103)에 송신하기 위해 사용되지 않을 수 있기 때문에 강제적이 아닐 수 있다. 필드들(131)은 비-강제적 필드들로 지칭될 수 있다. 비-강제적 필드들(131)은 데이터 패킷(120)의 헤더 정보의 제1 부분의 일부일 수 있고, 필드들(133)은 데이터 패킷(120)의 헤더 정보의 제2 부분의 일부일 수 있다.
시스템(100)은 데이터베이스 시스템(112)을 더 포함한다. 데이터베이스 시스템(112)은 데이터베이스 시스템(112)의 데이터베이스(115)에 저장된 데이터에 대한 액세스를 제어하도록 구성된다. 데이터베이스 시스템(112)은 CLR(client location register)로 표기될 수 있다. 게이트웨이들(105-107)은 예를 들어, 인터넷(109)을 사용하여 데이터베이스 시스템(112)에 접속하도록 구성될 수 있다.
도 1은 2개의 호스트들 및 2개의 게이트웨이들을 도시하지만, 다수의 호스트들 및 게이트웨이들이 존재할 수 있다는 것이 인식될 것이다. 또한, 도 1은 몇몇 LAN들을 도시하지만, 다수의 LAN들이 존재할 수 있다는 것이 인식될 것이다.
도 2는 상이한 LAN들 상의 호스트들 사이의 통신을 가능하게 하기 위한 호스트들, 예를 들어 101-103의 아이덴티티 정보를 생성하기 위한 방법을 예시하는 도면이다.
호스트(101)의 아이덴티티 정보(201)는 호스트(101)에 의해 송신될 수 있는 데이터 패킷의 하나 이상의 비-강제적 필드들에 기초하여 정의될 수 있다. 호스트(101)의 아이덴티티 정보(201)는, 호스트(101)가 게이트웨이(105)에 의해 서빙되고 있는 동안 호스트(101)를 고유하게 식별하는 값을 포함할 수 있다. 일례에서, 호스트(101)가 시스템(100)으로부터 제거되면, 호스트(101)의 아이덴티티 정보는 시스템(100)에 새로 접속된 호스트에 할당될 수 있다.
예를 들어, 호스트(101)가 계층 2 통신 프로토콜에 따라서만 통신하도록 구성되는 경우, 비-강제적 필드는, 호스트(101)로부터 피어 호스트, 예를 들어 103으로의 데이터 제출을 위해 사용되지 않을 수 있기 때문에 필드(131A)일 수 있다. 다른 예에서, 호스트(101)가 계층 2 및 계층 3 통신 프로토콜들에 따라 통신하도록 구성되면, 필드들(131A 및 131B)은 호스트(101)로부터 피어 호스트, 예를 들어 103으로의 데이터 제출을 위한 비-강제적 필드들일 수 있다.
다음으로, 아이덴티티 정보의 결정 또는 생성은 계층 2 소스 어드레스를 갖는 비-강제적 필드(131A)를 참조하여 설명될 수 있다. 아이덴티티 정보는 비-강제적 필드들(131A 및 131B)을 사용하여 필드(131A)를 참조하여 설명된 바와 같이 결정될 수 있다.
필드(131A)는 N개의 비트들의 세트로 구성된다. 비트들의 세트의 제1 그룹의 N1 비트들은 호스트(101)의 아이덴티티 정보를 인코딩하기 위해 사용될 수 있다. 호스트(101)의 아이덴티티 정보는, 호스트(101)가 게이트웨이(105)에 의해 서빙되고 있는 동안 호스트(101)를 고유하게 식별하는 N1-비트 이진 값을 포함할 수 있다. 도 2에 도시된 바와 같이, N1=24에 대한 N1-비트 이진 값은 예를 들어, 00:00:00에서 FF:FF:FF까지 변하는 16진수로 표현될 수 있다.
비트들의 세트의 제2 그룹의 N2 비트들은 피어 호스트(103)의 아이덴티티 정보를 인코딩하기 위해 사용될 수 있다. 제2 그룹의 비트들은 제1 그룹의 비트들과 구별된다. 피어 호스트(103)의 아이덴티티 정보는 호스트(101)를 참조하여 설명된 바와 같이 정의될 수 있다.
일례에서, 제1 그룹의 비트들은 필드(131A)의 비트들의 절반을 포함할 수 있고, 제2 그룹의 비트들은 필드(131A)의 비트들의 다른 절반을 포함할 수 있다.
다른 예에서, 제1 및 제2 그룹의 비트들은 상이한 수의 비트들을 가질 수 있다. 이는 호스트(101)가 데이터 패킷의 수신기인지 또는 전송기인지 여부에 따라 호스트(101)의 아이덴티티 정보를 정의하는 것을 가능하게 할 수 있다. 예를 들어, 제1 그룹이 4바이트 길이인 반면, 제2 그룹이 2바이트 길이인 경우, 이는, 예를 들어 40억 개의 소스 호스트들이 예를 들어 65,000개의 타겟 호스트들과 통신할 수 있음을 표시할 수 있다. 이는 어드레스 범위들을 비대칭적으로 확장하는 것을 가능하게 할 수 있다. 이는 특히 유리할 수 있는데, 그 이유는 그 측정들을 단지 몇 개의 서버들에만 보고할 필요가 있는 공장에 많은 센서들이 있기 때문이다.
제1 그룹의 비트들 및 제2 그룹의 비트들의 모든 가능한 값들은 예를 들어, 데이터베이스(115)에 저장될 수 있다. 데이터베이스 시스템(112)은 예를 들어, 데이터베이스(115)에 저장된 값들에 대한 액세스를 제어하도록 구성될 수 있다. 다른 예에서, 게이트웨이들(105-107) 각각은 데이터베이스(115)에 대한 액세스를 가질 수 있다.
일단 아이덴티티 정보(201)가 호스트(101)에 할당되면, 호스트(101)의 맵핑 정보(H1-세트)가 저장될 수 있다. 맵핑 정보(H1-세트)는 필드(131A)에 포함된 정보와 연관하여 적어도 호스트(101)의 아이덴티티 정보(201)를 포함할 수 있으며, 예를 들어 호스트(101)의 아이덴티티 정보는 호스트(101)의 MAC 어드레스(205)와 연관될 수 있다.
호스트(103)와 같은 다른 호스트들의 맵핑 정보는 호스트(101)를 참조하여 설명된 바와 같이 결정될 수 있다. 도 2는 호스트(103)의 맵핑 정보(H2-세트)를 도시한다. 맵핑 정보(H2-세트)는 호스트(103)의 MAC 어드레스(206)와 연관된 호스트(103)의 아이덴티티 정보를 포함한다. 도 3a 및 도 3b는 맵핑 정보(H1-세트 및 H2-세트)를 저장하기 위한 예를 제공한다.
도 3a는 호스트들(101-103)의 맵핑 정보(H1-세트, H2-세트)를, 예를 들어 시스템(100)의 게이트웨이(105)에 저장하기 위한 예를 예시하는 도면이다.
게이트웨이(105)는 맵핑 정보를 저장하기 위한 로컬 데이터 콘테이너를 포함할 수 있다. 로컬 데이터 콘테이너는, 예를 들어 리스트들(301 및 303)을 포함할 수 있다. 제1 리스트(301)는 게이트웨이(105)에 의해 서빙되는 호스트들에 대한 맵핑 정보를 포함하고, 제2 리스트(303)는 게이트웨이(105)에 의해 서빙되는 호스트들과 통신하는 피어 호스트들에 대한 맵핑 정보를 포함한다. 로컬 데이터 콘테이너를 로컬로 저장하는 것은 원격 데이터베이스들에 질의하는 것을 방지할 수 있고, 그에 따라 프로세싱 자원들을 절약할 수 있다.
리스트들(301-303) 각각은 호스트 당 엔트리를 포함한다. 제1 리스트(301)의 엔트리는 맵핑 정보, 예를 들어 H1-세트를 포함한다. 예를 들어, 도 3a에 도시된 바와 같이, 제1 리스트(301)의 엔트리는 호스트(H1)의 MAC 어드레스(MAC-H1) 및 호스트(H1)의 아이덴티티 정보(mmH1)를 포함한다.
제2 리스트(303)의 엔트리는, 피어 호스트를 서빙하는 게이트웨이(107)의 계층 2 어드레스와 연관된 맵핑 정보, 예를 들어 H2-세트를 포함한다. 예를 들어, 도 3a에 도시된 바와 같이, 제2 리스트(303)의 엔트리는 호스트(H2)의 MAC 어드레스(MAC-H2) 및 호스트(H2)를 서빙하는 게이트웨이의 MAC 어드레스(MAC-AM2)와 연관된 호스트(H2)의 아이덴티티 정보(mmH2)를 포함한다.
예를 들어, 제2 리스트(303)의 엔트리는 미리 정의된 시간 기간 후에 제거될 수 있다. 예를 들어, 시간 기간 동안, 엔트리와 연관된 호스트로 또는 호스트로부터 어떠한 패킷들도 전송 또는 수신되지 않으면, 엔트리는 제거될 것이다.
도 3b는 데이터베이스 시스템(112)에 맵핑 정보를 저장하기 위한 예를 예시하는 도면이다.
예를 들어, 호스트가 게이트웨이(105)에 접속하면, 게이트웨이(105)는 호스트의 호스트 MAC 어드레스를 데이터베이스 시스템(112)에 보고할 수 있다. 이 호스트가 데이터베이스 시스템(112)에 알려지지 않은 경우, 데이터베이스 시스템(112)은, 예를 들어 데이터베이스(115)에 저장된 아이덴티티 정보의 가능한 값들 중 하나를 사용하여 아이덴티티 정보를 호스트에 할당할 수 있다. 더욱이, 데이터베이스 시스템(112)은 호스트의 맵핑 정보를 리스트(305)와 같은 원격 데이터 콘테이너에 저장할 수 있다. 맵핑 정보는 호스트의 MAC 어드레스 및 할당된 아이덴티티 정보(및 이용가능하다면 IP 어드레스)를 포함할 수 있다. 맵핑 정보는 호스트를 서빙하는 게이트웨이의 MAC 어드레스와 리스트(305)에서 연관될 수 있다. 현재 시스템(100)에 접속된 호스트들에 대한 맵핑 정보를 저장하는 것 외에도, 데이터베이스 시스템(112)은 시스템(100)에 이전에 접속된 호스트들의 맵핑 정보를 유지할 수 있다.
게이트웨이(105-107)가 맵핑 정보를 로컬로 저장하지 않는 경우, 게이트웨이는 도 4a 및 도 4b를 참조하여 설명된 바와 같이 데이터베이스 시스템(112)에 질의할 수 있기 때문에, 맵핑 정보를 원격으로 저장하는 것이 유리할 수 있다.
도 4a는 게이트웨이(105)에 새롭게 접속하는 호스트의 아이덴티티 정보를 결정하는 방법을 예시하는 도면이다.
게이트웨이(105)에서 호스트(101)로부터 어태치 요청을 수신할 때(401), 게이트웨이(105)는 호스트(101)가 제1 리스트(301) 내의 아이덴티티 정보와 연관되는지 여부를 결정할 수 있다. 호스트(101)가 리스트(301)에 대응하는 엔트리를 갖지 않으면, 게이트웨이(105)는 연관 메시지를 데이터베이스 시스템(112)에 전송할 수 있다(402). 메시지는 호스트(101)의 MAC 어드레스를 포함한다. 메시지는 호스트(101)의 아이덴티티 정보의 요청을 표시한다. 메시지를 수신할 때, 데이터베이스 시스템(112)은 호스트(101)가 이미 아이덴티티 정보를 할당받았는지 여부를 리스트(305)에서 검색할 수 있고, 그렇지 않다면, 데이터베이스 시스템(112)은 데이터베이스(115)로부터의 아이덴티티 정보를 호스트(101)에 할당하고 이를 게이트웨이(105)의 MAC 어드레스와 연관시킬 수 있다.
일례에서, 호스트(101)가 이전에 다른 게이트웨이에 할당되었다면, 이 다른 게이트웨이는 자신의 리스트(301)로부터 호스트(101)의 맵핑 정보를 제거할 수 있도록 데이터베이스 시스템(112)에 의해 통지받을 수 있다. 다른 예에서, 또한, 시스템(100)의 다른 미리 정의된 게이트웨이들(예를 들어, 모든 게이트웨이들)은, 그들이 그들의 개개의 리스트(301)로부터 호스트(101)의 맵핑 정보를 제거할 수 있도록 통지받을 수 있다. 그 다음, 데이터베이스 시스템(112)은 호스트(101)와 연관된 아이덴티티 정보를 질의 게이트웨이에 리턴할 수 있다(403). 게이트웨이(105)는 수신된 아이덴티티 정보 및 호스트(101)의 MAC 어드레스를 포함하는 호스트(101)에 대한 엔트리를 추가함으로써 자신의 리스트(301)를 업데이트(404)할 수 있다.
도 4b는 게이트웨이(105)에 의해 서빙되는 호스트(101)와 통신하는 피어 호스트(103)의 아이덴티티 정보를 결정하는 방법을 예시하는 도면이다.
호스트(101)는, 게이트웨이(107)에 접속되지만 (예를 들어, 호스트(101)가 어태치된 후 그 피어 호스트와의 통신이 없었기 때문에) 제2 리스트(303)에 연관된 엔트리를 갖지 않는(412) 피어 호스트(103)에 패킷을 전송할 수 있다(411). 게이트웨이(105)는 피어 호스트(103)의 MAC 어드레스(MAC-H2)를 갖는 아이덴티티 정보에 대해 데이터베이스 시스템(112)에 질의할 수 있다(413). 데이터베이스 시스템(112)은 자신의 리스트(305)에서 이를 검색하고, 피어 호스트(103)를 서빙하는 게이트웨이(107)의 MAC 어드레스(MAC-AM2) 및 피어 호스트(103)에 할당된 아이덴티티 정보를 리턴할 수 있다(414). 마지막으로, 게이트웨이(105)는 피어 호스트(103)에 대한 엔트리를 추가함으로써 제2 리스트(303)를 업데이트(415)할 수 있다.
일례에서, 데이터베이스 시스템(112)은 상이한 게이트웨이들로부터 이전에 수신된 질의들을 추적할 수 있고, 호스트가 새로운 게이트웨이에 어태치하여 이들 게이트웨이들이 자신들의 리스트(303)를 업데이트할 수 있게 하면 그러한 게이트웨이들에 통지할 수 있다.
도 5는 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
제1 게이트웨이는 단계(501)에서, 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 수신할 수 있다. 제2 호스트는, 예를 들어 제2 게이트웨이에 의해 서빙될 수 있다.
제1 호스트는 예를 들어, 제1 네트워크를 통해 제1 게이트웨이에 커플링되도록 구성될 수 있다. 제1 네트워크는 예를 들어, 제1 LAN일 수 있다. 제2 호스트는 제2 LAN과 같은 제2 네트워크를 통해 제2 게이트웨이에 커플링되도록 구성될 수 있다. 제1 LAN 및 제2 LAN은 예를 들어, 이더넷 네트워크들일 수 있다. 제1 호스트와 제1 게이트웨이 사이의 통신은, 예를 들어 계층 2 통신 프로토콜에 따라 수행될 수 있다. 제2 호스트와 제2 게이트웨이 사이의 통신은, 예를 들어 계층 2 통신 프로토콜에 따라 수행될 수 있다.
제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보는 제1 게이트웨이에 의해 로컬로 유지되는 맵핑 정보를 사용하여 단계(503)에서 획득될 수 있다. 호스트들의 맵핑 정보는 호스트들의 계층 2 어드레스와 연관된 호스트의 아이덴티티 정보를 호스트들 각각에 대해 포함한다. 일례에서, 호스트의 맵핑 정보는 호스트를 서빙하는 게이트웨이의 계층 2 어드레스와 연관될 수 있다. 예를 들어, 수신된 데이터 패킷은 제1 호스트의 계층 2 어드레스 및 제2 호스트의 계층 2 어드레스를 포함할 수 있다. 제1 호스트의 계층 2 어드레스는 맵핑 정보에서 제1 호스트의 아이덴티티 정보를 식별하기 위해 제1 게이트웨이에 의해 사용될 수 있다. 제1 호스트의 아이덴티티 정보가 로컬 맵핑 정보에서 발견되지 않으면, 제1 게이트웨이는 맵핑 정보를 유지하는 원격 데이터베이스 시스템으로부터 그 아이덴티티 정보를 요청할 수 있다. 데이터베이스 시스템은 아이덴티티 정보가 자신의 맵핑 정보에 존재하면 이를 리턴할 수 있고, 그렇지 않으면, 데이터베이스 시스템은 아이덴티티 정보를 생성할 수 있고, 이를 제1 게이트웨이에 전송할 수 있다.
제1 게이트웨이는 수신된 데이터 패킷에 있는 제2 호스트의 계층 2 어드레스를 사용하여 제2 호스트의 아이덴티티 정보 및/또는 제2 게이트웨이의 계층 2 어드레스를 추가로 결정할 수 있다. 이를 위해, 제1 게이트웨이는 로컬 맵핑 정보 또는 원격 맵핑 정보를 사용할 수 있다. 예를 들어, 제2 호스트의 계층 2 어드레스는 제1 게이트웨이의 맵핑 정보에서 제2 호스트의 아이덴티티 정보 및/또는 제2 게이트웨이의 계층 2 어드레스를 식별하기 위해 제1 게이트웨이에 의해 사용될 수 있다. 제2 호스트의 아이덴티티 정보 및/또는 제2 게이트웨이의 계층 2 어드레스가 로컬 맵핑 정보에서 발견되지 않으면, 제1 게이트웨이는 제2 호스트의 계층 2 어드레스를 사용하여 원격 데이터베이스 시스템으로부터 그 아이덴티티 정보 및/또는 계층 2 어드레스를 요청할 수 있다. 데이터베이스 시스템은 제2 게이트웨이의 계층 2 어드레스 및 제2 호스트의 아이덴티티 정보를 제1 게이트웨이에 리턴하거나 전송할 수 있다.
제1 게이트웨이는 단계(505)에서, 수신된 데이터 패킷의 헤더(또는 헤더 정보)의 제1 부분을, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체(스와핑)할 수 있다. 일례에서, 정보는 제2 호스트의 아이덴티티 정보를 포함할 수 있다. 다른 예에서, 정보는 제1 호스트의 아이덴티티 정보를 더 포함할 수 있다. 일례에서, 제1 게이트웨이는 데이터 패킷의 제2 부분의 네트워크 목적지 어드레스를 제2 게이트웨이의 네트워크 어드레스로 추가로 대체할 수 있다.
제1 및 제2 게이트웨이들 각각은 하나의 네트워크로부터 다른 네트워크로의 데이터 송신을 가능하게 하도록 구성될 수 있다. 예를 들어, 제1 게이트웨이는, 예를 들어 터널링 통신 프로토콜에 따라 제1 LAN으로부터 제2 LAN으로의 데이터 흐름 또는 데이터 송신을 가능하게 하도록 구성될 수 있다. 제2 게이트웨이는, 예를 들어 터널링 통신 프로토콜에 따라 제2 LAN으로부터 제1 LAN으로의 데이터 흐름 또는 데이터 송신을 가능하게 하도록 구성될 수 있다.
헤더 정보의 적어도 일부와 연관하여 제1 부분을 대체하기 위해 사용되는 아이덴티티 정보는 제1 게이트웨이 및 제2 게이트웨이에 의해 액세스가능하다. 예를 들어, 헤더 정보의 소스 계층 2 어드레스와 연관된 제1 호스트의 아이덴티티 정보는 제1 및 제2 게이트웨이들에 의해 액세스가능할 수 있다. 헤더 정보의 목적지 계층 2 어드레스와 연관된 제2 호스트의 아이덴티티 정보는 제1 및 제2 게이트웨이들에 의해 액세스가능할 수 있다.
제1 게이트웨이는 단계(507)에서, 헤더 정보의 제2 부분에 따라 단계(503)로부터 초래된 수정된 데이터 패킷을 제2 게이트웨이에 송신할 수 있다. 헤더 정보의 제2 부분은 목적지 어드레스들을 표시할 수 있다. 예를 들어, 송신은 터널링 통신 프로토콜에 따라 수행될 수 있다. 제2 게이트웨이는 제1 및 제2 호스트들의 계층 2 어드레스와 아이덴티티 정보 사이의 연관에 대한 액세스를 갖기 때문에, 제2 게이트웨이는 데이터 패킷을 제2 호스트에 송신하기 위해 액세스가능한 정보를 사용할 수 있다. 예를 들어, 제2 게이트웨이는 그 정보를 사용하여, 제2 게이트웨이에서 수신된 데이터 패킷의 제2 호스트의 아이덴티티 정보를 사용하여 제2 호스트의 계층 2 어드레스를 결정 또는 식별할 수 있다. 제2 게이트웨이는 수신된 데이터 패킷에 있는 네트워크 목적지 어드레스를, 제2 호스트에 데이터 패킷을 송신하기 전에 제2 호스트의 식별된 네트워크 어드레스로 대체한다. 제2 게이트웨이는, 예를 들어, 제1 및 제2 호스트들의 아이덴티티 정보를, 제2 호스트에 데이터 패킷을 송신하기 전에 제1 호스트의 계층 2 소스 어드레스로 추가로 대체할 수 있다.
도 6은 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
제2 게이트웨이는 단계(601)에서, 제2 게이트웨이에 의해 서빙되는 제2 호스트를 목적지로 하는 데이터 패킷을 수신할 수 있다. 예를 들어, 단계(505)에서 제1 게이트웨이에 의해 전송된 데이터 패킷은 수신된 데이터 패킷일 수 있다. 데이터 패킷은 제2 호스트의 아이덴티티 정보를 포함한다.
제2 게이트웨이는 단계(603)에서 제2 호스트의 네트워크 어드레스를 결정하기 위해 제2 호스트의 아이덴티티 정보를 사용할 수 있다.
제2 게이트웨이는 단계(605)에서, 수신된 데이터 패킷의 네트워크 목적지 어드레스를 결정된 네트워크 어드레스로 대체할 수 있다. 단계(607)에서, 제2 게이트웨이(107)는 단계(605)로부터 초래된 데이터 패킷을 제2 호스트에 송신할 수 있다.
도 7은 본 청구 대상의 예에 따라 아이덴티티 정보를 제공하기 위한 방법의 흐름도이다.
데이터베이스 시스템은 단계(701)에서, 게이트웨이에 의해 서빙되는 호스트의 아이덴티티 정보의 요청을 게이트웨이로부터 수신할 수 있다. 요청은 호스트의 네트워크 어드레스를 표시한다.
데이터베이스 시스템은 단계(703)에서, 네트워크 어드레스들 및 연관된 아이덴티티 정보를 포함하는 데이터 콘테이너에서 수신된 네트워크 어드레스를 검색할 수 있다. 데이터 콘테이너에서 수신된 네트워크 어드레스를 식별하는 것에 대한 응답으로(조회 단계(705)), 데이터베이스 시스템은 단계(707)에서, 식별된 네트워크 어드레스와 연관된 아이덴티티 정보를 게이트웨이에 리턴하거나 전송할 수 있다. 그렇지 않으면(조회 단계(705)) 데이터베이스 시스템은 단계(709)에서 아이덴티티 정보를 생성할 수 있고, 단계(711)에서 생성된 아이덴티티 정보를 게이트웨이에 리턴하거나 전송할 수 있다.
네트워크 어드레스는, 예를 들어, 계층 2 어드레스 또는 계층 3 어드레스를 포함할 수 있다.
도 8a 내지 도 8c는 계층 2 통신 프로토콜에 따라 제1 호스트(101)로부터의 데이터 패킷을 제2 호스트(103)에 송신하기 위한 방법을 예시하는 도면들이다. 설명의 목적을 위해, 도 8a 내지 도 8c에서 설명된 방법은 도 1에 예시된 시스템에서 구현될 수 있지만, 이러한 구현으로 제한되지 않는다.
도 8a는 제1 호스트(101)를 서빙하는 제1 게이트웨이(105)에서의 방법을 예시하는 도면이다. 제1 호스트(101)가 제2 호스트(103)에 데이터 패킷(620)을 전송하면, 데이터 패킷(620)은 제2 호스트(103)의 MAC 어드레스를 목적지 MAC 어드레스(633)로서 그리고 그 자신의 MAC 어드레스를 소스 MAC 어드레스(631)로서 포함한다. 호스트(101)를 서빙하는 제1 게이트웨이(105)는 데이터 패킷(620)을 수신할 수 있다.
목적지 MAC 어드레스(206)는 제2 호스트(103)를 서빙하는 게이트웨이(107)의 MAC 어드레스(605)로 대체될 수 있다. 소스 MAC 어드레스(205)는 제2 호스트(103)의 아이덴티티 정보(203)와 제1 호스트(101)의 아이덴티티 정보(201)의 조합으로 대체될 수 있다. 201 및 203의 아이덴티티 정보 각각은 3바이트 길이일 수 있다. 둘 모두가 3바이트 길이이기 때문에, 이들은 소스 MAC 어드레스(205)의 필드에 매칭된다.
수정된 패킷(620)은 목적지로서 제2 게이트웨이(107)를 갖는 네트워크 상에서 추가로 전달될 수 있다.
도 8b는 제2 호스트(103)를 서빙하는 제2 게이트웨이(107)에서 데이터 패킷(620)을 프로세싱하기 위한 방법을 예시하는 도면이다.
패킷(620)을 수신할 때, 제2 게이트웨이(107)는 목적지 MAC 어드레스(605)를 제2 호스트의 MAC 어드레스(206)로 대체할 수 있다. 제2 호스트(103)의 MAC 어드레스(206)는 제2 호스트의 아이덴티티 정보(203)에 대응하는 엔트리를 제2 게이트웨이(107)의 리스트(301)에서 검색함으로써 획득 또는 리졸빙될(resolved) 수 있다. 제1 및 제2 호스트들의 아이덴티티 정보는 검색된 엔트리에 포함된 제2 게이트웨이(107)의 MAC 어드레스(605)로 대체될 수 있다.
도 8c는 제2 호스트(103)를 서빙하는 제2 게이트웨이(107)에서 데이터 패킷(620)을 프로세싱하기 위한 다른 방법을 예시하는 도면이다.
패킷(620)을 수신할 때, 제2 게이트웨이(107)는 목적지 MAC 어드레스(605)를 제2 호스트의 MAC 어드레스(206)로 대체할 수 있다. 제2 호스트(103)의 MAC 어드레스(206)는 제2 호스트의 아이덴티티 정보(203)에 대응하는 엔트리를 제2 게이트웨이(107)의 리스트(301)에서 검색함으로써 획득 또는 리졸빙될 수 있다. 제2 게이트웨이(107)는 제1 호스트(101)의 아이덴티티 정보와 연관된 자신의 리스트(303) 내의 맵핑 정보를 검색할 수 있다. 발견되지 않으면, 제2 게이트웨이는 자신의 식별 정보(201)에 의해 참조되는 제1 호스트(101)의 MAC 어드레스를 획득하기 위해 데이터베이스 시스템(112)에 질의할 수 있다. 일단 제1 호스트(101)에 대한 MAC 어드레스(205)가 수신되면, 제2 게이트웨이(107)의 리스트(303)는 그에 따라 업데이트될 수 있고, 아이덴티티 정보(201-203)는 제1 호스트(101)의 MAC 어드레스(205)로 대체될 수 있다.
도 9는 본 청구 대상의 예에 따라 데이터 패킷을 송신하기 위한 방법의 흐름도이다.
제1 게이트웨이는 단계(901)에서, 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 수신할 수 있다. 제2 호스트는, 예를 들어 제2 게이트웨이에 의해 서빙될 수 있다.
제1 게이트웨이는 단계(903)에서, 수신된 데이터 패킷의 헤더의 제1 부분을, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체할 수 있다.
제1 게이트웨이는 단계(905)에서, 헤더 정보의 제2 부분에 따라 단계(503)로부터 초래된 데이터 패킷을 제2 게이트웨이에 송신할 수 있다.
도 10은 본 청구 대상의 예에 따른 장치의 예를 도시하는 블록도이다.
도 10에서, 본 청구 대상의 적어도 일부를 구현하도록 구성된 장치(1070)의 구성을 예시하는 블록 회로도가 도시된다. 도 10에 도시된 장치(1070)는 아래에서 본원에 설명되는 것들 외에도 몇몇 추가적인 엘리먼트들 또는 기능들을 포함할 수 있으며, 이들은 이해를 위해 필수적이지 않기 때문에 간략화를 위해 본원에서 생략됨을 주목해야 한다. 게다가, 장치는 또한, 장치의 일부일 수 있거나 또는 장치에 별개의 엘리먼트로서 어태치될 수 있는 등등의 칩셋, 칩, 모듈 등과 같은 유사한 기능을 갖는 다른 디바이스일 수도 있다. 장치(1070)는, 흐름 제어 메커니즘과 관련된 프로그램들 등에 의해 주어진 명령들을 실행하는 프로세싱 기능 또는 프로세서(1071), 이를 테면, CPU 등을 포함할 수 있다. 프로세서(1071)는 아래에서 설명되는 바와 같이 특정 프로세싱에 전용되는 하나 이상의 프로세싱 부분들을 포함할 수 있거나, 프로세싱은 단일 프로세서에서 실행될 수 있다. 그러한 특정 프로세싱을 실행하기 위한 부분들은 또한, 예를 들어, CPU와 같은 하나의 물리적 프로세서에서 또는 몇몇 물리적 엔티티들에서, 예를 들어, 이산 엘리먼트들로서 또는 하나 이상의 추가적인 프로세서들 또는 프로세싱 부분들 내에 제공될 수 있다. 참조 부호(1072)는 프로세서(1071)에 접속된 트랜시버 또는 입력/출력(I/O) 유닛들(인터페이스들)을 나타낸다. I/O 유닛들(1072)은 하나 이상의 다른 네트워크 엘리먼트들, 엔티티들, 단말들 등과 통신하기 위해 사용될 수 있다. I/O 유닛들(1072)은 몇몇 네트워크 엘리먼트들을 향한 통신 장비를 포함하는 조합된 유닛일 수 있거나, 또는 상이한 네트워크 엘리먼트들에 대한 복수의 상이한 인터페이스들을 갖는 분산형 구조를 포함할 수 있다. 참조 부호(1073)는, 예를 들어, 프로세서(1071)에 의해 그리고/또는 프로세서(1071)의 작동 저장소로서 실행될 데이터 및 프로그램들을 저장하기 위해 사용가능한 메모리를 나타낸다.
프로세서(1071)는 위에서 설명된 청구 대상과 관련된 프로세싱을 실행하도록 구성된다. 특히, 장치(1070)는 게이트웨이 등에서 구현될 수 있거나 또는 그 일부일 수 있고, 도 5, 도 6 또는 도 9와 관련하여 설명된 바와 같은 방법을 수행하도록 구성될 수 있다.
프로세서(1071)는 제1 호스트로부터 제2 호스트를 목적지로 하는 데이터 패킷을 수신하는 것, 제1 게이트웨이에 의해, 데이터 패킷의 헤더 정보의 제1 부분을, 제1 호스트 및 제2 호스트 중 적어도 하나의 아이덴티티 정보를 포함하는 정보로 대체하는 것, 제1 게이트웨이에 의해, 헤더 정보의 제2 부분에 따라 데이터 패킷을, 제2 호스트를 서빙하는 제2 게이트웨이에 송신하는 것을 수행하도록 구성된다.
추가적인 예에 따르면, 프로세서(1071)는, 게이트웨이에 의해 서빙되는 제2 호스트를 목적지로 하는 데이터 패킷을 수신하는 것 ― 데이터 패킷은 제2 호스트의 아이덴티티 정보를 포함함 ―, 제2 호스트의 네트워크 어드레스를 결정하기 위해 제2 호스트의 아이덴티티 정보를 사용하는 것, 수신된 데이터 패킷의 네트워크 목적지 어드레스를 결정된 네트워크 어드레스로 대체하는 것, 및 제2 호스트에 데이터 패킷을 송신하는 것을 수행하도록 추가로 구성된다.
추가적인 예에 따르면, 장치(1070)는 데이터베이스 시스템에서 구현될 수 있거나 그 일부일 수 있고, 프로세서(1071)는 게이트웨이에 의해 서빙되는 호스트의 아이덴티티 정보의 요청을 수신하는 것 ― 요청은 호스트의 네트워크 어드레스를 표시함 ―, 정보를 식별하기 위해 네트워크 어드레스들의 데이터 콘테이너에서 수신된 네트워크 어드레스를 검색하는 것, 데이터 콘테이너에서 수신된 네트워크 어드레스를 식별하는 것에 대한 응답으로, 식별된 네트워크 어드레스와 연관된 아이덴티티 정보를 리턴하고, 그렇지 않으면 아이덴티티 정보를 생성하고, 생성된 아이덴티티 정보를 리턴하는 것을 수행하도록 추가로 구성된다.
Claims (20)
- 방법으로서,
제1 게이트웨이(105)에 의해 제1 호스트(101)로부터 데이터 패킷(620)을 수신하는 단계 ― 상기 데이터 패킷은 제2 호스트(103)를 목적지로 하고, 상기 데이터 패킷(620)은 상기 제2 호스트의 MAC 어드레스를 목적지 MAC 어드레스로서 그리고 상기 제1 호스트의 MAC 어드레스를 소스 MAC 어드레스(631)로서 포함함 ―;
상기 제1 게이트웨이(105)에 의해, 상기 목적지 MAC 어드레스를 상기 제2 호스트를 서빙하는 제2 게이트웨이의 MAC 어드레스로 그리고 상기 소스 MAC 어드레스를 상기 제1 호스트의 단축된 식별자와 상기 제2 호스트의 단축된 식별자의 조합으로 대체하는 단계;
상기 제1 게이트웨이(105)에 의해, 상기 제2 호스트를 서빙하는 상기 제2 게이트웨이(107)의 상기 목적지 MAC 어드레스에 따라 상기 데이터 패킷을 송신하는 단계를 포함하는, 방법. - 삭제
- 제1 항에 있어서,
상기 소스 MAC 어드레스를 사용하여 상기 제1 호스트 및 상기 제2 호스트의 식별자들을 결정하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 제1 호스트의 식별자는 제1 그룹의 비트들의 값이고 그리고 상기 제2 호스트의 식별자는 제2 그룹의 비트들의 값이고, 상기 제1 그룹의 비트들 및 상기 제2 그룹의 비트들은 동일한 수의 비트들을 갖는, 방법. - 제1 항에 있어서,
상기 제1 호스트의 식별자는 제1 그룹의 비트들의 값이고, 상기 방법은, 상기 제1 그룹의 비트들의 가능한 값들의 최대 수가 상기 제1 게이트웨이에 의해 서빙될 수 있는 호스트들의 미리 정의된 최대 수보다 작거나 또는 그와 동일하도록 상기 제1 그룹의 비트들을 결정하는 단계를 더 포함하고, 상기 제2 호스트의 식별자는 제2 그룹의 비트들의 값이고, 상기 방법은, 상기 제2 그룹의 비트들의 가능한 값들의 최대 수가 상기 제2 게이트웨이에 의해 서빙될 수 있는 호스트들의 미리 정의된 최대 수보다 작거나 또는 그와 동일하도록 상기 제2 그룹의 비트들을 결정하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 제1 게이트웨이는 MAC 어드레스들 및 연관된 식별자들을 포함하는 로컬 데이터 콘테이너를 포함하고, 상기 방법은 상기 로컬 데이터 콘테이너를 사용하여 상기 제1 호스트 및/또는 상기 제2 호스트의 식별자를 결정하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 방법은, 상기 데이터 패킷을 수신할 때, 상기 제1 호스트 및/또는 상기 제2 호스트의 MAC 어드레스를 이용하여 MAC 어드레스들 및 연관된 식별자들을 포함하는 원격 데이터 콘테이너에 질의하는 단계 및 상기 원격 데이터 콘테이너를 저장하는 데이터베이스 시스템으로부터 상기 식별자들을 수신하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
계층 2 통신 프로토콜에 따라 상기 제2 호스트에 상기 데이터 패킷을 포워딩하기 위해, 상기 제2 게이트웨이에 의해 상기 제1 호스트 및/또는 상기 제2 호스트의 식별자를 사용하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
다른 제1 호스트로부터 다른 제2 호스트를 목적지로 하는 다른 데이터 패킷을 상기 제1 게이트웨이에서 수신하는 단계; 상기 제1 호스트가 상기 제1 게이트웨이로부터 분리된다는 결정에 대한 응답으로, 상기 다른 제1 호스트의 식별자로서 상기 제1 호스트의 식별자를 사용하여 상기 방법을 반복하는 단계를 더 포함하는, 방법. - 비-일시적 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은 상기 컴퓨터 프로그램 상에 저장된 명령들을 포함하고,
상기 명령들은, 적어도:
제1 게이트웨이(105)에 의해 제1 호스트(101)로부터 데이터 패킷(620)을 수신하는 것 ― 상기 데이터 패킷은 제2 호스트(103)를 목적지로 하고, 상기 데이터 패킷(620)은 상기 제2 호스트의 MAC 어드레스를 목적지 MAC 어드레스로서 그리고 상기 제1 호스트의 MAC 어드레스를 소스 MAC 어드레스(631)로서 포함함 ―;
상기 제1 게이트웨이(105)에 의해, 상기 목적지 MAC 어드레스를 상기 제2 호스트를 서빙하는 제2 게이트웨이의 MAC 어드레스로 그리고 상기 소스 MAC 어드레스를 상기 제1 호스트의 단축된 식별자와 상기 제2 호스트의 단축된 식별자의 조합으로 대체하는 것;
상기 제1 게이트웨이(105)에 의해, 상기 제2 호스트를 서빙하는 상기 제2 게이트웨이(107)의 상기 목적지 MAC 어드레스에 따라 상기 데이터 패킷을 송신하는 것
을 수행하기 위한 것인, 컴퓨터 프로그램. - 장치로서,
제1 호스트(101)로부터 데이터 패킷(620)을 수신하도록 구성된 수단 ― 상기 데이터 패킷은 제2 호스트(103)를 목적지로 하고, 상기 데이터 패킷(620)은 상기 제2 호스트의 MAC 어드레스를 목적지 MAC 어드레스로서 그리고 상기 제1 호스트의 MAC 어드레스를 소스 MAC 어드레스(631)로서 포함함 ―;
상기 목적지 MAC 어드레스를 상기 제2 호스트를 서빙하는 제2 게이트웨이의 MAC 어드레스로 그리고 상기 소스 MAC 어드레스를 상기 제1 호스트의 단축된 식별자와 상기 제2 호스트의 단축된 식별자의 조합으로 대체하도록 구성된 수단;
상기 제2 호스트를 서빙하는 상기 제2 게이트웨이(107)의 상기 목적지 MAC 어드레스에 따라 상기 데이터 패킷을 송신하도록 구성된 수단을 포함하는, 장치. - 방법으로서,
제1 호스트를 서빙하는 다른 게이트웨이로부터 데이터 패킷(620)을 게이트웨이(107)에서 수신하는 단계 ― 상기 데이터 패킷은 상기 게이트웨이(107)에 의해 서빙되는 제2 호스트(103)를 목적지로 하고, 상기 데이터 패킷은, 상기 게이트웨이의 MAC 어드레스를 목적지 MAC 어드레스로서 포함하고, 그리고 상기 제1 호스트의 단축된 식별자와 상기 제2 호스트의 단축된 식별자의 조합을 포함함 ―;
상기 제2 호스트(103)의 MAC 어드레스를 결정하기 위해 상기 제2 호스트(103)의 식별자를 사용하는 단계;
상기 수신된 데이터 패킷의 상기 목적지 MAC 어드레스를 상기 제2 호스트(103)의 MAC 어드레스로 그리고 상기 수신된 데이터 패킷의 상기 제1 호스트 및 상기 제2 호스트의 상기 조합된 단축된 식별자들을 상기 게이트웨이의 MAC 어드레스로 대체하는 단계;
상기 제2 호스트에 상기 데이터 패킷을 송신하는 단계를 포함하는, 방법. - 비-일시적 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은 상기 컴퓨터 프로그램 상에 저장된 명령들을 포함하고,
상기 명령들은, 적어도:
제1 호스트를 서빙하는 다른 게이트웨이로부터 데이터 패킷(620)을 게이트웨이(107)에서 수신하는 것 ― 상기 데이터 패킷은 상기 게이트웨이(107)에 의해 서빙되는 제2 호스트(103)를 목적지로 하고, 상기 데이터 패킷은, 상기 게이트웨이의 MAC 어드레스를 목적지 MAC 어드레스로서 포함하고, 그리고 상기 제1 호스트의 단축된 식별자와 상기 제2 호스트의 단축된 식별자의 조합을 포함함 ―;
상기 제2 호스트(103)의 MAC 어드레스를 결정하기 위해 상기 제2 호스트(103)의 식별자를 사용하는 것;
상기 수신된 데이터 패킷의 상기 목적지 MAC 어드레스를 상기 제2 호스트(103)의 MAC 어드레스로 그리고 상기 수신된 데이터 패킷의 상기 제1 호스트 및 상기 제2 호스트의 상기 조합된 단축된 식별자들을 상기 게이트웨이의 MAC 어드레스로 대체하는 것;
상기 제2 호스트에 상기 데이터 패킷을 송신하는 것
을 수행하기 위한 것인, 컴퓨터 프로그램. - 장치로서,
제1 호스트를 서빙하는 게이트웨이로부터 데이터 패킷(620)을 수신하도록 구성된 수단 ― 상기 데이터 패킷은 제2 게이트웨이(107)에 의해 서빙되는 제2 호스트(103)를 목적지로 하고, 상기 데이터 패킷은, 상기 제2 게이트웨이의 MAC 어드레스를 목적지 MAC 어드레스로서 포함하고, 그리고 상기 제1 호스트의 단축된 식별자와 상기 제2 호스트의 단축된 식별자의 조합을 포함함 ―;
상기 제2 호스트(103)의 MAC 어드레스를 결정하기 위해 상기 제2 호스트(103)의 식별자를 사용하도록 구성된 수단;
상기 수신된 데이터 패킷의 상기 목적지 MAC 어드레스를 상기 제2 호스트(103)의 MAC 어드레스로 그리고 상기 수신된 데이터 패킷의 상기 제1 호스트 및 상기 제2 호스트의 상기 조합된 단축된 식별자들을 상기 제2 게이트웨이의 MAC 어드레스로 대체하도록 구성된 수단;
상기 제2 호스트에 상기 데이터 패킷을 송신하는 것을 포함하는, 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2019/050847 WO2020147923A1 (en) | 2019-01-15 | 2019-01-15 | Swapping header information for data transmission |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210105429A KR20210105429A (ko) | 2021-08-26 |
KR102358518B1 true KR102358518B1 (ko) | 2022-02-08 |
Family
ID=65036780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217025354A KR102358518B1 (ko) | 2019-01-15 | 2019-01-15 | 데이터 송신을 위한 헤더 정보 스와핑 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11368397B2 (ko) |
EP (1) | EP3912315B1 (ko) |
JP (1) | JP7171930B2 (ko) |
KR (1) | KR102358518B1 (ko) |
CN (1) | CN113302883B (ko) |
WO (1) | WO2020147923A1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160028625A1 (en) | 2014-07-22 | 2016-01-28 | Alcatel-Lucent Usa Inc. | Packet forwarding based on path encoding |
US20170171068A1 (en) | 2014-06-27 | 2017-06-15 | Nokia Solutions And Networks Oy | Ultra high-speed mobile network based on layer-2-switching |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717956B1 (en) | 2000-03-03 | 2004-04-06 | Luminous Networks, Inc. | Dual-mode virtual network addressing |
JP2006166315A (ja) | 2004-12-10 | 2006-06-22 | Zero:Kk | ユーザ識別システム及びipアドレス生成方法 |
CN100596358C (zh) | 2005-11-18 | 2010-03-31 | 杭州华三通信技术有限公司 | 区域网络的链路层通信方法及其应用的网络设备 |
EP2482496B1 (en) * | 2009-09-24 | 2018-11-28 | Nec Corporation | Identification system for inter-virtual-server communication and identification method for inter-virtual-server communication |
KR20150068461A (ko) | 2012-10-12 | 2015-06-19 | 엘지전자 주식회사 | 무선랜 시스템에서 짧은 mac 헤더를 지원하는 프레임 송수신 방법 및 장치 |
US10616108B2 (en) * | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
CN104796849B (zh) | 2015-04-16 | 2018-05-22 | 电信科学技术研究院 | 一种对数据包进行处理的方法和设备 |
WO2017113231A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 一种报文传输的方法、装置和系统 |
WO2017116975A1 (en) * | 2015-12-31 | 2017-07-06 | Affirmed Networks, Inc. | Seamless handoff between wireless access gateways |
CN107404436A (zh) * | 2016-05-19 | 2017-11-28 | 华为技术有限公司 | 用于虚拟可扩展局域网的通信方法和装置 |
US10749840B2 (en) * | 2016-07-08 | 2020-08-18 | Waldemar Augustyn | Network communication method and apparatus |
US20180159758A1 (en) * | 2016-12-01 | 2018-06-07 | Hewlett Packard Enterprise Development Lp | Virtual media access control addresses for hosts |
CN107404546B (zh) * | 2017-08-07 | 2022-10-14 | 刘昱 | 一种sdn网络内的通信方法及装置 |
-
2019
- 2019-01-15 KR KR1020217025354A patent/KR102358518B1/ko active IP Right Grant
- 2019-01-15 WO PCT/EP2019/050847 patent/WO2020147923A1/en active Search and Examination
- 2019-01-15 CN CN201980089085.6A patent/CN113302883B/zh active Active
- 2019-01-15 JP JP2021540870A patent/JP7171930B2/ja active Active
- 2019-01-15 US US17/421,208 patent/US11368397B2/en active Active
- 2019-01-15 EP EP19700889.9A patent/EP3912315B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170171068A1 (en) | 2014-06-27 | 2017-06-15 | Nokia Solutions And Networks Oy | Ultra high-speed mobile network based on layer-2-switching |
US20160028625A1 (en) | 2014-07-22 | 2016-01-28 | Alcatel-Lucent Usa Inc. | Packet forwarding based on path encoding |
Also Published As
Publication number | Publication date |
---|---|
US20220045949A1 (en) | 2022-02-10 |
WO2020147923A1 (en) | 2020-07-23 |
KR20210105429A (ko) | 2021-08-26 |
JP2022508485A (ja) | 2022-01-19 |
EP3912315A1 (en) | 2021-11-24 |
CN113302883B (zh) | 2022-04-29 |
EP3912315B1 (en) | 2022-11-30 |
CN113302883A (zh) | 2021-08-24 |
JP7171930B2 (ja) | 2022-11-15 |
US11368397B2 (en) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9385949B2 (en) | Routing controlled by subnet managers | |
JP5966561B2 (ja) | 通信装置および通信方法 | |
Li et al. | OpenFlow based load balancing for fat-tree networks with multipath support | |
EP3293935B1 (en) | Software defined network-based data processing method, and system | |
KR101337461B1 (ko) | 명칭 주소 맵핑 시스템, 데이터 전송 방법 및 명칭 주소 맵핑 유지 방법 | |
US6704293B1 (en) | Broadcast as a triggering mechanism for route discovery in ad-hoc networks | |
US10164910B2 (en) | Method and apparatus for an information-centric MAC layer | |
CN107786437B (zh) | 报文转发方法及装置 | |
KR20160099473A (ko) | 모듈식 포워딩 테이블 확장성을 위한 기술 | |
US9979643B2 (en) | Communication apparatus, communication method, and computer-readable recording medium | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
JP2021536711A (ja) | 通信可能に結合される通信デバイスのネットワークでのメッセージの選択的転送をサポートする方法およびデバイス | |
EP1250777A1 (en) | Broadcast as a triggering mechanism for route discovery | |
US11032185B2 (en) | Communication system, edge node, communication method and program | |
EP3745660A1 (en) | Multicast processing for neighbor discovery proxy devices using hardware filtering | |
WO2017071591A1 (en) | Icn based distributed resource directory for iot resource discovery and routing | |
US10523629B2 (en) | Control apparatus, communication system, communication method, and program | |
KR102358518B1 (ko) | 데이터 송신을 위한 헤더 정보 스와핑 | |
CN111245728A (zh) | 具多网卡计算装置的数据报文转发方法及系统 | |
JP2003258859A (ja) | 通信システム、通信方法、転送装置及びネットワーク管理装置 | |
KR100595882B1 (ko) | 이더넷을 통한 패킷 포워딩 방법 | |
KR20050054003A (ko) | 동일한 아이피 서브넷에 속하는 가상 근거리 통신망 간의데이터 스위칭 시스템 및 방법 | |
KR100624475B1 (ko) | 네트워크 구성요소 및 패킷 포워딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |