본문 바로가기

정보처리기사/5과목 정보시스템 구축 관리

[정보처리기사] Chapter 02. 정보시스템 구축 관리: IT프로젝트 정보시스템 구축 관리

1. 네트워크 관련 신기술

1.1. IoT (Internet of Things, 사물 인터넷)

 IoT는 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술이다. 

 유비쿼터스 공간을 구현하기 위한 컴퓨팅 기기들이 환경과 사물에 심겨 환경이나 사물 그 자체가 지능화되는 것부터 사람과 사물, 사물과 사물 간에 지능 통신을 할 수 있는 엠투엠(M2M; Machine to Machine)의 개념을 인터넷으로 확장하여 사물은 물론, 현실과 가상 세계의 모든 정보와 상호작용하는 IoT 개념으로 진화했다.

 주요 기술로는 스마트 센싱 기술, 유무선 통신 및 네트워크 인프라 기술 등이 있다. 정보 공유에 대한 부작용을 최소화하기 위한 정보 보안 기술의 적용이 중요하다.

 

1.2. M2M (Machine to Machine, 사물 통신)

 M2M은 무선통신을 이용한 기계와 기계 사이의 통신이다.전기 원격검침, 무선 신용카드 조회기, 버스 운행 시스템, 위치 추적 시스템 등을 무선으로 통합하여 상호 작용하는 통신이다.

 부호 분할 다중 접속(CDMA), GSM, 무선 데이터 통신 등 다양한 무선 통신망을 사용한다

* CDMA: 부호 분할 다중 접속, 주파수/시간을 모두 공유하면서 각 데이터에 특별한 코드를 부여하는 방식

* GSM: Global System for Mobile communication, 디지털 셀룰러 이동통신 시스템의 표준 규격

 

1.3. 모바일 컴퓨팅 (Mobile Computing)

 휴대형 기기로 이동하면서 자유롭게 네트워크에 접속하여 업무를 처리할 수 있는 환경을 말한다. 휴대 기기는 소형&대용량화 및 저전력화, 네트워크는 고속&대용량 처리 등 기술 진화로 가능해졌다. 

 기업은 비즈니스 효율 극대화로 경쟁력 확보, 개인은 삶의 질 향상을 도모한다.

 

1.4 그리드 컴퓨팅 (Grid Computing)

 지리적으로 분산된 컴퓨터 자원을 초고속 인터넷 망을 통해 격자 구조로 연결해 공유함으로써 하나의 고성능 컴퓨터처럼 구성하고, 고도의 연산 작업이나 대용량 처리를 수행하는 기술이다. 

 

1.5. 클라우드 컴퓨팅 (Cloud Computing)

 클라우드 컴퓨팅은 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 환경을 말한다. 사용자는 키보드와 모니터, 마우스를 갖추고 통신 포트만 연결하면 업무 수행이 가능하다.

 클라우드 컴퓨팅이 그리드 컴퓨팅(Grid Computing)과 다른 점은 그리드 컴퓨팅이 수많은 컴퓨터를 하나의 컴퓨터처럼 묶어 분산 처리하는 방식으로 기상 예측 등 대규모 연산에 사용된다면, 클라우드 컴퓨팅은 중앙의 대형 데이터 센터의 컴퓨팅 자원을 필요한 이들에게 필요한 순간 빌려주는 방식이다.

 

1.6. 모바일 클라우드 컴퓨팅 (MCC; Mobile Cloud Computing)

 클라우드 서비스를 이용하여 소비자와 소비자의 파트너가 모바일 기기로 클라우드 인프라를 구성하여 여러 가지 정보와 자원을 공유하는 ICT 기술을 의미한다. 모바일 클라우드 컴퓨팅은 모바일 기기의 기종이나 운영체제 등과 같은 환경에 구애받지 않는다.

 모바일의 이동성과 클라우드의 컴퓨팅 경제성이 결합되어 사업상 큰 시너지 기대하는 사업이다.

*ICT(Information Communication Technology): 정보기술과 통신기술을 합한 말

 

1.7. 인터클라우드 컴퓨팅 (Inter-Cloud Computing)

 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술이다.

◍ 대등 접속(Peering): 클라우드 서비스 제공자 간 직접 연계하는 형태

◍ 연합(Federation): 자원 공유를 기본으로 사용 요구량에 따른 동적 자원 할당을 지원함으로써 논리적으로 하나의 서비스를 제공하는 형태

◍ 중개(Intermediary): 서비스 제공자 간의 직간접적인 자원 연계

 

1.8. 메시 네트워크 (Mesh Network)

 차세대 이동통신, 홈네트워킹 등 특수 목적을 위한 새로운 방식의 네트워크 기술로, 대규모 디바이스의 네트워크 생성에 최적화되어 있다. 무선 랜의 한계를 극복하기 위해 라우터들을 기지국으로 활용하여 모든 구간을 동일한 무선망처럼 구성한다.

 사용자는 와이파이에 접속하는 것처럼 안정적인 네트워크 사용이 가능하다. 수십~수천 개의 디바이스의 유기적 연결이 필요한 건물 자동화 및 센서 네트워크 등 IoT 솔루션에 적합한 기술이다. 

 

1.9. 와이선 (Wi-SUN)

 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리(LPWA, Low-Power Wide Area) 통신 기능이다. 짧은 시간 동안 데이터 전송이 빈번한 검침 분야에 유용하다. 

 낮은 지연 속도, 메쉬 네트워크 기반 확장성, 펌웨어 업그레이드 용이성 등 때문에 우월한 저전력 장거리 통신 기술(LPWA)이다.

 

1.10. NDN (Named Data Networking)

 NDN은 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술로, 기존의 IP 망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있다.

 NDN은 콘텐츠 중심 네트워킹(CCN; Content Centric Networking) 과 같은 개념이며, 해시 테이블(Hash Table)에 기반을 두는 P2P 시스템과 같이 콘텐츠에 담겨 있는 정보와 라우터 기능만으로 목적지를 확정한다.

 

1.11. NGN (Next Generation Network, 차세대 통신망)

 ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망으로, 이동 사용자를 목표로 하며, 이동통신에서 제공하는 완전한 이동성제공을 목표로 개발되고 있다.

 NGN의 배경 개념은 하나의 망이 인터넷처럼 모든 정보와 서비스를 패킷으로 압축하여 전송한다는 것이다.

 올(all)-IP, 인터넷 프로토콜을 기반으로 구축한다.

 

1.12. SDN (Software Defined Networking, 소프트웨어 정의 네트워킹)

 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어 및 관리하는 네트워크이다. 네트워크 비용 및 복잡성을 해결할 수 있는 기술로 간주된다. 기존 네트워크 기술의 폐쇄형 하드웨어 및 소프트웨어 기술을 개방형으로 변화시키는 미래 인터넷 기술로 주목받고 있다.

 

1.13. NFC (Near Field Communication, 근거리 무선 통신)

 NFC는 고주파(HF)를 이용한 근거리 무선 통신 기술이다. 아주 가까운 거리에서 양방향 통신을 지원하는 RFID 기술의 일종으로, 10cm 내에서 최고 424 Kbps의 속도로 데이터 전송을 지원한다.

 

1.14. UWB (Ultra Wide Band, 초광대역)

 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 하며, 저전력(0.5m/W)으로 많은 양의 데이터를 1km 거리까지 전송할 수 있다는 점에서 블루투스와 비교되는 기술이다.

 땅 속, 벽 뒤로도 전송이 가능해 재해 발생 시 인명 구조에 이용할 수 있다.

 

1.15. 피코넷 (PICONET)

 피코넷(PICONET)은 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술이다. 

 피코넷은 사전에 정의된 네트워크와 계획 없이 상황에 따라 조정 프로토콜을 통해 장비 간의 네트워크를 형성한다. 조정 프로토콜은 네트워크를 구성하는 장비 사이의 관계를 마스터와 슬레이브 역할로 나눠 네트워크를 형성하도록 한다. 

 주로 수십 미터 내의 좁은 공간에서 네트워크를 형성하는 것과 정지/이동 중에 있는 장치를 모두 포함할 수 있는 특징이 있다.

 

1.16. WBAN (Wireless Body Area Network)

 WBAN은 웨어러블 또는 몸에 심는(Implant) 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술이다. 무선 센서나 기기로부터 수집한 정보를 휴대폰 또는 간이형 기지국을 통해 실시간으로 전송한다.

 

1.17. GIS (Geographic Information System, 지리 정보 시스템)

 지리적인 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템으로, 위성을 이용해 모든 사물의 위치 정보를 제공해 주는 기술이다. 

 단순히 지도에서 사물을 확인하는 수준을 넘어서, 다양한 매체를 통해 얻은 지리 데이터를 고품질 공간 정보로 생성함으로써 더 나은 공간 의사 결정에 도움을 준다.

 

1.18. USN (Ubiquitous Sensor Network, 유비쿼터스 센서 네트워크)

 USN은 각종 센서로 수집한 정보를 무선으로 수집할 수있도록 구성한 네트워크를 말한다. 즉, 필요한 모든 것에 RFID 태그를 부착하고, 이를 통해 사물의 인식 정보는 물론 주변의 환경정보까지 탐지하여 이를 네트워크에 연결하여 정보를 관리하는 것을 의미한다.



1.19. SON (Self Organizing Network, 자동 구성 네트워크)

 SON은 주변 상황에 맞춰 스스로 망을 구성하는 네트워크를 말한다. 통신망 커버리지 및 전송 용량 확장의 경제성 문제를 해결하고, 망 운영 및 관리의 효율성을 증대시킨다.

 갑작스런 사용자 증가/감소에 따라 자동으로 주변 셀과의 협력을 통해 셀 용량을 조정하고, 장애 발생 시 자체적인 치유가 가능하다. 

 

1.20. 애드 혹 네트워크 (Ad-hoc Network)

 애드 혹 네트워크는 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크로, 망 구성 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합하다.

 유선망과 기지국이 필요 없고, 호스트 이동에 제약 없이 빠른 망 구성이 가능하며 비용이 저렴한 장점을 가지고 있다. 

 

1.21. 네트워크 슬라이싱 (Network Slicing)

 3GPP를 포함한 여러 글로벌 이동통신 표준화 단체가 선정한 5G의 핵심기술 중 하나로, 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술이다.

 하나의 물리적 네트워크로 다양한 서비스를 제공하는 것에 한계가 있어서, 네트워크 슬라이싱 기술이 5G 네트워크를 구현하는 데 중요한 기술로 주목받는다. 

 다만 네트워크 슬라이싱을 이용하기 위해서는 SDN(소프트웨어 정의 네트워킹)과  NFV(네트워크 기능 가상화)이 선행되어야 한다.

 

1.22. 저전력 블루투스 기술 (BLE; Bluetooth Low Energy)

 일반 블루투스와 비슷하지만 연결되지 않은 대기 상태에서 절전 모드를 유지하는 기술이다. 저전력으로 저용량 데이터를 처리하는 극소형 IoT에 적합하다. 

 전력 효율이 좋아 배터리 하나로 장시간 사용할 수 있기 때문에 비용면에서도 효율적이다.

 

1.23. 지능형 초연결망

 과학기술정보통신부 주관으로 추진 중인 사업으로, 스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 정부 주관 사업이다.

 

 


2. 네트워크 구축

2.1. 네트워크(Network) 설치 구조

 통신망(Communication Network)은 정보를 전달하기 위해서 통신 규약에 의해 연결한 통신 설비의 집합이다. 네트워크 설치 구조는 통신망을 구성하는 요소들을 공간적으로 배치하는 방법, 즉 장치들의 물리적 위치에 따라 성형, 링형, 버스형, 계층형, 망형으로 나누어진다.

 

 

2.2. 성형(Star, 중앙 집중형)

 성형은 중앙에 중앙 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식의 네트워크 구성 형태이다. 포인트 투 포인트 방식으로 회선을 연결한다.

 각 단말장치들은 중앙 컴퓨터를 통해 데이터를 교환한다. 중앙 컴퓨터에 통신망을 연결하는 방식이기 때문에 단말장치의 추가와 제거가 쉽다.

 또한, 하나가 고장나도 다른 단말장치에 영향을 주지 않지만, 중앙 컴퓨터가 고장나면 전체 통신망의 기능이 정지된다. 중앙 집중식이므로 교환 노드의 수가 가장 적다.

 

2.3. 링형(Ring, 루프형)

  링형은 컴퓨터와 단말장치들을 서로 이웃하는 것끼리 포인트 투 포인트 방식으로 연결시킨 형태이다. 링형은 분산 및 집중 제어가 모두 가능하다. 

 데이터는 단방향 또는 양방향으로 전송할 수 있으며, 단방향 링의 경우 컴퓨터, 단말장치, 통신 회선 중 어느 하나라도 고장나면 전체 통신망에 영향을 미친다.

 링형은 단말장치의 추가/제거 및 기밀 보호가 어려운 단점이 있고, 각 단말장치에서 전송 지연이 발생할 수 있다. 또한, 이웃하는 기기 사이를 연결하기 때문에 중계기의 수가 많아진다.

 

 

2.4. 버스형(Bus)

 버스형은 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태이다. 물리적 구조가 간단하고, 단말장치의 추가와 제거가 용이하다.

 단말장치가 고장나더라도 통신망 전체에 영향을 주지 않기 때문에 신뢰성을 높일 수 있다. 다만, 기밀 보장이 어렵고, 통신 회선의 길이에 제한이 있다.

 

2.5. 계층형(Tree, 분산형)

 계층형은 중앙 컴퓨터가 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고, 이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로부터 다시 연결시키는 형태이다. 

 분산 처리 시스템을 구성하는 방식이다.

 

2.6. 망형(Mesh)

 망형은 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태로, 노드의 연결성이 높다. 많은 단말장치로부터 많은 양의 통신을 필요로 하는 경우에 유리하다. 보통 공중 데이터 통신망에서 사용되며, 통신 회선의 총 경로가 가장 길다.

 통신 회선 장애 시 다른 경로를 통하여 데이터를 전송할 수 있다. 모든 노드를 망형으로 연결하려면 노드의 수가 n개일 때, n(n-1)/2 개의 회선이 필요하고 노드당 n-1개의 포트가 필요하다.

 

 

2.7. 네트워크 분류

네트워크는 각 사이트들이 분포되어 있는 지리적 범위에 따라 LAN과 WAN으로 분류된다.

 

1) 근거리 통신망(LAN)

 학교같이 비교적 가까운 거리에 있는 컴퓨터, 프린터 등과 같은 자원을 연결하여 구성한다.

주로 자원 공유를 목적으로 사용한다. 사이트 간의 거리가 짧아 데이터의 전송 속도가 빠르고, 에러 발생률이 낮다.

 근거리 통신망에서는 주로 버스형이나 링형 구조를 사용한다.

 

2) 광대역 통신망(WAN)

국가와 국가 등과 같이 멀리 떨어진 사이트들을 연결하여 구성한다. 사이트 간의 거리가 멀기 때문에 통신 속도가 느리고, 에러 발생률이 높다.

 일정한 지역에 있는 사이트들을 근거리 통신망으로 연결한 후 각 근거리 통신망을 연결하는 방식을 사용한다.

 

 


3. 스위치

3.1. 스위치(Switch) 분류

 스위치는 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치로, OSI 7계층의 Layer에 따라 L2, L3, L4, L7으로 분류된다. 상위 레이어의 스위치는 하위 레이어의 스위치 기능들을 포함한다. 

 

L2 스위치

◍ OSI의 2계층에 속하는 장비

◍ 일반적으로 부른 스위치는 L2 스위치를 의미한다.

◍ MAC 주소를 기반으로 프레임을 전송한다.

◍ 동일 네트워크 간의 연결만 가능하다.

L3 스위치

◍ OSI의 3계층에 속하는 장비

◍ L2 스위치에 라우터 기능이 추가된 것으로, IP 주소를 기반으로 패킷을 전송한다.

◍ 서로 다른 네트워크 간의 연결이 가능하다.

L4 스위치

OSI의 4계층에 속하는 장비

◍ 로드밸런서가 달린 L3 스위치로, IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드밸런싱 기능을 제공한다.

L7 스위치

◍ OSI의 7계층에 속하는 장비

◍ IP 주소, TCP/UDP 포트 정보에 패킷 내용까지 참조하여 세밀하게 로드밸런싱한다.

*로드밸런싱: 특정 서버에만 부하가 발생하지 않도록 트래픽 분산

 

3.2. 스위치(Switch) 방식

 스위치가 프레임을 전달하는 방식에 따라 Store and Forwarding, Cut-through, Fragment Free가 있다.

◍ Store and Forwarding: 데이터를 모두 받은 후 스위칭하는 방식

◍ Cut-through: 데이터의 목적지 주소만을 확인한 후 바로 스위칭하는 방식

◍ Fragment Free: Store and Forwarding 과 Cut-through 방식의 장점을 결합한 방식

 

3.3. 백본 스위치(Backbone Switch)

 여러 네트워크들을 연결할 때 중추적 역할을 하는 네트워크를 백본(Backbone)이라하고, 백본에서 스위칭 역할을 하는 장비를 백본 스위치라고 한다. 백본 스위치는 모든 패킷이 지나가는 네트워크의 중심에 배치한다.

 대규모 트래픽을 처리하려면 고성능의 백본 스위치를 사용해야 한다. Layer 중에 주로 L3 스위치가 백본 스위치의 역할을 한다.

 

3.4. Hierarchical 3 Layer 모델

 네트워크 구성 시 사용되는 모델 중 하나로 모델은 네트워크 구성 시 사용되는 모델의 한 종류로, 액세스 계층, 디스트리뷰션 계층, 코어 계층으로 나뉜다.

 

Hierarchical 3 Layer 모델

 

액세스 계층

(Access Layer)

◍ 사용자가 네트워크에 접속할 때 최초로 연결되는 지점

◍ 사용자로부터 오는 통신을 집약해서 디스트리뷰션 계층으로 전송

◍ 액세스 계층에 배치되는 장비는 성능은 낮아도 되지만 포트는 사용자 수 만큼 있어야 함

◍ L2 스위치 사용

디스트리뷰션 계층

(Distribution Layer)

◍ 액세스 계층의 장치들이 연결되는 지점

◍ 액세스 계층에서 오는 통신을 집약해서 코어 계층으로 전송

◍ 라우터, L3 스위치를 사용하여 LAN 간 라우팅 기능 수행

◍ 라우터, L3 스위치 사용

코어 계층 

= 백본 계층

(Core Layer)

◍ 디스트리뷰션 계층에서 오는 통신을 집약해 인터넷에 연결하는 계층

◍ 백본 스위치를 사용하기 때문에 백본 계층이라고도 함

◍ 전자우편, 인터넷 접속, 화상 회의 등 기능 수행

 

 


4. 경로 제어 / 트래픽 제어

4.1. 경로 제어(Routing)의 개요

 경로 제어에는 송수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능이다. 최적 패킷 교환 경로란 어느 한 경로에 데이터의 양이 집중하는 것을 피하면서, 최저의 비용으로 최단 시간에 송신할 수 있는 경로를 의미한다.

 경로 제어는 경로 제어표(Routing Table)를 참조해서 이루어지며, 라우터에 의해 수행된다.

◍ 경로 제어 요소: 성능 기준, 경로 결정 시간과 장소, 정보 발생지, 경로 정보의 갱신 시간

4.2. 경로 제어 프로토콜(Routing Protocol)

 경로 제어 프로토콜이란 효율적인 경로 제어를 위해 네트워크 정보를 생성, 교환, 제어하는 프로토콜을 총칭한다. 종류에는 IGP, EPG, BGP가 있다.

 

1) IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)

하나의 자율 시스템(AS*) 내의 라우팅에 사용되는 프로토콜이다. RIP와 OSPF로 구성된다.

*자율 시스템(AS) : 하나의 도메인 속에 라우터들의 집합

 

RIP(Routing Information Protocol): 현재 가장 널리 사용되는 라우팅 프로토콜이다. 소규모 동종의 네트워크 내에서 효율적인 방법으로 최대 홉(Hop) 수를 15로 제한한다. 라우팅 정보를 30초마다 네트워크 내의 모든 라우터에 알리기 때문에 대규모 네트워크에서는 RIP을 사용할 수 없다.

 

OSPF(Open Shortest Path First Protocol): 대규모 네트워크에서 많이 사용되는 라우팅 프로토콜이다. 라우팅 정보에 변화가 생길 경우, 변화된 정보만 네트워크 내의 모든 라우터에 알린다.

 

2) EGP(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)

 자율 시스템(AS)간의 라우팅 프로토콜이다. 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜을 말한다.

 

IGP와 EGP  

 

3) BGP(Border Gateway Protocol)

 자율 시스템(AS)간의 라우팅 프로토콜로, EGP의 단점을 보완하기 위해 만들어졌다. 초기에 BGP 라우터들이 연결될 때에는 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만을 교환한다.

 

BGP

 

4.3. 트래픽 제어(Traffic Control)의 개요

 트래픽 제어는 네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능으로 흐름 제어, 폭주(혼합)제어, 교착상태 방지 기법이 있다.

 

1) 흐름 제어(Flow Control)

 흐름 제어란 네트워크 내의 원활한 흐름을 위해 송수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능이다. 송신 측과 수신 측 간의 처리 속도 또는 버퍼 크기의 차이에 의해 생길 수 있는 수신 측 버퍼의 오버플로를 방지하기 위한 기능이다.

 

정지 대기 

(Stop and Wait)

◍ 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식이다.

◍ 한 번에 하나의 패킷만을 전송할 수 있다.

슬라이딩 윈도우 

(Sliding Window)

◍ 확인 신호, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식이다.

◍ 수신 측의 확인 신호를 받지 않더라도 미리 정해진 패킷의 수만큼 연속적으로 전송하는 방식으로, 한 번에 여러 개의 패킷을 전송할 수 있어 효율이 좋다.

◍ 송신 측은 수신 측으로부터 확인 신호(ACK) 없이도 보낼 수 있는 패킷의 최대치를 미리 약속받는데, 이 패킷의 최대치가 윈도우 크기(Window Size)를 의미한다.

◍ 윈도우 크기(Window Size*)는 상황에 따라 변한다. 즉, 수신 측으로부터 이전에 송신한 패킷에 대한 긍정 수신 응답(ACK)이 전달된 경우 윈도우 크기는 증가하고, 수신 측으로부터 이전에 송신한 패킷에 대한 부정 수신 응답(NAK)이 전달된 경우 윈도우 크기는 감소한다.


* Window Size: 수신 측의 확인 신호 없이도 송신 측이 보낼 수 있는 패킷 최대치를 미리 약속한 것​

 

2) 폭주(혼잡) 제어(Congestion Control)

흐름 제어가 송수신 측 사이의 패킷 수를 제어하는 기능이라면, 폭주 제어는 네트워크 내의 패킷 수를 조절하여 네트워크의 오버플로를 방지하는 기능을 한다.

 

느린 시작

(Slow Start)

◍ 윈도우의 크기를 1,2,4,8,... 과 같이 2배씩 지수적으로 증가시켜 초기에는 느리지만 갈수록 빨라진다.

◍ 전송 데이터의 크기가 임계 값에 도달하면 혼잡 회피 단계로 넘어간다.

혼잡 회피

(Congestion Avoidance)

◍ 느린 시작(Slow Start)의 지수적 증가가 임계 값에 도달되면 혼잡으로 간주하고 회피를 위해 윈도우의 크기를 1씩 선형적으로 증가시켜 혼잡을 예방하는 방식이다.

 

3) 교착상태(Dead Lock) 방지

 교착상태란 교환기 내에 패킷들을 축적하는 기억 공간이 꽉 차 있을 때 다음 패킷들이 기억 공간에 들어가기 위해 무한정 기다리는 현상을 말한다. 패킷이 같은 목적지를 갖지 않도록 할당하고, 교착상태 발생 시에는 교착상태에 있는 한 단말장치를 선택하여 패킷 버퍼를 폐기한다.

 

 


5. 소프트웨어 관련 신기술

5.1. 인공지능 (AI, Artificial Intelligence)

 인공지능(AI)은 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템이다. 프로그래밍 순서에 따라 작업하는 기존 시스템과 달리, 더 유연한 문제 해결을 지원한다. 

 응용 분야는 신경망, 퍼지, 패턴 인식, 전문가 시스템, 자연어 인식, 이미지 처리, 컴퓨터 시각, 로봇 공학 등 다양하며 농업 등의 기초 산업과 결합되어 활용되기도 한다.

개발 언어로는 리스프(LISP), 프롤로그(PROLOG) 등이 있다.

 

5.2. 뉴럴링크 (Neuralink)

 일론 머스크가 설립한 회사로 사람의 뇌와 컴퓨터를 결합하는 기술 개발을 목적으로 한다.  뉴럴링크가 개발하고 있는 기술은 작은 전극을 뇌에 이식해서 생각을 업/다운로드하는 것이다. 2021년 4월에는 원숭이 뇌에 이식한 뉴럴링크로 게임을 조작하는 실험에 성공했다.

 또한 뉴럴링크에서 개발하는 기술에는 Direct Cortical Interface가 있는데, 이는 사람이 AI에 대항할 수 있도록 더 높은 수준의 기능을 위해 컴퓨터와 뇌를 연결해야 한다는 개념이다.

 

5.3. 딥 러닝 (Deep Learning)

 딥 러닝은 인간의 두뇌를 모델로 만들어진 인공 신경망(ANN; Artificial Neural Network)을 기반으로 하는 기계 학습 기술이다. 컴퓨터가 마치 사람처럼 스스로 학습할 수 있어 특정 업무를 수행할 때 정형화된 데이터를 입력받지 않고 스스로 필요한 데이터를 수집, 분석하여 고속으로 처리할 수 있다.

 

5.4. 전문가 시스템 (Expert System)

 의료 진단 등과 같은 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램이다. 인간의 지적 활동과 경험을 통해 축적된 전문 지식과 추론 규칙을 활용하여 문제 해결한다.

 지식 베이스(Knowledge Base)라는 DB와 지식 베이스에 기초하여 추론하는 추론 기구(Inference Engine)가 구성 요소에 포함된다. 지식 베이스는 구체적 사실과 규칙을 제공하고, 추론 기구는 결론 도출을 위한 추론 능력을 제공한다. 

 

5.5. 증강 현실 (AR; Augmented Reality)

 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술로, 혼합현실(MR; Mixed Reality)이라고도 부른다. 모바일에서는 증강현실이 위치 기반 서비스(LBS) 분야에 할발히 이용되고 있다. 감성 측면에서의 만족도도 높아 방송 외에 다양한 분야에 응용이 가능하다.

 

5.6. 블록체인 (Blockchain)

 블록체인은 P2P(Peer-to-Peer) 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자(Peer)의 디지털 장비에 분산 저장하는 기술이다. 비트코인이 블록체인의 가장 대표적인 예이며, 주식 거래 등 다양한 금융거래에 사용이 가능하다.

 일정 시간 동안 반수 이상의 디지털 장비에 저장된 거래 내역을 서로 교환/확인/승인하는 과정을 거쳐 디지털 서명으로 동의한 금융 거래 내역만 하나의 블록으로 생성한다. 이 블록은 기존 블록체인에 연결되고 다시 복사되어 각 사용자의 디지털 장비에 분산하여 저장된다. 기존처럼 중앙 집중형 서버에 거래 정보를 저장할 필요가 없어서 관리 비용 절감과 해킹의 위험이 줄어 안전성이 향상된다는 장점을 가지고 있다. 

 

5.7. 분산 원장 기술 (DLT, Distributed Ledger Technology)

 분산 원장 기술(DLT)은 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고 P2P 망내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장을 의미한다.

 집중화된 시스템을 유지 및 관리할 필요가 없어서, 해킹 및 위변조의 위험도가 낮고, 따라서 효율성과 보안성에서 유리하다. 대표적인 예시가 블록체인 기술이다.

 

5.8. 해시 (Hash)

 해시는 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 말한다. 해시는 데이터 암호화가 아닌 데이터의 무결성을 검증하기 위한 방법으로 사용된다.

 대칭, 비대칭 암호화 기법과 함께 사용되어 전자화폐, 전자서명 등의 다양한 방면에서 활용되고 있다.

 

5.9. 양자 암호키 분배 (QKD; Quantum Key Distribution)

 양자 암호키 분배(QKD)는 양자 통신을 위해 비밀키를 분배하여 관리하는 기술로, 두 시스템이 암호 알고리즘 동작을 위한 비밀키를 안전하게 공유하기 위해 양자 암호키 분배 시스템을 설치하여 운영하는 방식으로 활용된다. 키 분배를 위해 얽힘 상태(Entanglement) 광자 또는 단일 광자를 이용한다.

 

5.10. 프라이버시 강화 기술 (PET; Privacy Enhancing Technology)

 개인 정보 위험 관리 기술이다. 암호화, 익명화등 개인 정보를 보호하는 기술에서, 사용자가 직접 개인정보를 통제하기 위한 기술까지 다양한 프라이버시 보호 기술을 통칭한다.

 

5.11. 디지털 저작권 관리 (DRM; Digital Rights Management)

 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 저작권을 보호를 위해 데이터의 안전한 배포를 활성화하거나 불법 배포를 방지하기 위한 시스템이다. 데이터를 암호화하여 인증된 사용자만 접속할 수 있게 하거나, 디지털 워터마크의 사용한다.

 

5.12. 공통 평가 기준 (CC; Common Criteria)

 ISO 15408 표준으로 채택된 정보 보호 제품 평가 기준이다. 정보화 순기능 역할을 보장하기 위해 정보화 제품의 정보보호 기능과 이에 대한 사용 환경 등급을 정하는 기준이다. 정보 시스템에 대한 평가 기준을 국가 간 상호 협정으로 통일 및 체결한다.

 

5.13. 개인정보 영향 평가 제도 (PIA; Privacy Impact Assessment)

 개인 정보를 활용하는 새로운 정보 시스템의 도입과 기존 정보 시스템의 중요한 변경 시 시스템 구축 및 운영 기업이 고객은 물론 국민 사생활에 미칠 영향에 대해 미리 조사/분석/평가하는 제도이다. 

 개인 정보 침해 위험성을 사전에 발견해 정보 시스템 구축 및 운영에 시행 착오를 예방하고 효과적인 대응책 수립을 위해 도입되었다. 때문에 개인 정보 보호법에 의해 공공기관은 해당 제도를 의무적으로 도입하고 있다.

 

5.14. 그레이웨어 (Grayware)

 소프트웨어를 제공하는 입장에서는 악의적이지 않은 유용한 소프트웨어라고 주장할 수 있지만 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 애드웨어, 트랙웨어, 기타 악성 코드나 악성 공유웨어를 말한다. 대표적으로 애드웨어 (Adware*), 트랙웨어 (Trackware*), 기타 악성 코드가 있다. 

* 애드웨어: 소프트웨어 자체에 광고를 포함하여 이를 보는 대가로 소프트웨어를 무료로 사용하는 것이다.

* 트랙웨어: 적절한 사용자 동의 없이 사용자 정보를 수집하는 프로그램, Spyware라고도 한다.

 

5.15. 매시업 (Mashup)

 매시업은 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술이다. 즉 다수의 정보원이 제공하는 콘텐츠를 조합하여 하나의 서비스로 제공하는 웹 사이트 또는 웹 애플리케이션을 말한다. 구글 지도에 부동산 매물 정보를 결합한 구글의 하우징맵스(HousingMaps)가 대표적인 메시업이다.

 

5.16. 리치 인터넷 애플리케이션 (RIA; Rich Internet Application)

 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML 보다 역동적이고 인터랙티브한 웹페이지를 제공하는 신개념의 플래시 웹페이지 제작 기술이다

 Flash와 Flex 같은 멀티미디어 도구와 DB가 연동되는 단일 인터페이스를 통해 웹 페이지 제공한다.

 

5.17. 시맨틱 웹 (Semantic Web)

 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹이다. 핵심 기술은 자원 서술 기술(웹 자원을 서술), 지식 서술 기술(온톨로지), 에이전트 기술(통합 운영)이 있다.

 

5.18. 증발품 (Vaporware)

 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게 판매되거나 배포되지 않고 있는 소프트웨어이다. 새로운 소프트웨어의 판매나 배포를 하지 않거나 지연시키고 있는 것을 풍자하여 일컫는 말로 사용한다. 

 

5.19. 오픈 그리드 서비스 아키텍처 (OGSA; Open Grid Service Architecture)

 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준이다. 웹 서비스 표준을 준수하며 기존 웹 개발 툴들을 그대로 사용할 수 있는 장점이다.

 

5.20. 서비스 지향 아키텍처 (SOA; Service Oriented Architecture)

 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처이다. 정보를 누구나 이용 가능한 서비스로 간주하고 연동과 통합을 전제로 아키텍처를 구축한다. 

 

◍ SOA 2.0: 기존 개념에 EDA(이벤트 기반 아키텍처)를 더해 비즈니스에서 발생하는 각 상황을 실시간으로 처리한다.

 

5.21. 서비스형 소프트웨어 (SaaS; Software as a Service)

 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어이다. 하나의 플랫폼을 이용해 다수의 고객에게 소프트웨어 서비스를 제공하고, 이용 대가로 돈을 지불한다. 

 기업 입장에서 새로운 소프트웨어 기능을 구매하는 것에 대한 비용을 줄여, 인프라 투자와 관리 부담을 덜 수 있다.

 

5.22. 소프트웨어 에스크로(임치) (Software Escrow)

 소프트웨어 개발자의 지식재산권을 보호하고 사용자는 저렴한 비용으로 소프트웨어를 안정적으로 사용 및 유지보수 받을 수 있도록 소스 프로그램과 기술 정보 등을 제3의 기관에 보관하는 것이다.

 소프트웨어 에스크로의 목적은 소프트웨어 저작재산권자의 지식재산권 보호, 사용자 권리 보장하는 것이다.

 

5.23. 복잡 이벤트 처리 (CEP; Complex Event Processing)

 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법이다. 대용량 데이터 스트림에 대한 요구에 실시간으로 대응하기 위해 개발되었다.

 

5.24. 디지털 트윈(Digital Twin)

 현실 속 사물을 소프트웨어로 가상화한 모델로, 다양항 상황에 대한 모의 실험을 위해 사용한다. 자동차, 항공 등 여러 분야에서 주목 받고 있다.

 

 


6. 소프트웨어 개발 보안

6.1. 소프트웨어 개발 보안의 개요

 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다.

 데이터의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 유지하는 것을 목표로 한다.

 

1) 소프트웨어 보안 취약점이 발생하는 경우

◍ 보안 요구사항이 정의되지 않은 경우

◍ 소프트웨어 설계 시 논리적 오류가 포함된 경우

◍ 기술 취약점을 갖고 있는 코딩 규칙을 적용한 경우

◍ 소프트웨어의 배치가 적절하지 않은 경우

◍ 보안 취약점 발견 시 적절하게 대응하지 못한 경우

 

2) 안전한 소프트웨어 개발을 위한 수행 작업

◍ 참여 관련자들의 역할과 책임을 명확히 정의하고, 충분한 보안 교육 실시

◍ 소프트웨어 개발 생명 주기(SDLC)의 각 단계마다 보안 활동 수행

◍ 소프트웨어 개발 보안을 위한 표준을 확립

◍ 재사용이 가능한 보안 모듈을 만들어 유사한 소프트웨어 개발에 사용될 수 있도록 한다.

◍ 새로운 소프트웨어 개발 프로젝트에 사용될 수 있도록 보안 통제의 효과성 검증을 실시한다.

 

6.2. 소프트웨어 개발 보안 관련 기관

1) 행정안전부

◍ 소프트웨어 개발 보안 정책 총괄

◍ 소프트웨어 개발 보안 관련 법규, 지침, 제도 정비

◍ 소프트웨어 보안 약점을 진단하는 인재 양성 및 관련 업무 수행

2) 한국인터넷진흥원(KISA)

◍ 소프트웨어 개발 보안 정책 및 가이드 개발

◍ 소프트웨어 개발 보안에 대한 기술 지원, 교육 과정 및 자격 제도 운영

3) 발주 기관

◍ 소프트웨어 개발 보안의 계획 수립

◍ 소프트웨어 개발 보안 사업자 및 감리법인 선정

◍ 소프트웨어 개발 보안의 준수 여부 점검

4) 사업자

◍ 소프트웨어 개발 보안 관련 기술 수준 및 적용 계획 명시

◍ 소프트웨어 개발 보안 관련 인력 대상 교육 실시

◍ 소프트웨어 개발 보안 가이드 참조 및 개발

◍ 자체적으로 보안약점 진단 및 제거

◍ 소프트웨어 보안약점과 관련된 시정 요구사항 이행

5) 감리법인

◍ 감리 계획을 수립하고 협의

◍ 소프트웨어 보안 약점의 제거 여부 및 조치 결과 확인

 

 


7. 소프트웨어 개발 직무별 보안 활동

7.1. 소프트웨어 개발 직무별 보안 활동

 안전한 소프트웨어 개발을 위해서는 프로젝트 관련자들이 보안 활동을 수행할 수 있도록 각 직무별로 수행해야 할 보안 활동을 정의해야 한다. 소프트웨어 개발 참여자의 직무는 프로젝트 관리자, 요구사항 분석가, 아키텍트, 설계자, 구현 개발자, 테스트 분석가, 보안 감사자로 구분한다.

 

7.2. 프로젝트 관리자 (Project Manager)

◍ 응용 프로그램에 대한 보안 전략을 조직 구성원들에게 전달한다. 

◍ 조직 구성원들에게 응용 프로그램 보안 영향을 이해시킨다. 

◍ 조직의 상태를 모니터링 한다.

 

7.3. 요구사항 분석가 (Requirement Specifier)

◍ 아키텍트가 고려해야 할 보안 관련 비즈니스 요구사항을 설명한다.

◍ 프로젝트 팀이 고려해야 할 구조 정의 및 해당 구조에 존재하는 자원에 대한 보안 요구사항을 정의한다.

 

7.4. 아키텍트(Architect)

◍ 보안 오류가 발생하지 않도록 보안 기술 문제를 충분히 이해한다.

◍ 시스템에 사용되는 모든 리소스 정의 및 각 리소스별로 적절한 보안 요구사항을 적용한다.

 

7.5. 설계자(Designer)

◍ 특정 기술에 대해 보안 요구사항의 만족성 여부를 확인한다.

◍ 문제 발생 시 최선의 문제 해결 방법을 결정한다.

◍ 애플리케이션 보안 수준에 대한 품질 측정을 지원한다.

◍ 많은 비용이 필요한 수정 요구사항을 최소화하기 위한 방법을 제공한다.

◍ 다른 소프트웨어와 통합할 때 발생할 수 있는 보안 위험에 대해 이해해야 한다.

◍ 소프트웨어에서 발견된 보안 위협에 대해 적절히 대응한다.

 

7.6. 구현 개발자(Implementer)

◍ 구조화된 소프트웨어 개발 환경에서 프로그램을 원활히 구현할 수 있도록 시큐어 코딩 표준을 준수하여 개발한다.

◍ 다른 사람이 소프트웨어의 안전 여부를 쉽게 확인할 수 있도록 문서화 한다.

 

7.​7. 테스트 분석가(Test Analyst)

 

◍ 소프트웨어 개발 요구사항과 구현 결과를 반복적으로 확인한다.

◍ 테스트 분석가는 반드시 보안 전문가일 필요는 없지만 보안 위험에 대한 학습이나 툴(Tool) 사용법 정도는 숙지하고 있어야 한다.

 

 7.8. 보안 감시자(Security Auditor)

◍ 소프트웨어 개발 프로젝트의 현재 상태의 보안을 보장한다.

◍ 요구사항 검토 시 요구사항의 적합성과 완전성을 확인한다.

◍ 소프트웨어 개발 프로젝트의 전체 단계에서 활동한다.

◍ 설계 단계에서는 보안 문제로 이어질 수 있는 사항이 있는지 확인한다.

◍ 구현 단계에서는 보안 문제가 있는지 확인한다.

 

 


8. 소프트웨어 개발 보안 활동 관련 법령 및 규정 

8.1. 개인정보 보호 관련 법령

1) 개인정보 보호법: 개인정보의 처리 및 보호에 관한 사항을 정함으로써 개인의 자유와 권리를 보호한다.

2) 정보통신망 이용촉진 및 정보보호 등에 관한 법률: 정보통신망의 이용 촉진 및 정보 통신 서비스를 이용하는 이용자들의 개인정보를 보호한다.

3) 신용정보의 이용 및 보호에 관한 법률: 개인 신용정보의 효율적 이용과 체계적인 관리를 통해 정보의 오남용을 방지한다.

4) 위치정보의 보호 및 이용 등에 관한 법률: 개인 위치정보의 효율적 이용과 체계적인 관리를 통해 정보의 오남용을 방지한다.

5) 표준 개인정보 보호 지침: 개인정보의 처리에 관한 기준, 개인정보 침해의 유형 및 예방조치 등에 관한 세부사항을 규정한다.

6) 개인정보의 안전성 확보 조치 기준: 개인정보 처리자가 개인정보를 처리하는데 있어 개인정보가 분실, 도난, 유출, 위조, 변조, 훼손되지 않도록 안전성 확보에 필요한 기술적, 관리적, 물리적 안전조치에 관한 최소한의 기준을 규정한다.

7) 개인정보 영향평가에 관한 고시: 개인정보 영향평가를 위한 평가기관의 지정, 영향평가의 절차 등에 관한 세부기준을 규정한다.

 

8.2. IT 기술 관련 규정

1) RFID 프라이버시 보호 가이드라인: RFID 시스템의 이용자들의 프라이버시를 보호

2) 위치정보의 보호 및 이용 등에 관한 법률: 개인 위치정보의 유출 및 오남용을 방지하기 위한 법률

3) 위치정보의 관리적, 기술적 보호조치 권고 해설서: 개인 위치정보의 누출, 변조 훼손 등을 방지하기 위해 위치정보 사업자 및 위치기반 서비스 사업자가 준수해야 하는 관리적, 기술적 보호조치의 구체적인 기준

4) 바이오정보 보호 가이드라인: 개인 바이오정보(지문, 홍채, 음성 등)의 보호와 안전한 활용을 위한 원칙 및 조치사항

5) 뉴미디어 서비스 개인정보 보호 가이드라인: 뉴미디어 서비스(클라우드, SNS 등) 이용 및 제공 시 개인정보의 침해사고를 예방하기 위한 준수사항

 

 


9. 하드웨어 관련 신기술

9.1. 고가용성(HA; High Availability)

 긴 시간동안 안정적인 서비스 운영을 위해 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘을 의미한다. 가용성을 극대화하는 방법으로는 클러스터, 이중화 등이 있다.

 

9.2. 3D Printing(Three Dimension Printing)

 대상을 평면으로 출력하는 것이 아니라 손으로 만질 수 있는 실제 물체로 만들어내는 것이다. 아주 얇은 두께로 한층씩 적층시켜 하나의 형태를 만들어내는 기술이다.

 

9.3. 4D Printing(Fourth Dimension Printing)

 특정 시간이나 환경 조건이 갖춰지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이 적용된 제품을 3D Printing하는 기술이다. 시간에 따라 인간의 개입 없이 변화해야 하므로 열/진동/습도/중력 등 다양한 환경이나 에너지원에 의한 자극을 받아 변하는 스마트 소재가 필요하다. 이를 위해 형상기억합금이나 나노 기술을 통한 전기회로를 내장하는 방법 등으로 제조한다.

 

9.4. RAID

 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분산 저장할 경우 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있으므로 디스크의 속도가 매우 향상되는데, 이 기술을 RAID라고 한다.

 다만, 어느 한 디스크에만 결함이 발생해도 전체 데이터에 손상을 준다. 때문에 이를 해결하기 위해 디스크 배열에 오류 검출 및 복구를 위한 여분의 디스크를 추가하여 오류 발생 시 원래 데이터로 복구하도록 한다.

 

9.5. 4K 해상도 

 차세대 고화질 모니터의 해상도를 지칭하는 용어이다. 일반적으로 가로 픽셀 수 3840, 세로 2160인 영상의 해상도를 말한다. 

 

9.6. 앤 스크린(N-Screen)

 N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스이다.

 

9.7. 컴패니언 스크린(Companion Screen)

 컴패니언 스크린은 앤 스크린의 한 종류로, TV 방송 시청 시 방송 내용을 공유하며 추가적인 기능을 수행할 수 있는 스마트폰, 태블릿 PC 등을 의미한다. 세컨드 스크린(Second Screen)이라고도 불린다.

 

9.8. 신 클라이언트 PC(Thin Client PC)

 하드디스크나 주변 장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터를 말하는 것으로, 서버 기반 컴퓨팅과 관계가 깊다.

 프로그램이 필요할 때마다 서버에 접속하여 소프트웨어를 내려받아서 사용한다. 기억장치가 없기 때문에 데이터는 서버 측에서 한번에 관리한다. 

 때문에 분실에 따른 정보 유출이 없고, 기존 PC 관리와 유지보수에 필요한 비용 절감이 가능하다.

 

9.9. 패블릿(Phablet)

 폰과 태블릿의 합성어로, 태블릿 기능을 포함한 5인치 이상의 대화면 스마트폰을 말한다.

 

9.10. C형 유에스비

 범용 인터페이스 규격인 유에스비의 표준 중 하나이다. 데이터 전송 속도가 초당 10기가비트이며, 전력은 최대 100W까지 전송할 수 있다. 전력 전송량이 증대됨에 따라 전원 케이블을 필요로 하던 주변기기들을 C형 유에스비만으로 연결할 수 있게 되면서 기기 간 연결의 편의성이 증대되었다.

 

9.11. 멤스(MEMS; Micro-Electro Mechanical Systems)

 초정밀 반도체 제조 기술을 바탕으로 센서, 액추에이터(Actuator) 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치이다.

 일반적으로 작은 실리콘 칩 위에 마이크로 단위의 작은 부품과 이들을 입체적으로 연결하는 마이크로 회로들로 구성된다. 초소형이면서 고도의 복잡한 동작을 하는 시스템이나 머신들에 사용된다. 

 

9.12. 트러스트존 기술(TrustZone Technology)

 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술이다. 보안이 필요한 데이터들을 취급하는 애플리케이션을 외부 공격에 노출하지 않고 OS 수준에서 보호하는 것이 가능하다.

 

9.13. 엠디스크(M-DISC)

 디스크 표면의 무기물층에 레이저를 이용해 자료를 조각해서 기록한다. 기존 염료층에 표시하는 방식과 달리 물리적으로 조각하는 방식이기 때문에 시간이 지나도 외부 요인에 영향을 받지 않는다

 한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장 장치이다. 디지털 비디오 디스크(DVD)와 블루레이 디스크(Blu Ray Disc)에 적용된다.

 

9.14. 멤리스터(Memristor)

 멤리스터는 메모리와 레지스터의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자이다. 전원 공급이 끊어져도 직전에 통과한 전류의 방향과 양을 기억하기 때문에 다시 전원 공급만 되면 그대로 복원됨

 

 


10. Secure OS

10.1. Secure OS의 개요

 Secure OS는 기존의 운영체제(OS)에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제를 의미한다. 보안 커널은 보안 기능을 갖춘 커널을 의미하며, TCB(Trusted Computing Base)를 기반으로 참조 모니터*의 개념을 구현하고 집행한다.

 보안 커널의 보호 대상에는 메모리와 보조기억장치, 그리고 그곳에 저장된 데이터, 하드웨어 장치, 자료 구조 등이 있다. 

 보호 방법을 구현하기 복잡한 것부터 차례대로 분류하면 다음과 같다.

◍ 암호적 분리(Cryptographic Separation): 내부 정보를 암호화하는 방법

◍ 논리적 분리(Logical Separation): 프로세스의 논리적 구역을 지정하여 구역을 벗어나는 행위를 제한하는 방법

◍ 시간적 분리(Temporal Separation): 동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생하는 보안 취약점을 제거하는 방법

◍ 물리적 분리(Physical Separation): 사용자별로 특정 장비만 사용하도록 제한하는 방법

 

* 참조 모니터: 보호대상의 객체에 대한 접근통제를 수행하는 추상 머신, 이것을 실제로 구현한 것이 보안 커널

 

10.2. 참조 모니터

 보호대상의 객체에 대한 접근통제를 수행하는 추상머신이며, 이것을 실제로 구현한 것이 보안 커널이다. 참조 모니터와 보안 커널은 다음 3가지 특징을 가진다.

◍ 격리성(Isolation): 부정 조작이 불가능해야 한다.

◍ 검증가능성(Verifiability): 적절히 구현되었다는 것을 확인할 수 있어야 한다.

◍ 완전성(Completeness): 우회가 불가능해야 한다.

 

10.3. Secure OS의 보안 기능

 Secure OS의 보안 기능에는 식별 및 인증, 임의적/강제적 접근 통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소 등이 있다.

◍ 식별 및 인증: 각 접근 주체에 대한 안전하고 고유한 식별 및 인증 기능

◍ 임의적 접근통제: 소속 그룹 또는 개인에 따라 부여된 권한에 따라 접근을 통제하는 기능

◍ 강제적 접근통제: 규칙에 따라 강제적으로 접근을 통제하는 기능

◍ 객체 재사용 보호: 메모리에 기존 데이터가 남아있지 않도록 초기화하는 기능

◍ 완전한 조정: 우회할 수 없도록 모든 접근 경로를 완전하게 통제하는 기능

◍ 신뢰 경로: 비밀번호 변경 및 권한 설정 등과 같은 보안 작업을 위한 안전한 경로 제공

◍ 감사 및 감사기록 축소: 모든 보안 관련 사건 및 작업을 기록(Log)한 후 보호하는 기능

 


11. DB 관련 신기술

11.1. 빅데이터(Big Data)

 빅데이터는 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합으로, 스마트 단말의 빠른 확산, 소셜 네트워크 서비스의 활성화, 사물 네트워크의 확대로 데이터 폭발이 더욱 가속화되고 있다.

 빅데이터를 효율적으로 분석함으로써 미래를 예측하고 최적의 대응 방안 탐색하며, 이를 수익으로 연결하는 새로운 가치 창출 때문에 주목 받고 있다. 

 

11.2. 브로드 데이터(Broad Data)

 다양한 채널에서 소비자와 상호 작용을 통해 생성된, 기업 마케팅에 있어 효율적이고 다양한 데이터이며 이전에 사용하지 않거나 알지 못했던 새로운 데이터나, 기존 데이터에 새로운 가치가 더해진 데이터를 말한다.

 단순히 대량의 자료를 뜻하는 빅데이터와는 달리, 브로드 데이터는 다양한 정보를 뜻한다. 소비자의 SNS 활동이나 위치 정보등이 여기에 속한다. 

 

11.3. 메타 데이터(Meta Data)

 일련의 데이터를 정의하고 설명해 주는 데이터이다. 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미하고, HTML 문서에서는 메타 애그 내의 내용이 메타 데이터이다.

 

 여러 용도로 사용되나 주로 빠르게 검색하거나 내용을 간략하고 체계적으로 하기 위해 많이 사용된다.

 

11.4. 디지털 아카이빙(Digital Archiving)

 디지털 아카이빙은 디지털 정보 자원을 장기적으로 보존하기 위한 작업을 말한다. 아날로그 콘텐츠는 디지털로 변환한 후 압축해서 저장하고, 디지털 콘텐츠도 체계적으로 분류하고 메타 데이터를 만들어 DB화하는 작업이다.

 늘어나는 정보 자원의 효율적 관리와 이용을 위해 필요한 작업을 말한다.

 

11.5. 하둡(Hadoop)

 하둡은 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼이다. 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로, 구글, 야후 등에 적용되고 있다.'

 

11.6. 타조(Tajo)

 타조는 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트로, 우리나라가 주도하여 개발하고 있다. 

 타조는 하둡의 빅데이터를 분석할 때 맵리듀스(MapReduce)를 사용하지 않고 구조화 질의 언어(SQL)을 사용하여 하둡 분산 파일 시스템(HDFS; Hadoop Distributed File System) 파일을 바로 읽어낼 수 있다. 타조는 대규모 데이터 처리와 실시간 상호 분석에 모두 사용할 수 있다.

 

11.7. 데이터 다이어트(Data Diet)

 데이터 다이어트는 데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 저장하는 작업이다.

 

 


12. 회복 / 병행제어

12.1. 회복(Recovery)

 회복은 트랜잭션을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업이다.

 

1) 장애의 유형

◍ 트랜잭션 장애: 입력 데이터 오류, 불명확한 데이터, 시스템 자원 요구의 과다 등 트랜잭션 내부의 비정상적인 상황으로 인하여 프로그램 실행이 중단되는 현상

◍ 시스템 장애: 데이터베이스에 손상을 입히지는 않으나 하드웨어 오동작, 소프트웨어의 손상, 교착상태 등에 의해 모든 트랜잭션의 연속적인 수행에 장애를 주는 현상

◍ 미디어 장애: 저장장치인 디스크 블록의 손상이나 디스크 헤드의 충돌 등에 의해 데이터베이스의 일부 또는 전부가 물리적으로 손상된 상태

 

2) 회복 관리기(Recovery Management)

 회복 관리기는 DBMS의 구성 요소이다. 트랜잭션 실행이 성공적으로 완료되지 못하면 트랜잭션이 데이터베이스에 생성했던 모든 변화를 취소(Undo)시키고, 트랜잭션 수행 이전의 원래 상태로 복구하는 역할을 담당한다.

 메모리 덤프, 로그를 이용하여 회복을 수행한다

 

12.2. 병행제어(Concurrency Control)

 병행제어란 다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것이다.

 

▶ 병행제어의 목적

◍ 데이터베이스의 공유를 최대화한다.

◍ 시스템의 활용도를 최대화한다.

◍ 데이터베이스의 일관성을 유지한다.

◍ 사용자에 대한 응답 시간을 최소화한다.

 

12.3. 병행수행의 문제점

 병행제어 기법에 의한 제어 없이 트랜잭션들이 데이터베이스에 동시에 접근하도록 허용할 경우 갱신 분실, 비완료 의존성, 모순성, 연쇄 복귀 등의 문제점이 발생한다.

 

갱신 분실(Lost Update): 두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상

비완료 의존성(Uncommitted Dependency): 하나의 트랜잭션 수행이 실패한 후 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상, 임시 갱신이라고도 한다.

모순성(Inconsistency): 두 개의 트랜잭션이 병행수행될 때 원치 않은 자료를 이용함으로써 발생하는 문제이다, 불일치 분석(Inconsistent Analysis)이라고도 한다.

연쇄 복귀(Cascading Rollback): 병행수행되던 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback하는 경우 다른 트랜잭션도 함께 Rollback 되는 현상이다.

 

 


13. 데이터 표준화

13.1. 데이터 표준화의 정의

 데이터 표준화는 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것을 의미한다.

 데이터 표준화 작업을 통해 사용자가 데이터를 정확히 이해하고 활용할 수 있도록 데이터 용어 및 항목 이름이 중복되지 않고 직관적이며 공통된 의미로 전달되도록 표준 항목명을 부여해야 한다.

 엔티티, 속성, 테이블, 컬럼 등 데이터 요소에서 사용되는 단어에 대해 일정한 규칙이 적용되는 것이 바람직하다. 

 데이터 표준화의 구성 요소에는 데이터 표준, 데이터 관리 조직, 데이터 표준화 절차가 있다.

 

13.2. 데이터 표준

 데이터 표준은 데이터 모델이나 DB에서 정의할 수 있는 모든 오브젝트를 대상으로 데이터 표준화를 수행해야 한다.

 

◍ 표준 단어: 업무에서 사용하고 일정한 의미를 갖고 있는 최소 단위의 단어를 의미한다.

◍ 표준 데이터: 문자형, 숫자형, 날짜형, 시간형과 같이 컬럼을 성질에 따라 그룹핑한 개념

◍ 표준 코드: 선택할 수 있는 값을 정형화하기 위해 기준에 맞게 이미 정의된 코드 값으로, 도메인의 한 유형이다.

◍ 표준 용어: 단어, 도메인, 코드 표준이 정의되면 이를 바탕으로 표준 용어를 구성한다.

 

13.3. 데이터 관리 조직

 데이터 관리 조직은 데이터 표준 원칙이나 데이터 표준의 준수 여부 등을 관리하는 사람들로, 대표적으로 데이터 관리자가 있다.

 데이터 관리자는 조직 내의 데이터에 대한 정의, 체계화, 감독 등의 업무를 담당한다.

 

▶ 데이터 관리자와 데이터베이스 관리자 비교

 

구분

데이터 관리자(DA)

데이터베이스 관리자(DBA)

관리 대상

데이터 모델, 각종 표준

데이터베이스

주요 업무

추가/수정 등 사용자 요구사항을 데이터에 반영, 메타 데이터 정의

데이터베이스 관리

품질 관리

데이터 표준 관리 및 작용

데이터의 정합성 관리

13.4. 데이터 표준화 절차

 데이터 표준화 요구사항 수집, 데이터 표준 정의, 데이터 표준 확정, 데이터 표준 관리 순으로 진행된다.

 

① 데이터 표준화 요구사항 수집: 데이터 표준화와 관련된 요구사항 수집, 시스템 별 데이터 표준 수집, 표준화 현황 진단

② 데이터 표준 정의: 표준화 원칙 정의, 표준 용어/단어/도메인/코드 등 데이터 표준 정의

③ 데이터 표준 확정: 데이터 표준 검토, 확정, 공표

④ 데이터 표준 관리: 데이터 표준 적용, 변경, 준수 검사 등 데이터 표준 관리 절차 수립, 데이터 표준 이행

13.5. 데이터 표준화의 대상

 데이터 표준화의 대상에는 데이터 명칭, 데이터 정의, 데이터 형식, 데이터 규칙(발생할 수 있는 데이터 값을 사전에 지정)이 있다.

 

◍ 데이터 명칭: 데이터를 유일하게 구별할 수 있는 유일성, 의미 전달의 충분성, 그리고 업무적 보편성을 갖는 이름으로 정의해야 함

 

◍ 데이터 정의: 데이터를 제3자의 입장에서도 쉽게 이해할 수 있도록 해당 데이터가 의미하는 범위 및 자격 요건 등을 규정

◍ 데이터 형식: 업무 규칙 및 사용 목적과 유사한 데이터에 대해 일관되게 데이터 형식을 적용함으로써 데이터 입력 오류나 통제 위험 등을 최소화

◍ 데이터 규칙: 기본 값, 허용 값과 범위 등의 데이터 값을 사전에 지정함으로써 데이터 정합성과 완전성을 향상시킴

13.6. 데이터 표준화의 기대 효과

 동일한 데이터에 대해 동일한 명칭을 지정하면 명확한 의사소통이 가능하다. 표준화된 데이터를 사용하면 필요한 데이터의 의미나 위치 등을 쉽게 파악할 수 있다. 입력 오류를 방지하고 잘못된 데이터로 인한 의사 결정의 오류를 줄여 데이터 품질을 향상시킬 수 있다.

 데이터 표준에 따라 데이터를 전사적으로 관리하면 시스템 간 데이터 공유 시 데이터 변환이나 정제 작업을 수행하지 않아도 된다. 때문에 향후 데이터 유지보수 및 운영의 효율성, 관리 비용을 절감할 수 있다.