이더넷을 끄면 어떻게 되나요? 이더넷을 끈 후 운영 체제는 어떤 단계를 수행합니까?

이더넷을 끄면 어떻게 되나요? 이더넷을 끈 후 운영 체제는 어떤 단계를 수행합니까?

이더넷을 끄면 실제로 어떤 일이 일어나는지 궁금합니다. 운영 체제는 네트워크 계층에서 무엇을 수행합니까? 라우팅 테이블이나 그와 비슷한 것을 플러시합니까?

답변1

Linux 커널은 struct net_device(패브릭 네트워크 장비). 각각에는 장치 드라이버에 의해 구현되어야 하는 struct net_device세트가 있습니다 . struct net_device_ops그 중 가장 중요한 것은 다음과 같습니다.

  • ndo_open(). 이더넷 어댑터를 ON( )으로 설정할 때 ip link set up dev <eth_dev>호출됩니다 .
  • ndo_start_xmit(). 인터페이스를 통해 데이터 전송을 시작할 때 호출됩니다.
  • ndo_stop(). 이더넷 어댑터를 OFF( )로 설정할 때 ip link set down dev <eth_dev>호출됩니다 .

그렇다면 장치가 다운되면 정확히 어떻게 될까요?

대부분의 드라이버는 일련의 루틴을 구현합니다.

  • 특정 장치와 관련된 모든 대기열을 중지합니다.
  • 특정 장치와 관련된 ARP 테이블 항목을 지웁니다.
  • 인터페이스 상태를 DOWN( ip link show dev <eth_dev>)로 표시합니다.
  • 장치별 기능: 일부 구조, 버퍼 지우기, 이더넷 컨트롤러 칩을 절전 모드로 이동...

관련 정보