2022년 정보처리기사 실기 2회 - 1

Darcy Daeseok YU ·2023년 4월 16일
0

관계 데이터 모델의 제안자인 코드가 관계 데이터베이스를 위해 제안하였다.
()은 관계 데이터의 연산을 표현하는 방법 / 원하는 정보를 정의할때 계산 수식을 사용.
()은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 가짐

답: 관계해석 (비절차적)

반대는 절차적 관계대수

Select : 시그마 (가져오는 거)
Project : 파이 (어떤 속성 어떤 컬럼 가져올지 여기에 기술)
Join : 보타이 (테이블 합칠 때)
Division : 나누기 (관련 있는거 가져올 때)

암호화 알고리즘 : 파훼 => 레이보우테이블 또는 무작위
참고 : [https://starrykss.tistory.com/1644](암호화 관련 블로그)

Feistel 구조 : 2블럭으로 나누고 교차해서 저장 DES, 3DES

SPN 구조 : 1블럭 그대로 저장 AES

블록 암호화 알고리즘 

AES : 128bit 평문을 128/192/256bit로 암호화
키 크기에 따라 12 / 12 / 14회 round 수행
1997년 NIST에의해 제정
레인달에 기반한 암호화 방식
SPN 암호방식을 사용
SEED : 국내기술 128/256비트 대칭키 블록 암호 알고리즘
ARIA : 국가 보안기술 연구소 128/192/256비트 암호 / SPN
IDEA : 1990년 스위스에서 만들어진 PES rofid
키길이 128비트 / 블락길이가 62비트
feistel

스트림 암호 알고리즘

LFSR / RC4 / A5

인터넷등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션

답 : VPN

보안 솔류션
-방화벽(firewall)
네트워크 간에 전송되는 정보를 선별하는 기능을 가진 침입 차단 시스템
-웹방화벽(web firewall) : WAF
웹 기반 공격을 방어할 목적으로 만들어진 웹 서버 특화 방화벽
-침입탐지 시스템(IDS: Intrusion Detection System)
컴퓨터 시스템의 비정상적 사용, 오용등을 실시간으로 탐지하는
-침입방지 시스템(IPS : Intrusion Prevention System)
방화벽과 침입탐지 시스템 결합
-데이터유출방지(DLP : Data Leakage/Loss Prevention)
내부 정보의 유출 방지
-NAC(Network Access Control)
특정 MAC주소(고유랜카드 주소) 를 관리 / 등록한 후 일관된 보안관리 기능을 제공하는 보안솔루션
-ESM( Enterprise Security Management)
다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합관리하는 보안 솔루션

라우팅
네크워크 집합을 몇개의 그룹으로 나누었을때
동일 그룹내에서 라우팅 정보를 교환할 대 사용하는 라우팅 프로토콜

답은 IGP
대표 프로토콜은 RIP / OSPF

다른 그룹과 라우팅 정보를 교환하는 프로토콜

답은 EGP
대표 프로토콜은 BGP

라우팅 프로토콜
정적(Static) 정해진 경로
동적(Dynamic)
IGP (내부 그룹 통신 프로토콜)
내부라우팅 프로토콜
Distance Vector (거리 벡터 알고리즘) : RIP(최대 15홉 이동) / IGRP 특정업체에서만 사용
Link-State Vector (연결 상태 벡터 알고리즘) : OSPF / EIGRP 특정업체에서만 사용

EGP (외부 그룹 통신 프로토콜)
외부라우팅 프로토콜
BGP

응용(Application) : 데이터 생성 목적으로 사용자에게 인터페이스(응용프로그램)와 네트워크 서비스를 제공

표현(Presentation) : 응용계층에서 만들어진 데이터를 컴퓨터가 인식할수 있도록 데이터 표현 방식을 알려줌
테이터 확장자를 포함해 생성된 데이터가 어떤방식으로 표현되는지 알려주느 계층 : 암호화 압축화도 진행

세션(Session) : 응용프로그램간 또는 네트워크간에 연결을 맺거나 유지/종료의 연결상태를 담당

전송(Transport) : 데이터 전송방식을 결정하고 서비스의 포트번호를 구별
데이타를 보낼때 TCP 나 UDP나 전송방식을 4계층 Transport 전송 계층에서 결정
전송방식=> TCP(Transmissi텍스트on Control Protocol)/UDP(User Datagram Protocol)
HTTP 는 80번 포트, Telnet은 23번 포트,FTP 는 20번(data)과 21번(연결) 포트
주소 : POLT(2Byte)
프로토콜 : TCP(신뢰성 - 확인응답), UDP(빠른속도- 음성/영상)
4PDU : 세그먼트
장비 : L4 스위치( port 구분 - 서비스 구분)

네트워크(Network) : 논리적 주소(IP)를 기반으로 출발지에서 목적지까지 가는 데이터 경로를 결정
최적 경로를 결정하는 녀석을 Routing Protocol 이라 하며 목적지 까지 가는 경로의 값을 통하여
우선순위를 가지게 되며 경로를 결정
주소: IP(4B) -논리적 주소
프로토콜 : IP, ARP, RARP, ICMP, IGMP
3PDU : 패킷, 데이터그램
장비 : 라우터 , L3 스위치

데이터(Data Link) : 물리적 주소를 기반으로 노드대 노드(Point-To-Point)로 데이터 전송 형태를 결정
물리적 주소는 MAC주소라 하며 LAN카드(NIC)에 부여받은 고유한 주소로써 장비를 구별하게 되며 데이터 전송 형태에는 MA 형태와 PTP 형태가 존재
계층의 전송로에 따라 전송 형태를 결정 즉, 1계층이 UTP 구간이라면 Ethernet 방식으로, Serial 구간이면 HDLC, PPP 방식으로 결정
주소 : MAC(6B) - 물리적 주소
프로토콜: LAN(ethernet), WAN(HDLC/PPP)
2PDU : 프레임 (헤더 + 풋터 / 트레일러)

물리(Physical) : 2계층까지 만들어진 프레임(데이터)를 컴퓨터가 이해할 수 있는 2진수로 변환하고 전기적 신호로써 전송로를 통해 목적지까지 실질적 데이터를 전달하는 계층
장비: 케이블(UTP/searial), 커넥터, 허브/리피터 (증폭-->전송길이 연장)

테스트

알파테스트 : 개발자 통제하에 사용자가 개발 환경에서 수행하는 테스트 : 내부 자체 검사이며 실제 사용환경에서 동작시키며 관련자만 참여

베타테스트 : 개발된 소프트웨어를 사용자가 실제 운영환경에서 수행하는 테스트

		인수 테스트 알파/베타 테스트 
	시스템 테스트 기능/비기능(성능,보안 등) 테스트
통합테스트 : 단위테스트 + 단위테스트 하향식(스텁) 상향식(드라이버)

단위테스트 : 개발자 정적+동적테스트

회귀테스트 (Regression) : 변경 또는 수정된 코드에 대하여 새로운 결함 발견 여부를 평가하는 테스트

애플리케이션 테스트 유형 분류

-프로그램 실행 여부: 정적 / 동적 테스트
-테스트 기법: 커버리지 (테스트 범위)
화이트박스(코드 리뷰 : 문장 / 분기 / 경로 / 조건 검증)
블랙박스 테스트 (동작상태에서 리뷰 :동등분할 / 경계값 분석 / 오류예측 / 원인 결과 그래프 / 의사 결정 테이블 테스팅 / 상태전이 테스틍 )
-테스트에 대한 시각
검증테스트:개발자
확인테스트:사용자

-테스트 목적: 회복/안전/강도/성능/구조/회귀/병행 테스트
-테스트 기반: 명세(문서 기반) 시간 걸림 /구조(소스코드 기반) 시간 걸림 /경험 기반 테스트
-테스트 오라클 : 미리 정의된 참값과 결과 비교
특징: 제한된 검증 / 수학적 기법 / 자동화 기능
유형:
참오라클 (모든 테스트 케이스 입력값의 기대 결과값에 대한 확인) 가능한 모든 전수 테스트 가능
샘플링오라클 (특정 입력값에 대한 기대 결과값을 제공해 주는 오라클) 경계값, 구간별 예상값 결과 작성 사용
휴리스틱오라클 (샘플링 오라클의 단점 개선_특정 몇몇 입력은 샘플링오라클과 같은 결과 제공, 나머지 입력은
휴리스틱(확률과 직관)처리) 실험 결과나 수치데이터 처리시 사용
일관성검사오라클 (이전수행 결과와 현재 수행 결과가 동일한지 검증) 회귀 테스트에서 수정 전/후의 결과 확인
상용테ㅡ트 자동화 도구에서 사용

모듈 설계

-결합도 (낮을수록 좋음 -> 아래로 갈수록 낮아짐 : 좋아짐) Coupling
내용 (Content) : 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용
공통 (Common) : 전역변수를 참조
외부 (External): 모듈 외부에 선언한 변수를 다른 모듈에서 참조
제어 (Control): 모듈간 제어요소가 전달
스탬프 (Stamp) : 모듈간 배열이나 오브젝트, 스트럭처 등이 전달 => 주소값을 참조(값이 바뀜)
자료 (Data) : 모듈간 자료/값만 전달 =>

-응집도 (높을수록 좋음 -> 아래로 갈수록 높아짐 : 좋아짐) : Cohesion
우연적 (Coincidental): 모듈 내부의 각 구성 요소들이 연관성 없음.
논리적 (Logical): 유사성격 또는 특정형태로 분류되는 처리요소들이 한 모듈에서 수행
시간적 (Temporal): 특정시간에 처리되어야하는 활동을 한곳에 모아 수행
절차적 (Procedural): 모듈내 구성요소들이 기능을 순차적으로 수행
통신적 (Communication): 동일한 입력과 출력을 사용하여 다른 활동을 수행
순차적 (Sequential): 모듈내 한 활동으로부터 나온 출력값을 다른 활동이 사용
기능적 (Functional): 모듈내 모든 기능이 단일 목적을 위해 수행

용어 문제

HTTP는 W3상에서 정보를 주고받을 수 있는 프로토콜이다. GET,POST 방식을 이용하여 문서를 주고 받는데 이문서내에 다른 문서의 링크정보가 들어가는데, 이런 링크정보를 만들수 있는게 HyperText 이다 ()
이런 HyperText를 만들수 있는 마크업 언어가 HTML이다.

WSDL 사용법
SOAP UDDI에 저장된 WSDL을 SOAP을 사용해서 통신
UDDI WSDL저장

http보안 : IPSec / SSL / SHTTP

SOLID 객체지향 설계원칙

단일 책임의 원칙 (SRP : Single Responsibility Priciple) 한 클래스는 하나의 책임만을 가저야함

개발 폐쇄 원칙 (OCP : Open-closed Principle) 확장에는 열려잇고, 수정에는 닫혀 있어야함

리스코프 치환 원칙(LSP : Liskov Substitution Priciple) 자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 함.

인터페이스 분리 원칙 (ISP : Interface Segregation Priciple) 자신이 사용하지 않는 인터페이스는 구현하지 말아야 함.

의존성 역전 원칙(DIP: Dependency Inversion Priciple) 의존 관계를 맺을 때 자주 변화하는 것보다 변화가 거의 없는 것에 의존해야 함.

UI설계 원칙

직관성 : 쉽게 이해
유효성 : 유용하고 효과적
학습성 : 쉽게 배우고 익힘
유연성 : 요구를 최대한 수용 오류최소화

서브넷 마스트 Subnet mask

255.255.255.192

11111111.11111111.11111111.11000000 =24 + 2비트 = 26비트 사용

접근 주소 192.168.100.132
서브넷 마스크 255.255.255.192 => 192 : 2진수 11 / 000000 앞에 2비트를 네트워크 주소로 쓰겠다.

사용가능 비트
00+000000 ~ 00+111111 => 0 ~ 0+63(32+16+8+4+2+1) => 0~63으로는 132를 만족못함
01+000000 ~ 01+111111 => 0 ~ 127(64+32+16+8+4+2+1) => 0~127으로는 132를 만족못함
10+000000 ~ 10+111111 => 0 ~ 191(128+0+32+16+8+4+2+1) => 0~191으로는 132를 만족
11+000000 ~ 11+111111 => 0 ~ 255(128+64+32+16+8+4+2+1) => 0~511으로는 132를 만족

IPv4주소
192.168.0.1
(A).(B).(C).

  1. (A클래스) 표준 서브넷 마스크 => 255.0.0.0
    192.168.(B클래스) 표준 서브넷 마스크 => 255.255.0.0
    192.168.0.(C클래스) 표준 서브넷 마스크 => 255.255.255.0 맨처음/맨끝 제외 해서 254개 사용가능

Q. 192.168.0.1/25가 의미하는 서브넷 마스크 값은
255.255.255. | 0
8bit.8bit.8bit 네크워크ID | 호스트ID
11111111.11111111.11111111.00000000 => 24비트 A회사 호스트 ID 00000000
11111111.11111111.11111111.10000000 => 25비트 B회사 호스트 ID 10000000
255.255.255.128

Q. 203.76.25.1/26가 의미하는 서브넷 마스크 값은

11111111.11111111.11111111.11000000 => 26비트 호스트ID 11000000

255.255.255.192

Q. IPv4 C클래스 네크워크를 26개의 서브넷으로 나누고,
각 서브넷에는 4~5개의 호스트를 연결하려고 한다. 이러한 서브넷을 구성하기 위한 서브넷 마스크 값은?

255.255.255.10000000 => 2개회사
255.255.255.11000000 => 4개회사
255.255.255.11100000 => 8개회사
255.255.255.11110000 => 16개회사
255.255.255.11111000 => 32개회사

255.255.255.248

Q B클래스 주소를 가지고 서브넷 마스크 255.255.255.240 서브넷을 만들었을때 나오는
서브넷의 수와 호스트 수는

B클래스 : 255.255.0.0

255.240 11111111.11110000 12bit 네트워크 아이디
2의 12승 = 4094서브넷
호스트 수 : 11110000 의 0000의 수 - 2 (네트워크주소 1 브로드캐스트주소 1 사용못함 ) => 14개

Q B클래스 네트워크에서 6개의 서브넷이 필요할 때 서브넷 주소

네크워크 주소 : 255.255.
255.255.10000000.00000000 = 2개
255.255.11000000.00000000 = 4개
255.255.11100000.00000000 = 8개
255.255.224.0

profile
React, React-Native https://darcyu83.netlify.app/

0개의 댓글