[License] 11. 응용 SW 기초 기술 활용 [정보처리기사 실기]
# 운영체제 (OS : Operating System)
사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어
인터페이스 (쉘) + 커널 의 구조로 이루어져있다
쉘
가장 바깥 부분에 위치해서 사용자 명령어를 받아 기계어 형태로 변환하여
커널에 전달하는 명령어 해석기
커널
하드웨어와 관련된 내부적인 역할을 담당
윈도우즈 ( Windows)
MS-DOS의 멀티태스킹 기능과 GUI환경을 제공하는 마이크로소프트사가 개발한 운영체제
유닉스 (Unix)
교육 및 연구기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제
처음부터 다양한 시스템에 서로 이식할 수 있고
멀티 태스킹과 다중 사용자를 지원하도록 설계되었다
리눅스 (Linux)
유닉스를 기반으로 개발되고 소스 코드가 공개된 오픈 소스 기반의 운영체제이다
유닉스 계열의 윤영체제이므로 대화식 운영체제, 다중 작업 기능, 다중 사용자 기능,
이식성, 계층적 트리 구조 파일 시스템을 갖는다
멕 (Mac)
애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제
안드로이드 (Android)
휴대 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스
그리고 표준 응용 프로그램 (웹브라우저, 이메일 클라이언트 등)을 포함하고 있는 운영체제
윈도우즈 운영체제의 기본 명령어
윈도우즈 명령어는 CMD에서 입력할 수 있다
ATTRIB
파일 속성을 표시하거나 바꿈
CALL
한 일괄 프로그램에서 다른 일괄 프로그램을 호출
CD
현재 디렉터리 이름을 보여주거나 바꿈
CHKDSK
디스크를 검사하고 상태 보고서를 표시
CLS
화면을 지움
CMD
윈도우즈 명령 프롬프트 창을 열어줌
COMP
두 개 이상의 파일을 비교
DISKPART
디스크 파티션 속성을 표시하거나 구성
ECHO
메시지를 표시하거나 ECHO를 사용 또는 사용하지 않음
ERASE
하나 이상의 파일을 지움
EXIT
CMD.EXE 프로그램을 마침
리눅스 / 유닉스 운영체제의 기본 명령어
리눅스와 유닉스 명령어는 쉘에서 입력할 수 있다
uname -a
시스템의 모든 정보를 확인한느 명령어
uname -r
운영체제의 배포버전을 출력하는 명령어
cat
파일의 내용을 화면에 출력하는 명령어
uptime
시스템의 가동 시간과 현재 사용자 수, 평균 부하량 등을 확인하는 명령어
id
사용자의 로그인명, id, 그룹 id 등을 출력하는 명령어
last
시스템의 부팅부터 현재까지의 모든 사용자의 로그인과 로그아웃에 대한
정보를 표시하는 명령어
who
현재 접속 사용자 정보를 표시하는 명령어
is
자신이 속해있는 폴더 내에서의 파일 및 폴더들을 표시하는 명령어
pwd
현재 작업 중인 디렉토리의 절대 경로를 출력하는 명령어
rm
파일 삭제 명령어
cp
파일 복사 명령어
mv
파일 이동 명령어
ps
현재 실행되고 있는 프로세스 목록을 출력하는 명령어
pmap
프로세스 ID를 기준으로 메모리 맵 정보를 출력하는 명령어
kii
특정 PID 프로세스 종료 명령어
chmod
특정 파일 또는 디렉토리의 퍼미션 수정 명령어
chown
파일이나 디렉토리의 소유자, 소유 그룹 수정 명령어
ifconfig
네트워크 인터페이스를 설정하거나 확인하는 명령어
host
도메인 (호스트)명을 알고 있는데 ip 주소를 모르거나
혹은 그 반대의 경우에 사용하는 명령어
far
여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어 (압축불가)
gzip
파일을 묵거나 풀 수는 없지만 압축을 담당하는 명령어
grep
입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어
find
특정한 파일을 찾는 명령어
rsync
로컬 또는 원격에 파일과 디렉토리를 복사하고 동기화하는 명령어
df
시스템에 마운트된 하드디스크의 남은 용량을 확인할 때 사용하는 명령어
du
파일 사이즈를 킬로바이트 단위로 보여주는 명령어
접근 권한 유형
User
파일을 사용하고 있는 사용자
Group
소유자를 제외하고 파일과 같은 그룹에 속해있는 모든 사용자 모임
Other
그 밖의 사용자
chmod rwx
r (읽기) : 4
w (쓰기) : 2
x (실행) : 1
ex) chmod 5 : 읽고 실행만, chmod 6 읽고 쓰기만
운영체제 기능
중앙처리장치 (CPU), 메모리, 스토리지, 주변기기 등을 적절히 관리한다
초기에는 메모리 용량에 제한이 많아 소프트웨어 개발시 메모리 관리가 중요했으나
요즘에는 운영체제에서 대부분 자동으로 관리해주므로 편리해졌다
메모리 관리 기법
반입 기법
반입 시기를 결정하는 기법, 메모리로 적재 시기 결정 (When)
ex) 요구 반입 기법, 예상 반입 기법
배치 기법
어느 위치에 저장할 것인지 결정하는 기법, 적재 위치 결정 (Where)
ex) 최초 적합 (first-fit), 최적 적합 (best-fit), 최악 적합 (Worst -fit)
할당 기법
어떤 방법으로 할당할 것인지 결정하는 기법, 적재 방법 결정 (How)
ex) 연속 할당 기법, 분산 할당 기법
교체 기법
어떤 프로세스를 제거할 것인지를 결정하는 기법, 교체 대상 결정 (Who)
ex) FIFO, LRU, LFU
최초 적합 (First-fit)
프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
최적 적합 (Best-fit)
가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
최악 적합 (Worst-fit)
프로세스의 가용 공간들 중에서 가장 큰 공간에 할당하는 방식
스레싱
실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상
스레드
프로세스보다 가벼운 독립적으로 수행되는 실행 단위
지역성
프로세스가 실행되는 동안 주기억 장치를 참조할때 일부 페이지만 집중적으로 참조하는 특성
워킹세트
많이 참조하는 페이지들을 주기억 장치에 상주시키는것
페이지 부재 빈도 (PFF)
페이지 부재율의 상한과 하한을 정해서 직접적으로 페이지 부재율을 예측하고 조절하는 기법
프로세스 상태
생성 상태 (Create)
사용자에 의해 프로세스가 생성된 상태
준비 상태 (Ready)
CPU를 할당받을 수 있는 상태
실행 상태 (Running)
프로세스가 CPU를 할당받아 동작중인 상태
대기 상태 (Waiting)
프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가
완료까지 대기 리스트에서 기다리는 상태
완료 상태 (Complete)
프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
프로세스 상태 전이
디스패치 (Dispatch)
준비 상태에 있는 프로세스 중 실행될 프로세스를 선정하여 CPU 할당
문맥교환 (Context switching)
CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록 (PCB)에 저장하고
다음 프로세스의 PCB로 부터 문맥을 복원하는 작업
준비 상태 -> 실행 상태
타이머 런 아웃 (Timer run out) = 할당 시간 초과
CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장
CPU 반납 후 다시 준비 상태로 돌아간다
실행 상태 -> 준비상태
블록 (Block) = 입출력 발생
실행 상태에 있는 프로세스가 지정된 할당시간을 초과하기 전에 입출력이나 기타 사건이 발생 (block) 하면
CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 간다
실행 상태 -> 대기 상태
웨이크 업 (Wake-up) = 깨움
어느 순간에 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을
wait & signal 등에 의해 알려주고 준비 상태로 간다
대기 상태 -> 준비 상태
프로세스 스케줄링 주요 용어
서비스 시간
프로세스가 결과를 산출하기까지 소요되는 시간
응답시간 (반환시간)
프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간
응답시간 = 대기시간 + 수행시간
평균 응답시간 (평균 반환시간)
대기 큐의 프로세스가 결과를 산출하기 소요되는 시간 평균
대기시간
프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간
평균 대기시간
프로세스가 대기 큐에서 대기하는 평균 시간
종료 시간
요구되는 프로세싱 시간을 모두 수행하고 종료된 시간
시간 할당량 (Time Quantum or Time Slice)
한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스 되는 시간 할당량
응답률
(대기 시간 + 서비스 시간) / 서비스 시간
HRN (Highest Respomce ratio Next) 스케줄링에서 사용
프로세스 스케줄링 유형
선점형 스케줄링 (Preemptive Scheduling)
우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 방식
라운드 로빈 (Round Robin)
프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내고 대기 중인 프로세스로
SRT (Shortest Remaining Time First)
가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고
남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점되는 방식
다단계 큐 (MLQ : Multi Level Queue)
작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업 선점
다단계 피드백 큐 (MLFQ : Multi Level Deedback Queue)
입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여
비선점형 스케줄링 (Non Preemptive Scheduling)
한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유 불가 방식
우선순위 (Priority)
프로세스별로 우선순위가 주어지고 우선순위에 따라 CPU를 할당함
기한부 (Deadline)
작업들이 명시된 시간이나 기한 내에 완료되도록 계획
FCFS (First Come First Service)
프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당함
SJF (Shortest Job First)
프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가
종료시까지 자원을 점유한다
HRN (Highest Reponse Ratio Next)
대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택
HRN 우선순위 = (대기시간 + 서비스시간) / 서비스 시간
기아현상 (Starvation)
시스템 부하가 많아서 준비 큐에 있는 낮은 등급의 프로세스가 무한정 기다리는 현상
가상화 (Virtualization)
물리적인 리소스들을 사용자에게 하나로 보이게 하거나
하나의 물리적 리소스를 여러 개로 보이게 하는 기술이다
대부분 서버는 용량의 20% 정도만을 사용하는데
가상화를 통해 서버의 가동률을 60% ~ 70% 이상으로 올릴 수 있다
가상화 종류
플랫폼 가상화
하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어
마치 독립된 환경을 만들어 낸 것처럼 보여주는 기법
리소스 가상화
게스트 소프트웨어 위에서 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용하는 기법
가상화 기술요소
컴퓨팅 가상화
물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술
ex) 하이퍼바이저 (hypervisor)
스토리지 가상화
스토리지와 서버 사이에 소프트웨어 / 하드웨어 계층을 추가하여 스토리지를
논리적으로 제어 및 활용할 수있도록 하는 기술
ex) 분산 파일 시스템
I / O 가상화
서버와 I / O 디바이스 사이에 위치하는 미들웨어 계층으로
서버의 I / O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화 하여 효율적인 연결을 지원 기술
ex) 가상 네트워크 인터페이스 카드
컨테이너
컨테이너화된 애플리케이션들이 단인 운영체제상에서 실행되도록 해주는 기술
하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음
ex) 도커 (Docker)
분산처리 기술 (Distributed Computing)
여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산 문제나
대용량의 데이터를 처리하고 저장하는 기술
네트워크 가상화 기술
물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치의
가상화를 통한 가상 네트워크를 지원하는 기술
ex) SDN, NFV
클라우드 컴퓨팅 (Cloud Computing)
인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고
정보를 자신의 컴퓨터가 아닌 클라우드 (인터넷)연결된 다른 컴퓨터로 처리하는 기술
사설 클라우드 (Private Cloud)
기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축되어 운영되는 클라우드
공용 클라우드 (Public Cloud)
클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드
하이브리드 클라우드 (Hybrid Cloud)
사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드
클라우드 서비스 유형
인프라형 서비스 (IaaS : Infrastructure as a Service)
서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
플랫폼형 서비스 (PaaS : Platform as a Service)
인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행 관리 할 수 있게 하는
플랫폼을 제공하는 서비스
소프트웨어형 서비스 (SaaS : Software as a Service)
소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹브라우저 등의
클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
# 네트워크
원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라
WAN (광대역 네트워크)
LAN에 비해 전송거리가 넓음, 라우팅 알고리즘이 필요, LAN 대비 에러율이 높고 전송 지연이 큼
LAN (근거리 네트워크)
한 걸물 또는 작은 지역을 커버하는 네트워크
OSI (Open System Interconnection) 7계층
국제 표준화 기구인 ISO에서 개발한 시스템 상호 연결 모델이다
각 계층은 서로 독립적으로 구성되어 있고 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공
OSI 7 Layer 특징
7 응용 계층 (Application Layer)
사용자와 네트워크 간 응용서비스 연결 데이터 생성
HTTP, FTP / 데이터 / 호스트
6 표현 계층 (Presentation Layer)
데이터 형식 설정, 부호 교환 암호화 / 복호화
JPEG, MPEG / 데이터 / 호스트
5 세션 계층 (Session Layer)
송수신 간의 논리적인 연결
RPC, NetBIOS / 데이터 / 호스트
4 전송 계층 (Transport Layer)
송수신 프로세스간의 연결, 신뢰성 있는 통신 보장
TCP, UDP / 세그먼트 / L4스위치
3 네트워크 계층 (Network Layer)
단말기 간 데이터 전송을 위한 최적화된 경로 제공
IP, CMP / 패킷 / 라우터
2 데이터링크 계층 (Data Link Layer)
인접 시스템 간 데이터 전송, 전송 오류 제어
HDLC, PPP / 프레임 / 브리지, L2 스위치
1 물리 계층 (Physical Layer)
0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
RS-232C / 비트 / 허브, 리피터
허브
여러 대의 컴퓨터를 연결하여 네트워크로 보내거나
하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
리피터
디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고
컴퓨터로 수신되도록 하는 장비
브리지
두 개의 근거리통신망 (LAN)을 서로 연결해 주는 통신망 연결 장치
L2 스위치
느린 전송속도의 브리지, 허브의 단점을 개선하기 위해서
출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치
NIC (Network Interface Card)
외부 네트워크와 접속하여 가장 빠른 속도로 데이터를 주고받을 수 있게 컴퓨터내에 설치되는 장치
스위칭 허브
스위치 기능을 가진 허브
라우터
LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비
게이트웨이
프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치
L3 스위치
IP 레이어에서의 스위칭을 수행하여 외부로 전송하는 3계층에서 네트워크 단위들을 연결하는 통신 장치
유무선 인터넷 공유기
외부로부터 들어오는 인터넷 라인을 연결하여 유선으로 여러 대의 기계를 연결하거나
무선 신호로 송출하면서 여러 대의 컴퓨터가 하나의 인터넷 라인을 공유할 수 있도록 하는 네트워크 장비
망 (백본) 스위칭 허브
광역 네트워크를 커버하는 스위칭 허브, 즉 서울, 부산 같이 대단위 지역을 커버한다
L4 스위치
TCP / UDP 등 스위칭 수행하는 4계층에서 네트워크 단위들을 연결하는 통신 장비
프로토콜 (Protocol)
서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약
심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고 메시지가 제대로 도착했는지 확인하며
도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 프로토콜이라 정의했다
프로토콜 3요소
구문 (Syntax)
시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정
의미 (Semantic)
시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
타이밍 (Timing)
시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정
네트워크 프로토콜 (Network Protocol)
컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계이다
프로토콜 특징
단편화, 재조립, 캡슐화, 연결 제어, 오류제어, 동기화, 다중화, 주소지정
회선 제어
두 개의 스테이션이 동시에 신호를 전송하는 경우 신호 간 충돌이 발생하지 않도록 제어하는 기술
흐름 제어
전송 데이터의 양을 제한하기 위해서 사용되는 기술로 정지-대기 기법과 슬라이딩 윈도우 기법이 있다
오류 제어
OSI 7계층의 하위의 두 계층사이에서 데이터의 전송 오류를 검출하여 복구하는 기술
HDLC (High-level Data Link Control)
점대점 방식이나 다중방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜
PPP (Point-to-Point Protocol)
네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
프레임 릴레이 (Frame Relay)
중계 기능과 다중화 기능만 수행함으로써 데이터 처리속도의 향상 및 전송지연을
감소시킨 고속의 데이터 전송 기술
ATM (Asynchronus Transport Model)
정보전달의 기본단위를 53바이트 셀 단위로 전달하는
비동기식 시분할 다중화 방식의 패킷형 전송 기술
IP (Internet Protocol)
송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서
정보를 주고받는데 사용하는 통신프로토콜
ARP (Address Rsolution Protocol)
IP 주소를 MAC 주소로 변환하는 포로토콜
RARP (Reverse Address Rsolution Protocol)
MAC 주소는 알지만 IP주소를 모르는 경우 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
ICMP (Internet Control Message Protocol)
IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
수신지 도달 불가 메시지는 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는데 사용
IGMP (Internet Group Management Protocol)
호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는데 사용하는 통신 프로토콜
라우팅 프로토콜 (Routing Protocol)
데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중
최적의 경로를 설명해주는 라우터 간의 상호 통신 프로토콜
IPv4 (Internet Protocol version 4)
인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트주소체계를 갖는
네트워크 계층의 프로토콜이다
IPv4 헤더 사이즈는 옵션 미지정시 최소 20바이트 이상
(IPv6 는 최소 40바이트 이상)
주소체계는 10진수로 총 12자리
8비트씩 4부분으로 나뉜 10진수
0~255까지 3자리의 수로 표현
Network 부분과 Host 부분을 구분하는 것은 서브넷 마스트이다
유니캐스트, 멀티캐스트, 브로드캐스트
IPv4 클래스 분류
A 클래스 0.0.0.0 ~ 127.255.255.255
B 클래스 128.0.0.0 ~ 191.255.255.255
C 클래스 192.0.0.0 ~ 223.255.255.255
D 클래스 224.0.0.0 ~ 239.255.255.255 / 멀티캐스트 용도로 예약된 주소
E 클래스 240.0.0.0 ~ 255.255.255.255 / 연구를 위해 예약된 주소
A클래스부터 첫번째 0 에서 128, 64, 32, 16 순으로 더해 주면 B, C, D, E 클래스가 된다
IPv6 (Internet Protocol version 6)
IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해
개발된 128bit 주소체계를 갖는 차세대 인터넷 프로토콜
주소체계는 16비트 단위로 나누어지며 각 16비트 블록은 다시 4자리 16진수로 변환되고 콜론으로 구분된다
유니캐스트, 멀티캐스트. 애니캐스트
듀얼 스택 (Dual Stack)
IP 계층에 두가지 (IPv4 , IPv6)의 프로토콜이 모두 탑재되어 있고
통신 상대방에 따라 해당 IP스택을 선택하는 방법이다
터널링 (Tunneling)
IPv6 망에서 인접한 IPv4 망을 거쳐 다른 IPv6 망으로 통신할 때
IPv4 망에 터널을 만들고 IPv4에서 사용하는 프로토콜로 캡슐화하여 전송하는 방법이다
주소변환 (Address Translation)
IPv4 망과 IPv6 망 사이에 주소변환기 (IPv4-IPv6 게이트웨이)를 사용하여
서로 다른 네트워크상의 패킷을 변환시키는 방법이다
멀티캐스트 프로토콜 (Multicast Protocol) == 특정그룹
인터넷에서 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 프로토콜
유니캐스트 프로토콜 (Unicast Protocol) == 1:1로
1:1로 트래픽 또는 메시지를 전송하는 프로토콜
브로드캐스트 프로토콜 (Broadcasting Protocol) == 모든 수신자
모든 수신자에게 데이터를 전송하는 프로토콜
애니캐스트 프로토콜 (Anycast Protocol) == 그룹안에 가까운 곳으로
그룹 안에서 가장 가까운 노드로 연결시키는 전송 프로토콜
라우팅 프로토콜
여러 경로 중 최적의 경로를 설정해 주는 라우터 간의 상호 통신규약
라우팅 - 정적 (Static)
- 동적 (Dynamic) - 내부 라우팅 프로토콜 (IGP) - RIP, IGRP, OSPF, ELGRP
- 외부 라우팅 프로토콜 (EGP) - BGP
RIP (Routing Information Protocol)
AS (Autonomous System : 자치 시스템) 내에서 사용하는 거리벡터 알고리즘에 기초하여
개발된 내부 라우팅 프로토콜이다
벨만-포드 알고리즘 사용, 15홉 제한
OSPF (Open Shortest Path First)
규모가 크고 복잡한 TCP / IP 네트워크에서 RIP의 단점을 개선하기 위해
링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜이다
다익스트라 알고리즘 사용
BGP (Border Gateway Protocol)
AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜이다
TCP (Transmission Control Protocol)
근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 옥텟을 안정적으로
순서대로 에러없이 교환할 수 있게 해주는 프로토콜이다
신뢰성보장, 연결지향적특징, 흐름제어 (Flow Control), 혼잡제어 (Congestion Control)
UDP (User Datagram Protocol)
비신뢰성, 비연결성, 순서화되지않은 데이터그램 서비스 제공, 실시간 응용 및 멀티캐스팅 가능, 단순헤더
RPC (Remote Procedure Call)
원격 프로시저 호출이라고 불리며 별도의 원격 제어를 위한 코딩없이 다른 주소 공간에서
함수나 프로시저를 실행할 수 있는 프로세스간 통신에 사용되는 프로토콜
NetBIOS (Network Basic Input / Output System)
응용계층의 애플리케이션 프로그램에게 API를 제공하여
상호 통신할 수 있도록 해주는 프로토콜
JPEG
이미지를 위해 만들어진 표준 규격
MPEG
멀티미디어 (비디오, 오디오)를 위해 만들어진 표준 규격
HTTP (HyperText Transfer Protocol)
텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜
FTP (File Transfer Protocol)
TCP / IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
SMTP (Simple Mail Transfer Protocol)
인터넷에서 TCP 포트 번호 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜
POP3 (Post Office Protocol Version 3)
원격 서버로부터 TCP / IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
PC에 저장
IMAP (Internet Messaging Access Protocol)
원격 서버로부터 TCP / IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
서버에 저장
Telnet
인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
패킷 스위칭
네트워크와 통신의 방식 중 하나로 작은 블록의 패킷으로 데이터를 전송하며
데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식
X.25
통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
고정된 대역폭, 패킷사용, 1~3계층 담당, 송수신 신뢰성, 성능 저하
프레임 릴레이
ISDN을 사용하기 위한 프로토콜로서 ITU-T에 의해 표준으로 작성되엇다
유연한 대역폭, 기능 단순화, 1~2계층 담당, 가격이 저렴
ATM (Asynchronous Transfer Model)
비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법
AAL (ATM Adaptation Layer)
패킷을 작은 조각인 셀로 전송한 후 다시 조립하여 원래의 데이터로 복원하는 역할을 담당
서킷 스위칭
네트워크 리소스를 특정 사용층이 독점하도록 하는 통신 방식
전송보장, 서킷확보작업
서킷 교환 방식 vs 패킷 교환 방식
서킷 교환 방식
전송 경로를 설정한 뒤 데이터를 송수신 하는 방식
매우빠름, 제약을 받지 않음
송수신 측 모두 데이터 교환준비가 완료되어야함, 회선이 독점되어 있음
ex) 영상, 비디오
패킷 교환 방식
데이터를 패킷 단위로 보내는 방식
회선 효율이 우수, 비동기 전송이 가능, 연결 설정이 필요 없고 다중 전달이 용이
실시간 전송에 부적합, 네트워크 지연이 발생
ex) 이메일, 메시지
# 운영체제 선택
Windows Home
개인 사용자에게 최적화된 운영체제
Windows Pro
소규모 기업용으로 최적화된 운영체제
Windows Pro for Workstation
트랜잭션이 몰리거나 복구 기능을 필요로 하는 소규모 기업용 운영체제
Ubuntu
가장 광범위 하게 쓰이는 Linux 운영체제, 다양한 개발자용 패키지 제공
Fedora
스마트 설정과 업데이트로 사용자 편의성 제공, 안정화된 운영과 다양한 하드웨어 지원
온프레미스 (On-Premise) 방식
외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식
클라우드 (Cloud) 방식
아마존, 구글, 마이크로소프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경 구축
하이브리드 (Hybrid) 방식
온프레미스와 클라우드 방식을 혼용하는 방식
클라우드 기반 개발환경 인프라 제공 범위
컴퓨팅 환경 (VM)
웹 서버, DBMS 서버
스토리지
대규모 데이터를 저장, 관리, 전송, 이중화하기 위한 저장 장치 세팅
데이터베이스
실데이터를 저장하고 관리하기 위한 데이터베이스 세팅
네트워킹 전송
콘텐츠 전송용 CDN구축
CDN (Contents Delivery Network)
콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에
데이터를 저장하여 제공하는 시스템이다
개발자 도구
코드 자동 배포, 형상관리를 위한 환경구축
보안 환경 구축
외부의 침입으로 부터 시스템과 데이터를 보호하기 위한 환경 구축
응용 기술 세팅
증강 현실, 가상현실, 머신러닝, 딥러닝, 사물 인터넷, 게임
생산성 향상
시스템 볼륨 자동 확장 환경 구축, 실시간 스트리밍 서비스 환경 구축