왜 서브넷 마스크가 필요합니까?


37

IPv4 주소는 이미 네트워크 및 호스트 정보를 제공하므로 왜 서브넷 마스크가 필요한가요?

1st Octet은 이미 네트워크 클래스 (1-127 : A, 128-191 : B, 192-223 : C 등)를 지정합니다. A, B 또는 C는 네트워크의 옥텟 수 (각각 255.0.0.0, 255.255.0.0, 255.255.255.0)를 나타내며 각 네트워크 클래스에 허용되는 호스트 수를 자동으로 알려줍니다.

IP는 서브넷 마스크에있는 모든 정보 등을 제공합니다. 왜 먼저 서브넷 마스크가 필요합니까? 서브넷에 포함 된 정보가 IP 내부에있는 정보의 일부가 아닌 경우, 그에 포함 된 정보 또는 서브넷의 기타 정보에는 독립적으로 지정해야합니까?


21
클래스 A, B, C는 1980 년대에 오래 죽었습니다. 주소 소진이 시작되면서 많은 할당 된 클래스 A 및 B 공간이 보유자에게 완전히 낭비되므로 CIDR 및 전체 주소 공간 전체에 걸쳐 작고 사용 가능한 주소 블록이 할당되었습니다.
Fiasco Labs

2
@FiascoLabs 그의 질문에 대답하지 않습니다. 라우터가 여전히 해당 서브넷 마스크를 사용 했습니까? 예 (클래스 풀이 더 이상 없을 경우), 서브넷 마스크는 주소에서 계산할 수 있습니다. 그러나 a) 원하는 비트 수를 이미 알고 있다면 논리 AND가있는 서브넷 마스크를 사용해야하며 그 이유는 무엇입니까? CPU 작업이 바이트의 x 비트를 테스트 할 수 없기 때문에 다른 작업은 제로화하고 EQU 연산자를 적용해야합니다.
barlop

8
내가 작업 한 라우터는 클래스 A, B 또는 C의 첫 번째 옥텟이 아무 의미가 없다고 가정하지 않습니다. 라우터에 넷과 브로드 캐스트가있는 주소를 알리기 위해 항상 넷 마스크 또는 CIDR을 설정해야했습니다. 물론 클래스 주소 할당에는 정말 쉬운 넷 마스크 (255.0.0.0, 255.255.0.0 및 255.255.255.0)가 있으므로 서브넷 마스크를 사용해야합니다.
Fiasco Labs

VLSM-가변 길이 sumbet 마스크, 원하는만큼 크거나 작은 네트워크 또는 브로드 캐스트 도메인을 만들 수 있습니다!
Mark S.

3
수업 시간에도 많은 다른 소규모 네트워크로 큰 네트워크 서브넷을 가질 수 있습니다. 대규모 대학교의 워크 스테이션은 여전히 ​​클래스 A 네트워크에 주소를 가지고 있지만 전체 클래스 A의 서브넷의 서브넷 서브넷 일 수 있습니다. 따라서 자연스럽게 라우터는 가정을하지 않았습니다.
Alexios

답변:


38

주소는 네트워크 크기에 대한 정보를 제공하지 않으므로 IPv4 주소에 대한 서브넷 마스크가 필요합니다. 클래스 크기는 네트워크 크기가 아닙니다. 실제 네트워크에서 모든 IPv4 네트워크는 클래스 크기보다 작은 서브넷 으로 나뉩니다 .

예를 들어 클래스 C 네트워크 200.200.200.0/255.255.255.0을 126 개 이상의 호스트가 필요하지 않다고 가정하면 200.200.200.0/255.255.255.128 및 200.200.200.128/255.255.255.128의 두 개의 작은 네트워크 (잠재적으로 별도 위치에 있음)로 나눌 수 있습니다. 실제로 대부분의 회사는 공용 인터넷에 있어야하는 서버에 충분한 IPv4 주소 만 얻습니다. 개인적으로 32,16 및 8 개의 주소 네트워크 (각각 255.255.255.224, 255.255.255.240 및 255.255.255.248의 마스크)가있는 설정을 보았습니다.

클래스 크기 블록에만 IP 네트워크를 갖는 것은 허용되는 네트워크의 수를 제한하는 데 너무 제한적이었습니다. 127 클래스 A 네트워크는 공간의 절반을 차지합니다. 24 억 개의 노드 네트워크를 갖는 것은 완전히 관리가 불가능하다는 점은 말할 것도없고 1993 년에 CIDR (Classless Inter-Domain Routing) 이 도입되어 네트워크를 분할 할 수있었습니다.

또한 서브넷 마스크의 목적은 로컬 네트워크에있는 호스트와 네트워크 외부에있는 호스트를 확인하는 것입니다. 호스트는 동일한 네트워크의 호스트와 직접 통신 할 수 있지만 외부 네트워크의 호스트 와 통신하려면 라우터 와 통신해야합니다 .


CIDR을 사용할 때 네트워크 주소 지정에 사용되는 비트 수와 호스트 주소에 대한 나머지 비트에 접두사를 첨부합니다. 예를 들어, 200.200.200.0/27은 호스트 주소가 63 이하이어야 함을 자동으로 암시합니다. 다시 말하지만, IP는 여전히이 정보를 알려줍니다. 따라서 제 질문은 계속됩니다.
KMC

모든 것이 언급되고 완료되었을 때 여전히 주소와 넷 마스크이며 기본 하드웨어가 넷 블록을 계산하는 데 사용하는 것입니까?
Fiasco Labs

IP에는 여전히 서브넷 마스크에 필요한 모든 정보가 포함되어 있기 때문에 내 질문은 지속됩니다. 여전히 서브넷 마스크가 존재하는 이유는 없습니다.
KMC

1
@ KMC : CIDR 접두사는 서브넷 마스크 및 소프트웨어와 비교할만한 의견을 얻지 못하기 때문에 맛의 문제로 접두사 또는 마스크를 사용하는 경우가 많습니다.
Legolas

20
@KMC : /27 방금 다른 표기법으로 작성된 서브넷 마스크입니다.
Heinzi

20

1st Octet은 이미 네트워크 클래스 (1-127 : A, 128-191 : B, 192-223 : C 등)를 지정합니다. A, B 또는 C는 네트워크의 옥텟 수 (각각 255.0.0.0, 255.255.0.0, 255.255.255.0)를 나타내며 각 네트워크 클래스에 허용되는 호스트 수를 자동으로 알려줍니다.

그렇습니다. 그러나 누군가가 해당 네트워크를 서브넷에 연결했다면 서브넷의 크기를 알기 위해 서브넷 마스크가 필요합니다. 호스트가 동일한 네트워크에 있지만 서브넷 마스크없이 해당 네트워크가 서브넷에 있으면 다른 노드가 같은 서브넷에 있는지 어떻게 알 수 있습니까?

이더넷 네트워크에 있다고 가정하십시오. 우리는 서브넷과 함께 클래스 주소 지정을 사용합니다. 당신의 IP 주소는 1.2.3.4당신이 도달하려는 1.3.1.1. ARP를 사용하여 해당 주소에 도달합니까? 음, 여부에 따라 달라집니다 1.2.3.41.3.1.1같은에 서브넷 . 동일한 네트워크에 있더라도 다른 서브넷에 있으면 라우터를 사용해야합니다. 동일한 서브넷에있는 경우 ARP를 사용해야합니다.

따라서 고급 네트워크에서도 서브넷을 사용하는 경우 서브넷 마스크가 필요합니다.

실제로 서브넷을 CIDR과 혼동하고 있다고 생각합니다. CIDR이 없으면 서브넷을 사용하더라도 관리 영역간에 서브넷 마스크가 필요하지 않습니다. 그러나 여전히 네트워크 내부에 필요합니다!


6

서브넷 마스크는 네트워크 주소와 함께 IP 주소에서 비트 단위 작업을 수행하는 데 사용됩니다. 내 메모리가 잘 작동하면 IP 주소를 가져 와서 주어진 네트워크에 대한 서브넷 마스크와 서브넷 마스크를 조금 현명하게 수행하십시오. 결과가 네트워크 주소와 같으면 IP 주소가 해당 특정 네트워크에 있습니다. 네트워크 주소 및 서브넷 마스크의 라우팅 테이블이있는 라우터는 간단한 이진 수학 (컴퓨터가 처리하는 속도가 가장 빠르지는 않지만 매우 빠름)을 사용하여 패킷을 제거 할 인터페이스를 찾을 수 있습니다.


3

"1st Octet은 이미 네트워크 클래스 (1-127 : A, 128-191 : B, 192-223 : C 등)를 지정했습니다."

오늘날 이것을 더 이상 사용하는 일반적인 프로토콜은 많지 않습니다 (@Fiasco Labs 의견 참조-RIP는 내가 생각할 수있는 유일한 프로토콜입니다). 따라서 귀하의 질문 에이 진술 :

IP는 서브넷 마스크에있는 모든 정보 등을 제공합니다.

오늘날 인터넷에서 사용되는 대부분의 프로토콜에는 해당되지 않습니다.

서로 연결되어 있고 라우터가 없어도 서로 통신하는 여러 컴퓨터가있는 경우 서브넷 마스크는 실제로 필요하지 않습니다 (현대 TCP / IP 스택에서는 하나를 지정해야 함).

라우터는 (하위) 네트워크의 에지를 정의합니다. 라우터를 통과해야하는 것은 다른 네트워크에 있으며 그 반대도 마찬가지입니다. 다른 네트워크로 이동해야하는 것은 라우터를 거쳐야합니다.

서브넷 마스크는 모든 시스템이 트래픽이 현재 네트워크에 대한 것인지 또는 목적지에 도착하기 위해 라우터로 보내 져야하는지 여부를 알려주는 방법입니다. 컴퓨터의 TCP / IP 스택은 서브넷 마스크 내에있는 경우 트래픽을 대상으로 직접 전송합니다. 그렇지 않으면 라우팅 테이블을 참조하며 일반적인 상황은 다른 트래픽을 기본 게이트웨이로 전송하는 것입니다.


3

1st Octet은 이미 네트워크 클래스 (1-127 : A, 128-191 : B, 192-223 : C 등)를 지정합니다. A, B 또는 C는 네트워크의 옥텟 수 (각각 255.0.0.0, 255.255.0.0, 255.255.255.0)를 나타내며 각 네트워크 클래스에 허용되는 호스트 수를 자동으로 알려줍니다.

이것은 역사적으로 사실 이었지만. 이것은 몇 년 동안 사실이 아니었다. 여러 해 전에 24.0.0.0/8이 여러 ISP에 조각으로 제공되었습니다. (이것은 대부분 케이블 제공 업체에 있다고 생각합니다.)

네트워크 할당이 맞더라도 내부 네트워크가 라우팅을 단순화하기 위해 넷 마스크가 필요했습니다. 10.0.0.0/8과 같은 네트워크를 효율적으로 라우팅하려면 소규모 네트워크로 세분화해야합니다. 이것은 / 16 및 / 8 하위 분할을 사용하는 간단한 체계 일 수 있지만 클래스가없는 하위 분할 일 가능성이 높습니다. 서브넷이 클수록 주소 공간을보다 효율적으로 사용할 수 있습니다 (/ 24의 99 % 이상이 장치에 사용 가능하고 / 30의 50 % 만 사용 가능).

로컬 네트워크는 장치에서 직접 라우팅되고 다른 주소는 라우터를 통해 전달됩니다. 인터페이스가 여러 개인 호스트는 다른 크기의 네트워크에 연결될 수 있습니다.

멀티 홈 호스트가없는 서브넷의 경우 / 24에는 필요한 것보다 많은 주소가 포함됩니다. 내가 작업 한 대부분의 라우터에는 24, 48 또는 96 포트가 있으며 / 27, / 26 또는 / 25 서브넷으로 지원 될 수 있습니다. 이를 통해 DCHP 및 / 또는 멀티 홈을위한 추가 주소가 허용됩니다. 조직은 라우팅을 위해 / 24 또는 / 23의 서브넷을 할당하도록 표준화 할 수 있습니다.

IPv4 주소는 이미 네트워크 및 호스트 정보를 제공하기 때문에 왜 서브넷 마스크가 필요한가?

많은 장치가 기본 넷 마스크 / 24를 사용하는데,이 경우 대부분 라우터에 할당 된 로컬 서브넷 (로컬 넷)의 크기와 일치합니다. 이는 클래스 A, B 및 C에 동일하게 적용됩니다. 서브넷 크기가 기본 서브넷과 일치하지 않으면 넷 마스크가 필요합니다.

CIDR 형식을 사용하여 주소를 지정하면 주소에서 넷 마스크와 네트워크를 계산할 수 있습니다. 그렇지 않으면 주소와 넷 마스크에서 네트워크를 계산할 수 있습니다. 주소와 네트워크에서 넷 마스크를 안정적으로 계산할 수 없습니다.

서브넷에 게이트웨이 (라우터) 주소를 제공하면 서브넷 외부의 주소로 라우팅 할 수 있도록 기본 경로를 구성 할 수 있습니다.


2

@Adrian의 대답을 제외하고는 실제로 우리가 왜 우리가 해결책을 이해하기 위해 더 간단한 대신 마스크를 사용하는지에 대해 실제로 확신하지 못합니다. 그는 마스킹이 빠름이라는 사실에 대해서만 언급했습니다. 주소 192.168.1.200-192.168.1.220에 관심이 있거나 * .my.address.com과 같은 이름을 사용하여 숫자를 할당하는 대신 각 컴퓨터의 이름을 지정하지 않는 이유는 무엇입니까?

실제로 라우팅에서 숫자를 완전히 제거 할 수 있지만 대부분의 PC는 전송되는 트래픽 종류를 처리 할 수 ​​있지만 더 큰 규모의 장치에는 여전히 문제가 있습니다.

이와 같은 필터링은 항상 일어나고 있으며 많은 일이 일어나고 있습니다. 마스킹은 하드웨어에서 수행 할 수있어, 흥미롭지 않은 패킷에 대한 시간 낭비를 완전히 제거 할 수 있습니다 (이전에 와이어를 통과 한 패킷의 99 %가 되었음) 기계 관련 문제를 해결하여 관련성이 떨어짐).

하드웨어에서 매우 쉬운 솔루션의 경우 매우 유연합니다. 동일한 하드웨어가 전체 클래스 A 네트워크 (10.xxx) 또는 동일한 구현으로 하나 또는 두 개의 IP 주소를 라우팅 할 수 있습니다.

이것은 다른 답변을 대체하는 것이 아니라 조금 더 많은 정보입니다.


"* .my.address.com과 같은 이름을 사용하여 각 컴퓨터의 이름을 지정하지 않는 이유는 무엇입니까?"-DNS와 같은 의미입니까?
Piskvor 2019

@Piskvor 정확히! DNS가 IP 주소로 확인되면 DNS를 직접 사용할 수 있지만 사용 된 처리 능력은 올라갑니다. * .meh.com이 다른 주소로가는 것을 제외하고 * .meh.com이 하나의 주소로 가도록 도메인을 세분화 할 수도 있습니다.
Bill K

그것은 그렇습니다. 즉, 그것이 작동 할 때 (추가 복잡성); 또한 DNS 서버의 위치를 ​​알아야합니다. 닭과 계란 문제.
Piskvor

@Piskvor 나는 단지 성능을 제외하고는 잘 작동 할 수있는 다른 가능성이 있다는 것을 말하고 있습니다. (다른 주소 지정 체계로 전환하면 DNS 서버의 문제가 실제로 다를 것이라고 생각하십니까?)
Bill K

아니요, 문제는 실제로 지속될 것입니다. (그리고 btw, 간단한 네트워킹 스택에 대한 추진력은 사라지지 않습니다. 반대로 "사물 인터넷"과 함께 점점 더 강해지고 있습니다. 단순함 은 더 적은 전력과 더 긴 배터리 수명을 의미합니다)
Piskvor

1

다른 답변에는 이미 많은 것이 설명되어 있지만 주요 내용은 아닙니다.

IP 주소가 이미 수신자의 전체 주소를 제공 할 수 있는지, 서브넷 마스크가 존재하는 이유를 알고 싶습니다. 대규모 조직의 경우 부서마다 별도의 네트워크가 필요하기 때문에 회계사가 다른 서브넷에 있고 마케팅 부서의 내부 IP 주소에 액세스 할 수없는 등의 경우가 있습니다. 예를 들어 IP가 192.168.10.3 인 직원은 다른 서브넷에 있기 때문에 192.168.15.76에서 프린터에 액세스 할 수 없습니다.


1

현재까지 서브넷 (CIDR이 아닌)이 여전히 사용중인 이유에 대해서는 아직 답이 없습니다. 서브넷 마스크에는 두 가지 문제가 있습니다.

  1. 비 연속 마스크를 지정할 수 있으며 이는 유효하지 않습니다.
  2. (CIDR에도 적용됨) 가능한 중복이 발생합니다. ISP는 다른 서브넷의 일부와 동일한 IP 주소를 제공 할 수 있습니다. 예 :

    고객 A : 22.132.124.121 서브넷 마스크 255.255.255.0
    고객 B : 22.132.114.55 서브넷 마스크 255.255.0.0

눈에 띄게 즉시 보이지 않습니다.

https://blog.certskills.com/ccent/vlsmo_01_01/


0

일반적으로 서브넷 마스크는 아래의 서브 네트워크에 대한 표시기 역할을합니다. 일반적으로 네트워크에는 여러 개의 서브넷이 포함되어 있으며 서브넷 마스크는 라우터가 사용하는 방식으로, 트래픽을 특정 대상 (서브넷 마스크를 사용하는 모든 서브넷)에 전달하기 위해이 링크 에는 서브넷 마스크에 대한 소개가 포함되어 있습니다.


1
링크에서 중요한 정보를 여기에 추가하고 링크를 소스로 추가하십시오.
avirk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.