[신기술 목차]

 

DLP (Data Loss Prevention)

 

1. 정보 유출 방지 솔루션, DLP 개념

  • 기업의 민감한 데이터 또는 문서에 대해서 외부로 유출을 방지하기 위해 데이터의 이동경로를 감시하거나 통제하는 솔루션
  • 기업의 지적재산을 포함하는 기밀이 외부로 유출되는 것을 방지 및 감사하는 솔루션

 

2. DLP 구성도 및 주요 기능

1) DLP 구성도

  • 정책 적용과 필터링, 감사 실시하여 검색된 패턴, 키워드 기반 신규 정책 생성

2) DLP 주요기능

기능 설명 사례
접근통제 정보를 중요도로 그룹화하고, 각 정보에 대한 접근 권한을 관리 RBAC, 마스킹, DB서버, 파일서버
암호화 내부 정보 불법침입, 데이터의 거래간의 정보유출 등을 방지 DRM 연계기반, RAS, AES
필터링 내부에서 외부로 반출되는 트래픽, 정보 등에 대해 일정 규칙에 따른 검사, 제어 IM, P2P, FTP, HTTP, SNS 등의 전송 필터링
활동감시 사용자 PC를 스캔하여, 사용자가 보유한 기밀저보의 이동 및 격리 로컬 디스크, 스토리지, 메일서버, 스마트폰

 

 

[신기술 목차]

1. 클라우스 컴퓨팅 서비스 개요

1) 클라우드 컴퓨팅 서비스 정의

  • 타사 제공업체가 호스팅하여 인터넷을 통해 사용자에게 제공하는 인프라, 플랫폼 또는 소프트웨어 서비스
  • 프론트엔드 클라이언트(예: 사용자의 서버, 태블릿, 데스크톱, 노트북 등 사용자의 모든 하드웨어)의 사용자 데이터 흐름을 원활하게 해주며 사용자가 클라우드 서비스에 액세스하려면 컴퓨터, 운영 체제 및 인터넷 연결 또는 가상 프라이빗 네트워크(VPN) 필요

2) 클라우드 컴퓨팅 서비스 유형

서비스 설명
IaaS
(Infrastructure as a Service)
데이터 센서에 있는 서버, 스토리지, 네트워크 등 인프라나 자원을 가상화 하여 인터넷에 제공하는 서비스
PaaS
(Platforms as a Service)
응용 프로그램의 구축, 테스트 및 설치까지 할 수 있는 통합개발환경을 웹으로 제공하는 서비스
PaaS에서 제공하는 API나 CUI로 개발하며, 개발에 필요한 모든 인프라 제공
SaaS
(Software as a Service)
특정 소프트웨어를 인터넷으로 제공하는 서비스

 

2. IaaS, PaaS, SaaS 서비스 구성 및 특징

1) IaaS, PaaS, SaaS 서비스 구성

- 서비스 수준별 차이를 통해 IaaS, PaaS, SaaS를 구분 가능

 

2) IaaS, PaaS, SaaS 서비스 특징

구분 특징 설명
IaaS
 
물리자원 가상화 Infra를 구성하는 물리적인 자원을 가상화하여 서비스 제공
높은 확장성 추가 자원 필요시 서비스를 통해 리소스 확보 가능
비용 효율화 고정비가 들지 않아 비용측면에서의 효율화
PaaS 유지관리 용이성 소프트웨어의 유지 및 관리가 용이함
개발 및 배포 효율성 필요 플랫폼만 사용하여 개발 및 배포 프로세스의 빠른 확보
다중 엑세스 수많은 사용자가 동일 개발 응용프로그램에 접근 가능
SaaS 물리자원 최소화 소프트웨어 설치시 물리적 자원이 필요 없음
Time to market 소프트웨어의 즉시 사용 가능
유지보수 간소화 클라우드 제공업체를 통한 기술적 문제 지원

 - 해당 업무 특성에 적합한 서비스 유형 채택

 

3. 클라우드 서비스 도입시 고려사항

- 클라우드 도입  적합성 확인을 위한 서비스 유형 식별 잘차 및 수행 고려 (TTAK.KO-10.0707 기준)

구분 구축방법(단계) 설명 고려특징
IaaS 1. 아키텍처 수립 HW Spec 산정, Hypervisor 및 Driver 선택 가상화 요건
2. 인프라 sizing 인스턴스, 노드, 동시실행, 대시보드 활용도 산정 CPU, 메모리
3. 서버 가상화 관리 준비 VM프로비저닝, 가용성 기준 적용 VM
4. 인프라 구축 가용성/안정성/확장성 관리 기능 구현 이미지, 템플릿
PaaS 1. IaaS HW 현황 파악 서버/스토리지 기반 NW 가용성 파악 VM, 서버, NW
2. 환경 분류 구성 개발, 테스트, 운영 특징에 따른 환경 분류 표준화 구성
3. 컨테이너 생성 VM 연계 컨테이너 구현 및 환경 설정 수행 SW 플랫폼, APP
4. 서비스 기능 구현 자원 신청/할당, 코딩 환경, 테스트, 런타임 개발 표준
5. Auto Scaling 구현 부하분산, 모니터링, 배포, 과금, 라우터 연계 등 통합 관리
SaaS 1. 라우터 설정 컨테이너 연동 환경 구현 라우터 주소
2. App, 데이터 생성 테넌트 목적 어플리케이션 개발, 데이터 생성 서비스 APP
3. 테넌트 세분화 및 개발 기반 SW, 서비스 별 권한 분리 및 과금 산정 대상 테넌트
4. SaaS 테스트 권한 분리, 과금 및 라이프 사이클 관리 측면 단위/통합
5. SaaS 등록 통합 SaaS 마켓플레이스 내 서비스 등록 권한 관리

 

 

 

 

 

'메가노트 > 토픽과제(정리)' 카테고리의 다른 글

메타버스(황선환 이사님)  (0) 2022.11.19
DLP(안혜진 선임님)  (0) 2022.11.19
해싱(배준호 대리님)  (0) 2022.11.19
Tree(이재용 부장님)  (0) 2022.11.19
이진트리(안혜진 선임님)  (0) 2022.11.19

[자료구조 목차]

 

해싱 개념

- 키 값에서 레코드가 저장되어 있는 주소를 직접 계산한 후 산출된 주소로 바로 접근이 가능하게 하는 방법

 

해싱 동작원리


해싱 관련 주요 개념

용 어 주요 개념
직접파일
(Direct File)
 해싱방법을 기초로 하여 만들어진 파일
 레코드를 식별하기 위한 키 값과 저장 장치에 저장되어 있는 레코드 사이의 사상관계가 성립 되어야 함
해싱함수 주어진 키 값으로부터 레코드가 저장되어 있는 주소를 산출해 낼 수 있는 수식을 의미하며, 키 값을 레코드의 물리적 주소로 사상시키는 사상함수(mapping function)라고도 함
해쉬 필드
해쉬 키
 Hash Field, Hash Key
 해싱함수가 레코드 주소를 계산하기 위해 사용하는 레코드의 키 값을 말함
 해시함수의 입력값해시 필드해시 주소해시함수의 결과값
해싱표
(Table)
 Hashing Table
 해시 키를 사용하여 계산된 주소임
 n개의 버킷(bucket)으로 분할되며, 한 버킷은 s개의 슬롯(slot)으로 구성
버켓  Bucket 하나의 주소를 가지면서 하나 이상의 레코드를 저장할 수 있는 파일의 한 구역
 크기는 같은 주소에 포함될 수 있는 레코드 수
 여러 개의 슬롯으로 구성
슬롯
(slot)
 한 개의 레코드를 저장 할 수 있는 공간
충돌  서로 다른 두개의 키 값이 동일한 주소같은 버킷로 산출된 현상
동거자  동일한 주소로 산출된 두 키 값
오버플로우  더 이상 빈자리가 없는 과잉인데또 다른 레코드가 버켓에 저장되도록 해싱
적재밀도  실제 사용중인 키 값 / 버킷개수 X 슬롯 개수

 

해시함수 적용 알고리즘

알고리즘
설 명
나눗셈법
(Division)
- h(key) = key % M ( M: 버킷의 크기, 소수)
- 정수인 탐색키(입력값)를 버킷의 크기로 나눈 나머지를 해시 주소로 사용
- 적재율은 70 ~ 80%가 적당
 
폴딩법
(Folding)
- 키 값을 여러 방식으로 접어 값을 합산한 후 버킷(Bucket) 주소로 활용
- 키값(입력값)을 레코드의 키를 마지막 부분을 제외한 모든 부분의 길이가 동일하게 여러 부분으로 나누고, 이들 부분을 모두 더하거나 배타적 논리합(XOR)을 취하여, 해쉬 테이블의 주소로 이용하는 방법.
 
이동 폴딩(Shift Folding) : 수를 더함
 
경계 폴딩(Boundary Folding) : 이웃한 부분의 수를 뒤집어서 더함
 
중간제곱 함수
(Mid Square)
- 키 값의 중간 N자리를 뽑아서 제곱한 후 상대 번지로 사용
- 예) h(265) = 70225(256 제곱)의 중간값 = 022
- 제곱한 중간값인 022의 비트값을 아래와 같이 표현하면, 비트로 표현이 가능
- 중간 4비트 혹은 6비트를 선택.
 
기수 변환
(Radix Conversion)
- 주어진 레코드 키를 특정한 진법의 수로 간주하고 키를 변환하여 홈 주소를 얻는 방법
- 예) 키의 항목이 10진수 [1234]로 되어 있을 경우에 7을 기수로 하여 변화시킬 때 상대주소는[466]
- 1*7^3 + 2*7^2 + 3*7^1 + 4*7^0
자릿수 분석
(Digit Analysis)
- 레코드 키를 구성하는 수들이 각 자리 별로 어떤 분포인지를 조사하여 비교적 고른 분포를 나타내는 자릿수를 필요한 만큼 선택하여 홈 주소로 사용하는 방법
- 정적 파일인 경우에 유용하며, 삽입과 삭제가 빈번히 발생하는 경우에는 비효율
무작위 방법(Pseudo-Random)
- 난수 발생 프로그램을 이용하여 각 레코드 키의 홈 주소를 결정하는 방법
- 충돌이 발생하게 되면 그 다음 난수를 레코드의 홈 주소로 사용.

 

정적해싱  - 버켓 주소의 집합을 고정시켜 처리하는 해싱 기법

 특징
- 현재의 파일 크기에 근거하여 해싱 함수 선택
- 미래의 특정 시점의 파일 크기를 예상하여 해싱 함수 선택
- 파일의 크기가 커짐에 따라 주기적으로 해싱 구조를 재구성 해야 함

 

동적해싱

- 데이터베이스가 확장 또는 축소되는데 이에 맞추어 해싱 함수를 동적으로 변경 시키는 해싱 기법(Overflow 발생시 2배수 확장)
- 키 값을 사용하여 이진 트리를 동적으로 변화시킴

 

 

해싱 충돌문제 해결방안

구분 해결방안 설명
Static Hashing Direct Chaining - 동일 hash table에서 linked list 구성
- Record 저장과 Pointer 보관 Hash Table만 두고, 동일 Bucket 주소 record(Synonym)을 Linked List로 구성하여 저장함
Indirect Chaining - Hash Table과는 별도로 Overflow 공간을 확보하여 Synonym을 Linked List로 구성
Overflow 영역처리 - Link를 두지 않고, Overflow 영역에 저장 -> Hash Table 없는 Record는 모든 Overflow 영역에서 검색
Dynamic Hashing Linear Method - 주소 + 1로 빈곳을 찾아 계속 검색함
Re-Hashing - Overflow 발생하지 않을 때까지 여러 개의 Hash 함수 적용
Random Method - 난수로 후속 주소로 선택하는 방법

'메가노트 > 토픽과제(정리)' 카테고리의 다른 글

DLP(안혜진 선임님)  (0) 2022.11.19
클라우드 컴퓨팅 서비스(이상희 부장님)  (0) 2022.11.19
Tree(이재용 부장님)  (0) 2022.11.19
이진트리(안혜진 선임님)  (0) 2022.11.19
Heap(이강욱 선임님)  (0) 2022.11.19

[자료구조 목차]

1. Tree 개요

 가. Tree 정의

 - 노드(Node)들이 나무 가지처럼 연결된 비선형 계층적 자료 구조

 - 아래 그림 같이 나무를 거꾸로 뒤집어 놓은 모양과 유사함

 나. Tree 특징

  - 그래프의 한 종류이며, '최소 연결 트리' 불림

  - 계층적 모델이고, DAG(Directed Acyclic Graphs, 방향성이 있는 비순환 그래프)의 한 종류

  - 노드가 N개인 트리는 항상 N-1 개의 간선(Edge)를 가짐

  - 루트에서 어떤 노드로 가는 경로는 유일함

  - 1개의 Root Node만 존재하며, 모든 자식 Node는 1개의 부모 노드만 가짐

 

2. Tree 구성도 및 구성요소

 가. Tree 구성도

 나.Tree 구성 요소 설명

구성 요소 설 명
루트 노드(Root Node) - 부모가 없는 노드, 트리는 하나의 루트 노드만 가짐
단말 노드(Leaf Node) - 자식이 없는 노드, '말단 노드' 또는 '잎 노드'라고 함
내부 노드(Internal Node) - 단말 노드가 아닌 노드
간선(Edge) - 노드를 연결하는 선(Link, branch)
형제(Sibling) - 같은 부모를 가지는 노드
노드의 크기 - 자신을 포함한 모든 자손 노드의 개수
노드의 깊이 - 루트에서 어떤 노드에 도달하기 위해 거쳐야 하는 간선의 수
노드의 레벨 - 트리의 특정 깊이를 가지는 노드의 집합
노드의 차수 - 하위트리 개수/간선 수(degree) = 각 노드가 지닌 가지의 수
트리의 차수 - 트리의 최대 차수
트리의 높이 - 루트 노드에서 가장 깊숙히 있는 노드의 깊이

 

3. Tree 순회 방식

 

 

[자료구조 목차]

 

이진트리 (Binary Tree)

 

1. 탐색작업의 효율화를 위한 자료구조, 이진트리 개념

  • 각 노드가 2개 이하의 자식노드를 가지는 트리형 자료구조로 탐색 작업을 효율적으로 하기 위한 자료구조
  • 노드의 차수(degree)가 2 이하로 구성된 트리
  • 왼쪽 자식 노드는 부모보다 작고, 오른쪽 자식 노드는 부모보다 큰 트리구조 형태
  • (연산유형) 탐색, 삽입, 삭제

 

2. 이진트리의 순회방식 및 유형

1) 이진트리 순회방식

  • 전위 순회 : 루트노드를 먼저 탐색하고, 자식노드를 탐색하는 방식
  • 중위 순회 : 왼쪽 자식 노드를 탐색하고, 루트노드를 탐색하고,오른쪽 자식 노드를 탐색하는 방식
  • 후위 순회 : 왼쪽 자식 노드를 탐색하고, 오른쪽 자식 노드를 탐색하고, 루트 노드를 탐색하는 방식
순회 방식 그림 설명
전위 순회
- 루트노드를 먼저 탐색하고, 자식노드를 탐색하는 방식
중위 순회
- 왼쪽 자식 노드를 탐색하고, 루트노드를 탐색하고,오른쪽 자식 노드를 탐색하는 방식
후위 순회
- 왼쪽 자식 노드를 탐색하고, 오른쪽 자식 노드를 탐색하고, 루트 노드를 탐색하는 방식
레벨 순회

- 루트 노드를 먼저 탐색하고, 그 다음 레벨의 노드를 탐색하는 방식
- 큐를 선언하고 루트노드를 넣어준 다음, 큐에 넣어준 노드를 하나씩 탐색하면서 자식 노드를 큐에 넣고 큐가 비어있을 때까지 반복

 

2) 이진트리 유형

유형 개념도 설명
포화 이진
  • leaf 노드들이 모두 같은 높이에 존재
  • 총 노드 개수 : 2^k - 1 (k ≥ 1)
완전 이진

  • leaf 노드들이 트리의 왼쪽부터 차곡차곡 채워진 형태
  • 총 노드 개수 : 2^(k-1) ~ 2^k -1 
경사 이진
  • 한쪽 방향으로 노드들이 채워진 형태
  • 깊이가 k인 이진트리의 최대 노드의 수 : 2^k - 1
  • 이진 트리의 레벨 i에서 최대 노드의 수 : 2^(i - 1)
  • n0 = n2 + 1 (n0 : 이진 트리의 터미널 노드, n2 : 차수가 2인 노드 수)

 

'메가노트 > 토픽과제(정리)' 카테고리의 다른 글

해싱(배준호 대리님)  (0) 2022.11.19
Tree(이재용 부장님)  (0) 2022.11.19
Heap(이강욱 선임님)  (0) 2022.11.19
재귀 알고리즘(문경숙 수석님)  (0) 2022.11.19
Greedy 알고리즘(황선환 이사님)  (0) 2022.11.19

+ Recent posts