노드(컴퓨터)간 통신에 필요한 고유 주소를 뜻함.
네트워크 주소 + 호스트 주소로 구성된다.
가장 널리 사용되는 IP 주소로, 32비트 값을 가진다. 8비트씩 끊어 표기하고, 점(.)으로 구분한다.[8비트씩 4부분으로 10진수로 표기] 최대 2^32개(43억개)의 고유한 주소를 부여할 수 있다.
주소 할당의 방식은 A,B,C 등 클래스 단위의 비 순차적 방식이다.
IPv4 주소의 고갈에 대한 대안으로 고아되었다. 128비트의 값을 가지며, 4자리의 16진수 숫자 8개로 표기하고 콜론(:)으로 구분한다.[16비트씩 8부분으로 16진수로 표기] IPv4의 이론상 주소의 수는 2^32인 반면, IPv6는 2^128개(43억*43억*43억*43억) 이다.
IPv6는 필드 전체가 0인 필드가 연속되어 있는 경우(2604:4700:4700:0000:0000:0000:0000:1111) 0만 있는 필드를 생략하여 표기 할 수 있다(2604:4700:4700::1111). 또한, 필드 내에 가장 높은 자리수가 0인 경우에도 생략 가능하다(2604:0001:0011:... -> 2604:1:11...).
주소 할당의 방식은 네트워크 규모 및 단말기 수에 따른 순차적 방식이다.
ICANN,KISA등의 IP주소 할당 공인 기관에서 할당한 인터넷 상에서 사용할 수 있는 IP주소를 말한다. ICANN이라는 기관에서 국가별로 사용할 IP대역을 관리하고, 우리나라에서는 인터넷 진흥원(KISA)에서 대한민국 내에서 사용할 주소를 관리한다. 즉, 공인 IP(Public IP Address)는 전세계에서 유일한 주소이다.
Network안에서 사용되는 주소(내부적으로 사용되는 고유한 주소)로, 하나의 네트워크 안에서 유일하며, 인터넷상에서는 확인할 수 없고, 내부 네트워크에서만 사용 가능한 IP이다.
주소범위
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
RFC 5735에 의해 특수한 목적으로 예약된 주소이기때문에 공인IP 주소로 할당 받는 것이 불가능하다.
0.0.0.0~0.255.255.255 : 기본 게이트웨이 IP(Default route)
127.0.0.0~127.255.255.255 : 자기 자신을 가리키는 루프백(Loopback) IP
255.255.255.255 : 브로드 캐스트 용도로 사용하기 위해 예약된 IP주소
IP 주소를 5개의 class(A-E)로 나누어서 배분하는 방식이다.
CIDR 이전까지 사용하던 네트워크 구분체계이다.
클래스는 상위 bit의 주소 시작값을 보고 판별할 수 있다.
클래스 기반 주소지정에서는 각 클래스가 정해진 수의 블럭으로 나뉘고, 각 블럭의 크기는 고정되어 있다.
classless : 네트워크 구분을 class로 하지 않는다는 의미.
CIDR은 위와 같이 각 네트워크 대역을 구분 짓고, Inter-Domain과 같이 구분된 네트워크간 통신을 위한 주소 체계이다.
표기법
192.168.10.0/24 이런식으로 IP주소 뒤에 "/n"을 붙여서 표기한다.
이 숫자는 비트 단위이고, 0-32까지 표현 가능하다.
숫자의 의미는 네트워크 ID의 크기이다. 기존 클래스 방식에서 클래스의 종류에 따라 네트워크 ID와 호스트 ID의 크기가 정해져 있던것과 달리, CIDR 방식은 클래스의 제한을 두지 않고, 필요한 호스트의 수에 따라 적당한 크기의 IP주소를 할당하는 방식이다.
예를 들어..
CIDR이 "/24"이라면, 위의 그림에서 앞에서부터 24비트 이후의 옥텟(파란부분)을 전부 사용할 수 있다는 의미이다.
따라서 위의 경우, 143.7.65.203/24이므로, 143.7.65.0 ~ 143.7.65.255까지 사용 가능하다.
netmask는 IP주소의 어느 부분이 네트워크 주소를 나타내고, 어느 부분이 기계 주소(호스트 주소)를 나타내늕지 식별하는 데 사용된다.
네트워크 주소 부분의 비트를 1로 치환한 것이다.
IP주소의 네트워크 섹션을 숨겨서 호스트 컴퓨터나 시스템만 네트워크 사용자가 볼 수 있도록 합니다.
IP 주소와 netmask를 AND 연산 하면 네트워크 주소를 얻을 수 있다.
먼저 subnetting이 무엇인지 간단히 알아보자면,
subnetting은 네트워크 성능을 향상키시기 위해, 자원을 효율적으로 분배하는 것이다. 자원의 효율적 분배란, 네트워크 영역과 호스트 영역을 분할 하는것이다.
너무 큰 broadcast 도메인은 네트워크 환경에서 패킷전송을 느리게 하고, 송능 저하를 발생 시킨다. 따라서, 네트워크를 쪼개서 통신 성능을 보장하는 것이다.
그래서 등장한 것이 subnet mask이고, 이는 필요한 네트워크 주소만 호스트 IP로 할당할 수 있게 만들어 네트워크 낭비를 방지한다. <-> super netting
subnetmask 란..
예를 들어, 어느 네트워크에서 100까지 IP를 할당받을 수 있고, 필요한 IP가 20개 정도일 때, 100개의 IP를 모두 전달할 필요 없이 최소 20개만 전달하면 된다. 나머지 21-100은 subnetmask로 가린다. 클래스를 사용한다는 것 = 서브넷 마스크를 사용한다는 것
subnetmask 형식
subnetmask는 0과 1로 이루어져있고, 1이 연속으로 나와야 한다.
예를들어 IP주소가 192.168.0.1/24이라면, default maks는 255.255.255.0 임을 알 수 있다.
default mask도 subnet mask입니다. 2진수로 표현하면, 1111 1111.1111 1111.1111 1111.0000 0000입니다. 1은 네트워크 영역으로 사용하겠다는 의미이고, 0은 호스트 영역으로 사용하겠다는 의미이다. 즉, 사용자에게 0이 표현된 부분만 호스트 IP를 할당할 수 있게 만들겠다는 의미이다.
default subnet maks
IP를 클래스로 나눈다는 말을 결국 subnet mask를 사용한다는 말과 같다.
예를 들어 C클래스를 사용할 때는 255.255.255.0이 default subnet mask가 된다. 즉, 별개의 서브넷 마스크를 생성하지 않아도 기본적으로 적용이 되어 있는게 기본 서브넷 마스크이다.
default subnet mask로 쪼개진 네트워크 주소를 subnet network라고 한다.
newtmask, subnetmask, supernetmask
192.168.1/24
! CIDR이후로 subnetmask만 사용하기 때문에 netmask와 subnetmask를 크게 구분하지 않는다고 함
네트워크 주소 : 하나의 네트워크를 통칭하기 위한 주소
브로드캐스트 주소 :
특정 네트워크에 속하는 모든 호스트들이 갖게 되는 주소.
네트워크에 있는 클라이언트 모두에게 데이터를 보내기(방송하기)위함.
Classful Addressing(클래스 기반 주소지정)방식에서 배정받은 네트워크를 subnetmask를 이용해 자체적으로 분할하여 여러 개의 subnet network로 분할 하는 것
하나의 네트워크에 포함된 호스트들을 여러 그룹으로 묶는 방식이기 때문에, 서브넷팅이 진행되면 본 주소에서 네트워크 아이디 필드는 늘어나고, 호스트 아이디 필드는 줄어든다.
Class A, B, C는 각각 X.X.X.X/8, X.X.X.X/16, X.X.X.X/24와 같은 주소 형태를 보이는데, 서브넷팅된 네트워크의 주소는 X.X.X.X/9, X.X.X.X/15, X.X.X.X/19, X.X.X.X/28과 같이 Net-id와 Host-id를 더 이상 Byte 단위로 해석할 수 없게 된다.
예제로 이해 해보려 한다..!
B Class의 주소를 할당받은 141.14.0.0/16 네트워크가 4개의 동일한 크기로 서브넷팅을 진행한다고 가정하자.
서브넷팅 과정과 각각의 서브넷에 배정된 주소들, 라우터들의 라우팅 테이블은 아래와 같다.
255.255.255.128/25에서
네트워크 주소인 255.255.255.128와
브로드캐스트 주소인 255.255.255.255를 뺀 개수
= 2^(32-25)- 2 = 126
255.255.128.0/17에서
네트워크 주소인 255.255.128.0과
브로드캐스트 주소인 255.255.255.255를 뺀 개수
= 2^(32-17)- 2 = 32766
Q. What is the maximun number of IP addresses that can be assigned to hosts on a local subnet that uses the 248.0.0.0 subnet mask?
네트워크 주소 = 1111 1000.0000 0000.0000 0000.0000 0000
호스트 주소 범위 = 2^27 = 134217728개
호스트에게 할당할 수 있는 주소 = 호스트 주소 범위 - 네트워크 주소 - 브로드캐스트 주소
= 134217728 - 2
Q. 다음 중 IP 주소 76.234.5.99/25가있는 서브넷의 유효한 호스트 범위는 무엇입니까?
subnet mask = 1111 1111.1111 1111.1111 1111.1000 0000
네트워크 주소(ip와 subnet mask AND 연산) = 0100 1100.1110 1010.0000 0101.0000 0000
호스트 범위 = 76.234.5.0~76.234.5.127 에서 네트워크와 브로드캐스트 주소를 뺀것
= 76.234.5.1~76.234.5.126
Q. 라우터의 이더넷 포트에 225.158.219.199/15이 할당 된 경우 어떤 호스트와 통신할 수 있는가?
A. 225.158.1.35
네트워크 주소 영역이 일치하면 같은 네트워크에 속해 있기 때문에 통신가능.
Q. You have an interface on an a router with the IP address of 197.162.179.84/12. Including the router interface, how many hosts can have IP address on the LAN attached to the router interface?
빠르게 구하기 = 2^(32-12) - 2 = 1048574
출처: https://epicarts.tistory.com/153 [일상 생활]