on
정보처리기사 필기 4주차 Day-3 정리
정보처리기사 필기 4주차 Day-3 정리
Chapter 03. 응용 SW 기초 기술 활용
1. 운영체제 기초 활용
(1) 운영체제 종류
운영체제의 개념
운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다.
운영체제의 특징
사용자 편리성 제공
인터페이스 기능을 담당
스케줄링 담당
자원 관리
제어 기능
운영체제의 종류
① 윈도즈 계열 운영체제 = G선자O
특징 설명 그래픽 사용자 인터페이스(GUI) 제공 키보드 없이 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행하는 그래픽 기반의 인터페이스 방식 선점형 멀티태스킹 방식 제공 동시에 여러 개의 프로그램을 실행하면서 운영 체제가 각 작업의 CPU 이용시간을 제어 자동감지 기능 제공 하드웨어를 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 자동감지 기능 제공 OLE(Object Linking and Embedding) 사용 개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집할 수 있게 하는 기능 제공
② 리눅스/유닉스 계열 운영체제 = 대다 사이계
특징 설명 대화식 운영체제 기능 제공 프롬프트가 나타난 상태에서 사용자가 명령을 입력하면 시스템은 그 명령을 수행하는 사용자 명령 기반의 대화식 운영체제 기능을 제공 다중 작업 기능 제공 다수의 작업이 중앙 처리 장치와 같은 공용자원을 나누어 사용하여 한 번에 하나 이상의 작업을 수행하는 기능을 제공 다중 사용자 기능 제공 여러 대의 단말이 하나의 컴퓨터에 연결되어서 여러 사람이 동시에 시스템을 사용하여 각각의 작업을 수행할 수 있는 기능 제공 이식성 제공 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식이 가능 계층적 트리 구조 파일 시스템 제공 유닉스는 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이
③ 맥 운영체제
Mac 운영체제는 애플이 매킨토시용으로 개발한 그래픽 사용자 인터페이스 운영체제이다.
④ 안드로이드 운영체제
안드로이드는 리눅스 커널 위에서 동작하며, 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있도록 하고, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다.
(2) 메모리 관리
메모리 관리 기본 사항
기본사항 설명 가상메모리
(Virtual Memory) 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 부여하는 방식 메모리 관리 장치
(MMU) 가상 메모리 주소를 실제 메모리 주소로 변환
메모리 보호, 캐시 관리, 버스 중재 등의 역할을 담당 메모리 관리자 실행 파일 심볼의 재배치 주소를 프로세스의 논리 주소로 연결시키는 작업 수행
메모리 관리 기법 = 반배할교
기법 설명 세부 기법 반입 기법 주기억장치에 적재할 다음 프로세스의 반입시기를 결정하는 기법
메모리로 적재 시기 결정(When) 요구 반입 기법
예상 반입 기법 배치 기법 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법
메모리 적재 위치 결정(Where) 최초 적합(First Fit)
최적 적합(Best Fit)
최악 적합(Worst Fit) 할당 기법 실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법
메모리 적재 방법 결정(How) 연속 할당 기법
분산 할당 기법 교체 기법 재배치 기법으로 주기억장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지를 결정하는 기법
메모리 교체 대상 결정(Who) 프로세스의 Swap In/Out
FIFO, LRU, LFU
① 메모리 반입 기법
요구 반입 기법
예상 반입 기법
② 메모리 배치 기법 = 초적악
적합 설명 최초 적합
(First Fit) 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식이다. 최적 적합
(Best Fit) 가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식이다. 최악 적합
(Worst Fit) 프로세스의 가용 공간 중에서 가장 큰 공간에 할당하는 방식이다.
③ 메모리 할당 기법 = 연단다 분페세
종류 설명 기법 연속 할당 기법 실행을 위한 각 프로세스를 주기억장치 공간 내에서 인접되게 연속하여 저장하는 방법
연속 할당 기법은 프로세스를 주기억장치에 연속으로 할당하는 기법 단일 분할 할당 기법
다중 분할 할당 기법 분산 할당 기법 하나의 프로세스를 여러 개의 조각으로 나누어 주기억장치 공간 내 분산하여 배치하는 기법
주로 가상기억장치에서 사용 페이징 기법
세그먼테이션 기법
④ 메모리 교체 기법
세부 기법 설명 FIFO
(First In First Out) 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와 가장 오래 있던 페이지를 교체하는 기법 LRU
(Least Recently Used) 사용된 시간을 확인하여 가장 오랫동안 사용되지 않은 페이지를 선택하여 교체하는 기법 LFU
(Least Frequently Used) 사용된 횟수를 확인하여 참조 횟수가 가장 적은 페이지를 선택하여 교체하는 기법
기억장치에 저장된 페이지 중에서 사용한 횟수가 가장 적은 페이지를 교ㅔ하는 알고리즘 OPT
(OPTimal Replacement) 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘 NUR
(Not Used Recently) LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는 기법 SCR
(Second Chance Replacement) 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법으로 FIFO 기법의 단점을 보완하는 기법
메모리 단편화
① 내부 단편화 = 내슬 통압
구분 설명 개념 분할된 공간에 프로세스를 적재한 후 남은 공간
고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 메모리 단편화 해결방안 Slab Allocator
통합, 압축
② 외부 단편화 = 외버 통압
구분 설명 개념 할당된 크기가 프로세스 크기보다 작아서 사용하지 못하는 공간
가변 분할 할당 방식 또는 세그먼테이션 기법 사용 시 발생하는 메모리 단편화 해결방안 버디 메모리 할당
통합, 압축
페이징 기법의 문제 및 해결방안
① 페이징 기법의 문제점 - 스레싱(Thrashing)
스레싱은 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상이다.
페이지 부재가 계속 증가하여 기억장치 접근 시간이 증가한다.
② 페이징 기법의 문제점 해결방안 - 워크 세트(Working Set)
장점 단점 멀티프로그래밍 정도를 높일 수 있고 CPU 활용률을 최적화할 수 있음 워킹 세트 추적관리가 복잡하고, 워킹 세트 크기 설정의 모호함이 발생
② 페이징 기법의 문제점 해결방안 - 페이지 부재 빈도(PFF : Page-Fault Frequency)
장점 단점 페이지 부재 발생 시 실행하여 부하가 적고, 직접적으로 페이지 부재율 조절이 가능한 기법 프로세스를 중지 시키는 과정이 발생하고, 페이지 참조가 새로운 지역성을 이동할 수 있음
지역성의 개념
지역성(국부성, 구역성, 국소성)은 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 특성이다.
지역성의 유형 = 시공순
유형 설명 사례 시간(Temporal) 지역성 최근 사용되었던 기억장소들이 집중적으로 액세스하는 현상
참조했던 메모리는 빠른 시간에 다시 참조될 확률이 높은 특성 Loop(반복, 순환), 스택(Stack), 부프로그램(Sub Routine), Counting(1씩 증감), 집계(Totaling)에 사용되는 변수(기억장소) 공간(Spatial)
지역성 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
참조된 메모리 근처의 메모리를 참조하는 특성 배열 순회, 프로그래머들이 관련된 변수들을 서로 근처에 선언하여 할당되는 기억 장소, 같은 영역에 있는 변수 참조 순차(Sequential) 지역성 데이터가 순차적으로 액세스 되는 현상
프로그램 내의 명령어가 순차적으로 구성된 특성
공간 지역성에 편입되어 설명되기도 함 순차적 코드 실행
(3) 프로세스 스케줄링
프로세스 상태 = 생준실대완
프로세스 상태 설명 생성(Create) 상태 사용자에 의해 프로세스가 생성된 상태 준비(Ready) 상태 CPU를 할당받을 수 있는 상태 실행(Running) 상태 프로세스가 CPU를 할당받아 동작 중인 상태 대기(Waiting) 상태 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태 완료(Complete) 상태 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
프로세스 상태 전이
프로세스 상태 전이 설명 디스패치
(Dispatch) 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU를 할당 > 문맥교환 발생
프로세스는 준비 상태에서 실행 상태로 전이 할당 시간 초과
(Timeout) 프로세스는 실행 상태에서 준비 상태로 전이 입출력 발생
(Block) 프로세스는 실행 상태에서 대기 상태로 전이 깨움
(Wake-up) 프로세스는 대기 상태에서 준비 상태로 전이
프로세스 스케줄링 알고리즘
① 선점형 스케줄링 알고리즘의 유형 = RSMM
알고리즘 유형 동작 방식 특징 라운드 로빈
(Round Robin) 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어감 균등한 CPU 점유 시간
시분할 시스템을 사용 SRT
(Shortest Remaining Time First) 가장 짧은 시간이 소요되는 프로세스를 먼저 수행, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선정됨 짧은 수행 시간 프로세스 우선 수행 다단계 큐
(Multi Level Queue) 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 당함 독립된 스케줄링 큐 다단계 피드백 큐
(Multi Level Feedback Queue) 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여 큐마다 다른 시간 할당량
마지막 단계는 라운드 로빈 방식 처리
② 비선점형 스케줄링 알고리즘의 유형 = 우기FSH
알고리즘 유형 설명 특징 우선순위
(Priority) 각 프로세스 별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함
동일 순위는 FCFS 주요/긴급 프로세스에 대한 우선처리
설정, 자원 상황 등에 따른 우선순위 선정 기한부
(Deadline) 작업들이 명시된 시간이나 기한 내에 완료되도록 계획 요청에 명시된 시간 내 처리를 보장 FCFS
(Fist Come First Service) 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당함 도착한 순서대로 처리 SJF
(Shortest job First) CPU 요구시간이 긴 작업과 짧은 작업 간의 불평등 심하여, CPU 요구시간이 긴 프로세스는 기아 현상 발생 기아 현상 발생 가능성 HRN
(Highest Response Ratio Next) 대기 중인 프로세스 중 대기시간이 긴 프로세스일 경우 우선순위가 높아지게 하여 우선순위를 결정하는 스케줄링 기법 기아 현상 최소화 기법
프로세스 관리-교착상태 = 상점비환
발생 조건 설명 상호배제
(Mutual Exclusive) 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없음 점유와 대기
(Block & Wait) 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태 비선점
(Non Preemption) 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능 환형 대기
(Circular Wait) 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태
교착상태 해결방법 = 예회발복
발생 조건 설명 세부 기법 예방
(Prevertion) 상호배제를 제외한 나머지 교착상태 발생 조건을 위해 하는 방안 점유 자원 해제 후 새 자원 요청 회피
(Avoidance) 안전한 상태를 유지할 수 있는 요구만 수락 은행가 알고리즘, Wound-Wait, Wait-Die 발견
(Detection) 시스템의 상태를 감시 알고리즘 통해 교착 상태 검사 자원할당 그래프, Wait for Graph 복구
(Recovery) Deadlock이 없어질 때까지 프로세스를 순차적으로 제거, 희생자 선택해야 하고 기아 상태 발생 프로세스 Kill, 자원선점
(4) 환경 변수
환경 변수(Environment Variable) 개념
환경 변수는 프로세스가 컴퓨터에서 동작하는 방식에 많은 영향을 미치는 동적 값들의 모임이다.
2. 네트워크 기초 활용
(1) 인터넷 구성의 개념
인터넷은 컴퓨터로 연결하여 TCP/IP라는 통신 프로토콜을 이용해서 정보를 주고받는 컴퓨터 네트워크이다.
인터넷 구성
구성요소 설명 종단 시스템 호스트, 서버, 통신 링크, 처리량 통신망 근거리 통신망(LAN), 무선랜 통신망(WLAN), 원거리 통신망(WAN) 프로토콜 IP, TCP, UDP 인터넷 주소체계 IP 주소 방식, 도메인 주소 방식(DNS 방식) 인터넷 접속 제공 ISP, URL, 웹 브라우저
① 종단 시스템
구성 설명 호스트 컴퓨터 네트워크에 연결된 컴퓨터나 기타 장치 서버 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 통신 링크 일반적으로 통신 위성이 지구의 두 지점을 연결해 주기 위해서 사용하는 여러 종류의 정보 전송 경로 처리량 주어진 시간에 컴퓨터가 처리할 수 있는 데이터의 양
② 통신망
근거리 통신망(LAN : Local Area Network) = 전송망 구성 형태 버트링메성
구분 설명 전송 매체 동축 케이블(Coaxial Cable)
광섬유 케이블(Optical Fiber Cable)
평형 케이블(Twisted Pair Cable)
UTP(Unshielded Twisted Pair)
광 케이블(Optical Cable) 전송 방식 기저 대역 방식
광대역 방식 전송망 구성 형태 버스형, 트리형, 링형, 메시형, 성형
원거리 통신망(WAN : Wide Area Network) = 전회패
연결 기술 설명 전용 회선 방식
(Dedicated Line) 전용 회선 방식은 통신 사업자가 사전에 계약을 체결한 송신자와 수신자끼리만 데이터를 교환하는 방식
점대점 프로토콜(PPP), HDLC, SDLC, HNAS 프로토콜에 쓰임 회선 교환 방식
(Circuit Switching) 물리적 전용선을 활용하여 데이터 전달 경로가 정해진 후 동일 경로로만 전달되는 방식
점대점 프로토콜(PPP), ISDN 프로토콜에 쓰임 패킷 교환 방식
(Packet Switching) 전체 메시지를 각 노드가 수용할 수 있는 크기로 잘라서 보내는 방식
③ 프로토콜
프로토콜은 서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약이다.
프로토콜의 기본 요소 = 구의타
기본요소 설명 구문(Syntax) 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정 의미(Semantic) 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정 타이밍(Timing) 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정
④ 인터넷 주소체계
구분 설명 IP 주소 방식 32Bit의 주소체계를 기준으로 인터넷상에 존재하는 호스트나 서버의 위치를 지정해주는 방식
점(.)에 의해 구분되는 십진수 값은 1Byte로, 총 4Byte(=32Bit)로 구성됨 도메인 주소 방식
(DNS 방식) 도메인 네임 시스템은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 개발됨
⑤ 인터넷 접속 제공
구성 설명 ISP
(Internet Service Provider) 인터넷에 접속하는 수단을 제공하는 주체
주로 KT, SKT 등의 통신 회사가 여기에 속함 URL
(Uniform Resource Locator) 네트워크상에서 자원이 어디 있는지를 알려주기 위한 규약 웹 브라우저
(Web Browser) 웹 서버에서 이동하며 쌍방향으로 통신하고, HTML 문서나 파일을 출력하는 응용 소프트웨어
(2) 네트워크 7 계층
OSI(Open System Interconnection) 7 계층
① 계층 1 - 물리 계층(Physical Layer) 개념
물리 계층은 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의하는 계층이다.
물리 계층 프로토콜로는 RS-232가 있다.
장비 설명 허브(Hub) 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비 리피터(Repeater) 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비
② 계층 2 - 데이터 링크 계층(Data Link Layer) 개념
데이터 링크 계층은 링크의 설정과 유지 및 종료를 담당하며 노드 간의 오류 제어, 흐름 제어, 회선 제어 기능을 수행하는 계층이다.
데이터 링크 계층 프로토콜은 HDLC, PPP, 프레임 릴레이, ATM이 있다.
장비 설명 스위치(Switch) 느린 전송속도의 브리지, 허브의 단점을 개선하기 위해서, 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치
스위치의 전송방식에는 cut-through 방식, store-and-forward 방식, Fragment Free 방식이 있음 브리지(Bridge) 두 개의 근거리 통신망(LAN)을 서로 연결해 주는 통신망 연결 장치
③ 계층 3 - 네트워크 계층(Network Layer) 개념
네트워크 계층은 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공하는 계층이다.
네트워크 계층 프로토콜에는 IP, ARP, RARP, 라우팅이 있다.
프로토콜 설명 IP
(Internet Protocol) 송신, 수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신규약 ARP
(Address Resolution Protocol) IP 네트워크상에서 IP 주소를 MAC 주소로 변환하는 프로토콜 RARP
(Reverse Address Resolution Protocol) IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜 ICMP
(Internet Control Message Protocol) IP패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 IGMP
(Internet Group Management Protocol) 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는데 사용하는 통신 프로토콜 라우팅 프로토콜 내부 라우팅 프로토콜에는 RIP, OSPF가 대표적
외부 라우팅 프로토콜에는 EGP, BGP가 대표적
장비 설명 라우터
(Router) LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비 L3 스위치 3계층에서 네트워크 단위들을 연결하는 통신 장비
④ 계층 4 - 전송 계층(Transport Layer) 개념
전송 계층은 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다.
전송 계층 프로토콜로는 TCP(연결 지향), UDP(비연결 지향)가 있다.
프로토콜 설명 TCP
(Transmission Control Protocol) 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로 에러 없이 교환할 수 있게 해주는 프로토콜 UDP
(User Datagram Protocol) 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터 그램 서비스를 제공하는 전송 계층의 틍신 프로토콜
대표적인 전송 계층 장비로는 L4 스위치가 있다.
⑤ 계층 5 - 세션 계층(Session Layer) 개념
세션 계층은 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다.
세션 계층 프로토콜로는 RPC, NetBIOS 등이 있다.
프로토콜 설명 RPC
(Remote Procedure Call) 원격 프로시저 호출이라고 불리며, 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스간 통신에 사용되는 프로토콜 NetBIOS
(Network Basic Input/Output System) 응용계층의 애플리케이션 프로그램에게 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜
⑥ 계층 6 - 표현 계층(Presentation Layer) 개념
표현 계층은 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다.
표현 계층 프로토콜은 JPEG, MPEG 등이 있다.
프로토콜 설명 JPEG 이미지를 위해 만들어진 표준 규격 MPEG 멀티미디어를 위해 만들어진 표준 규격
⑦ 계층 7 - 응용 계층(Application Layer) 개념
응용 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다.
프로토콜 설명 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 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜 IMAP
(Internet Messaging Access Protocol) 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜 Telnet 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
대표적인 응용 계층 장비는 L7 스위치가 있다.
(3) IP
IP(Internet Protocol) 개념
인터넷 프로토콜은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약이다.
IP 특징
특징 설명 비신뢰성(Unreliable), 비연결형(Connection less) 패킷 전송과 정확한 순서를 보장하려면 TCP 프로토콜과 같은 IP의 상위 프로토콜을 이용해야 함 에러 제어와 흐름 제어가 없음 정보의 전송이 가장 중요하고, 보낸 정보의 내용을 보장해 주지는 않음 대표적인 IP 주소체계 현재 인터넷에서 사용하는 표준 프로토콜은 IPv4이고, 주소 공간 고갈 문제를 겪고 있어서 IPv6가 점차 확산 IP 크기 제한 IP의 크기는 20~40바이트
인터넷으로 데이터를 전송 시에는 IP 패킷을 잘라서 보내고, 이런 단편화는 MTU 때문에 필요함
IPv4와 IPv6 특징
구분 IPv4 IPv6 주소길이 32bit 128bit 표시 방법 8비트씩 4부분으로 나뉜 10진수 16비트씩 8부분으로 나뉜 16진수 주소개수 약 43억 개 4.3*10의 38승 주소할당 A, B, C, D 등 클래스 단위 비순차적 할당(비효율적) 네트워크 규모 및 단말기 수에 따른 순차적 할당(효율적) 품질제어 품질보장 곤란 등급별, 서비스별로 패킷 구분 가능해 품질 보장 용이(QoS) 헤더크기 가변 고정 QoS Best Effort 방식/보장 곤란 등급별, 서비스별 패킷 구분 보장 보안기능 IPSEC 프로토콜 별도 설치 확장기능에서 기본 제공 Plug&Play; 지원 안함 지원 모바일 IP 곤란 용이 웹 캐스팅 곤란 용이 전송방식 멀티캐스트, 유니캐스트, 브로드 캐스트 멀티캐스트, 유니캐스트, 애니캐스트
IPv4에서 IPv6으로 전환 방법
① 듀얼 스택(Dual Stack)
구분 특징 장점 DNS 주소 해석 라이브러리가 두 IP 주소 유형을 모두 지원 단점 프로토콜 스택 수정으로 인한 과다한 비용 발생
② 터널링(Tunneling)
구분 특징 장점 여러 표준화 활동 존재하고 다양한 기술 표준이 제안되고 있음 단점 구현이 어려우며, 복잡한 동작 과정을 가짐
③ 주소변환(Address Translation)
구분 특징 장점 IPv4, IPv6 호스트의 프로토콜 스택에 대한 수정이 필요 없으며, 변환방식이 투명하고 구현이 용이 단점 고가의 주소 변환기 필요
라우팅 프로토콜(3계층)
데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신규약이다.
① RIP(Routing Information Protocol) 개념
RIP는 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜이다.
RIP 특징
벨만-포드 알고리즘 사용, 15홉 제한, UDP 사용, 30초마다 정보 공유
② OSPF(Open Shortest Path First) 개념
OSPF는 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기존으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜이다.
OSPF 특징
다익스트라 알고리즘 사용, 라우팅 메트릭 지정, AS 분할 사용, 홉 카운트 무제한
③ BGP(Border Gateway Protocol) 개념
BGP는 AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜이다.
BGP 특징
순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공한다.
라우팅 비용이 많이 들고, 라우팅 테이블의 크기가 커서 메모리 사용량이 많다.
(4) TCP/UDP
TCP(Transmission Control Protocol) 개념
TCP는 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로 에러 없이 교환할 수 있게 해주는 프로토콜
TCP 기본 헤더 크기는 20byte이고 60byte까지 확장할 수 있다.
TCP 특징 = 신연흐혼
신뢰성 보장
연결 지향적 특징
흐름 제어
혼잡 제어
TCP 흐름 제어
기법 설명 정지-대기
(Stop & Wait) 기법 수신자가 에러 체크 후 에러가 있으면 에러 난 데이터부터 하나씩 다시 받는 기법 슬라이딩 윈도
(Sliding Window) 기법 수신 측에서 설정한 윈도의 크기만큼 송신 측에서 확인 응답 없이 전송할 수 있게 하여 흐름을 동적으로 제어하는 기술
TCP 혼잡 제어 = 느혼재회
기법 설명 느린 출발
(Slow Start) 미리 정해진 임계치에 도달할 때까지 윈도의 크기를 2배씩 증가 혼잡 회피
(Congestion Avoidance) Slow Start 지수적 증가가 임계치에 도달하게 되면 혼잡으로 간주하고, 회피를 위해 주고받는 윈도 크기가 선형적으로 증가하여 혼잡 예방 빠른 재전송
(Fast Retransmit) 송신 측에서 3개의 중복 패킷을 받게 되면 해당 패킷을 소실되었다고 간주, Time Out을 기다리지 않고 즉시 재전송 빠른 회복
(Fast Recovery) Fast Retransmit 이후 Slow Start가 아닌 Congestion Avoidance 상태에서 전송하는 기법
UDP(User Datagram Protocol) 개념
비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터 그램 서비스를 제공하는 전송 계층의 통신 프로토콜
UDP의 특징
비연결성 및 비신뢰성
순서화되지 않은 데이터그램 서비스 제공
실시간 응용 및 멀티캐스팅 가능
단순 헤더
https://book.naver.com/bookdb/book_detail.nhn?bid=15910265
from http://dfs-it.tistory.com/23 by ccl(A) rewrite - 2021-07-31 19:26:28