본문 바로가기

Backend study/Backend theory

VPN, Port Forwarding, DNS, DDNS

VPN(Virtual Private Network), Port Forwarding, DNS(Domain Name System), 그리고 DDNS(Dynamic DNS)는 네트워크 및 인터넷 구조에서 매우 중요한 개념이다. 이 개념들을 깊이 이해하면 네트워크 보안, 연결성, 그리고 통신을 더 잘 이해할 수 있다. 각각의 개념에 대해 자세히 설명하고, 이를 이해하는 데 필요한 연관된 개념들을 추가로 설명하겠다.

1. VPN (Virtual Private Network)

VPN은 공용 네트워크(인터넷)에서 사설 네트워크를 가상으로 구성하는 기술이다. VPN을 사용하면 사용자가 공용 인터넷을 통해 데이터를 안전하게 전송할 수 있다. 기본적으로 VPN은 인터넷 상의 트래픽을 암호화하여 사용자의 프라이버시를 보호하고, 원격 위치에서 사설 네트워크에 접근할 수 있도록 한다.

작동 원리

  • 암호화: VPN 클라이언트는 사용자의 인터넷 트래픽을 암호화한 후 VPN 서버로 전송한다. VPN 서버는 이를 복호화하고 인터넷으로 전송한다. 반대로 인터넷에서 들어오는 응답도 마찬가지로 VPN 서버에서 암호화하여 클라이언트에게 전달된다.
  • IP 주소 변환: VPN을 사용하면 VPN 서버의 IP 주소로 변경된다. 이를 통해 사용자는 본인의 실제 위치를 숨길 수 있고, 인터넷에서 제공되는 콘텐츠에 더 안전하게 접근할 수 있다.
  • 보안 터널: VPN은 사용자의 장치와 VPN 서버 사이에 보안 터널을 만든다. 이 터널은 외부에서의 도청이나 공격을 방지하는 역할을 한다.

사용 목적

  • 프라이버시 보호: 공공 Wi-Fi를 사용할 때, ISP(인터넷 서비스 제공자)나 해커로부터 네트워크 트래픽을 보호하기 위해 사용한다.
  • 지역 제한 우회: 다른 국가에서만 제공되는 콘텐츠에 접근하기 위해 VPN을 사용하여 해당 국가의 IP 주소로 접속할 수 있다.
  • 원격 근무: 기업에서는 VPN을 통해 직원이 원격으로 회사의 내부 네트워크에 안전하게 접근할 수 있도록 한다.

2. Port Forwarding (포트 포워딩)

포트 포워딩은 내부 네트워크의 특정 장치로 들어오는 외부 트래픽을 특정 포트로 전달하는 과정이다. 일반적으로, NAT(Network Address Translation) 라우터가 외부에서 내부 네트워크로 오는 데이터를 라우팅할 때 포트 포워딩을 사용하여 올바른 장치와 통신할 수 있게 한다.

작동 원리

  • 외부에서 내부로 트래픽 전달: 인터넷에서 들어오는 요청은 외부 IP 주소와 포트 번호로 들어온다. 라우터는 그 요청을 내부 네트워크의 특정 장치와 포트로 전달하는 설정을 수행한다.
    • 예를 들어, 외부에서 8080 포트로 들어오는 요청을 내부의 특정 서버의 80번 포트로 전달할 수 있다.
  • 포트 번호의 역할: TCP/UDP 프로토콜을 사용하는 트래픽은 각기 다른 애플리케이션을 구분하기 위해 포트 번호를 사용한다. 포트 포워딩은 외부 네트워크에서 특정 포트 번호로 들어오는 트래픽을 내부의 지정된 장치와 포트로 보내는 기능을 한다.

사용 목적

  • 원격 서버 접근: 웹 서버, FTP 서버, CCTV 등의 서비스를 외부에서 접근할 수 있도록 설정할 때 사용된다.
  • 게임 서버 호스팅: 특정 포트를 열어 외부에서 게임 서버에 접속할 수 있도록 설정할 수 있다.
  • P2P 네트워크: 파일 공유 소프트웨어나 P2P 네트워크에서 사용자의 기기에 외부에서 접근할 수 있도록 하기 위해 포트 포워딩을 설정할 수 있다.

3. DNS (Domain Name System)

DNS는 도메인 이름을 IP 주소로 변환하는 시스템이다. 도메인 이름은 사람이 읽기 쉬운 주소(예: google.com)이고, 이 도메인 이름을 IP 주소(예: 172.217.16.206)로 변환하여 실제 통신이 가능하도록 한다. 인터넷에서 통신은 도메인 이름 대신 IP 주소를 사용하므로, DNS는 필수적인 역할을 한다.

작동 원리

  • 도메인 조회: 사용자가 웹 브라우저에 도메인 이름을 입력하면, DNS 서버에 도메인 이름을 IP 주소로 변환해 달라는 요청을 보낸다.
  • DNS 서버 응답: DNS 서버는 해당 도메인의 IP 주소를 반환한다. 만약 해당 도메인 이름이 DNS 서버에 없다면, 다른 DNS 서버에 요청을 보내어 IP 주소를 조회한다.
  • IP 주소 반환: 변환된 IP 주소를 클라이언트에 보내면, 클라이언트는 이 IP 주소를 통해 서버와 연결을 시도한다.

DNS 계층 구조

  • 루트 DNS 서버: DNS 시스템의 최상위에 위치하며, 최상위 도메인(TLD, .com, .org 등)의 DNS 서버 위치 정보를 보유하고 있다.
  • TLD DNS 서버: 각 최상위 도메인(TLD)에 대한 DNS 정보를 관리한다. 예를 들어, example.com의 도메인 정보를 가지고 있는 .com TLD DNS 서버.
  • 권한 있는 DNS 서버(Authoritative DNS): 도메인의 실제 IP 주소를 관리하는 서버이다. 도메인 소유자가 설정한 DNS 서버이다.

4. DDNS (Dynamic DNS)

DDNS는 동적 IP 주소를 사용하는 기기의 도메인 이름을 자동으로 업데이트하는 시스템이다. 가정이나 소규모 네트워크에서는 공인 IP 주소가 고정되지 않고 동적으로 변경되는 경우가 많다. 이러한 경우, DDNS 서비스를 이용하면 공인 IP 주소가 바뀔 때마다 DNS 정보를 자동으로 업데이트할 수 있다.

작동 원리

  • 사용자의 인터넷 서비스 제공자(ISP)는 동적 IP 주소를 제공한다. 시간이 지나면 이 IP 주소는 변경될 수 있다.
  • DDNS 서비스는 사용자의 IP 주소가 변경될 때마다 도메인 이름의 DNS 레코드를 업데이트하여, 항상 최신 IP 주소를 가리키도록 한다.
  • 이를 통해 사용자는 고정 IP 주소가 없더라도 도메인 이름을 통해 언제나 해당 네트워크나 서버에 접속할 수 있다.

사용 목적

  • 가정용 서버: 가정에서 웹 서버나 CCTV 같은 서비스를 운영할 때, 동적 IP 환경에서도 고정된 도메인 이름을 통해 외부에서 접속할 수 있다.
  • 리모트 접근: 고정 IP가 없는 환경에서도 원격으로 내부 네트워크나 기기에 접근하는 용도로 사용된다.
  • VPN: 안전한 통신을 위한 네트워크 기술로, 암호화된 터널을 통해 데이터를 보호하고 원격 접속을 지원한다.
  • Port Forwarding: 외부에서 내부 네트워크의 특정 장치로 트래픽을 전달하기 위한 기술이다.
  • DNS: 도메인 이름을 IP 주소로 변환하여 네트워크 통신을 가능하게 하는 시스템이다.
  • DDNS: 동적 IP 환경에서 도메인 이름과 IP 주소를 자동으로 동기화하는 서비스이다.

이들 네트워크 기술은 서로 밀접하게 연결되어 있으며, 네트워크 보안 및 통신을 최적화하는 데 중요한 역할을 한다.

728x90

'Backend study > Backend theory' 카테고리의 다른 글

프로세스(process)와 스레드(thread)  (2) 2024.09.16
HTTP와 HTTPS  (1) 2024.09.15
HTTP Content-Type  (1) 2024.09.13
비동기(Asynchronous)와 동기(Synchronous)  (0) 2024.09.11
세션(Session), 쿠키(Cookie), 캐시(Cache)  (0) 2024.09.10