Search
Duplicate

사설 IP와 서브넷팅 - 1

날짜
2021/10/18
작성자
태그
Network
Series
--
완료

1. 서론

IP와 서브넷팅에 대한 이해가 부족한 상태로 AWS를 사용하는 사람들을 많이 보았습니다.
IP, 서브넷팅 같은 개념은 'IT의 기초중에 기초라서 누구나 아는거 아닌가..?' 라는 생각이 들 수도 있습니다. 하지만 그만큼 네트워크의 필수 개념을 알지 못해도 사용할 수 있는 클라우드 서비스의 위력을 느끼기도합니다.
하지만 IP와 서브넷팅에 대한 개념은 필수이고 EC2는 못 만들어도 서브넷팅은 할 줄 알아야 된다고 생각합니다. (Private Subnet을 자주 다룬다면 더더욱!!)
이번 포스팅은 사설 IP와 서브넷팅의 개념을 제가 아는 선에서 최대한 쉽게 풀어보려고합니다.
이 포스팅은 최대한 쉽게 IP와 서브넷팅 개념들을 풀어가는데 집중하고 있어요. 이진수가 나오면 처음 접하는 분들은 머리가 띵해지기 때문에 이진수의 사용을 최소화 할 예정입니다. 또한 이 포스팅에서 IP는 전부 IPv4를 뜻합니다. (IP==IPv4)

2. What Is IP ? (Internet Protocol)

IP 주소는 (인터넷 통신을 위해서) 컴퓨터에 부여되는 주민등록번호이자 주소에요.
IP 주소를 통해서 상대방이 누군지 식별하고, 내가 원하는 대상에게 찾아갈 수 있습니다.
위에 적힌 말들을 풀어서 설명해 볼게요.
인터넷이란 Inter Network, 즉 네트워크와 네트워크 사이라는 뜻으로 네트워크간의 통신을 뜻해요.
여기서 네트워크란 '내 목소리가 닿을 수 있는 범위'이라고 생각해봅시다. 내 목소리가 갈 수 있는 범위는 제한되어 있는데 '인터넷'을 사용해서 갈 수 없는 지역에 내 목소리를 전달해요. ( 어렵다면 이 포스팅에서만 네트워크 = 작은 구역 이라고 생각합니다. )
컴퓨터란 넓은 의미의 컴퓨터 즉 PC뿐 아니라 공유기, 스마트폰, IoT 제품 등 인터넷으로 통신할 수 있는 모든 기기를 뜻해요.
주민등록번호라고 표현한 이유는 IP는 세상에서 하나뿐인 고유한 값이기 때문이에요. (Public IP 기준!)
A 네트워크 베짱이 목소리는 B 네트워크까지 가지 않기때문에 A베짱이가 B의 1번 베짱이을 불러도 들을 수가 없어요. 목소리가 안 닿는 네트워크 간 통신을 할 수 있게 해주는 방법중 하나가 '인터넷' 입니다.
IP는 보통 123.12.23.201 이런 형태로 구성되어있습니다. 이진수에 대한 얘기를 최대한 줄여보겠지만 컴퓨터의 세계는 전부 0과 1로만 구성되어있어서 잠깐만 이진수의 얘기를 꺼내볼게요.
IP는 4개의 옥텟(Octet)이 모여서 만들어져요.
123.12.23.201[옥텟1].[옥텟2].[옥텟3].[옥텟4]
옥텟은 2진수 8자리 숫자를 뜻합니다.(=8비트) 그래서 2진수로 00000000.00000000.00000000.00000000 부터11111111.11111111.11111111.11111111 까지의 경우의 수가 있습니다.
이걸 10진수로 표현하면 0.0.0.0~255.255.255.255 까지의 경우의 수가 있습니다.
그러니까 IP 주소중에 101.202.101.303 이런 주소는 존재하지 않는 IP 주소에요.

3. 공인 IP, 사설 IP

위에서 설명했듯이 공식적으로 IP 주소는 0.0.0.0~255.255.255.255 까지 총 256*256*256*256 =4,294,967,296개가 있습니다.
42억이라는 숫자가 많아보일 수 있지만,,, 지구촌 80억 인구에게 한 사람당 하나의 IP 주소만 지급해도 인구 절반에게만 할당 가능한 숫자이며 스마트폰, IoT등 기술의 발달과 함께 최근 사람들은 인터넷이 가능한 디바이스를 많게는 수십개까지도 가지고있습니다. 즉 IP 주소가 부족하다는거죠.
그래서 공인 IP와 사설 IP의 개념이 생겨났습니다.
IP 하나의 네트워크에서 자기들끼리만 알아들을 수 있는 주소를 사용해서 통신하기로했어요. (가족끼리 서울시 강남구 논현로 고베아파트 304호가 아닌 우리집 이라고 부르자는거죠.)
이렇게 내부통신에만 사용하고 인터넷 통신에는 사용하지 않는 주소를 사설 IP라고 불러요.
어떤게 사설 IP 인지 공인 IP인지 어떻게 알아;;;
맞아요 누구는 1.2.3.4 라는 IP 주소를 공인 IP로 사용하고 누구는 사설 IP로 사용하면 혼란스럽겠죠 ?? 그래서 전세계적으로 특정 주소들은 사설 IP로만 사용하고 그 주소들을 공인 IP로 사용하는것을 금지해서 공인과 사설을 분리하자! 라고 약속했어요.
그래서 사설 IP만 사용하기로 약속한 대역은 아래와 같습니다.
10.0.0.0 ~ 10.255.255.255 ( = 10.0.0.0/8 )
172.16.0.0 ~ 172.31.255.255 ( = 172.16.0.0/12 )
192.168.0.0 ~ 192.168.255.255 ( = 192.168.0.0/16 )
위 3개의 대역 외에도 모든 대역을 사설 IP로 사용할 수는 있지만 통신이 꼬이거나 사설 IP임을 명확하게 하기 위해서 Private 대역을 많이 사용해요.
IP Class 라는 개념도 있는데 저는 Class 개념이 필요없다고 생각해서 이 포스팅에선 다루지 않습니다. (궁금하신분들은 사설 IP 구글링 해보면 나오는데 개인적으로 혼란이 가중된다고 생각합니다.)
사설 IP의 특징은 다음과 같습니다.
사설 IP 주소로는 인터넷 통신을 하지 못합니다.
사설 IP도 동일한 네트워크 내부에서 유일한 주소여야합니다.
제한된 IP 대역에서 자유롭게 사용 가능합니다. (사설 IP는 네트워크를 벗어나지 못해서 다른곳에서 같은 사설 IP를 사용중이여도 평생 만날일이 없죠! )
사설 IP는 NAT라는 문을 지나면 NAT의 공인 IP주소를 빌려서 인터넷 통신을 할 수 있습니다. (사설 IP로 통신하는게 아니라 공인 IP를 빌려서 통신하는거에요.)
사실 이런 기술이 있기 때문에 사설 IP가 활발히 사용될 수 있어요. 보안에 민감한 회사같은 경우엔 NAT 없이 정말 사설 통신만 주고받겠지만 대부분 가정집에서 WIFI를 쏴주는 공유기가 이런 NAT의 역할도 같이 해주는거랍니다.
이런 기술이 없다면 IP 주소 부족을 떠나서 집에 컴퓨터 2, 스마트폰 4, 태블릿 1 이렇게만 있어도 인터넷 회선 7개를 따야하는거죠 ㄷㄷ
2편에서 계속됩니다!