2022.07.21 - [정보처리기사] - [정보처리기사] 실기 꼼수로 합격하기
네트워크
1. 프로토콜
- 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약
- 심리학자 톰 마릴은 컴퓨터가 메세지를 전달하고 메세지가 제대로 도착했는지 확인하며 도착하지 않았을 경우 메세지를 재전송하는 일련의 방법을 프로토콜이라는 용어로 정의하였다.
프로토콜의 기본 요소
- 구문(Syntax) : 데이터의 구조나 형태(포맷)을 정의. 16bit 정보 송신 시 앞의 8bit는 주소, 다음 8bit는 데이터로 정의
- 시간(Timing) : 어떤 데이터를 보낼 것인지, 얼마나 빨리 보낼 것인지를 결정
- 의미(Semanics) : 데이터의 각 부분이 무엇을 뜻하는지 알 수 있게 미리 정해둔 규칙, 오류 제어, 동기화, 흐름 제어
2. OSI 7계층
계층 | 명칭 | 내용 | |
하위 계층 |
1 | 물리 계층 (Physical Layer) |
데이터를 전기신호로 바꿔주는 역할을 하고 케이블, 연결장치 등과 같은 기본적인 물리적 연결기의 전기적 명세를 정하고 네트워크의 두 노드를 물리적으로 연결하는 계층 |
2 | 데이터 링크 계층 (Data Link Layer) |
직접 연결된 노드간에 물리적인 데이터 전송을 담당하고 에러 검출, 재전송, 흐름제어 | |
3 | 네트워크 계층 (Network Layer) |
패킷을 목적지까지 가장 빠르게 전송할 수 있는 최선의 통신경로 선택을 제공 | |
상위 계층 |
4 | 전송 계층 (Transport Layer) |
프로세스 간 논리적인 통신 서비스 제공 패킷들의 전송 유효 확인 등 오류 검출과 복구, 흐름 제어 |
5 | 세션 계층 (Session Layer) |
응용 프로세스 간의 연결 접속 및 동기 제어 등 통신 담당 | |
6 | 표현 계층 (Presentation Layer) |
데이터의 형식(포맷)설정과 부호 교환, 암호화 해독 | |
7 | 응용 계층 (Application Layer) |
사용자와 네트워크 간의 응용 서비스 연결, 데이터 생성 |
3. IP(Internet Protocol)
1) IPv4
- 32비트
- 4개의 8비트로 구성된 10진수
- 유니캐스트, 멀티캐스트, 브로드캐스트
2) IPv6
- 128비트
- 8개의 16비트로 구성된 16진수
- 유니캐스트, 멀티캐스트, 애니캐스트
- IPv4의 확장형으로 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128비트 주소체계를 갖는 차세대 인터넷 프로토콜
4. 서브넷팅
아이피 낭비를 해결하기 위해 등장한 기술
xx.xx.xx.0 은 보통 Network ID 로 사용되기에 사용할 수 없다.
서브넷팅 후 첫 번째 IP는
게이트웨이
, 마지막 IP는 브로드캐스트 용도로 사용된다.
서브넷 마스크 길이 | 서브넷 마스크 | IP 갯수 | 사용 가능 IP 범위 |
/24 | 255.255.255.0 | 256 | xx.xx.xx.1 ~ xx.xx.xx.254 |
/25 | 255.255.255.128 | 128 | xx.xx.xx.1 ~ xx.xx.xx.126 xx.xx.xx.128 ~ xx.xx.xx.255 |
/26 | 255.255.255.192 | 64 | xx.xx.xx.1 ~ xx.xx.xx.63 xx.xx.xx.64 ~ xx.xx.xx.127 xx.xx.xx.128 ~ xx.xx.xx.191 xx.xx.xx.192 ~ xx.xx.xx.255 |
/27 | 255.255.255.224 | 32 | xx.xx.xx.1 ~ xx.xx.xx.31 xx.xx.xx.31 ~ xx.xx.xx.63 xx.xx.xx.64 ~ xx.xx.xx.95 xx.xx.xx.96 ~ xx.xx.xx.127 ... xx.xx.xx.224 ~ xx.xx.xx.255 |
/28 | 255.255.255.240 | 16 | xx.xx.xx.1 ~ xx.xx.xx.15 xx.xx.xx.16 ~ xx.xx.xx.31 xx.xx.xx.32 ~ xx.xx.xx.47 xx.xx.xx.48 ~ xx.xx.xx.63 ... xx.xx.xx.240 ~ xx.xx.xx.255 |
/29 | 255.255.255.248 | 8 | xx.xx.xx.1 ~ xx.xx.xx.7 xx.xx.xx.8 ~ xx.xx.xx.15 xx.xx.xx.16 ~ xx.xx.xx.23 xx.xx.xx.24 ~ xx.xx.xx.31 ... xx.xx.xx.248 ~ xx.xx.xx.255 |
/30 | 255.255.255.252 | 4 | xx.xx.xx.1 ~ xx.xx.xx.3 xx.xx.xx.4 ~ xx.xx.xx.7 xx.xx.xx.8 ~ xx.xx.xx.11 xx.xx.xx.12 ~ xx.xx.xx.15 ... xx.xx.xx.252 ~ xx.xx.xx.255 |
5. Routing Protocol(라우팅 프로토콜)
- 라우터 간의 패킷을 전송하기 위한 수많은 경로 중에서 한 가지 경로를 결정하는 프로토콜
- 라우터 간의 라우팅 정보의 교환 및 라우팅 테이블의 유지관리를 동적으로 수행하는 프로토콜
1) 라우팅 경로 고정 여부에 따른 라우팅 프로토콜
- 정적 라우팅 프로토콜(SRP, Static Routing Protocol): 라우팅 테이블을 전부 수동으로 설정/관리하는 라우팅 프로토콜
- 동적 라우팅 프로토콜(DRP, Dynamic Routing Protocol): 네트워크 접속 라우터에 관한 정보를 라우터들끼리 정기적으로, 또는 필요에 따라 서로 교환하여 정보를 기반으로 라우팅 테이블을 자동 설정/관리하는 방식
2) 내/외부 라우팅 여부에 따른 라우팅 프로토콜
- AS(Autonomous System, 자율 시스템): 인터넷에서 동일한 관리자에 의해 여러 내부 라우팅 프로토콜을 동일한 정책을 통해 관리되는 라우터들과 서브 네트워크들의 집합
- 네트워크는 AS에 의해 분리되어야 하고 동일한 AS 상에 있는 라우터들은 라우팅 정보들을 공유하게 된다.
- 동일한 AS상에 있는 라우터들 간의 라우팅은 내부 라우팅 프로토콜로 수행되고
- AS 서로 간의 라우팅은 외부 라우팅 프로토콜에 의해 수행된다.
내부 라우팅 프로토콜 (IGP, Interior Gateway Protocol)
- AS 내에서의 라우팅을 담당하는 라우팅 프로토콜
RIP (Routing Information Protocol) |
Distance Vector(거리 벡터) 라우팅 프로토콜로 오로지 거리와 방향을 기준으로 데이터가 담긴 패킷을 전달하는 프로토콜 |
IGRP (Interior Gateway Routing Protocol) |
Distance Vector(거리 벡터) 라우팅 프로토콜을 이용한 내부 게이트웨이 라우팅 프로토콜 인접한 게이트웨이와 라우팅 정보를 교환하여 게이트웨이 간의 동기화 된 라우팅 프로세슬 가능하게 함. |
OSPF (Open Shortest Path First) |
하나의 AS안에서 동작하는 Link State Routing Protocol로 인터넷 프로토콜인 IP 네트워킹에서 사용하기 위한 계층구조 동적 라우팅 프로토콜 |
EIGRP (Enhanced Interior Gateway Rouing Protocol) |
다른 프로토콜에서 제공되지 않는 많은 기능을 사용하여 IGRP를 개선한 라우팅 프로토콜 IGRP(거리 벡터 라우팅)과 LinkState(링크상태) 라우팅 기능을 통합한 하이브리드 라우팅 프로토콜 |
외부 라우팅 프로토콜 (EGP, Exterior Gateway Procotol)
- 서로 다른 AS사이에서 사용되는 라우팅 프로토콜
BGP (Borer Gateway Protocol) |
Path Vector 라우팅 프로토콜을 이용한 방식으로 AS 내부 IP주소 정보를 인접 AS에 공유하고 인접 AS로부터 IP주소 정보를 수신 및 저장하여 목적지 도달까지 경유하는 AS 연결 그래프를 구성하여 경로를 설정하는 라우팅 프로토콜 |
6. VPN(Virtual Private Network)
사설망 간의 통신에서 공중망을 암호화하여 마치 전용회선처럼 사용할 수 있게 해주는 네트워크 기법으로
공중망을 경유하여 데이터가 전송되더라도 외부인으로부터 안전하게 보호되도록 기능을 제공한다.
PPTP VPN (Point-to-Point) |
지점간 터널링 프로토콜의 줄임말로, 공공 네트워크를 통해 '터널링'을 진행하여 각 네트워크를 확장할 수 있다. |
SSL VPN | Layer4 단계에서 암호화를 통해 통신을 제공한다. |
IPSec VPN | Layer 3 단계에서 강력한 사용자 인증과 암호화를 통해 전용망을 구축하는 기법으로 전용장비가 필요하다. |
7. 암호화 기법
구성 요소 | 내용 |
공개키 기반구조(PKI) | 공개키 암호 방식 기반으로 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자, 정책 및 제도 등을 총칭하는 암호기술 |
전자서명 | 서명자가 해당 전자문서에 서명했다는 사실을 나타내기 위해 논리적으로 결합된 전자적 형태의 정보 |
DOI | 디지털 저작물의 저작권 보호 및 정확한 위치 추적을 위해 특정한 번호를 부여하는 일종의 바코드 시스템 |
URI | 인터넷에 있는 자원을 고유하게 식별할 수 있도록 나타내는 주소 |
XrML | 디지털 콘텐츠/웹 서비스 권리 조건을 표현한. XML 기반의 마크업 언어 |
MPEG-21 | 멀티미디어 관련 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격 |
CMS | 다양한 미디어 포맷에 따라 각종 컨텐츠를 작성, 수집, 관리, 배급하는 컨텐츠 생산에서 활용, 폐기 까지 전 공급 과정을 관리하는 기술 |
코드 난독화 | 역공학을 통한 공격을 막기 위해 프로그램의 소스 코드를 알아보기 힘든 형태로 바꾸는 기술 |
Secure DB | 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술 |
SSO(Single Sign On) | 한 번의 시스템 인증을 통해서 여러 정보 시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 서비스 |
운영체제
사용자의 하드웨어, 시스템 자원들을 제어 및 관리하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어
1. 메모리
- 메인 메모리(RAM)를 뜻한다. 프로그램 실행 시 필요한 주소번지, 정보들을 저장하고 사용할 수 있게 만드는 영역. 즉, 작업을 위해 사용되는 공간을 의미한다.
- 각각의 프로세스는 독립된 메모리 공간을 갖고 다른 프로세스의 메모리에 접근할 권한이 없다. 단지 운영체제 만이 메모리 접근에 제약을 받지 않기 때문에 운영체제에서 메모리를 관리하고 멀티프로그래밍 환경에서 한정된 메모리를 효율적으로 활용하기 위해 관리 방법이 중요해짐.
2. 단편화(Fragmentation)
- RAM에서 메모리 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 충분히 존재하지만 할당이 불가능한 상태를 메모리 단편화라 함.
내부단편화
- 메모리를 할당할 때 프로세스가 필요한 양보다 더 큰 메모리를 할당해서 프로세스에서 사용하는 메모리 공간이 낭비되는 경우
외부단편화
- 메모리가 할당되고 해제되는 작업이 반복될 때 작은 메모리가 중간중간 존재하게 될 경우, 사용하지 않는 작은 메모리로 인해 총 메모리 공간은 충분하지만 실제로 할당할 수 없는 경우
3. 메모리 관리 방법
(1) 연속 메모리 할당
- 프로세스를 메모리에 연속적으로 할당하는 기법
(2) 페이징(Paging)
- 가상메모리를 사용한 기법으로 내부단편화가 존재하지만 외부 단편화는 해결됨
- 하나의 프로세스가 사용하는 메모리 공간이 연속적이어야 한다는 제약을 없애는 메모리 관리 방법
- 페이지 단위를 작게하면 내부 단편화 문제도 해결할 수 있지만 과정이 많아져 오히려 효율이 떨어질 수 있음
(3) 세그먼테이션(Segmentation)
- 가상메모리를 사용한 방법으로 내부단편화가 해결되지만 외부 단편화는 존재함
- 페이징에서처럼 논리 메모리와 물리 메모리를 같은 크기의 블록이 아닌, 서로 다른 크기의 논리적 단위인 세그먼트로 분할
- 세그먼트들의 크기가 다르기 때문에 미리 분할해놓을 수 없고 메모리에 적재될 때 빈 공간을 찾아 할당하는 기법
(4) 메모리 풀(Memory Pool)
- 필요한 메모리 공간을 필요한 크기, 개수 만큼 사용자가 직접 지정하여 미리 할당받아 놓고 필요할 때마다 사용하고 반납하는 기법
- 메모리의 할당, 해제가 잦은 경우에 효과적
- 미리 할당해놓기 때문에 사용하지 않더라도 계속 할당되어 있으므로 메모리 누수로 볼 수도 있음
'other' 카테고리의 다른 글
[정보처리기사] 애플리케이션 테스트 관련 요약 (0) | 2022.07.18 |
---|---|
[정보처리기사] 응집도와 결합도 관련 요약 (0) | 2022.07.18 |
[정보처리기사] DB 데이터베이스 관련 요약 (0) | 2022.07.18 |
[정보처리기사] UI, UML, 다이어그램 관련 요약 (0) | 2022.07.18 |
[정보처리기사] 소프트웨어 및 디자인 패턴 관련 요약 (0) | 2022.07.18 |