[Network] IP, Router, Subnet mask 개념 정리

Update:     Updated:

카테고리:

태그:

5. IP 주소로의 여행

1. IP 주소 이야기 - 1탄

TCP/IP라는 프로토콜을 만들 때 이 포로토콜을 사용하는 모든 장비들을 구분해주기 위해서 만들어낸 것이 바로 IP 주소입니다.

이진수 8자리마다 점을 찍기 때문에 이들 8개를 묶어서 ‘옥텟(Octet)’이라고 부른다. 그래서 IP 주소는 총 4개의 옥텟으로 나뉜다.

2. 라우터에서 IP 주소 이해하기

라우터가 물론 IP의 라우팅만을 담당하는 건 아니다. 예를 들어 IPX(노벨 파일 서버), AppleTalk(매킨토시) 등 많은 프로토콜들의 라우팅을 할 수 있다.

시스코 2501의 경우 이더넷 인터페이스는 1개이고, 인터넷과 접속하기 위한 시리얼 인터페이스는 2개이다. (이더넷 인터페이스 : 내부 네트워크에 연결되는 라우터의 포트, 시리얼 인터페이스 : 인터넷쪽으로 연결되는 인터페이스)

위와 같은 가정에서 우리가 라우터에 부여해야 하는 IP 주소는 두 개가 된다. 하나는 이더넷 인터페이스에 부여할 주소이고, 다른 하나는 시리얼 인터페이스에 부여할 IP 주소이다.

이더넷용 인터페이스에 부여할 주소는 내부 PC용으로 부여받은 주소가 203.120.150.1 ~ 203.120.150.255 까지라면 라우터의 주소는 그 중 하나, 이럴 때는 보통 맨 앞의 번호를 쓴다. (제일 중요하기 때문) 그래서 라우터의 주소는 203.120.150.1이 된다.

시리얼 인터페이스에 부여할 주소는 마음대로 부여할 수 없다. 라우터가 접속하는 상대편(ISP 업체) 라우터의 시리얼 인터페이스와 IP 주소를 맞춰야 하기 때문이다. 일단은 내부용 IP 주소와는 다른 네트워크가 된다.

예를 들면, 상대편 라우터의 시리얼이 203.150.150.5에 서브넷 마스크가 255.255.255.252라면 우리 라우터의 시리얼은 203.150.150.6에 서브넷 마스크는 255.255.255.252가 된다.

📌내용 정리📌

  • 라우터에 배정해야 하는 IP 주소는 두개이다.
  • 하나는 이더넷 인터페이스, 다른 하나는 시리얼 인터페이스이다.

3. IP 주소 이야기 - 2탄

네트워크 부분(Network Part)과 호스트 부분(Host Part)이란 말이 무엇인지 알아보자.

우선, 한 브로드캐스트 영역 안에 있는 두 PC는 라우터 없이도 통신이 가능하지만 그렇지 않은 경우에는 라우터를 꼭 거쳐야 한다.

‘한 네트워크’란 용어의 정의는 하나의 브로드캐스트 영역이란 말인 동시에 라우터를 거치지 않고도 통신이 가능한 영역이라는 뜻이 된다.

호스트란 말은 주인이란 의미가 아니고 각각의 PC 또는 장비라고 생각하면 된다.

IP주소가 보기에는 그냥 점 3개로 나뉘어진 4자리 숫자 같지만, 사실 IP 주소 자체는 네트워크 부분과 호스트 부분으로 나누어져 있다.

따라서, 어떤 네트워크에서든지 ‘하나의 네트워크’에서는 네트워크 부분은 모두 같아야 하고 호스트 부분은 모두 달라야 정상적인 통신이 일어난다.

예를 들면, 한 PC방에서 쓰는 IP주소가 203.240.100.1 에서 203.240.100.255까지라면 이 중에서 203.240.100 부분은 네트워크 부분이다. 따라서 이 PC방에서 쓰는 모든 IP 주소 중 이 부분은 모두 동일해야 한다. 그렇지 않으면 통신이 불가능하다.

또 하나 호스트 부분은 맨 마지막 자리가 된다. 따라서 1에서 255가 바로 호스트 부분이 되는 것이다.

4. IP 주소 이야기 - 3탄

인터넷에서 사용하는 프로토콜이 TCP/IP이고, TCP/IP가 사용하는 주소가 바로 IP 주소이므로 꼭 이해하고 넘어가도록 하자.

네트워크 부분과 호스트 부분을 나누는 방법은 서로간의 약속이다. 그런 약속을 해놓은 것이 바로 IP 주소의 Class 이다. IP 주소는 5개의 Class로 구분이 된다.

IP 주소의 Class는 A부터 B, C, D, E로 구분된다. 클래스에 따라서 어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인지가 나뉜다.

IP주소를 Class로 나눈 이유는 네트워크의 크기에 따른 구분이다. 하나의 네트워크가 호스트의 수를 몇 개까지 가질 수 있는가에 따라서 클래스가 나뉜다.

클래스 A

클래스 A는 하나의 네트워크가 가질 수 있는 호스트 수가 가장 많은 클래스이다. 그래서 클래스 A는 32개의 이진수 중에서 맨 앞쪽 하나가 항상 0으로 시작되는 것들이다.

클래스 A의 가장 작은 수는 0.0.0.0이고 가장 큰 수는 127.255.255.255이다.

클래스 A의 경우는 앞의 8비트의가 네트워크 부분을 나타내고, 나머지 24비트가 호스트 부분을 나타낸다.

그래서 클래스 A는 가장 작은 네트워크 1.0.0.0에서 가장 큰 네트워크 127.0.0.0까지로 규정된다.

만약 InterNIC(공인 IP 주소를 분배 관리하는 곳)으로부터 클래스 A 주소로 13.0.0.0 네트워크를 받았다고 가정하면 사용할 수 있는 호스트의 개수는 2의 24승 - 2이다.

13.0.0.0은 네트워크 전체를 나타내고, 13.255.255.255는 브로드캐스트를 나타내기 때문에 호스트 주소로 사용하지 않는다.

클래스 B

클래스 B는 맨 앞이 반드시 10(이진수)으로 시작됩니다.

클래스 B에서 가장 작은 수는 128.0.0.0이고 가장 큰 수는 191.255.255.255가 된다.

클래스 B의 경우는 앞의 16비트가 네트워크 부분을 나타내고, 나머지 16비트가 호스트 부분을 나타낸다.

그래서 클래스 B는 가장 작은 네트워크 128.0.0.0에서 가장 큰 네트워크 191.255.0.0까지로 규정된다.

클래스 B가 가질 수 있는 호스트의 수는 2의 16승 - 2이다. 전체 네트워크와 브로드캐스트 제외

클래스 C

클래스 C는 맨 앞이 반드시 110(이진수)로 시작된다.

클래스 C의 가장 작은 수는 192.0.0.0이고 가장 큰 수는 223.255.255.255가 된다.

클래스 C의 경우는 앞의 24비트가 네트워크 부분을 나타내고, 나머지 8비트가 호스트 부분을 나타낸다.

그래서 클래스 C는 가장 작은 네트워크 192.0.0.0에서 가장 큰 네트워크 223.255.255.0까지로 규정된다.

클래스 C가 가질 수 있는 호스트의 수는 2의 8승 - 2이다. 전체 네트워크 및 브로드캐스트 제외

이렇게 클래스를 나눈 이유는 IP주소를 적정하고 효율적으로 배분하기 위한 것이다.

클래스 D

클래스 D는 멀티캐스트용으로 사용되는 주소이다.

클래스 E

클래스 E는 연구용으로 사용되는 주소이다.

📌내용 정리📌

  • 클래스 A : 1 ~ 126(127은 예비번호)
  • 클래스 B : 128 ~ 191
  • 클래스 C : 192 ~ 223
  • 클래스 D : 224 ~ 239(멀티캐스트용 주소)
  • 클래스 E : 240 ~ 255(연구용 주소)

5. IP 주소의 활용

네트워크가 서로 다른 두 장비 간의 통신은 라우터를 통해서만 가능하다.

TCP/IP 통신할 경우 라우터의 각 인터페이스 역시 IP 주소를 부여해 주는 것이 좋다. 라우터의 인터페이스에 IP 주소를 부여할 때는 그 인터페이스가 속한 네트워크의 주소를 부여해야 한다.

IP주소를 배정할 때는 그 네트워크에 몇 개의 호스트가 접속이 가능한지를 먼저 확인한 후에 배정하는 주소가 이 호스트를 포함할 수 있는지를 확인해야 한다.

기본 게이트웨이(Default Gateway)란, 말 그대로 ‘기본이 되는 문’이다. 즉 내부 네트워크에서는 라우터 없이도 통신이 가능하다. 내부 네트워크에서 없는 녀석을 찾을 때 밖으로 통해 있는 문이 된다. 따라서 이 문은 바로 라우터의 이더넷 인터페이스가 되는 것이다.

6. 서브넷 마스크(Subnet Maast)의 시작

서브넷 마스크를 이해하기 위해서는 아래의 내용에 대해서 이해를 해야 한다.

  • 첫번째, 이진수에 대한 이해
  • 두번째, 논리연산자 And에 대한 이해

서브넷 마스크란, 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크라고 생각하면 된다. 즉, 어떤 IP 주소를 배정받게 되면 보통은 이 주소를 그대로 사용하지 않는다.

예를 들어 클래스 B 주소를 받았는데 하나의 네트워크가 65,000여 개의 호스트를 가지는데, 이렇게 큰 네트워크를 구성했다가는 브로드캐스트의 영향이 너무 커서 아무것도 할 수 없다.

따라서 나눠써야 한다.

즉 부여받은 원래 상태의 IP 주소에 서브넷 마스크를 씌워서 네트워크를 나누어 주는 거다.

서브넷 마스크를 하게 되면 브로드캐스트 도메인을 더욱 작게 나눌수 있다. 또한, 각각의 서브넷 간의 통신은 라우터를 통해서만 가능하다. 즉 150.150.1.0 네트워크와 150.150.2.0 네트워크 간의 통신은 라우터를 통해서만 가능하다.

7. 서브넷 마스크에도 기본은 있다.

모든 IP 주소에는 서브넷 마스크가 따라다닌다. 예를 들어 클래스 C 주소를 전부 쓰더라도 서브넷 마스크는 따라다닌다. 즉 IP 주소를 나누어서 쓰기 위해서 사용하는 서브넷 마스크는 그 주소를 나누지 않더라도 항상 그 옆에 붙어다닌다는 것이다. 그래야 그 주소를 나눈 것인지 않은 것인지 알 수 있다.

예를 들어 210.100.100.1이란 클래스 C 주소가 있다. 그래서 이 주소를 가지고 254개의 호스트에 IP를 부여했다고 가정하자. 그럼 주어진 클래스 C를 하나도 가공하지 않고, 즉 쪼개지 않고 그대로 사용한 것이다.

그렇다고 서브넷 마스크를 쓰지 않는 것은 아니다. 디폴트 서브넷 마스크(Default Subnet Mast)는 항상 따라 다닌다.

클래스 C의 경우 디폴트 서브넷 마스크는 255.255.255.0이다.

클래스 B의 경우 255.255.0.0이고, 클래스 A는 255.0.0.0이다.

그러므로 주어진 네트워크를 하나도 나누지 않고 그대로 다 쓰는 경우는 디폴트 서브넷 마스크를 사용하면 된다. 하지만 주어진 네트워크를 나누어서 쓰는 경우에는 서브넷 마스크를 고쳐서 쓴다.

서브넷 마스크는 IP 주소를 가지고 어디 까지가 네트워크 부분이고, 또 어디까지가 호스트 부분인지를 나타내는 역할을 한다.

이때 네트워크는 서브넷 마스크가 이진수로 ‘1’인 부분이고, 호스트는 서브넷 마스크가 이진수로 ‘0’인 부분이다.

하나의 주소를 서브넷 마스크를 씌워서 작은 네트워크로 만드는 것은 ‘서브네팅’이라고 한다.

8. 서브넷 마스크의 기본 성질

서브넷 마스크는 다음과 같은 기본 성질을 가지고 있다.

서브넷 마스크로 만들어진 네트워크, 즉 서브넷은 이제 하나의 네트워크이기 때문에 서로 나뉜 서브넷끼리는 라우터를 통해서만 통신이 가능하다.

예를 들어, 150.100.0.0이란 클래스 B 네트워크가 있다. 여기서 150.100.100.1과 150.100.200.1은 라우터를 거치지 않고 통신이 가능하다.

150.100.100.1과 150.100.200.1은 같은 네트워크에 살고 있는, 즉 하나의 브로드캐스트 도메인에 있는 PC들이고 당연히 라우터 없이도 통신이 가능하다.

하지만 여기서 이 주소를 255.255.255.0이란 서브넷 마스크를 사용해서 서브네팅한다고 가정하면 네트워크 부분은 150.100.100과 150.100.200으로 나뉘기 때문에 서로 다른 네트워크가 된다.

따라서 이 두 IP는 이제는 라우터를 거쳐야 통신이 가능하게 된다. 즉, 서로 다른 브로드캐스트 도메인에 존재한다.

또 하나의 성질은 서브넷 마스크는 이진수로 썼을 때 ‘1’이 연속적으로 나와야 한다.

에를 들어 255.255.255.10 이란 서브넷 마스크는 사용할 수 없다.

9. 서브넷 마스크, 그 속으로…

문제 : 공인 IP 주소를 210.100.1.0(서브넷 마스크 255.255.255.0) 네트워크를 받았다. 그런데 네트워크 관리자는 이 공인 주소를 이용해서 PC가 30대인 네트워크를 최소 4개 이상 만든 후 이들 네트워크를 라우터를 이용해서 서로 통신하게 하려고 한다. 이 경우 서브넷 마스크를 만든다면 어떻게 해야 할까여?

이 주소로 네트워크를 최소 4개를 만들려면 지금 주어진 디폴트 서브넷 마스클르 변경해야 한다. 이때 중요하게 봐야 할 것은 한 네트워크가 포함되는 PC의 개수이다.

호스트 부분이 모두 ‘0’이거나 ‘1’인 경우는 전체 네트워크와 브로드캐스트 주소이므로 사용할 수 없다.

즉 사용 가능한 호스트의 수는 2의 (호스트 비트 수) 승 - 2이다.

호스트 수 30대가 되기 위해서는 호스트 자릿수는 이진수로 5개가 된다. 즉, 210.100.1.0 중에서 맨 마지막 부분만은 이진수로 바꾸어 보면 210.100.1.0000 0000이 된다.

호스트 자릿수는 이진수로 5개 이므로, 255.255.255.1110 0000이 되고 10진수로 바꾸면 255.255.255.224가 된다.

따라서 최소 4개 이상의 서브넷을 만들려면 255,255,255,224를 사용해야 한다.

10. 서브넷 마스크에 대한 시험

11. IP와 서브넷에 대한 정리

IP 주소는 클래스로 나뉜다.

클래스 A는 이진수로 보았을 때, 맨 앞자리가 0으로 시작한다.

형식은 0nnn nnnn.hhhh hhhh.hhhh hhhh.hhhh hhhh이고 서브넷 마스크는 255.0.0.0이 된다.

클래스 B는 이진수로 보았을 때, 맨 앞자리가 10으로 시작한다.

형식은 10nn nnnn.nnnn nnnn.hhhh hhhh.hhhh hhhh이고 서브넷 마스크는 255.255.0.0이 된다.

클래스 C는 이진수로 보았을 때, 맨 앞자리가 110으로 시작한다.

형식은 110n nnnn.nnnn nnnn.nnnn nnnn.hhhh hhhh이다. 서브넷 마스크는 255.255.255.0이 된다.

서브넷을 만드는 목적은 IP 주소를 보다 효율적으로 낭비없이 쓰기 위함과 적정한 주소 배정을 위함이다.

서브넷을 만들 때 사용하는 마스크를 서브넷 마스크라고 한다. 서브넷을 나눌 때 기억해야 하는 것은 1이면 네트워크 부분, 0이면 호스트 부분이 된다.


🐢 현재 공부하고 있는 후니의 쉽게 쓴 CISCO 네트워킹 - 진강훙 저자 의 책을 학습하며 기록 및 정리를 하기위한 내용들입니다. 🐢

감사합니다.😊

Network 카테고리 내 다른 글 보러가기

댓글남기기