코딩하는라민

[정보처리기사 실기] IP 주소 계산 및 실기 중요 개념 본문

자격증 공부/정보처리기사

[정보처리기사 실기] IP 주소 계산 및 실기 중요 개념

코딩하는라민 2023. 10. 3. 23:16
728x90
반응형

[정보처리기사 실기] IP 주소 계산 및 실기 중요 개념

 

 

IP 주소 계산하기

22년 3회 기출
192.168.1.0/24 인 IP주소를 FLSM 방식으로 3개의 서브넷으로 분할할 때 두 번째 서브넷의 브로드캐스트 IP 주소(10진수)를 쓰시오.

더보기

① 192.168.1.0
② 3개의 서브넷으로 분할
③ 두 번째 서브넷
④ 브로드캐스트 IP 주소

(1) 2진수로 바꾸기
11000000.10101000.00000001.00000000

(2) 2^n >= (분할할 서브넷 개수) 를 만족하는 n의 최솟값 구하기
3개의 서브넷이므로 최소 n = 2
즉, 마지막 옥텟(8비트) 중 맨 앞 n  자리를 서브넷 ID 로 사용
나머지는 호스트 ID

(3)
서브넷 ID 는 2진수로 모두 0이 채워진 값부터 모두 1로 채워진 값까지 1씩 증가시킨다.
1. 00
2. 01
3. 10
4. 11
두 번째 서브넷이므로 서브넷 ID 는 01

(4)
브로드캐스트 주소는 호스트 ID 를 모두 1로 바꾸면 된다.
모두 0으로 채우면 네트워크 주소
브로드캐스트 주소는 01111111이고, 10진수로 바꾸면 127

따라서 11000000.10101000.00000001.01111111 을 10진수로 바꾸면
192.168.1.127 이다.


22년 2회 기출

더보기

 네트워크 주소는 호스트 주소와 서브넷 마스크 주소를 2진수로 변경 후 AND 연산을 수행해 10진수로 변경하면 됨.
AND연산은 모두 1이어야만 1이고, 나머지는 0이된다.


② 네트워크 주소에서 사용 가능한 호스트 주소 개수를 구하려면,
일단 서브넷 마스크에서 호스트 ID 부분을 구하고, 여기서 1인 부분이 2자리이므로 4개의 서브넷으로 나뉘어진 것을 확인할 수 있다.
나머지 6자리는 호스트 ID 이므로 사용할 수 있는 호스트 범위는 2^6 인 64개가 된다.
여기서 0으로 이루어진 네트워크 주소와 1로 이루어진 브로드캐스트 2개를 빼면 된다.
즉, 62개의 호스트만 사용할 수 있다.


디자인 패턴

생성패턴

더보기

Singleton : 전역 변수를 사용하지 않고 객체 하나만 생성, 생성 객체는 어디서든지 참조

Prototype : 첨부터 원형 만들어 놓고, 복사 후 필요한 부분만 수정하여 사용

Builder : 객체 생성 방법과 객체 구현 방법 분리

Factory Method : 상위 클래스에서 객체 생성 인터페이스 정의, 하위 클래스에서 인스턴스 생성(공장처럼 역할 분리 느낌)

Abstract Factory : 구체적 클래스에 의존하지 않고 서로 연관되거나 의존적 객체들의 조합을 만드는 인터페이스 제공


팩토리 → 생성 패턴
Sing 글톤 Sang 성 패턴 (song, sing sang song ~)
프로 생성러
생성, 빌드

 
구조패턴

더보기

Adapter : 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할하는 인터페이스 만드는 패턴

Decorator : 구현되어있는 클래스에 필요한 기능 추가(필요한 기능을 하나씩 데코해 나가는 느낌)

Composite : 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현

Bridge : 기능 클래스 계층과 구현 클래스 계층 연결, 구현부에서 추상 계층 분리

Facade : 복잡한 시스템에 단순한 인터페이스 제공

Flywight : 클래스의 경량화 목적, 모두가 갖는 요소를 클래스화해서 공유하여 메모리 절약

Proxy : 실체 객체에 대한 대리 객체, 접근 이전에 필요한 행동을 취할 수 있게 함, 정보 은닉 역할도 함


중간에서 맞춰주는 어댑터(중재자 아님)

컴포지트 트리구조

브릿지 다리 연결

플라이웨이트 날아다닐 정도로 가볍게 경량화,,, 클래스화해서 공유

프록시 대리,, 미리 필요한 행동을 취하세요.. 예..

 
행위패턴

더보기

Mediator : 객체가 많아지면 서로 간 통신으로 복잡해져서 객체 지향에서 중요한 느슨한 결합을 해친다. 그래서 중간에 통제하고 지시할 수 있는 중재자 두고, 통신 빈도수 줄여 객체 지향의 목표를 달성하게 해줌

Interpreter : 언어의 다양한 해석, 구문을 나눠 여러 형태 언어 해석

Iterator : 구현 방법을 노출하지 않으면서, 모든 항목에 접근할 방법 제공, 복잡한 객체 원소를 순차적 접근

Template Method : 일부분을 서브 클래스로 캡슐화, 작업 수행 구조는 바뀌지 않으면서 특정 단계에서 수행하는 내역 바꿈

State : 객체 상태를 캡슐화하여 클래스화하고, 그것을 참조하게 하는 방식, 객체의 상태에 따라 행위 내용 변경

Visitor : 처리기능 분리 후 별도의 클래스 만들어, 메서드가 각 클래스를 돌아다니면서 작업 수행, 객체의 구조는 변경하지 않으면서 긴으만 따로 추가하거나 확장

Observer : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락이 가고, 내용 갱신

Command : 실행될 기능을 캡슐화함으로써 여러 기능을 실행할 수 있는 재사용성 높은 클래스를 설계, 추상 클래스에 메서드를 만들어 명령이 들어오면 그에 맞는 서브 클래스가 실행됨

Strategy : 알고리즘 정의 후 각각을 캡슐화하여 필요할 때 서로 교환하여 사용

Memento : 객체의 정보를 저장할 필요가 있을 때 적용, Undo 기능 개발할 때 사용, 객체를 이전 상태로 복구해야 하는 경우

Chain of Responsibility : 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있도록 연결

 

응집도

(좋음)기순통절 시논우(나쁨)

더보기

기능적 functional - 모든 기능이 단일 목적

순차적 sequential - 한 활동으로부터 나온 출력값을 → 다른 활동이 사용

통신적 communication - 동일한 입력과 출력을 사용하여 다른 기능 수행

절차적 procedural - 순차적 수행(‘순차’ → 순차적 응집도 아님)

시간적 temporal - 특정 시간에 처리되어야 하는 활동, 한 모듈에서 처리

논리적 logical - 유사 성격, 한 모듈에서 처리(논리적 - 유사)
우연적 coincidental - 연관성 없는 서로 다른 기능 수행

 

결합도

(좋음)자스제 외공내(나쁨)

더보기


자료 결합도 data - 파라미터를 통해서만 모듈간 상호작용, 한 모듈을 변경해도 다른 모듈에 영향 없음
스탬프 결합도 stamp  - 모듈 간 인터페이스, 동일한 자료구조 조회
제어 결합도 control - 다른 모듈의 내부 논리 조직을 제어하기 위한 목적, 권리 전도 현상
외부 결합도 external - 외부 모듈에서 도입된 데이터 포맷, 통신 프로토콜, 디바이스 인터페이스를 공유할 때, 외부 모듈에서 선언한 데이터를 다른 외부 모듈에서 참조할 때
공통 결합도 common - 파라미터가 아닌, 모듈 밖 전역변수 참조하고 전역 변수를 갱신
내용 결합도 content  - 다른 모듈 내부에 있는 변수, 기능을 다른 모듈에서 사용, 하나늬 모듈이 다른 모듈의 내용을 참조

 

OSI 7 계층

물데네 전세표응

더보기

물리계층 - 0과 1의 비트 정보, 허브 / 리피터
데이터 링크 계층 - 인접 시스템 간 데이터 전송, 동기화, 오류제어, 흐름제어, 회선제어, 브리지 / 스위치(HDLC, PPP)
네트워크 계층 - 단말기 간 데이터 전송을 위한 최적화된 경로 제공, 라우터(IP, ICMP)
전송계층 - 송수신 프로세스 간 연결, 신뢰성 있는 통신 보장, 데이터 분할, 재조립, 흐름제어, 오류제어, 혼잡제어, 스위치(TCP, UDP)
세션계층 - 송수신 간 논리적 연결, 연결접속, 동기제어
표현계층 - 데이터 형식 설정, 부호교환, 암복호화
응용계층 - 사용자와 네트워크 간 응용서비스 연결, 데이터 생성(HTTP, FTP)

 

소프트웨어 아키텍처 4+1 뷰

유논프구배

더보기

유스케이스 뷰 - 다른 뷰 검증
논리 뷰 - 기능적 요구사항
프로세스 뷰 - 비기능적 요구사항
구현 뷰 - 개발 환경 안에서 정적 소프트웨어 구성 보여줌
배포 뷰 - 컴포넌트 배치, 매핑

 

소프트웨어 아키텍처 패턴 유형

더보기

클라이언트-서버 패턴 : 하나의 서버와 다수의 클라이언트로 구성

계층화 패턴 : 서로 마주보는 두 개의 계층 사이에서만 상호작용, 화위 모듈은 추상화 제공하고 상위 계층에 서비스 제공

브로커 패턴 : 분리된 컴포넌트들로 이루어진 분산 시스템에 사용, 리다이렉션

파이프-필터 패턴 : 입력 데이터를 받아 처리하고 결과를 다음 서브 시스템에 넘겨줌, 데이터 스트림을 생성하고 처리하는 시스템에 사용

모델-뷰-컨트롤러 패턴(MVC) : 대화형 애플리케이션을 3개의 서브 시스템으로 구조화, 각 부분이 별도의 컴포넌트로 분리, 서로 영향받지 않음

 

UML 다이어그램

정적 다이어그램(구조적)
클객컴 배복패

더보기

클래스 - 클래스의 속성. 연산과 클래스 간 정적 관계 표현
객체 - 사물(객체), 인스턴스를 객체와 객체 사이의 관계로 표현
컴포넌트 - 물리적 컴포넌트, 그들 사이 의존 관계 표현
배치 - 종속성, 물리적 요소들의 위치 표현
복합체 구조 - 복합 구조의 내부 구조 표현
패키지 - 모델 요소들을 그룹화한 패키지들의 관계 표현

 
동적 다이어그램(행위적)
유시커 상활타

더보기

유스케이스 : 기능, 관련 외부 요소를 사용자의 관점에서 표현

시퀀스 : 객체 간 동적 상호 작용을 시간적 개념을 중심으로 메시지 흐름 표현

커뮤니케이션 : 동작에 참여하는 객체들이 주고 받는 메시지 표현, 그 연관 관계도 표현

상태 : 객체가 속한 클래스의 상태 변화, 상호 작용에 따라 어떻게 변화하는지 표현

활동 : 어떤 기능을 수행하는지, 처리 로직이나 조건에 따른 처리 흐름을 순서대로 표현

타이밍 : 상태변화와 시간 제약을 명시적으로 표현

 

화이트박스테스트

더보기

구문커버리지/문장커버리지 - 모든 명령문을 적어도 한번 수행
결정 커버리지/분기 커버리지 - 전체 조건식이 적어도 한번은 참과 거짓 결과 수행
조건 커버리지 - 개별 조건식이 적어도 한번은 참과 거짓의 결과 수행(and, or 로 연결된 식 각각 다 T or F 나와야 함)
조건/결정 커버리지 - 전체 뿐만 아니라 개별 조건식도 참참과 거짓 결과 수행
변경 조건/결정 커버리지 - 다른 개별 조건식에 영향받지 않고 전체 조건식에 독립적 영향
다중 조건 커버리지 - 모든 가능한 조합을 100% 커버


회복 기법

회로체그

더보기

로그기반 회복기법 - 지연갱신 회복기법, 즉각갱신 회복기법
체크포인트 회복기법 - 검사점 이후 트랜잭션만 복원
그림자 페이징 회복기법 - 복제본 생성하여 복구

 

728x90
반응형