안녕하세요, cool & soft한 백엔드 개발자가 되고싶은 토니입니다.
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 보안
- nlb
- java
- CS
- backend
- springSecurity
- MacOS
- JPA
- 빅챗
- 로드밸런서
- pfsense
- Spring
- 백엔드
- 해커톤
- AUSG
- 웹
- server
- springboot
- ubuntu
- be
- 백준
- 구름톤
- 고용노동부
- 알고리즘
- Linux
- docker
- kdt
- 서버
- 구름톤딥다이브
- network
- Today
- Total
Code Art Online
IP와 서브넷 본문
IP란?
IP(인터넷 프로토콜)란 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다.
IP의 역할
지정한 IP 주소에 데이터 전달
패킷(Packet)이라는 통신 단위로 데이터 전달
IP의 형식
192.168.123.132
마침표로 구분된 4묶음의 숫자가 있는, 점으로 분리된 10진수 형식이다.
IP 주소 개수
2진법으로 표현하면 1000000.10101000.01111011.10000100 -> 32비트 숫자가 된다.
IPv4 주소는 32 Bit로 구성되어있다.
1bit = 2 -> 2의 32승 -> 약 43억개의 주소를 가질 수 있다.
IPv4
IPv6 주소는 128비트로 구성되어 있다.
이는 IPv4보다 훨씬 더 많은, 사실상 무한에 가까운 주소 공간을 제공한다.
하지만 IPv4에서 IPv6로 전환하려면 많은 노력이 필요하기 때문에, IPv4를 아직까지 사용하고 있다.
IP 의 구성
IP = 네트워크 ID + 호스트 ID
Network ID: 각 국가마다 부여된 네트워크 ID이다.
Host ID: 호스트들을 개별적으로 관리하기 위해 사용한다.
192.168.10.10 → 11000000.10101000.00001010.00001010
IP 주소 클래스
옛날에 IPv4를 사용했을 때 IP를 할당하는 방법, 1993년도부터 CIDR방식으로 할당하도록 바뀌었다.
IP 주소를 8비트로 4등분하여 '옥텟(Octet)'이라고 부란다.
각 옥탯별로 0~255개의 범위가 되므로 각각 256개가 들어갈 수 있다.
옥탯별로 IP의 클래스를 A, B, C... 로 나눌 수 있다.
이를 통해 클래스마다 할당되는 호스트 개수가 나뉘어 체계적으로 관리할 수 있게 된다.
네트워크 주소 & 브로드 캐스트 주소
IP 주소에서는 네트워크와 브로드캐스트 주소를 사용할 수 없다.
네트워크 주소는 네트워크 자체의 주소이고, 호스트 ID가 모드 0인 주소이다.
브로드 캐스트 주소는 인터넷에 데이터를 전달하기 위한 주소이고, 호스트 ID가 모두 1인 주소이다.
사용할 수 있는 IP 주소 범위가 192.168.10.0 ~ 192.168.10.255라면,
첫번째인 192.168.10.0은 네트워크 주소,
마지막인 192.168.10.255가 브로드캐스트용 주소이다.
서브넷 (Subnet)
IPv4는 초기에 부족한 주소를 해결하기 위해 IP 주소 클래스를 사용했지만, 이 방식은 비효율적이었다.
호스트 수에 맞게 클래스별로 IP 범위를 나누어 할당하다보니, 쓰이지 않는 IP 주소가 너무 많아져 오히려 IP 자원이 부족하게 되었다.
이러한 문제를 해결하기 위해 IP를 사용하는 네트워크 장치 수에 맞게 사용할 수 있는 서브넷을 활용했다.
서브넷이란, 하나의 네트워크가 분할되어 나눠진 작은 네트워크이다.
서브네팅은 서브넷 마스크(Subnet Mask)를 통해 계산 및 수행될 수 있다.
서브넷 마스크 (Subnet Mask)
서브넷 마스크는 IP 주소에서 네트워크 ID와 호스트 ID로 구분하기 위해 만들어졌다.
IP 주소와 동일하게 32비트 2진수로 표현된다.
단, IP와 달리 연속된 1과 연속된 0으로만 구성된다.
그러면 서브넷 마스크 옥텟이 255면 네트워크 아이디를 의미하므로, 네트워크 ID와 호스트 ID를 편하게 구분할 수 있다.
그래서 서브넷 마스크를 이용하면 IP가 어느 클래스인지 쉽게 알 수 있다.
Prefix
서브넷 마스크를 간소화해서 표현하는 방식이다.
만약 IP주소가 192.168.01/24라면, /24가 서브넷 마스크를 표현한 것이 된다.
/24는 32비트 중 앞에서부터 차례대로 1의 개수가 24개라는 의미이다.
이를 통해 기존에는 4B가 필요했지만 Prefix를 사용하면 6bit만 있으면 정보를 전달할 수 있다.
서브네팅
서브네팅이란, IP 주소를 나누어 사용하기 위해 IP 할당 범위를 더 작은 단위로 쪼개는 것이다.
이때 자신의 네트워크 주소를 더 작은 서브 네트워크로 나누기 위해 2의 배수로 나눈다.
'Server' 카테고리의 다른 글
[Linux] 서버에 사용자를 추가하고, 관리자 그룹에 추가하기 (0) | 2025.03.10 |
---|---|
VLAN (0) | 2025.01.21 |
스위치 (0) | 2025.01.21 |
Docker Network (0) | 2025.01.20 |
FW - NAT(Network Address Translation) (0) | 2025.01.18 |