주어진 컴퓨터에 할당 할 수있는 최대 IP 수는 얼마입니까?


13

나는 이것을 리눅스 서버에 대해 정말로 알아야하지만 클라이언트 OS에도 적용되기 때문에 서버 오류 대신 여기에 질문을 제기해야한다고 생각했습니다.

답변:


16

이 게시물에 linux-net 메일 링리스트 에 대한 답글에 따르면 ,

  • 한 시점에서 Linux 커널은 물리적 인터페이스 장치 당 255 개의 별칭으로 제한되었습니다.
  • Linux 커널 버전 2.2부터는 (실제적인) 제한이 없으며 두 번째 응답은 단일 이더넷 카드에 5,000 개가 넘는 주소의 별칭을 사용한 개인적인 경험을 인용합니다.

물론 많은 수의 별칭을 단일 장치에 바인딩하면 메모리 요구 사항이 적용되고 성능에 영향을 줄 수 있으므로 커널 자체가 아니더라도 하드웨어가 추가 할 수있는 별칭 수를 제한 할 수 있습니다.


이를 위해 별칭을 만들 필요는 없습니다. ip addr add주소를 단일 장치에 바인딩 할 수 있습니다.
Ignacio Vazquez-Abrams

3
그렇습니다. 추가 주소를 동일한 장치에 별칭으로 지정하면됩니다. 별칭 이름 ( eth0:0) 여부에 관계없이 여전히 별칭입니다. 물론, ip(8)매뉴얼 페이지 의 저자는 "별칭"이라는 용어를 사용하지 않기로 선택합니다. 왜냐하면 모든 주소를 동일하게 취급하기 때문입니다. 전 세계 다른 지역에서 동일한 인터페이스에 여러 개의 주소를 할당하는 것을 "IP 앨리어싱"이라고합니다.
Dave Sherohman

1
어느 시점에서 나는 단일 호스트에 많은 IPv6 주소를 할당 할 필요가 있었고 4000 개의 주소에 도달하면 이웃 발견이 중단되었습니다. 이웃 발견을 차단하는 데 필요한 정확한 주소 수는 실험마다 약간 씩 다르지만 항상 4000에 가깝습니다.
kasperd


3

최대 값은 4,294,967,294 개의 IP 주소입니다 (IPV4에 대해 이야기하고 있다고 가정하면 충분한 RAM이 있고 브로드 캐스트 주소와 네트워크 주소를 각각 하나씩 가져옵니다).


0

리눅스 커널에는 AnyIP 라는 기능이있어 DRAM / CPU에서 적은 비용으로 리눅스 루프백 인터페이스를 통해 IPv4 또는 IPv6 주소의 연속적인 블록에 응답 할 수 있습니다.

예를 들어, Linux 시스템이 10.7.0.0/16의 모든 주소에 응답하기를 원한다고 가정하십시오.

  • Linux 시스템에서 로컬 경로를 추가하십시오. ip -4 route add local 10.7.0.0/16 dev lo
  • 네트워크 엔지니어에게이 작업을 수행 한 컴퓨터의 eth0 주소를 가리키는 10.7.0.0/16 경로를 알리도록 요청하십시오.

축하합니다. 이제 대량의 주소 (이 예에서는 65,000 개 이상)에 대한 답을 얻었으며 RAM 소비는이 연습에서 실제로 아무것도 아닙니다. 확장 성 측면에서이 솔루션은 응답하려는 모든 IP에 대해 eth0에 개별 인터페이스 별명을 추가하는 것보다 훨씬 낫습니다.

이와 같이 답변 할 수있는 주소 수에는 제한이 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.