IP? SUBNET?

유웅조·2019년 12월 24일
0

개요

AWS EC2를 사용해서 배포를 시도하다보니 애매하게 넘어가고 있는 개념들이 많은 것 같아 정리해보고자 한다.

IP, IP 주소란?

IP

Internet Protocol(인터넷 / 규약). 말그대로 인터넷을 사용한 네트워크 통신을 할 때 쓰는 일종의 약속, 규약을 말한다.
여기서의 네트워크 통신이란 간단한 인터넷 검색, 게임, 온라인 쇼핑 등을 할 때의 통신을 모두 일컫는다.

IP 주소

그렇다면 IP 주소란 이 약속, 규약에서 현재 네트워크 통신을 사용하고 있는 기기의 주소를 말한다.
예를 들어, 서로 편지를 주고 받을 때 서로의 주소를 반드시 알아야만 서로 소통할 수 있는 것과 비슷한 개념이다.
다시 말하면, IP 주소는 각각의 기기들, HOST들을 구분하여 컴퓨터끼리 주고 받는 데이터를 정확한 곳에 송, 수신하기 위해 필요한 것이다.

IPv4

IP 주소는 IPv4와 IPv6로 나뉘어진다. 전자는 3작리 숫자가 4마디로 표기되는 방식이고 이 각 마디를 옥텟이라 부른다. 총 표기되는 숫자는 12개이다.
예시: 123.123.123.123
예시의 주소는 내부적으로 32비트로 처리된다.
예를 들면, 1111011.1111011.1111011.1111011로 표시된다.

IPv4의 문제
인터넷이 거대해지면서 주소 고갈 문제로 번지게 된다. 2011년 2월 5일 기준, 공인 IP주소는 모두 고갈된 상태이다.

IPv6

IPv4의 고갈 문제를 해결하기 위해 나온 것이 IPv6이다. IPv6는 기존의 32비트 --> 128비트로 처리하면서 2의 128제곱인 총, 340,282,366,920,938,463,463,374,607,431,768,211,456개의 IP를 할당할 수 있게 된다. 더불어 모바일 IP를 포함하기 때문에 모바일 기기에도 IP를 할당할 수 있다.
예시: 2001:0db8:0dad:0010:0000:0000:0000:0100

IPv4 클래스 분류

IP 주소는 대역에 따라 A, B, C, D, E 등의 클래스로 나누어질 수 있다. 이를 통해 클래스 내에 Network ID와 Host ID를 구분하게 된다.

클래스 A: 대규모 네트워크 환경
클래스 B: 중규모 네트워크 환경
클래스 C: 소규모 네트워크 환경
클래스 D: 멀티캐스트 용
클래스 E: 연구/개발 용, 혹은 미래에 사용

또한 각 클래스 안에서 IP는 Network ID와 Host ID로 구분할 수 있다.

IP 클래스의 문제

IPv4는 초기에 클래스로 나누어서 할당을 했다. 하지만 예를 들어, 클래스 B를 어느 중소기업체에 할당할 경우, 65,000여개의 IP를 다 쓰지 않고, 10,000개 정도만 사용한다고 가정하면 나머지 50,000여개의 IP는 쓰이지 않은 채 클래스 B의 하나를 점유하고 있는 상태가 된다.

Subnet, Subnet Mask

서브넷: IP 주소에서 네트워크 영역을 부분적으로 나눈 부분망, 부분 네트워크
서브넷 마스크: 서브넷을 만들 때, IP 주소 체계의 Network ID와 Host ID를 분리

서브넷 마스크의 형태는 기본적으로 IP주소와 같은 32bit 이진수이다. 서브넷 마스크의 목적은 IP주소와 AND 연산하여 Network 부분의 정보를 걸러내는 것이다.

서브넷팅

기본 A 클래스의 IP를 그대로 할당하게 되면 할당 가능한 호스트 수가 16,777,216개나 된다. 하나의 A 클래스만 가지고 전체 IP를 관리하기에는 너무 비효율적이다.

서브넷팅은 이런 문제점을 해결하기 위한 방법이다. 예를 들어, A 클래스의 IP를 두 개의 서브넷으로 나누고 싶다고 가정했을 때, 두개의 서브넷을 나누려면 서브넷 마스크에서 비트의 수를 하나로 set하면 된다.
서브넷 마스크: 255.0.0.0 => 255.128.0.0
A 클래스망: Network ID 116.0.0.0 => 116.128.0.0

0개의 댓글