10
IP Address Type www.infiniflux.com

InfiniFlux IP_Type

Embed Size (px)

Citation preview

Page 1: InfiniFlux IP_Type

IP Address Type

www.infiniflux.com

Page 2: InfiniFlux IP_Type

Table of Contents

Overview

IPv4 Type

IPv6 Type

Network Mask Type

1

2

3

4

TO_IPV4 함수5

TO_IPV6 함수6

MIN, MAX 함수7

Page 3: InfiniFlux IP_Type

Overview

3

• IoT 데이터는 대부분 장비에서 발생하며 따라서 네트워크로 연결되어 있고 출발지와 도착지 IP

주소를 가지고 있는 경우가 보통이다.

• InfiniFlux는 DBMS 엔진 차원에서 네트워크 데이터 타입을 제공하고 연산을 지원하며 편리한

함수를 제공하고 있다.

• 지원하는 네트워크 데이터 타입

- IPv4 형식 : 4바이트 주소 타입

- IPv6 형식 : 16바이트 주소 타입

- Network mask 형식 : IPv4 또는 IPv6 에 대한 네트워크 마스크 지정

• 제공 연산자 및 함수

CONTAINS, CONTAINED

TO_IPV4(), TO_IPV4_SAFE()

TO_IPV6(), TO_IPV6_SAFE()

MIN(), MAX()

Page 4: InfiniFlux IP_Type

IPv4 Type

4

• 4바이트 주소 타입을 지원하는 데이터 타입으로 “IPV4” 를 사용

• SELECT 할 때 WHERE 절에서 비교 연산과 ‘*’ 사용 가능

CREATE TABLE addrtable ( srcip ipv4 );CREATE

INSERT INTO addrtable VALUES ( ‘127.0.0.1’ );INSERT

SELECT addr FROM addrtable WHERE srcip = ‘127.0.0.1’;

SELECT addr FROM addrtable WHERE srcip > ‘127.0.0.1’;

SELECT addr FROM addrtable WHERE srcip <> ‘127.0.0.1’;

SELECT addr FROM addrtable WHERE srcip = ‘127.0.0.*’;

SELECT addr FROM addrtable WHERE srcip = ‘*.0.0.*’;

SELECT

Page 5: InfiniFlux IP_Type

IPv6 Type

5

• 16바이트 주소 타입을 지원하는 데이터 타입으로 “IPV6” 를 사용

• SELECT 할 때 WHERE 절에서 비교 연산을 사용할 수 있음

CREATE TABLE addrtable ( srcip ipv6 );CREATE

INSERT INTO addrtable VALUES ( ‘::127.0.0.1’ );

INSERT INTO addrtable VALUES ( ‘::FFFF:255.255.255.255’ );

INSERT INTO addrtable VALUES ( ‘21DA:D3:0:2F3B:2AA:FF:FE28:9C5A’ );

INSERT

SELECT addr FROM addrtable WHERE srcip = ‘::127.0.0.1’;

SELECT addr FROM addrtable WHERE srcip > ‘::127.0.0.1’;

SELECT addr FROM addrtable WHERE srcip <> ‘::127.0.0.1’;

SELECT addr FROM addrtable WHERE srcip >= ’21DA::’;

SELECT

Page 6: InfiniFlux IP_Type

Network Mask Type

6

• IPv4 또는 IPv6에 대한 네트워크 마스크 지정 형식(/비트열수)을 지원함

• 특정 주소 목록이 특정 주소 대역에 포함되어 있는지 검사할 때 사용함

SELECT srcip FROM addrtable WHERE ‘192.168.0.0/16’ CONTAINS srcip;

SELECT srcip FROM addrtable WHERE ‘192.168.0.0/16’ NOT CONTAINS srcip;CONTAINS

• 네트워크 마스크 표현 형태

네트워크 주소 마지막에 / 기호와 비트열 개수를 표현192.128.0.0/16 FFFF::192.128.99.0/32

• CONTAINS 연산자

우측의 주소 타입이 좌측에 네트워크 마스크 범위에 포함되는지 검사함

SELECT srcip FROM addrtable WHERE srcip CONTAINED ‘192.168.0.0/16’;

SELECT srcip FROM addrtable WHERE srcip NOT CONTAINED ‘192.168.0.0/16’;CONTAINED

• CONTAINED 연산자

좌측의 주소 타입이 우측에 네트워크 마스크 범위에 포함되는지 검사함

Page 7: InfiniFlux IP_Type

TO_IPV4 함수

7

• VARCHAR 타입 문자열을 IPV4 타입으로 변환하는 함수

SELECT TO_IPV4(ipstring) FROM addrtable;

• TO_IPV4()

문자열을 IPV4 타입으로 변환. 변환이 안되는 문자열인 경우 에러 표시함

SELECT TO_IPV4_SAFE(ipstring) FROM addrtable;

• TO_IPV4 SAFE()

TO_IPV4()와 같이 IPV4 타입으로 변환하지만, 오류가 발생하면 NULL 을 표시함

SELECT TO_CHAR(srcip) FROM addrtable;

• TO_CHAR()

TO_IPV4()와 반대로 IPV4 타입을 문자열로 변환하는 함수

Page 8: InfiniFlux IP_Type

TO_IPV6 함수

8

• VARCHAR 타입 문자열을 IPV6 타입으로 변환하는 함수

SELECT TO_IPV6(ipstring) FROM addrtable;

• TO_IPV6()

문자열을 IPV6 타입으로 변환한다. 변환이 안되는 문자열인 경우 에러 표시함

SELECT TO_IPV6_SAFE(ipstring) FROM addrtable;

• TO_IPV6 SAFE()

TO_IPV6()와 같이 IPV6 타입으로 변환하지만, 오류가 발생하면 NULL 을 표시함

SELECT TO_CHAR(srcip) FROM addrtable;

• TO_CHAR()

TO_IPV6()와 반대로 IPV6 타입을 문자열로 변환하는 함수

Page 9: InfiniFlux IP_Type

MIN, MAX 함수

9

• IPV4, IPV6 타입에 대해서 최소, 최대 값을 구하는 함수

SELECT MIN(srcip) FROM addrtable;

• MIN()

입력된 네트워크 데이터 타입 중에 최소 값을 구한다.

SELECT MAX(srcip) FROM addrtable;

• MAX()

입력된 네트워크 데이터 타입 중에 최대 값을 구한다.

SELECT MIN(srcip), MAX(srcip) FROM addrtable;

• MIN(), MAX()

동시에 수행해도 된다.

예시)

Page 10: InfiniFlux IP_Type

The World's Fastest Time Series DBMS

for IoT and Big Data

[email protected]

InfiniFlux