IP 주소
2 계층의 물리 주소인 MAC 주소와 달리 IP 주소는 3 계층의 논리 주소를 사용한다.
대부분의 네트워크가 TCP/IP로 동작하므로 IP 주소체계를 이해하는 것이 네트워크 이해에 매주 중요하다.
IP 주소는 아래와 같은 특징을 가진다.
- 사용자가 변경 가능한 논리 주소
- 주소에 레벨 존재, 그룹을 의미하는 네트워크 주소와 호스트 주소로 나뉨
IP 주소 체계
우리가 흔히 사용하는 IP 주소는 32 비트인 IPv4 주소이다. IPv6도 존재하는데 이는 128비트이다.
MAC 주소는 16진수로 표기된 것과 달리 IP 주소는 10진수로 표기한다. 여기에 옥텟이라는 8비트 단위로 나눈 값이 존재하는데 각 단위마다 0~255의 값을 쓸 수 있다.
IP 주소는 MAC 주소가 OUI, UAA로 구성된것과 비슷하게 네트워크 주소, 호스트 주소로 나뉜다.
- 네트워크 주소 : 호스트들을 모은 네트워크를 지칭하는 주소, 네트워크 주소가 동일한 네트워크를 로컬 네트워크라 함
- 호스트 주소 : 하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소
MAC 주소는 24비트를 기준으로 나뉘지만 IP 주소는 기준이 고정되어 있지 않다.
IP 주소체계는 필요한 호스트 IP 개수에 따라 네트워크의 크기를 다르게 할당할 수 있는 클래스 개념을 도입했다.
아래는 클래스의 종류이다.
- A클래스 : 가장 큰 주소를 갖음, 약 1.600만 개의 IP주소를 가질 수 있음, 구분자가 첫 번째 옥텟에 존재
- B클래스 : 약 65000개의 IP 주소, 구분자가 두번째 옥텟에 존재
- C클래스 : 약 250개의 IP 주소, 구분자가 세번째 옥텟에 존재
네트워크 주소와 호스트 주소를 나누는 구분자가 고정되어 있다면 네트워크 IP 주소가 같기 때문에 모두 같은 크기의 네트워크가 되지만 구분자를 이동할 수 있어 네트워크 크기가 달라질 수 있다.
이러한 클래스의 장점은 다른 고정된 네트워크 주소 체계에 비해 주소를 절약할 수 있다는 점이다.
만약 작은 규모의 조직 입장에서 고정된 네트워크 주소를 가진다면 낭비되는 IP가 많기 때문에 클래스를 통해 낭비를 최소화할 수 있게 된다.
- A 클래스 : 네트워크 주소를 가지는 1개의 옥텟, 호스트 주소를 가지는 3개의 옥텟이 존재
28 (256) 개의 네트워크와 한 네트워크 당 224 (16,777,216)개의 호스트 주소 - B 클래스 : 네트워크 주소를 가지는 2개의 옥텟, 호스트 주소를 가지는 2개의 옥텟이 존재
216 (65,536) 개의 네트워크와 한 네트워크 당 216 (65,536)개의 호스트 주소 - C 클래스 : 네트워크 주소를 가지는 3개의 옥텟, 호스트 주소를 가지는 1개의 옥텟이 존재
224 (16,777,216) 개의 네트워크와 한 네트워크 당 28 (256)개의 호스트 주소
이런 클래스 기반 네트워크 분할 기법은 과거에 사용했던 개념으로 현재는 위에서 설명한 것처럼 클래스 기반으로 분할하지 않는다. 보다 더 세밀하게 분할하고 할당하기 위해 필요한 네트워크 크기에 맞춰 1비트 단위로 네트워크를 상세히 분할한다.
클래스리스
최근 인터넷 상용화로 인해 호스트 숫자가 폭발적으로 증가하면서 클래스 기반의 주소체계가 감당하기에는 부족했다.
그래서 클래스보다 더 IP 주소 부족과 낭비 문제를 해결하기 위해 나온 것이 클래스리스이다.
클래스리스에서 네트워크와 호스트 주소를 나누는 구분자를 사용해야 하는데 이를 서브넷 마스크라고 부른다.
서브넷 마스크는 2진수 숫자 1은 네트워크 주소, 0은 호스트 주소로 표현하는데 보통 우리가 편하게 받아들일 수 있는 10진수를 사용해 255.0.0.0, 255.255.0.0, 255.255.255.0와 같이 표현한다. 여기서 255는 네트워크 주소, 0은 호스트 주소이다.
만약 네트워크 주소가 8.0.0.0라고 하면
- 클래스 풀 = 호스트 주소 범위 : 8.0.0.0 ~ 8.255.255.255
- 클래스리스 = 서브넷 마스크 : 255.255.255.0 , 호스트 주소 범위 : 8.0.0.0 ~ 8.0.0.255
로 정리할 수 있다. 이와 같이 클래스리스는 클래스 풀보다 더 세분화하는 과정이라고 볼 수 있다.
서브네팅
원래 부여된 클래스의 기준을 무시하고 새로운 네트워크-호스트 구분 기준을 사용자가 정해 원래 클래스 풀 단위의 네트워크보다 더 쪼개 사용하는 것을 말한다.
이는 현대 클래스리스 네트워크의 가장 큰 특징이다. 보통 옥텟 단위로 구분하지만 실제로는 옥텟 단위보다 더 잘게 네트워크를 쪼개기 때문에 이해가 힘들 수 있다.
아래는 실무에서 서브네팅에 대해 고민하는 경우이다
- 네트워크 사용자 입장 : 네트워크에서 사용할 수 있는 IP 범위 파악, 기본 게이트웨이와 서브넷 마스크 설정 확인
- 네트워크 설계자 입장 : 네트워크 설계 시 네트워크 내에 필요한 단말을 고려한 네트워크 범위 설계
네트워크 사용자의 서브네팅
네트워크 사용자는 이미 설계되어있는 네트워크에서 사용할 수 있는 IP 주소 범위를 파악해야 하는데
만약 IP와 서브넷 마스크를 잘못 입력하면 통신에 문제가 생길 수 있다.
아래는 서브네팅하는 과정이다
- 서브넷 마스크를 2진수로 변환한다 ex) 255.255.255.192 ->.... 11000000
- 현재의 서브넷이 가질 수 있는 최대 IP 개수 크기를 파악한다. ex) 64
- 만약 최대 크기가 64 라면 64의 배수로 나열하여 기준이 되는 네트워크 주소를 파악한다. 첫 블록은 0부터 시작하며 각 네트워크의 마지막 주소가 브로드캐스트 주소가 된다
- IP주소 안에 호스트 주소가 속한 네트워크를 선택한다. ex) 128~191
- 필요한 주소를 정리한다.
ex)
네트워크주소 | x.x.x.128 |
브로드캐스트주소 | x.x.x.191 |
유효IP범위 | x.x.x.129~x.x.x.190 |
네트워크 설계자 입장
네트워크를 새로 구축하는 경우, 네트워크 사용자와 반대로 설계자는 서브넷 마스크가 지정되어 주어지는 것이 아니라 네트워크의 크기를 고민해 서브넷 마스크를 결정하고 설계에 반영해야 한다.
이때 고민해야 할 부분은 아래와 같다.
- 서브넷된 하나의 네트워크에 IP를 몇 개나 할당해야 하는가
- 그리고 서브넷된 네트워크가 몇 개나 필요한가
회사 네트워크 설계를 예로 들어보자. 회사에 총 12곳의 지사가 있고 각 지사에는 최대 12대의 IP가 필요한 PC와 복합기, IP 카메라가 운영될 예정이다. 현재 가진 네트워크는 103.9.32.0/24(C 클래스)이다.
- 서브넷 된 하나의 네트워크에 12개 IP를 할당해야 한다.
- 네트워크는 2진수의 배수로 커지므로 4, 8, 16, 32, 64... 단위로 할당할 수 있다. 12개 IP를 수용할 수 있는 가장 작은 네트워크는 16개이므로 16개짜리 네트워크를 할당한다.
여기서 네트워크 주소와 브로드캐스트 주소를 제외하면 14개의 IP를 사용 가능하다. - 16개짜리 네트워크 12개를 확보한다. 16의 배수를 0부터 나열해 네트워크 주소를 확인한다.
네트워크를 설계할 때 가능하면 사설 IP대역을 사용해 충분한 IP 대역을 사용하는 것이 좋다.
공인 IP는 인터넷에서 유일하게 사용되므로 가용 IP 수가 제한되고 할당받은 IP를 사용하지 않는 경우 회수해간다.
하지만 사설은 조직 내부에서만 사용하므로 제한 없이 큰 네트워크를 사용할 수 있다.
공인 IP와 사설 IP
인터넷에 접속하려면 IP 주소가 있어야 하고 이 IP는 전 세계에서 유일해야 하는 식별자이다. 이런 IP 주소를 공인 IP라고 한다. 하지만 개인적으로 네트워크 구성한다면 공인 IP 주소를 할당받지 않고도 네트워크를 구축할 수 있는데 이를 사설 IP라고 한다.
사설 IP는 인터넷에 직접 접속하지 못하지만 NAT(Network Address Translation)을 사용해 공인 IP로 변경한 후 인터넷 접속이 가능하다.
가정에서 많이 사용하는 공유기가 NAT 장비의 한 종류이다.
회사 내부에서 사설 네트워크를 구축할 때 NAT를 사용하여 인터넷에 연결하더라도 다른 사용자에게 할당된 IP를 사설 네트워크 주소로 사용하면 안 된다.
위처럼 20.0.0.0/24 네트워크를 사용하는 A 회사와 C회사는 실제론 다른 네트워크라 인터넷 구간을 거쳐 통신해야 하지만 같은 네트워크에 존재하는 것으로 인지하기 때문에 서로 통신하기 위해 브로드 캐스트를 하게 되므로 정상적인 통신이 불가하다.
사설 IP는 A클래스 1개, B클래스 16개, C클래스 256개를 사용할 수 있다. 규모가 큰 네트워크에서는 A클래스 10.0.0.0/8를 사용하고 규모가 작은 네트워크에서는 C클래스 192.168.x.0/24를 사용한다. 공유기의 기본 IP가 192.168.0.1인 이유이다.
'CS > 네트워크' 카테고리의 다른 글
ARP(Address Resolution Protocol) (0) | 2022.06.03 |
---|---|
TCP와 UDP (0) | 2022.06.03 |
MAC 주소란 (0) | 2022.06.02 |
유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트 (0) | 2022.06.01 |
네트워크 구성요소 (0) | 2022.05.26 |