본문 바로가기
IT★자격증/정보시스템감리사 기출문제 풀이

2022년 제 23회 정보시스템 감리사 기출문제 풀이 - 시스템구조(91-95)

by 꼬모부 2023. 12. 25.
728x90
화이트 메리 크리스마스!!

2022년 제 23회 정보시스템 감리사 기출문제 풀이 91-95번까지 이어서 풀이를 진행하고자 합니다.
도움이 되시길 바랍니다.

시스템구조

 

문제 91
91. 다음 멀티캐스트 라우팅 프로토콜 중에서 그룹 공유 트리(group-shared tree) 방식을 사용하는 프로토콜로 가장 적절한 것은?

① MOSPF
② DVMRP
③ CBT
④ PIM-DM

 

출제의도

라우팅 프로토콜에 대해서 알고 있어야 합니다.
 

멀티캐스트 라우팅이란?

멀티캐스트 라우팅은 컴퓨터 네트워크에서 한 번의 송신으로 메시지나 정보를 목표한 여러 컴퓨터에 동시에 전송하는 것을 말합니다. 이는 특히 대규모 네트워크에서 효율적인 데이터 전송 방식으로 사용됩니다. 멀티캐스트 라우팅에서는 목적지 주소뿐만 아니라 소스의 주소도 고려해야 하며, 이를 위해 두 가지 주요 접근법이 있습니다:

  1. 소스 기반 트리 라우팅: 이 방식에서는 각 소스마다 트리를 따로 만듭니다. 예를 들어, DVMRP (Distance Vector Multicast Routing Protocol)와 MOSPF (Multicast Open Shortest Path First)는 이 방식을 사용합니다.
  2. 그룹 공유 트리 라우팅: 이 방식에서는 각 그룹마다 하나의 트리를 공유합니다. 멀티캐스트 라우팅은 특히 대규모 데이터를 여러 위치로 전송해야 하는 경우에 유용하며, IPTV와 같은 서비스에서 주로 사용됩니다.

이러한 서비스에서는 네트워크의 대역폭을 최대한 활용하기 위해 멀티캐스트 라우팅이 필요합니다.
 

각 문항에 대한 설명
① MOSPF (Multicast Open Shortest Path First): MOSPF는 OSPF의 확장으로, 소스 기반 트리 방식을 사용합니다. 이 방식에서는 각 소스마다 트리를 따로 만듭니다.

② DVMRP (Distance Vector Multicast Routing Protocol): DVMRP는 RIP의 확장으로, 소스 기반 트리 방식을 사용합니다. 이 방식에서는 각 소스마다 트리를 따로 만듭니다.

③ CBT (Core Based Trees): CBT는 그룹 공유 트리 방식을 사용하는 프로토콜입니다. 이 방식에서는 각 그룹마다 하나의 트리를 공유합니다.

④ PIM-DM (Protocol Independent Multicast - Dense Mode): PIM-DM은 고밀도 멀티캐스트 라우팅을 사용하며, 수신기가 존재하지 않는 트리의 가지를 뒤로 가지치기하여 최단 경로 트리를 암시적으로 구축합니다.

따라서, 그룹 공유 트리 방식을 사용하는 프로토콜로 가장 적절한 것은 ③ CBT (Core Based Trees) 입니다.

문제 92
92. 다음 그림은 SCTP(Stream Control Transmission Protocol)의 연결설정 과정을 보여주고 있다. 괄호에 들어가야 하는 메시지로 가장 적절한 것은?

SCTP 연결설정 과정

① COOKIE ECHO
② COOKIE INIT
③ COOKIE REQ
④ COOKIE SYN

 

출제의도

SCTP(Stream Control Transmission Protocol)의 연결설정 과정에 대한 이해가 필요합니다.
 

SCTP(Stream Control Transmission Protocol)의 연결설정 과정
  1. INIT: 클라이언트가 서버에 연결을 초기화하려는 의도를 알리는 INIT 메시지를 보냅니다. 이 메시지에는 클라이언트의 IP 주소, 포트 번호, 초기 시퀀스 번호 등이 포함됩니다.
  2. INIT ACK: 서버는 클라이언트에게 INIT ACK 메시지를 보내어 연결 요청을 수락합니다. 이 메시지에는 서버의 IP 주소, 포트 번호, 초기 시퀀스 번호, 그리고 상태 쿠키(state cookie)가 포함됩니다. 상태 쿠키는 서버의 상태 정보를 담고 있어, 서버가 자신의 상태를 유지하지 않아도 됩니다.
  3. COOKIE ECHO: 클라이언트는 서버로부터 받은 상태 쿠키를 그대로 돌려보내는 COOKIE ECHO 메시지를 보냅니다. 이 단계는 서버가 클라이언트를 인증하고, 연결을 확립하는 데 필요한 정보를 얻는 데 사용됩니다.
  4. COOKIE ACK: 서버는 클라이언트에게 COOKIE ACK 메시지를 보내어 상태 쿠키를 수신했음을 알립니다. 이 메시지를 받은 클라이언트는 연결이 확립되었음을 알게 됩니다.

이렇게 SCTP는 4단계 핸드셰이크를 통해 연결을 설정합니다. 이는 TCP의 3단계 핸드셰이크와는 다르며, 이를 통해 SYN 플러딩 공격 등의 보안 취약점을 해결합니다. 또한, 상태 쿠키를 사용함으로써 서버의 상태 정보를 클라이언트에게 위임하여 서버의 부하를 줄일 수 있습니다
 

각 문항에 대한 설명
① COOKIE ECHO: SCTP 연결 설정 과정에서 클라이언트가 서버로부터 받은 상태 쿠키(state cookie)를 그대로 돌려보내는 단계입니다. 이 단계는 서버가 클라이언트를 인증하고, 연결을 확립하는 데 필요한 정보를 얻는 데 사용됩니다.

② COOKIE INIT: 이 용어는 SCTP 프로토콜에는 존재하지 않습니다.

③ COOKIE REQ: 이 용어는 SCTP 프로토콜에는 존재하지 않습니다. COOKIE SYN: 이 용어는 SCTP 프로토콜에는 존재하지 않습니다.

따라서, 클라이언트가 서버로 보내는 메시지로 가장 적절한 것은 ③ COOKIE REQ입니다.

문제 93
93. NAT(network address translation)에 대해 올바르게 설명한 것을 모두 고른 것은?

가. DNAT(Dynamic NAT) 방식에서는 내부(사설) 네트워크의 사설 IP주소가 외부에 공개되므로, 외부컴퓨터는 사설 IP로 내부 컴퓨터에 접속한다.
나. SNAT(Static NAT) 방식에서는 사설 IP와 공인 IP가 일대일로매핑된다.
다. PAT(PortAddress Translation) 방식에서는 소수의 공인 IP를 내부네트워크의 다수의 컴퓨터가 공유해서 사용할 수 있다
① 가, 나
② 가, 다
③ 나, 다
④ 다

 

출제의도

NAT의 다양한 유형과 그들이 어떻게 동작하는지에 대한 이해를 해야 풀 수 있습니다.
 

NAT (network address translation)란?

NAT(Network Address Translation)는 컴퓨터 네트워킹에서 사용되는 기술로, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술을 말합니다.
 
NAT의 주요 목적은 다음과 같습니다

  1. IP 주소 절약: NAT 기술을 이용하면, 하나의 공인 IP 주소를 사용하여 여러 대의 호스트가 인터넷에 접속할 수 있습니다. 이는 IP 주소의 부족을 해결하고, 네트워크 자원을 효율적으로 활용할 수 있게 합니다.
  2. 보안 강화: NAT는 IP 주소를 숨길 수 있는 기능이 있어, 내부 네트워크의 보안을 강화할 수 있습니다. 예를 들어, 라우터(또는 공유기 등) 외부로 트래픽이 나갈 때는 사설 IP가 공인 IP 주소로 바뀌므로 공격자가 라우터 안 쪽에 있는 사설 IP를 모르기 때문에 최종 목적지로의 공격이 어려워져 내부 네트워크 및 호스트들을 보호할 수 있습니다.

NAT는 주소 할당 방식에 따라 다양한 유형으로 구분됩니다. 예를 들어, Static NAT는 공인 IP 주소와 사설 IP 주소가 1:1로 매핑되는 방식이며, Dynamic NAT는 여러 개의 공인 IP 주소를 사설 IP 주소와 매핑하는 방식입니다. 또한, PAT(Port Address Translation) 또는 NAPT(Network Address Port Translation)는 하나의 공인 IP 주소를 여러 사설 IP 주소와 매핑하면서 각각의 연결을 포트 번호로 구분하는 방식입니다.

각 문항에 대한 설명
가.가 선택지에서 설명한 DNAT(Dynamic NAT)는 잘못된 설명입니다. 실제로 DNAT(Destination NAT)는 목적지 주소를 변경하는 NAT입니다. 사용자는 서비스 요청을 위해 로드 밸런서에 설정된 서비스 VIP (Virtual IP)로 서비스를 요청하고 로드 밸런서에서는 서비스 VIP를 로드 밸런싱될 서버의 실제 IP로 DNAT 해 내보냅니다. 따라서, 내부(사설) 네트워크의 사설 IP주소가 외부에 공개되어 외부 컴퓨터가 사설 IP로 내부 컴퓨터에 접속한다는 설명은 잘못된 것입니다.

나. SNAT(Static NAT) 방식에서는 사설 IP와 공인 IP가 일대일로 매핑된다. 이 설명은 올바릅니다. SNAT(Static NAT)는 내부 네트워크의 특정 IP 주소를 외부 네트워크의 특정 IP 주소로 일대일로 매핑하는 방식입니다.

다. PAT(Port Address Translation) 방식에서는 소수의 공인 IP를 내부 네트워크의 다수의 컴퓨터가 공유해서 사용할 수 있다. 이 설명은 올바릅니다. PAT(Port Address Translation)는 공인 IP 주소 1개에 사설 IP 주소 여러 개가 매칭이 되는 방식입니다. 사설 네트워크 내 각 호스트에 임의의 포트번호를 지정하여 사설 IP와 해당 포트번호를 공인 IP 주소와 해당 포트번호로 매칭/치환하는 방식입니다.

따라서, 올바른 답변은 ③ 나, 다 입니다.

문제 94
94. 다음 활성화 함수 중에 오류 역전파 학습 알고리즘의 적용에 필수인 미분 가능한 특징을 갖고 있지만 기울기 소실(vanishing gradient) 문제를 발생시키는 활성화 함수로 가장 적절한 것은?

① 계단 함수
② 렐루 함수
③ 시그모이드 함수
④ 선형 함수

 

출제의도

오류 역전파 학습 알고리즘에 필수적인 미분 가능한 특징을 가지면서도 기울기 소실 문제를 발생시키는 활성화 함수를 찾아야 합니다.
 

활성화 함수란?

활성화 함수(Activation Function)는 인공 신경망에서 입력을 변환하는 함수입니다. 이 함수는 입력값을 받아 적절한 처리를 하여 출력해 주며, 출력된 신호가 다음 단계에서 활성화될지를 결정합니다.
 
활성화 함수의 주요 목적은 데이터를 비선형으로 변환하는 것입니다. 이는 신경망이 깊어질수록 장점이 많아지기 때문입니다. 활성화 함수의 종류로는 다음과 같은 것들이 있습니다:

  1. Sigmoid Function: 이 함수는 x 값이 작아질수록 0에 수렴하고, 커질수록 1에 수렴합니다.
  2. ReLU Function (Rectified Linear Unit): 이 함수는 입력이 특정값을 넘으면 입력이 그대로 출력으로 나오고, 0을 넘지 않을시 0을 반환하는 함수입니다.
  3. Step Function: 이 함수는 특정값 이하는 0, 이상은 1로 출력하도록 만들어진 함수입니다.
  4. Tanh Function: 이 함수는 x 값이 작아질수록 -1에 수렴하고, 커질수록 1에 수렴합니다.

이러한 활성화 함수들은 각각의 특성에 따라 적절한 상황에서 사용됩니다.
 

역전파 학습이란?

역전파(Backpropagation) 학습은 신경망 학습 알고리즘 중 하나로, 신경망의 출력값과 실제값의 오차를 최소화하기 위해 가중치를 조정하는 방법입니다.
 
이 방법은 다음과 같은 단계로 이루어집니다:
 
주어진 가중치 값을 이용해 출력층의 출력값을 계산합니다. 이 과정을 순전파(Feedforward)라고 합니다. 출력층에서 계산된 오차를 각 가중치로 미분한 값을 기존 가중치에서 빼줍니다. 이 과정은 경사하강법을 적용하는 것이며, 이를 통해 역전파(Backpropagation)가 이루어집니다.
 
위의 과정을 모든 가중치에 대해 반복합니다. 1~3단계를 주어진 학습 횟수만큼 반복하거나, 주어진 허용 오차값에 도달할 때까지 반복합니다. 이러한 역전파 학습 방법은 신경망의 출력값과 실제값의 오차를 최소화하면서 가중치를 최적화하는 데 매우 효과적입니다. 이 방법은 심층 신경망의 학습에 널리 사용되며, 신경망의 성능을 크게 향상시킵니다
 

기울기 소실(Vanishing gradient)이란?

기울기 소실(Vanishing Gradient)은 딥러닝에서 발생하는 문제 중 하나로, 신경망의 역전파(Backpropagation) 과정에서 출력층에서 멀어질수록 Gradient 값이 매우 작아지는 현상을 말합니다. 이 현상은 신경망의 학습에 큰 어려움을 초래합니다. 왜냐하면, 이로 인해 입력층에 가까운 층들에서 가중치들이 제대로 업데이트되지 않으면, 결국 최적의 모델을 찾을 수 없게 되기 때문입니다. 기울기 소실의 원인은 활성화 함수(Activation Function)의 도함수 값이 계속 곱해지다 보면 가중치에 따른 결과값의 기울기가 0이 되어 버려서, 경사 하강법을 이용할 수 없게 되는 것입니다.
 
기울기 소실 문제를 해결하기 위한 방법 중 하나로 ReLU(Rectified Linear Unit) 함수가 있습니다. ReLU 함수는 입력값이 양수일 경우, 입력값에 상관 없이 항상 동일한 미분 값인 1을 가집니다. 이로 인해 역전파 과정에서 기울기가 소실되는 문제를 해결할 수 있습니다
 

각 문항에 대한 설명
① 계단 함수: 계단 함수는 0에서 불연속적으로 변하는 함수로, 이 함수는 미분이 불가능하기 때문에 오류 역전파 학습 알고리즘에 사용할 수 없습니다.

② 렐루 함수: 렐루 함수는 입력이 양수일 때 입력 그대로를 출력하고, 음수일 때는 0을 출력하는 함수입니다. 이 함수는 미분 가능하며, 기울기 소실 문제를 해결하는 데 도움이 되지만, 기울기 소실 문제를 발생시키지는 않습니다.

③ 시그모이드 함수: 시그모이드 함수는 모든 실수 값을 0과 1 사이로 매핑하는 S자 형태의 함수입니다. 이 함수는 미분 가능하며, 오류 역전파 학습 알고리즘에 사용될 수 있지만, 그래디언트가 매우 작아질 수 있어 기울기 소실 문제를 발생시킬 수 있습니다.

④ 선형 함수: 선형 함수는 입력에 대해 직접적인 출력을 제공하는 함수입니다. 이 함수는 미분 가능하지만, 기울기가 일정하여 기울기 소실 문제를 발생시키지 않습니다.

따라서, 정답은 ③ 시그모이드 함수 입니다.

문제 95
95. 다음 중 오픈소스 라이선스를 침해하는 행위에 해당하는 것을 모두 고른 것은?

가. GPL3.0 라이브러리를 정적 링크 방식으로 연결 하여 상업용 소프트웨어를 개발, 배포하고 자체 개발한 모듈의 소스코드를 공개하지 않았다.

나. LGPL3.0 라이브러리를 정적 링크 방식으로 연결 하여 상업용 소프트웨어를 개발, 배포하고 자체 개발한 모듈의 소스코드를 공개하지 않았다.

다. Apache2.0 라이브러리를 정적 링크 방식으로 연결하여 상업용 소프트웨어를 개발, 배포하고 자체 개발한 모듈의 소스코드를 공개하지 않았다
① 가
② 가, 나
③ 가, 나, 다
④ 모두 해당 없음

 

출제의도

오픈 소스 라이선스에 대한 이해를 묻는 것입니다.
 

오픈소스 라이선스란?

오픈소스 라이선스는 컴퓨터 소프트웨어와 다른 소스 코드, 청사진 또는 디자인 등의 사용, 수정 및 공유를 허용하는 소프트웨어 사용권의 종류입니다. 이 라이선스는 공개SW 개발자와 이용자 간의 사용 방법 및 조건의 범위를 명시한 계약입니다. 오픈소스 라이선스의 주요 목적은 사용자에게 소프트웨어의 자유로운 사용, 수정, 배포를 보장하는 것입니다. 그러나 각 오픈소스 라이선스마다 사용방법과 범위가 명시되어 있어, 그 허용 범위를 제한하고 있습니다.
 
따라서 각각의 라이선스 정책을 바르게 이해하고 사용해야 합니다. 대표적인 오픈소스 라이선스로는 GPL(General Public License), LGPL(Lesser General Public License), BSD(Berkeley Software Distribution), MPL(Mozilla Public License) 등이 있습니다3. 만약 오픈소스 라이선스의 범위를 벗어나는 사용이나 배포를 한 경우에는 저작권 침해로 인한 법적 책임과 불이익을 받게 될 수 있습니다
 

각 문항에 대한 설명
가: GPL3.0 라이브러리를 정적 링크 방식으로 연결하여 상업용 소프트웨어를 개발하고 배포하였으나, 자체 개발한 모듈의 소스코드를 공개하지 않았다. GPL3.0 라이선스는 소스코드의 공개를 요구하는 라이선스입니다. 따라서 이 경우는 라이선스를 침해하는 행위에 해당합니다.

나: LGPL3.0 라이브러리를 정적 링크 방식으로 연결하여 상업용 소프트웨어를 개발하고 배포하였으나, 자체 개발한 모듈의 소스코드를 공개하지 않았다. LGPL3.0 라이선스는 라이브러리를 정적 링크로 사용할 경우, 사용자가 라이브러리를 변경해도 동일한 실행물을 얻을 수 있게 응용프로그램의 목적코드 (obj파일)를 배포해야 합니다. 따라서 이 경우는 라이선스를 침해하는 행위에 해당합니다.

다: Apache2.0 라이브러리를 정적 링크 방식으로 연결하여 상업용 소프트웨어를 개발하고 배포하였으나, 자체 개발한 모듈의 소스코드를 공개하지 않았다. Apache2.0 라이선스는 소스코드의 공개를 요구하지 않는 라이선스입니다. 따라서 이 경우는 라이선스를 침해하는 행위에 해당하지 않습니다.

따라서, 오픈소스 라이선스를 침해하는 행위에 해당하는 것을 모두 고른 것은 ② 가, 나입니다.

 


다음에는 시스템구조 기출문제 풀이 96-100번까지 풀이를 진행해 보겠습니다.
오늘도 읽어주셔서 감사합니다.

 


 

반응형
LIST