서브넷 마스크
192.168.32.0/24는 원래 하나의 네트워크였다. 이때 할당 가능한 host의 수는 2^8-2=254개이다. 여기서 2개를 빼는 이유는 첫 번째 주소인 192.168.32.0은 Network Address로 쓰이고 마지막 주소인 192.168.32.255는 Broadcast로 쓰이기 때문에 호스트에 할당할 수 없기 때문이다.
이때 서브넷 마스크의 bit 수를 1 증가시켜서(서브넷팅) 192.168.32.0/25로 변경하게 되면 Network ID부분을 나타내는 부분이 24비트에서 25비트로 증가하고 Host ID를 나타내는 부분이 8개 비트에서 7개 비트로 줄어든다. 즉 할당 가능한 네트워크 수가 2개로 증가하고 각 네트워크(서브넷) 당 할당가능한 호스트수는 2^7-2 = 126개로 줄어든다. 또한 서브넷 마스크가 255.255.255.128로 변한 것을 확인할 수 있다.
!https://blog.kakaocdn.net/dn/wftMP/btsp0CGl7fc/FWp6FlaWlKcvkkx9KKhHqK/img.png
서브넷의 구성
위 그림을 보면 네트워크의 수가 어떻게 2개로 늘어났는지 이해하기 쉬울 것이다.
정리하자면 다음과 같다.
- 192.168.32.0 : 서브넷1의 Network Address
- 192.168.32.1~192.168.32.126 : 서브넷 1의 host 할당 가능한 부분
- 192.168.32.127 : 서브넷 1의 Broadcast Address
- 192.168.32.128 : 서브넷 2의 NetworkAddress
- 192.168.32.129~192.168.32.254 : 서브넷 2의 host 할당 가능한 부분
- 192.168.32.255 : 서브넷 2의 Broadcast Address
C클래스를 예시로 들었지만 A, B 클래스도 똑같은 방식을 적용하면 된다.
(계산)
IPv4 Address example
192.168.1.0
Octat Chart
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
Binary Number
192 = 128+64+0+0+0+0+0+0 = 11000000 168 = 128+0+32+0+8+0+0+0 = 10101000 1 = 0+0+0+0+0+0+0+1 = 00000001 0 = 0+0+0+0+0+0+0+0 = 00000000
Result
192.168.1.0 == 11000000.101010000.00000001.00000000
서브넷 관련 CCNA 문제
CCNA는 Cisco라는 세계 최대의 네트워크 장비 업체가 운영하는 자격시험이다. 여기서 출제된 서브넷 관련 문제를 풀어보고 이해도를 높여보자.
1. IP주소 192.168.44.97/30이 속해있는 서브넷 ID는 어떤 것인가?
- 서브넷팅된 IP주소가 속해있는 서브넷 ID를 알아내기 가장 쉬운 방법은 IP주소와 서브넷ID를 2진수로 변환하고 AND연산 하는 것이다. C클래스의 네트워크 ID부분은 모두 1이므로 생략하고, 마지막 옥텟의 부분(97)에만 주목하자. 01100001 & 11110000 = 01100000 이므로 정답은 192.168.44.96이 된다.
- 2. IP주소 172.31.77.201/27이 속해있는 서브넷의 서브넷 브로드캐스트 어드레스는 무엇인가?
- 서브넷 마스크는 2진수로 11111111.11111111.11111111.11100000 즉 255.255.255.224이다. IP와 서브넷 마스크를 AND연산 해주면 서브넷 ID가 나온다. 11001001 & 11100000 = 11000000 즉 해당 IP의 서브넷ID는 172.31.77.192이다. 호스트ID 부분이 5비트(31)이므로 더해주면 브로드캐스트 주소는 172.31.77.223이 된다.
(IP = 네트워크 + 호스트)
하나의 IP는 네트워크 부분 + 호스트 부분으로 구성되어 있습니다. 예를 들어 192.168.0.3 과 192.168.0.4 를 보면 192.168.0 은 네트워크 영역이고 3과 4는 호스트 IP입니다. 이를 해석하면 192.168.0 이라는 네트워크 영역에서 서로 통신할 수 있는 3과 4가 존재한다고 보면 됩니다.
자원을 효율적으로 분배한다는 것은 네트워크 영역과 호스트 영역을 분할 하는 것이라고 생각하면 됩니다."
서브넷 마스크는 필요한 네트워크 주소만 호스트 IP로 할당 할 수 있게 만들어 네트워크 낭비를 방지합니다.
라우터와 네트워크장비 없이 통신할 수 있는 영역을 우리는 브로드캐스트 도메인
IP는 32자리 2진수로 표현할 수 있다고 했는데, 서브넷마스크 또한, IP와 크기만큼 32자리 2진수로 표현합니다.
서브넷 마스크는 IP 주소와 같은 길이의 비트로 구성되며, 이진수(Binary)로 표현했을 때 네트워크 포션은 1로, 호스트 포션은 0으로 설정됩니다.
3.1 클래스풀 서브넷팅(Classfull subnetting) 클래스풀 서브넷팅은 이전에 사용되던 방식으로, IP 주소를 기본 클래스에 따라 미리 정의된 서브넷으로 나누는 방법입니다. 예를 들어, Class A,B,C 주소 클래스에는 각각 기본 서브넷 마스크가 할당되어 있으며, 네트워크 크기가 일정하게 결정됩니다.
Class C 주소는 첫 번째 3개 옥텟을 네트워크 ID로 사용하는 식입니다.
C클래스를 그대로 사용한다는 것은 C클래스 네트워크를 쪼개지 않고 그대로 하나의 네트워크에 할당할 수 있는 2^8-2개의 호스트 IP를 사용하겠다는 뜻이고 255.255.255.0 이 기본 서브넷 마스크가 됩니다. 또한, 192.0.0 ~ 223.255.255 까지의 네트워크가 곧 서브넷 네트워크가 됩니다.
3.2 클래스리스 인터넷 도메인 라우팅(CIDR) 클래스별 할당 방식은 네트워크 크기를 미리 정의하기 때문에 클래스 간의 호환성이 없어 낭비되는 IP주소가 발생할 수 있습니다.
반면, CIDR은 보다 유연한 방식으로, IP 주소를 임의 길이의 서브넷 마스크를 사용하여 나누는 방법입니다. 필요에 따라 더 작은 서브넷을 생성하거나 더 큰 주소 공간을 할당할 수 있습니다. CIDR은 IP 주소 뒤에 슬래시와 함께 비트 수를 표기하여 네트워크의 크기를 나타냅니다.
(클래스풀) • 0.0.0.0 ~ 127.255.255.255 : 클래스 A의 주소 대역 • 128.0.0.0 ~ 191.255.255.255 : 클래스 B의 주소 대역 • 192.0.0.0 ~ 223.255.255.255 : 클래스 C의 주소 대역
(네트워크, 브로드캐스팅 주소)
네트워크 ID는 네트워크 장비마다 다르지만 관리자가 설정을 통해 host에 할당이 가능하지만 브로드캐스트주소는 같은 IP주소의 대역( 10.0.0.0 ~ 10.255.255.255)범위에 전체 송수신을 할 때 사용된다
따라서 192.168.0.0/24는 192.168.0.0부터 192.168.0.255 까지의 IP 주소 범위를 나타냅니다. 여기서 네트워크 ID와 브로드캐스트 주소를 제외하고 실제로 호스트에 할당할 수 있는 IP 주소의 범위는 192.168.0.1 ~ 192.168.0.254가 됩니다.
(브로드캐스트의 범위가 너무 넓으면 브로드캐스트때문에 전체적인 네트워크 성능이 저하될 수 있다
반대로 너무 브로드 캐스트를 쪼개놔도 컬리전 도메인이 너무 많이 생겨 적당한 브로드캐스트 범위를 유지하는 것이 좋다 )
서브넷을 사용하면 효율적인 관리가 가능하다
- 회사기준으로 같은 부서끼리 IP를 할당하거나 비슷한 일을 하는 사람 끼리 IP할당을 하여 라우터를 거치지 않고 프린터서버나 파일서버를 이용한다던가 하여 네트워크를 효율적으로 관리가 가능하다
- 라우터는 다른 대역의 네트워크로 가기 위한 장비이다
- 기본적으로 네트워크 설계를 할 경우 네트워크 자원을 효율적으로 사용하기 위해 비슷한 것 끼리 묶어놓는다(가능하면)
네트워크의 트래픽 흐름을 보면
빗물( 사용자 )이 모여 시냇물 ( L2스위치 , 허브 )이 되고 이것들이 모이면 강물이 (L3스위치, 라우터)되고 강물은 바닷물로(L4장비) 흘러간다 (L2,L3,L4는 각각 레이어2계층 ,3계층 4계층 장비를 의미한다)
간단하게 비유한것인데 빗물은 조금이지만 바다로 갈 수록 물의 양이 많아진다
바닷물에 해당하는 (L4)는 많은 트래픽(물)이 모이면 L4장비에 부담이 되고 많은 데이터를 처리해야 되기 떄문에 네트워크의 전체적인 성능저하가 있을 수 있다
바닷물이나 강물에 모이기 전에 프린트서버나 파일서버같은것을 시냇물에 놓고
그 프린트나 파일서버를 이용하는 비슷한 사용자 끼리 묶어 놓으면(같은 IP대역)
강물이나 바닷물에 가기전에 처리가 되어 L3,이나 L4장비의 부담이 적어진다
서브넷을 한 주소를 크게 합치는 경우를 슈퍼넷(supernet) 이다
만약 10.0.0.0 /24의 IP가 부족하다면
10.0.0.0/23 , 10.0.0.0 255.255.254.0 으로 슈퍼넷팅하면 된다
호스트는 같은 네트워크 안에서 서로를 구분하기 위한 것 이다
집주소에 비유하자면
A(동,읍,면) 이 서브넷 B아파트(상세주소) 이 호스트이다
서브넷이 다르면 호스트주소가 같아도 구분이 되지만
서브넷도 똑같은데 호스트주소가 같은경우 IP충돌이 일어나 데이터 수신이 불가능해진다
OSI 7 Layer중 전송(Transport) 계층에 해당하는 기기로 서로 다른 프로토콜끼리도 네트워크 통신이 가능하도록 연결해주는 기기이다.[1] 대표적인 예로서 이동통신 장비와 인터넷 간의 게이트웨이[2]가 있다. 게이트웨이가 있어서 우리가 스마트폰으로 PC와 같이 인터넷을 할 수 있는 것이다.
게이트웨이가 해주는 역할을 비유하자면 다음과 같다. NAMU 택배회사(게이트웨이)는 편지 혹은 택배(패킷)에 대해 다음의 서비스를 제공한다. 택배를 대신보내주거나 대신 받아준다. 주소를 지역에 맞는 언어로 번역해준다. (전화번호, IMSI 등의 식별자를 인터넷 주소인 IP address로 변환 혹은 그 반대) 편지의 크기가 해당 지역의 표준 규격에 맞지 않으면 해당 지역의 표준 용지에 그대로 베껴서 전달해 준다.