본문 바로가기

리눅스

자동 크로스오버 기능

반응형

자동 크로스오버 기능

ethtool에서 언급되는 MDI와 MDI-X는 이더넷 네트워크 인터페이스에서 물리적 연결을 설정하는 데 사용되는 개념으로 주로 twisted pair 케이블(예: Cat5, Cat6)을 통해 데이터를 송수신하는 방식을 의미합니다.

MDI/MDI-X란?

MDI(Medium Dependent Interface)

  • 직접 연결용 (straight-through) 케이블을 사용하는 포트 타입
  • 보통 컴퓨터, 라우터, 서버의 NIC는 MDI

MDI-X(MDI Crossover)

  • 크로스오버 연결용 포트 타입
  • 보통 스위치나 허브 포트가 MDI-X

과거에는 MDI ↔ MDI 또는 MDI-X ↔ MDI-X 간에는 크로스 케이블이 필요했는데 요즘은 대부분 장치가 Auto-MDI/MDI-X 기능을 지원해서 자동으로 맞춰줍니다.

ethtool에서 MDI/MDI-X 확인

  • MDI-X: on (auto) : 인터페이스가 MDI-X 모드로 설정되었으며, 자동 협상(Auto MDI/MDI-X)이 활성화된 상태.
  • MDI-X: off : MDI 모드로 고정
  • MDI-X: unknown : 상태를 확인할 수 없거나 하드웨어가 지원하지 않음.
ethtool ens10f0
Settings for ens10f0:
...
        MDI-X: on

MDI-X: on

더보기

---

$ ethtool ens10f0
Settings for ens10f0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: on
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

---

MDI-X: off

더보기

---

$ ethtool ens10f0
Settings for ens10f0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: off
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

---

Auto MDI/MDI-X

현대 NIC와 스위치는 Auto MDI/MDI-X를 지원합니다.

  • 연결된 장치의 핀 배치를 자동으로 감지하고, MDI 또는 MDI-X로 동적으로 전환.
  • 스트레이트 케이블이나 크로스오버 케이블을 구분하지 않아도 통신 가능.
  • ethtool 출력에서 Auto-negotiation: on과 함께 나타남.

MDI/MDI-X 설정 변경

일부 환경에서는 MDI/MDI-X를 수동으로 설정해야 할 수 있습니다. ethtool로는 직접 설정이 불가능하며 NIC 드라이버나 하드웨어 설정에 의존합니다

 

드라이버 모듈 옵션 변경

sudo modprobe e1000e MDI=0  # MDI로 강제 설정 (0=MDI, 1=MDI-X)

수동 설정 가능

ethtool -s ens10f0 mdix on

 

728x90
반응형