정보처리기사

[정보처리기사 실기 기출] 2023년 3회

juble 2024. 10. 16. 18:23

1. 다음 그림과 같이 탭이 달린 폴더 요소 안에 요소들을 집어넣어 표현하는 다이어그램으로 컴포넌트 구조 사이의 관계를 표현하며 요소들을 그룹으로 조직하기 위한 매커니즘의 UML 다이어그램이 무엇인지 쓰시오. 

<그림>

 

패키지 다이어그램

 
* 구조적 다이어그램(Structure Diagram)

클래스 다이어그램 시스템을 구성하는 클래스들 사이의 관계를 표현한다. 
패키지 다이어그램 클래스나 유스케이스 등을 포함한 여러 모델 요소들을 그룹화하여 패키지를 구성하고 패키지들 사이의 관계를 표현한다.
복합체 구조 다이어그램 복합 구조의 클래스와 컴포넌트 내부 구조를 표현한다.
객체 다이어그램 객체 정보를 보여준다.
컴포넌트 다이어그램 컴포넌트 구조 사이의 관계를 표현한다.
배치 다이어그램 소프트웨어, 하드웨어, 네트워크를 포함한 실행 시스템의 물리 구조를 표현한다.

 
* 행위 다이어그램(Behavior Diagram)

유스 케이스 다이어그램 사용자 관점에서 시스템 행위를 표현한다. 
활동 다이어그램 업무 처리 과정이나 연산이 수행되는 과정을 표현한다.
콜라보레이션 다이어그램 순차 다이어그램(Sequence Diagram)과 같으며 모델링 공간에 제약이 없어 구조적인 면을 중시한다. 
상태 머신 다이어그램 객체의 생명주기를 표현한다. 
순차 다이어그램 시간 흐름에 따른 객체 사이의 상호작용을 표현한다. 
통신 다이어그램 객체 사이의 관계를 중심으로 상호작용을 표현한다. 
상호작용 개요 다이어그램 여러 상호작용 다이어그램 사이의 제어 흐름을 표현한다. 
타이밍 다이어그램 객체 상태 변화와 시간 제약을 명시적으로 표현한다. 

 
 


2. 다음은 주어진 평가점수별 학점 조건을 토대로 테스트케이스를 작성하여 테스트를 진행한 결과이다. 다음 적용한 테스트 기법은 명세 기반 테스트의 기법 중 프로그램의 입력 조건에 중점을 두고, 어느 하나의 입력 조건에 대하여 타당한 값과 그렇지 못한 값을 설정하여 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 테스트 기법이다. 적용한 테스트 기법을 무엇이라 하는지 <보기>에서 골라 기호를 쓰시오. 

<조건>

평가점수 학점
0~59 F
60~69 D
70~79 C
80~89 B
90~100 A

 
<결과>

테스트케이스 1 2 3 4 5
구간 0~59 60~69 70~79 80~89 90~100
테스트데이터 55 66 77 88 99
예측값 F D C B A
결과값 F D C B A
ㄱ. Boundary Value Analysis                 ㄴ. Basic Path Test       ㄷ. Comparison Testing                     ㄹ. Loop Test       
ㅁ. Equivalence Partitioning Testing     ㅂ. Data Flow Test        ㅅ. Cause Effect Graphing Testing    ㅇ. Condition Test

 

ㅁ. Equivalence Partitioning Testing

 
* 블랙박스 테스트

  • 동등 분할 기법(동치 분할 검사, Equivalence Partitioning Testing)
    • 입력 자료에 초점을 맞춰 테스트 케이스를 만들어 검사하는 방법
    • 입력 조건에 타당한 입력 자료와 그렇지 않은 자료의 개수를 균등하게 나눠 테스트 케이스를 설정한다. 
  • 경곗값 분석(Boundary Value Analysis)
    • 입력 조건의 경계값을 테스트 케이스로 선정하는 방법
    • 입력 자료에만 치중한 동치 분할 기법을 보완한 것
    • 입력 조건 경계값에서 오류 발생 확률이 크다는 것을 활용하여 경계값 테스트 케이스로 선정해 검사한다. 
  • 원인-효과 그래프 검사(Cause and Effact Graphing)
    • 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법 
  • 오류 예측 검사
    • 과거의 경험이나 테스터의 감각으로 테스트 하는 기법
    • 다른 테스트 기법으로는 찾기 어려운 오류를 찾아내는 보충적 검사 기법이다. 
  • 비교 검사(Comparison Testing)
    • 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법 

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

  • 프로그램 실행 여부
    • 정적 테스트
    • 동적 테스트
  • 테스트 기법
    • 화이트박스 테스트
    • 블랙박스 테스트
  • 테스트에 대한 시각
    • 검증 테스트
    • 확인 테스트
  • 테스트 목적
    • 회복 테스트
    • 안전 테스트
    • 강도 테스트
    • 성능 테스트
    • 구조 테스트
    • 회귀 테스트
    • 병행 테스트 
  • 테스트 기반
    • 명세 기반 테스트
    • 구조 기반 테스트
    • 경험 기반 테스트 

 


3. 다음 두 테이블을 대상으로 <SQL문>을 실행한 출력결과를 쓰시오. 

<T1>

A
1
3
2

 
<T2>

A
4
5

 
<SQL문>

SELECT A FROM T1
UNION
SELECT A FROM T2
ORDER BY A DESC;

 

5
4
3
2
1

 
* SELECT(검색문)

SELECT (DISTINCT) 속성_이름
FROM 테이블_이름
(WHERE 조건)
(GROUP BY 속성_이름
    (HAVING 그룹조건))
(ORDER BY 속성_이름 (ASC/DESC))
  • DISTINCT : 검색 결과에 중복되는 값이 있는 경우 한 번만 표현하도록 하는 옵션이며, 생략 시 중복된 값이 모두 표시된다. 
  • HAVING 그룹조건 : GROUP BY에 의해 그룹으로 분류를 한 후 조건을 제시할 때 사용된다. 
  • ASC : 오름차순(작은 값에서 큰 값)으로 정렬할 때 사용되는 옵션이다. 기본 옵션이다. 
  • DESC : 내림차순(큰 값에서 작은 값)으로 정렬할 때 사용되는 옵션이다. 

 
* UNION 연산

  • DML의 SELECT문의 질의 결과 행으로 얻은 두 테이블 집합(SET) 연산자로 집합 단위의 연산을 할 수 있다. 두 SELECT문으로 선택된 컬럼 A에 대해 UNION 연산을 수행하여 중복을 제거한 후, 행을 합친 후 내림차순 정렬을 수행하여 최종 결과를 출력한다. 
  • 각 집합의 SELECT문은 ORDER BY절을 포함하지 못하지만, 전체 결과 행에 대한 ORDER BY절은 포함할 수 있다. 
UNION  두 질의 결과 행을 합치고 중복을 제거함
UNION ALL 두 질의 결과 행을 합치고 중복을 포함함

 


4. 인터넷 사용 시 비밀번호를 사용하지 않고도 간편 로그인과 같이 다른 클라이언트가 사용자의 접근 권한을 위임한 개방형 프로토콜 또는 프레임워크에 해당하는 용어를 <보기>에서 골라 기호를 쓰시오. 

ㄱ. OAuth      ㄴ. JWT      ㄷ. Cookie      ㄹ. Session      ㅁ. SAML      ㅂ. SSO

 

ㄱ. OAuth

 
* OAuth(Open Authorization)

  • 다양한 플랫폼에서 권한 부여를 위한 산업 표준 프로토콜이다. 
  • 모바일 플랫폼에서 SAML의 결함을 보완하기 위해 개발되었으며, XML이 아닌 JSON을 기반으로 한다. 
  • OAuth API를 사용하여 웹, 앱 서비스에서 제한적으로 권한을 요청해 사용할 수 있는 키를 발급해주면 각 서비스별 ID와 Password를 기억하고 로그인하지 않아도 제한된 설정으로 연결하여 인증이 가능하다. 

 


5. 다음은 정보의 접근통제 정책에 대한 설명이다. 빈칸 ①~③에 각각 알맞은 용어를 영문 약어로 쓰시오. 

정책 ( ① ) ( ② ) ( ③ )
권한 부여 시스템 중앙 관리자 데이터 소유자
접근 결정 보안등급(Label) 역할(Role) 신분(Identity)
정책 변경 고정적(변경 어려움) 변경 용이 변경 용이
장점 안정적, 중앙 집중적 관리 용이 구현 용이, 유연함

 

(1) : MAC
(2) : RBAC
(3) : DAC

 
* 접근 제어 모델(정보의 접근통제 정책)

  • 정보의 접근통제 정책은 시스템의 자원 이용에 대한 불법적인 접근을 방지하는 과정으로 비인가자가 컴퓨터 시스템에 액세스하지 못하도록 하는 것이다. 
정책 MAC(Mandatory Access Control)
강제적 접근 통제
DAC(Discretionary Access Control)
임의적 접근 통제
RBAC(Role Based Access Control)
역할 기반 접근 통제 
권한 부여 시스템  데이터 소유자 중앙 관리자
접근 결정 보안등급(Label) 신분(Identity) 역할(Role)
정책 변경 고정적(변경 어려움) 변경 용이  변경 용이
장점 안정적, 중앙 집중적 구현 용이, 유연함 관리 용이

 


6. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오. 

#include <stdio.h>

int func(int n) { 
    if (n <= 1)
        return 1;
    else
        return n * func(n - 1);
}

int main() {
    printf("%d", func(7));
    return 0;
}

 

5040

 

  • 7! 을 재귀호출을 통해 구현한 프로그램이다. 
  • N! 은 계승(팩토리얼, Factorial)의 표현으로 1부터 N까지의 자연수들을 차례로 곱한 것을 N의 계승이라 한다. 

 


7. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오. 

#include <stdio.h>

int complete(int n) {
    int sum = 0;
    for (int j = 1; j <= n/2; j++){
        if (n%j == 0) {
            sum = sum + j;
        }
    }
    if (sum == n) {
        return 1;
    } else {
        return 0;
    }
}

int main() {
    int total = 0;
    for (int i = 1; i <= 100; i++){
        if (complete(i))
            total += i;
    }
    printf("%d", total);
    return 0;
}

 

34

 

  • 1부터 100 사이의 자연수 중에서 완전수를 구한 후 변수 total에 누적하여 결과를 출력하는 프로그램이다. 
  • 완전수(Perfact Number)는 그 수의 약수들 중, 자기 자신을 제외한 약수를 모두 더한 합이 자기 자신이 되는 자연수이다. 
  • 1부터 100 사이의 자연수 중, 완전수는 6과 28이다. 
    • 6의 약수 {1, 2, 3, 6} 중 자기 자신을 제외한 수를 더하면 1+2+3 = 6이다. 
    • 28의 약수 {1, 2, 4, 7, 14, 28} 중 자기 자신을 제외한 수를 더하면 1 + 2 + 4 + 7 + 14 = 28이다. 

 


8. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오. 

#include <stdio.h>

int main() {
    char* p = "KOREA";
    
    printf("1. %s\n", p);
    printf("2. %s\n", p+1);
    printf("3. %c\n", *p);
    printf("4. %c\n", *(p+3));
    printf("5. %c\n", *p+4);
    
    return 0;
}

 

1. KOREA
2. OREA
3. K
4. E
5. O

 

  • 문자열 상수 "KOREA"를 포인터 변수 p가 참조하도록 정의한 이후 포인터 변수를 참조하여 연산한 결과를 출력하는 프로그램이다. 
  • 해당 문제는 출력 결과를 작성할 때 printf() 함수의 출력 형식 문자 %s, %c를 명확히 구분하여 결과를 작성해야 한다. 
    • %s : 문자열 상수를 출력
    • %c : 단일 문자 상수 한 글자만 출력
  • 포인터 변수 p는 문자열 상수 "KOREA"의 시작 위치(주소)를 값으로 가지고 있으며, *p는 포인터 연산자(*)가 포인터 변수가 가지고 있는 위치(주소)의 내용을 참조하는 연산 처리를 의미한다. 
printf("1. %s\n", p);		// 포인터 변수 p의 값의 위치의 문자부터 널('\0') 문자 전까지 연속하여 출력
printf("2. %s\n", p+1);		// 포인터 변수 p의 값의 위치에서 1간격 떨어진 위치부터 연속하여 출력
printf("3. %c\n", *p);		// 포인터 변수 p의 값의 위치에 있는 문자 한 문자 출력
printf("4. %c\n", *(p+3));	// 포인터 변수 p의 값의 위치에서 3간격 떨어진 위치에 있는 문자 한 문자 출력
printf("5. %c\n", *p+4);	// 포인터 변수 p의 값의 위치에 있는 문자 한 문자('K')에 4를 더한 문자 출력
  • *p + 4 : *p는 K, K+4는 아스키 코드를 출력하라는 것으로, K의 4번째 뒤에 있는 알파벳인 O이다. ( …, K, L, M, N, O, …)

 


9. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과가 다음과 같이 출력되도록 빈칸 ①에 알맞은 연산자를 쓰시오. 

<출력 결과>

과목 : 정보처리
점수 : 100
#include <stdio.h>

struct gisa {
    char *name;
    int score;
};

int main() {
    struct gisa std;
    struct gisa *pstd;
    
    pstd = &std;
    
    std.name = "정보처리";
    std.score = 100;
    printf("과목 : %s\n", std.name);
    printf("점수 : %d\n", pstd ① score);
    
    return 0;
}

 

-> 

 

  • 해당 프로그램은 구조체 변수와 구조체 포인터 변수를 통해 멤버에 값을 대입하고 멤버의 값을 출력하는 프로그램이다. 
  • 구조체 멤버 접근 방법
구조체 변수를 이용하여 접근 . 구조체 변수명.멤버명
구조체 포인터 변수를 이용하여 접근 -> 구조체 변수명->멤버명

 


10. 다음은 Java로 작성된 프로그램이다. 이를 실행 시 에러가 발생하는 코드의 라인 번호를 쓰시오. 

1	class Person {
2	    private String name;
3	    public Person(String val) { 
4	        name = val;
5	    }
6	    public static String get() {
7	        return name;
8	    }
9	   public void print() {
10	      	System.out.println(name);
11	    }
12	}
13	public class Exam {
14	    public static void main(String[] args){
15	        Person obj = new Person("Kang");
16	        obj.print();
17	    }
18	}

 

7

 

  • static 메서드에 클래스의 필드 중 static 필드가 아닌 경우 사용할 수 없기 때문에 7번 라인의 name에서 에러가 발생하였다. 
  • 해당 에러를 해결하기 위해서는 2번 라인의 필드는 다음과 같이 static 필드로 지정해주어야 한다. 
2     private static String name;

 


11. 다음은 Java로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오. 

class Parent {
    int compute(int num) {
        if (num <= 1)
            return num;
        return compute(num-1) + compute(num-2);
    }
}

class Child extends Parent {
    @Override
    int compute(int num) {
        if (num <= 1)
            return num;
        return compute(num-1) + compute(num-3);
    }
}

public class Exam {
    public static void main(String[] args) {
        Parent obj = new Child();
        System.out.print(obj.compute(7));
    }
}

 

2

 

  • 위 프로그램은 3개의 클래스로 구성되어 있으며, Parent 클래스와 Child 클래스는 상속 관계에 있고 Exam 클래스는 실행 클래스이다. 
  • Exam 클래스의 main() 메소드 안에서 Parent obj = new Child(); 를 통해 Child 클래스의 객체(인스턴스)를 생성하며 부모의 참조 변수 obj로 compute(7) 메소드를 호출하여 결과를 출력하는 프로그램이다. 
  • 자식 클래스인 Child에서는 부모 클래스 Parent의 compute(int num) 메소드가 재정의(오버라이드)되어 있으므로 obj.compute(7)를 실행하였을 경우, 자식 클래스에 재정의된 메소드가 호출된다. 
  • obj.compute(7)를 호출하여 진입한 후, 해당 프로그램은 재귀 호출(자신 메소드 호출)을 통한 실행 과정을 거쳐 결과 1을 최종적으로 반환하게 된다. 따라서 출력 결과는 2가 된다. 

c(7) = c(6) + c(4) = c(5) + c(3) + c(3) + c(1) = c(4) + c(2) + c(2) + c(2) + 1 = c(3) + 1 + 1 = 2
 
 


12. 다음은 Java로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오. 

class Parents {
    public void paint() {
        System.out.print("A");
        draw();
    }
    public void draw() {
        system.out.print("B");
        draw();
    }
}
class Child extends Parents {
    public void paint() {
        super.draw();
        System.out.print("C");
        this.draw();
    }
    public void draw() {
        System.out.print("D");
    }
}
public class Exam {
    public ststic void main(String[] args) {
        Parents cld = new Child();
        cld.paint();
        cld.draw();
    }
}
BDCDD

 

  • Java의 다형성(polymorphism)은 부모 클래스와 자식 클래스의 상속 관계에서 부모 클래스가 동일한 메시지(메소드 호출)로 자식 클래스들을 서로 다르게 동작시키는 객체 지향 원리이다. 
  • 다형성을 활용하면 부모 클래스가 자식 클래스의 동작 방식을 알 수 없어도 오버라이딩(Overriding)을 통해 자식 클래스에 접근 가능하다. 실행 시점에 동적 바인딩으로 부모 클래스가 자식 클래스의 메소드에 접근하여 실행이 가능하다. 
  • 프로그램의 Parents cld = new Child(); 명령문을 통해 자식 객체가 생성되고 이를 부모 참조 변수 cld를 통해 참조가 다형성이 구현되고 있다. cld.paint(); 명령문을 통해 Child 클래스의 오버라이드 된 paint() 메소드 내부가 실행된다. 
  • super.draw(); 명령문은 Parents 클래스의 draw() 메소드를 호출하여 "B"를 출력한다. 출력 후 Child의 오버라이드된 draw() 메소드를 하여 "D"를 출력하고 반환한다. 
  • 반환된 이후 paint() 메소드의 다음 명령문을 통해 "C"를 출력한다. 다음으로 this.draw(); 명령문을 통해 자신의 draw() 메소드를 호출하여 "D"를 출력 후 반환한다. 이후 main() 메소드로 반환한다. 
  • main() 메소드로 반환이 이루어진 후, cld.draw(); 명령문을 통해 Child 클래스의 draw() 메소드를 호출하여 "D"를 출력하고 main() 메소드로 반환 후 프로그램을 종료한다. 

 


13. 다음은 Pythob 언어로 작성된 프로그램이다. 프로그램을 실행하여 '12A34'를 입력하였을 경우 실행 결과가 '12 34'를 출력하도록 빈칸에 알맞은 함수명을 쓰시오. 

num1, num2 = input().________('A')
print(num1, num2)

 

split

 

  • Python의 split 함수와 다중 대입에 관한 문제이다. 
  • split 함수 : string을 구분자(delimiter)를 기준으로 분리한 후 분리된 각 부분을 원소로 가지는 리스트를 반환함
  • 형식 : string.split(delimiter, maxsplit)
  • 입력받은 문자열 "12A34"를 'A'를 기준으로 분할하고 정수형으로 num1, num2에 각각 할당한다. 

 


14. 리눅스 서버에 a.txt라는 파일이 있다. 다음 <조건>에 처리하는 <명령문>의 빈칸 ①, ②에 각각 알맞은 명령을 쓰시오. 

<조건>

- 사용자에게는 읽기, 쓰기, 실행의 세 개의 권한을 모두 부여하고 그룹에게는 읽기, 실행 두 개의 권한을 부여하고 그룹 외 사용자에게는 실행 권한을 부여한다. 
- 단, 한 줄로 명령문이 작성되어야 하며, 아라비안 숫자를 사용하여 8진수로 권한을 부여한다. 

 
<명령문>

①   ②   a.txt

 

(1) : chmod
(2) : 751

 

  • chmod 명령어 : 유닉스 또는 리눅스에서 파일이나 디렉토리에 대한 엑세스(읽기, 쓰기, 실행) 권한을 설정하는 명렁어
  • 형식 : chmod [옵션][모드] 파일
  • a.txt에 대한 권한
구분 사용자 권한 그룹 권한 그룹 외 권한
기호 모드 r w x r - x - - x
(8진수)
숫자 모드
4 2 1 4 0 1 0 0 1
7 5 1

 
 


15. 다음 설명에 해당하는 관계 대수 연산기호를 빈칸 ①~④에 각각 <보기>에서 골라 쓰시오. 

( ① ) 공통 속성을 기준으로 두 릴레이션을 합하여 새로운 릴레이션을 만드는 연산
( ② ) 속성 리스트로 주어진 속성만 구하는 수직적 연산
( ③ ) 조건에 맞는 튜플을 구하는 수평적 연산
( ④ ) 두 릴레이션 R1, R2에 대해 릴레이션 R2의 모든 조건을 만족하는 튜플들을 릴레이션 R1에서 분리해 내어 프로젝션하는 연산 
ㄱ. ∪          ㄴ. σ          ㄷ. ∩          ㄹ. π          ㅁ. -          ㅂ.          ㅅ. ×          ㅇ. ÷ 

 

(1) : ㅂ
(2) : ㄹ
(3) : ㄴ
(4) : ㅇ

 

* 관계 대수(Relational Algebra)

  • 관계 대수는 릴레이션에서 사용자가 원하는 결과를 얻기 위해 연산자를 표현하는 방법으로 결과를 얻기 위한 절차를 표현하기 때문에 절차적 언어라고 한다. 
  • 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법 
  • 관계 대수는 크게 순수 관계 연산자와 일반 집합 연산자로 나뉜다. 
구분 연산자 기호 의미
순수
관계
연산자
Select σ 조건에 맞는 튜플을 구하는 수평적 연산
Project π 속성 리스트로 주어진 속성만 구하는 수직적 연산
Join 공통 속성을 기준으로 두 릴레이션을 합하여 새로운 릴레이션을 만드는 연산
Division ÷ 두 릴레이션 A, B에 대해 B 릴레이션의 모든 조건을 만족하는 튜플들을 릴레이션 A에서 분리해 내어 프로젝션하는 연산
일반
집합
연산자
합집합 두 릴레이션의 튜플의 합집합을 구하는 연산
교집합 두 릴레이션의 튜플의 교집합을 구하는 연산
차집합 - 두 릴레이션의 튜플의 차집합을 구하는 연산
교차곱 × 두 릴레이션의 튜플들의 교차곱(순서쌍)을 구하는 연산

 


16. 다음 설명하는 빈칸에 알맞은 용어를 쓰시오. 

릴레이션 무결성 제약조건은 릴레이션을 조작하는 과정에서의 의미적 관계(Semantic Relationship)를 명세한 것으로 정의 대상으로 도메인, 키, 종속성 등이 있다. 

그 중 (      ) 무결성 제약조건은 릴레이션 R1에 속성 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의 기본키도 변경해야 한다. 이때 참조할 수 없는 외래키 값을 가질 수 없다는 제약조건이다. 

 

참조

 
* 데이터베이스의 무결성 규정(Integrity Rule)

  • 개체 무결성 제약조건
    • 기본키는 NULL 값을 가져서는 안되며, 릴레이션 내에 오직 하나의 값만 존재해야 한다는 제약조건
  • 참조 무결성 제약조건
    • 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음을 의미하는 제약 조건
  • 도메인 무결성 제약조건
    • 릴레이션 내의 튜플들이 각 속성의 도메인에 정해진 값만을 가져야 한다는 제약 조건

 


17. 다음 공통으로 설명하는 라우팅 프로토콜 명칭을 영문 약어로 쓰시오. 

- 패킷을 목적지까지 전달하기 위해 사용되는 라우팅 프로토콜이다. 
- 거리 벡터 기반 라우팅 프로토콜로 홉 수를 기반으로 경로를 선택한다. 
- 최대 15홉 이하 규모의 네트워크를 주요 대상으로 하는 라우팅 프로토콜이다. 
- 최적의 경로를 산출하기 위한 정보로서 홉(거리 값)만을 고려하므로, 선택한 경로가 최적의 경로가 아닌 경우가 많이 발생할 수 있다. 

 

RIP

 
* RIP(Routing Information Protocol)

  • '거리 벡터 라우팅 프로토콜'이라고도 하며, 최대 홉 카운트를 15홉 이하로 한정하고 있다. 
  • 최단 경로 탐색에는 Dellman-Ford 알고리즘을 사용하며 소규모 네트워크 환경에 적합하다. 

 


18. 다음 설명하는 용어를 영문 약어로 쓰시오. 

우리나라 말로 번역하면 '네트워크 주소 변환'으로 내부에서 사용하는 사설 IP 주소와 외부로 보여지는 공인 IP 주소 간의 IP Address 변환 방식을 말한다. 한정된 하나의 공인 IP를 여러 개의 내부 사설 IP로 변환하여 사용하기 위한 기술이며, 내부 네트워크 주소의 보안을 위해 사용하는 방법 중 하나이다. 

 

NAT

 
* NAT(Network Address Translation)

  • '네트워크 주소 변환'으로 내부에서 사용하는 사설 IP 주소와 외부로 보여지는 공인 IP 주소 간의 IP Address 변환 방식을 말한다. 
  • 한정된 하나의 공인 IP를 여러 개의 내부 사설 IP로 변환하여 사용하기 위한 기술이며, 내부 네트워크 주소의 보안을 위해 사용하는 방법 중 하나이다. 

 


19. 다음 공통으로 설명하는 용어를 영문 약어로 쓰시오. 

- B-ISDN의 핵심 기술로 회선 교환과 패킷 교환의 장점을 결합한 교환 및 다중화 기술이다. 
- 비동기식 전달 모드로 멀티미디어 서비스에 적합하다. 
- 정보는 셀(Cell) 단위로 나누어 전송된다. 
- 셀(Cell)의 구성 : 헤더(Header) 5옥텟, 페이로드(Payload) 48옥텟
- ATM의 프로토콜 구조 : 사용자 평면, 제어 평면, 관리 평면

 

ATM

 
* ATM(Asynchronous Transfer Mode)

  • B-ISDN의 핵심 기술로 회선 교환과 패킷 교환의 장점을 결합한 교환 및 다중화 기술이다. 
  • 비동기식 전달 모드로 멀티미디어 서비스에 적합하다. 
  • 정보는 셀(Cell) 단위로 나누어 전송된다. 
  • 셀(Cell)의 구성 : 헤더(Header) 5옥텟, 페이로드(Payload) 48옥텟
  • ATM의 프로토콜 구조 : 사용자 평면, 제어 평면, 관리 평면

 


20. 다음은 클라우드 컴퓨팅 서비스 모델에 대한 설명이다. 빈칸 ①~③에 알맞은 용어를 영문 약어로 쓰시오. 

( ① ) - 인프라스트럭처를 서비스로 제공하는 모델
- 서비스를 개발할 수 있는 안정적인 환경과 그 환경을 이용하는 응용 프로그램을 개발할 수 있는 API까지 제공하는 서비스 
( ② ) - 플랫폼을 서비스로 제공하는 모델
- 서버, 스토리지 자원을 쉽고 편하게 이용하기 쉽게 서비스 형태로 제공하여 다른 유형의 기반이 되는 기술
( ③ ) - 소프트웨어를 서비스로 제공하는 모델
- 주문형 소프트웨어라고도 하며 사용자는 시스템이 무엇으로 이루어져 있고 어떻게 동작하는지 알 필요가 없이 단말기 등에서 필요하면 언제든지 제공받을 수 있음 

 

(1) : IaaS
(2) : PaaS
(3) : SaaS

 
* 클라우드 컴퓨팅(Cloud Computing)

  • 클라우드 컴퓨팅은 인터넷을 통해 가상화된 컴퓨터 시스템 자원을 요구하는 즉시 처리하여 제공하는 기술이다. 
  • 클라우드 컴퓨팅 서비스 모델
IaaS
(Infrastructure
as a Service)
- 인프라스트럭처를 서비스로 제공하는 모델, 인프라 기본 서비스
- 서비스를 개발할 수 있는 안정적인 환경과 그 환경을 이용하는 응용 프로그램을 개발할 수 있는 API까지 제공하는 서비스 
PaaS
(Platform
as a Service)
- 플랫폼을 서비스로 제공하는 모델, 플랫폼 기반 서비스 
- 서버, 스토리지 자원을 쉽고 편하게 이용하기 쉽게 서비스 형태로 제공하여 다른 유형의 기반이 되는 기술
SaaS
(Software
as a Service)
- 소프트웨어를 서비스로 제공하는 모델, 소프트웨어 기반 서비스
- 주문형 소프트웨어라고도 하며 사용자는 시스템이 무엇으로 이루어져 있고 어떻게 동작하는지 알 필요가 없이 단말기 등에서 필요하면 언제든지 제공받을 수 있음 

 


해설은 이기적 실기 기본서를 참고하였습니다 :)

 

728x90
반응형