정보처리기사 실기 정리 - 3

DSeung·2022년 5월 6일
2

정보처리기사

목록 보기
17/18

패킷 교환(Packet Switching) 방식

OSI 참조 모델의 네트워크 계층에 해당하며 일정한 패킷으로 잘라서 전송하는 방식

종류

가상 회선 방식

  • 통신회선을 미리 설정하여 물리적인 회선이 공유되어 경로에 따른 순서적 패킷 전송
  • 데이터 전송의 안정성, 신뢰성 보장
  • Clear Request Packet : 모든 패킷 전송 후 마지막으로 전송하여 접속을 끝내는 용도

데이터그램 방식

  • 특정 경로를 설정하지 않고 트래픽 상황을 감안하여 순서 관계 없이 전송
  • 해더에 붙어서 개별적으로 전달하는 비연결형 교환 방식

OSI 7계층

네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것

물데네전세표응

명칭 특징 단위(PDU) 프로토콜 주요 장비
Layer1: 물리 계층(Physical Layer) 물리적인 장치의 전기적, 전자적 연결에대한 명세로 디지털 데이터를 아날로적인 전기적 신호로 변환하여 물리적 전송을 가능케 함.
주소 개념이 없으므로 물리적 연결로 신호를 주고 받음
비트(Bit) x.21, RS-232 허브(Hub), 리피터(Repeater), 네트워크 카드(NIC : Network Interface Card)
Layer2: 데이터 링크 계층(Data Link Layer) 브릿지나 스위치를 통해 MAC(Media Access Control) Address를 가지고 물리계층에서 받은 정보를 전달한다 프레임(Frame) HDLC, X.25, Ethernet, TokenRing, DFFI, FrameRelay 브리지(Bridge), L2 Switch
Layer3: 네트워크 계층(Network Layer) 호스트로 도달하기 위한 최적의 경로를 라우팅 알고리즘을 통해 선택하고 제어한다, 종단간 전송을 위한 주소로 IP주소를 사용하여 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능 패킷(Packet) IP, ARP, ICMP, IGMP, RIP, RIP v2, OSPF, IGRP, EIGRP, BGP 라우터(Router), L3 Switch
Layer4: 전송 계층(Transport Layer) 종단간 신뢰성 있는 데이터 전송을 담당하며, 종단(Host)의 구체적인 목적지(Process)까지 데이터가 도달할 수 있도록 한다, Process를 특정하기 위한 주소로 Port Number를 이용, 신뢰성 있는 데이터 전송을 위해 분할과 재조합, 연결제어, 흐름제어, 오류제어, 혼합제어를 수행한다. 세그먼트(Segment) TCP, UDP L4 Switch
Layer5: 세션 계층(Session Layer) 응용 프로그램 간의 논리적 연결(세션) 및 제어를 담당한다. 데이터(Data) 또는 메세지(Message) 없음 없음
Layer6: 표현 계층(Presentation Layer) 데이터 표현방식, 상이한 부호체계 간의 변화에 대해 규정, 인코딩/디코딩, 압축/해제, 암복호화 등의 역할을 수행함 데이터(Data) 없음 업음
Layer7: 응용 계층(Application Layer) 우리가 사용하는 UI를 제공하는 프로그램을 칭함 데이터(Data) TELNET, FTP, SMTP, HTTP 없음

3계층

  • ICMP(Internet Control Messge Protocol) : ICMP는 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
  • IGMP(Internet Group Management Protocol) : 호스트가 멀티캐스트 그룹 구성원을 인접한 라우터에게로 알려주는 프로토콜
  • IGRP(Interior Gateway Routing Protocol) : 자율 시스템 내의 라우팅 데이터를 교환할 목적으로 라우터가 사용
  • EIGRP(Enhanced Interior Gateway Routing Protocol) : IGRP를 기반으로 한 개방형 라우팅 프로토콜

4계층

  • TCP(Transmission Control Protocol) : 인터넷 상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용되는 프로토콜로 연결형 서비스이며 가상 회선 방식을 제공, UDP 보다 느리다 (=> TCP/IP로도 불림)
  • UDP(User Datagram Protocol) : 데이터를 데이터그램 단위로 처리하는 프로토콜로 비연결형 서비스로 데이터그램 방식을 제공, TCP보다 빠르다

7계층

  • FTP(File Transfer Protocol) : TCP/IP 프로토콜을 가지는 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜
  • SMTP(Simple Mail Transfer Protocol) : 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜
  • TELNET : 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜이다.
  • HTTP : HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 레이어 프로토콜이다.

Gof(Gang of Four Design Pattern)

객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴

생성 패턴(Creational Pattern)

  • 객체를 생성하는데 관련된 패턴들
  • 객체가 생성되는 과정의 유연성을 높이고 코드의 유지를 쉽게 함
명칭 특징
팩토리 메소드(Factory Method) 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정
추상 팩토리(Abstract Factory) 서로 연관, 의존하는 객체들의 그룹을 생성하여 추상적으로 표현
빌더(Builder) 분리된 인스턴스(객체)를 건축하듯 조합하여 새 객체를 생성
프로토타입(Prototype) 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴
싱글톤(Singleton) 여러 프로세스가 하나의 객체를 참조하는 방식

구조 패턴(Structual Pattern)

  • 프로그램 구조에 관련된 패턴들
  • 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램의 구조를 설계하는데 활용할 수 있는 패턴들
명칭 특징
어댑터(Adaptor) 클래스들의 호환성이 맞도록 변환해주는 패턴
브리지(Bridge) 서로가 독립적으로 확장할 수 있도록 한 패턴, 기능과 구현을 별도의 클래스에서 구현(다리 놓듯이)
컴포지드(Composite) 단일 객체와 복합 객체를 구분 없이 합성물처럼 다루고자 할 때 사용
데코레이터(Decorator) 객체간의 결합으로 기능을 확장하는 것으로 부가적인 기능 추가를 위해 다른 객체들을 덧붙이는 방식
퍼싸드(Facade) 커다란 코드 부분에 대한 간략화된 인터페이스를 제공함으로써 간단하게 복잡한 명령을 수행 가능
플라이웨이트(Flyweight) 인스턴스를 가능한 한 공유해서 사용해서 메모리 절약
프록시(Proxy) 접근이 어려운 객체와 여기 접근하려는 객체 사이의 인터페이스 역할

행위 패턴(Behavioral Pattern)

  • 반복적으로 사용되는 객체들의 상호작용을 패턴화 해놓은 것들
명칭 특징
책임 연쇄(Chain of Responsibility) 요청을 한 객체가 처리 못하면 다음 객체로 책임이 넘어가는 패턴
커맨드(Command) 요청을 캡슐화하여 재이용하거나 취소할 수 있도록 로그로 남겨두면서 명령어를 하나로 합쳐둔 것
인터프리터(Interpreter) 언어 번역하는 것으로 언어에 문법표현을 정의함, SQL이나 통신 프로토콜에 이용
반복자(Iterator) 같은 명령의 반복이고 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 함
중재자(Mediator) 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의하므로써 객체 사이의 결합도를 줄임
메멘토(Memento) 객체를 특정 시점의 상태로 되돌리는 기능으로 내가 사랑하는 CTRL + Z 기능 개발시 사용
옵저버(Observer) 한 객체의 상태 변화시 상속되어있는 다른 객체들에게 알림, 시스템간에 이벤트를 생성하고 수신시 사용
상태(State) 객체의 상태에 따라 동일한 동작을 다르게 처리할 때 사용
전략(Staregy) 동일한 계열의 알고리즘을 캡슐화하여 상호 교환할 수 있게 함으로써 클라이언트에 영향 없이 알고리즘 변경 가능
탬플릿 메소드(Template Method) 상위 클래스에서 골격 정의, 하위 클래스에서 세부 처리를 구체화함으로써 유지보수를 용이하게 함
방문자(Visitor) 각 클래스들의 데이터 구조에서 처리 기능을 별도의 클래스로 구성하여 각 클래스에서 방문해서 수행가능하게 함

럼바우 분석 기법

  • 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하여 객체지향 분석 기법

순서는 객체 모델링 -> 동적 모델링 -> 기능 모델링

객체 모델링(Object Modeling, Information Modeling)

  • 객체 다이어그램 이용
  • 정보 모델링이라고도 함
  • 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정

동적 모델링(Dynamic Modeling)

  • 상태도를 이용
  • 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위 표현

기능 모델링(Functional Modeling)

  • 자료 흐름도(DFD)를 이용
  • 다수의 프로세스들 간의 자료의 흐름을 중심으로 처리 과정을 표현
  • 어떤 데이터를 입력하면 어떤 결과를 구할 것인지 표현

객체지향

캡슐화

  • 자료 부분과 연산 또는 함수 부분 등, 정보처리에 필요한 기능을 한 테두리로 묶은 것, 필요한 인터페이스 만을 밖에 드러냄

정보은닉

  • 객체가 다른 객체로부터 자신의 자료를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것

추상화

  • 주어진 문제나 시스템 중에서 중요하고 관계있는 부분만을 분리하여 간결하고 이해하기 쉽게 만드는 것

상속

  • 상위 클래스의 속성과 메서드를 하위 클래스가 물려받는 것
  • 클래스와 객체를 재사용 가능

다형성

  • 많은 상이한 클래스들이 동일한 메서드명을 이용하는 능력

연관성

  • 클래스간의 연관관계를 정의
  • 객체간의 관계를 세부적으로 정의하여 구현에 용이

연관성 종류

연관화(Association)

  • is-member-of
  • 객체들의 물리적 또는 개념적 연결을 두 개 이상의 객체와 클래스로 표현

분류화(Classification)

  • is-instance-of
  • 동일한 형의 특성을 갖는 객체들이 모여 클래스를 구성한 것

집단화(Aggregraiton)

  • is-part-of
  • 서로 관련이 있는 여러 개의 객체를 묶어 하나의 상위 객체 생성

일반화(Generalization) | 특수화(Sepcialization)

  • is-a
  • 일반화는 객체들에게 있어 공통적인 성질들을 상위 객체로 정의
  • 특수화는 객체들의 하위의 부분형을 객체로 정의
  • 하위로 내려갈수록 객체는 특수화

UML 다이어그램

UML 다이어그램은 통합 모델링 언어로 사용하여 시스템 상호작용, 업무흐름, 시스템 구조, 컴포넌트 관계 등을 그린 도면이다.

  • 클래스 다이어그램(Class Diagram) : 클래스의 속성, 함수, 변수타입들로 구성된 다이어그램
  • 객체 다이어그램(Object Diagram) : 클래스의 인스턴스, 값이 매겨진 행동을 가지고 있는 독립된 객체정보를 표현하는 다이어그램
  • 패키지 다이어그램(Package Diagram) : UML의 다양한 모델요소를 그룹화한 다이어그램
  • 컴포넌트 다이어그램(Component Diagram) : 컴포넌트끼리의 구조 관계를 표현한 다이어그램
  • 배치 다이어그램(Deployment Diagram) : SW, HW 등을 포함한 시스템의 물리적인 구조를 나타내는 다이어그램
  • 행위 다이어그램(Use Case Diagram, 쓰임새 다이어그램) : 사용자 관점에서 바라본 시스템을 표현한 다이어그램
  • 활동 다이어그램(Activity Diagram, 활동 다이어그램) : 여러 활동들의 순차, 병행 방식 등을 수행하는 상황을 표현한 다이어그램
  • 상태 다이어그램(State Diagram) : 하나의 객체가 다른 객체와의 상호작용에 따라 어떻게 변화는 지 표현하는 다이어그램
  • 순서 다이어그램(Sequence Diagram) : 여러 대상 간의 상호작용 시간순서를 따라 표현한 다이어그램
  • 커뮤니케이션 다이어그램(Communication Diagram) : 동작에 참여하는 객체들이 주고받는 메시지를 표현하고 메시지 뿐만 아니라 객체 간의 관계까지 표현하는 다이어그램

RTO, RPO

RPO(Recovery Point Objective, 목표 복구 시점)

  • 재해 발생 시 데이터 손실을 수용할 수 있는 손실 허용 시점

RTO(Recovery Time Objective, 목표 복구 시간)

  • 재해로 인하여 서비스가 중단되었을 대 서비스를 복구하는 데 걸리는 최대 허용 시간
profile
블로그에 글을 쓰고 좋은 건 여기로 공유해서 검색엔진을 쪽쪽 빱니다.

0개의 댓글