※ IPv4 vs IPv6 간단 비교

항목 IPv4 IPv6
정식 명칭 Internet Protocol version 4 Internet Protocol version 6
주소 길이 32비트 128비트
주소 수 약 42억 개 무한에 가까움 (3.4 x 10³⁸ 개)
형식 예시 192.168.0.1 2001:0db8:85a3:0000:0000:8a2e:0370:7334
도입 시기 1981년 1998년
사용 현황 아직 가장 널리 사용됨 점점 더 많이 도입 중

 

> 왜 IPv6가 나왔을까?

IPv4는 주소 수가 약 42억 개뿐이라서, 전 세계적으로 IP가 부족해진 상황, 그래서 더 많은 IP를 만들 수 있도록 나온 게 IPv6

 

상황 필요한 버전
일반 웹 개발 / API 통신 대부분 IPv4 기반
글로벌 서비스를 만들거나, IoT 등 수십억 개 장비 연결 IPv6 고려 필요
방화벽, 서버 보안 설정 시 IPv4, IPv6 모두 고려해야 할 수도 있음

 

※ 서브넷 마스크 (Subnet Mask)

서브넷 마스크는 IP 주소를 네트워크 부분과 호스트 부분으로 나누는 기준
즉, 내가 속한 네트워크의 범위가 어디까지인지 알려주는 값

 

> 예시

  · IP 주소 : 192.168.1.10

  · 서브넷 마스크 : 255.255.255.0

이 설정은 192.168.1.0 ~ 192.168.1.255 범위의 IP끼리 같은 네트워크로 간주된다는 뜻

 

> 잠깐 ! 왜 192.168.1.10 / 255.255.255.0이면, 192.168.1.0 ~ 192.168.1.255끼리 같은 네트워크로 간주되는지 알아보자

 

> IP 주소와 서브넷 마스크는 비트 단위 연산으로 비교

항목 10진수 2진수
IP 192.168.1.10 11000000.10101000.00000001.00001010
서브넷 마스크 255.255.255.0 11111111.11111111.11111111.00000000

 

> IP 주소 & 서브넷 마스크를 AND 연산 (AND 연산 : 둘 다 1일 때만 1)

즉, 이 IP(192.168.1.10)는 192.168.1.0 네트워크에 속해 있다는 뜻

그래서 이 범위 안의 IP (192.168.1.1 ~ 192.168.1.254)는 같은 서브넷에 속한 컴퓨터들이라고 간주되는 것

 

쉽게 비유하면,

IP 주소 : 내가 사는 집 주소 (예 : 서울시 강남구 101동 201호)

서브넷 마스크 : 어느 동네까지가 우리 '이웃'인지 정하는 기준 (예 : 강남구까지만 이웃)

그래서 서브넷 마스크는 내부 통신 가능한 컴퓨터들의 범위를 정의

(내부 통신이 가능하다 : 같은 네트워크에 속한 컴퓨터끼리는 '라우터나 게이트웨이 없이도' 바로 데이터를 주고받을 수 있다는 뜻)

 

같은 사무실의 개발자 두 명
개발자 A의 PC IP : 192.168.1.10
개발자 B의 PC IP : 192.168.1.20
서브넷 마스크 : 255.255.255.0
이 둘은 같은 네트워크 (192.168.1.0)에 속하므로 파일 공유, 서버 접속, 핑(Ping) 테스트가 라우터 없이도 바로 가능

상황 설명
A가 B의 로컬 개발 서버 접속 (http://192.168.1.20:3000) 개발 중 실시간 결과 공유
A가 B 컴퓨터로 파일 공유 윈도우 공유 폴더, FTP 등
ping 192.168.1.20 A가 B가 살아있는지 확인 가능
서로 다른 네트워크일 경우 라우터가 필요 (라우터로 나가기 위한 출입구가 기본 게이트웨이)

 

> 서브넷 마스크 예시

서브넷 마스크 CIDR 표기 가능한 호스트 수 의미
255.0.0.0 /8 약 1,670만 개 굉장히 큰 네트워크
255.255.0.0 /16 약 6.5만 개 중간 규모 네트워크
255.255.255.0 /24 254개 가장 흔한, 소규모 LAN
255.255.255.128 /25 126개 절반으로 쪼갬
255.255.255.192 /26 62개 더 쪼갬
255.255.255.252 /30 2개 거의 포인트투포인트 통신용

 

정리 : 서브넷 마스크는 IP 주소와 비트 AND 연산을 통해 "너와 나는, 같은 동네야"를 판단하는 기준

 

※ 기본 게이트웨이 (Default Gateway)

기본 게이트웨이는 내부 네트워크에서 외부 네트워크로 나갈 때 통로 역할을 하는 장치

용어 비유 설명
게이트웨이 출입구라는 개념 전체 아파트 단지의 모든 정문, 후문 포함
기본 게이트웨이 내가 늘 사용하는 정문 내비게이션에 기본 설정된 출구처럼, 내가 외부로 나갈 때 항상 쓰는 정문

(보통은 라우터의 IP 주소가 기본 게이트웨이가 됨)

참고 : 모든 라우터는 게이트웨이 역할을 할 수 있지만, 모든 게이트웨이가 꼭 라우터는 아니다.

 

> 예시

기본 게이트웨이 : 192.168.1.1 (이 주소는 내가 인터넷에 접속하려 할 때 패킷을 먼저 전달하는 대상)

 

> 비유

내가 집(내부 네트워크)에 있고, 택배를 외국(인터넷)에 보내고 싶다고 해보자, 이때 기본 게이트웨이는 우체국 역할을 한다.

집 밖으로 나가는 건 무조건 우체국(게이트웨이)을 거쳐야 한다.

 

> 게이트웨이를 통한 통신 절차 (요약) - A의 서브넷 : 192.168.1.0/24, B의 서브넷 : 192.168.2.0/24

1. A(192.168.1.10)는 B(192.168.2.20)가 '다른 네트워크'라는 걸 서브넷 마스크로 판단
2. A는 기본 게이트웨이의 IP로 데이터를 보냄 (A 컴퓨터는 기본 게이트웨이 주소(192.168.1.1)를 알고 있음)
3. 게이트웨이(라우터)가 B의 위치를 확인하고, 패킷을 전달 (게이트웨이는 192.168.2.0/24 네트워크에 접근할 수 있는 경로를 알거나 외부 네트워크로 NAT를 통해 전송할 수도 있음)

4. B가 응답을 보내면, 그 응답도 게이트웨이를 거쳐 A에게 도착

 

> 게이트웨이 / 라우터 / 패킷

구분 개념 설명 우편 시스템 비유 네트워크 상의 역할
게이트웨이 다른 네트워크와 내부 네트워크를
연결하는 입구/출구
아파트 관리실/정문
(택배/우편이 들어오고 나가는 곳)
외부로 나갈 때는 출구, 외부에서 들어올 땐 입구 역할
(내부와 외부를 잇는 관문)
라우터 여러 네트워크 사이에서 데이터가 갈
방향을 결정
우체국 분류기
(어느 동, 호수로 보낼지 판단)
네트워크 경로를 계산하고, 데이터가 어느 방향으로 가야 하는지 결정
패킷 전송되는 데이터의 최소 단위
(쪼개진 데이터 덩어리)
실제 편지 봉투
(주소와 내용물이 있음)
컴퓨터 간 전송되는 실제 정보로, 게이트웨이/라우터를 거쳐 이동

현실에서 게이트웨이로 설정된 주소가 바로 라우터의 IP 주소인 경우가 많아서, '라우터가 게이트웨이 역할을 한다'고 말하는 것

 

정리 : 게이트웨이는 내 컴퓨터(내부 네트워크)가 외부(외부 네트워크)와 통신할 때 반드시 거쳐야 하는 관문

 

※ NAT (Network Address Translation)

사설 IP를 공인 IP로 바꿔주는 기술

즉, 집 안의 여러 기기가 하나의 공인 IP를 공유해 외부와 통신할 수 있게 해주는 것

 

> 왜 NAT가 필요한지?

우리 집에 노트북, 스마트폰, TV 등 여러 기기가 있다고 했을 때, 이들은 각각 192.168.x.x 같은 사설 IP를 사용한다.

하지만 인터넷은 공인 IP만 알기 때문이다. (사설 IP는 인터넷에서 직접 쓸 수 없음)

 

> 개발자에게 NAT가 중요한 이유?

집이나 회사에서 서버를 열었는데 외부에서 접속 안 되는 경우 : NAT를 거쳐야 하므로 포트포워딩 필요

Docker, 가상머신 등의 통신 문제 : Docker가 자체 NAT 네트워크를 사용함

사설망끼리 VPN 연결 : NAT 트래버설, 터널링 같은 기술이 필요

 

정리 : NAT는 사설 네트워크와 외부 네트워크 간의 통역사 역할

  · 외부로 나갈 때는 사설 IP -> 공인 IP

  · 내부로 들어올 때는 공인 IP -> 사설 IP

 

포트포워딩 (Port Forwarding)

외부에서 공유기(공인 IP)로 들어온 요청을, 내부 네트워크의 특정 컴퓨터와 포트로 전달해주는 기능

즉, 공유기는 어느 기기로 데이터를 보내야 할지 모르니까 ' 이 포트로 들어오면 이 내부 IP로 보내줘' 하고 길을 지정해주는 설정

+ Recent posts