일부 가상 네트워크 인터페이스에는 개인 IP 주소가 할당되고 다른 가상 네트워크 인터페이스에는 루프백 IP 주소가 할당되는 이유는 무엇입니까?

일부 가상 네트워크 인터페이스에는 개인 IP 주소가 할당되고 다른 가상 네트워크 인터페이스에는 루프백 IP 주소가 할당되는 이유는 무엇입니까?

docker0, 가상 네트워크 인터페이스인가요 lo? virbr0

루프백 IP 주소 대신 docker0개인 IP 주소가 할당되는 이유는 무엇입니까?virbr0

lo개인 IP 주소가 루프백 주소처럼 작동할 수 있다면 루프백 IP 주소 대신 개인 IP 주소를 할당 할 수 있나요 ?

루프백 주소는 127.*.*.*예와 같이 여러 개의 작은 네트워크로 분할되지 않고 항상 하나의 네트워크를 형성합니까?

192.168.*.*개인 IP 주소의 범위입니다. 예( wlx8및 ) virbr0에서처럼 여러 개의 작은 네트워크로 분할되는 경우가 자주 있습니까 ?

감사해요.

$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:a6:79:a6:bc  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1552397  bytes 88437726 (88.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1552397  bytes 88437726 (88.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:b1:aa:1f  txqueuelen 1000  (Ethernet)
        RX packets 123  bytes 12102 (12.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 39  bytes 4300 (4.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.97  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a0df:c436:afb1:8b45  prefixlen 64  scopeid 0x20<link>
        ether   txqueuelen 1000  (Ethernet)
        RX packets 991338  bytes 536052615 (536.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 618233  bytes 101520924 (101.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

답변1

"네트워크"(라우터 없이 연결할 수 있는 끝점 집합)의 구성은 해당 네트워크의 넷마스크에 의해 결정됩니다. 따라서 docker0172.17.xx 네트워크에 있고(동일한 레이어 2 네트워크의 모든 172.17.xx 엔드포인트와 통신할 수 있음), lo127.xxx 네트워크에 있고, virbr0192.168.122.x 네트워크에 있습니다(그리고 모든 192.168과 통신할 수 있음). .122.x 엔드포인트는 동일한 레이어 2 네트워크에 있고 wlx8192.168.1.x 네트워크에 있으며(입력하겠습니다) 둘 다 독립적입니다. 루프백 네트워크의 특별한 점은 기본적으로 모든 127.xxx 주소가 localhost에 해당한다는 것입니다.

docker0, 가상 네트워크 인터페이스입니까 lo?virbr0

예, 물리적 네트워크 인터페이스에 해당하지 않습니다.

루프백 IP 주소 대신 docker0개인 IP 주소가 할당되는 이유는 무엇입니까?virbr0

루프백 인터페이스가 아니기 때문입니다. 이러한 인터페이스는 일반적으로 로컬 호스트(여기서 네트워크 관점에서 관심을 두는 부분)와 분리된 컨테이너 또는 가상 머신과 통신하는 데 사용됩니다.

lo개인 IP 주소가 루프백 주소처럼 작동할 수 있다면 루프백 IP 주소 대신 개인 IP 주소를 할당 할 수 있나요 ?

아니요, 개인 IP 주소는 루프백 주소처럼 작동하지 않습니다. (원하는 방식으로 작동할 수 있지만 이는 네트워킹 전문가와 Istio와 같은 시스템을 설계하는 사람들을 위한 것이며 Envoy는 다중 클러스터 설정에 흥미로운 루프백 트릭을 사용합니다.)

루프백 주소는 127.*.*.*예와 같이 여러 개의 작은 네트워크로 분할되지 않고 항상 하나의 네트워크를 형성합니까?

내 첫 번째 요점을 참조하십시오.

192.168.*.*개인 IP 주소의 범위입니다. 예( wlx8및 ) virbr0에서처럼 여러 개의 작은 네트워크로 분할되는 경우가 자주 있습니까 ?

예, 다시 한 번 말씀드리지만 첫 번째 요점을 참조하세요.

답변2

docker0, 가상 네트워크 인터페이스인가요 lo? virbr0

예.

그것들은 모두 같은 유형이 아닙니다. 이는 하드웨어 장치에서 제공되지 않음을 의미합니다. 가상 장치는 에 나열되어 있습니다 /sys/devices/virtual/. 하위 디렉토리를 살펴보세요 net/.

개인 IP 주소가 루프백 주소처럼 작동할 수 있다면,

난 당신이 무슨 뜻인지 모르겠어요

lo루프백 IP 주소 대신 전용 IP 주소를 할당 할 수 있나요 ?

예. 나에게 아주 잘 작동합니다. 직접 시도해 보세요. ip addr add <ADDR> dev lo.

루프백 주소는 127.*.*.*예와 같이 여러 개의 작은 네트워크로 분할되지 않고 항상 하나의 네트워크를 형성합니까?

나는 정말로 모른다. 그러나 나는 Split 에 의존하는 소프트웨어에 대해 회의적입니다 127.*.*.*. IPv6에서는 하나의 루프백 주소만 얻습니다 ::1. 왜냐하면 저자는 전체 루프백 네트워크를 가져야 할 타당한 이유를 찾지 못했기 때문입니다(그러한 주소가 2^24개는 고사하고). 그러니 당연히 많이 사용되지는 않습니다.

192.168.*.*개인 IP 주소의 범위입니다. 예( wlx8및 ) virbr0에서처럼 여러 개의 작은 네트워크로 분할되는 경우가 자주 있습니까 ?

서브넷을 분할하는 것은 192.168.*.*확실히 이를 사용하는 가장 일반적인 방법입니다. 귀하의 홈 라우터는 거의 기본적으로 192.168.0.*or를 사용하게 될 것입니다. 192.168.1.*이는 기본 네트워크에서 격리된 게스트 Wi-Fi 액세스를 위한 두 번째 네트워크와 같이 여러 서브넷을 구성하려는 경우에 도움이 됩니다.

루프백 IP 주소 대신 docker0개인 IP 주소가 할당되는 이유는 무엇입니까?virbr0

왜 그렇지 않습니까?

보다 구체적으로 IPv4 표준은 다음과 같이 합리적으로 해석될 수 있습니다.루프백으로 작동하려면 모든 루프백 주소가 필요합니다.. 이는 이를 사용하는 것(예: 도커 컨테이너와 도커 호스트 간 통신)이 합법적이지 않음을 의미합니다. 더 이상 루프백 주소로 사용되지 않기 때문입니다.

어쩌면 표준 요구사항에는 다른 의미가 있을 수도 있습니다. 즉, 물리적 네트워크에 접근하지 못하게 한다면 더 복잡한 가상 네트워크를 구축하는 데 사용하는 것이 합법일 것입니다. 표준에서는 이를 명확하게 밝히지 않습니다. 루프백 네트워킹이 지원되는 경우 일반적으로 Linux와 동일한 방식으로 해석됩니다. 그래서 사람들은 이 구현에 익숙하고 뭔가 다른 것을 보고 혼란스러워합니다.

관련 정보