**Question 01:**
IP 헤더에 포함이 되지 않는 필드는?
① ACK
② Version
③ Header checksum
④ Header length
이 문제를 풀기 위해 알아야 하는 핵심 개념은 **IP 헤더**의 구조와 그 역할입니다. IP 헤더는 네트워크에서 데이터를 전송할 때 사용하는 IP 패킷의 일부분으로, 패킷의 올바른 전송과 수신을 보장하기 위해 여러 가지 중요한 정보를 포함합니다.
### IP 헤더의 주요 필드들
1. **Version**
- IP 프로토콜의 버전을 나타냅니다. 주로 IPv4와 IPv6 버전이 있으며, 현재 많이 사용되는 버전은 **IPv4 (값: 4)**입니다.
**예시:**
```
Version: 4 (IPv4)
```
2. **Header Length**
- IP 헤더의 길이를 나타냅니다. 이 필드는 IP 헤더의 길이가 몇 개의 32비트 단위(4바이트)로 구성되어 있는지를 의미합니다. 일반적으로 기본 IP 헤더는 20바이트이므로 이 값은 **5**입니다.
**예시:**
```
Header Length: 5 (20 bytes)
```
3. **Header Checksum**
- 헤더의 오류 검출을 위해 사용되는 값입니다. IP 헤더를 전송할 때 데이터가 손상되었는지 확인하는 역할을 합니다. 수신 측에서 헤더의 데이터를 기반으로 다시 체크섬을 계산하여 전송된 값과 비교합니다.
**예시:**
```
Header Checksum: 0x1234
```
### TCP와 IP의 차이
- **ACK (Acknowledgment)** 필드는 **IP 헤더**에 포함되지 않으며, **TCP 헤더**에서 사용됩니다. ACK는 수신자가 송신자에게 데이터를 잘 받았다는 신호를 보내는 데 사용됩니다. IP는 데이터 전송을 위한 경로 설정을 담당하고, TCP는 데이터의 신뢰성과 순서를 관리합니다.
**TCP 헤더의 예시:**
```
Flags: ACK (Acknowledgment)
```
### 정리
- **IP 헤더**는 Version, Header Length, Header Checksum과 같은 필드를 포함합니다.
- **ACK**는 IP 헤더가 아닌 **TCP 헤더**에서 사용하는 필드입니다.
따라서, **정답은 ① ACK**입니다.
---
**Question 02:**
TCP 프로토콜에서 사용하는 흐름 제어 방식은?
① GO-Back-N
② 선택적 재전송
③ Sliding Window
④ Idle-RQ
이 문제를 풀기 위해서는 **TCP 프로토콜의 흐름 제어 방식**에 대한 기본 개념을 이해해야 합니다. 흐름 제어는 네트워크에서 송신 측과 수신 측 사이의 데이터 전송 속도를 조절하여 패킷 손실을 최소화하는 중요한 메커니즘입니다. TCP는 안정적인 데이터 전송을 보장하기 위해 **Sliding Window (슬라이딩 윈도우)** 방식을 사용합니다.
### 1. **Sliding Window (슬라이딩 윈도우)**
- **TCP 프로토콜**에서 사용하는 대표적인 흐름 제어 방식입니다. 송신 측과 수신 측이 서로 간에 데이터를 효율적으로 주고받기 위해 설정된 "윈도우 크기"에 따라 데이터를 전송합니다. 송신자는 지정된 윈도우 크기 내에서 데이터를 연속적으로 전송할 수 있으며, 수신자가 확인 응답(ACK)을 보내기 전까지 해당 범위의 데이터를 다시 전송하지 않습니다.
이 방식은 네트워크의 효율성을 극대화하며, 데이터가 손실될 경우에도 전체 데이터를 다시 전송할 필요 없이 손실된 부분만 재전송할 수 있습니다.
**예시:**
- 송신자가 윈도우 크기가 4인 슬라이딩 윈도우를 설정한 경우, 수신자의 확인 응답(ACK)을 기다리지 않고 4개의 패킷을 연속적으로 전송할 수 있습니다.
```
Window Size: 4
Packets sent: P1, P2, P3, P4
ACK received for P1 and P2
Packets sent next: P5, P6
```
### 2. **GO-Back-N**
- **GO-Back-N**은 주로 **UDP**와 같은 신뢰성이 낮은 전송 프로토콜에서 사용됩니다. 이 방식에서는 송신 측이 연속적으로 패킷을 전송할 수 있지만, 수신 측에서 오류가 발생한 패킷이 발견되면 해당 패킷 이후의 모든 패킷을 다시 요청합니다.
**예시:**
- 송신자가 P1부터 P4까지 전송했으나, P2에서 오류가 발생했다면 수신자는 P2 이후의 모든 패킷을 다시 요청합니다. 즉, P3와 P4도 재전송해야 합니다.
### 3. **선택적 재전송 (Selective Repeat)**
- **선택적 재전송**은 송신자가 손실되거나 오류가 발생한 특정 패킷만 재전송하는 방식입니다. 이는 GO-Back-N 방식보다 더 효율적이며, 잘못된 패킷만 재전송하기 때문에 전체적인 네트워크 성능이 향상됩니다. TCP의 **Selective Acknowledgment (SACK)** 옵션이 이를 지원하는데, 이는 네트워크 혼잡 상황에서 유용합니다.
**예시:**
- P2에서 오류가 발생했을 때, 수신자는 P2만 재전송을 요청하고 P3와 P4는 그대로 유지합니다.
```
Packets sent: P1, P2 (error), P3, P4
Selective ACK for P1, P3, P4
Resend: P2 only
```
### 4. **Idle-RQ (Idle Repeat Request)**
- **Idle-RQ**는 기본적으로 오류가 발생할 때마다 송신이 중단되고 오류가 해결된 후에 다시 데이터를 요청하는 방식입니다. 이 방식은 비효율적이기 때문에 현대적인 프로토콜에서는 거의 사용되지 않습니다.
**예시:**
- 송신자가 데이터를 전송했을 때 오류가 발생하면, 송신은 멈추고 오류가 수정된 후 다시 요청을 시작합니다. 이 방식은 네트워크에서 거의 사용되지 않습니다.
### 결론
TCP는 안정적이고 효율적인 데이터 전송을 위해 **Sliding Window (슬라이딩 윈도우)** 방식을 사용합니다. 이 방식은 윈도우 크기를 기반으로 데이터를 연속적으로 전송하면서 흐름을 제어하고, 데이터 손실이나 혼잡을 줄입니다.
**정답은 ③ Sliding Window**입니다.
---
**Question 03:**
'255.255.255.224'인 서브넷에 최대 할당 가능한 호스트 수는?
① 2개
② 6개
③ 14개
④ 30개
이 문제를 풀기 위해 알아야 할 핵심 개념은 **서브넷 마스크**와 **서브넷팅**입니다. '255.255.255.224'와 같은 서브넷 마스크가 주어졌을 때, 이 서브넷에서 할당 가능한 호스트 수를 계산하는 방법을 이해하는 것이 중요합니다.
### 기본 개념 설명
1. **서브넷 마스크 (Subnet Mask)**
- 서브넷 마스크는 IP 주소에서 네트워크와 호스트 부분을 구분하는 데 사용됩니다. IP 주소의 일부는 네트워크 식별을 위해, 나머지 부분은 호스트(장치) 식별을 위해 사용됩니다.
- '255.255.255.224'는 서브넷 마스크로, 이를 **CIDR 표기법**으로 쓰면 **/27**이 됩니다. 이는 IP 주소의 처음 27비트가 네트워크 부분이고, 나머지 5비트가 호스트 부분임을 의미합니다.
2. **호스트 수 계산 방법**
- 호스트 수는 서브넷 마스크에 의해 결정된 네트워크 범위 내에서 할당 가능한 IP 주소 수를 말합니다.
- 서브넷에서 호스트 수를 계산하는 공식은 다음과 같습니다:
$[
\text{호스트 수} = 2^{\text{남은 비트 수}} - 2
]$
여기서 **"2를 빼는 이유"**는 네트워크 주소와 브로드캐스트 주소를 제외하기 때문입니다. 이 두 주소는 호스트로 사용할 수 없습니다.
### 예시: '255.255.255.224'의 경우
1. **CIDR 표기법 /27**
- 서브넷 마스크 '255.255.255.224'는 **/27**로 표기되며, 이는 IP 주소의 처음 27비트가 네트워크를 나타내고, 나머지 5비트가 호스트를 나타냅니다.
2. **할당 가능한 호스트 수 계산**
- 남은 호스트 비트는 5비트입니다.
- 따라서 할당 가능한 호스트 수는:
$[
2^5 - 2 = 32 - 2 = 30
]$
30개의 IP 주소가 호스트에 할당될 수 있습니다.
### 예시 설명
- '255.255.255.224' 서브넷은 5비트의 호스트 공간을 가지고 있습니다.
- 예를 들어, IP 주소 범위가 **192.168.1.0/27**라면, 네트워크 주소는 **192.168.1.0**이고 브로드캐스트 주소는 **192.168.1.31**입니다.
- 이 네트워크 범위에서 할당 가능한 호스트는 **192.168.1.1**부터 **192.168.1.30**까지의 30개의 IP 주소입니다.
### 결론
'255.255.255.224' 서브넷에서 할당 가능한 최대 호스트 수는 **30개**입니다.
따라서 **정답은 ④ 30개**입니다.
---
**Question 04:**
Link State 알고리즘을 이용해 서로에게 자신의 현재 상태를 알려주며 네트워크 내 통신을 위해 사용하는 프로토콜은?
① OSPF
② IDRP
③ EGP
④ BGP
이 문제를 풀기 위해 알아야 하는 핵심 개념은 **Link State 알고리즘**과 이를 사용하는 라우팅 프로토콜입니다. **Link State 알고리즘**을 이용하는 프로토콜은 네트워크 내에서 각 라우터가 자신의 상태를 이웃 라우터들에게 알리고, 전체 네트워크의 최적 경로를 계산하는 방식으로 작동합니다.
### Link State 알고리즘
- **Link State 알고리즘**은 각 라우터가 자신과 직접 연결된 네트워크 상태를 이웃 라우터들에게 주기적으로 알리고, 네트워크의 모든 라우터들이 동일한 네트워크 맵을 가지도록 하는 방식입니다. 이렇게 각 라우터는 전체 네트워크 지도를 가지고 있으며, **Dijkstra 알고리즘**을 사용해 최적 경로를 계산합니다.
**예시**:
- 라우터 A가 B, C와 연결되어 있다고 가정합니다. A는 B와 C로부터 받은 링크 상태 정보를 바탕으로 Dijkstra 알고리즘을 적용해 네트워크 상의 최적 경로를 계산합니다.
### Link State 알고리즘을 사용하는 주요 프로토콜
#### 1. **OSPF (Open Shortest Path First)**
- **OSPF**는 **Link State 알고리즘**을 사용하는 대표적인 내부 라우팅 프로토콜입니다. 라우터는 네트워크 내에서 주기적으로 **LSA (Link State Advertisement)**라는 정보를 교환하여 네트워크의 전체 토폴로지를 구축합니다. 이를 통해 각 라우터는 네트워크 상에서 최단 경로를 계산하고, 최적의 경로로 데이터를 전송합니다.
**예시**:
- OSPF 프로토콜이 실행되는 네트워크에서 각 라우터는 이웃 라우터와 링크 상태 정보를 교환합니다. 네트워크 내 모든 라우터가 동일한 맵을 공유하며, 최적 경로를 찾아 데이터 전송에 활용합니다.
```
Router A: 링크 상태 정보를 Router B, C에게 알림
Router B: 동일하게 링크 상태 정보를 A, C에게 알림
모든 라우터는 네트워크 맵을 구성하고 최단 경로를 계산
```
#### 2. **IDRP (Inter-Domain Routing Protocol)**
- **IDRP**는 다른 자율 시스템 간의 경로를 찾기 위한 프로토콜입니다. 이 프로토콜은 특정 자율 시스템 간의 경로를 관리하지만, Link State 알고리즘을 사용하지 않습니다. 이 프로토콜은 자율 시스템 간의 경로 교환에 사용되는 **EGP**의 대체로 개발되었습니다.
#### 3. **EGP (Exterior Gateway Protocol)**
- **EGP**는 외부 자율 시스템 간의 라우팅 정보를 교환하는 데 사용되는 프로토콜로, 주로 인터넷 초창기에 사용되었습니다. 그러나 Link State 알고리즘을 사용하지 않고, 오늘날에는 더 발전된 BGP로 대체되었습니다.
#### 4. **BGP (Border Gateway Protocol)**
- **BGP**는 현재 인터넷에서 가장 널리 사용되는 외부 라우팅 프로토콜입니다. BGP는 자율 시스템 간 경로 정보를 교환하며, **경로 벡터 알고리즘**을 사용합니다. **Link State 알고리즘**을 사용하지 않고, 경로 선택 시 정책 기반 라우팅 방식을 채택합니다.
### 결론
**OSPF**는 네트워크 내부에서 **Link State 알고리즘**을 사용하여 라우터들끼리 링크 상태 정보를 교환하고, 이를 바탕으로 최적 경로를 계산합니다.
**정답은 ① OSPF**입니다.
---
**Question 5:** DNS에서 사용될 때 TTL(Time to Live)의 설명으로 올바른 것은?
① 데이터가 DNS 서버 존으로부터 나오기 전에 현재 남은 시간이다.
② 데이터가 DNS 서버 캐시로부터 나오기 전에 현재 남은 시간이다.
③ 패킷이 DNS 서버 존으로부터 나오기 전에 현재 남은 시간이다.
④ 패킷이 DNS 서버 네임 서버 레코드로부터 나오기 전에 현재 남은 시간이다.
이 문제를 풀기 위해서는 **DNS에서의 TTL (Time to Live)** 개념을 이해하는 것이 중요합니다. TTL은 네트워크 트래픽뿐만 아니라 DNS 캐시에서도 중요한 역할을 합니다. 이 개념을 바탕으로 문제를 해결할 수 있습니다.
### DNS에서의 TTL(Time to Live)
- **TTL**은 DNS에서 특정 레코드가 캐시에 얼마나 오래 남아 있을 수 있는지를 나타내는 값입니다. TTL 값은 초(second) 단위로 설정되며, 설정된 TTL 시간이 지나면 해당 DNS 레코드는 만료되어 캐시에서 삭제됩니다. 그 후에는 DNS 서버가 다시 해당 레코드를 요청하여 최신 정보를 받아옵니다.
- 이 메커니즘은 DNS 서버의 부하를 줄이고, 클라이언트가 더 빠르게 DNS 응답을 받을 수 있도록 하는 역할을 합니다.
### TTL의 동작 과정
- **DNS 조회 요청**: 클라이언트가 도메인 이름에 대한 IP 주소를 조회할 때, 먼저 로컬 DNS 서버 또는 브라우저의 캐시에서 해당 도메인의 DNS 레코드가 있는지 확인합니다.
- **TTL 시간 확인**: 만약 캐시에 레코드가 있다면, 해당 레코드의 TTL 시간이 아직 유효한지 확인합니다.
- **TTL 만료 시**: TTL이 만료되면, 캐시된 레코드는 삭제되고 DNS 서버는 원본 DNS 서버(권한 있는 네임 서버)로부터 새로운 레코드를 요청하여 최신 데이터를 다시 캐시합니다.
### 예시
- 예를 들어, `www.example.com`의 A 레코드가 3600초(1시간)의 TTL을 가지고 있다고 가정합니다. 클라이언트가 처음 이 도메인을 요청하면, DNS 서버는 해당 IP 주소를 원본 서버에서 가져와 캐시에 저장하고, 1시간 동안 캐시에 유지합니다.
- 그 후 다른 클라이언트가 동일한 도메인을 요청하면, DNS 서버는 캐시에 저장된 IP 주소를 즉시 반환합니다. 1시간이 지나면 캐시가 만료되고, DNS 서버는 다시 원본 서버에 질의합니다.
### 각 선택지 설명
1. **데이터가 DNS 서버 존으로부터 나오기 전에 현재 남은 시간이다.**
- DNS 존 파일에서 관리되는 레코드의 TTL 시간과는 관련이 있지만, 캐시된 데이터에 대한 내용은 아닙니다.
2. **데이터가 DNS 서버 캐시로부터 나오기 전에 현재 남은 시간이다.**
- **정답**입니다. TTL은 캐시에서 해당 DNS 레코드가 유효한 시간입니다. 이 시간이 만료되면, 데이터는 캐시에서 삭제되며 새로운 질의가 필요합니다.
3. **패킷이 DNS 서버 존으로부터 나오기 전에 현재 남은 시간이다.**
- TTL은 패킷의 생명 주기와 관련된 개념이 아니며, 패킷의 전송과는 다릅니다.
4. **패킷이 DNS 서버 네임 서버 레코드로부터 나오기 전에 현재 남은 시간이다.**
- TTL은 네임 서버 레코드에서 패킷 전송과 관련된 개념이 아니라 캐시된 DNS 레코드의 유효성을 나타내는 개념입니다.
### 결론
TTL은 DNS 캐시에서 레코드가 얼마나 오래 유지될 수 있는지를 결정하며, 데이터가 캐시에서 만료되기 전까지 남은 시간을 의미합니다.
**정답은 ② 데이터가 DNS 서버 캐시로부터 나오기 전에 현재 남은 시간이다**입니다.
---
**Question 06:**
서브넷 마스크(Subnet Mask)에 대한 설명으로 옳지 않은 것은?
① A, B, C Class 대역의 IP Address는 모두 같은 서브넷 마스크를 사용한다.
② 하나의 네트워크 클래스를 여러 개의 네트워크로 분리하여 IP Address를 효율적으로 사용할 수 있다.
③ 서브넷 마스크는 목적지 호스트의 IP Address가 동일 네트워크상에 있는지 확인한다.
④ 서브넷 마스크를 이용하면 Traffic 관리 및 제어가 가능하다.
이 문제를 풀기 위해 알아야 하는 개념은 **서브넷 마스크(Subnet Mask)**와 **클래스 기반 네트워크(Classful Network)**, 그리고 서브넷팅(Subnetting)입니다. 서브넷 마스크는 네트워크를 분리하고 IP 주소를 효율적으로 사용할 수 있도록 해주는 중요한 도구입니다.
### 서브넷 마스크(Subnet Mask)란?
서브넷 마스크는 IP 주소에서 **네트워크 부분**과 **호스트 부분**을 구분하는 데 사용됩니다. 이를 통해 네트워크 상의 IP 주소가 어느 네트워크에 속해 있는지 확인할 수 있습니다.
### 기본 개념
1. **클래스 기반 네트워크(Classful Network)**
- 과거에는 IP 주소를 **A, B, C 클래스**로 나누어 사용했으며, 각각 고정된 기본 서브넷 마스크를 가졌습니다.
- A 클래스: **255.0.0.0**
- B 클래스: **255.255.0.0**
- C 클래스: **255.255.255.0**
- 그러나 이 방식은 비효율적이라는 문제가 있어, 현재는 **CIDR (Classless Inter-Domain Routing)** 방식이 주로 사용되어 IP 주소를 더 유연하게 관리합니다.
2. **서브넷팅(Subnetting)**
- 서브넷 마스크를 이용해 하나의 네트워크 클래스를 더 작은 네트워크로 나누는 작업을 서브넷팅이라고 합니다. 이렇게 하면 IP 주소를 보다 효율적으로 사용할 수 있으며, 큰 네트워크를 여러 작은 네트워크로 나누어 관리할 수 있습니다.
**예시:**
B 클래스 주소(예: 172.16.0.0)를 255.255.255.0으로 서브넷팅하면, 하나의 네트워크를 여러 개로 나누어 관리할 수 있게 됩니다. 이를 통해 네트워크의 효율성을 높일 수 있습니다.
3. **서브넷 마스크와 동일 네트워크 확인**
- 서브넷 마스크를 이용해 목적지 호스트가 같은 네트워크에 속하는지 확인할 수 있습니다. IP 주소와 서브넷 마스크를 **AND 연산**하여 네트워크 부분을 추출하고, 이를 통해 출발지와 목적지가 같은 네트워크에 있는지 판단합니다.
**예시:**
```
출발지 IP: 192.168.1.10
목적지 IP: 192.168.1.20
서브넷 마스크: 255.255.255.0
AND 연산 결과: 네트워크 192.168.1.0 동일
```
4. **Traffic 관리 및 제어**
- 서브넷 마스크를 통해 네트워크를 분할하면, 네트워크 트래픽을 더 잘 관리하고 제어할 수 있습니다. 각 서브넷 간에 트래픽을 구분하여 혼잡을 줄이고, 보안 정책을 구체적으로 적용할 수 있습니다.
### 각 선택지 설명
1. **A, B, C Class 대역의 IP Address는 모두 같은 서브넷 마스크를 사용한다.**
- **옳지 않은 설명**입니다. A, B, C 클래스는 각각 다른 기본 서브넷 마스크를 가지고 있습니다. A 클래스는 255.0.0.0, B 클래스는 255.255.0.0, C 클래스는 255.255.255.0을 사용합니다.
2. **하나의 네트워크 클래스를 여러 개의 네트워크로 분리하여 IP Address를 효율적으로 사용할 수 있다.**
- **옳은 설명**입니다. 서브넷팅을 통해 네트워크를 나누고 IP 주소를 효율적으로 사용할 수 있습니다.
3. **서브넷 마스크는 목적지 호스트의 IP Address가 동일 네트워크상에 있는지 확인한다.**
- **옳은 설명**입니다. 서브넷 마스크를 이용해 네트워크 부분을 비교함으로써 같은 네트워크인지 확인할 수 있습니다.
4. **서브넷 마스크를 이용하면 Traffic 관리 및 제어가 가능하다.**
- **옳은 설명**입니다. 서브넷팅을 통해 트래픽을 효율적으로 관리하고 보안 정책을 적용할 수 있습니다.
### 결론
**① A, B, C Class 대역의 IP Address는 모두 같은 서브넷 마스크를 사용한다**는 잘못된 설명입니다. 각 클래스는 다른 기본 서브넷 마스크를 사용하기 때문입니다.
**정답은 ①**입니다.
---
**Question 07:**
SMTP에 대한 설명 중 올바른 것은?
① 인터넷을 통해 파일을 송/수신하기 위한 프로토콜
② 인터넷 전자우편을 위한 프로토콜
③ 하이퍼텍스트 문서를 전송하기 위한 프로토콜
④ 원격 접속을 위한 프로토콜
이 문제를 풀기 위해서는 **SMTP**와 다른 선택지에 나오는 프로토콜들의 기능과 목적을 이해해야 합니다. 각 프로토콜이 무엇을 하는지 알면, 올바른 설명을 선택할 수 있습니다.
### 1. **SMTP (Simple Mail Transfer Protocol)**
- **SMTP**는 **인터넷 전자우편을 송신하기 위한 프로토콜**입니다.
- 이메일 클라이언트와 서버 간, 또는 서버와 서버 간에 이메일을 전송할 때 사용됩니다.
- SMTP는 메일 전송을 위한 표준 프로토콜로, 주로 포트 번호 **25**를 사용합니다.
**예시:**
- 사용자가 이메일을 작성하여 전송 버튼을 누르면, 이메일 클라이언트는 SMTP를 통해 메일 서버로 이메일을 보냅니다.
- 메일 서버는 수신자의 메일 서버로 SMTP를 통해 이메일을 전달합니다.
```
사용자 A의 이메일 클라이언트 --> SMTP --> A의 메일 서버 --> SMTP --> B의 메일 서버 --> 사용자 B의 이메일 클라이언트
```
### 2. **FTP (File Transfer Protocol)**
- **FTP**는 **인터넷을 통해 파일을 송/수신하기 위한 프로토콜**입니다.
- 파일을 서버와 클라이언트 간에 전송하는 데 사용됩니다.
- 포트 번호 **20**(데이터 전송)과 **21**(제어 연결)을 사용합니다.
**예시:**
- 웹 개발자가 웹 서버에 웹 페이지 파일을 업로드할 때 FTP를 사용합니다.
```
개발자의 컴퓨터 <--FTP--> 웹 서버
```
### 3. **HTTP (HyperText Transfer Protocol)**
- **HTTP**는 **하이퍼텍스트 문서를 전송하기 위한 프로토콜**입니다.
- 웹 브라우저와 웹 서버 간에 데이터를 주고받을 때 사용됩니다.
- 포트 번호 **80**을 기본으로 사용하며, HTTPS는 보안이 강화된 버전으로 포트 **443**을 사용합니다.
**예시:**
- 사용자가 웹 브라우저에 URL을 입력하면, 브라우저는 HTTP를 통해 웹 서버에 페이지 요청을 보내고, 서버는 해당 웹 페이지를 HTTP를 통해 응답합니다.
```
웹 브라우저 <--HTTP--> 웹 서버
```
### 4. **TELNET**
- **TELNET**은 **원격 접속을 위한 프로토콜**입니다.
- 네트워크를 통해 원격 시스템에 접속하여 명령어를 실행할 수 있게 해줍니다.
- 보안이 취약하여 현재는 SSH(Secure Shell)가 많이 사용됩니다.
- 포트 번호 **23**을 사용합니다.
**예시:**
- 시스템 관리자가 원격 서버에 접속하여 설정을 변경하거나 프로그램을 실행할 때 TELNET을 사용합니다.
```
관리자의 컴퓨터 <--TELNET--> 원격 서버
```
### 각 선택지 분석
1. **인터넷을 통해 파일을 송/수신하기 위한 프로토콜**
- 이는 **FTP**에 대한 설명입니다.
- 따라서 **①**은 SMTP에 해당하지 않습니다.
2. **인터넷 전자우편을 위한 프로토콜**
- 이는 **SMTP**에 대한 정확한 설명입니다.
- 따라서 **②**가 올바른 설명입니다.
3. **하이퍼텍스트 문서를 전송하기 위한 프로토콜**
- 이는 **HTTP**에 대한 설명입니다.
- 따라서 **③**은 SMTP에 해당하지 않습니다.
4. **원격 접속을 위한 프로토콜**
- 이는 **TELNET** 또는 **SSH**에 대한 설명입니다.
- 따라서 **④**는 SMTP에 해당하지 않습니다.
### 결론
SMTP는 인터넷에서 **전자우편을 전송하기 위한 프로토콜**입니다.
**정답은 ② 인터넷 전자우편을 위한 프로토콜**입니다.
---
**Question 08:**
TFTP 프로토콜에 대한 설명 중 옳지 않은 것은?
① Trivial File Transfer Protocol의 약어이다.
② 네트워크를 통한 파일 전송 서비스이다.
③ 3방향 핸드셰이킹 방법인 TCP 세션을 통해 전송한다.
④ 신속한 파일의 전송을 원할 경우에는 FTP보다 훨씬 큰 효과를 얻을 수 있다.
이 문제를 풀기 위해서는 **TFTP (Trivial File Transfer Protocol)**와 **FTP (File Transfer Protocol)**의 차이점, 그리고 TFTP의 작동 방식을 이해해야 합니다. 각 선택지를 정확히 이해하면 문제를 쉽게 풀 수 있습니다.
### 1. **TFTP (Trivial File Transfer Protocol)**
- **TFTP**는 **Trivial File Transfer Protocol**의 약어로, 간단한 파일 전송을 위해 설계된 프로토콜입니다.
- **UDP (User Datagram Protocol)** 를 사용하여 파일을 전송하며, 복잡한 기능 없이 매우 단순한 파일 전송을 수행합니다. 기본적으로 TFTP는 보안, 인증, 디렉토리 목록 같은 기능이 없으며, 빠르고 가벼운 파일 전송에 초점을 맞추고 있습니다.
- TFTP는 주로 네트워크 장비의 설정 파일 전송, 시스템 부팅에 필요한 파일 전송에 사용됩니다.
### 2. **TFTP와 FTP의 차이점**
- **FTP**는 **TCP (Transmission Control Protocol)** 기반으로 동작하여 신뢰성을 보장하는 반면, **TFTP**는 **UDP**를 사용하여 더 빠르고 단순하게 파일을 전송하지만 신뢰성은 떨어집니다.
- FTP는 사용자가 로그인하고 명령을 통해 파일을 다운로드하거나 업로드할 수 있지만, TFTP는 주로 인증 과정 없이 정해진 디렉토리에서 파일을 송수신하는 데 사용됩니다.
### TFTP와 관련된 주요 개념
1. **UDP 기반 전송**
- TFTP는 **UDP**를 사용하기 때문에, 파일 전송 시 연결 설정을 위한 3방향 핸드셰이킹(Three-Way Handshake)이 필요하지 않습니다. UDP는 연결을 설정하지 않는 비연결형 프로토콜로, 데이터를 빠르게 전송할 수 있지만 신뢰성이 보장되지 않습니다.
**예시:**
- 네트워크 장비가 TFTP 서버에서 설정 파일을 다운로드할 때, UDP를 통해 파일이 빠르게 전송됩니다. 다만, 전송 중 데이터 손실이 발생할 수 있습니다.
2. **파일 전송**
- TFTP는 간단한 파일 전송을 목적으로 하며, 주로 작은 크기의 파일을 네트워크 장비에 신속하게 전송하는 데 사용됩니다.
- 대용량 파일 전송 시에는 FTP가 더 적합하며, TFTP는 인증이 필요 없는 환경에서 파일을 신속하게 전송할 때 유용합니다.
3. **TCP와 3방향 핸드셰이킹**
- **3방향 핸드셰이킹**은 **TCP**에서 사용되는 연결 설정 방식입니다. TCP는 데이터의 신뢰성을 보장하기 위해 데이터를 송신하기 전에 송신 측과 수신 측이 3단계로 연결을 설정합니다.
- TFTP는 TCP를 사용하지 않기 때문에 3방향 핸드셰이킹을 하지 않습니다.
**3방향 핸드셰이킹의 예시 (TCP):**
```
1. 송신자 -> SYN -> 수신자 (연결 요청)
2. 수신자 -> SYN/ACK -> 송신자 (요청 수락)
3. 송신자 -> ACK -> 수신자 (연결 완료)
```
### 각 선택지 설명
1. **Trivial File Transfer Protocol의 약어이다.**
- **옳은 설명**입니다. TFTP는 **Trivial File Transfer Protocol**의 약어입니다.
2. **네트워크를 통한 파일 전송 서비스이다.**
- **옳은 설명**입니다. TFTP는 네트워크에서 간단한 파일 전송을 제공하는 서비스입니다.
3. **3방향 핸드셰이킹 방법인 TCP 세션을 통해 전송한다.**
- **옳지 않은 설명**입니다. TFTP는 **TCP**가 아니라 **UDP**를 사용하며, 3방향 핸드셰이킹을 수행하지 않습니다. UDP는 비연결형 프로토콜로, 연결 설정 없이 데이터를 전송합니다.
4. **신속한 파일의 전송을 원할 경우에는 FTP보다 훨씬 큰 효과를 얻을 수 있다.**
- **옳은 설명**입니다. TFTP는 단순하고 빠르며, 신속한 파일 전송이 필요한 환경에서 FTP보다 효과적일 수 있습니다. 그러나 대용량 파일 전송 시에는 FTP가 더 적합합니다.
### 결론
TFTP는 **UDP 기반의 파일 전송 프로토콜**로 3방향 핸드셰이킹을 사용하지 않습니다. 따라서, **정답은 ③ 3방향 핸드셰이킹 방법인 TCP 세션을 통해 전송한다**입니다.
---
**Question 09:**
RIP(Routing Information Protocol)의 특징에 대한 설명으로 올바른 것은?
① 서브넷 주소를 인식하여 정보로 처리할 수 있다.
② 링크 상태 알고리즘을 사용하므로, 링크 상태에 대한 변화가 빠르다.
③ 메트릭으로 유일하게 Hop Count만을 고려한다.
④ 대규모 네트워크에서 주로 사용되며, 기본 라우팅 업데이트 주기는 1초이다.
이 문제를 풀기 위해서는 **RIP (Routing Information Protocol)** 의 특징과 작동 방식을 이해해야 합니다. RIP는 **거리 벡터 알고리즘**을 사용하여 네트워크에서 라우팅 정보를 교환하는 데 사용되는 프로토콜입니다. 각 선택지에서 언급된 개념들을 하나씩 분석해보겠습니다.
### RIP(Routing Information Protocol)의 기본 개념
- **RIP**는 **거리 벡터 알고리즘 (Distance Vector Algorithm)** 을 사용하는 **내부 라우팅 프로토콜**입니다. 네트워크에서 라우터 간의 정보를 교환할 때 **Hop Count (홉 수)** 를 기준으로 최적 경로를 계산합니다.
- RIP는 작은 네트워크에서 주로 사용되며, 대규모 네트워크에서는 성능의 한계로 인해 잘 사용되지 않습니다.
- RIP는 경로를 찾기 위해 **최대 15홉**까지만 허용하며, 16홉 이상의 경로는 도달할 수 없는 것으로 간주합니다.
### RIP의 주요 특징
1. **메트릭으로 Hop Count만을 사용**
- RIP는 **Hop Count**를 기준으로 경로를 선택합니다. 각 라우터를 지날 때마다 홉 수를 1씩 증가시키고, 홉 수가 가장 적은 경로를 최적 경로로 선택합니다. 즉, **Hop Count**는 라우터 간 경로의 길이를 나타냅니다.
- 다른 거리 벡터 라우팅 프로토콜과 달리, RIP는 네트워크 지연, 대역폭 등의 요소는 고려하지 않고 오직 홉 수만을 기준으로 경로를 선택합니다.
**예시:**
```
라우터 A에서 라우터 B로 가는 두 경로가 있을 때:
경로 1: A -> C -> B (2 hops)
경로 2: A -> D -> E -> B (3 hops)
RIP는 홉 수가 적은 경로 1을 선택합니다.
```
2. **네트워크 업데이트 주기**
- RIP는 **30초**마다 라우팅 테이블을 인접 라우터들과 주기적으로 업데이트합니다. 업데이트는 브로드캐스트 또는 멀티캐스트로 전송되며, 이를 통해 라우터는 네트워크 상태를 지속적으로 확인하고 경로를 업데이트합니다.
**예시:**
```
라우터는 30초마다 자신의 라우팅 테이블을 인접 라우터들에게 전송하여 네트워크 상태를 업데이트합니다.
```
3. **최대 홉 수 제한**
- RIP는 최대 **15홉**까지만 경로를 허용하며, 16홉 이상일 경우 해당 네트워크는 도달할 수 없는 것으로 간주됩니다. 이는 RIP가 대규모 네트워크에서 적합하지 않은 이유 중 하나입니다.
4. **거리 벡터 알고리즘 사용**
- RIP는 **링크 상태 알고리즘**이 아니라, **거리 벡터 알고리즘**을 사용합니다. 링크 상태 알고리즘은 네트워크의 전체 토폴로지를 모든 라우터가 알 수 있도록 하지만, 거리 벡터 알고리즘은 인접 라우터들로부터 정보를 받아 경로를 결정합니다.
**예시:**
```
라우터는 인접한 라우터로부터 경로 정보를 받아 자신에게 최적 경로를 계산합니다. 네트워크 전체 토폴로지를 알지 못하고, 인접 라우터들로부터 받은 정보에 의존합니다.
```
### 각 선택지 설명
1. **서브넷 주소를 인식하여 정보로 처리할 수 있다.**
- RIP는 **서브넷 마스크**를 인식하지 않는 초기 버전이 있었지만, **RIPv2**는 서브넷 마스크를 인식하고 정보를 처리할 수 있습니다. 그러나 이는 기본적으로 RIPv1에 대한 설명이 아닙니다. 따라서 이 설명은 혼동을 줄 수 있습니다.
2. **링크 상태 알고리즘을 사용하므로, 링크 상태에 대한 변화가 빠르다.**
- **RIP는 링크 상태 알고리즘을 사용하지 않고**, 거리 벡터 알고리즘을 사용합니다. 따라서 이 설명은 옳지 않습니다.
3. **메트릭으로 유일하게 Hop Count만을 고려한다.**
- **옳은 설명**입니다. RIP는 오직 **Hop Count**만을 고려하여 경로를 결정합니다. 다른 요소는 고려하지 않습니다.
4. **대규모 네트워크에서 주로 사용되며, 기본 라우팅 업데이트 주기는 1초이다.**
- RIP는 **대규모 네트워크에서는 적합하지 않으며**, 기본 업데이트 주기는 **30초**입니다. 1초는 잘못된 정보입니다.
### 결론
RIP는 **Hop Count**만을 고려하는 프로토콜로, 대규모 네트워크보다는 소규모 네트워크에서 사용됩니다. 따라서, **정답은 ③ 메트릭으로 유일하게 Hop Count만을 고려한다**입니다.
---
**Question 10:**
보기에 프로토콜 중에서 지문에 제시된 내용과 같은 일을 수행하는 프로토콜은?
인터넷에 접속한 호스트들은 인터넷 주소에 의해서 식별되지만 실질적인 통신은 물리적인 네트워크 주소를 얻어야 가능하다. 이 프로토콜은 IP Address를 이용하여 물리적인 네트워크 주소를 얻는데 사용된다.
① DHCP
② IP
③ RIP
④ ARP
이 문제를 풀기 위해 알아야 하는 개념은 **IP 주소**와 **물리적 주소(MAC 주소)** 간의 변환 및 이를 처리하는 프로토콜입니다. 인터넷에서 통신이 이루어지기 위해서는 IP 주소뿐만 아니라 물리적 주소가 필요하며, 이 두 주소를 연결하는 프로토콜을 이해하는 것이 중요합니다.
### 기본 개념 설명
1. **IP 주소와 MAC 주소**
- **IP 주소**는 네트워크 상의 장치를 논리적으로 식별하는 주소입니다. 네트워크를 통해 데이터를 주고받기 위해 사용됩니다.
- **MAC 주소**는 네트워크 인터페이스 카드(NIC)에 고유하게 할당된 물리적 주소로, 이더넷과 같은 로컬 네트워크에서 장치 간의 통신에 사용됩니다.
네트워크 상에서 통신을 할 때, IP 주소를 통해 데이터를 전송하려면 상대방의 물리적 주소(MAC 주소)가 필요합니다. 따라서, IP 주소에서 MAC 주소를 얻는 것이 중요한 과정입니다.
2. **ARP (Address Resolution Protocol)**
- **ARP**는 **IP 주소를 물리적 주소(MAC 주소)로 변환**하는 데 사용되는 프로토콜입니다. 네트워크 상의 호스트는 다른 장치와 통신을 하기 위해 IP 주소로 MAC 주소를 찾아야 하며, 이를 ARP를 통해 수행합니다.
- ARP는 요청-응답 구조로 동작합니다. 예를 들어, 호스트가 상대방의 IP 주소는 알고 있지만 MAC 주소를 모를 때, 네트워크에 ARP 요청을 보내면 해당 IP 주소를 가진 장치가 응답하여 MAC 주소를 제공합니다.
**예시**:
```
호스트 A가 IP 주소 192.168.1.20을 가진 장치와 통신하려고 하지만 MAC 주소를 모를 때, 호스트 A는 ARP 요청을 브로드캐스트로 네트워크에 전송합니다. 그러면 IP 주소 192.168.1.20을 가진 장치가 ARP 응답을 보내 자신의 MAC 주소를 알려줍니다.
```
- ARP 요청 패킷 예시:
```
ARP Request: Who has 192.168.1.20? Tell 192.168.1.10
ARP Reply: 192.168.1.20 is at 00:11:22:33:44:55 (MAC 주소)
```
3. **각 선택지 설명**
① **DHCP (Dynamic Host Configuration Protocol)**
- DHCP는 네트워크에 연결된 장치에 **자동으로 IP 주소를 할당**하는 프로토콜입니다. 물리적 주소를 얻는 것과는 관련이 없습니다.
**예시**:
- DHCP 서버는 네트워크에 접속한 장치에 IP 주소를 자동으로 할당합니다.
② **IP (Internet Protocol)**
- IP는 인터넷에서 **패킷을 라우팅**하고 전달하는 데 사용되는 프로토콜입니다. IP 주소를 관리하고, 패킷의 전송 경로를 지정하는 역할을 하지만, 물리적 주소와는 관련이 없습니다.
③ **RIP (Routing Information Protocol)**
- RIP는 라우팅 프로토콜로, **네트워크 경로를 선택**하고 경로 정보를 교환하는 데 사용됩니다. IP 주소와 MAC 주소 간의 변환과는 무관합니다.
④ **ARP (Address Resolution Protocol)**
- **정답**입니다. ARP는 **IP 주소를 물리적 주소(MAC 주소)로 변환**하는 프로토콜입니다. 네트워크 상의 장치가 IP 주소만 알고 있을 때 MAC 주소를 찾기 위해 사용됩니다.
### 결론
인터넷에서 통신을 하기 위해서는 IP 주소뿐만 아니라 물리적 주소(MAC 주소)가 필요하며, IP 주소에서 물리적 주소를 얻기 위해 **ARP**가 사용됩니다. 따라서, **정답은 ④ ARP**입니다.
---
**Question 11:**
OSI 7계층의 통신 계층별 PDU(Protocol Data Unit)의 명칭으로 올바른 것은?
① 7계층: 세그먼트 ② 4계층: 패킷 ③ 3계층: 비트 ④ 2계층: 프레임
이 문제를 풀기 위해서는 **OSI 7계층 모델**과 각 계층에서 사용하는 **PDU (Protocol Data Unit)**에 대한 개념을 이해해야 합니다. PDU는 데이터가 네트워크를 통해 전송될 때, 계층별로 변환되는 데이터 단위의 명칭입니다.
### OSI 7계층 모델
OSI 7계층 모델은 네트워크 통신을 논리적으로 나누어 설명하는 모델입니다. 각각의 계층은 특정한 기능을 담당하며, 데이터는 각 계층에서 PDU 형식으로 처리됩니다. OSI 7계층을 위에서부터 아래로 나열하면 다음과 같습니다:
1. **7계층: 응용 계층 (Application Layer)**
2. **6계층: 표현 계층 (Presentation Layer)**
3. **5계층: 세션 계층 (Session Layer)**
4. **4계층: 전송 계층 (Transport Layer)**
5. **3계층: 네트워크 계층 (Network Layer)**
6. **2계층: 데이터 링크 계층 (Data Link Layer)**
7. **1계층: 물리 계층 (Physical Layer)**
### PDU(Protocol Data Unit)의 명칭
각 계층에서 데이터를 처리할 때 사용하는 PDU 명칭은 다릅니다. 이는 데이터가 어떤 단계에 있는지를 나타내는 중요한 요소입니다.
1. **7, 6, 5계층: 데이터 (Data)**
- **응용 계층**, **표현 계층**, **세션 계층**에서는 데이터가 그대로 **데이터**로 취급됩니다. 이 계층에서는 주로 애플리케이션과 사용자가 상호작용하는 데이터를 처리합니다.
**예시:**
- 웹 브라우저에서 HTTP 요청을 생성하고 서버로 보낼 때, 7계층에서 데이터로 처리됩니다.
2. **4계층: 세그먼트 (Segment)**
- **전송 계층**에서는 데이터가 **세그먼트**로 처리됩니다. 이 계층은 신뢰성 있는 데이터 전송을 담당하며, **TCP**나 **UDP**를 통해 데이터를 세그먼트 단위로 쪼개어 전송합니다.
**예시:**
- TCP 프로토콜이 데이터를 세그먼트로 분할하여 신뢰성 있는 데이터 전송을 보장합니다.
3. **3계층: 패킷 (Packet)**
- **네트워크 계층**에서는 **패킷** 단위로 데이터를 처리합니다. **IP 주소**를 사용해 데이터를 라우팅하며, 송신지에서 목적지까지의 경로를 결정하는 역할을 합니다
**예시:**
- IP 패킷은 네트워크 계층에서 각 라우터를 통과하며 목적지로 전송됩니다.
4. **2계층: 프레임 (Frame)**
- **데이터 링크 계층**에서는 데이터를 **프레임** 단위로 처리합니다. 이 계층은 물리적 네트워크를 통해 데이터를 전송하며, **MAC 주소**를 사용해 데이터를 네트워크 상의 장치에 전달합니다.
**예시:**
- 이더넷 프레임은 데이터를 MAC 주소를 통해 로컬 네트워크 내에서 전송합니다.
5. **1계층: 비트 (Bits)**
- **물리 계층**에서는 데이터가 **비트 (Bits)** 단위로 처리됩니다. 물리 계층은 실제로 데이터를 전송하는 역할을 하며, 전기적 신호나 무선 신호로 비트를 전송합니다.
**예시:**
- 데이터가 네트워크 케이블을 통해 전송될 때는 전기 신호로 변환되어 비트 단위로 전송됩니다.
### 선택지 분석
1. **7계층: 세그먼트**
- **잘못된 설명**입니다. 7계층에서는 데이터를 **데이터**로 처리하며, **세그먼트**는 4계층에서 사용됩니다.
2. **4계층: 패킷**
- **잘못된 설명**입니다. 4계층에서는 데이터를 **세그먼트**로 처리하며, **패킷**은 3계층에서 사용됩니다.
3. **3계층: 비트**
- **잘못된 설명**입니다. 3계층에서는 **패킷**으로 데이터를 처리하며, **비트**는 1계층에서 사용됩니다.
4. **2계층: 프레임**
- **올바른 설명**입니다. 2계층에서는 데이터를 **프레임** 단위로 처리합니다.
### 결론
OSI 7계층에서 각 계층이 사용하는 PDU 명칭을 기반으로, **정답은 ④ 2계층: 프레임**입니다.
---
**Question 12:**
CSMA/CD의 특징으로 옳지 않은 것은?
① 충돌 도메인이 작을수록 좋다.
② 충돌이 발생하면 임의의 시간 동안 대기하므로 지연 시간을 예측하기 어렵다.
③ 네트워크상의 컴퓨터들이 데이터 전송을 개시하기 위해서는 반드시 ‘토큰’이라는 권한을 가지고 있어야 한다.
④ 컴퓨터들은 케이블의 데이터 흐름 유무를 감시하기 위해 특정 신호를 주기적으로 보낸다.
이 문제를 풀기 위해서는 **CSMA/CD (Carrier Sense Multiple Access with Collision Detection)** 의 동작 방식과 특징을 이해해야 합니다. CSMA/CD는 **이더넷 네트워크**에서 충돌을 방지하고 데이터 전송을 제어하는 중요한 기술입니다.
### CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
- **CSMA/CD**는 네트워크에서 다수의 장치가 동일한 전송 매체(주로 이더넷 케이블)를 공유할 때 충돌을 감지하고 회피하기 위한 프로토콜입니다. 이 방식은 장치들이 네트워크를 통해 데이터를 동시에 전송할 때 발생할 수 있는 충돌을 처리하는 방법입니다.
#### CSMA/CD의 주요 동작 과정:
1. **Carrier Sense (매체 감지)**:
- 데이터를 전송하려는 컴퓨터는 먼저 네트워크의 전송 매체(케이블)에서 **데이터가 전송 중인지 감시**합니다. 만약 데이터가 전송 중이라면, 전송을 기다립니다.
2. **Multiple Access (다중 접속)**:
- 네트워크 상의 여러 장치들이 동일한 전송 매체를 공유하며, 모든 장치가 네트워크 상에서 자유롭게 데이터를 전송할 수 있는 상태입니다.
3. **Collision Detection (충돌 감지)**:
- 만약 두 장치가 동시에 데이터를 전송하려고 하면 **충돌**이 발생합니다. CSMA/CD는 충돌이 발생하면 **충돌을 감지**하고, 데이터를 전송한 장치들에게 알립니다. 그런 후에 충돌이 해결될 때까지 잠시 기다렸다가 데이터를 다시 전송합니다.
**충돌이 발생하면**:
- 데이터를 전송하려던 장치는 임의의 시간(Backoff 알고리즘)을 대기한 후 재전송을 시도합니다.
**예시**:
```
컴퓨터 A와 컴퓨터 B가 동시에 데이터를 전송하려고 하면 충돌이 발생합니다. CSMA/CD는 이 충돌을 감지하고, A와 B는 데이터를 다시 전송하기 전에 임의의 시간 동안 대기합니다.
```
#### CSMA/CD의 특징:
1. **충돌 도메인이 작을수록 좋다**:
충돌 도메인은 동일한 네트워크 내에서 충돌이 발생할 수 있는 범위입니다. **충돌 도메인이 작을수록 충돌이 발생할 가능성이 줄어들기 때문에 네트워크 성능이 향상됩니다.**
2. **충돌이 발생하면 임의의 시간 동안 대기하므로 지연 시간을 예측하기 어렵다**:
충돌이 발생한 후, 장치들은 충돌을 해결하기 위해 **임의의 시간**(Backoff 시간)을 대기하고 재전송을 시도합니다. 이 때문에 지연 시간을 정확하게 예측하기 어렵습니다.
3. **네트워크상의 컴퓨터들이 데이터 전송을 개시하기 위해 ‘토큰’을 가지고 있어야 한다**:
이 설명은 **잘못된 설명**입니다. **CSMA/CD**에서는 토큰이라는 개념이 존재하지 않습니다. 토큰 기반 통신은 **토큰 링(Token Ring)**이라는 다른 네트워크 프로토콜에서 사용하는 방식입니다. CSMA/CD에서는 네트워크에 데이터가 전송 중이지 않을 때, 자유롭게 데이터를 전송할 수 있습니다.
4. **컴퓨터들은 케이블의 데이터 흐름 유무를 감시하기 위해 특정 신호를 주기적으로 보낸다**:
**옳은 설명**입니다. CSMA/CD는 **전송 매체를 감시**하여 데이터 흐름이 없을 때 데이터를 전송하려고 시도합니다. 이는 Carrier Sense 단계에서 이루어집니다.
### 각 선택지 분석:
1. **충돌 도메인이 작을수록 좋다**:
- **옳은 설명**입니다. 충돌 도메인이 작을수록 네트워크 성능이 좋아집니다.
2. **충돌이 발생하면 임의의 시간 동안 대기하므로 지연 시간을 예측하기 어렵다**:
- **옳은 설명**입니다. 충돌이 발생하면 임의의 시간 동안 대기한 후 재전송하기 때문에 지연 시간이 예측 불가능합니다.
3. **네트워크상의 컴퓨터들이 데이터 전송을 개시하기 위해 반드시 ‘토큰’이라는 권한을 가지고 있어야 한다**:
- **옳지 않은 설명**입니다. **토큰**은 **토큰 링 프로토콜**에서 사용하는 개념이지, **CSMA/CD**에서는 사용되지 않습니다.
4. **컴퓨터들은 케이블의 데이터 흐름 유무를 감시하기 위해 특정 신호를 주기적으로 보낸다**:
- **옳은 설명**입니다. CSMA/CD에서는 전송 매체가 비어 있는지 확인하기 위해 매체를 감시합니다.
### 결론:
**정답은 ③ 네트워크상의 컴퓨터들이 데이터 전송을 개시하기 위해 반드시 ‘토큰’이라는 권한을 가지고 있어야 한다**입니다. CSMA/CD에서는 '토큰'이 사용되지 않습니다.
---
**Question 13:**
RARP(Reverse Address Resolution Protocol)에 대한 설명 중 옳지 않은 것은?
① IP Address를 하드웨어 주소로 변환하기 위해서 사용한다.
② RFC 903에 명시되어 있고, RFC 951에 기술된 BOOTP에 의해 대체되고 있다.
③ 디스크를 소유하지 않으면 RARP를 이용하여 인터넷 주소를 먼저 알아내야 한다.
④ Ethernet, FDDI, Token Ring 등의 근거리 통신망에서 사용할 수 있는 프로토콜이다.
이 문제를 풀기 위해 알아야 하는 개념은 **RARP (Reverse Address Resolution Protocol)**의 기능과 역할입니다. RARP는 주로 초기 네트워킹 환경에서 사용된 프로토콜로, IP 주소를 동적으로 할당받지 못하는 장치들이 자신의 **물리적 주소(MAC 주소)**를 사용하여 **IP 주소**를 얻을 수 있도록 도와주는 역할을 합니다.
### RARP (Reverse Address Resolution Protocol)의 기본 개념
- **RARP**는 네트워크 장치가 자신의 **하드웨어 주소(MAC 주소)**를 이용하여 **IP 주소**를 얻는 데 사용되는 프로토콜입니다. 주로 네트워크 상에서 자신의 IP 주소를 모르는 장치가 자신의 MAC 주소를 RARP 서버로 전송하면, RARP 서버는 해당 장치의 IP 주소를 찾아서 알려줍니다.
- **ARP**와 **RARP**의 차이점:
- **ARP**는 **IP 주소**를 이용해 **MAC 주소**를 찾는 프로토콜입니다.
- **RARP**는 그 반대로, **MAC 주소**를 이용해 **IP 주소**를 얻습니다.
### RARP의 사용 사례
RARP는 디스크 없이 부팅하는 **무디스크 워크스테이션**에서 주로 사용되었습니다. 이러한 장치들은 하드디스크나 로컬 저장 장치가 없기 때문에 IP 주소를 저장할 수 없고, 부팅할 때마다 네트워크를 통해 자신의 IP 주소를 알아내야 했습니다.
**예시:**
```
- 워크스테이션이 부팅되면 RARP 요청을 브로드캐스트로 전송합니다.
- RARP 서버가 이 요청을 수신하고, 워크스테이션의 MAC 주소를 기반으로 해당 IP 주소를 할당하여 응답합니다.
- 워크스테이션은 RARP 서버로부터 받은 IP 주소를 사용하여 네트워크에 접속합니다.
```
### BOOTP와 DHCP
- **BOOTP**와 **DHCP**는 RARP를 대체하는 프로토콜들입니다.
- **BOOTP**는 RARP보다 발전된 프로토콜로, 클라이언트가 부팅할 때 IP 주소를 포함한 더 다양한 정보를 제공받을 수 있습니다. **RFC 951**에서 BOOTP가 RARP를 대체하도록 기술되었습니다.
- **DHCP**는 BOOTP의 확장형으로, 동적으로 IP 주소를 할당하고 더 많은 옵션을 제공합니다. 오늘날 대부분의 네트워크에서 DHCP가 사용됩니다.
### 각 선택지 분석
1. **IP Address를 하드웨어 주소로 변환하기 위해서 사용한다.**
- **잘못된 설명**입니다. RARP는 **하드웨어 주소(MAC 주소)를 IP 주소로 변환**하는 데 사용됩니다. 이 설명은 **ARP**에 대한 설명입니다.
2. **RFC 903에 명시되어 있고, RFC 951에 기술된 BOOTP에 의해 대체되고 있다.**
- **옳은 설명**입니다. RARP는 **RFC 903**에 정의되어 있으며, 이후 **BOOTP**에 의해 대체되었습니다.
3. **디스크를 소유하지 않으면 RARP를 이용하여 인터넷 주소를 먼저 알아내야 한다.**
- **옳은 설명**입니다. 디스크가 없는 네트워크 장치(무디스크 워크스테이션)는 RARP를 사용하여 IP 주소를 알아냅니다.
4. **Ethernet, FDDI, Token Ring 등의 근거리 통신망에서 사용할 수 있는 프로토콜이다.**
- **옳은 설명**입니다. RARP는 주로 **이더넷**, **FDDI**, **토큰 링**과 같은 **근거리 통신망(LAN)**에서 사용될 수 있는 프로토콜입니다.
### 결론
RARP는 **하드웨어 주소(MAC 주소)를 IP 주소로 변환**하는 데 사용되며, IP 주소를 MAC 주소로 변환하는 **ARP**와는 반대 역할을 합니다. 따라서, **정답은 ① IP Address를 하드웨어 주소로 변환하기 위해서 사용한다**입니다.
---
**Question 14:**
IPv6 주소 'a184:0a01:0000:0000:cd8c:1000:317b:00ff'를 생략하여 표기한 것으로 알맞은 것은?
① a184:a1::cd8c:1:317b
② a184:a01::0d8c:1000:317b
③ a184:a01:0:0:cd8c:10:317b:00ff
④ a184:a01:cd8c:1000:317b
이 문제를 풀기 위해서는 **IPv6 주소 표기법**과 **생략 규칙**에 대한 개념을 이해해야 합니다. IPv6 주소는 길이가 128비트로, 표기될 때 16진수 형식으로 나타납니다. 그러나 이러한 주소는 긴 경우가 많아서, 특정 규칙을 사용하여 생략할 수 있습니다.
### IPv6 주소의 기본 표기 규칙
IPv6 주소는 **128비트** 길이로, 16비트씩 8개 구분되어 **16진수**로 표기됩니다. 각 16비트 그룹은 콜론(:)으로 구분되며, 총 8개의 섹션으로 나뉩니다.
**예시 IPv6 주소**:
```
a184:0a01:0000:0000:cd8c:1000:317b:00ff
```
### 생략 규칙
1. **앞의 0 생략**:
- 각 섹션의 앞에 있는 불필요한 0은 생략할 수 있습니다. 예를 들어, `0a01`은 `a01`로, `0000`은 `0`으로 생략할 수 있습니다.
**예시**:
```
0a01 -> a01
0000 -> 0
00ff -> ff
```
2. **연속된 0 그룹 생략 (연속된 콜론 사용)**:
- 연속된 16비트 섹션이 **모두 0일 경우**는 `::`로 한 번만 생략할 수 있습니다. 이 생략은 주소에서 단 한 번만 사용할 수 있습니다.
**예시**:
```
a184:0a01:0000:0000:cd8c:1000:317b:00ff -> a184:a01::cd8c:1000:317b:ff
```
### 예시를 통한 적용
원래 주소: `a184:0a01:0000:0000:cd8c:1000:317b:00ff`
1. **앞의 0 생략**:
- `0a01` → `a01`
- `00ff` → `ff`
중간 결과: `a184:a01:0000:0000:cd8c:1000:317b:ff`
2. **연속된 0 그룹 생략**:
- `0000:0000` → `::`
최종 결과: `a184:a01::cd8c:1000:317b:ff`
### 각 선택지 분석
1. **a184:a1::cd8c:1:317b**
- 생략된 부분과 생략 규칙이 맞지 않음. 틀린 답.
2. **a184:a01::0d8c:1000:317b**
- `cd8c`가 잘못 표기됨. 틀린 답.
3. **a184:a01:0:0:cd8c:10:317b:00ff**
- 연속된 0이 두 번 생략되지 않음. 틀린 답.
4. **a184:a01::cd8c:1000:317b:ff**
- 생략 규칙에 맞음. **정답**.
### 결론
IPv6 주소 `a184:0a01:0000:0000:cd8c:1000:317b:00ff`를 생략하여 표기한 올바른 답은 **④ a184:a01::cd8c:1000:317b:ff**입니다.
---
**Question 15:**
다음 보기 중 공인 IP로 설정 시 공중망(Public Network)에서 통신의 문제가 발생할 수 있는 것은?
① 209.37.4.11
② 172.29.130.78
③ 9.3.3.8
④ 31.255.255.224
이 문제를 풀기 위해서는 **공인 IP 주소**와 **사설 IP 주소**의 개념을 이해해야 합니다. **사설 IP 주소**는 내부 네트워크에서만 사용되며, **공인 IP 주소**는 인터넷과 같은 공중망에서 통신할 때 사용됩니다. 사설 IP 주소를 잘못 설정하여 공중망에서 사용하면 통신 문제가 발생할 수 있습니다.
### 1. 공인 IP 주소와 사설 IP 주소
- **공인 IP 주소 (Public IP Address)**:
공인 IP 주소는 인터넷 서비스 제공자(ISP)로부터 할당받아 외부 인터넷과 통신하는 데 사용되는 주소입니다. 공인 IP 주소는 전 세계적으로 고유하며, 인터넷 상의 네트워크 장치가 서로 통신할 수 있도록 해줍니다.
- **사설 IP 주소 (Private IP Address)**:
사설 IP 주소는 내부 네트워크에서 사용하기 위해 예약된 IP 주소 범위입니다. 이 IP 주소들은 **인터넷에서는 사용되지 않으며**, 외부와 통신할 때는 **NAT (Network Address Translation)**을 통해 공인 IP 주소로 변환해야 합니다. 사설 IP 주소를 공중망에서 직접 사용하려고 하면 통신 문제가 발생할 수 있습니다.
### 사설 IP 주소 범위 (RFC 1918에 정의됨)
다음 IP 주소 범위는 **사설 IP 주소**로 지정되어 있으며, 공중망에서는 사용되지 않습니다.
- **A 클래스 사설 IP 주소**:
- 10.0.0.0 ~ 10.255.255.255
- **B 클래스 사설 IP 주소**:
- 172.16.0.0 ~ 172.31.255.255
- **C 클래스 사설 IP 주소**:
- 192.168.0.0 ~ 192.168.255.255
이 범위에 속하는 IP 주소는 **내부 네트워크에서만 사용**해야 하며, 공중망에서는 사용할 수 없습니다.
### 보기 분석
1. **209.37.4.11**
- 이 IP 주소는 사설 IP 범위에 속하지 않습니다. **공인 IP 주소**로, 공중망에서 사용 가능하므로 문제없습니다.
2. **172.29.130.78**
- **172.16.0.0 ~ 172.31.255.255** 범위는 **B 클래스 사설 IP 주소**입니다. **사설 IP 주소**로, 공중망에서 사용하면 통신 문제가 발생할 수 있습니다.
**문제의 원인이 되는 IP 주소입니다.**
3. **9.3.3.8**
- 이 IP 주소는 사설 IP 범위에 속하지 않습니다. **공인 IP 주소**로, 공중망에서 사용 가능하므로 문제없습니다.
4. **31.255.255.224**
- 이 IP 주소도 사설 IP 범위에 속하지 않습니다. **공인 IP 주소**로, 공중망에서 사용 가능하므로 문제없습니다.
### 결론
공중망에서 통신 문제를 일으킬 수 있는 **사설 IP 주소**는 **172.29.130.78**입니다. 따라서, **정답은 ② 172.29.130.78**입니다.
---
**Question 16:**
다음 (A) 안에 들어가는 용어 중 옳은 것은?
(A)은/는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 (A)라고 부른다. 또한 (A)은 캐시 기능이 있어 네트워크의 트래픽을 줄이고 데이터의 전송 시간을 향상시키는 효과도 있다.
① DNS
② Proxy
③ DB
④ TTS
이 문제를 풀기 위해서는 **Proxy (프록시)** 의 개념을 이해해야 합니다. **프록시**는 네트워크 환경에서 클라이언트와 서버 사이에서 대리로 통신을 수행하는 역할을 하며, 캐시 기능을 통해 네트워크 성능을 향상시킬 수 있는 중계자 역할을 합니다.
### 기본 개념 설명
#### 1. **Proxy (프록시)**
- **프록시**는 클라이언트와 서버 사이에서 중계 역할을 하는 컴퓨터나 응용 프로그램을 말합니다. 클라이언트가 서버에 직접 연결하는 대신, 프록시 서버를 통해 간접적으로 서버에 접속하게 됩니다.
- 프록시는 클라이언트의 요청을 대신 서버로 전달하고, 서버의 응답을 클라이언트로 전달합니다. 프록시 서버는 이러한 대리 통신을 통해 보안과 트래픽 관리, 접속 제어 등의 기능을 수행할 수 있습니다.
- **캐시 기능**도 제공하며, 자주 요청되는 웹 페이지나 데이터를 프록시 서버에 저장해 두었다가 다시 요청이 들어오면 서버 대신 빠르게 클라이언트에게 전달하여 **네트워크 트래픽을 줄이고 데이터 전송 시간을 단축**하는 효과가 있습니다.
**예시:**
- 사용자가 웹 브라우저를 통해 웹 사이트에 접속하려고 할 때, 프록시 서버를 경유하여 요청을 보냅니다. 프록시 서버는 클라이언트의 요청을 웹 서버로 전달하고, 웹 서버의 응답을 받아 클라이언트에게 전달합니다.
```
클라이언트 → 프록시 서버 → 웹 서버
```
- 만약 프록시 서버가 이전에 동일한 웹 페이지를 요청받아 **캐시**에 저장해 두었다면, 웹 서버에 다시 요청하지 않고 프록시 서버가 캐시에 저장된 데이터를 클라이언트에게 빠르게 전달할 수 있습니다.
#### 2. **DNS (Domain Name System)**
- **DNS**는 도메인 이름을 **IP 주소**로 변환해 주는 서비스입니다. 웹 브라우저에 `www.example.com`과 같은 도메인 이름을 입력하면, DNS 서버가 해당 도메인에 대응하는 IP 주소를 찾아 클라이언트에게 알려줍니다.
- DNS는 클라이언트가 다른 네트워크 서비스에 간접적으로 접속하는 데 도움을 주지 않고, 프록시 역할을 하지 않습니다.
#### 3. **DB (Database)**
- **DB**는 데이터의 체계적인 저장소로, 네트워크 서비스에 직접적으로 연결되지 않습니다. DB는 서버 내에서 데이터 저장 및 관리에 사용됩니다.
#### 4. **TTS (Text-to-Speech)**
- **TTS**는 **텍스트를 음성으로 변환**하는 기술로, 네트워크 서비스나 통신 중계와는 관련이 없습니다.
### 각 선택지 분석
1. **DNS (Domain Name System)**:
- **DNS**는 도메인 이름을 IP 주소로 변환하는 서비스로, 클라이언트가 간접적으로 다른 네트워크 서비스에 접속하게 해주지 않습니다. **프록시와는 관련이 없습니다**.
2. **Proxy (프록시)**:
- **정답**입니다. 프록시는 클라이언트와 서버 사이에서 대리로 통신을 수행하고, 캐시 기능을 제공해 네트워크 트래픽을 줄이고 전송 시간을 단축할 수 있습니다.
3. **DB (Database)**:
- 데이터 저장을 위한 체계적 저장소로, 프록시 역할과는 관련이 없습니다.
4. **TTS (Text-to-Speech)**:
- 텍스트를 음성으로 변환하는 기술로, 네트워크 통신과 중계기 역할을 하지 않습니다.
### 결론
프록시는 클라이언트가 간접적으로 네트워크 서비스에 접속할 수 있도록 중계 역할을 하며, 캐시 기능을 통해 네트워크 트래픽을 줄이는 데 기여합니다.
따라서 **정답은 ② Proxy**입니다.
---
**Question 17:**
ICMP(Internet Control Message Protocol)에 대한 설명 중 틀린 것은?
① 비연결 프로토콜이고 TTL(Time To Live)을 제공한다.
② ICMPv4(Internet Control Message Protocol) 메시지의 특징은 질의메시지가 있다.
③ ICMP의 주된 기능은 IP 데이터그램의 프로세싱을 동작하는 동안 오류를 보고한다.
④ 호스트 간 신뢰성을 확보하기 위해 반향과 화답 메시지를 지원한다.
이 문제를 풀기 위해서는 **ICMP (Internet Control Message Protocol)** 의 개념과 역할을 이해해야 합니다. **ICMP**는 네트워크에서 오류를 보고하거나 네트워크 연결 상태를 점검하는 데 사용되는 프로토콜입니다. 주로 **IP 프로토콜**의 일부분으로 동작하며, 네트워크 문제를 진단하고 오류를 처리하는 데 중요한 역할을 합니다.
### ICMP의 기본 개념
1. **ICMP (Internet Control Message Protocol)**:
- **ICMP**는 네트워크에서 **오류 메시지**를 보고하거나, 네트워크 장치 간 **상태**를 확인하는 데 사용됩니다. 예를 들어, **데이터 전송이 실패하거나 네트워크 경로가 차단되었을 때** ICMP를 통해 오류 메시지를 전송하여 해당 문제를 알립니다.
- 주로 네트워크 진단 도구인 **Ping**과 **Traceroute** 명령에서 사용됩니다.
2. **비연결 프로토콜**:
- ICMP는 **비연결성 프로토콜**입니다. 이는 통신을 시작하거나 연결을 유지하기 위한 세션을 설정하지 않고 메시지를 전송합니다. **IP 프로토콜**의 일부분으로 동작하며, 오류 보고 및 제어 메시지 전송을 위해 사용됩니다.
3. **ICMP 메시지의 주요 기능**:
- ICMP는 여러 종류의 메시지를 전달하는 데 사용됩니다. 대표적인 ICMP 메시지로는 다음과 같은 것들이 있습니다:
- **Echo Request**: 네트워크 장치에 요청 메시지를 보내 상태를 확인합니다. (Ping에서 사용됨)
- **Echo Reply**: Echo Request에 대한 응답 메시지입니다. (Ping 응답)
- **Destination Unreachable**: IP 데이터그램이 목적지에 도달할 수 없음을 알립니다.
- **Time Exceeded**: TTL(Time To Live) 값이 0에 도달했을 때 전송됩니다. 이는 주로 **Traceroute**에서 사용됩니다.
- **Redirect Message**: 잘못된 경로로 데이터가 전송되고 있을 때 경로를 수정합니다.
### ICMP의 주요 기능
1. **오류 보고 기능**:
- ICMP는 **IP 데이터그램 처리 중 발생하는 오류를 보고**하는 데 사용됩니다. 데이터가 목적지에 도달하지 못하거나 전송 중 문제가 발생하면 ICMP를 통해 해당 오류를 송신 측에 보고합니다.
**예시**:
```
만약 네트워크 패킷이 유효하지 않은 경로로 전송되거나 도착할 수 없을 경우, ICMP는 "Destination Unreachable" 메시지를 전송하여 송신 측에 문제를 알립니다.
```
2. **Ping과 Echo Request/Reply**:
- **Ping** 명령은 ICMP를 이용해 **Echo Request** 메시지를 전송하여 네트워크 장치의 가용성을 확인합니다. **Echo Reply** 메시지가 반환되면, 해당 장치가 정상적으로 네트워크에 연결되어 있음을 확인할 수 있습니다.
**예시**:
```
사용자 A가 네트워크에 있는 서버에 Ping 명령을 실행하면, 서버는 ICMP Echo Request 메시지를 받고 ICMP Echo Reply 메시지로 응답합니다. 이를 통해 서버의 연결 상태를 확인할 수 있습니다.
```
3. **TTL (Time To Live)**:
- ICMP는 **TTL(Time To Live)** 값을 사용하여 네트워크 경로를 추적하거나 데이터가 목적지에 도달하지 못할 때 TTL 초과 오류를 보고합니다. 주로 **Traceroute**에서 사용되며, 중간 경로의 네트워크 장치들이 TTL을 감소시키면서 ICMP 메시지를 통해 경로를 추적합니다.
### 각 선택지 분석
1. **비연결 프로토콜이고 TTL(Time To Live)을 제공한다**:
- **틀린 설명**입니다. ICMP 자체는 **비연결 프로토콜**이 맞지만, **TTL**은 **IP 프로토콜**의 기능입니다. ICMP가 TTL 값을 제공하지 않지만, **TTL 초과 오류를 보고**하는 기능을 가지고 있습니다. 따라서 이 설명은 혼동을 줄 수 있습니다.
2. **ICMPv4 메시지의 특징은 질의 메시지가 있다**:
- **옳은 설명**입니다. ICMPv4는 **Echo Request/Reply**와 같은 질의 메시지를 통해 네트워크 상태를 확인하는 기능을 제공합니다.
3. **ICMP의 주된 기능은 IP 데이터그램의 프로세싱을 동작하는 동안 오류를 보고한다**:
- **옳은 설명**입니다. ICMP의 주된 역할 중 하나는 **IP 데이터그램 처리 중 오류를 보고하는 것**입니다. 목적지에 도달하지 못하거나 네트워크 문제가 발생할 때 ICMP를 통해 오류 메시지를 송신 측에 전달합니다.
4. **호스트 간 신뢰성을 확보하기 위해 반향과 화답 메시지를 지원한다**:
- **옳은 설명**입니다. **Echo Request**와 **Echo Reply** 메시지는 네트워크에서 호스트 간의 연결 상태를 확인하는 데 사용됩니다. 이를 통해 네트워크의 신뢰성을 확보할 수 있습니다.
### 결론
이 설명들 중에서 **"비연결 프로토콜이고 TTL을 제공한다"**라는 설명은 혼동을 일으킬 수 있으며, ICMP는 TTL 값을 제공하지 않고 IP 프로토콜의 기능을 사용하여 TTL 초과 오류를 보고합니다.
따라서 **정답은 ① 비연결 프로토콜이고 TTL을 제공한다**입니다.