불완전한 ARP가 표시되는 이유는 무엇입니까?

게시물 에 언급 된대로 :

이유 불완전한 ARP를 보려면 “해당 주소에 대해 ARP 요청이 전송되었지만 해당 주소를 가진 호스트가 LAN에서 실행되지 않아 응답이 없습니다.”

따라서 멀티 레이어 스위치가 서버에 ARP 요청을 보내고 응답을받지 못하면 ARP는 스위치 ARP 테이블에 불완전한 것으로 표시됩니다.

하지만 서버가 ARP 요청을 서버에 보내면 어떻게 될까요? 전환했지만 응답을받지 못합니까? 서버가 ARP 테이블에 불완전한 ARP를 표시하고 스위치에 항목이 표시되지 않습니까?

위의 내용이 맞다고 가정하면 로컬 장치에 불완전한 ARP 항목이 표시되면 문제가 있다고 말할 수 있습니까? 연결 (또는 케이블 연결)의 다른 쪽 끝에있는 장치와 함께 있습니까? 아니면 몇 가지 예외가 있습니까?

댓글

  • @RonTrunk가 지적했듯이 스위치는 알거나 신경 쓰지 않는 투명한 레이어 2 장치입니다. 레이어 3 (IP) 주소 지정에 대한 정보이므로 ‘ ARP를 사용하거나 응답하지 않습니다. 스위치를 관리 할 수 있으므로 스위치의 관리는 네트워크의 호스트와 같으며 ARP를 사용하고 응답하는 계층 3 인터페이스가 있지만 여전히 아무것도 알지 못하는 스위칭 기능과 관련이 없습니다. 레이어 3에 대해. 레이어 3 장치의 ARP를 스위치의 MAC 주소 테이블과 혼동하지 마십시오. ‘ 많은 사람들이 혼동합니다.
  • 스위치가 L3 게이트웨이 역할을합니까, 아니면 L2 스위치 역할을합니까?
  • @cpt_fink, yes by ” switch ” 멀티 레이어 스위치 (L3 게이트웨이)를 의미했습니다.

Answer

3 계층 스위치의 경우 스위치의 3 계층 모듈은 라우터이며 ARP의 다른 호스트처럼 작동하는 라우터처럼 작동합니다. 레이어 3 스위치는 여전히 주로 레이어 2 스위치이며 레이어 2 스위치는 여전히 레이어 2 스위치처럼 작동합니다. 레이어 3 스위치의 레이어 3 및 레이어 2 부분은 실제로 분리되어 있습니다. 계층 3 인터페이스 (가상 인터페이스 및 계층 3 인터페이스로 구성된 모든 물리적 인터페이스)는 ARP 테이블을 사용하지만 계층 2 인터페이스는 MAC 주소 테이블을 사용합니다.

라우터 또는 레이어 3 스위치의 라우팅 모듈을 포함하여 ARP 요청을 보내고 응답을받지 못하면 ARP 테이블 항목을 incomplete로 표시합니다.

하지만 서버가 스위치에 ARP 요청을 보내지 만 응답을받지 못하면 어떻게 될까요? 서버가 ARP 테이블에 불완전한 ARP를 표시하고 스위치에 항목이 표시되지 않습니까?

그렇습니다. 호스트가 라우터를 포함한 다른 호스트로 ARP 요청을 보내지 만 아직 응답을받지 못한 경우 호스트 ARP 테이블 항목은 라우터 IPv4 주소에 대해 incomplete로 표시됩니다.

라우터가 ARP 테이블에 포함하는 것은 라우터가 ARP 요청을 받았는지 여부와 라우터에 호스트에 대한 ARP 테이블 항목이 이미 있는지 여부에 따라 다릅니다.

  • 호스트에 대한 기존 ARP 테이블 항목이있는 라우터는 시간 초과로 인해 라우터가 제거 할 때까지 해당 항목을 계속 보유합니다. 시간 제한은 RFC에서 요구하지 않지만 RFC에는 ARP 테이블 항목에 대한 시간 제한 사용 가능성을 다루는 섹션이 있으며 대부분의 호스트는 다음을 수행합니다.

    테이블 에이징 및 / 또는 시간 초과가있는 것이 바람직 할 수 있습니다. 이들의 구현은이 프로토콜의 범위를 벗어납니다.

  • 라우터가 ARP 요청을 수신하지 않았고 라우터에 대한 항목이없는 경우 그러면 라우터 ARP 테이블에 항목이 없습니다.
  • 라우터가 호스트로부터 ARP 요청을 수신했지만 호스트에 대한 응답이 손실 된 경우 라우터는 완전한 ARP를 갖게됩니다. 호스트에 대한 테이블 항목입니다.

ARP 작동 방식을 이해하려면 RFC 826, An 이더넷 주소 확인 프로토콜-또는-이더넷 하드웨어에서 전송하기 위해 네트워크 프로토콜 주소를 48 비트 이더넷 주소로 변환 . ARP는 IPv4에서 작동하지만 ARP 대신 ND (Neighbor Discovery)가있는 IPv6에서는 작동하지 않습니다.

Answer

두 개의 IPv4 노드가 공통 레이어 2 세그먼트 (일반적으로 이더넷)에서 통신하려면 성공적인 ARP 확인이 필요합니다.

불완전한 ARP 요청에는 두 가지 기본 이유가 있습니다.

  1. ARP 요청에 응답하지 않았습니다. 목적지 노드가 ARP 요청을 수신하지 않았거나 응답을 수신하지 않았습니다. 대상 노드가 다운되었을 수 있습니다.

  2. 소스 노드의 네트워크 마스크가 올바르게 구성되지 않았습니다.소스 노드는 자체 서브넷 로컬 또는 온 링크 내의 모든 대상을 고려합니다. 게이트웨이 라우터의 도움없이 이더넷 인터페이스를 통해 직접 통신 할 수 있기를 기대합니다.

    예 : 192.168.0.0/24 서브넷 내의 노드가 192.168.0.10/ 16 으로 잘못 설정되어 192.168.16.1 로컬과 같은 대상으로 간주됩니다. 게이트웨이를 사용하지 않고 불완전한 상태로 유지되는 직접 ARP를 시도합니다.

소스 또는 대상 / 다음 홉 노드가 라우터인지 여부, 다중 레이어 스위치 또는 끝 노드는 중요하지 않습니다.

Answer

스위치의 ARP 테이블은 IP 트래픽을위한 스위치 관리 인터페이스에서만 사용됩니다.

그렇지 않으면 스위치는 레이어 2 정보 만보고 ARP를 이해하지 못합니다.

댓글

  • 예, 다중 레이어 스위치를 의미했습니다.

답변

다른 가능한 이유-dhcpcd 잘못된 설정 h1>

이 답변을 추가합니다. 비록 위의 특정 질문과 직접적인 관련이 없지만 경우에 따라 관련이 있습니다.

시스템 정적 IP / dhcp 설정이 올바르지 않은 경우 간접적 인 부작용으로 나타날 수 있습니다.

특정 경우에는 위치를 이동하고 네트워크 설정을 변경 한 Linux 시스템이 있습니다. ngs for.

컴퓨터를 다시 옮겼을 때 /etc/dhcpcd.conf에서 업데이트하는 것을 잊었습니다.

이것은 내

interface eth0 static ip_address=192.168.1.8/24 static routers=192.168.1.254 #static routers=192.168.1.1 static domain_name_servers=127.0.0.1 

” 깨진 “, static routers=192.168.1.254 줄이 주석 처리되었고 #static routers=192.168.1.1 줄 아래에 주석이 제거되었습니다.

그러면 arp가 잘못된 항목 (” 불완전 “)을 표시했습니다. 주소 192.168.1.1.

이 시스템을 일주일 전에 옮겼다가 며칠 전에 다시 옮겼지만, 무엇이 잘못되었는지 전혀 알 수 없었습니다. 그것으로. 내가 알 수있는 한, 내 로컬 네트워크에 연결하고 ssh를 제대로 연결할 수 있었고 ip addr에 문제가 나타나지 않았습니다. traceroute도 유용한 정보를 표시하지 않았습니다. 모든 쿼리가 단일 홉을 통해 ” 머신 호스트 이름 “. 당연히 말이되지 않았고 잘못되었지만 문제가 무엇인지에 대한 표시를주지 않았습니다. 모든 쿼리가 (어떻게 든) 해결되고 있음을 의미합니다. 같은 기계. 그런데이 기계는 DNS를 수행합니다.

OP 문제와는 직접적인 관련이 없지만 앞으로이 문제가있는 다른 사람들에게 매우 유용 할 수 있으며, 이것이 지금까지 찾은 유일한 방법입니다. 그다지 잘못된 것 같지는 않습니다.

이 진단 방법에 대한 참고 사항

  • 이 시스템을 다른 시스템의 DNS 서버로 사용할 때 네트워크에서 해당 컴퓨터는 외부 DNS 요청을 확인할 수 없습니다.
  • DNS 서버에 ssh 할 수 있습니다 (IP가 정적으로 설정되어 있고 스위치 / 라우터도이 컴퓨터를 볼 수 있습니다. 고정 IP가 스위치를 통해 로컬 이더넷에 연결됨).
  • 일부 문제를 가장 먼저 지적한 것은 sudo apt update 실패였습니다. (이것은 DNS 서버이기 때문에 그래픽 인터페이스가 없기 때문에 웹 브라우저와 같은 것을 실행하면이 문제가 훨씬 더 빨리 나타나거나 네트워크 데스크탑 트레이 아이콘에서 나타나지만 그런 것이 없습니다.)
  • ping 8.8.8.8도 실패했지만 ssh 및 ping 로컬 시스템은 괜찮 았습니다
  • /etc/network/interfaces[.d] 그러나이 디렉토리의 모든 파일은 비어 있거나 기본값으로 설정되어 있습니다. DNS 소프트웨어가 관리하므로
  • 제공된 웹 인터페이스를 통해 DNS 서버에 연결할 때 DNS 소프트웨어에 오류 / 경고가 없었습니다. / li>
  • ip addr (문제 없음) 및 arp와 같은 항목을 확인하기 시작했습니다. 이미 는 문제가 무엇인지 표시하지 않았지만 이상한 일이 진행되고 있음을 표시했습니다.
  • arp에 불완전한 항목이있는 이유 검색
  • 이 질문을 찾았습니다 ( https://serverfault.com/questions/765380/when-do-stale-arp-entries-become-failed-when-never-used ) arp 항목을 제거하는 방법을 알아보기 시작했습니다.
  • arp -d 192.168.1.1
  • 하지만 계속 돌아 왔습니다
  • 다른 곳에서 내 로컬 네트워크의 192.168.1.1에 연결하려고했습니다. 네트워크에이 주소를 가진 컴퓨터가 없기 때문에이 주소를 사용하거나 핑할 수 없었습니다.
  • 보통이 주소는 사용자의 게이트웨이 / ISP 라우터의 주소입니다. 홈 애플리케이션
  • 이것은 내가 192.168.1.1 주소를 갖도록 다른 위치에 네트워크 어댑터를 설정했고이 주소에 연결된 컴퓨터를 네트워크 192.168.0.X192.168.1.X
  • 원래 위치는 192.168.1.X 네트워크에 있고, 내가 이동 한 위치는 192.168.0.X
  • 대부분의 192.168.1.X/24 네트워크는 기본 게이트웨이로 192.168.1.1를 사용합니다.이 IP는 처음에는 의심을 불러 일으키지 않았으며 ” 이상한 ” 어떤 이유로 든
  • 하지만 dhcpcd.conf에서 기본 게이트웨이를 변경했습니다. 위에서 설명한대로 문제가 해결되었습니다.
  • 교훈은 일시적으로 사이트 외부에 이상한 컴퓨터 간 네트워크를 만들 때 라우터 어댑터 / NIC에 -자신을 상기시키는 데 도움이 될 수 있으며, 어딘가에 설정 파일에 설정 파일에 이상이 있음을 알리는 데 도움이 될 수 있습니다.

댓글

  • 안타깝게도 호스트 / 서버 구성은 여기서 주제를 벗어 났지만 비즈니스의 경우 서버 오류 에서 처리 할 수 있습니다. s 네트워크.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다