[기술 면접 총정리] 네트워크편

목차

1. 네트워크 기초

1. 네트워크란 무엇인가

  • 서버, 라우터, 스위치 등의 노드(Node)들이 유선 또는 무선으로 연결되어 데이터를 주고받고 리소스를 공유하는 집합.

2. 좋은 네트워크의 조건

  • 높은 처리량 (Throughput): 많은 데이터를 빠르게 처리할 수 있어야 함.
  • 짧은 지연 시간 (Latency): 요청과 응답 사이의 대기 시간이 짧아야 함.
  • 높은 가용성 및 낮은 장애 빈도: 보안이 뛰어나고 연결이 끊기지 않아야 함.

3. 네트워크 측정 단위

  • 처리량 (Throughput): 실제로 단위 시간당 송수신되는 데이터의 양 (단위: bps). 트래픽, 대역폭, 에러 등의 영향을 받음.
  • 대역폭 (Bandwidth): 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 데이터 전송량.
  • 지연 시간 (Latency):
    • 요청이 처리되어 응답이 오기까지 걸리는 시간.
    • 데이터가 두 장치 사이를 왕복하는 데 걸리는 RTT(Round Trip Time)가 주요 지표가 됨.

4. 네트워크 토폴로지 (Topology)

  • 네트워크의 노드와 링크가 물리적/논리적으로 어떻게 배치되어 있는지 나타낸 구조.
  • 네트워크의 병목 현상을 찾거나 성능을 최적화할 때 중요한 기준이 됨.

5. 네트워크 토폴로지 종류

링형 토폴로지 이미지

1) 트리 (Tree) 토폴로지

  • 나무가 가지를 뻗어 나가는 것처럼 계층적인 구조로 배치된 형태.
  • 장점: 노드의 추가 및 삭제가 쉬워 확장성이 좋음.
  • 단점: 상위 노드에 트래픽이 몰리면 하위 노드 전체가 영향을 받는 병목 현상이 발생할 수 있음.

2) 버스 (Bus) 토폴로지

  • 하나의 중앙 통신 회선(Backbone)에 여러 노드가 직접 연결되어 회선을 공유하는 형태.
  • 장점: 구조가 단순하여 설치 비용이 저렴하고 노드 관리가 쉬움 (주로 소규모 LAN 환경).
  • 단점: 악의적인 노드가 회선의 모든 패킷을 엿볼 수 있어 스푸핑(Spoofing) 등 보안에 취약함.

3) 스타 (Star) 토폴로지

  • 중앙에 있는 노드(허브, 스위치 등)에 나머지 모든 노드가 점 대 점으로 연결된 형태.
  • 장점: 노드 추가가 쉽고 패킷 충돌 가능성이 적음. 특정 노드의 고장이 전체 네트워크에 영향을 주지 않음.
  • 단점: 중앙 노드에 장애가 발생하면 전체 네트워크가 마비됨. 설치 비용이 상대적으로 비쌈.

4) 링형 (Ring) 토폴로지

  • 모든 노드가 양 옆의 노드와 연결되어 닫힌 고리(Ring) 형태를 이루는 구조.
  • 장점: 데이터가 한 방향으로 순차적으로 이동하므로 충돌이 적고, 노드 고장 위치를 발견하기 쉬움.
  • 단점: 네트워크 구성을 변경하기 어렵고, 회선 하나만 끊겨도 전체 네트워크 통신이 중단될 수 있음.

5) 메시 (Mesh) 토폴로지

  • 모든 노드가 그물처럼 서로서로 다대다(N:N)로 연결된 형태.
  • 장점: 경로가 다양하여 특정 경로에 장애가 생겨도 네트워크를 계속 사용할 수 있음(고가용성). 트래픽 분산 처리에 유리함.
  • 단점: 연결 회선이 많아 구축 비용이 매우 비싸고 관리가 복잡함.

6. 네트워크 분류

  • LAN (Local Area Network): 근거리 통신망. 가정, 사무실, 건물 등 좁은 지역 내에서의 통신.
  • MAN (Metropolitan Area Network): 대도시 규모의 네트워크. LAN들을 연결하여 도시 내 통신을 지원.
  • WAN (Wide Area Network): 광역 네트워크. 국가, 대륙 등 매우 넓은 지역을 연결하며 인터넷이 대표적인 WAN임.
Network types image

2. 네트워크 기기

1. 애플리케이션 계층 (Application Layer)

L7 스위치

  • 데이터 통신을 중재하고 정교한 조건(내용)을 기반으로 목적지에 데이터를 전송하는 장비.
  • 흔히 로드밸런서(Load Balancer)라고 불리며 IP, 포트뿐만 아니라 URL, HTTP 헤더, 쿠키 등을 분석해 트래픽을 분산함.
  • AWS의 ALB(Application Load Balancer)가 대표적인 L7 스위치임.
  • 대상 서버를 주기적으로 헬스 체크(Health Check)하여, 장애가 발생한 서버를 제외하고 트래픽을 보내 서비스 안정성을 높임.
L7 Switch image

2. 인터넷 계층 (Internet Layer)

1) 라우터 (Router)

  • 서로 다른 네트워크(예: LAN과 WAN)를 연결, 분할, 구분시켜 주는 네트워크 장비.
  • 장비 내부의 CPU에서 경로를 계산하여 소프트웨어적으로 라우팅을 수행함.
  • 목적지까지의 적절한 경로를 찾아 데이터를 보내는 라우팅(Routing) 기능이 핵심.

2) L3 스위치 (Layer 3 Switch)

  • 주로 내부 네트워크 간의 대량 패킷을 고속으로 라우팅 하는 장비.
  • ASIC이라는 전용 칩셋을 사용하여 하드웨어적으로 패킷을 처리하므로 라우터보다 속도가 빠름.

3. 데이터 링크 계층 (Data Link Layer)

L2 스위치

  • 동일한 네트워크(LAN) 내에서 장비들을 연결해 주는 장비.
  • MAC 주소를 기반으로 데이터를 정확한 목적지 포트로 전달(스위칭)함.
  • IP 주소를 이해하지 못하므로 네트워크 간 연결(라우팅)은 불가능함.
  • MAC 주소 테이블을 생성하여 포트와 장비의 매핑 정보를 학습하고 관리함.

4. 물리 계층 (Physical Layer)

1) NIC (Network Interface Card)

  • 컴퓨터와 네트워크를 연결해 주는 하드웨어 장치로, 흔히 ‘랜카드’라고 불림.
  • 컴퓨터 내부의 디지털 데이터(0, 1)를 케이블에서 전송 가능한 전기 신호(또는 광 신호)로 변환함.
  • 전 세계에서 유일한 고유 식별 번호인 MAC 주소가 하드웨어에 저장되어 있음.

2) AP (Access Point)

  • 유선 네트워크에 무선 장치(노트북, 스마트폰 등)가 접속할 수 있게 해주는 무선 중계 장치.
  • 유선 신호를 무선 신호(전파)로 변환하여 와이파이(WLAN) 환경을 구성함.
  • 가정에서 쓰는 ‘무선 공유기’는 주로 이 AP 기능에 라우터 기능(IP 할당 등)이 합쳐진 형태임.

3. IP 주소

1. ARP (Address Resolution Protocol)

  • 논리적인 주소인 IP 주소를 통해 물리적인 주소인 MAC 주소를 알아내는 프로토콜.
  • 반대로 MAC 주소를 IP 주소로 변환하는 프로토콜은 RARP라고 함.
  • 동작 과정:
    • 요청 (Request): 송신 장비(A)가 “이 IP(예: 127.10.8.31) 주인 누구니?”라고 브로드캐스트(Broadcast)를 보냄.
    • 응답 (Reply): 해당 IP를 가진 수신 장비(B)가 자신의 MAC 주소를 담아 유니캐스트(Unicast)로 응답함.

2. 홉바이홉 통신 (Hop by Hop)

  • IP 주소를 통해 통신하는 과정에서, 패킷이 수많은 라우터(Hop)를 건너뛰며 목적지를 찾아가는 방식.
  • 통신망에서 각 데이터 패킷이 다음 경로의 라우터로 이동하는 모습을 ‘건너뛴다(Hop)’고 표현함.

3. IP 주소 체계

  • IPv4: 32비트 주소 체계. 8비트씩 4부분으로 나누어 10진수로 표기함.
  • IPv6: IPv4의 주소 고갈 문제를 해결하기 위한 128비트 주소 체계.
  • IP 주소는 네트워크 주소호스트 주소로 구분됨.
  • 네트워크의 규모에 따라 주소를 A, B, C, D, E 클래스(Class)로 구분하여 할당함.

4. DHCP (Dynamic Host Configuration Protocol)

  • 네트워크 장치에 IP 주소, 서브넷 마스크, DNS 등의 정보를 자동으로 할당해 주는 프로토콜.
  • 사용자가 일일이 설정할 필요가 없어 IP 주소 충돌을 방지하고 관리 편의성을 높여줌.
  • IP 주소를 영구적으로 주는 것이 아니라 일정 시간 동안 빌려주는 임대(Lease) 방식을 통해 자원을 재활용함.

5. NAT (Network Address Translation)

  • 내부망에서 사용하는 사설 IP(Private IP)를 외부 통신이 가능한 공인 IP(Public IP)로 변환해 주는 기술.
  • 하나의 공인 IP를 여러 내부 기기가 공유하여 사용할 수 있게 함으로써 IPv4 주소 고갈 문제를 해결함.
  • 외부에는 실제 내부 IP 주소가 드러나지 않아 네트워크의 보안성을 강화하는 역할을 수행함.

4. HTTP 프로토콜

1. HTTP/1.0

  • 초기 웹 프로토콜로, 요청 하나당 연결을 하나씩 맺고 끊는 단기 연결(Short-lived Connection) 방식.
  • 웹페이지 내 이미지, 스크립트 등 리소스가 많을수록 반복적인 연결 설정(3-Way Handshake)으로 인해 속도가 매우 느림.

2. HTTP/1.1

  • HTTP/1.0의 비효율성을 개선하여 연결을 유지하고 재사용하는 지속 연결(Keep-Alive) 도입.
  • 요청을 순차적으로 처리하므로, 앞선 요청 처리가 늦어지면 뒤의 요청도 모두 지연되는 HOL Blocking 문제가 존재함.
  • 가장 오랫동안 표준으로 사용되었으며, 현재도 많은 시스템의 기본값으로 남아있음.

3. HTTPS (HyperText Transfer Protocol Secure)

  • 기존 HTTP 프로토콜 하단에 TLS(SSL) 암호화 계층을 추가하여 보안성을 강화한 버전.
  • 데이터를 암호화하여 전송하므로 기밀성, 무결성, 서버 인증을 보장하며 기본 포트는 443번을 사용.
  • HTTP/2 이상부터는 사실상 HTTPS 적용이 필수적으로 요구됨.

4. HTTP/2

  • 텍스트가 아닌 바이너리 프레이밍(Binary Framing) 방식을 도입하여 데이터 처리 효율을 극대화함.
  • 하나의 연결 안에서 여러 요청을 동시에 병렬로 처리하는 멀티플렉싱(Multiplexing) 기술로 HTTP/1.1의 병목 현상 해결.
  • 중복된 헤더 정보를 압축(HPACK)하고, 클라이언트 요청 없이도 리소스를 미리 보내는 서버 푸시(Server Push) 기능 지원.

5. HTTP/3

  • TCP가 아닌 UDP 기반의 QUIC 프로토콜을 사용하여 전송 계층의 근본적인 지연 문제를 해결함.
  • 패킷 손실이 발생해도 전체 연결이 멈추지 않아 TCP HOL Blocking 문제를 완벽히 제거.
  • 초기 연결 설정(Handshake) 속도가 매우 빠르며, 와이파이에서 LTE로 전환되어도 연결이 끊기지 않음.

이 글은 어떠셨나요? 자유롭게 의견을 남겨주세요! 💬