포스트

[Network] IP 기초 개념 정리

Computer Science / Network

IP의 기초에 대한 개념 정리 및 사설 IP와 공인 IP에 대한 정리

아이피(IP)의 개념

IP(Internet Protocol)란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다.

우리가 다른 사람에게 우편물을 보낼 때, 국가, 지역, 아파트, 동호수 등을 정확히 기재하여 발송하듯이, 네트워크 데이터가 우리에게 도달해 나무위키와 같은 홈페이지를 띄우기 위해서는 정확한 주소 정보가 필요하다.

그것이 흔히 말하는 인터넷 주소 IP이다.

아이피(IP)의 종류

ip_1

IP 주소는 IPv4, IPv6 2가지 종류가 있다.

단, 일반적으로 IP 주소라고 불리는 것들은 IPv4 주소를 말한다고 보면 된다.

아이피 IPv4 (舊)

IPv4는 “IP version 4”의 약자로 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다.

ip_2

아이피(IP)는 일반적으로 위와 같이 172.16.254.1과 같은 마침표로 구분된 4개의 숫자가 있는, 점으로 분리된 10진수 형식으로 표시된다.

이를 2진법으로 표현한다면, 32비트 숫자 1010 1100.0001 0000.1111 1110.0000 0001가 된다.

즉, 아이피는 32bit로 이루어진 주소이며, 이를 합산해보면 약 43억개의 주소를 가지게 된다.

ip_3

위와 같이 IPv4는 $0 ~ 2^{32}$(약 42억 9천)개의 주소를 가질 수 있지만, 전 세계적으로 인터넷 사용자 수가 급증하면서 IPv4 주소는 고갈될 위기에 처해있다. (사실은 이미 고갈됐을 지도 모른다.)

이러한 고갈 문제를 해결하기 위해 등장한 주소가 바로 IPv6이다.

아이피 IPv6 (新)

IPv6는 “IP version 6”의 약자로, IPv4 주소 체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다.

16비트씩 8자리로 각 자리는 콜론으로 구분한다.

ip_4

위와 같이 IPv6의 128비트 주소 공간은 128비트로 표현할 수 있는 $2^{128}$개인 약 $3.4 \times 1,038$(340,282,366,920,938,463,463,374,607,431,768,211,456, 약 340간)개의 주소를 갖고 있어, 거의 무한대로 쓸 수 있다.

여기서 “340간”이라는 것은 숫자 단위이다.

경 -(10,000 배)-> 해 -(10,000 배)-> 자 -(10,000 배)-> 양 -(10,000 배)-> 구 -(10,000 배)-> 간

그냥 무한대라고 생각하는 것이 정신 건강에 좋을 듯하다.

이처럼 IPv6는 네트워크 속도, 보안적인 부분뿐만 아니라 여러 면에서 뛰어나지만, 기존의 주소 체계를 변경하는데 비용이 많이 들어서 아직 완전히 상용화가 되지 않았다.

아이피(IP) 주소의 고갈 위험

앞서 말했듯이, 43억이라는 숫자 자체는 큰 숫자로 IP 주소의 개수로는 충분해 보이지만, 전혀 충분하지 않다.

예전에는 43억개 정도면 충분하다고 생각했겠지만, 요즘에는 집에 기본적으로 컴퓨터, 와이파이 공유기, 스마트 TV, 스위치 등 IP 주소를 할당받은 전자 기기들이 개인 집집마다 여러 개를 가지고 있다.

그리고 전 세계가 발전함에 따라 점점 인터넷 수요가 계속 늘어나고 있는 실정이다.

물론 전혀 맞지 않는 계산이지만 단순 계산으로 현재 지구의 인구가 약 81억명인데, 현재 인구의 절반만 해도 약 40억이고, 지구 인구의 절반이 IP 주소를 하나씩만 사용해도 고갈 위험이다.

결론적으로 말하자면, 이미 43억개의 숫자는 고갈된지 오래이다.

따라서 새로운 주소 체계인 IPv6가 나왔지만, 기존의 주소 체계를 변경하는 것 자체가 천문학적인 비용이 들어서 아직까지도 IPv4를 사용하고 있다.

하지만, 고갈되었다고는 하지만 주변을 돌아보면 부족한 IP 할당 때문에 난리를 치는 곳이 전혀 보이지 않는다.

지금까지 문제없이 사용하고 있는 이유는 기존의 주소 체계에서 일종의 수학적인 트릭을 고안해서 사용하기 때문이다.

그 트릭 중 하나가 바로 사설 IP 개념이다.

아이피(IP)의 4가지 분류

우선, 사설 IP를 알기 전에 아이피는 4가지로 나뉘는데, IP는 나누는 방식에 따라 고정 IP, 유동 IP, 공인 IP, 사설 IP로 나눌 수 있다.

고정 IP

고정 IP는 말 그대로 변하지 않고 컴퓨터에 고정적으로 부여되는 IP를 말한다.

한 번 부여되면 IP를 반납하기 전까지는 다른 장비에 부여할 수 없는 고유의 IP로, 보안성이 우수하기 때문에 보안이 필요한 업체나 기관에서 사용한다.

유동 IP

유동 IP 역시 말 그대로 유동적으로 변하는 IP이다.

인터넷 사용자 모두에게 고정 IP를 부여해 주기는 힘들기 때문에, 일정한 주기 또는 사용자들이 인터넷에 접속하는 매 순간마다 사용하고 있지 않은 IP 주소를 임시로 발급해주는 것이다.

대부분의 사용자는 유동 IP를 사용한다.

공인 IP

IP 주소는 임의로 우리가 부여하는 것이 아닌, 전 세계적으로 ICANN1이라는 기관이 국가 별로 사용할 IP 대역을 관리하고, 한국은 한국인터넷진흥원(KISA)에서 국내 IP 주소들을 관리하고 있다.

이것을 ISP2가 부여받고, 우리는 ISP 회사에 가입을 통해 IP를 제공받아 인터넷을 사용하게 되는 것이다.

이렇게 발급받은 IP를 공인 IP라고 한다.

사설 IP

공유기를 사용한 인터넷 접속 환경일 경우에는 공유기까지는 공인 IP를 할당하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당한다.

즉, 사설 IP는 어떤 네트워크 안에서만 내부적으로 사용되는 고유한 주소이다.

사설 IP는 보통 내 컴퓨터에서 사용하는 로컬 IP라고도 불린다.

공인 IP는 전 세계에서 유일하지만, 사설 IP는 하나의 네트워크 안에서 유일하다.

공인 IP는 외부, 내부 상관 없이 해당 IP에 접속할 수 있으나, 사설 IP는 내부에서만 접근이 가능하다.

ip_5

  • loopback (127.0.0.1)
    loopback은 호스트에 할당된 IP를 의미한다.
    즉, 내가 갖고 있는 노트북에서 localhost 또는 127.0.0.1로 서버를 띄울 경우, 서버를 띄운 노트북에서만 접속이 가능하다.
  • 공인 IP
    공인 IP의 경우에는 어디서나 접속이 가능
  • 사설 IP (10.x.x.x, 192.168.0.x)
    사설 IP의 경우에는 같은 대역의 사설 IP를 할당받은 모든 기기에서 접속이 가능하다.
    단, 같은 대역의 사설 IP에 붙어있지 않은 경우(쉽게 말해서, 같은 와이파이에 붙어있지 않은 경우)에는 접속이 불가능하다.

사설 IP & 사설망 원리

다시 사설 IP에 대해서 정리하자면, 공유기를 사용한 인터넷 접속 환경일 경우에는 공유기까지는 공인 IP를 할당하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당한다.

ip_7

사설망이란, 위와 같이 할당된 사설 IP를 그룹으로 묶는 방법이다.

쉽게 비유하자면, 일종의 반장을 뽑는 것과 같다.

학교의 회의에 참여하는데 모든 사람이 참여할 수 없으니 대표로 반장을 뽑고, 그 반장은 대표로 나가서 학생들의 의견을 대신 전달하며, 학교 회의 내용을 다시 학생들에게 전달한다.

여기서 반장은 게이트웨이(Gateway)로 비유할 수 있으며, 반을 사설망, 학생들은 각 전자기기들, 학교를 인터넷으로 비유하면 딱 들어 맞는다.

ip_6 사설망을 이미지로 표현하면 위와 같으며, 위에서 비유한 반장 개념을 접목시킨 이미지이다.

  • 사설망
  • 반장
    Gateway (192.168.0.1 ↔︎ 181.227.3.33)
  • 반 학생들
    각각의 컴퓨터들 (192.168.0.2, 192.168.0.3, 192.168.0.4…)
  • 학교
    외부 인터넷 (61.123.44.1)

위의 이미지를 설명하자면, 사설망(반) 안에서 학생(컴퓨터)들은 유니크하다.

학창 시절을 떠올려보면, 반마다 학생 번호를 부여하는데 2학년 1반의 10번 학생2학년 2반의 10번 학생은 서로 전혀 다른 사람이다.

보기에는 부여받은 번호가 10번으로 같지만, 2학년 1반과 2반을 통해 10번이 다른 사람이라는 것을 구분할 수 있다.

이 개념이 바로 Private Network(사설망) 개념이다.

사설 IP(로컬 IP)는 어떤 네트워크 안에서 내부적으로 사용되는 고유한 주소이다.

따라서 연세대학교에서 사용하는 192.168.10.2 IP와 고려대학교에서 사용하는 192.168.10.2 IP는 번호는 같지만 전혀 다른 목적지 주소를 나타내게 된다.

그리고 같은 번호 IP를 구분하는 수단은 2학년 1반처럼 외부에서 할당받은 전 세계에서 유일한 공인 IP(181.277.3.33)로 구분한다.

이처럼 사설망이라는 개념을 쓰면 같은 아이피 번호를 중복해서 마구 사용할 수 있고, 이는 곧 IP의 절약과 연관된다.

NAT (사설망 ↔ 외부 통신 방법)

IP를 정략하는 트릭에 대해서 이해가 됐다면, 사설망 안에 있는 컴퓨터는 과연 어떻게 외부와 통신을 하는가?

외부 인터넷 입장에서 주소 번호가 똑같은 사설 IP들을 어떻게 각각을 특정해서 정확히 찾아 들어가 우리에게 웹 페이지를 띄울 수 있는 것인가?

여기서 바로 NAT(Network Address Translation)라는 개념이 등장한다.

이름 그대로 인터넷 주소 번역 기능이다.

ip_8 NAT와 관련된 자세한 내용은 #NAT & PAT 게시글을 참고

인터넷 주소 번역 원리는 간단하다.

우선 공유기(라우터)에 연결되어 있는 각 사내 컴퓨터들의 사설 IP(192.168.0.xxx)를 받아와서 유일한 공인 IP로 변환한다.

그리고 외부 인터넷으로 공인 IP 주소 정보를 보내는 것이다.

외부 입장에서는 어느 회사의 영업부 사원이 보냈는지 알지 못하고, 그냥 회사 공유기 주소만 알고 있는 것이다.

하지만 문제가 없는 것이, 답변을 하게 되면 인터넷 정보가 다시 회사 공유기로 올 것이고, 공유기에서는 이전에 요청한 정보들을 다 기억하고 있기 때문에 확인이 끝나면 그대로 김인턴 PC에게 넘겨주는 것이다.

즉, Private IP를 사용하고 있는 컴퓨터가 사설 바깥쪽에 있는 Public IP에 해당되는 외부 세계에 간접적이라도 접속할 수 있게 된다.

이때 사용되는 기술이 바로 NAT이다.

추가적인 설명은 #NAT & PAT 게시글을 참고

참고 사이트

Inpa Dev - 🌐 IP 기초 (사설IP / 공인IP / NAT) 개념 정말 쉽게 정리


  1. 국제인터넷주소관리기구(Internet Corporation for Assigned Names and Numbers, ICANN)는 1998년 설립된 미국의 비영리기구로, 국가나 단체 또는 ISP에게 IP 주소 공간을 할당 및 관리하고, TLD의 신규 등록 및 관리 업무를 수행한다. ↩︎

  2. 인터넷 서비스 제공사업자(Internet Service Provider, ISP)는 개인이나 기업체에게 인터넷 접속 서비스, 웹 사이트 구축 및 웹 호스팅 서비스 등을 제공하는 회사를 말하며, 대표적으로 한국에서는 KT, SK 브로드밴드, LG U+ 등이 있다. ↩︎

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.