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

정지범·6일 전

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

학습 범위: 네트워크 DAY 1 ~ DAY 11
복습 방식: 20문제 풀이 및 해설
학습 내용: Proxy, TCP 제어, DNS, IPv4 단편화, Wireshark, HTTP 상태 코드, Load Balancing, TLS, DHCP, CIDR, HTTP Cache, TCP/UDP, CA, SPoF, BGP

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

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


Q1. Forward Proxy

회사 내부 직원들의 인터넷 요청을 대신 외부 서버로 전달하고 접속 기록이나 접근 정책을 관리하려고 한다.

어떤 프록시를 사용해야 할까?

① Forward Proxy
② Reverse Proxy
③ Load Balancer
④ Default Gateway

풀이

정답은 ① Forward Proxy

Forward Proxy는 클라이언트 측에서 클라이언트를 대신하여 외부 서버에 요청을 전달한다.

내부 사용자
    |
    v
Forward Proxy
    |
    v
외부 인터넷

반대로 Reverse Proxy는 외부 요청을 받아 내부 서버에 전달한다.

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

로드 밸런서는 특정 위치에 고정되는 개념이라기보다 여러 서버로 요청을 분산하는 역할이 핵심이다.

Forward Proxy
→ Client를 대신

Reverse Proxy
→ Server를 대신

Load Balancer
→ 여러 Server로 요청 분산

Q2. 흐름 제어와 혼잡 제어

다음 두 상황은 각각 어떤 제어가 필요할까?

상황 A

송신자가 너무 빠르게 데이터를 전송하여 수신자의 버퍼가 거의 가득 찼다.

상황 B

송신자와 수신자는 데이터를 충분히 처리할 수 있지만 중간 네트워크에 패킷이 너무 많이 몰려 지연과 손실이 발생한다.

풀이

상황 A
→ Flow Control

상황 B
→ Congestion Control

Flow Control(흐름 제어)은 수신자가 처리할 수 있는 양보다 송신자가 너무 많은 데이터를 보내는 것을 방지한다.

Flow Control
→ 수신자가 감당할 수 있는가?

Congestion Control(혼잡 제어)은 네트워크 자체에 패킷이 지나치게 많이 몰리는 것을 방지한다.

Congestion Control
→ 네트워크가 감당할 수 있는가?

관련 윈도우는 다음과 같이 구분할 수 있다.

수신 윈도우
rwnd
→ Flow Control

혼잡 윈도우
cwnd
→ Congestion Control

Q3. DNS 조회 순서

DNS 재귀 리졸버가 도메인의 IP 주소를 찾을 때 일반적인 조회 순서는?

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

풀이

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

정답은 ③ Root → TLD → Authoritative

DNS Resolver
     |
     v
Root Name Server
     |
     v
TLD Name Server
     |
     v
Authoritative Name Server
     |
     v
DNS Record

Root Name Server

해당 최상위 도메인(TLD)을 담당하는 서버를 알려준다.

"example.com?"

→ .com 담당 서버는 저쪽이야.

TLD Name Server

해당 도메인을 담당하는 권한 있는 네임 서버를 알려준다.

"example.com?"

→ example.com 담당 서버는 저쪽이야.

Authoritative Name Server

실제 도메인의 DNS 레코드를 제공한다.

example.com
→ IP Address

따라서

Root
→ TLD
→ Authoritative

순서로 기억한다.

단, DNS Cache가 있다면 일부 조회 과정은 생략될 수 있다.


Q4. IPv4 단편화 필드

다음 중 역할이 잘못 연결된 것은?

① Identification
→ 같은 원본 패킷의 조각인지 구분

② Fragment Offset
→ 원본 데이터에서 해당 조각의 위치 확인

③ MF
→ 뒤에 단편이 더 있는지 확인

④ Sequence Number
→ 같은 원본 IP 패킷의 단편인지 구분

풀이

정답은 ④번

Sequence Number는 IPv4 단편화가 아니라 TCP 데이터 순서 관리와 관련되어 있다.

IPv4 단편화에서는 다음 세 가지를 함께 기억한다.

Identification
→ 같은 원본 Packet인가?

Fragment Offset
→ 원본에서 어느 위치인가?

MF
→ 뒤에 Fragment가 더 있는가?

반면

TCP Sequence Number
→ TCP 데이터 순서 관리

에 사용된다.


Q5. Wireshark Display Filter

다음 조건의 패킷만 표시하고 싶다.

출발지 IP
192.168.10.50

TCP 목적지 Port
443

풀이

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

sip:192.168.10.50 & TCP.443

하지만 Wireshark Display Filter 문법으로는 올바르지 않다.

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

ip.src == 192.168.10.50 && tcp.dstport == 443

각 항목의 의미는 다음과 같다.

ip.src
→ Source IP

ip.dst
→ Destination IP

tcp.srcport
→ TCP Source Port

tcp.dstport
→ TCP Destination Port

&&
→ AND

||
→ OR

따라서 Wireshark에서는 단순히 sip와 같은 형태가 아니라 정해진 Display Filter 문법을 사용해야 한다.


Q6. HTTP 502 Bad Gateway

Reverse Proxy가 뒤쪽 WAS 서버에 요청을 전달했는데 유효하지 않은 응답을 받았다.

어떤 HTTP 상태 코드가 적절할까?

① 404
② 500
③ 502
④ 504

풀이

정답은 ③ 502 Bad Gateway

Client
   |
   v
Reverse Proxy
   |
   v
WAS

Reverse Proxy 또는 Gateway가 상위 서버로부터 정상적이지 않은 응답을 받으면 502 Bad Gateway가 발생할 수 있다.

502와 504

502 Bad Gateway
→ 상위 Server에서 유효하지 않은 응답

504 Gateway Timeout
→ 상위 Server가 제한 시간 내 응답하지 않음

Q7. L4와 L7 Load Balancer

다음과 같이 요청 경로에 따라 서로 다른 서버로 보내고 싶다.

/images
→ Image Server

/api
→ API Server

어떤 로드 밸런서를 사용해야 할까?

① L2
② L4
③ L7
④ DNS Round Robin

풀이

정답은 ③ L7 Load Balancer

URL 경로는 HTTP 애플리케이션 계층의 정보이다.

따라서 HTTP 요청 내용을 보고 서버를 선택하려면 L7이 필요하다.

L4
→ IP
→ TCP/UDP Port

L7
→ URL
→ HTTP Header
→ Cookie

구조를 보면 다음과 같다.

Client
  |
  v
L7 Load Balancer
  |
  +---- /images → Image Server
  |
  +---- /api    → API Server

Q8. TCP Fast Retransmit

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

재전송 타이머가 만료되기 전에 손실된 것으로 판단되는 세그먼트를 다시 전송하는 기능은?

① Slow Start
② Fast Retransmit
③ Flow Control
④ Selective Repeat

풀이

처음에는 ④ Selective Repeat라고 생각했다.

정답은 ② Fast Retransmit

Fast Retransmit은 동일한 ACK가 반복될 때 패킷 손실을 추정하여 재전송 타이머가 끝나기 전에 빠르게 재전송하는 방식이다.

일반적으로 TCP에서는 동일한 ACK를 3번 중복해서 받는 경우 손실 가능성을 판단한다.

Data 1 → 정상
Data 2 → 정상
Data 3 → 손실
Data 4 → 도착
Data 5 → 도착

Duplicate ACK
Duplicate ACK
Duplicate ACK

        ↓

Data 3 빠른 재전송

비슷한 용어들을 구분해야 한다.

Fast Retransmit
→ Duplicate ACK 기반 빠른 재전송

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

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

Slow Start
→ Congestion Control

Q9. TLS와 대칭 키 암호화

TLS에서 실제 애플리케이션 데이터를 암호화할 때 대칭 키 암호화 방식을 사용하는 주된 이유는?

① 공개 키 방식보다 일반적으로 처리 속도가 빠르다.
② 대칭 키는 키가 필요 없다.
③ 대칭 키가 Server 인증까지 자동 수행한다.
④ 공개 키 방식은 인터넷에서 사용할 수 없다.

풀이

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

정답은 ①번

대칭 키 방식은 공개 키 방식과 비교했을 때 일반적으로 연산 비용이 적고 빠르기 때문에 실제 데이터를 암호화하는 데 적합하다.

TLS에서는 각각의 기술을 대략 다음과 같이 나눠서 이해할 수 있다.

공개 키 기술
→ 인증
→ 안전한 Key Exchange 지원

대칭 키
→ 실제 Application Data 암호화

즉,

TLS Handshake
→ Server 인증
→ 공유할 Session Key 마련

이후 실제 통신
→ Session Key를 이용한 대칭 키 암호화

방식으로 이해할 수 있다.


Q10. DHCP DORA

DHCP로 IP 주소를 할당받는 올바른 순서는?

① Discover → Offer → Request → ACK
② Discover → Request → Offer → ACK
③ Offer → Discover → ACK → Request
④ Request → Offer → Discover → ACK

풀이

정답은 ①번

순서는 앞글자를 이용하여 DORA라고 기억할 수 있다.

D
Discover

O
Offer

R
Request

A
ACK

Discover

처음에는 사용하지 않는 IP 주소를 찾는 과정이라고 생각했다.

정확히는 클라이언트가 DHCP 서버를 찾는 과정이다.

Client
"DHCP Server 있나요?
IP 주소가 필요합니다."

Offer

DHCP 서버가 사용할 수 있는 IP 주소를 제안한다.

Server
"이 IP를 사용하는 것은 어때?"

Request

클라이언트가 제안받은 주소를 사용하겠다고 요청한다.

Client
"그 주소를 사용하겠습니다."

ACK

DHCP 서버가 최종적으로 승인한다.

Server
"확인. 그 IP를 사용해."

Q11. CIDR 계산

다음 IP 주소의

  • Network Address
  • Broadcast Address
  • 사용 가능한 Host 범위

를 구해보자.

172.16.10.70/27

풀이

/27이므로 Host Bit는

32 - 27
= 5bit

이다.

전체 주소 수는

2^5
= 32개

따라서 32개 단위로 Subnet이 나뉜다.

0   ~ 31
32  ~ 63
64  ~ 95
96  ~ 127
...

70은

64 ~ 95

구간에 포함된다.

따라서

Network Address
172.16.10.64

Broadcast Address
172.16.10.95

Host Range
172.16.10.65
~
172.16.10.94

사용 가능한 Host 수는

2^5 - 2
= 30개

이다.


Q12. DNS A Record

도메인 이름을 IPv4 주소와 연결하는 DNS Record는?

① AAAA
② A
③ MX
④ CNAME

풀이

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

정답은 ② A Record

DNS Record는 다음과 같이 구분한다.

A
→ IPv4 Address

AAAA
→ IPv6 Address

MX
→ Mail Server

CNAME
→ 다른 Domain Name의 Alias

예를 들어

example.com
→ A
→ 192.0.2.10

처럼 A 레코드가 IPv4 주소를 가리킬 수 있다.

CNAME은 IP 주소를 직접 나타내는 것이 아니라 다른 도메인 이름을 가리킨다.

www.example.com
      |
      v
    CNAME
      |
      v
example.com

Q13. HTTP Cache와 304

Browser가 Server에 리소스 변경 여부를 확인했는데 다음 응답을 받았다.

304 Not Modified

Browser는 어떻게 할까?

① 기존 Cache 삭제 후 다시 다운로드
② 기존 Cache 사용
③ 404 오류 표시
④ TCP 연결 종료

풀이

정답은 ② 기존 Cache 사용

Not Modified라는 이름 그대로 서버의 리소스가 기존과 비교하여 변경되지 않았다는 의미이다.

Browser
"이 파일 변경됐어?"

Server
"변경 안 됐어.
304 Not Modified"

Browser
"그러면 기존 Cache 사용할게."

캐시를 사용하면

  • Network Traffic 감소
  • Response 속도 향상
  • Server 전송 부담 감소

와 같은 장점이 있다.


Q14. Reverse Proxy

외부 사용자가 웹사이트에 접속한다.

요청은 먼저 Proxy Server가 받고 내부 WEB Server로 전달한다.

사용자는 내부 WEB Server의 실제 주소를 알 필요가 없다.

어떤 Proxy일까?

① Forward Proxy
② Reverse Proxy
③ NAT
④ DHCP

풀이

처음에는 ① Forward Proxy라고 생각했다.

정답은 ② Reverse Proxy

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

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

외부 사용자는 Reverse Proxy와 통신하고 실제 내부 서버의 구조나 주소를 직접 알 필요가 없다.

Forward Proxy는 반대 방향이다.

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

따라서 다음처럼 기억한다.

Forward Proxy
→ Client를 대신

Reverse Proxy
→ Server를 대신

Q15. TCP와 UDP

다음 중 UDP의 특징이 아닌 것은?

① 3-Way Handshake가 없다.
② 기본적으로 순서를 보장하지 않는다.
③ 기본적으로 재전송을 통해 신뢰성을 보장한다.
④ 실시간 음성/영상에 활용될 수 있다.

풀이

정답은 ③번

UDP는 TCP처럼 기본적으로 재전송을 통해 신뢰성을 보장하지 않는다.

UDP의 주요 특징은 다음과 같다.

비연결형

3-Way Handshake 없음

순서 보장 없음

기본 재전송 없음

상대적으로 작은 Overhead

반면 TCP에서는

Connection 설정
재전송
순서 보장
Flow Control
Congestion Control

등의 기능을 제공한다.


Q16. MTU와 DF

크기가 2000 Byte인 IPv4 패킷이

MTU = 1500 Byte

인 구간을 지나야 한다.

그런데

DF = 1

로 설정되어 있다.

어떻게 처리될까?

① 단편화하여 전송
② 패킷 폐기 후 일반적으로 ICMP 메시지 전달
③ MTU를 2000으로 변경
④ TCP로 변환

풀이

처음에는 DF가 단편화 가능한 횟수와 관련된 값인지 생각했다.

하지만 DF는

Don't Fragment

의 약자이다.

DF = 0
→ Fragmentation 허용

DF = 1
→ Fragmentation 금지

현재 패킷은 2000 Byte이고 구간의 MTU는 1500 Byte이다.

따라서 단편화가 필요하지만 DF가 1이므로 라우터는 단편화할 수 없다.

결과적으로 패킷을 폐기하고 일반적으로 ICMP 관련 메시지를 전달한다.

DF = Don't Fragment = 단편화하지 마


Q17. CA

HTTPS에서 CA의 주요 역할은 무엇일까?

① 모든 HTTPS Data를 직접 암호화
② 인증서를 발급하고 서명하여 Server 신뢰성을 검증할 수 있게 함
③ TCP 연결을 대신 수행
④ DNS를 IP로 변환

풀이

정답은 ②번

CA는

Certificate Authority

즉, 인증 기관이다.

주요 역할은

Digital Certificate 발급

Certificate 전자 서명

공개 키와 신원 정보 연결

신뢰 체계 제공

등이다.

Client는 Server가 보낸 인증서를 확인하면서

인증서 유효기간

Domain 일치 여부

Certificate Chain

CA 신뢰 여부

전자 서명

등을 확인할 수 있다.

CA가 HTTPS 통신 데이터를 모두 직접 암호화하는 것은 아니다.


Q18. SPoF

다음 구조에서 WEB Server는 두 대로 이중화되어 있지만 Load Balancer는 한 대이다.

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

Load Balancer에 장애가 발생하면 어떻게 될까?

풀이

정답은

Load Balancer가 SPoF가 될 수 있고 서비스 접근이 중단될 수 있다.

WEB A와 WEB B 자체는 정상이어도 Client 요청이 Load Balancer를 통과해야 한다면 Load Balancer 장애로 서비스에 접근하지 못할 수 있다.

SPoF는

Single Point of Failure

의 약자이다.

처음에는

Simple Path Objective Failure?

와 비슷하게 기억하고 있었다.

정확한 의미는

하나의 구성 요소에 장애가 발생했을 때 전체 시스템이나 서비스에 큰 영향을 줄 수 있는 단일 장애 지점

이다.

Client
   |
   v
Load Balancer ← SPoF 가능
   |
 +---+---+
 |       |
 v       v
WEB A   WEB B

따라서 고가용성을 구성할 때는 서버뿐 아니라 중간 장비에도 SPoF가 남아 있는지 확인해야 한다.


Q19. eBGP와 iBGP

서로 다른 AS 사이에서 BGP 정보를 교환할 때 사용하는 방식은?

① iBGP
② eBGP
③ OSPF
④ RIP

풀이

정답은 ② eBGP

eBGP는

External BGP

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

AS 100
   |
 eBGP
   |
AS 200

iBGP는

Internal BGP

로, 같은 AS 내부의 BGP Router 사이에서 BGP 정보를 교환한다.

AS 100

Router A
   |
 iBGP
   |
Router B

여기서 주의할 것은

iBGP ≠ IGP

라는 것이다.

IGP는 RIP와 OSPF처럼 AS 내부 라우팅에 사용하는 라우팅 프로토콜 계열이다.

IGP
├─ RIP
└─ OSPF

BGP
├─ iBGP
└─ eBGP

또한 eBGP의 기준은 단순히 다른 Network가 아니라 다른 AS라는 점을 기억한다.


Q20. 502와 504

다음과 같은 구조가 있다.

사용자
  |
  v
Reverse Proxy
  |
  v
WEB Server

사용자가 웹사이트에 접속했는데

504 Gateway Timeout

응답을 받았다.

어떤 상황일까?

풀이

정답은

Reverse Proxy가 WEB Server로부터 제한 시간 안에 응답을 받지 못했을 가능성이 있다.

504 Gateway Timeout은 Gateway나 Proxy가 뒤쪽 Server에 요청을 전달했지만 정해진 시간 내에 응답하지 않은 경우 발생할 수 있다.

반면 502 Bad Gateway는 뒤쪽 Server에서 응답은 받았지만 유효하지 않은 응답인 경우와 관련된다.

502 Bad Gateway
→ 상위 Server의 응답에 문제

504 Gateway Timeout
→ 상위 Server의 응답 시간이 초과

쉽게 기억하면

502
→ 응답이 이상함

504
→ 응답을 기다리다가 시간 초과

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

문제개념핵심 복습
Q3DNS 조회Root → TLD → Authoritative
Q5Wiresharkip.src == IP && tcp.dstport == Port
Q8TCP 재전송Duplicate ACK → Fast Retransmit
Q9TLS대칭 키는 실제 데이터 암호화에 효율적
Q12DNS RecordA = IPv4, AAAA = IPv6, CNAME = Alias
Q14ProxyForward는 Client 측, Reverse는 Server 측
Q16IPv4 단편화DF = Don't Fragment
Q18SPoFSingle Point of Failure

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

Proxy

Forward Proxy
→ Client를 대신

Reverse Proxy
→ Server를 대신

TCP 제어

Flow Control
→ 수신자가 감당 가능한가?

Congestion Control
→ Network가 감당 가능한가?

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

DNS 조회

Root
↓
TLD
↓
Authoritative

DNS Record는

A
→ IPv4

AAAA
→ IPv6

MX
→ Mail Server

CNAME
→ Alias

Wireshark

ip.src
→ Source IP

ip.dst
→ Destination IP

tcp.srcport
→ Source TCP Port

tcp.dstport
→ Destination TCP Port

예시:

ip.src == 192.168.10.50 && tcp.dstport == 443

HTTP 상태 코드

502 Bad Gateway
→ 상위 Server 응답 문제

504 Gateway Timeout
→ 상위 Server 응답 시간 초과

DHCP

Discover
→ Offer
→ Request
→ ACK

DORA

UDP

UDP

비연결형
3-Way Handshake 없음
순서 보장 없음
기본 재전송 없음

IPv4 단편화

Identification
→ 같은 원본 Packet인지 확인

Fragment Offset
→ 원본에서 위치 확인

MF
→ 뒤에 Fragment가 더 있는가?

DF
→ Don't Fragment
DF = 0
→ 단편화 허용

DF = 1
→ 단편화 금지

TLS

공개 키 기술
→ 인증 및 Key Exchange 지원

대칭 키
→ 실제 Data 암호화

SPoF

SPoF

Single Point of Failure

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


BGP

iBGP
→ 같은 AS 내부

eBGP
→ 서로 다른 AS 사이

주의:

iBGP ≠ IGP

🎯 다음 복습 목표 — DAY 5

다음 복습에서는 오늘 틀렸거나 헷갈렸던 내용을 다시 문제로 만나면서 반복해서 익혀보자.

  • DNS 조회 순서 Root → TLD → Authoritative 다시 확인하기
  • DNS A / AAAA / MX / CNAME 레코드 구분하기
  • Wireshark Display Filter 직접 작성하기
  • Fast Retransmit과 Selective Repeat 구분하기
  • Forward Proxy와 Reverse Proxy 다시 구분하기
  • TLS에서 공개 키와 대칭 키의 역할 구분하기
  • DF, MF, Identification, Fragment Offset 구분하기
  • SPoF의 정확한 명칭 Single Point of Failure 기억하기
  • 502와 504 차이 다시 확인하기
  • DAY1~DAY11 전체 범위에서 총 20문제 풀기

DAY 4 복습 완료! ✅

#네트워크 #혼자공부하는네트워크 #네트워크공부 #TCP #UDP #DNS #HTTP #Wireshark #TLS #Proxy #BGP #정보보안 #복습

profile
성실하자:)

0개의 댓글