경로 캐시와 이웃 테이블의 차이점

경로 캐시와 이웃 테이블의 차이점

Ubuntu 서버는 수천 대의 장치에 대한 라우터로 실행됩니다. 연결된 클라이언트 수가 계속 증가함에 따라 커널 로그에서 3가지 오버플로 문제가 발견되었습니다.

1. Route cache chain too long 
2. Neighbor table overflow
3. ip conntrack table full

3개의 테이블 모두 크기를 확장할 수 있으며 그렇게 했지만 테이블과 관련된 메커니즘 간의 차이점을 이해하지 못했습니다.

그렇다면 누군가 커널 경로 캐시와 인접 테이블의 차이점을 간략하게 설명해 주시겠습니까? 그들은 비슷한 목적을 가지고 있는 것으로 보이며 동일한 메커니즘(가비지 수집)을 사용하고 둘 다 라우팅을 관리합니다.

connntrack 테이블에 대한 설명도 환영합니다 :)

답변1

경로 캐시와 이웃 테이블은 둘 다 다음에 패킷을 보낼 위치를 결정하는 데 도움이 된다는 점에서 다소 유사합니다.

차이점은 이웃 테이블이 레이어 2(이더넷) 수준에서 항목을 캐시한다는 점입니다. 이는 IP 주소를 MAC 주소로 변환하는 데 도움이 됩니다. 이것ARP 프로토콜캐시할 새 항목을 쿼리하는 데 사용됩니다.

경로 캐싱은 레이어 3(IP)에서 작동합니다. 가장 간단한 형태로 대상 IP 주소는 "다음 홉"(즉, 패킷이 전송되는 노드)에 매핑됩니다. 비 라우터는 일반적으로 모든 트래픽을 단일 "기본 경로"에 매핑하는 완전히 정적 캐시를 갖습니다.

또한 서비스 품질 제약, 소스 및 대상 주소 등에 영향을 미치는 더 복잡한 캐싱 전략이 있습니다. IP 라우팅 가이드좋은 개요를 제공합니다.

관련 정보