혼자공부하는 네트워크 복습 DAY5

정지범·4일 전

📘 혼자 공부하는 네트워크 — 복습 DAY 5

학습 범위: 네트워크 DAY 1 ~ DAY 11
복습 방식: 20문제 풀이 및 해설
학습 내용: Wireshark, DNS, TCP 재전송, Proxy, HTTP 상태 코드, DHCP, HTTP 메서드, IPv4 단편화, SPoF, TCP Handshake, 이중화, Load Balancing, ARP, CIDR, TLS, BGP

기존에 공부했던 네트워크 내용을 다시 복습해보자.

이번 복습도 하루에 20문제씩 풀면서 기억이 나지 않거나 헷갈리는 부분을 다시 정리하는 방식으로 진행한다.


Q1. Wireshark Display Filter

다음 조건의 패킷만 보고 싶다.

출발지 IP
10.0.0.15

목적지 TCP Port
80

Wireshark Display Filter를 작성해보자.

풀이

처음에는 다음과 같이 작성했다.

ip.src == 10.0.0.15 && dst.port == TCP.80

출발지 IP 부분은 맞았지만 목적지 TCP 포트 문법이 잘못되었다.

정확한 필터는 다음과 같다.

ip.src == 10.0.0.15 && tcp.dstport == 80

Wireshark에서 자주 사용하는 필터는 다음과 같다.

ip.src
→ 출발지 IP

ip.dst
→ 목적지 IP

tcp.srcport
→ TCP 출발지 Port

tcp.dstport
→ TCP 목적지 Port

그리고 조건을 연결할 때는

&&
→ AND

||
→ OR

를 사용할 수 있다.

핵심: dst.port가 아니라 tcp.dstport를 사용한다.


Q2. DNS Record

다음 DNS Record와 역할을 연결해보자.

A
AAAA
MX
CNAME

풀이

정답은 다음과 같다.

A
→ IPv4 주소

AAAA
→ IPv6 주소

MX
→ Mail Server 정보

CNAME
→ 다른 Domain Name에 대한 Alias

이전 복습에서는 A와 CNAME을 헷갈렸지만 이번에는 정확하게 구분했다.

예시

example.com
→ A
→ 192.0.2.10
www.example.com
→ CNAME
→ example.com

핵심: A는 IPv4, AAAA는 IPv6, MX는 Mail, CNAME은 Alias.


Q3. TCP Fast Retransmit

TCP 송신자가 같은 ACK 번호를 3번 중복해서 받았다.

이때 송신자는 어떻게 할까?

① 재전송 Timer가 끝날 때까지 기다린다.
② 손실된 것으로 추정되는 Segment를 빠르게 재전송한다.
③ TCP 연결을 종료한다.
④ Slow Start를 무조건 처음부터 다시 시작한다.

풀이

정답은 ②번

TCP는 동일한 ACK 번호를 여러 번 반복해서 받으면 중간 Segment가 손실되었을 가능성을 판단할 수 있다.

일반적으로 동일한 ACK를 3번 중복해서 받으면

Duplicate ACK
Duplicate ACK
Duplicate ACK
      ↓
손실 가능성 판단
      ↓
Timer 만료 전에 재전송

을 수행할 수 있다.

이를 Fast Retransmit이라고 한다.

헷갈리는 개념

Fast Retransmit
→ Duplicate ACK를 보고 빠르게 재전송

Selective Repeat
→ 손실된 데이터만 선택적으로 재전송

Go-Back-N
→ 손실 지점부터 이후 데이터까지 재전송

Slow Start
→ Congestion Control

Q4. Forward Proxy와 Reverse Proxy

다음과 같은 상황이 있다.

외부 사용자
    |
    v
Proxy Server
    |
    v
내부 WEB Server

외부 사용자는 실제 내부 WEB Server의 주소를 몰라도 된다.

어떤 Proxy일까?

풀이

정답은 Reverse Proxy

Reverse Proxy는 Server 측을 대신하여 외부 Client의 요청을 받는다.

외부 Client
    |
    v
Reverse Proxy
    |
    v
내부 Server

반대로 Forward Proxy는 Client 측을 대신한다.

내부 Client
    |
    v
Forward Proxy
    |
    v
외부 Internet

기억

Forward Proxy
→ Client를 대신

Reverse Proxy
→ Server를 대신

Q5. 502와 504

Reverse Proxy가 뒤쪽 WAS에 요청을 보냈는데 WAS가 제한 시간 안에 응답하지 않았다.

어떤 HTTP 상태 코드일까?

① 404
② 500
③ 502
④ 504

풀이

정답은 ④ 504 Gateway Timeout

처음에는 502를 Gateway Server 자체에 문제가 있을 때 발생하는 코드라고 생각했다.

하지만 정확히는 다음과 같다.

502 Bad Gateway
→ 뒤쪽 Server에서 받은 응답이 유효하지 않음

504 Gateway Timeout
→ 뒤쪽 Server가 제한 시간 안에 응답하지 않음

따라서

Reverse Proxy
      |
      v
     WAS

응답 없음
      ↓
Timeout
      ↓
504

로 이해할 수 있다.

핵심: 502는 응답이 이상함, 504는 응답이 늦어서 시간 초과.


Q6. DNS 조회 순서

DNS Resolver가 Domain의 IP 주소를 찾기 위해 조회하는 일반적인 순서는?

① Root → TLD → Authoritative
② TLD → Root → Authoritative
③ Authoritative → TLD → Root
④ Root → Authoritative → TLD

풀이

처음에는 ④번이라고 생각했다.

정답은 ① Root → TLD → Authoritative

순서는 다음과 같다.

Root Name Server
      ↓
TLD Name Server
      ↓
Authoritative Name Server

Root Name Server

".com 담당 Server는 저쪽이야."

TLD Name Server의 위치를 안내한다.

TLD Name Server

"example.com 담당 Server는 저쪽이야."

Authoritative Name Server의 위치를 안내한다.

Authoritative Name Server

실제 Domain의 DNS Record를 제공한다.

example.com
→ IP Address

기억

Root
↓
TLD
↓
Authoritative

Q7. DHCP DORA

DHCP에서 Offer 단계는 어떤 의미일까?

① Client가 DHCP Server를 찾는다.
② DHCP Server가 사용할 IP를 제안한다.
③ Client가 해당 IP를 사용하겠다고 요청한다.
④ DHCP Server가 최종 승인한다.

풀이

정답은 ②번

DHCP의 전체 과정은 DORA라고 기억할 수 있다.

Discover
→ Offer
→ Request
→ ACK

처음에는

Discover = Detect?
ACK = Access?

처럼 기억하고 있었다.

정확한 명칭은 다음과 같다.

D
Discover

O
Offer

R
Request

A
ACK

Discover

Client가 DHCP Server를 찾는다.

"DHCP Server 있나요?"

Offer

DHCP Server가 사용할 수 있는 IP를 제안한다.

"이 IP 사용하는 건 어때?"

Request

Client가 제안받은 IP를 사용하겠다고 요청한다.

"그 IP를 사용하겠습니다."

ACK

DHCP Server가 최종 승인한다.

"확인. 사용해."

Q8. PUT과 PATCH

사용자 프로필 전체를 새로운 데이터로 교체하고 싶다.

어떤 HTTP Method를 사용하는 것이 적절할까?

① GET
② POST
③ PUT
④ PATCH

풀이

정답은 ③ PUT

이번에는 정확하게 구분했다.

PUT
→ 전체 수정 / 대체

PATCH
→ 일부 수정

예를 들어

{
  "name": "pingu",
  "age": 25,
  "job": "engineer"
}

에서 age만 수정한다면 PATCH의 개념으로 이해할 수 있다.

전체 데이터를 새로운 내용으로 교체한다면 PUT을 사용할 수 있다.


Q9. IPv4 DF와 MF

다음 설명 중 올바른 것은?

① DF = 1이면 단편화 허용
② DF = 0이면 단편화 금지
③ MF = 1이면 뒤에 단편이 더 있음
④ MF = 0이면 무조건 첫 번째 단편

풀이

정답은 ③번

MF는

More Fragments

의 약자이다.

MF = 1
→ 뒤에 Fragment가 더 있음

MF = 0
→ 뒤에 Fragment가 없음
→ 마지막 Fragment

DF는 처음에 Default Fragment 정도로 기억하고 있었다.

정확한 명칭은

Don't Fragment

이다.

DF = 1
→ 단편화 금지

DF = 0
→ 단편화 허용

기억

DF
→ Don't Fragment
→ 쪼개지 마

MF
→ More Fragments
→ 뒤에 더 있어

Q10. SPoF

SPoF란 무엇일까?

① 장애가 발생해도 전체 서비스에 영향이 없는 장치
② 하나의 장애가 전체 서비스 장애로 이어질 수 있는 단일 지점
③ Active-Active 구조
④ Health Check 기능

풀이

정답은 ②번

SPoF는

Single Point of Failure

의 약자이다.

하나의 장비나 구성 요소에 장애가 발생했을 때 전체 서비스에 영향을 줄 수 있는 지점을 의미한다.

예를 들어

Client
   |
   v
Load Balancer
   |
 +---+---+
 |       |
WEB A   WEB B

WEB Server가 두 대이더라도 Load Balancer가 한 대뿐이고 반드시 그 장비를 거쳐야 한다면 Load Balancer가 SPoF가 될 수 있다.

대응 방법

대표적인 방법은 이중화이다.

장비 1대
→ 장애 시 전체 영향

장비 이중화
→ 한쪽 장애 시 다른 장비가 서비스 지속

Q11. TCP 3-Way Handshake

TCP 연결 설정에서 두 번째 단계에서 Server가 보내는 것은?

① SYN
② ACK
③ SYN + ACK
④ FIN + ACK

풀이

정답은 ③ SYN + ACK

전체 과정은 다음과 같다.

Client                     Server

   SYN
   ---------------------->

           SYN + ACK
   <----------------------

   ACK
   ---------------------->

        연결 완료

SYN

Client가 연결 요청을 보낸다.

"연결하고 싶어."

SYN + ACK

Server는

ACK
→ Client의 SYN을 받았다는 확인

SYN
→ Server도 연결을 시작할 준비가 됐다는 의미

를 함께 전달한다.

ACK

Client가 Server의 응답을 확인한다.


Q12. Active-Active와 Active-Standby

다음 중 Active-Active 구조에 해당하는 것은?

① 한 Server는 서비스, 한 Server는 대기
② 두 Server 모두 평소 실제 서비스 처리
③ 자동 전환 기능이 없는 구조
④ Server가 한 대만 존재

풀이

처음에는 ③번이라고 생각했다.

하지만 정답은 ②번

Active-Active는 두 시스템 모두 평소에 실제 서비스를 처리한다.

Server A
Active

Server B
Active

반면 Active-Standby는

Server A
Active
→ 실제 서비스

Server B
Standby
→ 대기

구조이다.

차이

Active-Active
→ 두 시스템 모두 서비스

Active-Standby
→ 하나는 서비스
→ 하나는 대기

둘 다 이중화 구성 방식으로 볼 수 있다.


Q13. Load Balancing Algorithm

다음과 같은 서버가 있다.

Server A
120 Connections

Server B
35 Connections

Server C
80 Connections

현재 연결 수가 가장 적은 Server로 새로운 요청을 전달하는 알고리즘은?

① Round Robin
② Least Connection
③ Active-Standby
④ Health Check

풀이

정답은 ② Least Connection

Least Connection은 현재 연결 수가 가장 적은 Server를 선택한다.

따라서 위 상황에서는

Server B
35 Connections

가 선택된다.

반면 Round Robin은

A
↓
B
↓
C
↓
A
↓
B
↓
C

처럼 순서대로 요청을 분산한다.

기억

Round Robin
→ 순서 기준

Least Connection
→ 현재 연결 수 기준

Q14. HTTP 상태 코드

HTTP 상태 코드 중 Client Error에 해당하는 범위는?

① 2xx
② 3xx
③ 4xx
④ 5xx

풀이

정답은 ③ 4xx

상태 코드의 큰 분류는 다음과 같다.

2xx
→ Success

3xx
→ Redirection

4xx
→ Client Error

5xx
→ Server Error

예를 들어

404 Not Found
→ 4xx

500 Internal Server Error
→ 5xx

이다.


Q15. ARP와 다른 네트워크 통신

다음 두 장치가 있다.

PC A
192.168.1.10/24

PC B
192.168.2.20/24

PC A가 PC B로 데이터를 보내려고 할 때 ARP를 통해 알아내야 하는 MAC 주소는?

풀이

두 장치는 /24이므로 서로 다른 네트워크에 있다.

PC A
192.168.1.0/24

PC B
192.168.2.0/24

따라서 PC A는 PC B의 MAC을 직접 알아내는 것이 아니라 Default Gateway의 MAC 주소를 알아내야 한다.

PC A
  |
  | ARP
  v
Default Gateway MAC 확인
  |
  v
Gateway로 Frame 전달
  |
  v
Routing
  |
  v
PC B 방향으로 전달

/22라면?

이번 문제를 풀면서 /22라면 같은 네트워크가 될 수 있다는 것도 확인했다.

/22
= 255.255.252.0

세 번째 Octet이 4단위로 묶인다.

192.168.0.0
~
192.168.3.255

따라서

192.168.1.10/22
192.168.2.20/22

는 같은 네트워크에 포함될 수 있다.

이 경우에는 목적지 Host의 MAC 주소를 직접 ARP로 확인할 수 있다.


Q16. CIDR 계산

다음 IP 주소의 네트워크 주소, 브로드캐스트 주소, 사용 가능한 Host 범위를 구하자.

192.168.5.200/28

풀이

IPv4는 32bit이다.

32 - 28
= 4bit

Host Bit가 4bit이므로

2^4
= 16

주소가 16개 단위로 나뉜다.

0   ~ 15
16  ~ 31
32  ~ 47
...
192 ~ 207
208 ~ 223
...

200은

192 ~ 207

범위에 포함된다.

따라서

Network Address
→ 192.168.5.192

Broadcast Address
→ 192.168.5.207

Host Range
→ 192.168.5.193 ~ 192.168.5.206

사용 가능한 Host 수는

2^4 - 2
= 14개

이다.

처음 답을 적을 때 Broadcast Address를

192.168.207

이라고 작성했지만 정확한 주소는

192.168.5.207

이다.


Q17. DNS Cache

DNS Resolver의 Cache에 Domain 정보가 이미 존재하고 TTL도 아직 만료되지 않았다.

이 경우 Resolver는 어떻게 동작할까?

① Root부터 다시 조회
② Cache 정보 사용
③ DHCP Server에 조회
④ ARP를 사용

풀이

정답은 ② Cache 정보 사용

이미 유효한 DNS 정보가 Cache에 있다면 굳이

Root
↓
TLD
↓
Authoritative

과정을 다시 수행할 필요가 없다.

Cache를 사용하면

  • 불필요한 DNS Query 감소
  • Network Traffic 감소
  • 응답 속도 향상
  • DNS Server 부하 감소

등의 장점이 있다.

핵심: TTL이 유효한 Cache가 있다면 우선 Cache를 사용한다.


Q18. TLS 인증서 검증

HTTPS 통신에서 Client가 Server 인증서의 유효성을 확인할 때 확인하는 항목으로 올바른 것은?

① 인증서의 유효기간과 Domain 일치 여부
② Server의 MAC 주소
③ DHCP 임대 기간
④ TCP 목적지 Port만 확인

풀이

정답은 ①번

Client는 Server가 제공한 Certificate를 확인하면서 다음과 같은 항목을 검증할 수 있다.

Certificate 유효기간

접속 Domain과 Certificate의 Domain 일치 여부

신뢰 가능한 CA인지

Certificate Chain

전자 서명

인증서는 단순히 암호화에 사용하는 파일이라기보다 접속한 Server의 신원을 검증하기 위한 수단으로 이해할 수 있다.


Q19. iBGP와 eBGP

다음 중 올바른 설명은?

① iBGP는 서로 다른 AS 사이에서 사용
② eBGP는 같은 AS 내부에서 사용
③ eBGP는 서로 다른 AS 사이에서 사용
④ RIP는 AS 간 경로 교환에 사용

풀이

정답은 ③번

eBGP는

External BGP

로, 서로 다른 AS 사이에서 BGP 경로 정보를 교환한다.

AS 100
   |
 eBGP
   |
AS 200

iBGP는

Internal BGP

로, 같은 AS 내부의 BGP Router끼리 BGP 정보를 교환한다.

처음에는 iBGP를

Interior Border Gateway Protocol

이라고 생각했지만 정확한 명칭은

Internal BGP

이다.

RIP

RIP에 대한 설명은 다음과 같이 기억하고 있었다.

RIP
→ Distance Vector
→ Hop Count 기준
→ AS 내부

이는 맞다.

OSPF

마지막에는 AS 간 경로 교환에 OSPF를 사용하는 것으로 생각했지만 OSPF 역시 IGP이다.

RIP
→ IGP

OSPF
→ IGP

BGP
→ AS 간 경로 정보 교환

Q20. IGP와 iBGP

다음 설명 중 틀린 것은?

① RIP는 Hop Count를 기준으로 경로를 선택한다.

② OSPF는 AS 내부에서 사용할 수 있는 IGP이다.

③ eBGP는 서로 다른 AS 사이에서 경로 정보를 교환한다.

④ iBGP는 RIP, OSPF와 같은 IGP의 한 종류이다.

풀이

정답은 ④번

iBGP는 같은 AS 내부에서 사용되기 때문에 이름에 Internal이 포함되지만 IGP는 아니다.

IGP
├─ RIP
└─ OSPF

BGP는

BGP
├─ iBGP
└─ eBGP

처럼 동작 관계에 따라 나눌 수 있다.

iBGP

같은 AS 내부에서
BGP Route 정보 교환

eBGP

서로 다른 AS 사이에서
BGP Route 정보 교환

따라서 반드시 기억해야 할 것은

iBGP ≠ IGP

이다.


📌 DAY 5 — 오답 및 헷갈렸던 개념

문제개념핵심 복습
Q1Wiresharktcp.dstport 문법 다시 확인
Q5HTTP502는 응답 문제, 504는 Timeout
Q6DNSRoot → TLD → Authoritative
Q7DHCPDiscover / Offer / Request / ACK
Q9IPv4DF = Don't Fragment, MF = More Fragments
Q12이중화Active-Active는 두 Server 모두 서비스
Q16CIDRBroadcast Address 전체 Octet 정확히 작성
Q19BGPiBGP = Internal BGP
Q19RoutingOSPF는 AS 간이 아니라 IGP
Q20BGPiBGP는 IGP가 아님

🔥 오늘 특히 기억해야 할 내용

Wireshark

ip.src
→ Source IP

ip.dst
→ Destination IP

tcp.srcport
→ TCP Source Port

tcp.dstport
→ TCP Destination Port

예시:

ip.src == 10.0.0.15 && tcp.dstport == 80

DNS Record

A
→ IPv4

AAAA
→ IPv6

MX
→ Mail Server

CNAME
→ Alias

DNS 조회 순서

Root
↓
TLD
↓
Authoritative

Cache에 유효한 정보가 있다면 DNS Resolver는 해당 Cache를 우선 사용할 수 있다.


TCP Fast Retransmit

Duplicate ACK 3번
       ↓
Packet 손실 추정
       ↓
Timer 만료 전 재전송
Fast Retransmit
→ Duplicate ACK 기반

Selective Repeat
→ 손실된 것만

Go-Back-N
→ 손실 지점부터 이후까지

Proxy

Forward Proxy
→ Client를 대신

Reverse Proxy
→ Server를 대신

HTTP 상태 코드

2xx
→ Success

3xx
→ Redirection

4xx
→ Client Error

5xx
→ Server Error
502
→ 뒤쪽 Server 응답 문제

504
→ 뒤쪽 Server 응답 Timeout

DHCP

Discover
→ Offer
→ Request
→ ACK

DORA

IPv4 단편화

DF
= Don't Fragment

DF = 1
→ 단편화 금지

DF = 0
→ 단편화 허용
MF
= More Fragments

MF = 1
→ 뒤에 Fragment 있음

MF = 0
→ 마지막 Fragment

SPoF와 이중화

SPoF
= Single Point of Failure

하나의 장애가 전체 서비스에 영향을 줄 수 있는 단일 장애 지점이다.

이중화를 통해 SPoF를 줄일 수 있다.

Server뿐 아니라

Load Balancer
Switch
NIC
Database

등도 전체 구조를 보고 이중화 여부를 검토해야 한다.


Active-Active / Active-Standby

Active-Active
→ 두 Server 모두 서비스

Active-Standby
→ 한 Server 서비스
→ 한 Server 대기

Load Balancing

Round Robin
→ 순서 기준

Least Connection
→ 연결 수 기준

ARP

같은 Network
→ 목적지 Host MAC 확인

다른 Network
→ Default Gateway MAC 확인

그리고

IP
→ 최종 목적지

MAC
→ 현재 구간의 다음 전달 대상

BGP / IGP

IGP
├─ RIP
└─ OSPF
BGP
├─ iBGP
└─ eBGP
iBGP
= Internal BGP
→ 같은 AS 내부

eBGP
= External BGP
→ 서로 다른 AS 사이

주의:

iBGP ≠ IGP

그리고

RIP
→ Distance Vector
→ Hop Count

OSPF
→ IGP

BGP
→ AS 간 Route 정보 교환

🎯 다음 복습 목표 — DAY 6

다음 복습에서는 오늘 헷갈렸던 내용을 다시 문제로 만나면서 확실하게 익혀보자.

  • Wireshark Display Filter 직접 작성하기
  • DNS Root → TLD → Authoritative 순서 다시 확인하기
  • DHCP Discover → Offer → Request → ACK 정확한 용어 기억하기
  • Fast Retransmit / Selective Repeat / Go-Back-N 구분하기
  • 502와 504 차이 다시 확인하기
  • DF와 MF 약자 및 역할 다시 확인하기
  • Active-Active와 Active-Standby 구분하기
  • CIDR 계산에서 주소 전체 표기 실수 줄이기
  • iBGP = Internal BGP 기억하기
  • RIP / OSPF / iBGP / eBGP 관계 다시 구분하기
  • DAY1~DAY11 전체 범위에서 총 20문제 풀기

DAY 5 복습 완료! ✅

#네트워크 #혼자공부하는네트워크 #네트워크공부 #TCP #UDP #DNS #HTTP #Wireshark #DHCP #IPv4 #Proxy #TLS #BGP #로드밸런싱 #정보보안 #복습

profile
성실하자:)

0개의 댓글