computer_science/network

[컴퓨터네트워크] 05. 네트워크 계층 (IP)

렁치 2026. 8. 5. 21:34

같은 네트워크 안에서는 MAC 주소만으로 통신할 수 있다. 하지만 다른 네트워크로 데이터를 보내려면 IP 주소와 그 길을 찾는 라우팅이 필요하다. 이 일을 담당하는 것이 네트워크 계층(3계층)이고, 그 핵심 프로토콜이 IP다.


1. TCP/IP와 주소 체계

인터넷의 표준 통신 규약이 TCP/IP다. 둘은 역할을 나눠 맡는다.

  • IP (Internet Protocol): 패킷을 목적지 호스트까지 전달(전송 담당).
  • TCP (Transmission Control Protocol): 오류 시 재전송, 흐름 제어 등 신뢰성 담당.

통신에는 세 종류의 주소가 함께 쓰인다.

주소 길이 식별 대상
MAC 주소 48비트 네트워크 카드(기기)
IP 주소 32비트(IPv4) 호스트(컴퓨터)
포트 주소 16비트 프로세스(서비스)

"어느 기기(MAC)의, 어느 컴퓨터(IP)의, 어느 프로그램(포트)에 보낼지"가 이 셋으로 정해졌다. 세 주소가 각자 다른 대상을 식별한다는 구분이 머릿속을 정리해줬다.


2. IPv4 주소

IPv4 주소
32비트(약 43억 개) 주소로, 8비트씩 네 부분을 10진수와 마침표로 표기한다(예: 192.168.2.124, 각 부분 0~255). 주소는 네트워크 ID와 호스트 ID로 나뉜다.

호스트 ID가 특별한 값일 때는 호스트에 할당할 수 없다.

  • 호스트 ID가 모두 0 → 네트워크 자체를 가리키는 네트워크 주소
  • 호스트 ID가 모두 1 → 그 네트워크 전체에 보내는 브로드캐스트 주소

또 공인 IP(전 세계 고유, 인터넷 통신용)와 사설 IP(내부망 전용, 192.168.x.x 등)로 나뉜다. 사설 IP는 부족한 공인 IP를 아끼기 위한 장치다. IP는 규모에 따라 A·B·C 클래스로 나뉘며, 자기 자신을 가리키는 127.x.x.x는 루프백 주소다.

서브넷팅과 서브넷 마스크
큰 네트워크를 작은 서브넷으로 쪼개는 것이 서브넷팅이다. 호스트 ID에서 비트를 빌려 서브넷을 구분한다. 서브넷 마스크는 "어디까지가 네트워크 ID인가"를 알려주는 32비트 값으로, 네트워크 부분은 1, 호스트 부분은 0이다. /24는 255.255.255.0을 뜻한다. 브로드캐스트 범위를 줄이고 IP를 효율적으로 쓰기 위한 기법이다.

집 공유기 주소가 192.168.x.x인 게 사설 IP였다는 걸 알고, 그동안 무심코 보던 숫자가 의미를 갖게 됐다.


3. IP 패킷과 TTL

IP 패킷의 헤더에는 전송에 필요한 정보가 담긴다. 그중 꼭 알아둘 필드가 TTL이다.

TTL (Time To Live)
패킷이 거칠 수 있는 최대 라우터 수다. 라우터를 하나 지날 때마다 1씩 줄고, 0이 되면 그 패킷은 폐기된다. 잘못된 경로로 패킷이 네트워크를 영원히 떠도는 것을 막는 안전장치다.

IP의 성격도 중요하다. IP는 비연결형이라 "최선을 다해 보내되 도착이나 순서를 보장하지 않는다." 신뢰성은 상위 계층인 TCP가 책임진다. 이 단순함이 인터넷의 확장성을 만든 핵심이다. 앞 단원의 데이터그램 방식이 곧 IP의 이 비연결성이었다는 게 이어졌다.


4. 라우터와 라우팅

다른 네트워크로 나가는 출입구가 기본 게이트웨이(라우터의 IP)다. 라우터는 라우팅 테이블을 보고 패킷을 어느 방향으로 보낼지 정한다.

라우팅 과정을 간추리면 이렇다.

  • 수신지 IP와 서브넷 마스크를 AND 연산해 목적지 네트워크 주소를 구한다.
  • 라우팅 테이블에서 그 네트워크로 가는 경로를 찾는다.
  • TTL을 1 줄이고 검사합을 다시 계산한 뒤, 다음 라우터(홉)로 넘긴다.

이 과정이 라우터마다 반복되며, 패킷은 여러 라우터를 거쳐 목적지에 도달한다. 경로 정보를 자동으로 주고받는 프로토콜로 RIP, OSPF가 있다.


5. IPv6

IPv6: 128비트 주소
IPv4의 43억 개 주소가 고갈되어 등장했다. 128비트라 사실상 무한에 가까운 주소를 제공한다. 16비트씩 콜론(:)으로 나눠 16진수로 표기하며, 연속된 0은 ::로 한 번 줄일 수 있다.

IPv6는 주소 공간만 넓힌 게 아니다. 헤더를 단순화해 처리가 빠르고, 자동 주소 설정(플러그 앤 플레이)을 지원하며, 보안(IPSec)을 기본으로 갖춘다.


6. 네트워크 계층 프로토콜

프로토콜 역할
IP 패킷 전송, 라우팅
ARP IP 주소 → MAC 주소 변환
RARP MAC 주소 → IP 주소 변환
ICMP 오류 보고·진단 (ping, traceroute가 사용)
IGMP 멀티캐스트 그룹 관리

ping이 동작하는 게 바로 ICMP다. "거기 있니?"라는 에코 요청을 보내고 응답을 받아 연결과 속도를 진단한다. 평소 쓰던 ping이 ICMP라는 프로토콜이었다는 걸 알고 나니, 명령어와 이론이 연결됐다.


오늘 느낀 점

  • MAC(기기)·IP(컴퓨터)·포트(프로그램) 세 주소가 각자 다른 대상을 식별한다는 구분이, 통신이 "어디로 가는가"를 정하는 방식을 명확히 해줬다.
  • 집 공유기의 192.168.x.x가 사설 IP였다는 것처럼, 평소 보던 숫자들이 이론으로 설명되니 추상이 일상과 이어졌다.
  • IP가 "최선을 다하되 보장은 안 한다"는 비연결성이, 앞 단원 데이터그램과 같은 개념이고 그 단순함이 인터넷 확장성의 비결이라는 흐름이 잡혔다.

한 걸음 더

  • 사설 IP가 어떻게 인터넷과 통신할까? 답은 NAT(Network Address Translation, 주소 변환)다. 공유기가 내부의 사설 IP를 자기 공인 IP 하나로 바꿔 내보내고, 응답이 오면 다시 내부로 돌려준다. 덕분에 집 안 여러 기기가 공인 IP 하나로 모두 인터넷을 쓴다. IPv4 고갈을 늦춘 결정적 기술이다.
  • TTL은 보안·진단에도 쓰인다. traceroute는 TTL을 1, 2, 3…으로 늘려가며 패킷을 보내, 각 단계에서 폐기 응답을 보낸 라우터를 추적해 "내 패킷이 어떤 경로로 가는지"를 그려낸다. 안전장치로 만든 필드가 진단 도구가 된 영리한 활용이다.
  • IPv6가 나온 지 오래됐는데도 IPv4가 여전히 쓰이는 건, 위의 NAT가 IPv4의 수명을 크게 늘렸기 때문이다. 그래서 전환이 더디게 진행 중이고, 한동안 둘이 공존한다. "더 나은 기술이 있어도 기존 기술이 충분히 버티면 전환이 느리다"는 현실을 보여주는 사례다.