Skip to main content
Summary

왜 주소가 필요한가

앞 장에서는 한 방 안의 컴퓨터들이 스위치를 통해 서로 연결되는 모습을 보았다. 스위치는 MAC 주소를 보고 프레임을 어느 포트로 보낼지 판단했다. MAC 주소는 가까운 네트워크 안에서 쓰는 이름표다. 같은 방, 같은 스위치, 같은 가까운 범위에서는 유용하다.

하지만 인터넷은 한 방보다 훨씬 크다. 집, 학교, 회사, 통신사, 데이터센터의 네트워크가 서로 이어져 있다. 이 넓은 길에서 "저 컴퓨터가 어느 포트에 꽂혀 있나?"만으로는 목적지를 찾을 수 없다. 더 큰 위치 정보가 필요하다.

이때 쓰는 주소가 IP 주소다. IP 주소는 인터넷 세계에서 목적지를 찾기 위해 사용하는 숫자 주소다. 집 주소에 비유하면 "서울시 어느 구, 어느 동, 몇 번지"처럼 위치를 알려 주는 정보다. 다만 실제 집 주소와 완전히 같지는 않다. 실제 집 주소는 사람이 사는 장소에 붙지만, IP 주소는 네트워크에 연결된 장치의 위치에 붙는다. 노트북을 집 와이파이에서 회사 와이파이로 옮기면 IP 주소가 바뀔 수 있다. 같은 노트북이라도 유선 랜과 와이파이를 동시에 쓰면 각각 다른 IP 주소를 가질 수도 있다.

비유는 여기까지다. 집 주소는 우편물이 도착할 건물을 가리키지만, IP 주소는 네트워크 장비들이 데이터를 어느 방향으로 보내야 할지 판단하게 해 주는 숫자 단서다.

주소가 있어야 목적지를 찾는다AI 생성 이미지

우리가 관찰할 작은 주소 체계

작은 네트워크를 하나 떠올려 보자. 스위치에 컴퓨터 세 대와 라우터 한 대가 연결되어 있다.

  • 컴퓨터 A: 192.168.10.11

  • 컴퓨터 B: 192.168.10.12

  • 컴퓨터 C: 192.168.10.13

  • 라우터 안쪽 주소: 192.168.10.1

여기서 192.168.10.11 같은 모양의 주소는 IPv4 주소다. IPv4 주소는 점으로 나뉜 네 개의 숫자로 표현한다. 각 숫자는 0부터 255까지의 값을 가진다. 사람이 보기 좋게 점으로 나누어 쓸 뿐, 컴퓨터 안에서는 결국 0과 1의 비트로 처리된다.

주소를 정했다고 해서 모든 일이 끝나는 것은 아니다. 컴퓨터는 상대 주소를 볼 때 먼저 이렇게 묻는다.

"저 주소는 나와 같은 네트워크 안에 있는가, 아니면 다른 네트워크에 있는가?"

이 질문의 답에 따라 보내는 방법이 달라진다. 같은 네트워크 안에 있으면 스위치를 통해 직접 보낼 수 있다. 다른 네트워크에 있으면 라우터에게 맡겨야 한다.

서브넷 마스크는 주소를 나누는 자

IP 주소는 단순한 번호표가 아니다. 한 주소 안에는 보통 두 가지 정보가 섞여 있다.

  • 어느 네트워크에 속해 있는지

  • 그 네트워크 안에서 몇 번 장치인지

아파트 주소로 비유하면, "몇 동"과 "몇 호"가 함께 들어 있는 것과 비슷하다. 같은 동에 사는 사람에게는 동 안에서 바로 찾아가면 된다. 다른 동에 사는 사람에게는 동 입구를 거쳐 이동해야 한다.

이때 IP 주소에서 어디까지가 네트워크 부분이고, 어디부터가 장치 부분인지 알려 주는 값이 서브넷 마스크다. 서브넷 마스크는 주소 위에 올려 놓는 가림판처럼 생각하면 쉽다. "이 앞부분은 네트워크를 나타내고, 뒷부분은 그 안의 장치를 나타낸다"고 구분해 준다.

예를 들어 컴퓨터 A의 설정이 다음과 같다고 하자.

  • IP 주소: 192.168.10.11

  • 서브넷 마스크: 255.255.255.0

255.255.255.0은 흔히 앞의 세 묶음, 즉 192.168.10까지를 같은 네트워크로 본다는 뜻으로 이해할 수 있다. 정확히는 비트 단위로 계산하지만, 처음에는 이렇게 보아도 흐름을 잡는 데 충분하다.

그러면 컴퓨터 A는 다음처럼 판단한다.

  • 192.168.10.12 → 앞부분이 192.168.10으로 같다 → 같은 네트워크

  • 192.168.10.50 → 앞부분이 192.168.10으로 같다 → 같은 네트워크

  • 192.168.20.7 → 앞부분이 다르다 → 다른 네트워크

같은 네트워크라고 판단하면 컴퓨터 A는 상대의 MAC 주소를 알아내어 스위치를 통해 직접 보낸다. 다른 네트워크라고 판단하면 직접 찾으려 하지 않는다. 그때는 동네 밖으로 나가는 출입구에 해당하는 장비로 보낸다.

서브넷 마스크는 255.255.255.0처럼 쓰기도 하고, /24처럼 짧게 쓰기도 한다. 192.168.10.11/24라고 쓰면 "이 IP 주소는 앞의 24비트를 네트워크 부분으로 본다"는 뜻이다. 처음에는 /24를 255.255.255.0의 짧은 표기라고 생각해도 좋다.

같은 네트워크인지 판단하는 순간

컴퓨터 A가 컴퓨터 B에게 데이터를 보내려 한다고 해 보자.

컴퓨터 A는 목적지 IP 주소 192.168.10.12를 본다. 자기 주소는 192.168.10.11이고, 서브넷 마스크는 255.255.255.0이다. A는 "나의 네트워크는 192.168.10이고, B의 네트워크도 192.168.10이다"라고 판단한다.

그러면 A는 이렇게 움직인다.

  1. 목적지 IP가 같은 네트워크 안에 있는지 확인한다.

  2. 같은 네트워크라고 판단한다.

  3. 그 IP 주소를 가진 장치의 MAC 주소를 알아낸다.

  4. 이더넷 프레임을 만들어 스위치로 보낸다.

  5. 스위치는 MAC 주소를 보고 B가 연결된 포트로 전달한다.

이번에는 A가 8.8.8.8 같은 외부 주소로 데이터를 보내려 한다고 하자. A는 서브넷 마스크로 비교해 보고 "이 주소는 192.168.10 네트워크 안에 없다"고 판단한다. 그러면 A는 외부 주소의 MAC 주소를 직접 찾으려 하지 않는다. 대신 게이트웨이에게 보낸다.

여기서 중요한 점이 있다. 컴퓨터가 데이터를 보낼 때 최종 목적지 IP 주소는 8.8.8.8로 남아 있다. 하지만 가까운 이더넷 구간에서 받는 쪽 MAC 주소는 게이트웨이의 MAC 주소가 된다. IP 주소는 먼 목적지를 가리키고, MAC 주소는 바로 다음에 받을 장치를 가리킨다.

이 차이를 잡으면 네트워크가 훨씬 선명해진다. IP 주소는 큰 지도에서 목적지를 찾는 주소이고, MAC 주소는 지금 연결된 가까운 구간에서 다음 사람에게 넘기는 이름표다.

게이트웨이는 동네 밖으로 나가는 문이다

게이트웨이는 다른 네트워크로 나가기 위해 데이터를 맡기는 출입구다. 집이나 작은 사무실에서는 보통 공유기 또는 라우터가 게이트웨이 역할을 한다.

예를 들어 컴퓨터 A의 설정이 다음과 같다고 하자.

  • IP 주소: 192.168.10.11

  • 서브넷 마스크: 255.255.255.0

  • 기본 게이트웨이: 192.168.10.1

A가 같은 네트워크 안의 192.168.10.12로 보낼 때는 게이트웨이를 거치지 않는다. 바로 같은 동네 안에서 찾는다.

하지만 A가 203.0.113.20 같은 다른 네트워크로 보낼 때는 192.168.10.1에게 맡긴다. 이 주소가 라우터의 안쪽 주소다. 라우터는 데이터를 받아 다음 네트워크로 넘긴다. 다음 장에서 자세히 보겠지만, 라우터는 네트워크와 네트워크 사이에서 "다음 길"을 고르는 장비다.

게이트웨이가 없으면 어떤 일이 생길까? 같은 네트워크 안의 컴퓨터끼리는 통신할 수 있다. 그러나 동네 밖으로는 나가지 못한다. 인터넷이 안 되는데 같은 방의 다른 컴퓨터에는 접속되는 상황이 바로 이런 문제일 수 있다.

사설 IP와 공인 IP는 왜 나뉘는가

우리가 집에서 자주 보는 IP 주소는 보통 이런 모양이다.

  • 192.168.0.10

  • 192.168.1.25

  • 10.0.0.7

이런 주소는 대개 사설 IP 주소다. 사설 IP는 집, 회사, 학교 같은 내부 네트워크 안에서 자유롭게 쓰도록 정해 둔 주소 범위다. 아파트 건물 안의 호수처럼, 건물 내부에서는 의미가 있지만 바깥 도로의 공식 주소는 아니다.

반대로 공인 IP 주소는 인터넷 전체에서 하나의 목적지를 구분하기 위해 쓰는 주소다. 바깥세상에서 찾아올 수 있는 공식 주소에 가깝다. 인터넷 전체에서 같은 공인 IP가 아무렇게나 중복되면 데이터가 어디로 가야 할지 알 수 없으므로, 공인 IP는 관리된 방식으로 배정된다.

사설 IP와 공인 IP를 나누는 이유는 크게 두 가지다.

첫째, IPv4 주소의 개수가 한정되어 있기 때문이다. 모든 스마트폰, 노트북, TV, 냉장고, 서버에 전부 고유한 공인 IPv4 주소를 하나씩 주기에는 주소가 부족하다. 그래서 집 안에서는 사설 IP를 쓰고, 바깥으로 나갈 때는 공유기가 공인 IP를 대표로 사용한다.

둘째, 내부 네트워크를 독립적으로 설계할 수 있기 때문이다. 우리 집 컴퓨터가 192.168.0.10을 쓰고, 이웃집 컴퓨터도 192.168.0.10을 쓸 수 있다. 두 주소는 각자의 집 안에서만 의미가 있으므로 충돌하지 않는다. 같은 아파트 여러 세대에 "작은방"이 있어도 서로 다른 집 안에서는 헷갈리지 않는 것과 비슷하다.

집 안의 사설 IP가 바깥 인터넷에 그대로 보이지 않는 이유도 여기에 있다. 내 노트북이 웹사이트에 접속할 때, 웹사이트 입장에서는 보통 내 노트북의 192.168.0.10을 직접 보는 것이 아니라 집 공유기의 공인 IP를 보게 된다. 공유기가 안쪽 주소와 바깥 주소 사이에서 중간 역할을 하기 때문이다. 이 자세한 과정은 나중에 집 인터넷이 세상으로 나가는 방식을 다룰 때 다시 살펴본다.

주소 설정이 어긋나면 어디를 볼까

주소 문제는 인터넷 장애의 흔한 원인이다. 연결선이 멀쩡하고 와이파이도 잡혔는데 통신이 안 된다면 IP 설정을 확인해야 한다.

먼저 IP 주소가 있는지 본다. 컴퓨터가 IP 주소를 받지 못하면 네트워크에 제대로 참여하기 어렵다. 특히 169.254로 시작하는 주소가 보인다면, 장치가 자동으로 임시 주소를 붙였을 가능성이 있다. 이 주소로는 같은 제한된 범위의 장치와만 통신될 수 있고, 보통 인터넷 접속은 되지 않는다.

다음으로 서브넷 마스크를 본다. 같은 네트워크에 있어야 할 두 컴퓨터가 서로 다른 네트워크라고 판단하면 직접 통신하지 못한다. 예를 들어 한쪽은 192.168.10.11/24, 다른 쪽은 192.168.20.12/24라면 서로 다른 네트워크로 본다. 의도한 설계가 아니라면 주소를 맞춰야 한다.

그다음 게이트웨이를 본다. 같은 네트워크 안의 장치에는 접속되지만 인터넷이 안 된다면 게이트웨이 주소가 빠졌거나 틀렸을 수 있다. 게이트웨이는 보통 내 IP와 같은 네트워크 안에 있어야 한다. 내가 192.168.10.11/24인데 게이트웨이가 192.168.20.1이라면 출입구를 제대로 찾지 못할 수 있다.

마지막으로 주소 중복을 의심한다. 같은 네트워크 안에서 두 장치가 같은 IP 주소를 쓰면 데이터가 엉뚱한 곳으로 가거나 통신이 불안정해질 수 있다. 집 안에서 두 집이 같은 우편함 번호를 붙인 것과 같다.

이번 장에서 잡아야 할 그림

IP 주소는 인터넷에서 목적지를 찾기 위한 핵심 단서다. MAC 주소가 가까운 네트워크 안의 이름표라면, IP 주소는 더 큰 네트워크 세계에서 위치를 판단하는 주소다.

서브넷 마스크는 이 주소를 둘로 나눈다. 앞부분은 어느 네트워크인지, 뒷부분은 그 안의 어떤 장치인지 알려 준다. 컴퓨터는 이 기준으로 상대가 같은 네트워크 안에 있는지 먼저 판단한다.

같은 네트워크라면 스위치를 통해 직접 보낸다. 다른 네트워크라면 게이트웨이, 즉 라우터에게 맡긴다. 그리고 집 안에서 쓰는 사설 IP는 바깥 인터넷의 공식 주소인 공인 IP와 구분된다.

이제 우리는 작은 네트워크 안에서 주소를 붙일 수 있게 되었다. 다음에는 이 주소를 가진 여러 네트워크를 라우터로 연결해 보자. 그때부터 작은 인터넷은 한 방을 넘어 다른 방, 다른 건물로 길을 넓히기 시작한다.

책 목록

인터넷 만들기: 작은 네트워크로 배우는 인터넷의 작동 원리

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기