동일한 서버 컴퓨터에 있는 서로 다른 인터페이스의 IP 주소에 대한 요구 사항은 무엇입니까?

동일한 서버 컴퓨터에 있는 서로 다른 인터페이스의 IP 주소에 대한 요구 사항은 무엇입니까?

https://wiki.archlinux.org/title/Internet_sharing

2.1 고정 IP 주소

서버 컴퓨터에서 다른 컴퓨터에 연결하는 인터페이스에 고정 IPv4 주소를 할당합니다.두 인터페이스 모두 /24보다 엄격하게 큰 넷마스크를 갖지 않는 한 주소의 처음 3바이트는 다른 인터페이스의 처음 3바이트와 동일할 수 없습니다.

# ip link set up dev net0
# ip addr add 192.168.123.100/24 dev net0 # arbitrary address

"두 인터페이스 모두 엄격하게 /24보다 큰 넷마스크를 갖지 않는 한 이 주소의 처음 3바이트는 다른 인터페이스의 처음 3바이트와 정확히 동일할 수 없습니다"는 무엇을 의미합니까? 이는 서버 시스템의 서로 다른 인터페이스에 대한 네트워크가 겹칠 수 없다는 것을 의미합니까?

왜 그러한 요구 사항이 있습니까?

감사해요.

답변1

이 설명은 실제로는 정확하지만 기술적으로 부정확하고 모호하며 잘못 작성되었습니다.

클래스 C 네트워크의 경우 IP 주소의 처음 3바이트가 네트워크 주소입니다. 많은 네트워크가 클래스 C이지만 이 설명에서 생략된 클래스 A 및 클래스 B 네트워크도 있으며 "넷마스크는 /24보다 엄격하게 큽니다"이므로 적어도 생략 오류입니다. 그러나 그것은 다른 이유로도 잘못된 것입니다.

이를 기술적으로 보다 정확하고 자세하게 설명하기 위해 IP 주소는 네트워크 주소와 시스템 주소라는 두 부분으로 나뉩니다. 넷마스크로 구분됩니다. 네트워크 마스크 /24는 IP 주소 255.255.255.0에 해당합니다. 예를 들어, IP 주소가 192.168.100.1/24인 경우 네트워크 주소(넷마스크가 적용됨)는 이고 192.168.100.0시스템 주소 부분은 입니다 .1. 클래스 B 네트워크 주소는 /16 또는 255.255.0.0이고 네트워크 주소는 192.168이며 시스템 주소 부분은 입니다 .100.1. 마찬가지로 클래스 A 주소는 넷마스크 /8에 해당합니다.

/ 뒤의 숫자는 해당 네트워크 주소에 속하는 IP 주소 왼쪽의 자릿수를 나타냅니다. /2와 /32 사이의 넷마스크 크기는 기술적으로 가능하지만 /8과 /29만 실용적입니다.

따라서 질문의 텍스트가 의미하는 바는 동일한 컴퓨터에서 동일한 네트워크 주소를 가진 두 개의 인터페이스를 가질 수 없다는 것입니다. 일반적으로 이렇게 하면 시스템에서 나오는 네트워크 트래픽은 네트워크에 액세스하는 데 어떤 인터페이스를 사용해야 하는지 알 수 없습니다.

그러나 이것조차 잘못된 것입니다. 인터페이스에 우선순위를 부여하여 그 중 하나가 항상 기본 인터페이스로 선택되도록 함으로써 이 문제를 해결하는 것이 가능하고 간단합니다. 그러나 외부에서 두 번째 인터페이스로 전송되는 트래픽은 첫 번째 인터페이스의 응답을 선호하며, 외부 컴퓨터는 트래픽이 전송되는 IP 주소와 다른 IP 주소로부터 응답을 기대하지 않습니다.

하지만 이 문제도 해결될 수 있다. 최신 운영 체제에서는 들어오는 트래픽을 인터페이스별로 표시하여 응답이 들어온 것과 동일한 인터페이스로 전송되도록 함으로써 두 개의 IP 주소는 다르지만 네트워크 주소는 동일한 두 개의 서버를 갖는 것이 완전히 가능해졌습니다. 동일한 네트워크 주소) 인터페이스. 네트워크) 완벽하게 작동합니다.

또한 결합 및 팀 구성을 사용하여 동일한 네트워크의 동일한 IP 주소에 있는 여러 인터페이스를 그룹화할 수 있습니다. 이는 호스트 운영 체제 및 업스트림 스위치에서 지원되어야 합니다. 이는 두 가지 이유 때문에 수행됩니다. 1) 하나의 인터페이스에 장애가 발생하면 다른 인터페이스가 이를 대신할 수 있도록 중복 인터페이스를 허용합니다. 2) 인터페이스 간에 대역폭을 공유하여 단일 인터페이스의 최대 처리량 이상으로 호스트의 대역폭을 증가시킵니다.

요약하자면, 질문에 인용된 진술은 운영 체제 내의 IP 라우팅이 훨씬 간단하고 결합 및 그룹화가 존재하지 않았던 과거 어느 시점에 부분적으로 사실이었을 수 있습니다. 그러나 그럼에도 불구하고 이 진술은 네트워크 주소가 /24보다 작을 수 있는 상황을 포함하지 않고 그 이유를 설명하지 않고 매우 서투르게 표현되었습니다. 오늘날의 네트워크에서 이 진술은 완전히 잘못된 것입니다.

또한 초기 Linux 버전에서도 여러 인터페이스를 동일한 네트워크로 라우팅하는 기능이 지원되며(구성이 여러 번 변경되었음에도 불구하고) 초기 Linux 버전에서도 본딩 및 팀 구성을 지원합니다. 이 두 기능은 아마도 Arch Linux 이전 버전일 것이므로 이 단락에서 이를 맥락에 맞게 설명하지 않는 한 결코 정확하지 않을 수 있습니다.

하지만 동일한 네트워크를 사용하도록 여러 인터페이스를 구성하는 것은 복잡하고 까다롭기 때문에 간단한 구성에서는 각 인터페이스가 서로 다른 네트워크 주소를 가져야 하므로 이 설명이 정확하지 않더라도 실용적입니다.

관련 정보