값은 /sys/class/net/ethX/carrier
컴퓨터가 연결되어 있는지 확인하는 데 사용될 수 있습니다.
허브/스위치에 연결된 다른 컴퓨터인지 확인할 수 있습니까(이를 위해서는 크로스오버 케이블이나 "크로스오버" 자체를 지원하는 네트워크 인터페이스가 필요함)?
고쳐 쓰다:
답변을 읽은 후(감사합니다!) 보다 구체적인 사용 사례를 제공하면 질문의 의도를 명확히 하는 데 도움이 될 것 같습니다.
아이디어는 두 가지 작동 "모드"를 지원하는 장치를 갖는 것입니다.
- 일반 - 예: 스위치에 연결된 경우
- 구성 - 예를 들어 크로스오버 케이블이 아닌 일반 케이블을 사용하여 컴퓨터에 직접 연결할 때 일반적으로 작동하려면 크로스오버 케이블이 필요합니다.
구성 모드에서 장치는 DHCP 서버를 시작하고 "일반" 모드에서 허용되지 않는 매개변수 구성을 허용할 수 있습니다.
그렇다면 문제는 장치 자체가 컴퓨터에 연결되어 있음을 감지하고 그런 식으로 일반 모드에서 구성 모드로 전환할 수 있느냐는 것입니다. (사용자가 일반 케이블을 사용한다고 가정하면 크로스오버 케이블이라는 것이 있다는 사실조차 모르고 있을 가능성이 높기 때문입니다...)
답변1
이것이 의미하는 바라면 이더넷에는 어떤 형태의 클라이언트/서버도 없습니다. 스위치에 연결하는 것과 다른 컴퓨터에 연결하는 것에는 실제 차이가 없습니다.
크로스오버 케이블은 스위치의 핀이 뒤에서 앞으로 연결되어 컴퓨터가 말하는 라인에서 듣고 컴퓨터가 듣는 라인에서 대화하기 때문에 필요합니다. 컴퓨터를 컴퓨터에 연결하려면 스위치를 연결하는 케이블이 필요합니다. 위에 .
눈에 띌 수 있는 허브에는 매우 미묘한 차이가 있습니다. 허브는 어떤 방식으로든 패킷을 해석하지 않으므로 각 패킷을 다른 모든 장치로 전달하므로 패킷이 다른 컴퓨터의 (mac) 주소를 지정하는 컴퓨터로 전송되고 있음을 감지할 수 있습니다.
답변2
크로스오버 케이블이 사용되는지 여부를 소프트웨어를 통해 직접 확인할 수 있는 방법은 없습니다. 하드웨어에 관한 한 차이가 없기 때문입니다(전혀 작동한다고 가정). 호스트 스위칭 연결에는 크로스오버가 필요하지 않습니다. 스위치-스위치 또는 호스트-호스트 연결에는 크로스오버가 필요합니다. 그러나 현재 이더넷 표준에 따르면 양쪽 끝이 해당 포트에서 자동으로 크로스오버를 활성화할 수 있습니다. 따라서 a) 이러한 조합 중 하나이고 b) 어느 쪽도 자동 교차가 활성화되지 않은 경우를 제외하고는 알 수 없습니다.
교차가 필요하지만 사용되지 않기 때문에 포트가 내부 교차가 필요한 것을 감지하는지 확인할 수 있습니다.
케이블 양쪽의 장치 유형(호스트 대 스위치)을 보고 어느 쪽도 자체 포트에서 크로스오버를 활성화하지 않는지 확인하여 크로스오버가 사용되는지 추측할 수 있지만 일반적으로 이 정보는 어쨌든 사용할 수 없습니다. 그래서 아직은 불가능할 수도 있습니다.
답변3
ethtool
NIC의 MDI/X 모드에 대한 줄을 표시합니다. 테스트한 시스템에서는 알 수 없음이라고 표시되지만 작동할 것 같습니다.일부체계.
그러나 그것은 도움이 되지 않습니다. 로컬 교차 링크가 보이더라도 다른 호스트에 대한 직선 케이블이 있기 때문인지 아니면 스위치에 대한 크로스오버 케이블이 있기 때문인지 여전히 알 수 없습니다. 네이티브 크로스오버가 표시되지 않으면 리모컨이 크로스오버 모드로 전환되었는지 알 수 없습니다.
그런데 감지 케이블이 어떤 용도로 사용되는지도 알고 싶습니다. 거의 모든 장치는 Auto MDI/X를 지원하며, 케이블의 세부 사항은 케이블 길이와 같은 매우 중요하지 않은 낮은 수준의 세부 사항입니다.
또한 컴퓨터가 거의 개인 스위치처럼 브리지 역할을 할 수 있고 컴퓨터가 스위치에 연결될 수 있으므로 (직접 물리적 링크를 통해) 스위치에 연결되어 있는지 컴퓨터에 연결되어 있는지 아는 것도 별 의미가 없습니다. SSH를 사용하는 스위치.
DHCP 또는 Zeroconf와 같은 것을 사용해야 하는지 결정하려는 경우 비슷한 이유로 물리적 링크를 기반으로 결정을 내릴 수 없습니다. 스위치에 연결되어 있으면 DHCP 서버도 연결될 수도 있고 연결되지 않을 수도 있습니다. 컴퓨터에 연결하면 반대쪽 끝이 실행 중일 수도 있고 실행되지 않을 수도 있습니다. 따라서 직접 접촉보다 더 높은 수준에서 결정을 내려야 합니다.
답변4
ethtool
MDI-X의 상태를 표시할 수 있습니다.
...
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
MDI-X: on (auto)
...
그러나 다른 사람들이 지적했듯이 이는 로컬 컴퓨터의 상태일 뿐이며 다른 컴퓨터가 어떤 케이블이나 MDI-X 상태를 사용하고 있는지 알 수 있는 방법이 없습니다.
ethtool
기본 자동 MDIX 대신 MDIX를 강제로 켜거나 끌 수 있습니다.
ethtool -s devname [mdix auto|on|off]
그러면 연결이 설정될 수 있는지 확인할 수 있습니다. 상태에 관계없이 연결이 성공하면 다른 컴퓨터는 자동 MDI-X를 지원합니다.
알아채다모두 기가비트 이더넷 장치는 자동 MDI-X를 지원합니다.
케이블이 직선형인지 크로스오버형인지 테스트하려면 저렴한 RJ45 케이블 테스터를 사용할 수 있습니다.