여러 라우팅 프로토콜(BGP 등)이 있다는 것을 알고 있지만 홈 네트워크에 연결할 때 Linux는 어떤 프로토콜을 사용합니까? 저는 데비안 기반 시스템을 사용하고 있습니다.
답변1
라우팅에는 두 가지 주요 측면이 있습니다. 첫 번째는 패킷이 라우팅되는 방식이고, 두 번째는 시스템이 패킷을 라우팅하는 방법을 아는 방식입니다.
첫 번째 이름이 있는지는 잘 모르겠습니다(적어도 나에게는 그렇지 않습니다). Linux 커널은 네트워크 인터페이스, 선택적 게이트웨이, 메트릭 및 기타 다양한 옵션과 관련된 서브넷 목록인 라우팅 테이블을 유지 관리합니다. 시스템이 패킷을 보낼 때 커널은 라우팅 테이블을 확인합니다. 하나 이상의 항목이 패킷의 대상을 포함하는 서브넷을 설명하면 커널은 이를 적절한 네트워크나 게이트웨이로 보냅니다. 그렇지 않으면 기본 게이트웨이로 전달합니다. 다음을 실행하여 라우팅 테이블을 볼 수 있습니다.
ip route
(이렇게 하면 기본 테이블 항목이 표시됩니다) 및
ip route table local
(이것은 로컬 테이블 항목을 표시합니다) 또는
ip route table all
(이것은 모든 것을 보여줍니다).
최소한 다음과 같은 항목이 표시되어야 합니다.
default via 100.65.64.1 dev wlp3s0 proto dhcp metric 600
100.65.64.0/21 dev wlp3s0 proto kernel scope link src 100.65.67.24 metric 600
이는 100.65.64.0/21(내 서브넷)로 패킷을 보내는 것을 의미합니다.통과하다 wlp3s0
, 라우팅 테이블 항목과 일치하지 않는 모든 패킷은 100.65.64.1(기본 게이트웨이)로 전송됩니다.
두 번째 부분에는 다양한 알고리즘이 있습니다. BGP는 그 중 하나이지만 일반적으로 AS 라우터에서만 볼 수 있습니다. 일반적인 가정 설정에서 라우팅 테이블은 다음 정보로 채워집니다.동적 호스트 구성 프로토콜IPv4 또는새로운 민주당IPv6에서.
잘 알려진 프로토콜의 정보와 반드시 일치하지 않는 라우팅 테이블 항목도 추가할 수 있습니다. 예를 들어 컨테이너 네트워크 항목은 컨테이너 런타임에 의해 직접 추가되는 경우가 많습니다.