이더넷 패치 케이블 하나로 두 컴퓨터 사이에 파일 전송하기

Transfer files over an Ethernet patch cable

두 컴퓨터를 이더넷 케이블로 직접 연결하고 간단한 IP 설정만으로 파일을 전송하는 방법을 소개한다. 이 방법은 클라우드 저장소나 USB 드라이브보다 훨씬 빠르며, 약 900Mbps(분당 6.7GB)의 속도를 낼 수 있다. 저자는 이더넷이 저렴한 케이블로 기가비트 속도를 안정적으로 낼 수 있는 유일한 일반적인 연결 방식이라고 강조하며, 인터넷이 아닌 용도로도 이더넷이 과소평가되고 있다고 말한다.

이더넷은 저렴한 케이블로 두 기기 사이에서 안정적으로 기가비트 속도를 낼 수 있는 유일한 일반적인 연결 방식이다.
  1. rmunn

    그때는 크로스오버 케이블이 필요했어요. 저는 정확히 그렇게(크로스오버 케이블로) 해본 적이 있는데, 그건 https://en.wikipedia.org/wiki/Medium-dependent_interface#Aut... 이 널리 보급되기 전이었죠. 스트레이트-through 케이블을 사용하면 한 어댑터의 송신(TX) 핀이 다른 어댑터의 TX 핀에 연결되고, 수신(RX) 핀은 RX 핀에 연결되니까, 어느 쪽도 상대방이 보내는 메시지를 '듣지' 못하게 됩니다. 크로스오버 케이블은 그 선들을 뒤집어서, 각 장치의 TX 핀이 반대쪽의 RX 핀에 연결되도록 하여 양쪽 모두 서로를 '들을' 수 있게 했죠.

    하지만 자동 MDI-X가 도입되면서, 각 장치는 '이상하네, 보내는데 아무것도 안 받고 있네'라고 인식하고 송신과 수신 기능을 뒤집어 보게 됩니다(RX 핀으로 송신하고 TX 핀으로 수신). 각 장치는 그렇게 하기 전에 임의의 시간을 기다리기 때문에, 두 장치가 정확히 동시에 뒤집힐 가능성은 거의(사실상) 없었습니다. 그리고 만약 동시에 뒤집힌다 해도, 두 번째 간격도 동일할 가능성은 매우 낮았죠.

    위 설명은 약간 단순화한 것이지만, 대략 그런 흐름입니다. 그렇게 해서 제가 조심스럽게 라벨을 붙여둔 크로스오버 케이블들이 먼지를 쌓기 시작했습니다. (그리고 나서 '잠깐만, 이제 이걸 그냥 일반 케이블로 써도 되잖아'라는 걸 깨닫고, 다시 꺼내서 일반 패치 케이블과 섞어 쓰기 시작했죠.)

  2. steve1977

    사람들이 네트워크 케이블로 네트워크를 구성할 수 있다는 걸 발견하고는 그걸 '트릭'이라고 부르네요. (사실 '해킹'이라고 안 부르는 게 오히려 놀랍습니다.)

  3. yjftsjthsd-h

    IP를 할당할 필요가 없다는 확신이 95% 있습니다. 이렇게 하세요:

    # 인터페이스의 모든 링크-로컬 장치에 ping:

    ping ff02::1%eth0

    그런 다음 응답하는 유일한 IP로 socat/rsync/whatever를 하면 됩니다.

  4. yitchelle

    이 글은 저에게 8비트 시절에 크로스오버 RS232 케이블로 한 컴퓨터에서 다른 컴퓨터로 파일을 보내던 좋은 옛날을 떠올리게 하네요. 30bps에서도 테이프에 데이터를 저장했다가 다른 컴퓨터에서 읽는 것보다 훨씬 안정적이었습니다.

  5. sgt

    macOS에서는 훨씬 더 쉽습니다.

    다음과 같이 하면 됩니다:

    ifconfig enX inet6 fd42:dead:beef::1 prefixlen 48

    인터페이스를 올릴 필요는 없습니다. 이미 올라와 있을 테니까요. enX는 USB/Thunderbolt 이더넷 어댑터(예: en6)여야 합니다.

    그런 다음 socat으로 다른 머신(리눅스 머신이어도)에 전송하면 됩니다. 저는 nc를 주로 쓰지만 socat이 확실히 더 빠릅니다.

    왜 deadbeef 네트워크인지 궁금할 수 있는데, 이는 사설 공간이라 공용 주소와 충돌하지 않기 때문입니다.

    그렇긴 해도, 큰 파일의 99%는 그냥 AirDrop으로 보냅니다!

  6. 3r7j6qzi9jvnve

    tbstream은 재미있어 보이지만 일반 사용자가 사용하기엔 어렵네요. 더 간단해질지 모르겠지만, 파일 하나 전송하려고 configfs를 만지는 걸 기억할 것 같지는 않습니다:

    https://git.kernel.org/pub/scm/linux/kernel/git/westeri/thun...

  7. SillyUsername

    전송 중에 zstd로 파이프할 수도 있습니다. 압축이 잘 되는 데이터의 경우 원시 처리량의 1.5~3배를 자주 볼 수 있으므로, 기가비트 링크로 사실상 165–330MB/s를 이동할 수 있습니다.

    수신측:

    socat -u TCP6-LISTEN:1234,reuseaddr STDOUT | zstd -d -c | tar -xpf - -C /destination

    송신측:

    tar -C /source -cf - directory | zstd -T0 -6 -c | socat -u STDIN 'TCP6:[fd42:dead:beef::2]:1234'

    -T0는 모든 코어를 사용합니다. 레벨을 -6보다 높이면 더 압축되고, 낮추면 더 빨라지지만, CPU가 따라잡지 못하면 높은 레벨은 오히려 속도를 떨어뜨립니다. 이미 압축된 데이터는 큰 이점을 보지 못할 것입니다.

  8. awruko

    저는 실제로 케이블을 크로스오버로 바꿔야 했던 적이 있습니다. 어떤 데모였는데 크로스오버 케이블이 없었죠. 동네 컴퓨터 가게에도 없었고 시간에 쫓기던 상황에서... 주머니칼로 케이블을 개조해서 사용했습니다. 2000년 이전이라 속도는 10/100 Mbit로 제한되었지만 ifconfig에서 오류가 보고되지 않았고 데모는 순조롭게 진행되었습니다.

이 날의 다른 글

2026-08-31