ETC/ETC

[정보처리기사] 오답 개념정리

dev.pudding 2024. 2. 13. 15:40
728x90

C언어

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
    int arr[2][3] = [1,2,3,4,5,6];
    int (*p)[3] = NULL;
    p  = arr;
}

 

다차원배열에서 p+1 처럼 인덱스가 표기되지 않고 단순히 배열 이름인 p 만 표시됬을 때이는 첫번째 행(1,2,3)을 가리키게 된다. 따라서 p+1을 하면, 두번째 행(4,5,6)으로 간 것임 

p[0]+1 : 2

P+1 : (4,5,6)

*(*(p+1) + 1) :  5 

 

 

#include <stdio.h>
int main(int argc, char* argv[]){
    int a = 5, b = 3 , c = 12;
    int t1, t2, t3;
    t1 = a && b;
    t2 = a || B;
    T3 = !c;
    
    printf("%d", t1+t2+t3);
    return 0;
}

정수로만 비교하는 경우 0 이외의 값은 모두 참(true)을 뜻하는 1이 된다.

a && b : 5 && 3    -> 1

a || b : 5 || 3     -> 1

!c : !12     -> 0

따라서 답은 2

 

a[0]의 주소값이 10이고 , int 형의 크기를 4byte로 가정했을 때 실행결과 

#include <stdio.h>
int main(int argc, char* argv[]){
    int a[] = {14,22,30,38};
    printf("%u, ", &a[2]);
    printf("%u",a);
    return 0;
}

일단 주소값이랑 요소값이랑 다른 것임.. 즉 a[0] =  14 이것의 주소값이 10이라는 것 

int 형의 크기는 4바이트씩 늘어나니까 , 오른쪽으로 갈 수록 10 14 18 .... 이런식으로 흘러감 

배열의 값을 그대로 출력하고 싶다면 프린트포맷을 %d로 하고, 주소값을 출력하고 싶다면 %u를 사용 

a[2] 의 주소값은 18 이되고 a의 주소값, 즉 a[0] 의 주소값은 10이 됨 

 

PCM(Pulse Code Modulation)의 특징 

  • 최초로 실용화된 음성의 디지털 부호화다중화 전송 방식
  • 프랑스의 A.H.Reeves가 설계
  • 아날로그에서 디지털로 변환
  • 시분할다중화의 최초구현 
  • PCM의 디지털화 과정 : 표본화 -> 양자화 -> 부호화

DoS 공격 (Denial of Service)

  • Ping of Dead : 대량의 ICMP 패킷을 전송해 네트워크를 마비시킴 
  • SMURFING(스머핑) : IP나 ICMP의 특정을 이용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로서 네트워크를 불능상태로 만드는 방법. 
  • TearDrop : 데이터 송수신 과정에서 패킷의 크기가 커 여러개로 분할되어 분할 순서를 알 수 있도록 Fragment Offset값을 함께 전송하는데, TearDrop은 Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 떄 오류로 인한 과부화를 발생시킴으로서 시스템이 다운되도록 하는 방법 
  • SYN Flooding : TCP는 신뢰성있는 전송을 위해 3-way-handshake를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 3--way-handshake 과정을 의도적으로 중단시킴으로서 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격방법 
  • Land : 패킷을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 공격 대상에게 전송하는 것으로, 이 패킷을 받은 공격 대상은 송신 IP주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답하게 하는 공격
  • DDoS(Distributed Denial of Service) : DDoS 공격은 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대한 분산 서비스 공격을 수행하는 것으로, 네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트들에 분산 서비스 공격용 툴을 설치하여 에이전트로 만든 후 DDoS 공격에 이용 

 

 

비트연산자 

& : 대응되는 비트가 모두 1이면 1을 반환  (AND) 

|   : 대응되는 비트 중에서 하나라도 1이면 1을 반환함 (OR)

^ : 두 비트가 서로 다르면 1을 반환하고 서로 같으면 0을 반환

>> : 2진수로 변환하고 오른쪽으로 이동

<< : 2진수로 변환하고 왼쪽으로 이동 

https://colossus-java-practice.tistory.com/19

 

[Chapter 2 연산자] 6. 비트 연산자 - 시프트 연산자 (Shift Operator)

지금까지 다양한 연산자들에 대해서 알아보고 있다. 연산자의 종류는 엄청나게 다양하지만 의외로 우리들이 알고 있는 연산자들도 많고 생각보다 쉬운 연산자들도 더러 있었다. 그런데 이번 시

colossus-java-practice.tistory.com

 

트랜잭션 

Isolation (독립성, 격리성) 

둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 중간에 끼어들 수 없음

수행중인 트랜잭션은 완전히 완료될 때까지 참조 불가능 

 

Consistency (일관성)

트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성있는 데이터베이스 상태로 변환함

시스템의 고정 요소가 트랜잭션 전후에 상태가 같아야함 

 

Atomicity (원자성)

트랜잭션의 연산은 데이터베이스에 모두 반영되든지 , 전형 반영되지 않아야함

트랜잭션 내의 모든 명령은 완벽히 수행되어야함

어느 하나라도 에러가 발생하면 트랜잭션의 전부가 취소되어야함 (Rollback)

 

Durability (영속성, 지속성)

성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야함 

 

병행 제어기법 

타임스탬프 순서(Timestamp ordering) 기법 

비직렬 트랜잭션을 타임스탬프 순서에 따라 직렬화 시키는 방법이다.

데이터에 접근하는 시간(Timestamp)를 미리 정해두어 부여된 시간 순서대로 데이터에 접근하며, lock을 사용하지 않고 시간을 나눠 사용하기 때문에 교착상태(deadlock)이 발생하지 않는다.

하지만 Rollback 발생률이 높고 연쇄 복귀를 초래할 수 있는 단점이 있다. 

 

 

라우팅 프로토콜

RIP (Routing Information Protocol)

AS 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 프로토콜

15홉 제한 

벨만-포드 알고리즘 사용

UDP 사용

30초마다 정보 공유 

라우팅 프로토콜을 IGP와 EGP로 분리했을 떄 IGP(내부 게이트웨이 프로토콜)에 해당

각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신

프로세스 스케줄링

HRN 스케줄링 

최소 작업 우선(SJF) 기법의 약점을 보완한 비선점 스케줄링 기법으로 다음과 같은 식을 이용해 우선 순위를 판별한다

우선순위 = 대기 시간+서비스받을 시간 / 서비스받을 시간 

UDP 프로토콜의 특징

  • 비연결형 서비스를 제공한다
  • 단순한 헤더 구조로 오버헤드가 적다
  • TCP와 같이 트랜스포트 계층에 존재한다

스토리지

SAN(Storage Area Network)

  • 네트워크상에 광채널 스위치의 이점인 고속전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
  • 각기 다른 운영체제를 가진 여러 기종들이 네트워크상에서 동일 저장장치의 데이터를 공유하게 함으로써 여러개의 저장장치나 백업장비를 단일화시킨 시스템 

DAS(Direct Attached Storage)

  • 서버 장비에 직접 연결하여 운용하는 방식의 저장 장치 

응집도 (Cohesion)

Functional Cohesion(기능적 응집도)

  • 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우
  • 가장 강함 

Sequential Cohesion(순차적 응집도)

  • 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용  

Communication Cohesion(교환적 응집도) 

  • 동일한 입력과 출력을 사용해 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도 

Procedural Cohesion(절차적 응집도) 

  • 모듈의 다수의 관련 기능을 가질 떄 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도

Temporal Cohesion(시간적 응집도)

  • 모듈 내 구성 요소들이 서로 다른 기능을 같은 시간대에 함께 실행

Logical Cohesion(논리적 응집도)

  • 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우

Coincidental Cohesion(우연적 응집도)

  • 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우 
  • 가장 약함 

 

 

ARQ (자동반복요청, Automatic Repeat reQuest)

오류발생 시 수신측은 오류 발생을 송신측에 통보하고 송신측은 오류 발생 블록을 재전송하는 절차

  • 수신측 : 오류 발생 탐지, 통보
  • 송신측 : 재전송

Stop-and-Wait ARQ 

  • 송신측에서 한 개의 블록을 전송한 후 수신측으로부터 응답을 기다리는 방식 
  • 구현 방법은 단순하지만, 전송 효율이 떨어짐

Go-Back-N ARQ

  • 송신측은 연속적으로 데이터 블록을 보냄
  • 오류가 발생한 블록 이후의 모든 블록을 재전송 

Selective Repeat ARQ

  • 송신측은 연속적으로 데이터 블록을 보냄 
  • 오류가 발생한 블록만을 재전송 
  • 수신측에서 원래 순서대로 조합해야 하므로 복잡해짐

Adaptive Repeat ARQ

  • 데이터 블록의 길이를 채널의 상태에 따라 동적으로 변경 
  • 전송 효율이 가장 좋음
  • 제어회로가 복잡하고 비용이 많이 들어 거의 사용하지 않음 

File Descriptor (파일 디스크립터)

  • 파일을 관리하기 위한 시스템이 필요로 하는 파일에 대한 정보를 갖는 제어블록 
  • 파일마다 독립적으로 존재하며 시스템에 따라 다른 구조를 가질 수 있음
  • 보조기억장치 내에 저장되어 있다가 해당 파일이 오픈될 때 주기억장치로 이동
  • 파일 디스크립터는 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없음
  • 파일 제어 블록 (FCB, File Control Block)이라고 함
  • 파일 디스크립터의 정보 -> 파일이름, 보조기억장치에서의 파일 위치, 파일 구조, 보조기억장치의 유형, 엑세스 제어 정보, 파일유형,생성과 제거의 날짜와 시간, 최종 수정 날짜 및 시간 

TCP 프로토콜 

  • 신뢰성이 있는 연결 지향형 전달 서비스
  • OSI 7계층의 전송 계층 (Transport) -> 호스트 간의 신뢰성있는 통신제공(TCP,UDP)
  • 패킷의 다중화, 순서제어, 오류제어, 흐름제어 기능
  • Stream 전송 기능 
  • 헤더크기는 최소 20 byte, 최대 40 byte까지 확장이 가능하다

IP 프로토콜 

  • checksum 기능으로 header checksum 기능만 제공한다.
  • 비연결 서비스를 제공
  • Best Effort 원칙에 따른 전송 기능을 제공
  • 패킷을 분할,병합하는 기능을 수행하기도 함 

TCP 헤더 

 

Source Port / Destination Port (송신 포트/수신 포트)

TCP로 연결되는 가상 회선 양단의 송수신 프로세스에 할당된 네트워크 포트 주소이다. 인터넷 환경에서는 통신을 원하는 프로세스가 실행되는 호스트 주소와 호스트 내부에서 다른 프로세스와 구분할 수 있는 프로세스 전용의 고유 주소가 필요하다.  호스트 주소는 IP 프로토콜에서 정의된 호스트의 IP 주소를 사용해 구분할 수 있다. 프로세스에 할당되는 네트워크 자원을 포트(Port)라고 하는데, 포트를 구분하기 위한 고유 주소가 포트번호이다. 포트번호는 TCP와 UDP가 별도의 주소 공간을 갖기 때문에 같은 번호를 사용할 수 있다. 

 

Sequence Number (순서 번호)

송신자가 지정하는 순서번호다. 세그먼트 전송과정에서 전송되는 바이트 수를 기준으로 증가한다. 즉, TCP에서는 전송 데이터의 각 바이트마다 순서번호가 존재한다. 크기가 32비트인 필드로 표시할 수 있고 최대 범위가 232개 가능해 크기가 충분히 크므로 순서번호가 쉽게 중복되지 않는다. 송신자가 최초 데이터를 전송할 때는 임의의 순서 번호를 선택해 전송한다. 이는 전송 연결이 예기치 않은 이유로 끊어졋을 때 순서 번호가 혼선되는 것을 방지하기 위함이다.

 

Acknowledgement Number(응답 번호)

수신 프로세스가 제대로 수신한 바이트의 수를 응답하기 위해 사용한다.

 

Checksum(체크섬)

TCP 세그먼트에 포함되는 프로토콜 헤더와 데이터 모두에 대한 변형 오류를 검출하려고 사용한다. IP 프로토콜에서 사용하는 오류 검출 알고리즘을 사용한다.

 

https://winyong.tistory.com/52

 

TCP 헤더 ( TCP Header )

TCP 헤더 (TCP Header) ​ TCP의 세그먼트는 [그림 9-8]과 같은 헤더 구조로 시작하고, 전송 데이터가 뒤따른다. 그림 상단의 숫자는 비트 수다. 마지막 줄의 Options와 Padding은 생략할 수 있으므로 TCP 헤

winyong.tistory.com

 

IP 주소 클래스 

 

클래스 A :  대형 네트워크 지원 -> 1.0.0.0 ~ 126.0.0.0/28

클래스 B : 중간규모 네트워크 지원 -> 128.0.0.0 ~ 191.255.0.0/16

클래스 C : 소형 네트워크 지원 -> 192.0.0.0 ~ 233.255.255.0/24

 

 

시스코 자격증 준비할 때 정리했던 자료 보기.. 정처기에서는 범위만 나오는 듯. 

https://bytepudding.tistory.com/20

 

[CCNA] IP주소 클래스(A,B,C,D,E class)란?

IP 주소 클래스란? IPv4 주소는 32자리 이진수로 구성되어 있고, 이 주소는 십진수로 표현되는데 옥텟 당 '.'을 찍어 구분한다. IP주소는 호스트영역과 네트워크 영역으로 구분되어있다. 현대에는

bytepudding.tistory.com

 

결합도 (Coupling) 

  • Content Coupling(내용 결합도) 
    한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정(public 속성)하는 경우, 결합도 가장 높음
      
  • Common Coupling(공유 결합도)
    공유되는 공통 데이터 영역(전역변수)을 여러 모듈이 사용할 때의 결합도
  • External Coupling(외부 결합도)
    어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도
  • Control Coupling(제어 결합도)
    어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 요소(Flag)를 전달하는 결합
  • Stamp Coupling(스탬프 결합도) 
    모듈 간의 인터페이스로 배열이나 레코드 등의 자료구조가 전달될 때의 결합도
  • Data Coupling(자료 결합도)
    모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도. 결합도 가장 낮음 

 

미들웨어 (Middleware)

ORB : 객체 지향 미들웨어로 코바 표준 스펙을 구현한 미들웨어 

WAS : 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어 

TP-Monitor(Transaction Processing Moniter) : 항공기나 철도 예약 업무 등과 같은 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어 , 사용자 수가 증가해도 빠른 응답속도를 유지해야하는 업무에 주로 사용 

MOM(Message Oriented Middleware) : 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어, 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용 

DB(DataBase) : 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하기 위해 만든 미들웨어, DB를 사용하여 시스템을 구축하는 경우 보통 2-Tier 아키텍처라고 함. 

RPC(Remote Procedure Call) : 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 방식 

 

네트워크 신기술 

IoT(Internet Of Things, 사물 인터넷)

  • 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술 
  • 무선 통신을 통해 각종 사물을 연결하는 기술을 의미 

Mesh Network

  • 차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
  • 대규모 디바이스의 네트워크 생성에 최적화 되있음 

파스타(PaaS-TA)

  • 소프트웨어 개발 환경을 제공하기 위해 개발한 개방형 클라우드 컴퓨팅 플랫폼
  • 국내 IT 서비스 경쟁력 강화를 목표로 과학기술정보통신부와 한국정보화 진흥원이 연구개발(R&D)를 지원
  • 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영 환경으로 구성 

Zing

  • 10cm 이내 거리에서 3.5Gbps 속도의 데이터 전송이 가능한 초고속 근접 무선 통신(NFC)
  • 휴대용 스마트 기기, 노트북, 쇼핑몰 거리 등의 광고나 키오스크에 접목하여 사용 

SSO(Single Sign On)

  • 한 번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 해주는 시스템

Smart Grid

  • 정보 기술을 전력에 접목해 효율성을 높인 시스템으로, 전력 IT라고도 부름 
  • 전력선을 기반으로 모든 통신, 정보, 관련 어플리케이션 인프라를 하나의 시스템으로 통합하여 관리함으로서 효율적인 에너지 관리가 가능 

 

클라우드 기반 HSM(Cloud-Based Hardware Security Module)

  • 클라우드를 기반으로 암호화 키의 생성, 저장, 처리 등의 작업을 수행하는 보안기기를 가리키는 용어
  • 클라우드에 인증서를 저장하므로 스마트폰과 같은 개별 기기에 인증서를 저장할 필요가 없음 
  • 암호화 키 생성이 하드웨어적으로 구현되기 때문에 소프트웨어적으로 구현된 암호 기술이 가지는 보안 취약점을 무시할 수 있음 

파장 분할 다중화 (WDM, Wavelength Division Multiplexing)

  • 광섬유를 이용한 통신 기술의 하나로, 파장이 서로 다른 복수의 신호를 보냄으로서 여러대의 단말기가 동시에 통신회선을 사용할 수 있도록 하는 것 
  • 파장이 다른 광선끼리는 서로 간섭을 일으키지 않는 성질을 이용한 기술

보안 용어 

BaaS:Blockchain as a Service

  • 블록체인 앱의 개발 환경을 클라우드 기반으로 제공하는 서비스
  • 블록체인 네트워크에 노드의 추가 및 제거가 용이, 블록체인 플랫폼마다 다른 블록체인 기술을 편리하게 사용할 수 있게 함 

OWASP(the Open Web Application Security Project)

  • 웹 정보 노출이나 악성코드, 보안이 취약한 부분을 연구하는 비영리 단체

TCP Wrapper

  • 외부 컴퓨터의 접속 인가 여부를 점검하여 접속을 허용 및 거부하는 보안용 도구 
  • 네트워크에 접속하면 로그인한 다른 컴퓨터 사용자의 ID 및 로그를 조회하여 악용이 가능한데, 이를 방지하기 위한 방화벽 역할을 수행함

Honeypot

  •  비정상적인 접근을 탐지하기 위해 설치해둔 시스템
  • 침입자를 속여 실제 공격을 당하는 것처럼 보여줌으로서 추적 및 공격 기법에 대한 정보를 수집 

DPI(Deep Packet Inspection)

  • OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술 

IP Spoofing

spoof 뜻은 패러디하다. 속이다 이런 뜻 . 공격자가 자신의 IP 주소를 신뢰 관계에 있는 호스트의 IP 주소로 바꾸어 속이는 것으로 IP 주소로 인증하는 서비스(rlogin, rsh)를 무력화시킴 

즉 공격자가 마치 신뢰성있는 자가 송신한 것처럼 패킷의 소스 IP 주소를 변조하여 접속을 시도하는 침입형태 

 

 

 

'ETC > ETC' 카테고리의 다른 글

이번주  (0) 2024.02.28
정처기 두음법칙  (0) 2024.02.23
[정보처리기사] 정처기 정리  (1) 2024.02.16
[정보처리기사] 오답 개념정리  (0) 2024.02.14
정처기 정리  (0) 2024.02.05