Q. IP Class 는 뭔가요?
하나의 네트워크가 몇 개의 호스트를 가질 수 있는지에 대한 단위 개념입니다.
즉, 네트워크와 호스트를 구분할 수 있는 단위라고 생각합니다.
IP Class 는 A ~ E Class 가 있습니다.
Q. 네트워크와 호스트를 구분할 수 있는 것은 서브넷 마스크 아니었나요?
IP Class 도 결국 /8 , /16, /24 .. 과 같이 Default Subnet Mask 를 가집니다.
사실 서브넷팅 하는 방법에 있어 Classful 방식으로 IP Class 를 활용하는 방법과
Classless 방식으로 IP Class 개념없이 서브넷팅 (VLSM) 하는 방법이 있습니다.
Q. IP Class 의 각 Class 는 무엇을 의미하나요?
자세한 설명은 여기를 참조하세요
A Class : Network : 0.0.0.0 ~ 127.255.255.255 SubnetMask 255.0.0.0 Hosts : 16,777,214
B Class : Network : 128.0.0.0 ~ 191.255.255.255 SubnetMask 255.255.0.0 Hosts : 65,534
C Class : Network : 192.0.0.0 ~ 223.255.255.255 SubnetMask 255.255.255.0 Hosts : 254
D Class : Network : 224.0.0.0 ~ 239.255.255.255 특수목적용 ( 멀티캐스트 )
E Class : Network : 240.0.0.0 ~ 247.255.255.255 IP 연구용
A , B Class 의 경우 기업이 아닌경우 호스트 수가 매우 크기 때문에 낭비가 심할 수 있습니다.
그래서 대부분 네트워크를 나눌 때 C Class 를 따릅니다.
이러한 이유로 사설 네트워크망은 192 로 시작하는 경우가 많습니다.
Q. 제 IP 는 59.142.xxx.xxx 인데 어떻게 사설 IP로 사용할 수 있다는 건가요?
NAT ( Network Address Translation ) 를 통해서 공인망(인터넷망) <~> 사설망 통신이 가능합니다.
Q. NAT 는 또 뭔가요?
NAT 는 주소를 변환해주는 서비스입니다.
- IP 주소 절약 : 하나의 공인 IP 주소를 여러 호스트가 나누어 사용할 수 있습니다.
- 보안 : NAT 특정으로 IP 를 숨길 수 있는 기능이 있습니다.
동작 방식
예 ) 내 컴퓨터에서 구글로 '모코코'를 검색합니다. [ 사설 IP : 10.0.0.1 , 공인 iP : 150.150.0.1 , 구글 IP : 200.100.10.1 ]
1. 내 컴퓨터 (사설 IP) 에서 구글에 패킷전송
( 패킷 헤더에 Src/Dst IP 가 기록됩니다. Src : 10.0.0.1 / Dst : 200.100.10.1 , 출발지,도착지 IP 주소입니다. )
2. 기본 게이트웨이에서 외부로 나가는 패킷을 인식합니다.
2-1 . 출발지 IP 주소를 게이트웨이 자신의 공인 IP 주소로 변경합니다.
2-2 . 이때, NAT 테이블에 보관합니다. ( 10.0.0.1 ~> 150.150.0.1 )
3. 구글 웹서버에서 패킷을 수신 후 처리를 수행합니다.
3-1 . 응답 패킷을 전송합니다. ( Src : 200.100.10.1 / Dst : 150.150.0.1 )
4. 기본 게이트웨이에서 응답패킷을 수신합니다.
4-1 . 기록해두었던 NAT 테이블을 참조하여 도착지 주소를 사설 IP (10.0.0.1 ) 로 변경합니다.
추가적으로 NAT의 여러 쓰임에 대해 설명하자면
SNAT ( Source NAT ) : 사설망 ~> 공인망
DNAT ( Destination NAT ) 공인망 ~> 사설망
주소할당 방식에 따른 NAT
Static NAT ( 1:1 NAT )
- 공인 IP 와 사설 IP 주소가 1:1 로 매칭되는 방식입니다.
- IP 절약 효과는 없으며 , Port Forwarding 목적으로 사용합니다. ( 사설 서버 IP 를 공인 IP 로 매핑하기 위한 목적 )
- Port Fowarding : 하나의 서버에서 여러 서비스를 운영중일 때,
특정 서비스에 임의의 포트를 지정하여 해당 포트를 통해 서비스의 경로를 지정하는 방법입니다.
Dynamic NAT ( N:N NAT )
- 여러 개의 공인 IP 주소 대비 사설 IP가 더 많을 경우 현재 사용중이지 않은 공인 IP 에 사설 IP 를 동적으로 매핑합니다.
- IP 절약 효과를 위해 사용합니다.
PAT ( Port Address Translation ) 또는 PNAT ( Port NAT )
- 공인 IP 1개와 여러 개의 사설IP를 매핑합니다. ( 공인 IP 의 포트마다 각각의 사설 IP 의 포트와 연결할 수 있습니다. )
자세한 내용은 여기를 참조하세요
Q. 이전에 소개된 서브넷팅은 뭐고 VLSM 은 뭔가요?
서브넷팅은 서브넷 ( Sub network )을 나누는 방법입니다.
우리가 할당받은 네트워크를 좀 더 효율적으로 사용하기 위해 여러 개의 서브 네트워크로 쪼개서 사용할 수 있습니다.
서브넷팅을 하는 방법으로 2가지를 위에서 소개했는데,
Classful : 기존 IP Class 별 Default Subnet Mask 를 사용합니다. /8 , /16, /24 ...
Classless : IP Class 의 개념없이 서브넷팅을 하는 방법입니다. ( VLSM 한 경우 ) ( CIDR 표기 )
예 ) 필요한 IP 개수가 있을 때 ex. 컴퓨터 30대와 연결해야 하는 경우 ( 임의의 네트워크 배정 ~> 193.1.2.0/24 )
/24 (SubnetMask) = 255.255.255.0
1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 <~ 여기서 서브넷팅
30대가 필요하니 최대한 낭비없이 할당하는 것이 중요합니다.
8 bit 에 30개를 포함시키기 위해서는 2^5 = 32 개 2진법 => 11100000
따라서, 서브네트워크 개수는 ( 111 10진법 => 8 개 ) 그렇다면, 서브넷 표기는 /24 + 3 = /27 ( CIDR 표기 )
현재 생성한 서브네트워크는 8개로 각 서브네트워크 마다 32 개의 호스트를 가집니다.
193.1.2.0/27 | 193.1.2.32/27 |
193.1.2.64/27 | 193.1.2.96/27 |
193.1.2.128/27 | 193.1.2.160/27 |
193.1.2.192/27 | 193.1.2.223/27 |
VLSM ( Variable Length Subnet Mask ) : 가변 길이 서브넷 마스크
위의 예로 설명한 방법이 VLSM 방식입니다.
( 이 경우 반드시 xxx.xxx.xxx.xxx / xx 형식의 CIDR 표기를 해주어야 합니다.)
'📡Network' 카테고리의 다른 글
Load Balancer (0) | 2022.12.11 |
---|---|
IP (0) | 2022.08.14 |
IPtables (0) | 2022.08.13 |