인터넷에서 사용되는 각종 장비들인 라우터, 스위치, 서버, PC 등에 부여하는 고유한 주소는 IPv4 주소와 IPv6 주소가 있다. 이 주소들은 IANA에서 APNIC, KISA, 각 인터넷 회사(ISP)를 거쳐 최종 사용자에게 할당된다.
IPv4 주소 표기
32 비트. 8비트 단위로 점을 찍어 구분한다.
우리가 흔히 아는 IP 주소는 십진표기법.
각 자리에 사용할 수 있는 제일 작은 수는 8비트 모두가 0인 경우이며, 이를 10 진수로 나타내도 0이다. 각 자리에 사용할 수 있는 제일 큰 수는 8비트 모두가 1인 경우이며, 이를 10진수로 나타내면 255이다. 따라서 IPv4 주소 중 제일 작은 것은 0.0.0.0 이고 제일 큰 것은 255.255.255.255 이다.
IP 주소는 네트워크 부분과 호스트 부분으로 나뉜다. 네트워크 부분이 다른 IP 주소를 가진 장비들 사이의 통신에는 반드시 라우터가 필요하다. 반대로 네트워크 부분이 동일한 장비들 사이의 통신에는 스위치를 사용하며 라우터는 사용할 수 없다.
클래스 A 주소 (0-127)
IPv4 주소 중 첫 번째 비트가 0인 것들을 클래스 A 주소 라고 한다. 클래스 A 주소 중 가장 작은 것은 0.0.0.0 이며 가장 큰 주소는 127.255.255.255 (01111111.11111111.11111111.11111111) 이다.
클래스 A 주소는 처음 8비트가 네트워크 부분을 나타내며 나머지 부분은 호스트 부분을 표시한다. 따라서 10.1.2.3, 10.2.3.4, 10.4.2.5 등 모두 같은 네트워크에 속한 IP 주소들이며, 10.2.3.4, 11.4.5.3, 100.3.4.2 은 서로 다른 네트워크에 속한 주소들이다.
클래스 B 주소 (128-191)
IPv4 주소 중 처음 두 비트가 10인 것들을 클래스 B 주소라고 한다. 클래스 B 주소 중 가장 작은 것은 128.0.0.0이며, 가장 큰 주소는 191.255.255.255 (10111111.11111111.11111111.11111111)이다.
클래스 B 주소는 앞부분의 16비트까지가 네트워크 부분을 나타내고 나머지 16비트는 호스트 부분을 표시한다. 따라서 150.1.2.3 150.3.5.2 150.4.6.3 등은 모두 같은 네트워크에 속한 주소들이며, 150.1.4.3, 150.200.4.5, 151.205.6.7 등은 서로 다른 네트워크에 속한 주소들이다.
클래스 C 주소 (192-223)
IP 주소 중 처음 세 비트가 110인 것들을 클래스 C 주소라고 한다. 클래스 C 주소 중 가장 작은 것은 192.0.0.0 (11000000.00000000.00000000.00000000)이며, 가장 큰 주소는 223.255.255.255 (11011111.11111111.11111111.11111111) 이다.
클래스 C 주소는 앞부분의 24비트까지가 네트워크 부분을 나타내고 나머지 8비트는 호스트 부분을 표시한다. 따라서 200.1.2.3 200.1.2.4 200.1.2.100 등은 모두 같은 네트워크에 속한 주소들이며, 200.1.0.1, 200.1.30.5, 201.3.2.3 등은 서로 다른 네트워크에 속한 주소들이다.
클래스 D 주소 (224-239)
IP 주소 중 처음 4비트가 1110인 것들을 클래스 D 주소라고 한다. 클래스 D 주소 중 가장 작은 것은 224.0.0.0 (11100000.00000000.00000000.00000000)이며, 가장 큰 주소는 239.255.255.255 (11101111.11111111.11111111.11111111) 이다.
이 주소들은 네트워크와 호스트의 구분 없이 하나의 그룹을 나타내며, 멀티캐스트라는 통식 방식 용도로 사용한다.
클래스 E 주소 (240-255)
IP 주소 중 처음 4비트가 1111인 것들을 클래스 E 주소 라고 한다. 클래스 E 주소 중 가장 작은 것은 240.0.0.0 (11110000.00000000.00000000.00000000)이며, 가장 큰 주소는 255.255.255.255(11111111.11111111.11111111.11111111) 이다. 클래스 E 주소들은 사용이 유보되어 있다. 장비에 부여할 수 있는 IP 주소는 A,B,C 클래스 이다.
📌 사설 네트워크 범위
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
네트워크 주소와 브로드캐스트 주소
IP 주소 중에서 호스트 부분이 모두 0인 것은 해당 네트워크를 표시할 때. 사용한다. 즉, 172.16.0.0 이란 네트워크 부분이 172.16 인 주소를 말한다. 네트워크 주소는 나중에 라우팅 프로토콜을 설정하거나 라우팅 테이블을 표시할 때 사용된다.
라우팅 테이블이란 라우터가 특정 목적지 네트워크와 연결되는 방향을 기록해 놓은 데이터베이스이다. show ip route 명령어를 사용하면 라우팅 테이블을 확인할 수 있다.
R1# show ip route
C 172.17.0.0/16 is directly connected, Serial1/1
C 172.17.0.0/16 is directly connected, FastEthernet0/0
-> 라우팅 테이블 확인 예시
-> 172.17.0.0 네트워크는 Serial1/1 인터페이스와 연결된다는 것을 알 수 있다. 즉 IP 주소 중 네트워크 부분이 172.17 로 시작되는 것들은 모두 Serial1/1 로 전송한다는 것을 의미한다. 장비의 인터페이스에 IP 주소를 부여할 때 172.17.0.0 255.255.0.0 과 같은 주소를 사용할 수 없다.
💡 서브넷 마스크는 IP 주소를 서브넷으로 분할하는 데 사용된다.
- 네트워크 식별: IP 주소의 네트워크 부분과 호스트 부분을 구분하는 역할. 어떤 IP 주소가 어떤 네트워크에 속하는지 식별할 수 있다.
- 서브넷 분할: IP 주소를 서브넷으로 분할할 수 있다.
- IP 주소 할당: 서브넷 마스크는 호스트의 비트 수를 결정하므로 서브넷마스크에 따라 사용 가능한 호스트의 수가 달라딘다. 더 큰 서브넷 마스크는 더 작은 호스트 수를 가지며, 더 작은 서브넷 마스크는 더 많은 호스트 수를 가질 수 있다.
IP 주소 중에서 호스트 부분이 모두 1인 것은 브로드캐스트용 주소로 사용된다. 예를 들어, 172.16.0.0 네트워크 내의 모든 호스트들에게 무언가를 전송할 일이 있을 때는 목적지의 IP 주소를 172.16.255.255 로 하면 된다.
모든 비트가 1인 IP 주소인 255.255.255.255 를 로컬 브로드캐스트 주소 또는 제한적 브로드캐스트 라고 부르며, 브로드캐스트 패킷을 전송하는 장비와 동일한 네트워크에 소속된 모든 장비들에게 데이터를 전송할 때 사용된다. 장비의 인터페이스에 IP 주소를 부여할 때 172.17.255.255 255.255.0.0 과 같은 브로드캐스트 주소를 사용할 수 없다.
→ 즉 네트워크 주소와 브로드캐스트 주소는 인터페이스의 IP 주소로 할당할 수 없다.
특별한 용도의 IP 주소
- 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 : 조직 내부에서만 사용하는 사설 IP 주소로 할당되어 있다.
- 127.0.0.0/8 : 장비 자신을 나타내는 루프백 주소로 사용한다.
- 169.254.0.0/16 : PC 등 장비가 자동으로 IP 주소를 받아오지 못할 때 스스로에게 부여하는 링크 로컬 주소로 사용한다.
- 192.0.2.0/24 : 테스트용 주소. 예를 들어 DDoS 를 차단할 때 공격패킷들을 이 주소로 전송하여 폐기시킬 수 있다.
서브넷팅
라우터의 인터페이스가 다르면 부여하는 IP 주소의 네트워크 부분도 달라야한다. 다음 그림과 같은 네트워크를 구성하려면 서로 다른 네트워크 주소 3개가 필요하다.
이 때 하나의 네트워크 주소를 여러 개로 분할하는 것을 서브넷팅 또는 서브넷 마스킹이라고 한다. 그리고 분할된 각각의 네트워크를 서브넷(subnet) 이라고 한다. IP 주소를 이진수로 표기하고 네트워크 부분을 나타내는 비트 위에 1을 호스트를 나타내는 비트 위에 0을 적으면 이를 서브넷 마스크(subnet mask) 또는 네트워크 마스크라고 부른다.
서브넷 계산 방법
'Network' 카테고리의 다른 글
[ Network ] MPLS 와 SD-WAN (0) | 2024.03.15 |
---|---|
[ Network ] VLSM 이란? (0) | 2024.03.14 |
[ Network ] Router (패킷 트레이서 & 다이나밉스) (0) | 2024.03.08 |
[ Network ] LAN 과 Ethernet (ARP 프로토콜) (0) | 2024.03.08 |
[ Linux ] Raw socket & Scapy 실습 - kakao 실무진 특강 (3) (0) | 2024.03.04 |