이더넷을 끄면 어떻게 되나요? 이더넷을 끄면 OS는 어떤 단계를 수행합니까?

이더넷을 끄면 어떻게 되나요? 이더넷을 끄면 OS는 어떤 단계를 수행합니까?

이더넷을 끄면 실제로 어떤 일이 일어나는지 알고 싶습니다. OS는 네트워크 계층에서 무엇을 수행합니까? 라우팅 테이블이나 그와 유사한 것을 플러시합니까?

답변1

Linux 커널은 모든 이더넷 어댑터(물리적 장치 또는 가상)를 다음과 같이 설명합니다 struct net_device.구조체 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>)로 표시합니다.
  • 장치별 기능: 일부 구조체, 버퍼 지우기, 이더넷 컨트롤러 칩을 절전 모드로 이동...

관련 정보