KR101920190B1 - 임의의 ip 생성 방법 및 그 장치 - Google Patents

임의의 ip 생성 방법 및 그 장치 Download PDF

Info

Publication number
KR101920190B1
KR101920190B1 KR1020160155523A KR20160155523A KR101920190B1 KR 101920190 B1 KR101920190 B1 KR 101920190B1 KR 1020160155523 A KR1020160155523 A KR 1020160155523A KR 20160155523 A KR20160155523 A KR 20160155523A KR 101920190 B1 KR101920190 B1 KR 101920190B1
Authority
KR
South Korea
Prior art keywords
generating
partial
random
decimal number
ips
Prior art date
Application number
KR1020160155523A
Other languages
English (en)
Other versions
KR20180057183A (ko
Inventor
김환국
김태은
장대일
고은혜
전지수
나사랑
이은별
Original Assignee
한국인터넷진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국인터넷진흥원 filed Critical 한국인터넷진흥원
Priority to KR1020160155523A priority Critical patent/KR101920190B1/ko
Priority to US15/810,962 priority patent/US10001972B2/en
Priority to US15/984,588 priority patent/US10628127B2/en
Publication of KR20180057183A publication Critical patent/KR20180057183A/ko
Application granted granted Critical
Publication of KR101920190B1 publication Critical patent/KR101920190B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/2007
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • H04L61/2092
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 IP 생성 방법은, IP 생성 장치가, 생성 가능한 IP의 개수를 가리키는 10진수를 쪼개서 복수의 초기화된 부분 숫자를 구성하는 단계, 상기 IP 생성 장치가, 상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 단계, 상기 IP 생성 장치가, 상기 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 단계, 상기 IP 생성 장치가, 상기 IP 대응 10진수로부터 랜덤 IP를 생성하는 단계 및 상기 변경하는 단계, 상기 IP 대응 10진수를 생성하는 단계 및 상기 랜덤 IP를 생성하는 단계를 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 단계를 포함할 수 있다.

Description

임의의 IP 생성 방법 및 그 장치{A METHOD AND APPARATUS FOR GENERATING A RANDOM IP}
본 발명은 임의의 IP 생성 방법 및 그 장치 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 임의의 IP 주소를 생성하되, 특정 IP 주소 체계의 모든 IP 주소를 생성 하는 방법 및 장치에 관한 것이다.
특정 IP 주소 체계 하에서 생성될 수 있는 IP 주소 개수는 IP 주소의 비트 수에 의존한다. 예를 들어, 가장 많이 사용되는 IPv4 체계의 주소는 32비트(bit)로 구성된다. 따라서 IPv4 주소 체계 하에서는 총 2^32개의 IP 주소가 생성될 수 있다. 또한 IPv6 체계의 주소는 128비트(bit)로 구성되므로, IPv6 주소 체계 하에서는 총 2^128개의 IP 주소가 생성될 수 있다.
디바이스가 네트워크에 접속될 때, 고유의 IP 주소를 할당 받게 되는데, 네트워크에 접속되어 있는 각종 디바이스를 스캔하고, 정보를 수집하기 위하여는 생성 가능한 모든 IP 주소에 대하여, 해당 IP주소가 활성화 되었는지 여부가 조사되어야 한다. 이러한 작업을 위하여는, 랜덤으로 IP 주소를 생성하는 과정이 필요하다. 왜냐하면, 순차적으로 IP 주소를 생성하여 스캐닝을 수행할 경우, 특정 IP 대역에 작업이 집중되어 병목 현상이 발생하거나, 보안 장비에 의한 차단 문제가 발생할 수 있기 때문이다.
따라서 임의의 순서로 랜덤 IP를 생성하는 기술이 필요한데, 기존에 랜덤 IP를 생성하는 방법으로는, AES 기반 순환(permutation) 알고리즘을 이용한 IP 랜덤 생성 방식(Zmap), DES S-box 기반 Blackrock 순환 알고리즘을 이용한 IP 랜덤 생성 방식(Masscan)이 이용되었는데, 순환 알고리즘 사용에 의하여, 시간 및 공간 복잡도가 높은 문제점이 있었다.
따라서, 시간 및 공간 복잡도가 감소한 IP 생성 방법 및 장치의 제공이 요구된다.
KR 10-2006-0022937 A "애드 혹 네트워크에서의 IP 주소 할당 방법 및 장치"
본 발명이 해결하고자 하는 기술적 과제는, 기존의 방법에 비하여, 시간 복잡도 및 공간 복잡도가 개선된 IP 생성 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 생성 가능한 모든 IP를 임의의 순서로 생성하여, IP 커버율이 100%인 IP 생성 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 IP 생성 방법은, IP 생성 장치가, 생성 가능한 IP의 개수를 가리키는 10진수를 쪼개서 복수의 초기화된 부분 숫자를 구성하는 단계, 상기 IP 생성 장치가, 상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 단계, 상기 IP 생성 장치가, 상기 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 단계, 상기 IP 생성 장치가, 상기 IP 대응 10진수로부터 랜덤 IP를 생성하는 단계 및 상기 변경하는 단계, 상기 IP 대응 10진수를 생성하는 단계 및 상기 랜덤 IP를 생성하는 단계를 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 IP 생성 장치는, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리 및 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 생성 가능한 IP의 개수를 가리키는 10진수를 쪼개서 복수의 초기화된 부분 숫자를 구성하는 오퍼레이션, 상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 오퍼레이션, 상기 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 오퍼레이션, 상기 IP 대응 10진수로부터 랜덤 IP를 생성하는 오퍼레이션 및 상기 변경하는 오퍼레이션, 상기 IP 대응 10진수를 생성하는 오퍼레이션 및 상기 랜덤 IP를 생성하는 오퍼레이션을 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 오퍼레이션을 포함한다.
본 발명의 몇몇 실시예들에 따르면, IP 생성 장치가 IP를 랜덤으로 생성할 때, 시간 복잡도 및 공간 복잡도가 감소하는 효과를 달성할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른, IP 생성 시스템에 대한 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 IP 생성 장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 IP 생성 방법의 순서도이다.
도 4는 본 발명의 또 다른 실시예에 따른 IP 생성 방법의 일 예시로서, 의사코드가 도시된 도면이다.
도 5는 본 발명의 몇몇 실시예에서 참조되는, 슬롯이 1개 일 때 복수의 부분 숫자가 변경되는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 몇몇 실시예에서 참조되는, 슬롯이 2개 일 때, 복수의 부분 숫자가 변경되는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 몇몇 실시예에서 참조되는, 32비트의 IP 주소에 대한, 복수의 부분 숫자가 변경되는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 몇몇 실시예에서 참조되는, IP 대응 10진수를 생성하는 과정의 순서도이다.
도 9는 본 발명의 몇몇 실시예에서 참조되는, IP 대응 10진수를 생성 하는 과정의 예시 도면이다.
도 10은 본 발명의 몇몇 실시예에 의해 참조되는, IP 대응 10진수로부터 랜덤 IP를 생성하는 과정의 순서도이다.
도 11 및 도 12는 본 발명의 몇몇 실시예에서 참조되는 랜덤 IP를 생성하는 과정의 예시 도면이다.
도 13은 기존 알고리즘과 본 발명의 일 실시예에 따른 IP 생성 방법의 성능을 비교한 표이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른, IP 생성 시스템에 대한 구성도이다.
도 1을 참조하면, IP 생성 시스템은 네트워크(150)와 IP 생성 장치(100)로 구성될 수 있다. IP 생성 장치(100)는 네트워크(150)에 접속된 각종 디바이스를 스캔하고, 각종 디바이스에 대한 정보를 수집하기 위하여, 각종 디바이스가 접속된 IP 주소를 생성하여, 생성된 IP 주소를 스캔 할 수 있다.
IP 생성 장치(100)는 네트워크(150)의 IP 주소 체계에 따라, 생성 가능한 모든 IP 주소 개수를 결정하고, 그 개수만큼의 IP를 생성할 수 있다. 생성된 IP에 대하여, 예를 들어, 별도의 스캔 장치, 정보 수집 장치가 스캔 작업 또는 정보 수집 작업을 수행할 수 있다. 그러나 생성된 IP가 활용되는 분야는 이에 한정하지 않으며, 임의의 순서로 생성 가능한 모든 IP 주소에 대한 정보가 필요한 분야에 활용될 수 있으며, 그 활용 목적이 IP 생성 장치(100)의 IP 생성 목적이 될 수 있다.
이하, 도 2를 참조하여 IP 생성 장치(100)의 동작과 구조에 대하여 설명한다. 도 2는 본 발명의 다른 실시예에 따른 IP 생성 장치의 하드웨어 구성도이다.
도 2를 참조하면 IP 생성 장치(100)는 하나 이상의 프로세서(110), 메모리(510), 스토리지(160) 및 인터페이스(170)을 포함할 수 있다. 프로세서(110), 메모리(120), 스토리지(160) 및 인터페이스(170)는 시스템 버스(150)를 통하여 데이터를 송수신한다.
프로세서(110)는 메모리(120)에 로드 된 IP 생성 프로그램(121)을 실행하고, 메모리(120)는 상기 IP 생성 프로그램(161)을 스토리지(160)에서 로드(load) 한다.
상기 IP 생성 프로그램(121)이 실행됨에 따라, IP 생성 장치(100)는 생성 가능한 IP의 개수를 가리키는 10진수를 쪼개서 복수의 초기화된 부분 숫자를 구성하는 오퍼레이션, 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 오퍼레이션, 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 오퍼레이션, IP 대응 10진수로부터 랜덤 IP를 생성하는 오퍼레이션을 수행할 수 있다.
IP 생성 장치(100) 복수의 초기화된 부분 숫자를 구성하는 오퍼레이션, IP 대응 10진수를 생성하는 오퍼레이션, IP 대응 10진수로부터 랜덤 IP를 생성하는 오퍼레이션을 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 오퍼레이션을 수행 할 수 있다.
도 2의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 3은 본 발명의 또 다른 실시예에 따른 IP 생성 방법의 순서도이다. 이하, 도 3을 참조하여, IP 생성 과정을 설명한다.
IP 생성 장치(100)는 생성 가능한 IP의 개수를 가리키는 10진수를 쪼개서 복수의 초기화된 부분 숫자를 구성할 수 있고(S100), 구성된 초기화된 복수의 부분 숫자를 기 지정된 규칙에 따라 변경할 수 있다(S200). IP 생성 장치(100)는 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성할 수 있고(S300), 생성된 IP 대응 10진수로부터 랜덤 IP를 생성할 수 있다(S400).
IP 생성 장치(100)는 단계 S200, S300, S400을 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성할 수 있다.
단계(S100)에서 생성 가능한 IP의 개수를 가리키는 10진수란, 해당 IP의 주소 체계에서 최대로 생성될 수 있는 IP의 개수를 10진수로 표현한 값을 가리킨다. 예를 들어, 상기 10진수는 IPv4 주소 체계에서는 2^32 = 4,294,967,296가 되며, IPv6 주소 체계에서는 2^128 가 된다.
단계(S100)에서, 복수의 부분 숫자란 상기 10진수가 미리 정해진 개수 단위로 쪼개진 결과 생성된, 상기 10진수의 복수 개의 서브 셋을 가리킨다. 예를 들어, 10진수가 4,294,967,296이고, 미리 정해진 개수 단위가 2개인 경우, 상기 10진수는 42/94/96/72/96의 부분 숫자로 구성될 수 있다. 예를 들어, 10진수가 4,294,967,296이고, 미리 정해진 개수 단위가 4개인 경우, 복수의 부분 숫자는 4294/9672/96 로 구성될 수 있다.
단계(S100)에서, IP 생성 장치(100)는 부분 숫자를 초기화할 수 있는데, 초기화 과정은 도 4 내지 도7을 통해 설명한다. 단계(S200)에서, IP 생성장치(100)가 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 과정은 상기 초기화 과정과 함께 도 4 내지 도 7을 통해 설명한다.
단계(S400)에서, IP 생성 장치(100)는 IP 대응 10진수로부터 랜덤 IP를 생성할 수 있는데, 해당 과정은 도 8내지 도 12를 통해 설명한다. 본 발명의 실시예에 따라, IP 생성 장치(100)는 생성 가능한 IP의 개수만큼의 IP를 임의의 순서로 생성할 수 있게 된다.
도 4는 본 발명의 또 다른 실시예에 따른 IP 생성 방법의 일 예시로서, 의사코드가 도시된 도면이다.
도 4는 IPv4에 대하여, IP를 생성한 경우의 예시이며, 부분 숫자를 구성할 미리 정해진 개수의 단위는 2개인 경우이다.
IP 주소는 32비트로 구성되므로, 총 2^32개인 4,294,967,296개의 IP 주소가 생성될 수 있다. IP 주소는 0부터 구성되므로, 0 ~ 4,294,967,295 의 IP 주소가 생성될 수 있다. 따라서, 가장 값이 큰 주소 값은 4,294,967,295이며, 이 값을 기준으로 부분 숫자가 구성될 수 있다.
IP 생성 장치는 2개의 숫자를 가지는, 부분 숫자를 구성할 것이므로, 부분 숫자는 42/ 94/ 96/ 72/ 95로 구성될 것이다. (01)라인의 a1 내지 a5는 각 부분 숫자를 저장할, 변수 공간을 가리킨다. 변수 a1 내지 a5는 0으로 초기화 될 수 있다.
IP 생성 장치는 (02)라인을 통해, IP 주소 체계에 따라 생성 가능한 IP개수를 연산하거나, 연산 된 값을 획득할 수 있다. (02)라인은 생략될 수도 있다.
앞서 도 3의 단계(S100)에서, IP 생성 장치는 복수의 초기화된 부분 숫자를 구성하였다. 구체적으로 설명하면, IP 생성 장치는 생성 가능한 IP의 개수를 가리키는 10진수를 자릿수가 낮아지는 순서로 제1 내지 제n 슬롯(단, n은 2 이상의 자연수)의 부분 숫자로 쪼갤 수 있고, 제2 내지 제n 슬롯의 부분 숫자를 각각 부분 숫자를 구성하는 자리 수의 최대 값으로 초기화 할 수 있다.
도 4의 예시에 적용하여 설명하면, IP 생성 장치는 10진수인 4,294,967,296에서 1을 뺀 값인 4,294,967,295를 총 5개의 슬롯으로 쪼갤 수 있다. 제1 슬롯은 42, 제2 슬롯은 94, 제3 슬롯은 96, 제4 슬롯은 72, 제5 슬롯은 95가 된다.
(04) 내지 (18)라인을 보면, IP 생성 장치는 각각의 변수 a1 내지 a5가 0을 가지면, 각각 42, 99, 99, 99, 99 값으로 초기화를 할 수 있다. 즉 제1 슬롯은 10진수의 처음 2자리 수인 42로 초기화 될 수 있고, 나머지 제2 슬롯 내지 제5 슬롯은 부분 숫자를 구성하는 자리수인 2자리 수의 최대 값인 99로 초기화 될 수 있다. 이 결과 생성될 IP 주소는 42,299,999,999를 초기 값으로 하여 탐색될 수 있다.
도 3의 단계(S200)에서, IP 생성 장치는 복수의 부분 숫자를 기 지정된 규칙에 따라 변경할 수 있는데, 단계(S200)은 (04) 내지 (18)라인에 대응된다. IP 생성 장치는 제1 슬롯 내지 제5슬롯 중 하나의 슬롯 값을 1씩 감소시키면서, IP를 생성할 대상 10진수를 생성할 수 있다.
도 5의 예시를 살펴본다. 도 5는 본 발명의 몇몇 실시예에서 참조되는, 슬롯이 1개 일 때 복수의 부분 숫자가 변경되는 과정을 설명하기 위한 도면이다.
예시 1(200)은 2 자리 수의 슬롯이 1개인 경우이다. 예를 들어 IP 주소가 4비트로 이루어진 경우일 수 있다. 실존하지 않는 예시이지만, 설명의 편의를 위하여 예시로 이용한다(a영역 참조).
화살표는 복수의 부분 숫자의 변경 순서를 나타낸다. b영역은 생성된 IP 대응 10진수를 나타낸다. 가능한 IP주소는 0~15이고, 제1 슬롯은 15로 초기화될 수 있다.
초기화 값인 15로부터 1씩 차례로 감소하여, 15, 14, ? , 2, 1, 0의 순서로 복수의 부분 숫자가 변경될 수 있다.
도 6의 예시를 살펴본다. 도 6은 본 발명의 몇몇 실시예에서 참조되는, 슬롯이 2개 일 때, 복수의 부분 숫자가 변경되는 과정을 설명하기 위한 도면이다.
예시 2(210)는 2 자리 수의 슬롯이 2개인 경우이다. IP 주소가 8비트로 이루어진 경우를 예시로 설명한다. (a영역 참조).
화살표는 복수의 부분 숫자의 변경 순서를 나타낸다. b영역은 복수의 부분 숫자의 변경 순서를 나타낸다. 가능한 IP주소는 0~255이다. 따라서 부분 숫자를 구성하면, 제1 슬롯은 25, 제2 슬롯은 5로 구성될 수 있는데, 제2 슬롯은 1자리 수의 최대 값으로 초기화 되므로, 제2 슬롯의 초기 값은 9로 구성될 수 있다.
따라서, 초기 값은 b영역의 좌측 상단에 "25 9"로 도시되었다. 각각은 제1 슬롯과 제2 슬롯의 구성 값을 가리킨다.
도 3의 단계(S200)에서, IP 생성 장치는 복수의 부분 숫자를 기 지정된 규칙에 따라 변경할 수 있다. 구체적으로, 단계(S200)에서 IP 생성 장치는 제1 내지 제n 슬롯 중 어느 하나인 제m 슬롯(1<=m<=n)의 부분 숫자 만 감소시킬 수 있다. 즉 어느 하나의 슬롯 값만 숫자가 변경될 수 있다. 예시에서, IP 생성 장치는 각 슬롯의 값을 1씩 감소시킨다.
보다 상세히, IP 생성 장치는 제m 슬롯의 부분 숫자의 감소가 가능한 경우, 상기 제m 슬롯의 부분 숫자를 감소시킬 수 있고, 제m 슬롯의 부분 숫자의 감소가 더 이상 불가능한 경우, 상기 m 슬롯의 부분 숫자를 상기 m 슬롯의 초기화된 부분 숫자로 재 초기화하고, m을 1 증가시킨 후, 제m 슬롯의 부분 숫자를 감소시킬 수 있다.
도 6의 예시(210)에서, IP 생성 장치는 제1 슬롯의 부분 숫자인 25를 1씩 감소시킬 수 있다. IP 생성 장치는 단 하나의 슬롯의 값 만을 변경시키므로, 제1 슬롯의 부분 숫자를 변경할 때에는, 제2 슬롯의 숫자는 변경시키지 않는다. 이때, m값은 1을 가리키게 된다.
따라서 IP 생성 장치는 25 9, 24 9, ? , 01 9, 00 9 순서로 IP 대응 10진수를 생성할 수 있다. 한편, 00 9 에서 제1 슬롯 값이 0 이 되었으므로, 제1 슬롯 값은 더 이상 감소될 수 없다. IP 주소는 0부터 255로 구성되기 때문이다.
따라서 IP 생성 장치는 제1 슬롯은 최초 부분 숫자인 25로 재 초기화할 수 있고, m값을 1 증가시켜, 제2 슬롯의 부분 숫자를 1 감소시킬 수 있다. 따라서, IP 생성 장치는 25 8에 대하여, 상술한 과정을 다시 반복할 수 있다.
이러한 과정의 반복을 통해, 복수의 부분 숫자가 259부터 000까지 생성될 수 있다. 이때, IP 주소가 될 수 있는 값은 0 내지 255 이다. 따라서 상기 복수의 부분 숫자 중 259, 258, 257, 256로부터 IP 주소가 생성될 수 없다.
이제 도 7을 통해, IPv4기반의 32비트 주소 체계에서, 복수의 부분 숫자가 변경되는 과정을 설명한다. 도 7은 본 발명의 몇몇 실시예에서 참조되는, 32비트의 IP 주소에 대한, 복수의 부분 숫자가 변경되는 과정을 설명하기 위한 도면이다.
도 7에서, IP의 개수를 가리키는 10진수는 2^23개인, 4,294,967,296이다. (a영역 참조) 부분 숫자를 구성하는 단위 숫자의 개수를 2개라고 했을 때, 제1 슬롯은 42, 제2 슬롯은 94, 제3 슬롯은 96, 제4 슬롯은 72, 제5 슬롯은 95로 쪼개질 수 있다.
따라서 IP 생성 장치는 제1 슬롯은 42로 초기화 할 것이고, 제2 내지 제5 슬롯은 2자리 수의 최대 값인 99로 초기화 할 것이다. IP 생성 장치는 4,999,999,999부터 제1 슬롯의 값을 1씩 감소 시켜가며, 복수의 부분 숫자를 변경할 수 있다.
b1영역을 참조하면, IP 생성 장치는 복수의 부분 숫자를 42 99 99 99 99 99 에서, 제1 슬롯의 값을 감소시켜, 00 99 99 99 99 99로 변경할 수 있다. 이때 제1 슬롯의 값이 0 이 되었으므로, 제1 슬롯의 값을 더 이상 감소시킬 수 없다. 따라서 IP 생성 장치는 m 값을 1 증가시켜, 제2 슬롯의 값을 1 감소 시키고, 제1 슬롯의 값은 42로 재 초기화 할 수 있다. 이는 b2영역의 좌측 상단에 도시되었다.
같은 과정이 진행되면, 복수의 부분 숫자는 00 00 00 00 00 이 된다. 복수의 부분 숫자가 00 00 00 00 00으로 생성되면, 복수의 부분 숫자를 변경하는 단계는 중단될 수 있다. 따라서 b3 영역이 마지막 단계가 될 수 있다.
한편, 각각의 복수의 부분 숫자가 변경될 때마다, IP 생성 장치는 복수의 부분 숫자를 연결하고 IP 대응 10진수를 생성할 수 있다. 이하 도 8 내지 도 9를 참조하여 설명한다.
도 8은 본 발명의 몇몇 실시예에서 참조되는, IP 대응 10진수를 생성하는 과정의 순서도이고, 도 9는 본 발명의 몇몇 실시예에서 참조되는, IP 대응 10진수를 생성 하는 과정의 예시 도면이다.
IP 생성 장치는 복수의 부분 숫자에 기 정해진 숫자를 곱하고(S310), 기 정해진 숫자가 곱해진 복수의 부분 숫자를 모두 합하여, IP 대응 10진수를 생성할 수 있다(S320). IP 생성 장치는 생성된 IP 대응 10진수로부터 랜덤 IP를 생성할 수 있다(S400).
예를 들어, 제1 슬롯(a1)이 01, 제2 슬롯(a2)이 32, 제3 슬롯(a3)이 98, 제4 슬롯(a4)이 95, 제5 슬롯(a5)이 54인 복수의 부분 숫자가 있다고 하자. 연산 예시 1(300)을 참조하면, 상술한 복수의 부분 숫자로부터 IP 대응 10진수를 생성하기 위해서는 a1에 10^8을, a2에 10^6을, a3에 10^4을, a4에 10^2을, a5에 1을 곱해야 한다. 그리고 각각의 숫자가 곱해진 복수의 부분 숫자를 모두 더하면, 0,131,989,554의 IP 대응 10진수가 생성될 수 있다. IP 생성 장치는 0,131,989,554의 IP 대응 10진수로부터, 7.237.66.114의 랜덤 IP 주소를 생성할 수 있다.
한편, IP 생성 장치는 생성된 IP 대응 10진수가 생성 가능한 IP의 개수를 가리키는 10진수 미만인지 여부를 판단할 수 있다. IP 생성 장치는 생성 가능한 IP 주소를 모두 커버하기 위하여, 제2 슬롯 내지 제n 슬롯을 부분 숫자를 구성하는 자리 수의 최대 값으로 초기화 할 수 있다. 이에 따라서, 생성 가능한 IP 개수의 숫자 이상의 10진수가 생성될 수 있다. 이와 같은 10진수로부터 IP 주소를 생성할 수 없으므로, IP 생성 장치는 생성된 IP 대응 10진수가 생성 가능한 IP의 개수를 가리키는 10진수 미만인지 여부를 판단하고, 미만일 때에만 상기 IP 대응 10진수로부터 IP 주소를 생성할 수 있다. 이 부분은 도 4의 라인 (20) 내지 (23)에 대응된다.
IP 생성 장치가 IP 대응 10진수로부터, 랜덤 IP 주소를 생성하는 과정을 도 10 내지 도 12를 참조하여 설명한다. 도 10은 본 발명의 몇몇 실시예에 의해 참조되는, IP 대응 10진수로부터 랜덤 IP를 생성하는 과정의 순서도이고, 도 11 및 도 12는 본 발명의 몇몇 실시예에서 참조되는 랜덤 IP를 생성하는 과정의 예시 도면이다.
IP 생성 장치는 IP 대응 10진수가 생성되면, 이를 2진수로 변환할 수 있다(S410). IP 생성 장치는 변환된 2진수를 8비트씩 쪼갤 수 있고(S420), 복수의 8비트 단위를 각각 10진수로 변환할 수 있다(S430). 변환된 10진수를 각각 1 마디의 숫자로 이용하여, 총 4마디의 IP 주소를 생성할 수 있다(S440).
도 11의 연산 예시 2(310)을 참조하면, IP 대응 10진수가 4,294,697,295인 경우, 2진수로 변환하면 11111111111111111111111111111111의 2진수가 된다. 이를 각각 8비트로 쪼개면, 11111111/11111111/11111111/11111111가 되고, 각각의 2진수를 10진수로 변환하여 IP 주소를 생성하면, 255.255.255.255가 된다.
도 11의 연산 예시 3(320)을 참조하면, IP 대응 10진수가 2,130,771,713인 경우, 2진수로 변환하면 01111111000000001111111100000001의 2진수가 된다. 이를 각각 8비트로 쪼개면, 01111111/ 00000000/ 11111111/ 00000001가 되고, 각각의 2진수를 10진수로 변환하여 IP 주소를 생성하면, 127.0.255.1 이 된다.
앞서 도 9에서 생성된 0,132,989,554에 대한 IP 주소는, 도 12를 통해 살펴보면 다음과 같다. 0,132,989,554를 2진수로 변환하면 111111011010100001001110010의 2진수가 되고, 이를 각각 8비트로 쪼개면, 00000111/ 11101101/ 01000010/ 01110010가 된다. 각각의 2진수를 10진수로 변환하여 IP 주소를 생성하면, 7.237.66.114가 된다.
이렇게 IP 생성 장치는 복수의 부분 숫자를 변경해가면서, 서로 다른 랜덤 IP 주소를 생성할 수 있다. 랜덤 IP 주소는 생성 가능한 IP의 개수를 가리키는 10진수 개수만큼 생성될 수 있다. 따라서 랜덤 IP 주소 생성 과정은 총 생성 가능한 IP의 개수를 가리키는 10진수 회수만큼 수행될 수 있다.
한편, IP 대응 10진수는 모두 서로 다른 수이고, 그로부터 생성된 복수의 랜덤 IP 역시, 서로 다른 주소 값을 가진다. 따라서, 서로 다른 복수 의 랜덤 IP가 생성 가능한 IP 개수만큼 생성되므로, IP 커버리지는 100%가 될 수 있다.
시간 복잡도를 고려해보면, IP 생성 장치는 생성 가능한 IP 개수가 N일 때, O(N)의 시간 복잡도를 가지게 된다. O(N)개의 생성 가능한 IP 개수에 대하여, IP 주소를 생성할 때 상수 시간 O(1)이 소요되므로 총 O(N)의 시간 복잡도를 가지게 된다.
도 13은 기존 알고리즘과 본 발명의 일 실시예에 따른 IP 생성 방법의 성능을 비교한 표이다.
CPU 사용율은 거의 동일하지만, memory 사용량은 1/10 정도 감소한 것을 볼 수 있다. 또한 전체 IP를 생성하는데 걸리는 시간이 기존 알고리즘은 평균 15분 30초 였지만, 본원 발명은 평균 13.53초로 단축된 것을 볼 수 있다.
따라서 본원 발명의 IP 생성 장치가 기존의 알고리즘에 비하여, 시간적, 공간적 효율이 상승한 것을 알 수 있다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. IP 생성 장치가, 타깃 IP 주소 체계에서 생성 가능한 IP의 개수를 가리키는 10진수를 분할하고 복수의 부분 숫자를 초기화하는 단계;
    상기 IP 생성 장치가, 상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 단계;
    상기 IP 생성 장치가, 상기 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 단계;
    상기 IP 생성 장치가, 상기 IP 대응 10진수로부터 상기 타깃 IP 주소 체계의 각 마디에 대응되는 주소 값을 연산하여 랜덤 IP를 생성하는 단계; 및
    상기 IP 생성 장치가 상기 변경하는 단계, 상기 IP 대응 10진수를 생성하는 단계 및 상기 랜덤 IP를 생성하는 단계를 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 단계를 포함하는,
    상기 복수의 부분 숫자를 초기화하는 단계는,
    상기 생성 가능한 IP의 개수를 가리키는 10진수를 자릿수가 낮아지는 순서로 제1 내지 제n 슬롯(단, n은 2 이상의 자연수)의 부분 숫자로 분할하는 단계; 및
    제1 슬롯의 부분 숫자를 제외하고 제2 내지 제n 슬롯의 부분 숫자를 각각 자릿수의 최댓값으로 초기화 하는 단계를 포함하는,
    IP 생성 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 단계는,
    상기 제1 내지 제n 슬롯 중 어느 하나인 제m 슬롯(1<=m<=n)의 부분 숫자 만 감소시키는 단계를 포함하는,
    IP 생성 방법.
  4. 제3 항에 있어서,
    상기 제m 슬롯의 부분 숫자 만 감소시키는 단계는,
    제m 슬롯의 부분 숫자의 감소가 가능한 경우, 상기 제m 슬롯의 부분 숫자를 감소시키는 단계; 및
    상기 제m 슬롯의 부분 숫자의 감소가 더 이상 불가능한 경우, 상기 제m 슬롯의 부분 숫자를 상기 제m 슬롯의 초기화된 부분 숫자로 재초기화하고, m을 1 증가시킨 후, 상기 제m 슬롯의 부분 숫자를 감소시키는 단계를 포함하는,
    IP 생성 방법.
  5. 제1 항에 있어서,
    상기 IP 대응 10진수를 생성하는 단계는,
    상기 복수의 부분 숫자에 기 정해진 숫자를 곱하는 단계; 및
    상기 기 정해진 숫자가 곱해진 상기 복수의 부분 숫자를 모두 합하여 상기 IP 대응 10진수를 생성하는 단계를 포함하는,
    IP 생성 방법.
  6. 제1 항에 있어서,
    상기 랜덤 IP를 생성하는 단계는,
    상기 IP 대응 10진수가 상기 생성 가능한 IP의 개수를 가리키는 10진수 미만인 경우에 한하여 수행되는 것인,
    IP 생성 방법.
  7. 제1 항에 있어서,
    상기 랜덤 IP를 생성하는 단계는,
    상기 IP 대응 10진수를 2진수로 변환하는 단계;
    상기 변환된 2진수를 앞 자리부터 복수의 8 bit단위로 쪼개는 단계; 및
    상기 복수의 8 bit단위를 각각 10진수로 변환하여, 상기 랜덤 IP를 생성하는 단계를 포함하되,
    상기 복수의 8 bit단위 각각은 상기 타깃 IP 주소 체계의 각 마디에 대응되는 것인,
    IP 생성 방법.
  8. 제1 항에 있어서,
    상기 랜덤 IP를 생성하는 단계는,
    상기 생성 가능한 IP의 개수를 가리키는 10진수의 횟수만큼 수행되는 것으로 하는,
    IP 생성 방법.
  9. 하나 이상의 프로세서;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및
    스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    타깃 IP 주소 체계에서 생성 가능한 IP의 개수를 가리키는 10진수를 분할하고 복수의 부분 숫자를 초기화하는 오퍼레이션;
    상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 오퍼레이션;
    상기 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 오퍼레이션;
    상기 IP 대응 10진수로부터 상기 타깃 IP 주소 체계의 각 마디에 대응되는 주소 값을 연산하여 랜덤 IP를 생성하는 오퍼레이션; 및
    상기 변경하는 오퍼레이션, 상기 IP 대응 10진수를 생성하는 오퍼레이션 및 상기 랜덤 IP를 생성하는 오퍼레이션을 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 오퍼레이션을 포함하고,
    상기 복수의 부분 숫자를 초기화하는 오퍼레이션은,
    상기 생성 가능한 IP의 개수를 가리키는 10진수를 자릿수가 낮아지는 순서로 제1 내지 제n 슬롯(단, n은 2 이상의 자연수)의 부분 숫자로 분할하는 오퍼레이션; 및
    제1 슬롯의 부분 숫자를 제외하고 제2 내지 제n 슬롯의 부분 숫자를 각각 자릿수의 최댓값으로 초기화 하는 오퍼레이션을 포함하는,
    IP 생성 장치.
  10. 컴퓨팅 장치와 결합하여,
    타깃 IP 주소 체계에서 생성 가능한 IP의 개수를 가리키는 10진수를 분할하고 복수의 부분 숫자를 초기화하는 단계;
    상기 복수의 부분 숫자를 기 지정된 규칙에 따라 변경하는 단계;
    상기 변경 된 복수의 부분 숫자를 연결하여 IP 대응 10진수를 생성하는 단계;
    상기 IP 대응 10진수로부터 상기 타깃 IP 주소 체계의 각 마디에 대응되는 주소 값을 연산하여 랜덤 IP를 생성하는 단계; 및
    상기 변경하는 단계, 상기 IP 대응 10진수를 생성하는 단계 및 상기 랜덤 IP를 생성하는 단계를 순차적으로 반복하여 복수의 서로 다른 랜덤 IP를 생성하는 단계를 실행시키되,
    상기 복수의 부분 숫자를 초기화하는 단계는,
    상기 생성 가능한 IP의 개수를 가리키는 10진수를 자릿수가 낮아지는 순서로 제1 내지 제n 슬롯(단, n은 2 이상의 자연수)의 부분 숫자로 분할하는 단계; 및
    제1 슬롯의 부분 숫자를 제외하고 제2 내지 제n 슬롯의 부분 숫자를 각각 자릿수의 최댓값으로 초기화 하는 단계를 실행하는, 컴퓨터로 판독가능한 기록매체에 저장된,
    컴퓨터 프로그램.
KR1020160155523A 2016-11-22 2016-11-22 임의의 ip 생성 방법 및 그 장치 KR101920190B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160155523A KR101920190B1 (ko) 2016-11-22 2016-11-22 임의의 ip 생성 방법 및 그 장치
US15/810,962 US10001972B2 (en) 2016-11-22 2017-11-13 Random IP generation method and apparatus
US15/984,588 US10628127B2 (en) 2016-11-22 2018-05-21 Random IP generation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160155523A KR101920190B1 (ko) 2016-11-22 2016-11-22 임의의 ip 생성 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20180057183A KR20180057183A (ko) 2018-05-30
KR101920190B1 true KR101920190B1 (ko) 2019-02-08

Family

ID=62146992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160155523A KR101920190B1 (ko) 2016-11-22 2016-11-22 임의의 ip 생성 방법 및 그 장치

Country Status (2)

Country Link
US (2) US10001972B2 (ko)
KR (1) KR101920190B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919365A (zh) * 2016-08-29 2017-07-04 阿里巴巴集团控股有限公司 计算机系统中随机数的生成方法及装置
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
CN111638866A (zh) * 2020-04-26 2020-09-08 北京中交兴路信息科技有限公司 随机数生成方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252578A (ja) * 2004-03-03 2005-09-15 Fuji Xerox Co Ltd ネットワーク装置およびネットワーク情報設定方法およびネットワーク情報設定プログラム

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3993872A (en) * 1974-09-27 1976-11-23 Borbas Robert A Random number generator for a traffic distributor
JP3206863B2 (ja) 1994-12-15 2001-09-10 松下電工株式会社 コード変換方法及びコード変換器
CA2217916A1 (en) * 1996-10-09 1998-04-09 Dew Engineering And Development Limited Random number generator and method for same
US6101499A (en) * 1998-04-08 2000-08-08 Microsoft Corporation Method and computer program product for automatically generating an internet protocol (IP) address
US6539410B1 (en) * 1999-03-17 2003-03-25 Michael Jay Klass Random number generator
US6374278B1 (en) * 1999-03-25 2002-04-16 Intel Corporation Method and apparatus for the generation of statistically random numbers
US7281036B1 (en) * 1999-04-19 2007-10-09 Cisco Technology, Inc. Method and apparatus for automatic network address assignment
FR2802661B1 (fr) * 1999-12-21 2003-10-31 Bull Sa Generateur de nombres aleatoires haut debit
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
US7020718B2 (en) * 2000-05-15 2006-03-28 Hewlett-Packard Development Company, L.P. System and method of aggregating discontiguous address ranges into addresses and masks using a plurality of repeating address blocks
US6888898B1 (en) * 2000-05-25 2005-05-03 Logitech Europe S.A. Random code for device identification
US7159038B2 (en) * 2001-07-26 2007-01-02 Victor John Rychlicki Method of addressing networked devices
US6954770B1 (en) * 2001-08-23 2005-10-11 Cavium Networks Random number generator
US20030048806A1 (en) * 2001-09-13 2003-03-13 Jacobus Haartsen Method for address allocation in ad-hoc networks
US7349392B2 (en) * 2001-09-14 2008-03-25 Hewlett-Packard Development Company, L.P. Assigning IP addresses in an internet data center
DE10219135B4 (de) * 2002-04-29 2004-03-04 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl
FR2841715A1 (fr) * 2002-06-28 2004-01-02 Thomson Licensing Sa Procede de generation d'adresse dans un dispositif relie a un reseau et un dispositif disposant de ce procede
US7461111B2 (en) * 2002-09-30 2008-12-02 Fdk Corporation Method of uniforming physical random number and physical number generation device
US7206797B2 (en) * 2003-04-14 2007-04-17 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators
US20050027778A1 (en) * 2003-07-29 2005-02-03 Arthur Dimitrelis Automatic configuration of an address allocation mechanism in a computer network
CN100585552C (zh) * 2004-02-12 2010-01-27 日立超大规模集成电路系统株式会社 随机数发生方法和半导体集成电路器件
KR100633666B1 (ko) * 2004-02-25 2006-10-12 엘지전자 주식회사 홈 네트워크 시스템 및 그 제어 방법
US20060010183A1 (en) * 2004-07-09 2006-01-12 President And Fellows Of Harvard College Random number generation
KR100679015B1 (ko) 2004-09-08 2007-02-06 삼성전자주식회사 애드 혹 네트워크에서의 ip 주소 할당 방법 및 장치
US20060195610A1 (en) * 2005-02-28 2006-08-31 Sytex, Inc. Security Enhanced Methods And System For IP Address Allocation
KR100653527B1 (ko) * 2005-05-30 2006-12-05 주식회사 팬택앤큐리텔 인터넷 프로토콜 주소 운용 방법
US20070050437A1 (en) * 2005-08-25 2007-03-01 Texas Instruments Incorporated Systems and methods for random value generation
EP2089794B1 (en) * 2006-11-28 2010-03-03 Koninklijke Philips Electronics N.V. A method of generating arbitrary numbers given a seed
EP2351333B1 (en) * 2008-11-25 2019-09-18 Citrix Systems, Inc. Systems and methods for applying transformations to ip addresses obtained by domain name service (dns)
US9807112B2 (en) * 2008-12-30 2017-10-31 Nokia Technologies Oy Methods, apparatuses, and computer program products for facilitating randomized port allocation
US9894093B2 (en) * 2009-04-21 2018-02-13 Bandura, Llc Structuring data and pre-compiled exception list engines and internet protocol threat prevention
US8769057B1 (en) * 2009-05-07 2014-07-01 Sprint Communications Company L.P. Employing a hierarchy of servers to resolve fractional IP addresses
US8095677B1 (en) * 2009-05-21 2012-01-10 Sendmail, Inc. Configuration rule generation with compressed address sets
US9207911B2 (en) * 2009-07-31 2015-12-08 Cassy Holdings Llc Modular uncertainty random value generator and method
US9513872B2 (en) * 2009-11-25 2016-12-06 Aclara Technologies Llc Random number generator
US8560658B2 (en) * 2010-03-23 2013-10-15 Juniper Networks, Inc. Managing distributed address pools within network devices
EP2553905B1 (en) * 2010-03-31 2018-05-09 Security First Corp. Systems and methods for securing data in motion
US8788707B1 (en) * 2010-05-27 2014-07-22 Crimson Corporation Assigning a random static IP address in a quarantine network
TWI496075B (zh) * 2010-06-03 2015-08-11 Univ Michigan 隨機化數值之產生
US8321541B1 (en) * 2010-07-23 2012-11-27 Sprint Communications Company L.P. Assigning internet protocol addresses in a network
CN102055817B (zh) * 2010-12-30 2014-07-30 中国人民解放军信息工程大学 同源地址束汇聚方法及同源汇聚网络路由系统
US8656052B2 (en) * 2011-05-16 2014-02-18 Cox Communications, Inc. Systems and methods of mapped network address translation
CN103748861B (zh) * 2011-07-08 2017-07-11 威尔耐特斯公司 用于动态vpn地址分配的系统和方法
US8719450B2 (en) * 2011-10-31 2014-05-06 Cable Television Laboratories, Inc. Internet protocol (IP) address translation
KR20130111721A (ko) * 2012-04-02 2013-10-11 삼성전자주식회사 부분 곱 생성기의 부스코드 생성방법, 컴퓨터 시스템 및 그 매체와 디지털 신호프로세서
FR2993425B1 (fr) * 2012-07-13 2014-07-18 Commissariat Energie Atomique Dispositif et procede pour generer une adresse internet protocol (ip) a partir d'un numero d'identification de vehicule (vin)
KR102083271B1 (ko) * 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
KR101564954B1 (ko) * 2012-10-08 2015-11-02 에스케이 텔레콤주식회사 광원과 단일광자검출기를 이용한 난수 생성 방법 및 장치
WO2014089677A1 (en) * 2012-12-10 2014-06-19 Bluecat Networks Inc System and method for ip network semantic label storage and management
US9729500B2 (en) * 2013-03-15 2017-08-08 Google Inc. IP allocation pools
RU2610586C2 (ru) * 2013-05-13 2017-02-13 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обеспечения клиентскому устройству автоматического обновления ip-адреса, соответствующего доменному имени
US9223503B2 (en) * 2013-09-27 2015-12-29 Intel Corporation Generating random numbers utilizing entropic nature of NAND flash memory medium
TWI545580B (zh) * 2014-01-07 2016-08-11 群聯電子股份有限公司 隨機數產生方法、記憶體儲存裝置及控制電路
US9436436B2 (en) * 2014-02-12 2016-09-06 Ut-Battelle, Llc Self-correcting random number generator
CN104935676A (zh) * 2014-03-17 2015-09-23 阿里巴巴集团控股有限公司 确定ip地址段及其对应的经纬度的方法及装置
US9641598B1 (en) * 2014-03-31 2017-05-02 Amazon Technologies, Inc. Contextually unique identifier generation service
JP6380804B2 (ja) * 2014-04-16 2018-08-29 パナソニックIpマネジメント株式会社 乱数処理装置および乱数処理方法
US20150312212A1 (en) * 2014-04-24 2015-10-29 David Holmes Holistic embodiment of dna and ipv6
US9749286B2 (en) * 2014-07-17 2017-08-29 Brocade Communications Systems, Inc. Method and system for optimized load balancing across distributed data plane processing entities for mobile core network
EP3175354B1 (en) * 2014-07-30 2018-10-03 Trentino Sviluppo S.p.A. True random number generator
US11206239B2 (en) * 2014-09-19 2021-12-21 Texas Instruments Incorporated Address generation for networks
KR102236175B1 (ko) * 2015-08-18 2021-04-06 한국전자통신연구원 IPv6 주소 중에서 IID를 정의하는 방법 및 이를 수행하는 통신 장치
US9417846B1 (en) * 2015-12-07 2016-08-16 International Business Machines Corporation Techniques for improving random number generation security
US10031723B1 (en) * 2016-03-08 2018-07-24 Secturion Systems, Inc. Systolic random number generator
US9780948B1 (en) * 2016-06-15 2017-10-03 ISARA Corporation Generating integers for cryptographic protocols
US9990181B2 (en) * 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252578A (ja) * 2004-03-03 2005-09-15 Fuji Xerox Co Ltd ネットワーク装置およびネットワーク情報設定方法およびネットワーク情報設定プログラム

Also Published As

Publication number Publication date
US10001972B2 (en) 2018-06-19
US20180275963A1 (en) 2018-09-27
US20180143807A1 (en) 2018-05-24
US10628127B2 (en) 2020-04-21
KR20180057183A (ko) 2018-05-30

Similar Documents

Publication Publication Date Title
KR102182894B1 (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
KR101920190B1 (ko) 임의의 ip 생성 방법 및 그 장치
WO2016159357A1 (ja) 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム
JP6300796B2 (ja) 算術及び論理ユニットを伴わないコンピュータプロセッサ及びシステム
Andrade et al. Lyra2: Efficient password hashing with high security against time-memory trade-offs
US11050552B2 (en) System and method for hashing a data string using an image
JP2007316614A (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
JP6044738B2 (ja) 情報処理装置、プログラム及び記憶媒体
US20180278426A1 (en) Online/Offline Signature System and Method Based on Multivariate Cryptography
US7505588B2 (en) Stream cipher design with revolving buffers
JP2017216619A (ja) 情報処理装置、情報処理方法及びプログラム
US9025766B2 (en) Efficient hardware architecture for a S1 S-box in a ZUC cipher
US10333699B1 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
JP6292195B2 (ja) 情報処理装置及び情報処理方法
CN113765650A (zh) 数据加密、解密方法、装置、电子设备及存储介质
CN103701591A (zh) 一种序列密码实现方法和密钥流生成方法及装置
KR20030051111A (ko) AES Rijndael(라인달) 암호 알고리듬의 하드웨어 구현을위한 라운드 처리부 회로 및 온라인 라운드 키 생성 회로
AbuRass et al. Performance Evaluation of AES algorithm on Supercomputer IMAN1
US8204219B2 (en) Cryptographic method and apparatus for enhancing computation performance of a central processing unit
EP3276920B1 (en) Message processing method, device and system
Ivanchykhin et al. Regular and almost universal hashing: an efficient implementation
Chang et al. Hardware acceleration for cryptography algorithms by hotspot detection
US10936703B2 (en) Obfuscating programs using matrix tensor products
CN114254372B (zh) 数据加密处理方法、系统及电子设备
US20150195084A1 (en) One-bit to four-bit dual conversion apparatus for enhanced security against side channel analysis and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant