subindev 님의 블로그

[기술 면접 대비] 2.네트워크 본문

카테고리 없음

[기술 면접 대비] 2.네트워크

subindev 2025. 8. 29. 20:52

 

🌐 네트워크 면접 필수 개념 정리

 

1. HTTP 프로토콜

HTTP(Hyper Text Transfer Protocol): 클라이언트와 서버가 데이터를 주고받는 통신 규약

 

특징

- Stateless: 요청 간 상태 저장 안 함

- Connectionless: 요청-응답 후 연결 끊김

 

👉 비유

HTTP는 “편지 보내기”와 같음. 편지를 주고받으면 끝. 다음 편지를 보낼 때는 이전 대화를 모름.

 

장점

상태 관리 필요 없어 서버 설계 단순

 

단점

매번 인증 필요 → 쿠키/세션 사용으로 보완

 

답변 예시:

“HTTP는 클라이언트와 서버 간 데이터 통신을 위한 프로토콜입니다. 상태를 저장하지 않는 Stateless, 연결을 유지하지 않는 Connectionless 특징이 있어 서버 설계가 단순하지만, 매 요청마다 인증이 필요한 단점이 있습니다.”

 


 

2. HTTP vs HTTPS

HTTP: 데이터를 암호화 없이 전송 → 보안 취약

HTTPS: HTTP + SSL/TLS로 암호화 → 데이터 보호, 신뢰성 확보

HTTPS는 HTTP → SSL/TLS → TCP 순서로 동작

 

👉 비유

HTTP = 엽서 (누구나 내용 볼 수 있음)

HTTPS = 밀봉된 봉투 편지 (내용 노출 안 됨)

 

답변 예시:

“HTTP는 데이터를 평문으로 전송하기 때문에 보안에 취약합니다. HTTPS는 SSL/TLS 암호화를 적용해 통신 내용을 보호하고, 서버 신뢰성을 확보할 수 있습니다.”

 


 

3. 쿠키 vs 세션

쿠키: 클라이언트(브라우저)에 저장되는 작은 텍스트 파일

세션: 서버에서 사용자 상태를 관리하는 기술

 

👉 비유

쿠키 = 손님이 직접 들고 다니는 식권

세션 = 식당 주인이 직접 손님 명단을 기록해둠

 

저장 위치 클라이언트 서버
만료 시점 설정 가능 (브라우저 꺼도 유지) 기본적으로 브라우저 종료 시 삭제
리소스 클라이언트 서버
보안 낮음 높음

 

답변 예시:

“쿠키는 클라이언트 PC에 저장되는 작은 데이터 파일이고, 세션은 서버에서 상태를 저장하는 방식입니다. 쿠키는 빠르지만 보안에 취약하고, 세션은 보안성이 높지만 서버 자원을 소모합니다.”

 


 

4. 웹 동작 방식 (www.naver.com 접속 과정)

  1. 브라우저에 URL 입력
  2. DNS 서버에서 도메인 → IP 변환
  3. IP 주소로 해당 서버와 TCP 3-way Handshake로 연결 수립
  4. 클라이언트가 서버로 HTTP 요청 전송
  5. 서버가 HTTP 응답 반환
  6. 브라우저가 응답을 해석해 화면에 출력

 

👉 비유

DNS = 전화번호부에서 친구 전화번호 찾기

Handshake = “전화 연결되는지 확인”

HTTP 요청/응답 = 실제 대화

 

답변 예시:

“브라우저에 URL을 입력하면 DNS를 통해 IP를 찾고, 서버와 TCP 3-way Handshake로 연결합니다. 이후 HTTP 요청을 보내고 서버가 응답하면, 브라우저가 이를 해석해 화면에 출력합니다.”

 


 

5. TCP vs UDP

TCP

연결형 (3-way Handshake)

순서 보장, 신뢰성 높음

속도 느림

 

UDP

비연결형, 순서 보장 없음

신뢰성 낮음

속도 빠름

 

👉 비유

TCP = 등기우편 (확실히 전달, 확인 서명 필요)

UDP = 일반 우편/엽서 (빠르지만 분실 가능)

 

답변 예시:

“TCP는 연결형 프로토콜로 신뢰성이 높지만 속도가 느리고, UDP는 비연결형으로 빠르지만 신뢰성이 낮습니다. 그래서 TCP는 파일 전송, UDP는 실시간 스트리밍이나 게임에서 주로 사용됩니다.”

 


 

6. TCP Handshake

3-way Handshake (연결 성립)

  1. 클라이언트 → SYN → 서버
  2. 서버 → SYN/ACK → 클라이언트
  3. 클라이언트 → ACK → 서버

4-way Handshake (연결 종료)

  1. 클라이언트 → FIN → 서버
  2. 서버 → ACK
  3. 서버 → FIN
  4. 클라이언트 → ACK

 

👉 비유

3-way = 전화 걸기 → 여보세요? → 네 들려요!

4-way = 통화 끝내자 → 알았어 → 끊을게 → 나도 끊었어

 

답변 예시:

“TCP 연결은 3-way Handshake로 성립하고, 4-way Handshake로 종료됩니다. 3-way는 서로 통신이 가능한지 확인하는 과정이고, 4-way는 양쪽이 모두 종료 의사를 확인하는 과정입니다.”

 


 

7. OSI 7계층

 

  1. 물리 계층: 신호 전송 (케이블, 리피터)
  2. 데이터 링크 계층: 프레임, 오류검출 (스위치)
  3. 네트워크 계층: 경로 설정, 패킷 전달 (IP, 라우터)
  4. 전송 계층: 종단 간 전송, 오류 복구 (TCP/UDP)
  5. 세션 계층: 연결 유지/관리
  6. 표현 계층: 데이터 변환, 암호화
  7. 응용 계층: 사용자 서비스 (HTTP, FTP, SMTP 등)

 

👉 비유

소포 배달 과정:

 

물리(도로) → 링크(주소 라벨) → 네트워크(경로 찾기) → 전송(배달 보증) → 세션(누구와 통화?) → 표현(언어 통역) → 응용(실제 대화)

 

답변 예시:

“OSI 7계층은 네트워크 통신을 단계별로 나눈 모델입니다. 13계층은 데이터 전달, 46계층은 전달 과정의 안정성과 형식, 7계층은 사용자와 직접 맞닿는 서비스 계층을 담당합니다.”

 


 

8. HTTP Method

  • GET: 데이터 조회
  • POST: 데이터 등록
  • PUT: 데이터 전체 수정 (없으면 생성)
  • PATCH: 일부 수정
  • DELETE: 삭제

 

👉 비유

  • GET = 책 빌려보기
  • POST = 새 책 기증
  • PUT = 책 전체 교체
  • PATCH = 책 일부만 수정
  • DELETE = 책 폐기

 

답변 예시:

“HTTP 메소드는 요청 목적을 알리는 수단입니다. GET은 조회, POST는 등록, PUT은 전체 수정, PATCH는 일부 수정, DELETE는 삭제에 사용됩니다.”

 


 

9. GET vs POST

구분GETPOST

데이터 전송 위치 URL Body
보안 낮음 (URL 노출) 상대적 안전
캐싱 가능 불가
멱등성 있음 없음

 

👉 비유

GET = 주소창에 책 제목을 써서 요청

POST = 책 내용을 직접 제출

 

답변 예시:

“GET은 데이터를 URL에 붙여 전송하기 때문에 보안에 취약하지만 빠르고 캐싱이 가능합니다. POST는 데이터를 Body에 담아 전송해 보안성이 더 좋지만 속도는 느립니다.”

 


 

10. 세션 기반 vs 토큰 기반 인증

세션 기반: 서버가 상태를 저장 (Stateful), 확장성 낮음

토큰 기반 (JWT): 서버 상태 저장 안 함 (Stateless), 확장성 좋음

 

👉 비유

세션 = 식당 주인이 손님 명단을 직접 기록

토큰 = 손님이 출입증 들고 다니며 인증

 

답변 예시:

“세션 기반 인증은 서버가 상태를 저장해 관리하기 때문에 사용자가 많아지면 확장성이 떨어집니다. 토큰 기반 인증은 Stateless 구조로 확장성이 좋고 분산 서버 환경에 적합합니다.”

 


 

11. JWT (JSON Web Token)

Self-contained: 토큰 자체에 정보 포함

구조: Header.Payload.Signature

 

👉 비유

JWT = 정보가 담긴 회원증 (소지 자체가 인증 수단)

 

답변 예시:

“JWT는 JSON 형식의 Claim 기반 웹 토큰으로, 토큰 자체에 정보를 포함해 인증을 처리합니다. Header, Payload, Signature 구조로 되어 있으며, Stateless한 인증 방식을 구현할 수 있습니다.”

 


 

12. 대칭키 vs 비대칭키 암호화

대칭키: 암호화/복호화 같은 키 사용 → 빠르지만 키 유출 위험

비대칭키: 공개키/개인키 쌍 사용 → 안전하지만 느림

 

👉 비유

대칭키 = 집 열쇠 하나 (잃어버리면 누구나 출입 가능)

비대칭키 = 공개 우편함(공개키) + 집 전용 열쇠(개인키)

 

답변 예시:

“대칭키 암호화는 같은 키로 암복호화를 하기 때문에 빠르지만 키 유출에 취약합니다. 비대칭키는 공개키와 개인키 쌍을 사용해 안전하지만 속도가 느립니다.”

 


 

13. Connection Timeout vs Read Timeout

Connection Timeout: 서버 연결 시도 자체가 제한 시간 초과

Read Timeout: 연결은 되었지만 응답이 늦어 제한 시간 초과

 

👉 비유

Connection Timeout = 전화를 걸었는데 연결이 안 되는 상황

Read Timeout = 통화는 되었지만 상대가 대답하지 않는 상황

 

답변 예시:

“Connection Timeout은 서버와 연결 자체가 안 되는 상황이고, Read Timeout은 연결은 되었지만 서버 응답이 늦어 발생하는 상황입니다.”

 


 

14. 공인 IP vs 사설 IP

공인 IP: ISP가 제공, 외부에서 접근 가능

사설 IP: 내부 네트워크 전용, 라우터를 통해 공인 IP로 변환 필요

 

👉 비유

공인 IP = 집 주소 (택배 기사 바로 방문 가능)

사설 IP = 아파트 호수 (공유기=관리실 거쳐야 외부 연결 가능)

 

답변 예시:

“공인 IP는 인터넷에서 직접 접근 가능한 주소이고, 사설 IP는 내부 네트워크에서만 쓰이는 주소입니다. 사설 IP는 라우터를 통해 공인 IP로 변환되어 외부와 통신합니다.”