Search
Duplicate

11-1. 응용 SW 기초 기술 활용

생성일
2023/07/16 15:09
태그
응용 SW 기초 기술 활용

15. 네트워크 관련 장비

네트워크 인터페이스 카드 (NIC, Network Interface Card)

컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치
정보 전송 시, 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경한다.
이더넷 카드(LAN 카드) 혹은 네트워크 어댑터라고도 한다.

허브 (Hub)

한 사무실이나 가까운 거리의 컴퓨터를 연결하는 장치로, 각각의 회선을 통합하여 관리한다.
허브는 신호 증폭 기능을 하는 리피터의 역할을 포함한다.
허브 종류
더미 허브
네트워크에 흐르는 모든 데이터를 단순히 열걸하는 기능만 제공
스위칭 허브
네트워크상에 흐르는 데이터의 유무 및 흐름을 제어하여 각각의 노드가 허브의 최대 대역폭을 사용할 수 있는 지능형 허브

리피터 (Repeater)

거리가 증가할수록 감쇠하는 디지털 신호의 장거리 전송을 위해 수신한 신호를 재생시키거나 출력 전압을 높어 전송하는 장치
OSI 참조 모델의 물리 계층에서 동작하는 장비
전송 거리의 연장 또는 배선의 자유도를 높이기 위한 용도로 사용된다.

브리지 (Bridge)

LAN과 LAN을 연결하거나, LAN 안에서 컴퓨터 그룹을 연결하는 장치
네트워크의 수많은 단말기들에 의해 발생되는 트래픽 병목 현상을 줄일 수 있다.
네트워크를 분석적으로 구성할 수 있어 보안성을 높일 수 있다.
브리지를 이용한 서브넷(Subnet) 구성 시, 전송 가능한 회선 수는 브리지가 n개 일 때 n(n-1)/2 개 이다.

스위치 (Switch)

브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
하드웨어를 기반으로 처리하므로 전송 속도가 빠르다.
포트마다 서로 다른 전송 속도를 지원하게 제어할 수 있다.
수십에서 수백 개의 포트를 제공한다.
OSI 참조 모델의 데이터 링크에서 사용된다.

라우터 (Router)

브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가된 장치
서로 다른 LAN 또는 LAN과 WAN을 연결하는 기능도 한다.
OSI 참조 모델의 네트워크 계층에서 동작하는 장비이다.
3계층, 즉 네트워크 계층까지의 프로토콜 구조가 다른 네트워크 간의 연결을 위해 프로토콜 변환 기능을 수행한다.

게이트웨이 (Gateway)

OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치
LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할을 한다.
세션 계층, 표현 계층, 응용 계층 간을 연결하여 데이터 형식 변환, 주소 변환, 프로토콜 변환 등을 수행한다.

16. TCP/IP

프로토콜 (Protocol)

서로 다른 기기들 간의 데이터 교환을 원할하게 수행할 수 있도록 표준화시켜 놓은 통신 규약
기본 요소
구문 (Syntax)
전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정함
의미 (Semantics)
두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정함
시간 (Timing)
두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정함.
프로토콜의 기능
단편화와 재결합, 캡슐화, 흐름제어, 오류제어, 동기화, 순서제어, 주소지정, 다중화, 경로제어, 전송 서비스 등

TCP/IP (Transmission Control Protocol/Internet Protocol)

인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 표준 프로토콜
TCP
OSI 7계층의 전송 계층에 해당
신뢰성 있는 연결형 서비스를 제공
패킷의 다중화, 순서제어, 요류제어, 흐름제어 기능 제공
IP
OSI 7계층의 네트워크 계층에 해당
데이터그램을 기반으로 하는 비연결형 서비스를 제공
패킷의 분해/조립, 주소지정, 경로선택 기능 제공
연결형 통신
송수신 측 간을 논리적으로 연결한 후, 데이터를 전송하는 방식
가상 회선 방식이 대표적
데이터 전송의 안정성과 신뢰성이 보장되지만, 연결 설정 지연이 일어나며, 회선 이용률이 낮아질 수 있다.
비연결형 통신
송수신 측 간에 논리적 연결 없이 독립적으로 데이터를 전송하는 방식
데이터그램 방식이 대표적

TCP/IP의 구조

응용 계층의 주요 프로토콜

FTP (File Transfer Protocol)
컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고 받을 수 있도록 하는 원격 파일 전송 프로토콜
SMTP (Simple Mail Transfer Protocol)
전자 우편을 교환하는 서비스
TELNET
멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스
프로그램을 실행하는 등 시스템 관리 작업을 할 수 있는 가상의 터미널 기능을 수행함.
SNMP (Simple Network Management Protocol)
TCP/IP 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는데 사용되는 표준 통신 규약
DNS (Domain Name System)
도메인 네임을 IP 주소로 매핑하는 시스템
HTTP
월드와이드웹(WWW)에서 HTML 문서를 송수신 하기 위한 표준 프로토콜

전송 계층의 주요 프로토콜

TCP (Transmission Control Protocol)
양방향 연결형 서비스를 제공
가상 회선 연결 형태의 서비스를 제공
스트림 위주의 전달(패킷 단위)을 함
신뢰성 있는 경로를 확립하고 메시지 전송을 감독함
순서제어, 오류제어, 흐름제어 기능을 함
패킷의 분실, 손상, 지연이나 순서가 틀린 것 등이 발생할 때, 투명성이 보장되는 통신을 제공함
TCP 프로토콜의 헤더는 기본적으로 20Byte에서 60Byte까지 사용할 수 있는데, 선택적으로 40Byte를 더 추가할 수 있으므로, 최대 100Byte 까지 크기를 확장할 수 있음
UDP (User Datagram Protocol)
데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공함
TCP에 비해 상대적으로 단순한 헤더 구조를 가지므로, 오버헤드가 적고, 흐름제어나 순서제어가 없어 전송 속도가 빠름.
고속의 안정성 있는 전송 매체를 사용하여 빠른 속도를 필요료 하는 경우, 동시에 여러 사용자에게 데이터를 전달할 경우, 정기적으로 반복해서 전송할 경우에 사용함
실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용됨
UDP 헤더에는 Source Port Number, Destination Port Number, Length, Checksum 등이 포함됨
RTCP (Real-Time Control Protocol)
RTP (Real-Time Transport Protocol) 패킷의 전송 품질을 제어하기 위한 제어 프로토콜
세션 (Session)에 참여한 각 참여자들에게 주기적으로 제어 정보를 전송함
하위 프로토콜은 데이터 패킷과 제어 패킷의 다중화(Multiplexing)를 제공함
데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만을 제공함
RTCP 패킷은 항상 32비트의 경계로 끝남

인터넷 계층의 주요 프로토콜

IP (Internet Protocol)
전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능을 함
비연결형인 데이터그램 방식을 사용하는 것으로, 신뢰성이 보장되지 않음
ICMP (Internet Control Message Protocol)
IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 함.
헤더는 8바이트로 구성됨
IGMP (Internet Group Management Protocol)
멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용됨
ARP (Address Resolution Protocol)
호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(Mac Address)로 바꿈
RARP (Reverse Address Resolution Protocol)
ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 함

네트워크 액세스 계층의 주요 프로토콜

17. 네트워크 관련 신기술

네트워크 관련 신기술

IoT (Internet of Things, 사물 인터넷)
정보 통신을 기반으로 실세계(Physical World)와 가상 세계(VIrtual World)의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
M2M (Machine to Machinte, 사물 통신)
무선 통신을 이용한 기게와 기계 사이의 통신
변압기 원격 감시, 전기, 가스 등의 원격 검침, 무선 신용 카드 조회기, 무선 보안 단말기, 버스 운행 시스템, 위치 추적 시스템, 시설물 관리 등을 무선으로 통합하여 상호 작용하는 통신
모바일 컴퓨팅
휴대용 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
클라우드 컴퓨팅
각종 컴퓨터 자원을 중앙 컴퓨터에 두고, 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경
그리드 컴퓨팅 (Grid Computing)
지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 활용하는 기술
모바일 클라우드 컴퓨팅 (MCC)
소비자와 소비자 파트너가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 인프라를 구성하는 여러가지 정보와 자원을 공유하는 ICT 기술
인터클라우드 컴퓨팅 (Inter-Cloud Computing)
각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술
메시 네트워크 (Mesh Network)
차세대 이동 통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
대규모 디바이스의 네트워크 생성에 최적화 되어 있음
와이선 (Wi-SUN)
스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리(LPWA, Low-Power Wide Area) 통신 기술
NDN (Named Data Networking)
콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
클라이언트와 서버가 패킷의 헤더에 내장되어 있는 주소 정보를 이용하여 연결되던 기존의 IP 망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있음
NGN (Next Generation Network, 차세대 통신망)
ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망
유선망뿐만 아니라 이동 사용자를 목표로 하며, 이동 통신에서 제공하는 완전한 이동성(Full Mobility) 제공을 목표로 개발되고 있음
SDN (Softward Defined Networking, 소프트웨어 정의 네트워킹)
네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
NFC (Near Field Communication, 근거리 무선 통신)
고주파(HF)를 이용한 근거리 무선 통신 기술
아주 가까운 거리에서 양방향 통신을 지원하는 RFID 기술의 일종
UWB (Ultra WidBand, 초광대역)
짧은 거리에서 많은 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 함.
0.5m/W 정도의 저전력으로 많은 양의 데이터를 1km의 거리까지 전송할 수 있을 뿐만 아니라, 땅속이나 벽면 뒤로도 전송이 가능함
피코넷 (PICONET)
여러 개의 독립된 통신 장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
WBAN (Wireless Body Area Network)
웨어러블(Wearable) 또는 몸에 심는 (Implant) 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
GIS (Geographic Information System, 지리 정보, 시스템)
지리적인 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템
위성을 이용해 모든 사물의 위치 정보를 제공해줌
USN (Ubiquitious Sensor Network)
각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
필요한 모든 것에 RFID 태그를 부착하고, 이를 통하여 사물의 인식 정보는 물론 주변의 환경 정보까지 탐지하여 이를 네트워크에 연결하여 정보를 관리함
SON (Self Organizing Network, 자동 구성 네트워크)
주변 상황에 맞추어 스스로 망을 구성하는 네트워크
SON의 목적은 통신망 커버리지 및 전송 용량 확장의 경제성 문제를 해결하고, 망의 운영과 관리의 효율성을 높이는 것임.
애드 혹 네트워크 (Ad-hoc Network)
재난 환경과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크
망을 구성한 후, 단기간 사용되는 경우나 유선망을 구성하기 어령누 경우에 적합함
네트워크 슬라이싱 (Network Slicing)
네트워크에서 하나의 물리적인 코어 네트워크 인프라(Infrastructrue)를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술
3GPP를 포함한 여러 글로벌 이동 통신 표준과 단체가 선정한 5G(IMT-2020)의 핵심 기술 중 하나
저전력 블루투스 기술 (BLE, Bluetooth Low Energy)
일반 블루투스와 동일한 2.4 GHz 주파수 대역을 사용하지만, 연결되지 않은 대기 상태에서는 절전 모드를 유지하는 기술
지능형 초연결망
스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 과학기술정보통신부 주관 사업
파장 분할 다중화 (WDM, Wavelength Division Multiplexing)
광섬유를 이용한 통신 기술의 하나로, 파장이 서로 다른 복수의 신호를 보냄으로써 여러 대의 단말기와 통신 회선을 사용할 수 있도록 하는 것
파장이 다른 광선끼리는 서로 간섭을 일으키지 않는 성질을 이용한 기술
소프트웨어 정의 데이터 센터 (SDDC)
데이터 센터의 모든 자원을 가상화하여 인력의 개입 없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터
컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의함
다양한 소프트웨어 정의 기술이 사용됨
개방형 링크드 데이터 (LOD, Linked Open Data)
Linked Data와 Open Data의 함성어로, 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터를 의미함
웹상에 존재하는 데이터를 개별 URI(인터넷 식별자)로 식별하고, 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형

18. 네트워크 구축

네트워크 (Network)

2대 이상의 컴퓨터를 전화선이나 케이블 등으로 연결하여 자원을 공유하는 것
다른 컴퓨터의 데이터, 프로그램, 주변 장치, 인터넷 등을 공유하기 위해 사용한다.
네트워크 설치 구조는 장치들의 물리적 위치에 따라서 성형, 링형, 버스형, 계층형, 망형 으로 나뉘어진다.
네트워크는 사이트들이 분포되어 있는 지리적 범위에 따라 LAN과 WAN으로 분류된다.

성형 (Star, 중앙 집중형)

링형 (Ring, 루프형)

버스형(Bus)

계층형 (Tree, 분산형)

망형 (Mesh)

네트워크의 분류

근거리 통신망 (LAN)
회사, 학교, 연구소 등에서 비교적 가까운 거리에 있는 컴퓨터, 프린터, 저장 장치 등과 같은 자원을 연결하여 구성함
주로 자원 공유를 목적으로 사용함
사이트 간의 거리가 짧아 데이터의 전송 속도가 빠르고, 에러 발생율이 낮음
주로 버스형이나 링형 구조를 사용함
광대역 통신망 (WAN)
국가와 국가 혹은 대륙과 대륙 등과 같이 멀리 떨어진 사이트들을 연결하여 구성함
사이트 간의 거리가 멀기 때문에 통신 속도가 느리고, 에러 발생률이 높음
일정한 지역에 있는 사이트들을 근거리 통신망으로 연결한 후, 각 근거리 통신망을 연결하는 방식을 사용함.

LAN의 표준안

NAT (Network Address Translation, 네트워크 주소 변환)

1개의 정식 IP 주소에 대량의 가상 사설 IP 주소를 할당 및 연결하는 기능
1개의 IP 주소를 사용해서 외부에 접속할 수 있는 노드는 어느 시점에서 1개로 제한되는 문제가 있지만, IP 마스커레이드(Masquerade)를 이용하여 해결할 수 있다.
IP 마스커레이드는 리눅스의 NAT 기능으로, 리눅스 서버를 통해 다른 네트워크에 접속할 수 있도록 해준다.

19. 스위치

스위치(Switch)의 분류

스위치는 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치다.
스위치는 OSI 7계층의 Layer에 따라 L2, L3, L4, L7로 분류된다.
*로드밸런서(Load Balancer) : 특정 서버에만 부하가 발생하지 않도록 트래픽을 분산시켜주는 장비

스위칭(Switching) 방식

Store and Forwarding
데이터를 모두 받은 후 스위칭하는 방식
Cut-through
데이터의 목적지 주소만을 확인한 후 바로 스위칭하는 방식
Fagment Free
Store and Forwarding과 Cut-through 방식의 장점을 결합한 방식

백본 스위치 (Backbone Switch)

네트워크를 연결할 때 중추적 역할을 하는 네트워크를 백본(Backbone)이라 하고, 백본에서 스위칭 역할을 하는 장비를 백본 스위치 라고 한다.
모든 패킷이 지나가는 네트워크의 중심에 배치한다.
대규모 트래픽을 처리하려면 고성능의 백본 스위치를 사용해야 한다.
주로 L3 스위치가 백본 스위치의 역할을 한다.

Hierarchical 3 Layer 모델

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

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

경로 제어 (Routing)

송수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능
경로 제어표를 참조해서 이루어지며, 라우터에 의해 수행된다.
경로 제어 요소
성능 기준
경로의 결정 시간과 장소
정보 발생지
경로 정보의 갱신 시간

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

IGP (Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜
RIP (Routing Information Protocol)
현재 가장 널리 사용되는 라우팅 프로토콜로, 거리 벡터 라우팅 프로토콜 이라고도 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용된다.
소규모 동종의 네트워크 내에서 효율적인 방법
최대 홉 수를 15로 제한하므로, 15 이상의 경우는 도달할 수 없는 네트워크를 의미하는데 이것은 대규모 네트워크에서는 RIP를 사용할 수 없음을 의미한다.
라우팅 정보를 30초마다 네트워크 내의 모든 라우터에 알리며, 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주한다.
OSPF (Open Shortest Path First protocol)
RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용된다.
인터넷 망에서 이용자가 최단 경로를 선정할 수 있도록 라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 반영하여 최단 경로로 라우팅을 지원한다.
최단 경로 탐색에 다익스트라(Dijkstra) 알고리즘을 사용한다.
라우팅 정보에 변화가 생길 경우, 변화된 정보만 네트워크 내의 모든 라우터에 알린다.
하나의 자율 시스템에서 동작하면서 내부 라우팅 프로토콜의 그룹에 도달한다.
EGP (Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
자율 시스템 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
BGP (Border Gateway Protocol)
자율 시스템 간의 라우팅 프로토콜로, EGP의 단점을 보완하기 위해 만들어졌다.
초기에 BGP 라우터들이 연결될 때에는 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만을 교환한다.
*최적 패킷 교환 경로는 어느 한 경로에 데이터의 양이 집중되는 것을 피하면서, 최저의 비용으로 최단 시간에 송신할 수 있는 경로를 의미한다.
*경로제어표(Routing Table)은 일반적으로 라우팅 테이블이라고 하며, 다음 홉 주소, 메트릭, 목적지(수신지) 주소가 저장된다.
*자율 시스템(AS)은 하나의 도메인에 속하는 라우터들의 집합을 의미한다. 하나의 자율 시스템에 속한다는 것은 하나의 도메인에 속한다는 것과 같은 의미이다.
*홉(Hop)이란 데이터가 목적지까지 전달되는 과정에서 거치는 네트워크의 수를 의미한다.

트래픽 제어 (Traffic Control)

네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능
종류
흐름제어
혼합제어
교착 상태 방지

흐름 제어 (Flow Control)

네트워크 내의 원활한 흐름을 위해 송수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능
수신 측에서는 수신된 데이터를 버퍼에 저장한 후, 순차적으로 처리해서 상위 계층으로 전달하는데, 송신 측의 속도가 수신 측보다 빠르면 수신된 데이터 양이 제한된 버퍼를 초과할 수 있으며, 이로 인해 수신 데이터가 손실될 수 있다.
이러한 상황은 송신 측과 수신 측의 전송 속도를 적절히 조절하여 예방할 수 있는데, 이것을 흐름제어 라고 한다.

혼합 제어 (Congestion Control)

흐름제어가 송수신 측 사이의 패킷 수를 제어하는 기능이라면, 폭주 제어는 네트워크 내의 패킷 수를 조절하여 네트워크의 오버플로를 방지하는 기능을 한다.
송신 측에서 전송한 데이터는 수신 측에 도착할 때까지 여러 개의 라우터를 거치는데, 데이터의 양이 라우터가 처리할 수 있는 양을 초과하면 초과된 데이터는 라우터가 처리하지 못한다.
송신 측에서는 라우터가 처리하지 못한 데이터를 손실 데이터로 간주하고, 계속 재전송하게 되므로 네트워크는 더욱 더 혼잡하게 된다. 이러한 상황은 송신 측의 전송 속도를 적절히 조절하여 예방할 수 있는데 이것을 폭주 제어라고 한다.

21. SW 관련 신기술

SW 관련 신기술

인공지능
인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템
패턴 인식, 전문가 시스템, 로봇 공학 등
뉴럴링크 (Neuralink)
미국의 전기자동차 회사 테슬라의 CEO 일론 머스크가 사람의 뇌와 컴퓨터를 결합하는 기술을 개발하기 위해 설립한 회사
뉴럴링크가 개발하고 있는 기술은 ‘신경 레이스(Neural Lace)’로, 작은 전극을 뇌에 이식함으로써 생각을 업로드하고 다운로드 하는 것을 목표로 하고 있음
딥 러닝
인간의 두뇌를 모델로 만들어진 인공 신경망 (ANN, Artificial Neural Network)을 기반으로 하는 기계 학습 기술
전문가 시스템 (Expert System)
의료 진단 등과 같은 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램
증강현실 (AR)
실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술로, 혼합 현실(MR) 이라고도 부름
블록체인
P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자(Peer)의 디지털 장비에 분산 저장하는 기술
분산 원장 기술 (DLT, Distributed Ledger Technology)
중앙 관리자나 중앙 데이터 저장소가 존재하지 않고, P2P 망내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장
해시 (Hash)
임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것
양자 암호키 분해 (QKD, Quantum Key Distribution)
양자 통신을 위해 비밀키를 분배하여 관리하는 기술
두 시스템이 암호 알고리즘 동작을 위한 비밀키를 안전하게 공유하기 위해 양자 암호키 분배 시스템을 설치하여 운용하는 방식으로 활용
프라이버시 강화기술 (PET, Privacy Enhancing Technology)
개인정보 침해 위협을 관리하기 위한 핵심 기술
암호화, 익명화 등 개인정보를 보호하는 기술에서 사용자가 직적ㅂ 개인정보를 통제하기 위한 기술까지 다양한 사용자 프라이버시 보호 기술을 통칭함
공통 평가 기준 (CC, Common Criteria)
정보 보호 제품 평가 기준
정보화 순기능 역할을 보장하기 위해 정보화 제품의 정보 보호 기능과 이에 대한 사용 환경 등급을 정한 기준
개인정보 영향평가 제도 (PIA, Privacy Impact Assessment)
개인 정보를 활용하는 새로운 정보시스템의 도입 및 기존 정보시스템의 중요한 변경 시 시스템의 구축, 운영이 기업의 고객은 물론 국민의 사생활에 미칠 영향에 대해 미리 조사, 분석, 평가하는 제도
그레이웨어 (Grayware)
소프트웨어를 제공하는 입장에서는 악의적이지 않은 유용한 소프트웨어라고 주장할 수 있지만, 사용자 입장에서는 유용할 수도 있고, 악의적일 수도 있는 애드웨어, 트랙웨어, 기타 악성 코드나 악성 공유웨어를 말함.
매시업 (Meshup)
웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
즉, 다수의 정보원이 제공하는 컨텐츠를 조합하여 하나의 서비스로 제공하는 웹 사이트 또는 애플리케이션을 말함
리치 인터넷 애플리케이션 (RIA)
플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML 보다 역동적이고 인터랙티브한 웹 페이지를 제공하는 신개념의 플래시 웹 페이지 제작 기술
시멘틱 웹 (Semantic Web)
컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹
증발품 (Vaporware)
판매 계획 또는 배포 계획은 발표되었으나, 실제로 고객에게 판매되거나 배포되지 않고 있는 소프트웨어
오픈 그리드 서비스 아키텍처 (OGSA)
애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준
서비스 지향 아키텍처 (SOA)
기업의 소프트웨어 인프라인 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보 기술 아키텍처
SOA 기반 애플리케이션 구성 계층
표현(Presentation) 계층
업무 프로세스(Biz-Process) 계층
서비스 중간(Service Intermediary) 계층
애플리케이션 (Application) 계층
데이터 저장(Persistency) 계층
서비스형 소프트웨어 (SaaS, Software as a Service)
소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어
소프트웨어 애스크로 (Software Escrow)
소프트웨어 개발자의 지식재산권을 보호하고, 사용자는 저렴한 비용으로 소프트웨어를 안정적으로 사용 및 유지보수 할 수 있도록 소스 프로그램과 기술 정보 등을 제 3의 기관에 보관하는 것
복잡 이벤트 처리 (CEP, Complex Event Processing)
실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법
디지털 트윈 (Digital Twin)
현실 속의 사물을 소프트웨어로 가상화한 모델
자동차, 항공, 에너지, 국방, 헬스케어 등 여러 분야에서 주목 받고 있음
실제 물리적인 자산을 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있음
자산 최적화, 돌발 사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있음

22. 소프트웨어 개발 보안

소프트웨어 개발 보안

소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동
소프트웨어 개발 보안은 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 한다.

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

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

프로젝트 관리자 (PM)
응용 프로그램에 대한 보안 전략을 조직 구성원들에게 전달
조직 구성원들에게 으용 프로그램 보안 영향을 이해시킴
요구사항 분석가 (Requirement Specifier)
아키텍트가 고려해야 할 보안 관련 비즈니스 요구사항을 설명함
프로젝트 팀이 고려해야 할 구조 정의 및 해당 구조에 존재하는 자원에 대한 보안 요구사항을 정의함
아키텍트 (Architect)
보안 오류가 발생하지 않도록 보안 기술 문제를 충분히 이해함
시스템에 사용되는 모든 리소스 정의 및 각 리소스 별로 적절한 보안 요구사항을 정의함
설계자 (Designer)
특정 기술에 대해 보안 요구사항의 만족성 여부를 확인함
문제 발생 시 최선의 문제 해결 방법을 결정함
구현 개발자 (Implementer)
구조화된 소프트웨어 개발 환경에서 프로그램을 원활히 구현할 수 있도록 시큐어 코딩 표준을 준수하여 개발
테스트 분석가
소프트웨어 개발 요구사항과 구현 결과를 반복적으로 확인함
보안 감사자 (Security Auditor)
소프트웨어 개발 프로젝트의 현재 상태의 보안을 보장함
요구사항 검토 시 요구사항의 적합성과 완전성을 확인함

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

24. HW 관련 기술

HW 관련 기술

고가용성 (HA, High Availability)
긴 시간동안 안정적인 서비스 운영을 위해 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘
3D Printing
대상을 평면에 출력하는 것이 아니라 손으로 만질 수 있는 실체 물체로 만들어내는 것
아주 얇은 두께로 한층한층 쌓아 하나의 형태를 만들어 내는 기술을 이용함
4D Printing
특정 기능이나 환경 조건이 갖추어지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이 적용된 제품을 3D Printing 하는 기술
RAID (Redundant Array of Independent Disk)
여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분산 저장할 경우, 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있으므로, 디스크의 속도가 매우 향상되는데, 이 기술을 RAID 라고 함
4K 해상도
N-Screen
N개의 서로 다른 단말기에서 동일한 컨텐츠를 자유롭게 이용할 수 있는 서비스
Companion Screen
TV 방송 시청 시 방송 내용을 공유하여 추가적인 기능을 수행할 수 있는 스마트폰, 태블릿 PC 등을 의미
N-Screen의 한 종류로 세컨드 스크린이라 불림
Thin Client PC
하드디스크나 주변 장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터
서버 기반 컴퓨팅과 관계가 깊음
Phablet
폰과 태블릿의 합성어로, 태플릿 기능을 포함한 5인치 이상의 대화면 스마트폰
MEMS (Micro-Electro Mechanical Systems)
초정밀 반도체 제조 기술을 바탕으로 센서, Actuator 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치
TrustZone Technology
하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역을 분할하여 관리하는 하드웨어 기반의 보안 기술
M-DISC
한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장장치
디스크 표면의 무기물층에 레이저를 이용해 자료를 조각해서 기록
시간이 지나도 변하지 ㅇ낳는 금속 활자처럼 빛, 열, 습기 등의 외부 요인에 영향을 받지 않음
멤리스터 (Memristor)
메모리와 레지스터의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자
레지스터, 커패시터, 인덕터에 이어 네 번째 전자회로 구성 요소라 불리고 있음

25. Secure OS

Secure OS

기존의 운영체제에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제
보안 커널은 보안 기능을 갖춘 커널을 의미하며, TCB를 기준으로 참조 모니터의 개념을 구현하고 집행한다.
TCB (Trusted Computing Base)
운영체제, 하드웨어, 소프트웨어, 펌웨어 등 컴퓨터 시스템 내의 모든 장치가 보안 정책을 따르도록 설계한 보호 메커니즘
보호 방법을 구현하기 복잡한 것부터 차례로 분류하면 다음과 같다
암호적 분리 (Cryptogaphic Separation)
내부 정보를 암호화 하는 방법
논리적 분리 (Logical Separation)
프로세스의 논리적 구역을 지정하여 구역을 벗어나는 행위를 제한하는 방법
시간적 분리 (Temporal Separation)
동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생하는 보안 취약점을 제거하는 방법
물리적 분리 (Physical Separation)
사용자별로 특정 장비만 사용하도록 제한하는 방법
Secure OS의 보안 기능
식별 및 인증
임의적/강제적 접근 통제
객체 재사용 보호
완전한 조정
신뢰 경로
감사 및 감사기록 축소 등

참조 모니터 (Reference Monitor)

보호 대상 객체에 대한 접근 통제를 수행하는 추상 머신이며, 이것을 실제고 구현한 것이 보안 커널이다.
보안 커널 데이터베이스 (SKDB)를 참조하여 객체에 대한 접근 허가 여부를 결정한다.
특징
격리성 (Isolation) : 부정 조작이 불가능해야 함
검증가능성(Verifiability) : 적절히 구현되었나는 것을 확인할 수 있어야 함
완전성 (Completeness) : 우회가 불가능해야 함

26. DB 관련 신기술

DB 관련 신기술

빅데이터
브로드 데이터 (Broad Data)
다양한 채널에서 소비자와 상호 작용을 통해 생성된 것으로, 기업 마케팅에 있어 효율적이고 다양한 데이터이며, 이전에 사용하지 않거나 알지 못했던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터
메타 데이터 (Meta Data)
일련의 데이터를 정의하고 설명해 주는 데이터
컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미
HTML 문서에서는 메타 태그 내의 내용이 메타 데이터
디지털 아카이빙 (Digital Archiving)
디지털 정보 자원을 장기적으로 보존하기 위한 작업
아날로그 컨텐츠는 디지털로 변환한 후 압축해서 저장하고, 디지털 컨텐츠도 체계적으로 분류하고 메타 데이터를 만들어 DB하는 작업
하둡 (Hadoop)
오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발 된 자바 소프트웨어 프레임워크
맵리듀스 (MapReduce)
대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그램이 모델
흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업을 수행한 후, 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행함
Google에 의해 고안되었으며, 대표적인 데이터 처리를 위한 병렬 처리 기법으로 많이 사용되고 있음
타조 (Tajo)
오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트
데이터 다이어드
데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 작업하는 방법
데이터 마이닝 (Data Mining)
대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법
OLAP (Online Analytical Processing)
다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사 결정에 활용하는 방식
연산
Roll-up
Drill-down
Drill-through
Drill-across
Pivoting
Slicing
Dicing

27. 회복 / 병행 제어

회복 (Recovery)

트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
종류
연기 갱신 기법 (Deferred Update)
트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법
트랜잭션이 수행되는 동안 갱신된 내용은 일단 로그에 보관된ㅁ
트랜잭션의 부분 완료 시점에 로그에 보관한 갱신 내용을 실제 데이터베이스에 기록
Redo 작업만 가능
즉각 갱신 기법 (Immediate Update)
트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
장애가 발생하여 회복 작업 할 경우를 대비하여 갱신된 내용들은 로그에 보관시킴
Redo와 Undo 모두 사용 가능
Shadow Paging
갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사본인 그림자 페이지를 별도 보관해 놓고, 실제 페이지를 대상으로 갱신 작업을 수행하다가 장애가 발생하여 트랜잭션 적업을 Rollback 시킬 때는 갱신 이후의 실제 페이지 부분을 그림자 페이지로 대체하여 회복시키는 기법
Check Point
트랜잭션 실행 중, 특정 단계에서 재실행할 수 있도록 갱신 내용이나 시스템에 대한 상황 등에 관한 정보와 함께 검사점을 로그에 보관해두고, 장애 발생시 트랜잭션 전체를 철회하지 않고 검사점부터 회복 작업을 수행하여 회복 시간을 절약하도록 하는 기법

재시도 (Redo)

덤프와 로그를 이용하여 가장 최근의 정상적인 데이터베이스로 회복시킨 후, 트랜잭션을 재실행 하는 것
덤프(Dump) : 주기적으로 데이터베이스 전체를 복사해 두는 것
로그 : 갱신되기 전후의 내용을 기록하는 별도의 파일로, 저널이라고도 함

병행 제어 (Concurrency Control)

다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행 수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것
이점
프로세서의 이용률 증가
전체 트랜잭션의 작업 처리율 향상
병행제어 없이 트랜잭션들이 데이터베이스에 동시에 접근하도록 허용할 경우, 갱신 분실, 비완료 의존성, 모순성, 연쇄복귀 등의 문제가 발생한다.
갱신 분실(Lost Update)
2개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상
비완료 의존성
하나의 트랜잭션 수행이 실패한 후, 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상
연쇄 복귀 (Cascading Rollback)
병행 수행되던 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback 하는 경우, 다른 트랜잭션도 함께 Rollback 되는 현상

병행 제어 기법의 종류

로킹 (Locking)
트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스 할 수 있또록 하는 기법
주요 데이터의 액세스를 상호 배타적으로 함
타임 스탬프 순서 (Time Stamp Ordering)
트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 하기 전에 시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중에서 가장 보편적인 방법
최적 병행 수행
다중 버전 기법

로킹 단위 (Locking Granularity)

병행 제어에서 한꺼번에 로킹할 수 있는 객체의 크기
데이터베이스, 파일, 레코드, 필드 등이 로킹 단위가 될 수 있다.
로킹 단위가 크면, 로크 수가 작아 관리하기 쉽지만, 병행성 수준은 낮아진다.
로킹 단위가 작으면, 로크 수가 많아 관리하기 복잡해 오버헤드가 증가하지만, 병행성 수준이 높아진다.
병행성 수준
병행성 수준이 낮다는 것은 데이터베이스 공유도가 감소한다는 의미
병행성 수준이 높다는 것은 데이터베이스 공유도가 증가한다는 의미

28. 교착 상태

교착 상태 (Dead Lock)

상호 배제에 의해 나타나는 문제점
둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

교착 상태 발생의 필요 충분 조건

상호 배제 (Mutual Exclusion)
한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
점유와 대기 (Hold and Wait)
최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
비선점 (Non-Preemption)
다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
환형 대기 (Circular Wait)
공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어, 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함

교착 상태의 해결 방법

예방 기법 (Prevention)
교착 상태가 발생하지 않도록 사전에 시스템을 제어하는 방법
교착 상태 발생의 4가지 조건 중에서 어느 하나를 제거함으로써 수행됨
자원의 낭비가 가장 심한 기법
회피 기법 (Avoidance)
교착 상태가 발생할 가능성을 배제하지 않고, 교착 상태가 발생하면 적절히 피해나가는 방법
주로 은행원 알고리즘이 사용됨
은행원 알고리(Banker’s Algorithm)
다익스트라가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는 데서 유래한 기법
발견 기법 (Detection)
시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것
교착 상태 발견 알고리즘 자원 할당 그래프 등을 사용할 수 있음
회복 기법 (Recovery)
교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

29. 데이터 표준화

데이터 표준화

시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것
데이터 표준화 작업을 통해 사용자가 데이터를 정확히 이해하고 활용할 수 있도록 표준 항목명이 부여된다.
데이터 표준화 작업을 통해 엔티티, 속, 테이블 ,컬럼 등 데이터 요소에 쓰일 단어에 대해 일정한 규칙이 적용된다.

데이터 표준화 구성요소

데이터 표준화의 대상

ref)