IP 주소가 172.18.0.150/24로 표시되는 이유는 무엇입니까?

IP 주소가 172.18.0.150/24로 표시되는 이유는 무엇입니까?

IP 주소가 172.18.0.150/24라는 표기로 표시되는 이유는 무엇입니까? 내 말은 IP가 172.18.0.150인데 왜 /24가 있는 거죠? 그러면 어떤 서브넷이 있는지는 다른 사람이 걱정해야 하는 것 아닌가요?

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f8:b1:56:ba:ae:ee brd ff:ff:ff:ff:ff:ff
inet 172.18.0.150/24 brd 172.18.0.255 scope global eth0

다른 컴퓨터의 일부 인터페이스(ethX)에서 172.18.0.150에 연결하려면 해당 컴퓨터의 라우팅 테이블에 추가할 수 있습니다.

IP 경로 추가 172.18.0.150/25 dev ethX
또는
IP 경로 추가 172.18.0.150/24 dev ethX
또는
IP 경로 추가 172.18.0.150/23 dev ethX
또는
IP 경로 추가 172.18.0.150/8 dev ethX

오른쪽? 그렇다면 /24는 내 NIC의 주소와 실제로 어떤 관련이 있습니까? 라우팅에만 관련된 것 같은데요, 그렇죠? 그렇다면 왜 IP 주소에 나열합니까?

172.18.0.150/24는 172.18.0.150/8과 동일한 "net"에 있습니까? 아니면 이 두 개의 완전히 다른 IP 주소입니까?

답변1

일부 IP 주소 기본 사항

IP 주소는 내부적으로 32비트 값으로 표시됩니다. 최상위 N 비트는 네트워크를 식별하고 나머지 숫자는 네트워크의 호스트를 식별합니다.

두 가지 IP 예를 살펴보겠습니다. 먼저 32비트를 살펴보겠습니다.

10101100000100100000000010010110
10101100000100100000000110010110

IP를 8비트 그룹(바이트)으로 분할하고 각 바이너리를 10진수 형식으로 작성하면 읽기 쉬운 방식으로 IP를 다시 작성할 수 있습니다.

그룹화:
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110
그룹화 및 소수점:
172.18.0.150
172.18.1.150

이제 질문은 "이 IP 주소가 동일한 네트워크에 있습니까?"입니다. 이는 네트워크 구성에 따라 다릅니다. 네트워크 마스크를 예로 들어보겠습니다.

11111111 11111111 11111111 00000000

(1은 네트워크용이고 0은 호스트용입니다.)

이를 두 IP 위에 놓으면 두 IP 주소가 서로 다른 네트워크에 있음을 알 수 있습니다. 마스크가 255.255.0.0인 경우 동일한 네트워크에 있는 것입니다.

다른 네트워크:
11111111 11111111 11111111 00000000
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110
동일한 네트워크:
11111111 11111111 00000000 00000000
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110

IP 주소와 마찬가지로 네트워크 마스크도 소수점 형식(255.255.255.0 또는 255.255.0.0)으로 작성할 수 있습니다. 이제 172.18.0.150/255.255.255.0 또는 172.18.0.150/255.255.240.0과 같은 전체 IP 및 네트워크 마스크를 작성해야 하는 경우 작성해야 할 내용이 많습니다. 더 짧은 쓰기는 네트워크 마스크를 제공하는 것이 아니라 네트워크 마스크의 1 수(172.18.0.150/24 또는 172.18.0.150/20)를 제공하는 것입니다. 아시다시피 1은 항상 최상위 비트이므로 "/24" 또는 "/20"이 무엇을 의미하는지 명확합니다.

일부 라우팅 기본 사항

아직 내 글을 읽지 않으셨다면MAC 주소 사용에 대한 답변지금 그렇게 하고 싶을 수도 있습니다.

간단히 말해서, 컴퓨터가 IP 패킷을 보내는 경우 먼저 대상 IP 주소가 컴퓨터 자체(소스 IP)와 동일한 네트워크에 있는지 확인합니다. 그렇다면 컴퓨터는 패킷을 네트워크로 직접 보낼 수 있고 대상 컴퓨터는 이를 받을 수 있습니다. 대상 IP가 동일한 네트워크에 있지 않으면 컴퓨터가 대상에 직접 도달할 수 없으며 패킷을 다음 라우터로 보내야 합니다. 라우팅 테이블은 어떤 네트워크에 어떤 라우터를 연결해야 하는지 라우터에게 알려줍니다(예: "네트워크가 172.18.0.0/24인 경우 라우터 1.1.1.1"). 해당 라우터는 대상 IP에 직접 도달할 수 있는지 또는 패킷을 다음 라우터로 전달해야 하는지 다시 확인합니다.

컴퓨터의 라우팅 테이블을 확인하려면 를 사용할 수 있습니다 ip route.

수신측에서는 네트워크 마스크가 관련이 없다는 점을 명심하십시오. 172.18.0.150/24 또는 172.18.0.150/8은 모두 172.18.0.150이며 컴퓨터가 172.18.0.150에 대한 패킷을 수신하면 이를 소비합니다. 네트워크 마스크는 발신자 측에서만 사용됩니다. 컴퓨터 A가 주소 aaaa/n에서 주소 bbbb/m을 사용하여 컴퓨터 B로 패킷을 보내는 경우 보낸 사람 A는 소스 주소 aaaa의 최상위 n 비트와 bbbb의 최상위 n 비트를 비교합니다. 둘 다 같으면 aaaa와 bbbb 동일한 네트워크에 있고(n은 m과 같아야 함) 패킷을 직접 보낼 수 있습니다. 그렇지 않은 경우 네트워크는 동일하지 않으며(n이 m과 동일하지 않을 수도 있음을 염두에 두지 않음) 패킷을 전달할 라우터로 패킷을 전송해야 합니다.

"ip 경로" 출력 이해

두 개의 NIC가 있는 컴퓨터를 예로 들어 보겠습니다.

192.168.178.3을 통한 기본값 dev eth1 proto static metric 1024
172.16.1.1 dev eth0
169.254.0.0/16 dev eth1 범위 링크 메트릭 1000
172.16.0.0/16 dev eth0 proto 커널 범위 링크 src 172.16을 통한 10.0.0.0/8
126.31 192.168. 178.0/24 dev eth1 proto 커널 범위 링크 src 192.168.178.21

3~5행은 NIC에 구성된 IP 주소에서 파생됩니다( ip addr). 그들은 보낼 패킷이 예를 들어 네트워크 172.16.0.0/16과 일치하면 eth0(내 경우에는 IP 주소 172.16.126.31로 구성됨)에서 전송되어야 한다고 컴퓨터에 알려줍니다. 두 번째 줄은 제가 추가한 특정 경로입니다. 10.0.0.0/8에 대한 패킷은 eth0의 172.16.1.1로 전송되어야 한다고 나와 있습니다. 첫 번째 줄은 다른 특정 네트워크와 일치하지 않는 패킷에 사용할 기본 게이트웨이/라우터를 제공합니다.

네트워크가 무엇인지 누가 결정합니까?

최상위 수준RFC3330모든 IP 주소가 광범위하게 사용되는 것은 아니지만 일부 범위는 특별한 목적으로 예약되어 있음을 정의합니다. 한 가지 예는 네트워크 127.0.0.0/8입니다. 해당 범위에서 가장 눈에 띄는 주소는 자신의 컴퓨터를 식별하는 127.0.0.1(이름: localhost)입니다. 물론 이 IP는 해당 네트워크로 전송된 모든 패킷이 컴퓨터를 떠나지 않기 때문에 자신의 컴퓨터에서만 유용합니다. 가능한 모든 IP 주소를 취하고 예약된 범위를 제거해도 여전히 사용 가능한 네트워크 풀이 있습니다. 그 큰 풀은 ICANN에서 관리합니다. 다음 계층 구조 수준은 RIPE NCC와 같은 5개의 지역 인터넷 레지스트리입니다. 이들은 ICANN에서 IP 주소 범위를 가져와 이를 자체 고객(로컬 인터넷 레지스트리)에게 판매합니다. 이들은 이를 최종 고객(예: 회사)에게 판매합니다.

전체 IP 주소 범위를 분할하는 방법은 풀의 각 관리자가 결정합니다. 귀하가 ICANN이고 50.0.0.0/8-100.0.0.0/8 범위를 관리한다고 가정해 보겠습니다. 이제 RIPE NCC가 일부 IP 주소를 요청하면 50.0.0.0/16, 50.0.0.0/8 또는 50.0.0.0/8에서 최대 60.0.0.0/8까지 제공할 수 있습니다. RIPE NCC와 로컬 인터넷 레지스트리의 경우에도 마찬가지입니다. 크거나 작은 네트워크를 제공할 수 있습니다. 옛날에는 레지스트리가 매우 꺼려져 완전히 필요하지 않은 광범위한 주소 범위를 가진 큰 대학이나 회사가 여전히 존재했습니다. 일부 대학에는 /8 네트워크가 있으므로 호스트에 24비트가 있습니다. 이는 1,600만 대 이상의 컴퓨터를 처리할 수 있다는 의미입니다. 수천 대의 컴퓨터만 보유하고 있다면 수백만 개의 IP 주소가 해당 고객을 위해 예약되어 있지만 전혀 사용되지 않는다는 의미입니다. 정말 낭비입니다. 그래서 최근에는 더 이상 큰 범위를 얻지 못하고 있으며, 정말로 큰 범위가 필요한지 논쟁을 벌여야 합니다.

어쨌든 IP 주소 범위(네트워크) 판매를 결정하는 방법은 인터넷의 대형 라우터가 거의 모든 기존 네트워크에 연결하는 방법을 알아야 한다는 점을 명심해야 합니다. 매우 작은 네트워크를 판매하는 경우 유럽에는 10.0.0.0/24 및 10.1.0.0/24, 아시아에는 10.0.1.0/24 및 10.1.1.0/24, 10.0.2.0/24 및 10.1.2.0이 될 수 있습니다. /24 아프리카에 있어요. 이는 라우터가 라우팅 테이블에 작은 네트워크 항목을 많이 갖게 된다는 것을 의미합니다. 유럽에 10.0.0.0/16, 아시아에 10.1.0.0/16, 아프리카에 10.2.0.0/16을 제공하는 경우 라우팅 테이블에는 더 큰 네트워크에 대한 항목이 3개만 있습니다.

그러나 그것은 모두 우리의 문제가 아니라 인터넷 레지스트리의 사업입니다. 그렇지는 않습니다. 왜냐면...

언제, 어떻게 네트워크를 설정해야 합니까?

회사의 라우터를 실행하는 경우 40.41.0.0/16 범위를 얻고 원하는 대로 이러한 IP 주소를 컴퓨터에 제공할 수 있습니다. 하지만 이 경우 모든 컴퓨터는 동일한 물리적 네트워크에 있어야 합니다(사이에 라우터가 없음). 이는 대규모 네트워크의 성능을 저하시킬 수 있으므로 네트워크를 분할하는 것이 좋습니다. 예를 들어 두 개의 건물이 있는 경우 건물 1에 40.41.0.0/17을 할당하고 건물 2에 40.41.128.0/17을 할당할 수 있습니다.

개인 IP 주소

광대역 라우터를 실행 중이거나 회사 라우터를 실행하는 경우 172.16.0.0/12와 같은 개인 네트워크 IP 주소를 본 적이 있을 것입니다. 알려주신 IP 주소(172.18.0.150)는 그런 사설 IP 주소입니다(네트워크 마스크에 대한 새로운 지식으로 쉽게 확인하실 수 있습니다). 로컬 인터넷 레지스트리에서 N개의 공용 IP 주소(일반 ISP N=1의 경우)를 얻었지만 IP 주소가 필요한 M>N개의 장치가 있는 경우에 사용됩니다. 이 경우 라우터에는 하나의 공용 IP 주소(인터넷을 오가는 모든 트래픽에 사용됨)와 개인 IP 주소가 있는 개인 네트워크도 있습니다. 귀하의 경우 라우터는 사설 네트워크 172.18.0.0/24를 가져와 해당 네트워크의 IP 주소를 각 PC에 제공합니다.

하지만 다른 사람의 라우터도 172.18.0.0/24를 사용한다면 어떻게 될까요? 놀랍게도 그것은 문제가 되지 않습니다. 이는 172.16.0.0/12가 개인 주소 범위이기 때문입니다. 공용 인터넷에서는 해당 범위의 IP 주소를 볼 수 없습니다. 172.18.0.150을 소스 주소로 지정하여 인터넷에 패킷을 보내면 라우터는 172.18.0.150을 ISP가 제공한 공용 IP 주소로 대체합니다. 라우터가 공용 IP 주소로 전송된 패킷을 수신하면 어느 컴퓨터로 패킷을 보낼지 결정하고 대상 IP 주소를 컴퓨터의 개인 네트워크 IP 주소로 변경합니다.

답변2

물론 모든 호스트가 라우터와 지점 간 연결을 갖도록 할 수 있습니다. 그러나 이렇게 하면 모든 트래픽이 라우터를 통과해야 합니다. 분명히 이것은 매우 비효율적입니다.

컴퓨터에 "192.168.0.1부터 192.168.0.254까지의 모든 IP 주소는 이 링크에서 직접 연결할 수 있습니다"(192.168.0.X/24)라고 지정하면 컴퓨터는 보다 효율적인 로컬 네트워크 전송을 사용하여 대상과 직접 통신할 수 있습니다. 동일한 네트워크.

답변3

그것은 결코 다른 사람의 걱정이 아닙니다.

IP 주소가 속한 서브넷을 아는 것이 좋습니다.

다음을 사용하여 서브넷을 구성한다고 상상해 보십시오./25. 그 경우에는 연속해서 같은 서브넷에 있는 것 같지만 172.18.0.127,172.18.0.128다른 서브넷.

172.18.0.127/25주소를 및 으로 명시해야 합니다 172.18.0.128/25. 그래서 당신은 그들 각각이 어디에 있는지 알고 있습니다.

이는 간단한 예이지만 172.18.0.128 to 172.18.0.255예를 들어 다음을 사용하여 범위가 다시 서브넷화되면 상황이 더 악화될 수 있습니다./26.

답변4

슬래시 뒤의 부분은 사용할 서브넷 마스크 비트 수입니다. 예:

192.168.1.1/24 is 192.168.1.1 255.255.255.0

255.255.255.024을(를) 사용하여 32 bits서브넷을 생성하고 있습니다 .

바이너리에서는 다음과 같습니다:

11111111.11111111.11111111.00000000

따라서 당신이 누구인지 알고 싶다면 당신은 172.180.0.150 아래에 있는 사람이지만 어느 사람이고 당신에게 가는 방법 등..

관련 정보