KR102054775B1 - A method and apparatus for supporting mobility of host using hierarchical distributed hash table - Google Patents
A method and apparatus for supporting mobility of host using hierarchical distributed hash table Download PDFInfo
- Publication number
- KR102054775B1 KR102054775B1 KR1020170118385A KR20170118385A KR102054775B1 KR 102054775 B1 KR102054775 B1 KR 102054775B1 KR 1020170118385 A KR1020170118385 A KR 1020170118385A KR 20170118385 A KR20170118385 A KR 20170118385A KR 102054775 B1 KR102054775 B1 KR 102054775B1
- Authority
- KR
- South Korea
- Prior art keywords
- item
- packet
- terminal
- network access
- hash table
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H04L61/2007—
-
- 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/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
계층 분산 해시 테이블을 이용한 단말 이동성 지원 방법 및 장치가 개시된다. 일 실시예에 따른 이동성 제공 방법은 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 단계와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.A method and apparatus for supporting terminal mobility using a hierarchical distributed hash table are disclosed. According to an embodiment, a method for providing mobility includes registering an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT). And processing a handover of the terminal by using the item, wherein the hierarchical distributed hash table is configured of the plurality of hierarchies based on a physical distance between the network access switches.
Description
아래 실시예들은 계층 분산 해시 테이블을 이용하여 단말 이동성을 지원하는 방법 및 장치에 관한 것이다.The following embodiments are related to a method and apparatus for supporting terminal mobility using a hierarchical distributed hash table.
컴퓨팅 파워를 갖추고 크기가 작은 사물들이 늘어남에 따라 네트워크에 연결되는 이동 단말의 수가 크게 증가하고 있다. 현재 인터넷에 연결된 대부분의 장치들은 스마트폰, 데스크탑, 노트북과 같이 이동성이 낮은 장치들이지만, 앞으로 다가올 미래에는 각종 센서, 안경, 자동차, 시계 가전기구 등 우리 주변에 존재하는 대부분의 이동 사물들이 인터넷에 연결될 것으로 전망된다.As the number of small objects with computing power increases, the number of mobile terminals connected to a network increases significantly. Currently, most of the devices connected to the Internet are low-mobility devices such as smartphones, desktops, and laptops, but in the coming years, most of the moving things around us, including sensors, glasses, cars, watch appliances, etc. It is expected to be connected.
해외 매체에 따르면 2020년까지 인터넷에 접속되는 장치의 수가 500억 개를 넘을 것이며, 지구상의 이동 수단 중 1/4 이상이 인터넷에 연결될 것이다. 이와 같은 통계 자료들은 앞으로 인터넷에 접속되는 사물들 중에서 이동성을 지닌 사물들의 비율이 커질 것을 암시하고 있다.According to foreign media, the number of devices connected to the Internet will exceed 50 billion by 2020, and over a quarter of the world's vehicles will be connected to the Internet. These statistics suggest that the proportion of things with mobility among things connected to the Internet will increase.
네트워크에 연결된 이동성을 지닌 사물들의 비율이 증가함에 따라 미래 인터넷 환경에서는 사물들에 대한 이동성 지원 및 관리가 중요한 문제로 대두될 것이다. 따라서 미래 상황에 대비한 이동성 지원 플랫폼을 설계할 필요가 있다.As the proportion of things with mobility connected to the network increases, mobility support and management of things will become an important issue in the future Internet environment. Therefore, it is necessary to design a mobility support platform for future situations.
현재의 네트워크는 중앙 집중적 방식으로 동작해서 모든 유저 패킷이 코어 망을 경유한다. 예를 들어, 3GPP에서는 GPRS(General Pachet Radio Service) 터널링 프로토콜(tunneling protocol)을 사용해서 네트워크 기반의 IP(Internet Protocol) 이동성을 제공한다.Current networks operate in a centralized manner, with all user packets going through the core network. For example, 3GPP uses the General Pachet Radio Service (GPRS) tunneling protocol (GPRS) to provide network-based Internet Protocol (IP) mobility.
이러한 중앙 집중적 방식은 중앙 앵커가 단말의 현재 위치로 패킷을 리라우팅(rerouting) 해줌으로써 간단한 방식으로 동작한다는 장점이 있다. 하지만 중앙 앵커가 동작 불능 상태가 되면 시스템 전체가 동작하지 못하는 단일점 고장(single point of failure) 문제와 시스템을 사용하는 사용자의 수가 크게 증가 했을 때 이를 수용하지 못하는 확장성(scalability) 문제를 가지고 있다. 따라서 미래 인터넷 환경에서는 이러한 문제점들이 해결된 분산형 방식이 적용될 필요가 있다.This centralized method has the advantage that the central anchor operates in a simple manner by rerouting the packet to the current location of the terminal. However, when the central anchor becomes inoperable, it has a single point of failure problem in which the whole system cannot operate and a scalability problem that cannot be accommodated when the number of users using the system increases significantly. . Therefore, in the future Internet environment, a distributed method that solves these problems needs to be applied.
실시예들은 계층 분산 해시 테이블을 이용하여 단말의 이동성을 제공함에 있어서 질의 시간을 단축 시키고 확장성 문제를 해결할 수 있는 기술을 제공할 수 있다.Embodiments may provide a technique for shortening query time and solving a scalability problem in providing mobility of a terminal using a hierarchical distributed hash table.
일 실시예에 따른 이동성 제공 방법은, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 단계와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.According to an embodiment, a mobility providing method includes registering an entry related to a terminal in a layer designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT). And processing a handover of the terminal by using the item, wherein the hierarchical distributed hash table is configured of the plurality of hierarchies based on a physical distance between the network access switches.
상기 이동성 제공 방법은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계를 더 포함하고, 상기 생성하는 단계는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계와, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계를 포함할 수 있다.The method of providing mobility further includes generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches, wherein the generating comprises: physically selecting among the network access switches. The method may include generating a plurality of lower layers composed of network access switches close to each other, and hierarchically generating upper layers composed of the plurality of lowest layers.
상기 등록하는 단계는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.The registering may include generating a key value of an item related to the terminal, querying the key value in the hierarchical distributed hash table, and performing the hierarchical distributed hash based on a query result. Updating the item in a table.
상기 업데이트하는 단계는, 상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계와, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계와, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계를 포함할 수 있다.The updating may include specifying a layer in which the item is to be stored, updating a network access switch list and an IP address of the item, and updating the hierarchical distributed hash table. And requesting registration for the item.
상기 요청하는 단계는, 최하위 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계와, 상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계와, 상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하는 단계와, 상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계를 포함할 수 있다.The requesting step includes storing the item in a distributed hash table of a lowest layer, and when the registration request arrives at a specified layer while sequentially delivering the registration request from the lowest layer to the highest layer, distributing the specified layer. Storing the item in a hash table; storing the item in a distributed hash table node of the top layer through a logical distance operation when the registration request reaches the top layer; Storing the item in a distributed hash table of the specified layer when the specified layer is reached while sequentially transferring from the highest layer to the specified layer.
상기 저장하는 단계 각각은, 상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계와, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계를 포함할 수 있다.Each of the storing may include performing a logical distance operation by using a key value of the item, and storing the item in a network access switch having a smallest result of the logical distance operation. have.
상기 처리하는 단계는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계와, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.The processing may include allocating a new Internet Protocol (IP) address to the terminal as the terminal moves, generating an item key value for the terminal, and querying the hierarchical distributed hash table. Updating the item in the hierarchical distributed hash table based on a result.
상기 이동성 제공 방법은, 상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계를 더 포함할 수 있다.The mobility providing method may further include transmitting a packet to the terminal through the hierarchical distributed hash table.
상기 전송하는 단계는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계와, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계와, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.The transmitting may include generating, by the network access switch receiving the packet, an item key value of the terminal, determining whether an option header exists in the packet, and as a result of the determination and the item key. Forwarding the packet to a network switch to which the terminal is connected based on a value.
상기 포워딩하는 단계는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.In the forwarding step, when the option header does not exist in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, forwarding the packet and the hierarchical distributed hash table Querying the item for the item, and if the option header does not exist in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, the terminal determines the destination of the packet. Modifying with the connected network switch, adding a new item key value to the option header, and storing the item corresponding to the item key value by the network access switch having the option header in the packet and receiving the packet. If not, discarding the packet; If there is a further and the network access switch that has received the packet stores the item corresponding to the item key value, restore the destination of the packet to the terminal and remove the option header to forward the packet to the terminal. It may include the step.
일 실시예에 따른 이동성 제공 장치는, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 컨트롤러를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.The mobility providing apparatus according to an embodiment may register an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT). And a controller for handling handover of the terminal by using the item, wherein the hierarchical distributed hash table is configured of the plurality of hierarchies based on a physical distance between the network access switches.
상기 컨트롤러는, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기를 포함할 수 있다.The controller may include: an item register configured to register an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); It may include a handover processor for processing the handover of the terminal using.
상기 컨트롤러는, 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기를 더 포함하고, 상기 HDHT 생성기는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.The controller further comprises an HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on the physical distance between the network access switches, wherein the HDHT generator is physically selected from among the network access switches. A plurality of lowest layers composed of close network access switches may be generated, and higher layers composed of the plurality of lowest layers may be hierarchically generated.
상기 항목 등록기는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터를 포함할 수 있다.The item register includes a key generator for generating a key value of an item related to the terminal, a query for querying the key value in the hierarchical distributed hash table, and the hierarchical distributed hash based on a query result. The table may include an item updater for updating the item.
상기 항목 업데이터는, 상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청할 수 있다.The item updater specifies a layer in which the item is to be stored, updates the network access switch list and the IP address of the item, and registers the item in the layer distributed hash table. You can request
상기 항목 업데이터는, 최하위 계층의 분산 해시 테이블에 상기 항목을 저장하고, 상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하고, 상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하고, 상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장할 수 있다.The item updater stores the item in a distributed hash table of the lowest layer, and sequentially passes the registration request from the lowest layer to the highest layer, and if the registration request arrives at the specified layer, the item updater sends the distributed hash table of the specified layer. Storing the item, and when the registration request reaches the top layer, storing the item in a distributed hash table node of the top layer through a logical distance operation, and transferring the registration request from the top layer to the specified layer. When the specified layer is reached while delivering sequentially, the item may be stored in a distributed hash table of the specified layer.
상기 항목 업데이터는, 상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장할 수 있다.The item updater may perform a logical distance operation by using the key value of the item, and store the item in a network access switch having the smallest result of the logical distance operation.
상기 핸드오버 처리기는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트할 수 있다.The handover processor allocates a new Internet Protocol (IP) address to the terminal as the terminal moves, generates an item key value for the terminal, and queries the hierarchical distributed hash table based on the query result. The item may be updated in the hierarchical distributed hash table.
상기 컨트롤러는, 상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기를 더 포함할 수 있다.The controller may further include a packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table.
상기 패킷 전송기는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩할 수 있다.The packet transmitter generates an item key value of the terminal in a network access switch that receives the packet, determines whether an option header exists in the packet, and based on the result of the determination and the item key value, The packet may be forwarded to the network switch to which the terminal is connected.
상기 패킷 전송기는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩할 수 있다.The packet transmitter forwards the packet to the hierarchical distributed hash table when the option header does not exist in the packet and the network access switch that receives the packet does not store an item corresponding to the item key value. Inquiring about the item, and if the option header does not exist in the packet and the network access switch receiving the packet stores the item corresponding to the item key value, the network to which the terminal is connected to the destination of the packet. Modify with a switch, add a new item key value to the option header, and if the option header is present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, Discard the packet, the packet has the option header and the packet If the received network access switch for storing an entry corresponding to the key item value, it is possible to restore the destination of the packet to the terminal and removes the option header to forward the packet to the terminal.
도 1은 일 실시예에 따른 이동성 제공 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 이동성 제공 장치를 이용한 이동성 지원 시스템의 예시를 나타낸다.
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 도 3에 도시된 항목 등록기의 개략적인 블록도를 나타낸다.
도 5는 계층 분산 해시 테이블의 구조의 예시를 나타낸다.
도 6은 DHT 라우팅 테이블의 예시를 나타낸다.
도 7은 계층 분산 해시 테이블에 항목을 등록하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.
도 9는 네트워크 접근 스위치가 단말과 관련된 항목을 업데이트 하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 10은 네트워크 접근 스위치가 캐시에 저장된 항목을 갱신하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 11은 도 3에 도시된 패킷 전송기의 동작의 예시를 나타낸다.
도 12는 패킷을 전송하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 13은 OVS 커널 모듈과 계층 분산 해시 테이블 간에 메시지를 전달 받는 동작의 예시를 나타낸다.
도 14는 도 3에 도시된 핸드오버 처리기의 동작의 예시를 나타낸다.1 is a schematic block diagram of a mobility providing apparatus according to an exemplary embodiment.
FIG. 2 illustrates an example of a mobility support system using the mobility providing device illustrated in FIG. 1.
FIG. 3 shows a schematic block diagram of the controller shown in FIG. 1.
4 shows a schematic block diagram of the item register shown in FIG.
5 shows an example of the structure of a hierarchical distributed hash table.
6 shows an example of a DHT routing table.
7 shows an example of a pseudo code for the operation of registering an item in the hierarchical distributed hash table.
8 illustrates an example hierarchical distributed hash table entry.
9 illustrates an example of a pseudo code for an operation of updating an item related to a terminal by a network access switch.
10 shows an example of pseudo code for an operation of a network access switch updating an item stored in a cache.
11 shows an example of the operation of the packet transmitter shown in FIG. 3.
12 shows an example of a pseudo code for the operation of transmitting a packet.
13 illustrates an example of receiving a message between an OVS kernel module and a hierarchical distributed hash table.
FIG. 14 shows an example of the operation of the handover processor shown in FIG. 3.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are merely illustrated for the purpose of describing the embodiments according to the inventive concept, and the embodiments according to the inventive concept. These may be embodied in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the present invention to specific embodiments, and includes modifications, equivalents, or substitutes included in the spirit and scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The terms are only for the purpose of distinguishing one component from another component, for example, without departing from the scope of the rights according to the inventive concept, the first component may be called a second component, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.When a component is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Expressions that describe the relationship between components, such as "between" and "immediately between," or "directly neighboring to," should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms “comprise” or “have” are intended to designate that the stated feature, number, step, operation, component, part, or combination thereof exists, but includes one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference numerals in the drawings denote like elements.
도 1은 일 실시예에 따른 이동성 제공 장치의 개략적인 블록도를 나타낸다.1 is a schematic block diagram of a mobility providing apparatus according to an exemplary embodiment.
도 1을 참조하면, IETF(Internet Engineering Task Force)는 중앙 집중 방식의 이동성 제공 방법에서 발생하는 고질적인 문제들을 해결하기 위해 분산형 이동성 관리 방식의 요구사항을 정리하고 있고, 기존 IP(Internet Protocol) 이동성 해결책들을 분산형 이동성 관리 방식 환경의 데이터 면(data plane)에 도입하는 것을 추진하고 있다. 하지만 이러한 분산형 이동성 관리 방식은 복잡한 터널링 방식, 비최적화(nonoptimal) 경로와 같은 성능 저하 문제들로 인해 실질적으로 사용되지 않고 있는 상황이다.Referring to FIG. 1, the IETF (Internet Engineering Task Force) summarizes the requirements of the distributed mobility management scheme to solve the chronic problems occurring in the centralized mobility provision method, and the existing Internet Protocol (IP) Mobility solutions are being pushed into the data plane of a distributed mobility management environment. However, this distributed mobility management method is not practically used due to performance degradation problems such as complicated tunneling method and nonoptimal path.
최근 데이터 면뿐만 아니라 제어 면(control plane)까지 분산된 완전 분산 방식에 대한 연구가 진행되고 있다. DHT(Distributed Hash Table)를 제어 면으로 사용하는 경우 세계적인 규모로 적용되면 참여하는 노드의 수가 증가하여 질의 시간이 증가하는 문제가 발생할 수 있다.Recently, a study on a fully distributed method in which not only the data plane but also the control plane is distributed is progressing. In the case of using the distributed hash table (DHT) as a control plane, if the global scale is applied, the number of participating nodes may increase, which may cause a problem of increasing query time.
DHT의 질의 시간 문제를 해결하기 위해 DHT를 계층적으로 구성하거나, One Hop DHT를 이용하거나, 동시 다수 질의를 사용하거나, 노드 식별자 할당 시 DHT 노드들의 물리적 위치 고려하는 등 다양한 해결 방법이 제안되었다. 하지만 이러한 방법들은 DHT 성능 자체를 개선시키는 것에 초점을 맞추었기 때문에 단말의 이동성에 대한 고려가 부족하였다.To solve the query time problem of DHT, various solutions have been proposed such as hierarchically constructing DHT, using One Hop DHT, using multiple queries simultaneously, or considering the physical location of DHT nodes when allocating node identifiers. However, since these methods focused on improving the performance of the DHT itself, consideration of the mobility of the terminal was insufficient.
이동성 제공 장치(10)는 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)과 단말에게 이동성을 제공하는 네트워크 접근 스위치를 이용하여 단말에게 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 네트워크 접근 스위치에서 HDHT를 동작 시키고, 단말의 이동성을 제공하기 위한 정보들을 저장하여 네트워크에 접속한 단말에게 이동성을 제공할 수 있다.The
이동성 제공 장치(10)는 최하위 계층의 분산 해시 테이블(DHT)에 참여하는 노드들을 자율 시스템(autonomous system)과 같이 물리적으로 가까운 노드들로 구성한 후, 이러한 노드들을 계층적으로 구성할 수 있다. 예를 들어, 네트워크 접근 스위치가 DHT 노드 역할을 수행할 수 있고, 이동성 제공 장치(10)는 네트워크 접근 스치들을 이용하여 HDHT를 구성할 수 있다.The
이동성 제공 장치(10)는 HDHT를 네트워크 접근 스위치와 개별적으로 동작시킬 수 있다.The
이동성 제공 장치(10)는 단말의 이동성을 제공하기 위해 필요한 정보를 HDHT에 저장할 수 있다. 이동성 제공 장치(10)는 단말의 위치 정보를 포함한 항목을 HDHT에 저장할 때, 항목이 저장되는 계층 레벨을 지정할 수 있다.The
이동성 제공 장치(10)는 단말이 네트워크 상에서 고정되어 있거나, 자유롭게 이동하더라도 단말이 위치한 서브 네트워크에 패킷을 정확히 전달하여 객체의 통신을 유지하게 할 수 있다.The
이동성 제공 장치(10)는 HDHT에 저장된 정보를 이용하여 단말이 이동하더라도 다른 접근 스위치들이 단말이 위치한 서브 네트워크로 패킷 포워딩(또는 라우팅)을 적절히 수행할 수 있도록 할 수 있다.The
이동성 제공 장치(10)는 단말의 이동성을 제공하기 위한 정보를 HDHT에 저장하고, 네트워크 접근 스위치의 패킷 처리 기능을 통해 단말의 이동성을 지원할 수 있다.The
이동성 제공 장치(10)는 단말로부터 유도된 정보들을 이용하여 단말의 정보를 저장하기 위해 사용되는 항목의 키(key) 값을 생성할 수 있다.The
이동성 제공 장치(10)는 서브 네트워크에 위치한 네트워크 접근 스위치들에서 동작하는 DHT를 계층적으로 구성하고, 단말의 이동성에 필요한 정보를 저장할 때, 정보를 담은 항목이 저장될 계층을 지정할 수 있다. 이를 통해, 이동성 제공 장치(10)는 항목이 저장된 계층 밑(계층 레벨이 포함된 범위 안)에서 단말이 이동할 경우 단말의 정보에 대한 질의를 빠른 시간에 완료함으로써, 단말의 핸드 오버 시간을 줄일 수 있고, 확장성(scalability) 문제를 해결할 수 있다.The
이동성 제공 장치(10)는 계층 레벨 지정 기능을 통해 항목이 저장되는 계층보다 하위 계층에서 동작하는 단말이 이동하는 경우 단말 이동 정보에 대한 질의가 빠르게 이루어지도록 할 수 있다.The
이동성 제공 장치(10)는 호스트 정보를 담은 항목이 저장되는 계층 레벨을 지정함으로써 질의에 소요되는 오버레이 홉(overlay hop)의 수를 제한시켜 질의에 소요되는 시간을 단축시킬 수 있다. 오버레이 홉은 HDHT 상에서 노드들 간에 패킷이 전달되는 동작을 의미할 수 있다.The
이동성 제공 장치(10)는 HDHT에 저장된 단말과 관련된 정보를 이용하여 패킷 처리 기능을 수행할 수 있다. 이동성 제공 장치(10)는 패킷 처리 기능을 통해 단말이 서브 네트워크를 변경해도 해당 단말을 목적지로 한 패킷들을 올바른 위치로 전달할 수 있다.The
이동성 제공 장치(10)는 컨트롤러(100)를 포함할 수 있다.The
컨트롤러(100)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리할 수 있다.The
컨트롤러(100)는 네트워크 접근 스위치 내부에 구현될 수 있고, 외부에 구현될 수도 있다. 예를 들어, HDHT를 구성하는 각각의 네트워크 접근 스위치는 컨트롤러를 포함할 수 있다.The
도 2는 도 1에 도시된 이동성 제공 장치를 이용한 이동성 지원 시스템의 예시를 나타낸다.FIG. 2 illustrates an example of a mobility support system using the mobility providing device illustrated in FIG. 1.
도 2를 참조하면, 기존의 단말 기반 이동성 지원 방법은 단말의 수정을 필요로 할 수 있다. 기존의 방식은 단말의 이동이 발생했을 때 신호 정보를 단말이 직접 보내도록 단말을 수정해야 하고, 삼각 라우팅(triangular routing)과 같은 성능 문제가 발생할 수 있다.Referring to FIG. 2, the existing terminal-based mobility support method may require modification of the terminal. In the conventional method, when the movement of the terminal occurs, the terminal needs to modify the terminal to directly send signal information, and a performance problem such as triangular routing may occur.
이동성 제공 장치(10)는 단말을 수정하지 않고, 네트워크 만을 수정하는 네트워크 기반 방식으로 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 분산 이동성 관리 방식을 사용하여 이동성을 제공할 수 있다.The
분산 이동성 관리 방식은 부분 분산 방식과 전체 분산 방식을 포함할 수 있다. 부분 분산 방식과 전체 분산 방식은 제어 면(control plane)의 분산 여부에 의해 구분할 수 있다.The distributed mobility management scheme may include a partial distributed scheme and a total distributed scheme. The partial dispersion method and the total distribution method may be classified according to whether the control plane is distributed.
이동성 제공 장치(10)는 HDHT를 제어 면으로 사용하여 전체 분산 방식에 포함될 수 있다.The
이동성 제공 장치(10)는 각 DHT를 같은 자율 시스템에 속한 네트워크 접근 스위치들로 구성하여 DHT 안에서 발생하는 질의를 빠른 시간에 완료할 수 있다.The
이동성 제공 장치(10)는 DHT를 계층적으로 구성하고 항목이 저장되는 레벨을 지정함으로써 질의에 소요되는 오버레이 홉의 수를 제한시킬 수 있다. 이를 통해, 이동성 제공 장치(10)는 기존의 평면 DHT의 질의 시간 문제와 기존 계층 DHT의 확장성 문제를 개선할 수 있다. 또한, 이동성 제공 장치(10)는 항목의 계층 레벨보다 하위 계층에서 동작하는 DHT에서 발생하는 질의를 빠른 시간 안에 완료할 수 있다.The
이동성 제공 장치(10)는 HDHT를 제어 면에 사용하기 때문에 완전 분산 이동성 관리 방식을 지원할 수 있다. 따라서, 이동성 제공 장치(10)는 특정 네트워크 장비에 집중되는 트래픽을 분산시킬 수 있어 기존 중앙 집중 방식의 문제점인 단일 점 고장 문제와 확장성 문제를 해결할 수 있다.The
이동성 제공 장치(10)는 계층적 구조를 가지고 있기 때문에 기존 네트워크의 말단부터 점진적으로 적용시켜 나갈 수 있다. 따라서, 이동성 제공 장치(10)는 기존 네트워크 시스템과 호환성을 가질 수 있다.Since the
네트워크 사업자 및 네트워크 장비 사업자는 제안하는 시스템을 네트워크의 말단부터 점차적으로 적용시켜 나갈 수 있기 때문에 네트워크 장비 간 상호 호환성을 높일 수 있다. 또한, 사업자는 이동성 제공 장치(10)를 구현함으로써 단말에 대한 이동성을 지원할 수 있으며 이를 통해 사용자에게 좀 더 향상된 사용자 경험을 제공할 수 있다.Network operators and network equipment providers can apply the proposed system gradually from the end of the network, thereby increasing the interoperability between network equipments. In addition, the operator can support the mobility for the terminal by implementing the
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.FIG. 3 shows a schematic block diagram of the controller shown in FIG. 1.
도 3을 참조하면, 컨트롤러(100)는 HDHT 생성기, 항목 등록기, 핸드오버 처리기 및 패킷 전송기를 포함할 수 있다.Referring to FIG. 3, the
HDHT 생성기(110)는 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 복수의 계층을 포함하는 HDHT를 생성할 수 있다.The
HDHT 생성기(110)는 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.The
항목 등록기(entry registrator, 130)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 단말과 관련된 항목(entry)을 등록할 수 있다.The
항목 등록기(130)는 단말의 이동성을 제공하기 위한 정보를 포함한 항목을 HDHT에 등록할 수 있다.The
핸드 오버 처리기(150)는 항목을 이용하여 단말의 핸드오버를 처리할 수 있다.The
핸드 오버 처리기(150)는 단말의 이동에 따라 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 단말에 대한 항목 키 값을 생성하여 상기 HDHT에 질의할 수 있다. 핸드 오버 처리기(150)는 질의 결과에 기초하여 HDHT에 항목을 업데이트할 수 있다.The
패킷 전송기(170)는 HDHT를 통해 단말에 패킷을 전송할 수 있다. The
패킷 전송기(170)는 패킷을 수신한 네트워크 접근 스위치에서 단말의 항목 키 값을 생성하고, 패킷에 옵션 헤더가 존재하는지 여부를 판단할 수 있다.The
패킷 전송기(170)는 판단의 결과 및 항목 키 값에 기초하여 단말이 연결된 네트워크 스위치로 패킷을 포워딩할 수 있다.The
패킷 전송기(170)는 패킷에 옵션 헤더가 존재하지 않고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 포워딩하고 HDHT에 상기 항목에 관하여 질의할 수 있다.If there is no option header in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, the
패킷 전송기(170)는 패킷에 상기 옵션 헤더가 존재하지 않고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 패킷의 목적지를 단말이 연결된 네트워크 스위치로 수정하고, 옵션 헤더에 새로운 항목 키 값을 추가할 수 있다.When the option header does not exist in the packet and the network access switch receiving the packet stores the item corresponding to the item key value, the
패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 버릴 수 있다.The
패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 패킷의 목적지를 단말로 복원하고 옵션 헤더를 제거하여 단말로 패킷을 포워딩할 수 있다.When the option header exists in the packet and the network access switch receiving the packet stores the item corresponding to the item key value, the
도 4는 도 3에 도시된 항목 등록기의 개략적인 블록도를 나타낸다.4 shows a schematic block diagram of the item register shown in FIG.
도 4를 참조하면, 항목 등록기(130)는 키 생성기(key generator, 131), 질의기(querier, 133) 및 항목 업데이터(entry updater, 135)를 포함할 수 있다.Referring to FIG. 4, the
키 생성기(131)는 단말과 관련된 항목의 키(key) 값을 생성할 수 있다. 키 생성기(131)는 해시 함수를 사용하여 키를 생성할 수 있다. 예를 들어, 키 생성기(131)는 MD5, SHA 계열의 해시 함수를 사용하여 키를 생성할 수 있다.The
키 생성기(131)는 단말로부터 유도된 정보를 이용하여 단말의 정보를 저장하기 위해 사용되는 항목의 키를 생성할 수 있다. 키 생성기(131)는 단말의 IP주소, 임의의 문자열 또는 평면 이름 공간을 사용하여 항목의 키를 생성할 수 있다. 평면 이름 공간은 해시 함수의 결과를 포함할 수 있다. 예를 들어, 키 생성기(131)는 단말의 IP 주소에 해시 함수를 적용하거나, GUID(Globally Unique Identifiers)를 이용하여 항목의 키를 생성할 수 있다.The
질의기(133)는 HDHT에 키 값을 질의할 수 있다.The
질의기(133)가 항목에 대한 질의를 전달하는 과정은 항목 업데이터(135)가 항목을 등록할 때와 동일할 수 있다.The process of the
질의기(133)는 질의를 보내는 위치 정보를 알고자 하는 단말의 IP주소를 기반으로 원하는 항목의 키 값을 계산할 수 있다. 질의기(133)는 라우팅 테이블에 저장된 네트워크 접근 스위치들의 노드 ID와 키 값으로 논리적 거리 연산을 통해 항목을 저장하고 있는 네트워크 접근 스위치를 결정할 수 있다. 질의기(133)는 질의 메시지를 받은 네트워크 접근 스위치가 항목을 저장하고 있는지 확인할 수 있다.The
만약, 항목이 저장되어 있다면 질의기(133)는 이를 곧바로 질의를 보낸 네트워크 접근 스위치에게 반환할 수 있다. 이 경우 질의에 소요된 오버레이 홉(Overlay Hop)의 수는 1로 나타낼 수 있다. 질의기(133)는 질의를 받은 네트워크 접근 스위치가 항목을 저장하고 있지 않은 경우에는 질의를 루트 노드에게 전달할 수 있다.If the item is stored, the
질의를 전달받은 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있을 수 있다. 질의기(133)는 이 라우팅 테이블을 이용하여 상위 DHT에 참여하고 있는 네트워크 접근 스위치 중 항목 저장하고 있는 네트워크 접근 스위치에게 질의를 보낼 수 있다. 이 과정은 최상위 DHT까지 질의가 전달될 때까지 반복될 수 있다.The root node that receives the query may also have a routing table of the parent DHT. The
최상위 DHT 노드가 질의를 전달받은 경우에 질의기(133)는 질의 메시지의 전달 방향을 아래 계층을 향하는 방향으로 변경할 수 있다. 중간에 항목이 발견되면 해당 네트워크 접근 스위치는 곧바로 항목 질의한 네트워크 접근 스위치에게 항목에 관한 정보를 반환할 수 있다.When the top DHT node receives the query, the
질의 진행방향은 항상 상위 계층 방향으로 시작되며 최상위 DHT를 거친 후에 아래 방향으로 변경될 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 질의에 소요될 수 있는 최대 오버레이 홉의 수는 HDHT 레벨이 1, 2, 3일 때 각각 5, 6,7 일 수 있다.The query progress direction always starts in the upper layer direction and may be changed downward after passing through the highest DHT. Each time a query is delivered, the number of overlay hops may increase by one. The maximum number of overlay hops that can be queried may be 5, 6, and 7 when the HDHT levels are 1, 2, and 3, respectively.
항목 업데이터(135)는 질의 결과에 기초하여 HDHT에 항목을 업데이트할 수 있다.The
항목 업데이터(135)는 항목에 항목이 저장될 계층을 명시(specify)하고, 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신할 수 있다. 항목 업데이터(135)는 HDHT에 항목에 대한 등록을 요청할 수 있다.The
항목 업데이터(135)는 최하위 계층의 DHT에 항목을 저장하고, 등록 요청을 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 등록 요청이 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청이 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 최상위 계층의 DHT 노드에 항목을 저장할 수 있다.When the registration request reaches the top layer, the
항목 업데이터(135)는 등록 요청을 최상위 계층으로부터 명시된 계층까지 순차적으로 전달하면서 명시된 계층에 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The
항목 업데이터(135)는 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 항목을 저장할 수 있다.The
항목 업데이터(135)는 항목의 키 값과 DHT 라우팅 테이블에 저장된 노드 식별자 간에 논리적 거리 연산을 수행하여, 연산 값이 가장 작은 네트워크 스위치를 항목을 책임지는 네트워크 접근 스위치로 결정하여 항목을 저장할 수 있다. 예를 들어, 항목 업데이터(135)는 노드 식별자로 네트워크 접근 스위치의 IP를 사용할 수 있다.The
도 5는 계층 분산 해시 테이블의 구조의 예시를 나타낸다.5 shows an example of the structure of a hierarchical distributed hash table.
기존의 DHT에서는 참여한 노드들 간에 항목을 분산시켜서 저장할 수 있다. DHT에 참여한 노드들은 임의의 식별자를 가지며, 항목의 키 값은 해시 함수를 이용하여 생성될 수 있다. DHT에 참여한 노드가 원하는 항목의 키 값에 관하여 질의를 보내면 질의는 항목을 책임지는(또는 저장하고 있는) 노드에게 전달될 수 있다.In the existing DHT, items can be distributed and stored among participating nodes. Nodes participating in the DHT have an arbitrary identifier, and the key value of the item may be generated using a hash function. If a node participating in the DHT sends a query about the desired key value of the item, the query can be forwarded to the node responsible for (or storing) the item.
기존의 DHT를 이용한 이동성 제공 방법은 노드들에게 식별자를 할당할 때 물리적인 거리를 고려하지 않고 평면 이름 공간(flat namespace)에서 임의의 값을 할당할 수 있다. 따라서, 식별자 간에 논리적 거리 연산 값이 작다고 하더라도 실제 물리적 거리는 굉장히 클 수 있다.The existing method of providing mobility using DHT may assign an arbitrary value in a flat namespace without considering physical distance when allocating identifiers to nodes. Therefore, even though the logical distance calculation value between the identifiers is small, the actual physical distance can be very large.
이러한 이유로 물리적으로 가까운 곳에 원하는 항목이 있어도 질의가 먼 곳을 들르면서 전달될 수 있어 질의 시간이 오래 걸릴 수 있다. 평면 DHT에 참여하는 노드들이 세계적으로 분산되는 경우, 질의 시간의 증가는 더욱 커질 수 있다.For this reason, even if the desired item is physically close, the query can be delivered while stopping by, which can take a long time. If the nodes participating in the planar DHT are distributed globally, the increase in query time can be even greater.
이동성 제공 장치(10)는 DHT를 계층 적으로 구성하여 질의 시간을 단축시킬 수 있다. 또한, 이동성 제공 장치(10)는 항목이 저장되는 계층을 지정함으로써 확장성 문제를 해결할 수 있다.The
도 5의 HDHT는 계층이 3 레벨인 경우를 도시한 것이다. HDHT 생성기(110)는 계층 레벨을 네트워크의 크기에 따라 조절 가능할 수 있다. HDHT 생성기(110)는 네트워크의 크기가 더 커지는 경우 계층 레벨을 늘릴 수 있으며, 네트워크 크기가 작아지는 경우 레벨을 줄일 수 있다.The HDHT of FIG. 5 illustrates the case where the layer has three levels. The
HDHT 생성기(110)는 DHT를 계층 적으로 구성할 때, 물리적으로 가까운 네트워크 접근 스위치들을 이용하여 최하위 DHT를 구성할 수 있다. HDHT 생성기(110)는 물리적 거리가 가까운 네트워크 접근 스위치들로 최하위 DHT를 구성함으로써, 질의기(133)는 최하위 DHT에 대한 질의를 매우 짧은 시간에 완료할 수 있다.When configuring the DHT hierarchically, the
도 5에서와 같이 HDHT에 참여하고 있는 복수의 DHT는 와 같이 나타낼 수 있다. 위 첨자 i는 DHT의 계층 레벨을 나타내고, 아래 첨자 j는 DHT의 식별자를 나타낼 수 있다. 도 5에서는 편의를 위해 연속된 숫자를 이용하여 식별자를 나타내었지만, 실제 DHT의 식별자는 임의의 숫자로 정의될 수 있다.As shown in FIG. 5, a plurality of DHTs participating in HDHT Can be expressed as: The superscript i may indicate the hierarchical level of the DHT, and the subscript j may indicate the identifier of the DHT. In FIG. 5, the identifiers are represented using consecutive numbers for convenience, but the identifier of the actual DHT may be defined as any number.
항목 업데이터(135)는 네트워크 접근 스위치가 속한 최하위 DHT에 항상 항목을 저장할 수 있다. 항목 업데이터(135)는 항목 등록을 요청하는 네트워크 접근 스위치의 요청에 따라, 항목 등록을 요청하는 네트워크 스위치가 속한 최하위 DHT 안에서 항목을 책임지는 네트워크 접근 스위치를 결정할 수 있다.The
항목 업데이터(135)는 항목을 책임지는 네트워크 접근 스위치에 등록 메시지를 보낼 수 있다. 항목 업데이터(135)는 메시지를 수신한 네트워크 접근 스위치의 저장 공간에 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청을 상위 DHT에 전달할 수 있다. 항목 업데이터(135)는 등록 요청을 상위 계층으로 전달하면서 항목을 저장하도록 명시된 계층에 도달하면 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청이 최상위 DHT에 도달하면 논리적 거리 연산을 통해 항목을 저장할 다른 최상위 DHT 노드를 결정하고 등록 요청의 전달 방향을 아래 방향(하위 계층 방향)으로 바꿀 수 있다.When the registration request reaches the highest DHT, the
항목 업데이터(135)는 등록 요청을 하위 계층으로 전달하면서 계층 레벨과 항목을 저장하도록 명시된 계층에 도달한 경우 항목을 저장할 수 있다. 명시된 계층과 다른 계층에 도달한 경우에는 등록 메시지를 하위 계층으로 전달할 수 있다.The
항목 업데이터(135)는 상술한 과정을 통해 항목을 처음 등록하고, 갱신할 수 있다.The
예를 들어, 도 5의 항목 A, B, C는 각각 에서 저장할 계층 레벨을 1, 2, 3으로 지정하여 등록 요청한 경우를 나타낼 수 있다. 항목 업데이터(135)는 모든 항목을 제일 먼저 요청이 시작된 에 저장한 후 최상위 DHT로 순차적으로 전달할 수 있다.For example, items A, B, and C of FIG. In this case, the layer level to be stored may be designated as 1, 2, or 3 to indicate a case where a registration request is made. The item updater 135 requests all items first After saving to the highest level DHT can be delivered sequentially.
항목 업데이터(135)는 최상위 DHT에 전달되는 과정에서 항목에 명시된 계층 레벨과 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 DHT 계층이 같은 경우에 항목을 저장할 수 있다. 항목 업데이터(135)는 최상위 계층의 DHT를 지나면서 전달 방향을 아래 방향으로 바꾸고 최하위 DHT로 순차적으로 등록 요청을 전달하면서 항목을 저장하는 동작을 한번 더 수행한다.The
항목 업데이터(135)는 항목에 명시된 계층이 1인 경우를 제외하면 최상위 DHT에 항목을 저장하지 않으므로, 최상위 DHT가 모든 항목을 저장하지 않을 수 있다. 이러한 방식으로 이동성 제공 장치(10)는 확장성(scalability) 문제를 해결할 수 있다.Since the
질의기(133)가 항목에 관하여 질의를 하는 과정은 항목을 등록하는 과정과 동일할 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 항목이 상위 계층에 저장될수록 질의기(133)가 질의에 소요할 수 있는 최대 오버레이 홉 수의 평균이 작아지기 때문에 질의를 빠르게 지원할 수 있다.The
항목이 저장되는 계층과 이를 질의하는 네트워크 접근 스위치의 위치에 따라 질의에 소요되는 오버레이 홉의 수와 지연시간이 크게 달라질 수 있다.The number and delay time of overlay hops can vary greatly depending on the layer where the item is stored and the location of the network access switch that queries it.
예를 들어, 항목 C에 대하여 질의하는 경우 항목 C와 같은 계층인 에 속한 네트워크 접근 스위치들은 자신이 속한 DHT에 항목이 있기 때문에 질의를 빠르게 마칠 수 있다. 따라서, 질의에 소요되는 시간이 매우 짧을 수 있다.For example, if you query on item C, The network access switches belonging to can quickly complete a query because they have an entry in their DHT. Therefore, the time required for the query can be very short.
그러나 에 참여하고 있는 네트워크 스위치가 항목 C에 관하여 질의하는 경우 질의가 최상의 DHT를 거쳐서 다른 지역의 최하위 DHT까지 전달될 수 있다. 이 경우 원하는 항목이 물리적으로 가까운 곳에 위치함에도 불구하고 질의가 최상위 DHT를 거치기 때문에 비효율적일 수 있다.But When a network switch participating in a query queries for item C, the query may be passed through the best DHT to the lowest DHT in another region. In this case, although the desired item is physically close, it may be inefficient because the query passes through the highest DHT.
만약 항목 업데이터(135)가 항목 C가 저장될 계층을 2로 명시하였다면 질의기(133)가 에서 질의를 시작하더라도 에 항목이 저장되기 때문에 훨씬 빠른 시간 안에 원하는 항목에 관하여 질의를 완료할 수 있다.If the
따라서, 항목 등록기(130)는 항목을 HDHT에 등록할 때, 항목을 질의할 가능성이 높은 네트워크 접근 스위치들의 위치를 고려하여 항목이 저장될 계층을 결정할 수 있다. 이러한 특성을 이용하면 이동성 제공 장치(10)가 단말의 이동성을 지원하기 위해 소요하는 질의 시간을 획기적으로 줄일 수 있다.Thus, when registering an item in HDHT, the
도 6은 DHT 라우팅 테이블의 예시를 나타낸다.6 shows an example of a DHT routing table.
이동성 제공 장치(10)는 HDHT를 원 홉(One Hop) DHT로 구성할 수 있다. 원 홉 DHT에서는 각 네트워크 스위치가 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치에 대한 정보가 담겨있는 DHT 라우팅 테이블을 유지할 수 있다. The
항목 업데이터(135)는 라우팅 테이블을 이용하여 원하는 항목을 가지고 있는 네트워크 접근 스위치를 한 번에 결정할 수 있다.The
HDHT는 루트 노드를 포함할 수 있다. 루트 노드는 DHT에 최초로 참여하는 노드이며, 상위 레벨 DHT와 하위 레벨 DHT간 등록 및 질의 메시지를 전달하는 역할을 수행할 수 있다. 또한, 루트 노드는 DHT에 참여하고 있는 네트워크 접근 스위치들에 대한 최신 라우팅 테이블을 전파하는 역할을 수행할 수 있다. 루트 노드가 관리하는 DHT 라우팅 테이블은 도 6과 같이 구성될 수 있다.HDHT may include a root node. The root node is a node that participates in the DHT for the first time, and may play a role of delivering a registration and query message between a higher level DHT and a lower level DHT. In addition, the root node may serve to propagate the latest routing table for the network access switches participating in the DHT. The DHT routing table managed by the root node may be configured as shown in FIG.
DHT 라우팅 테이블은 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치들의 노드 ID, IP주소 및 포트번호를 포함할 수 있다. 예를 들어, HDHT는 해시 함수 결과 값이 32 byte 길이를 갖는 SHA-256 해시 함수를 사용하는 경우, 네트워크 접근 스위치가 HDHT에 참여할 때 노드 ID는 32 byte 길이의 임의의 값으로 배정될 수 있다.The DHT routing table may include node IDs, IP addresses, and port numbers of all network access switches participating in the same DHT. For example, if the HDHT uses a SHA-256 hash function having a hash function result value of 32 byte length, the node ID may be assigned an arbitrary value of 32 byte length when the network access switch participates in the HDHT.
해시 함수는 필요에 따라 다른 해시 함수로 대체될 수 있다. 같은 DHT에 참여하는 모든 네트워크 접근 스위치는 동일한 DHT 라우팅 테이블을 가질 수 있다.Hash functions can be replaced with other hash functions as needed. All network access switches participating in the same DHT may have the same DHT routing table.
이를 위해 새로운 네트워크 접근 스위치가 DHT에 참여할 때 루트 노드에게 부트스트랩(bootstrap) 메시지를 보내면, 루트 노드는 해당 노드의 정보를 라우팅 테이블에 추가하고 이를 기존에 참여하고 있던 네트워크 접근 스위치들에게 전파할 수 있다. To do this, when a new network access switch joins the DHT, it sends a bootstrap message to the root node, which adds the node's information to the routing table and propagates it to the existing network access switches. have.
DHT에 참여하고 있던 네트워크 접근 스위치가 떠나는 경우에도 루트 노드가 해당 사실을 다른 노드들에게 전파할 수 있다.Even if the network access switch participating in the DHT leaves, the root node can propagate the fact to other nodes.
항목 업데이터(135)는 XOR 연산을 이용하여 항목을 저장할 네트워크 접근 스위치를 결정할 수 있다. 예를 들어 네트워크 접근 스위치가 가지고 있는 IP 주소가 “10.16.0.200”인 단말의 정보를 필요로 하는 상황인 경우에, 단말의 IP 주소에 해시함수를 적용한 값을 HDHT의 항목 키 값으로 사용할 수 있다.The
이 때, 키 생성기(131)는“10.16.0.200”이라는 문자열에 SHA-256 해시 함수를 적용하여 항목 키 값을 생성할 수 있다. 예를 들어, 단말의 IP 주소에 SHA-256 해시 함수를 적용시킨 결과 값은 0x4F9F570BE4F8일 수 있다.In this case, the
항목 업데이터(135)는 해시 함수를 적용시킨 결과 값을 이용하여 라우팅 테이블에 저장된 모든 노드 ID들과 XOR 연산을 수행할 수 있다.The
도 6의 각 노드 ID와 XOR 연산을 수행한 결과 값은 각각 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, 0x55CECFD0B6E6 일 수 있다. 이 중 두 번째 결과 값이 가장 작기 때문에 항목 업데이터(135)는 단말의 항목을 두 번째 네트워크 접근 스위치에 저장할 수 있다.Each node ID and the result of performing the XOR operation of FIG. 6 may be 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, and 0x55CECFD0B6E6, respectively. Since the second result value is the smallest, the
항목 업데이터(135)논리적 거리 연산 값이 가장 작은 노드가 해당 항목을 저장하기 때문에 단일 오버레이 홉 만으로 등록 및 질의 메시지를 전달할 수 있다.
도 7은 계층 분산 해시 테이블에 항목을 등록하는 동작에 대한 의사 코드의 예시를 나타낸다.7 shows an example of a pseudo code for the operation of registering an item in the hierarchical distributed hash table.
도 7을 참조하면, 항목 업데이터(135)는 등록을 요청하는 네트워크 접근 스위치가 속한 최하위 DHT에는 항상 항목을 저장할 수 있다. 항목 업데이터(135)는 항목의 등록을 요청하는 네트워크 접근 스위치가 속한 최하위 DHT의 라우팅 테이블을 이용하여 이 항목을 저장할 네트워크 접근 스위치를 결정(①)하고 해당 네트워크 접근 스위치에게 항목을 등록하는 메시지를 보낼 수 있다(②). Referring to FIG. 7, the
메시지를 받은 네트워크 접근 스위치는 항목을 자신의 스토리지(Storage)에 등록할 수 있다(③). 항목 업데이터(135)는 추가적으로 항목 등록을 요청하는 네트워크 접근 스위치가 항목이 상위 DHT로 전달될 수 있도록 요청하는 메시지를 루트 노드에게도 전송할 수 있다(④). 루트 노드에 대한 정보는 네트워크 접근 스위치가 DHT에 참여할 때부터 유지될 수 있다. 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있기 때문에 자신에게 온 요청을 상위 DHT에 전달 할 수 있다(⑤).The network access switch receiving the message may register the item in its storage (③). The
항목 업데이터(135)는 등록 요청은 상위 DHT로 계속 전달(⑥)하며 전달되는 과정 중 명시된 계층을 거치는 경우 항목을 저장할 수 있다(⑦).The
등록 요청 메시지가 최상위 DHT에 도달하면 항목 업데이터(135)는 논리적 거리 연산을 통해 항목을 저장할 다른 최상위 DHT 노드를 결정하고 전달 방향을 아래 방향으로 바꿀 수 있다(⑧).When the registration request message reaches the highest DHT, the
항목 업데이터(135)는 전달 방향이 바뀐 항목 등록 메시지를 받은 네트워크 접근 스위치에 자신이 참여하고 있는 DHT 계층 레벨과 명시된 계층 레벨이 같은 경우 항목을 저장할 수 있다(⑨). 계층 레벨이 다른 경우에 항목 업데이터(135)는 등록 메시지를 아래 계층으로 전달할 수 있다(⑩). The
항목 업데이터(135)는 항목의 내용을 갱신하는 경우 역시 등록 과정과 같은 방법으로 항목 갱신 메시지를 전달할 수 있다.When updating the content of the item, the
도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.8 illustrates an example hierarchical distributed hash table entry.
도 8을 참조하면, 통상적인 AR(Access Router)은 자신에게 접속된 호스트들에게 IP주소를 할당하고 통신이 이루어질 수 있도록 디폴트 게이트웨이 역할을 수행할 수 있다. 또한, 자신에게 단말이 네트워크 접속을 요청할 때 인증을 통해 IP 주소를 할당할 수 있다. 이동성 제공 장치(10)는 단말이 다른 서브 네트워크로 이동하더라도 DHCP(Dynamic Host Configuration Protocol)를 통해 단말의 IP주소를 유지시킬 수 있다.Referring to FIG. 8, a typical access router (AR) may assign an IP address to hosts connected to the AR and serve as a default gateway to enable communication. In addition, when the terminal requests a network connection to itself, it may allocate an IP address through authentication. The
키 생성기(131)는 인증 절차를 마치고 호스트에게 할당해준 IP주소에 해시 함수를 적용시켜 항목의 키 값을 생성할 수 있다. 질의기(133)는 키 값으로 HDHT에 질의를 보냄으로써 단말의 정보가 HDHT에 저장되어 있는지 확인할 수 있다. 항목이 있는 경우 호스트가 이 네트워크에 기존에 접속한 적이 있다는 것을 의미하며, 이 경우에는 항목 업데이터(135)는 단말의 이동성 정보를 항목에 갱신할 수 있다.The
만약, 저장된 항목이 없다면 해당 호스트가 네트워크에 처음 접속하는 것이므로 항목 업데이터(135)는 단말의 위치정보를 담은 HDHT 항목을 새롭게 생성해서 삽입할 수 있다. 예를 들어, 항목의 내용은 도 8과 같이 항목의 키 값, 단말의 현재 IP주소, 목적지 노드가 현재 연결되어 있는 네트워크 접근 스위치의 IP주소, 이를 캐싱하고 있는 네트워크 접근 스위치들의 목록으로 구성될 수 있다.If there is no stored item, since the corresponding host first accesses the network, the
도 9는 네트워크 접근 스위치가 단말과 관련된 항목을 업데이트 하는 동작에 대한 의사 코드의 예시를 나타내고, 도 10은 네트워크 접근 스위치가 캐시에 저장된 항목을 갱신하는 동작에 대한 의사 코드의 예시를 나타낸다.9 illustrates an example of pseudo code for an operation of updating an item related to a terminal by a network access switch, and FIG. 10 illustrates an example of pseudo code for an operation of updating an item stored in a cache by a network access switch.
도 9를 참조하면, 항목 업데이터(131)는 네트워크 접근 스위치가 보유한 단말의 위치 정보를 새롭게 등록 또는 갱신할 수 있다. 항목 업데이터(131)는 단말의 IP주소를 기반으로 항목의 키 값을 생성할 수 있다(①). 항목 업데이터(131) 항목의 키 값을 이용하여 질의를 보내 항목이 등록된 적이 있는지 확인할 수 있다(②).Referring to FIG. 9, the
항목 업데이터(131)는 해당 항목이 없는 경우에는 새로운 항목을 생성한 후, 단말IP 항목에는 현재 연결된 단말의 IP주소를 기록하고 항목이 저장될 레벨을 명시할 수 있다(③). 항목 업데이터(131)가 항목을 저장하는 계층 레벨의 기본 값은 3이며, 이는 추후에 수정이 가능할 수 있다.If there is no corresponding item, the
항목 업데이터(131)는 네트워크 접근 스위치 IP 항목을 단말이 연결된 네트워크 접근 스위치 IP주소로 교체할 수 있다(④). 항목 업데이터(131)는 네트워크 접근 스위치 목록에 자신을 추가시킬 수 있다(⑤). 항목 업데이터(131)는 생성 혹은 수정된 항목 정보를 HDHT에 등록 요청할 수 있다(⑥). 이 때, 항목 업데이터(131)는 항목이 삽입되는 계층의 레벨을 반드시 명시해야 한다. 각 노드는 DHT에 참여할 때 자신의 계층 레벨을 알고 있을 수 있다.The
도 9의 의사코드의 예시에서, 항목 업데이터(131)는 기존의 계층 레벨 그대로 항목을 갱신할 수 있다. 항목 업데이터(131) 항목 정보를 단말이 연결된 네트워크 스위치의 캐시에 저장한 후(⑦) 해당 항목을 캐싱하고 있던 네트워크 스위치들에게 캐시를 업데이트하도록 메시지를 보낼 수 있다(⑧).In the example of pseudocode of FIG. 9, the
캐시 업데이트 메시지를 받은 네트워크 스위치들은 자신의 캐시에 해당 키에 매칭되는 항목이 있는지 확인한다. 항목 업데이터(131)는 매칭되는 항목이 있는 경우 캐시 항목을 갱신할 수 있다. 캐시 항목을 개시하는 동작은 도 10의 의사코드의 예시와 같이 나타낼 수 있다.Network switches that receive the cache update message check to see if there is an entry in their cache that matches the key. The
도 10을 참조하면, 항목 업데이터(131)는 A_new_MN_is_associated(), Cache_Update_Arrived() 두 함수를 통해 단말이 이동할 때마다 위치 정보를 HDHT에 저장하고, 이를 캐싱하고 있는 네트워크 접근 스위치들의 항목도 갱신할 수 있다.Referring to FIG. 10, the
도 11은 도 3에 도시된 패킷 전송기의 동작의 예시를 나타낸다.11 shows an example of the operation of the packet transmitter shown in FIG. 3.
도 11을 참조하면, 패킷 전송기(170)는 단말의 이동성 지원을 위해 HDHT에 저장된 정보들을 이용하여 패킷 처리 기능을 수행할 수 있다. 패킷 전송기(170)는 네트워크 접근 스위치에게 패킷이 도착했을 때 항목의 키 값을 생성하고 캐싱된 항목이 있는지 확인할 수 있다.Referring to FIG. 11, the
패킷 전송기(170)는 패킷에 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는지 확인할 수 있다. 패킷 전송기(170)는 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 없는 경우 캐싱된 항목이 없으면 패킷을 바로 포워딩한 후 HDHT에 질의를 할 수 있다. The
패킷 전송기(170)는 캐싱된 항목이 있는 경우에 패킷의 목적지 IP주소를 단말이 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 포워딩 할 수 있다.If there is a cached item, the
반대로 네트워크 접근 스위치가 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는 패킷을 받은 경우에 패킷 전송기(170)는 캐싱된 항목이 없으면 해당 패킷을 곧바로 버릴 수 있다.In contrast, when the network access switch receives a packet with an option header added by another network access switch, the
옵션헤더가 있는데 캐싱된 항목이 없다는 것은 단말이 해당 네트워크 접근 스위치에 접속한 적이 없다는 것을 의미할 수 있기 때문에, 패킷 전송기(170)는 패킷을 전송할 단말이 없다고 판단하여 패킷을 버릴 수 있다.Since there is an option header but no cached item may mean that the terminal has never connected to the corresponding network access switch, the
패킷 전송기(170)는 캐싱된 항목이 있는 경우 패킷의 목적지 IP주소를 단말의 IP주소로 복원하고 패킷의 옵션헤더를 제거한 후 포워딩할 수 있다. 이 경우 패킷은 단말에게 정상적으로 전달될 수 있다. If there is a cached item, the
패킷 전송기(170)는 단말이 다른 서브 네트워크로 이동하더라도 단말의 IP주소를 목적지로 한 패킷들은 단말이 새롭게 연결된 위치로 패킷을 전송할 수 있다.Even if the terminal moves to another sub-network, the
도 11의 예시에서, 이동 단말은 네트워크 접근 스위치 A에 연결되어 있고 상대 단말은 네트워크 접근 스위치 C에 연결될 수 있다. 상대 단말이 이동 단말에게 패킷을 보낼 때 패킷 전송기(170)는 네트워크 접근 스위치 C의 캐시 엔트리에 이동 단말의 정보가 저장되어 있는지 확인할 수 있다.In the example of FIG. 11, the mobile terminal may be connected to network access switch A and the counterpart terminal may be connected to network access switch C. When the opposite terminal sends a packet to the mobile terminal, the
캐시에 이동 단말의 정보가 있다면 패킷 전송기(170)는 패킷의 목적지 IP주소를 네트워크 접근 스위치 A의 IP주소로 수정하고, 옵션헤더에 항목의 키 값을 삽입할 수 있다.If there is information of the mobile terminal in the cache, the
이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When the packet arrives at the network access switch A, the
도 12는 패킷을 전송하는 동작에 대한 의사 코드의 예시를 나타낸다.12 shows an example of a pseudo code for the operation of transmitting a packet.
도 12를 참조하면, 패킷 전송기(170)는 네트워크 접근 스위치에게 패킷이 도착했을 때 목적지 노드의 IP주소에 해시 함수를 적용하여 키값을 생성하고 네트워크 접근 스위치에게 캐싱된 항목이 있는지 확인할 수 있다(①, ②). 패킷 전송기(170)는 패킷에 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는지 확인할 수 있다(③). 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 없는 경우 패킷 전송기(170)는 ④, ⑤ 번 과정을 수행할 수 있다.Referring to FIG. 12, when a packet arrives at the network access switch, the
패킷 전송기(170)는 캐싱된 항목이 없는 경우 패킷을 바로 포워딩하며, HDHT에 질의를 보낼 수 있다(④). 목적지 노드에 대한 위치 정보가 캐싱되어 있으면 패킷 전송기(170)는 패킷의 목적지 IP주소를 목적지 노드가 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 내보낼 수 있다(⑤).If there is no cached item, the
패킷 전송기(170)는 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는 패킷을 받은 경우에 캐싱된 항목이 없으면 해당 패킷을 드롭(drop)할 수 있다(⑥). 패킷 전송기(170)는 캐싱된 항목이 있는 경우 패킷의 목적지 IP주소를 단말의 IP주소로 복원하고 패킷의 옵션헤더를 제거한 후 패킷을 포워딩할 수 있다(⑦). 이 경우 패킷은 단말에게 정상적으로 전달될 수 있다.When the
패킷 전송기(170)는 네트워크 접근 스위치를 통해 Packet_Processing() 함수를 수행하기 때문에 단말이 다른 네트워크 접근 스위치로 이동하더라도 단말의 IP주소를 목적지로 한 패킷들은 단말이 새롭게 연결된 네트워크 접근 스위치로 전달될 수 있다.Since the
패킷 전송기(170)는 단말이 연결된 네트워크 접근 스위치에 패킷들이 도착하면 목적지 IP주소를 다시 단말의 IP주소로 복원함으로써 패킷들이 정상적으로 단말에게 도착하도록 할 수 있다.When the packets arrive at the network access switch to which the terminal is connected, the
예를 들어, 도 11처럼 이동 단말이 네트워크 접근 스위치 A에 연결되어 있고 상대 단말이 네트워크 접근 스위치 C에 연결될 수 있다. 상대 단말이 이동 단말에게 패킷을 보낼 때 패킷 전송기(170)는 네트워크 접근 스위치 C의 캐시 항목에 이동 단말의 정보가 저장되어 있는지 확인할 수 있다. 캐시에 이동 단말의 정보가 있다면 패킷 전송기(170)는 패킷의 목적지 IP주소를 네트워크 접근 스위치 A의 IP주소로 수정하고, 옵션헤더에 항목의 키 값을 삽입할 수 있다.For example, as shown in FIG. 11, the mobile terminal may be connected to the network access switch A and the counterpart terminal may be connected to the network access switch C. When the opposite terminal sends a packet to the mobile terminal, the
이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When the packet arrives at the network access switch A, the
도 13은 OVS 커널 모듈과 계층 분산 해시 테이블 간에 메시지를 전달 받는 동작의 예시를 나타낸다.13 illustrates an example of receiving a message between an OVS kernel module and a hierarchical distributed hash table.
도 13을 참조하면, 네트워크 접근 스위치는 MoE(Mobility of Everything)에서 동작하는 ES(Edge Switch )를 수정하여 구현될 수 있다. MoE의 ES는 OVS(Open vSwitch) 커널 모듈의 소스 코드를 수정하여 구현됐으며 OVS가 단말의 위치 정보를 등록하거나 알아내기 위해 Flat DHT와 연동하여 동작할 수 있다. 이동성 제공 장치(10)는 ES를 기반으로 HDHT와 연동되고 항목의 HDHT 레벨을 지정할 수 있는 네트워크 접근 스위치를 제공할 수 있다. OVS 커널 모듈과 HDHT 간 등록 및 질의 메시지는 소켓 IPC를 통해 전달될 수 있다.Referring to FIG. 13, the network access switch may be implemented by modifying an edge switch (ES) that operates in MoE (Mobility of Everything). MoE's ES was implemented by modifying the source code of the OVS (Open vSwitch) kernel module, and OVS can operate in conjunction with Flat DHT to register or find the location information of the terminal. The
도 14는 도 3에 도시된 핸드오버 처리기의 동작의 예시를 나타낸다.FIG. 14 shows an example of the operation of the handover processor shown in FIG. 3.
도 14를 참조하면, 핸드오버 처리기(150)는 이동 단말이 새로운 네트워크 접근 스위치와 연결을 맺을 때 핸드오버를 지원할 수 있다.Referring to FIG. 14, the
핸드오버 처리기(150)는 새롭게 연결되는 네트워크 접근 스위치와 L2 association을 맺을 수 있다. 핸드오버 처리기(150)는 DHCP(Dynamic Host Configuration Protocol)를 통해 이동 단말에게 IP주소를 할당할 수 있다. The
핸드오버 처리기(150)는 이동 단말에 대한 항목의 키 값을 생성하고 항목을 질의할 수 있다. 핸드오버 처리기(150)는 기존 항목이 있는 경우 이를 갱신하고 없는 경우에는 새로운 항목을 등록할 수 있다.The
핸드오버 처리기(150)는 항목을 갱신한 경우에는 해당 항목을 캐싱하고 있는 네트워크 접근 스위치들에게 캐시 갱신 메시지를 보낼 수 있다. 캐시 갱신 메시지를 받은 네트워크 접근 스위치들은 자신의 캐시 항목을 업데이트할 수 있다.When updating the item, the
핸드오버 처리기(150)는 이동 단말에 대한 항목을 캐싱하고 있던 네트워크 접근 스위치들의 항목이 갱신된 후 패킷들이 이동 단말의 새로운 위치로 전달될 때, 이동 단말의 통신을 복구할 수 있다.The
단말의 이동성을 지원하기 위해 발생하는 질의의 질의 시간은 항목의 계층 레벨에 따라 크게 달라질 수 있다. 상대 단말과 통신 중이던 이동 단말이 핸드오버를 하는 경우, 핸드오버 처리기(150)는 이동 단말이 네트워크 접근 스위치에 연결될 때 이동 단말의 위치 정보를 캐싱하고 있는 네트워크 스위치들의 목록을 HDHT에서 가져온 후 갱신 메시지를 전송할 수 있다.The query time of the query generated to support the mobility of the terminal may vary greatly depending on the hierarchical level of the item. When the mobile terminal communicating with the other terminal performs handover, the
캐시 갱신 작업이 이루어져야 이동 단말을 목적지로 하는 패킷들이 올바르게 이동 단말의 새로운 위치로 전달될 수 있다. 따라서 HDHT 질의 시간이 핸드오버 지연 시간에 큰 영향을 미칠 수 있다.The cache update operation must be performed so that packets destined for the mobile terminal can be correctly delivered to the new location of the mobile terminal. Therefore, HDHT query time can have a big impact on handover delay time.
질의 시간을 줄이기 위해서 항목 등록기(130)는 이동 단말의 이동범위를 고려하여 항목이 저장되는 계층 레벨을 결정할 수 있다. 항목이 저장되는 계층 레벨을 이동 단말의 이동범위에 맞도록 지정하면 이동 단말이 이동했을 때 발생하는 대부분의 질의가 빠른 시간 안에 이루어지도록 만들 수 있다. 이를 통해 이동 단말의 핸드오버에 소요되는 시간을 크게 감소시킬 수 있다.In order to reduce the query time, the
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). May be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to the embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.
Claims (21)
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계
를 포함하고,
상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성되고,
상기 항목에 대한 질의는 상기 복수의 계층에 포함된 최하위 계층으로부터 상기 복수의 계층에 포함된 최상위 계층까지 계층 별로 순차적으로 수행되고,
상기 등록하는 단계는,
상기 항목을 질의할 가능성이 있는 네트워크 접근 스위치의 위치에 기초하여 상기 항목에 상기 항목이 저장될 계층을 명시하는 단계; 및
명시된 계층에 도달할 때까지 상기 항목의 등록 요청을 전달하는 단계
를 포함하고,
상기 전달하는 단계는,
상기 등록 요청을 계층 분산 해시 테이블의 최하위 계층으로부터 상기 명시된 계층까지 전달하는 단계;
상기 등록 요청이 최상위 계층에 도달한 경우, 논리적 거리 연산을 통해 상기 항목을 저장할 다른 최상위 계층의 분산 해시 테이블 노드를 결정하는 단계; 및
상기 다른 최상위 계층의 분산 해시 테이블 노드가 결정된 경우, 상기 등록 요청의 전달 방향을 상기 다른 최상위 계층의 하위 계층 방향으로 바꾸어 상기 명시된 계층까지 전달하는 단계를 포함하는
이동성(mobility) 제공 방법.
Registering an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
Processing a handover of the terminal using the item
Including,
The hierarchical distributed hash table is configured of the plurality of layers based on a physical distance between the network access switches,
The query for the item is sequentially performed for each layer from the lowest layer included in the plurality of layers to the highest layer included in the plurality of layers.
The registering step,
Specifying a hierarchy in which the item is to be stored based on the location of a network access switch that is likely to query the item; And
Forwarding a registration request for the item until reaching a specified layer
Including,
The delivering step,
Forwarding the registration request from the lowest layer of the hierarchical distributed hash table to the specified layer;
When the registration request reaches a top layer, determining a distributed hash table node of another top layer to store the item through a logical distance operation; And
If the distributed hash table node of the other top layer is determined, changing the delivery direction of the registration request to a lower layer direction of the other top layer, and forwarding to the specified layer;
How to Provide Mobility.
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계;
를 더 포함하고,
상기 생성하는 단계는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계; 및
상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 1,
Generating the hierarchical distributed hash table comprising the plurality of hierarchies based on a physical distance between the network access switches;
More,
The generating step,
Creating a plurality of lowest layers consisting of physically close network access switches among the network access switches; And
Hierarchically generating upper layers composed of the plurality of lowest layers
Mobility providing method comprising a.
상기 등록하는 단계는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 1,
The registering step,
Generating a key value of an item related to the terminal;
Querying the key values in the hierarchical distributed hash table; And
Updating the entry in the hierarchical distributed hash table based on a query result.
Mobility providing method comprising a.
상기 업데이트하는 단계는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계;
상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계; 및
상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 3,
The updating step,
Specifying a hierarchy in which the item is to be stored;
Updating the network access switch list and the Internet Protocol (IP) address of the item; And
Requesting registration of the item in the hierarchical distributed hash table;
Mobility providing method comprising a.
상기 요청하는 단계는,
상기 명시된 계층과 상기 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 분산 해시 테이블의 계층이 동일한 경우에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 4, wherein
The requesting step,
Storing the item when the specified layer and the layer of the distributed hash table in which the network access switch that received the registration request participate are the same.
Mobility providing method comprising a.
상기 저장하는 단계는,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계; 및
상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 5,
The storing step,
Performing a logical distance operation using the key value of the item; And
Storing the item in a network access switch having the smallest result of the logical distance operation.
Mobility providing method comprising a.
상기 처리하는 단계는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계;
상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 1,
The processing step,
Allocating a new Internet Protocol (IP) address to the terminal as the terminal moves;
Generating an item key value for the terminal and querying the hierarchical distributed hash table; And
Updating the entry in the hierarchical distributed hash table based on a query result.
Mobility providing method comprising a.
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계
를 더 포함하는 이동성 제공 방법.
The method of claim 1,
Transmitting a packet to the terminal through the hierarchical distributed hash table
Mobility providing method further comprising.
상기 전송하는 단계는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계;
상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계; 및
상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 8,
The transmitting step,
Generating an item key value of the terminal in the network access switch receiving the packet;
Determining whether an option header exists in the packet; And
Forwarding the packet to a network switch to which the terminal is connected based on a result of the determination and the item key value
Mobility providing method comprising a.
상기 포워딩하는 단계는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계; 및
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 9,
The forwarding step,
If the option header does not exist in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, forward the packet and query the hierarchical distributed hash table for the item. Making;
If the option header does not exist in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, modify the destination of the packet to a network switch to which the terminal is connected, and the option Adding a new item key value to the header;
Discarding the packet if the option header is present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value; And
If the option header exists in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, the terminal restores the destination of the packet to the terminal and removes the option header to the terminal. Forwarding the packet with
Mobility providing method comprising a.
를 포함하고,
상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성되고,
상기 항목에 대한 질의는 상기 복수의 계층에 포함된 최하위 계층으로부터 상기 복수의 계층에 포함된 최상위 계층까지 계층 별로 순차적으로 수행되고,
상기 컨트롤러는,
상기 항목을 질의할 가능성이 있는 네트워크 접근 스위치의 위치에 기초하여 상기 항목에 상기 항목이 저장될 계층을 명시하고, 명시된 계층에 도달할 때까지 상기 항목의 등록 요청을 전달하고,
상기 등록 요청을 계층 분산 해시 테이블의 최하위 계층으로부터 상기 명시된 계층까지 전달하고,
상기 등록 요청이 최상위 계층에 도달한 경우, 논리적 거리 연산을 통해 상기 항목을 저장할 다른 최상위 계층의 분산 해시 테이블 노드를 결정하고,
상기 다른 최상위 계층의 분산 해시 테이블 노드가 결정된 경우, 상기 등록 요청의 전달 방향을 상기 다른 최상위 계층의 하위 계층 방향으로 바꾸어 상기 명시된 계층까지 전달하는
이동성(mobility) 제공 장치.
Registering an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT), and using the hand, the hand of the terminal Controller to handle over
Including,
The hierarchical distributed hash table is configured of the plurality of layers based on a physical distance between the network access switches,
The query for the item is sequentially performed for each layer from the lowest layer included in the plurality of layers to the highest layer included in the plurality of layers.
The controller,
Specify a layer in which the item is to be stored based on the location of a network access switch that is likely to query the item, forward the registration request of the item until reaching the specified layer,
Forwarding the registration request from the lowest layer of the hierarchical distributed hash table to the specified layer,
When the registration request reaches the top layer, a distributed hash table node of another top layer to store the item through a logical distance operation,
When the distributed hash table node of the other top layer is determined, the transfer direction of the registration request is changed to a lower layer direction of the other top layer to deliver to the specified layer.
Mobility provision device.
상기 컨트롤러는,
계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기; 및
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기
를 포함하는 이동성(mobility) 제공 장치.
The method of claim 11,
The controller,
An item register for registering an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
Handover processor for processing the handover of the terminal using the item
Mobility providing device comprising a.
상기 컨트롤러는,
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기;
를 더 포함하고,
상기 HDHT 생성기는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는
이동성 제공 장치.
The method of claim 12,
The controller,
An HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches;
More,
The HDHT generator,
Generating a plurality of lowest layers composed of physically close network access switches among the network access switches, and hierarchically generating upper layers composed of the plurality of lowest layers
Mobility provision device.
상기 항목 등록기는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터
를 포함하는 이동성 제공 장치.
The method of claim 12,
The item register,
A key generator for generating a key value of an item related to the terminal;
A queryer for querying the key values in the hierarchical distributed hash table; And
An item updater that updates the item in the hierarchical distributed hash table based on a query result
Mobility providing device comprising a.
상기 항목 업데이터는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는
이동성 제공 장치.
The method of claim 14,
The item updater,
Specifying the layer in which the item is to be stored, updating the network access switch list and the IP address of the item, and requesting registration of the item in the layer distributed hash table.
Mobility provision device.
상기 항목 업데이터는,
상기 명시된 계층과 상기 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 분산 해시 테이블의 계층이 동일한 경우에 상기 항목을 저장하는
이동성 제공 장치.
The method of claim 15,
The item updater,
Storing the item when the specified layer is identical to the layer of a distributed hash table in which the network access switch receiving the registration request is participating.
Mobility provision device.
상기 항목 업데이터는,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는
이동성 제공 장치.
The method of claim 16,
The item updater,
Performing a logical distance operation by using the key value of the item, and storing the item in a network access switch having the smallest value as a result of the logical distance operation.
Mobility provision device.
상기 핸드오버 처리기는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는
이동성 제공 장치.
The method of claim 12,
The handover processor,
Assign a new Internet Protocol (IP) address to the terminal as the terminal moves, generate an item key value for the terminal, query the hierarchical distributed hash table, and query the hierarchical distributed hash table based on the query result. To update the above items
Mobility provision device.
상기 컨트롤러는,
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기
를 더 포함하는 이동성 제공 장치.
The method of claim 12,
The controller,
A packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table
A mobility providing device further comprising.
상기 패킷 전송기는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는
이동성 제공 장치.
The method of claim 19,
The packet transmitter,
The network access switch receiving the packet generates an item key value of the terminal, determines whether an option header exists in the packet, and a network switch to which the terminal is connected based on a result of the determination and the item key value. Forwarding the packet with
Mobility provision device.
상기 패킷 전송기는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는
이동성 제공 장치.The method of claim 20,
The packet transmitter,
If the option header does not exist in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, forward the packet and query the hierarchical distributed hash table for the item. and,
If the option header does not exist in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, modify the destination of the packet to a network switch to which the terminal is connected, and the option Add a new item key value to the header,
If the option header is present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, the packet is discarded.
If the option header exists in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, the destination of the packet is restored to the terminal and the option header is removed to remove the option header. Forwarding the packet with
Mobility provision device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170118385A KR102054775B1 (en) | 2017-09-15 | 2017-09-15 | A method and apparatus for supporting mobility of host using hierarchical distributed hash table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170118385A KR102054775B1 (en) | 2017-09-15 | 2017-09-15 | A method and apparatus for supporting mobility of host using hierarchical distributed hash table |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190030854A KR20190030854A (en) | 2019-03-25 |
KR102054775B1 true KR102054775B1 (en) | 2019-12-12 |
Family
ID=65907594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170118385A KR102054775B1 (en) | 2017-09-15 | 2017-09-15 | A method and apparatus for supporting mobility of host using hierarchical distributed hash table |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102054775B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040249970A1 (en) * | 2003-06-06 | 2004-12-09 | Microsoft Corporation | Organizational locality in prefix-based structured peer-to-peer overlays |
-
2017
- 2017-09-15 KR KR1020170118385A patent/KR102054775B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040249970A1 (en) * | 2003-06-06 | 2004-12-09 | Microsoft Corporation | Organizational locality in prefix-based structured peer-to-peer overlays |
Non-Patent Citations (1)
Title |
---|
Karel.V 외 2인, "A decentralized information service for IEEE 802.21-media independent handover (MIH)", 2011* |
Also Published As
Publication number | Publication date |
---|---|
KR20190030854A (en) | 2019-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6068685B2 (en) | Method and apparatus for realizing communication between virtual machines | |
US10216853B2 (en) | Method and system for implementing a VXLAN control plane | |
CN112470436A (en) | Multi-cloud connectivity using SRV6 and BGP | |
EP3225014B1 (en) | Source ip address transparency systems and methods | |
CN107113241B (en) | Route determining method, network configuration method and related device | |
US10104633B1 (en) | Active position driven mobility content delivery in information centric networks | |
US10742697B2 (en) | Packet forwarding apparatus for handling multicast packet | |
WO2017032300A1 (en) | Data transmission method, virtual network management apparatus, and data transmission system | |
US20150264116A1 (en) | Scalable Address Resolution | |
KR20120137726A (en) | A transmission node and a receiver node of a contents centric network and a communination method thereof | |
US20200305042A1 (en) | Interest packet routing in information centric networks | |
CN113439428A (en) | System and method for operating a device with DNS cache | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
CN106331206A (en) | Domain name management method and device | |
WO2024093064A1 (en) | Identifier management and forwarding optimization method and apparatus in large-scale multi-modal network | |
Ascigil et al. | A native content discovery mechanism for the information-centric networks | |
CN109120556B (en) | A kind of method and system of cloud host access object storage server | |
JP2012134780A (en) | Gateway system, gateway device, and load distribution method | |
Li et al. | A software-defined address resolution proxy | |
KR102054775B1 (en) | A method and apparatus for supporting mobility of host using hierarchical distributed hash table | |
US11595293B2 (en) | File control for data packet routers using consensus and inter-planetary file system (IPFS) | |
KR20220076826A (en) | Method for ndn based in-network computing and apparatus for the same | |
US9763135B1 (en) | Load balancing with mobile resources | |
Nascimento et al. | Evaluation of cache for bandwidth optimization in ICN through software-defined networks | |
JP2017184195A (en) | Communication management device, communication management method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |