이더넷 속도 느림 해결: MTU 최적화와 네트워크 드라이버 업데이트 완벽 가이드

이 글의 목적은 이더넷 속도 저하를 야기하는 MTU 불일치와 노후 드라이버를 체계적으로 진단·최적화하여 가정·사무실·데이터센터 환경에서 즉시 재현 가능한 성능 개선 절차를 제공하는 것이다.

왜 이더넷 속도가 느려지는가

이더넷 속도 저하는 주로 전송단위 크기(MTU) 불일치, 드라이버/펌웨어 노후, 이중 모드(Speed & Duplex) 불일치, 오프로드/버퍼 설정 비최적화, 케이블 품질 저하, 스위치·라우터의 점보프레임/흐름제어 설정 미스매치로 발생한다. 특히 MTU는 경로상 최소 MTU를 초과하면 단편화 또는 드롭이 발생하여 TCP 재전송이 증가하고 체감 속도와 지연이 악화된다.

핵심 개념 요약

용어설명권장값/비고
MTU (Maximum Transmission Unit)하나의 L2 프레임이 운반할 수 있는 최대 페이로드 크기이다.일반 이더넷 1500, 점보 9000
MSS (Maximum Segment Size)TCP 세그먼트 최대 크기(헤더 제외)이다. MTU에서 IP+TCP 헤더를 뺀 값이다.IPv4: MTU-40, IPv6: MTU-60
Path MTU송신↔수신 경로상 최소 MTU이다.경로마다 상이
PPPoE/터널 오버헤드PPPoE, GRE, VXLAN, IPsec 등 캡슐화로 유효 MTU가 감소한다.PPPoE 보통 1492 이하
Auto-Negotiation속도·이중 모드 자동 협상이다.가능하면 사용
주의 : MTU를 임의로 크게 설정하면 경로 중간 장비가 지원하지 않을 때 숨은 패킷 드롭이 발생한다. 반드시 경로 단위로 측정 후 설정해야 한다.

진단 순서 개요(10분 버전)

  1. 케이블·포트 확인: 케이블 Cat5e 이상, 길이 100m 이하, 포트 LED가 1G/2.5G/10G로 링크되었는지 확인한다.
  2. 스위치/라우터 설정 확인: 점보 프레임 사용 시 모든 구간에서 동일하게 활성화한다.
  3. 경로 MTU 측정: ICMP 단편화 금지 플래그로 최대 무손실 페이로드를 탐색한다.
  4. OS MTU 설정: 측정값에 맞춰 MTU를 적용한다.
  5. 네트워크 드라이버 업데이트: NIC 제조사 최신 드라이버와 펌웨어를 설치한다.
  6. NIC 고급 옵션 튜닝: RSS, 버퍼, 오프로드, EEE 등을 트래픽 특성에 맞춘다.
  7. 검증: iperf3, 파일 전송, 레이턴시를 재측정한다.

경로 MTU 측정 절차

Windows

ICMP 페이로드 크기(-l) + 헤더(28바이트) = MTU로 계산한다. 드랍이 발생하지 않는 최대값을 찾은 뒤 +28을 더해 MTU로 설정한다.

REM 관리자 PowerShell/명령프롬프트 ping {목적지_IP_또는_도메인} -f -l 1472 :: 성공이면 1472 + 28 = 1500 MTU가 유효 :: 실패 시 값(예: 1464, 1452...)을 낮추며 이진탐색 

Linux

# ICMP DF로 경로 MTU 탐색 ping -M do -s 1472 {host} # 성공 시 1500 MTU 가능 # 실패하면 -s 값을 줄이며 최대 성공 payload를 찾는다 

macOS

# macOS는 -D가 DF 플래그, -s가 payload ping -D -s 1472 {host} 
주의 : 일부 방화벽은 ICMP를 차단한다. 이 경우 같은 L2/사이트 내 테스트 호스트로 측정하거나 iperf3 MTU 옵션 대신 실제 전송 성능을 기준으로 보정한다.

운영체제별 MTU 설정

Windows 10/11

# 인터페이스 확인 Get-NetIPInterface | Sort-Object InterfaceMetric | Format-Table ifIndex,InterfaceAlias,NlMtu,AddressFamily
MTU 변경(예: 이더넷 어댑터, IPv4 MTU 1500)
Set-NetIPInterface -InterfaceAlias "Ethernet" -NlMtu 1500 -AddressFamily IPv4

IPv6도 필요한 경우
Set-NetIPInterface -InterfaceAlias "Ethernet" -NlMtu 1500 -AddressFamily IPv6

netsh 대안(서브인터페이스명 확인 후)
netsh interface ipv4 show subinterfaces
netsh interface ipv4 set subinterface "Ethernet" mtu=1500 store=persistent

Linux

# 일시 변경 sudo ip link set dev eth0 mtu 1500
영구 적용(NetworkManager)
sudo nmcli connection modify "유선_프로파일" 802-3-ethernet.mtu 1500
sudo nmcli connection up "유선_프로파일"

systemd-networkd 예시(/etc/systemd/network/10-wired.network)
[Match]
Name=eth0
[Link]
MTUBytes=1500

macOS

# 장치명 확인 networksetup -listallhardwareports
MTU 설정(예: en0)
sudo networksetup -setMTU en0 1500

점보 프레임(지원 장치/스위치에서만)
sudo networksetup -setMTU en0 9000

환경별 권장 MTU 기준표

환경권장 MTU설명
일반 이더넷 인터넷 회선1500대부분 ISP와 코어 장비가 기본 지원한다.
PPPoE 회선1492 또는 경로측정값PPPoE 오버헤드로 1500이 불안정할 수 있다.
IPsec/GRE/VXLAN 등 터널1400~1472캡슐화 오버헤드에 따라 경로측정 후 설정한다.
데이터센터 내부 L29000(점보)대용량 전송/백업에 유리하나 전 구간 일치 필요하다.
IPv6 최소≥1280표준상 IPv6는 1280 미만 비권장이다.
주의 : 점보 프레임은 NIC, 케이블, 스위치, 라우터, 방화벽, 가상스위치까지 모든 구간에서 동일 MTU가 보장될 때만 적용한다.

네트워크 드라이버 업데이트 절차

Windows

  1. 장치 관리자 열기 → 네트워크 어댑터 → 해당 NIC 더블클릭 → 드라이버 탭에서 버전을 기록한다.
  2. 메인보드/노트북 제조사 또는 NIC 제조사(Intel, Realtek, Broadcom, Qualcomm/Killer, Marvell, Aquantia) 공식 드라이버를 확보한다.
  3. 유선 연결 유지 상태에서 기존 드라이버 제거 후 재부팅 또는 설치 프로그램으로 상위 버전 적용한다.
  4. 고급 탭에서 오프로드 기능과 버퍼, RSS 등을 점검한다.

Linux

  • 배포판 커널 업데이트로 NIC 드라이버가 동반 최신화되는지 확인한다.
  • 서버 NIC(Intel ixgbe/i40e, Mellanox mlx5 등)는 벤더 DKMS/펌웨어 패키지를 고려한다.

macOS

내장 NIC는 시스템 업데이트에 포함된다. 써드파티 USB 2.5G/10G NIC는 제조사 드라이버와 펌웨어 유틸리티를 사용한다.

NIC 고급 설정 튜닝 체크리스트

항목권장설명
Speed & DuplexAuto-Negotiation양단 자동 협상 권장, 특수 이슈 시 고정값 일치 지정
Interrupt Moderation활성(일반), 저지연은 완화지연 vs CPU 사용량 절충
Receive/Transmit Buffers서버: 상향, 저지연: 기본대역폭·버스트 대응력에 영향
RSS (Receive Side Scaling)활성멀티코어 병렬 수신
Checksum Offload/LSO/LRO활성(문제 시 비활성 테스트)CPU 오프로드로 처리량 향상
Energy Efficient Ethernet(EEE)지연 민감 시 비활성절전에 따른 웨이크 지연 방지
Flow Control(Pause)L2 혼잡시 양단 일치혼잡 완화, 그러나 레이턴시 증가 가능
Jumbo Packet전 구간 호환 시 9000CPU 부하 감소, 혼합환경 주의

운영체제별 드라이버·설정 점검 명령 모음

Windows PowerShell

# NIC 드라이버/고급 속성 조회 Get-NetAdapter | Format-Table Name, InterfaceDescription, Status, LinkSpeed Get-NetAdapterAdvancedProperty -Name "Ethernet" | Format-Table DisplayName, DisplayValue
RSS/오프로드/버퍼 설정 예시
Set-NetAdapterRss -Name "Ethernet" -BaseProcessorNumber 0 -MaxProcessors 4
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Buffers" -DisplayValue "1024"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload v2 (IPv4)" -DisplayValue "Enabled"

Linux

# 링크/드라이버 확인 ethtool eth0 ethtool -i eth0 # 드라이버/펌웨어 버전 ethtool -k eth0 # offload 기능 ethtool -g eth0 # ring buffer
오프로드 설정 토글 예시
sudo ethtool -K eth0 tso on gso on gro on rx on tx on

2.5G/10G 링크 강제(지원 장치에서)
sudo ethtool -s eth0 speed 2500 duplex full autoneg on

macOS

# 링크 상태 ifconfig en0 netstat -ib | grep en0
USB NIC(벤더 툴 제공 시)에서 링크 속도/점보 설정 확인

라우터·스위치·방화벽 설정 포인트

  • 점보 프레임: 코어·액세스·서버 포트 모두 동일 MTU로 일괄 설정한다.
  • PPPoE: WAN 인터페이스 MTU를 1492로 내리고, LAN 측 MSS Clamping을 적용한다(예: 1452).
  • VPN: IPsec/GRE/VXLAN 오버헤드 기반 MTU 다운 및 MSS Clamping을 설정한다.
  • Flow Control: 혼잡 도메인에서 일관되게 적용하되 레이턴시 요구가 높으면 신중히 사용한다.
  • QoS: 대역폭 제한 정책이 병목을 만들지 확인한다.

케이블·하드웨어 검증

  • 케이블 규격: 최소 Cat5e, 2.5G/10G는 Cat6/6A 권장이다.
  • 길이/체결: 클릭감, 휘어짐, 피복 손상 여부를 확인한다.
  • 포트 교차검증: 다른 포트·스위치·NIC로 교차 연결해 링크 속도와 에러 카운트를 비교한다.

성능 검증 시나리오

  1. 경로 MTU 반영 후 동일 구간에 대해 ping 재검증한다.
  2. 대역폭: iperf3 서버/클라이언트로 양방향 측정한다.
  3. 파일전송: 동일 파일을 SMB/NFS/SCP로 전송하여 평균 속도를 기록한다.
  4. 지연/지터: 1KB와 64KB 페이로드로 레이턴시 변화를 비교한다.
# iperf3 예시 iperf3 -s # 서버 iperf3 -c {서버IP} -t 30 -R # 리버스 측정 iperf3 -c {서버IP} -t 30 -P 4 # 4 스트림 병렬 

실무 튜닝 레시피

시나리오 A: 일반 가정/사무실, PPPoE 회선

  1. ping DF로 최대 성공 페이로드 측정(예: 1464 성공) → MTU=1464+28=1492로 설정한다.
  2. 라우터에서 MSS Clamping 1452 적용한다.
  3. NIC 오프로드 활성, EEE는 지연 민감 앱이면 비활성한다.

시나리오 B: 파일 서버 백업, 점보 프레임

  1. L2 전 구간 9000 지원 확인 후 NIC/스위치/가상스위치 동일 MTU 9000 지정한다.
  2. RSS 활성, 수신/송신 버퍼 확장, Flow Control 일관 적용한다.
  3. iperf3와 실제 백업 작업으로 처리량을 검증한다.

시나리오 C: 재택 VPN

  1. 터널 오버헤드 고려해 MTU 1400~1472 범위에서 경로 측정으로 확정한다.
  2. VPN 게이트웨이에 MSS Clamping을 설정한다.
  3. 오프로드 일부 기능이 VPN과 충돌 시 해당 기능만 비활성하여 비교한다.

문제 해결 체크리스트

  • 링크 속도가 기대치보다 낮게 협상됨(예: 100Mbps 고정): 케이블 교체, 포트 교체, Speed & Duplex 자동으로 복귀한다.
  • 인터넷은 빠르나 내부 전송이 느림: 점보/오프로드/버퍼 일관성 점검한다.
  • 특정 사이트만 느림: 경로 MTU 재측정, DNS 지연, 트래픽 쉬이핑 확인한다.
  • 랜덤 끊김: EEE/절전 해제, 드라이버 상향, 전원관리에서 NIC 절전 해제한다.

자동화 스크립트 예시

Windows PowerShell: MTU 자동 탐색

$hostName = "8.8.8.8" $low = 1200; $high = 1472; $best = 0 while ($low -le $high) { $mid = [int](($low+$high)/2) $r = ping $hostName -f -l $mid -n 1 | Out-String if ($r -match "TTL=") { $best = $mid; $low = $mid + 1 } else { $high = $mid - 1 } } $mtu = $best + 28 "최대 무손실 페이로드: $best, 설정할 MTU: $mtu" 

Bash: 인터페이스별 MTU 요약

for i in $(ls /sys/class/net); do echo -n "$i: "; cat /sys/class/net/$i/mtu done 

로그·모니터링 포인트

  • Windows 이벤트 로그: e1cexpress, rt640x64 등 NIC 드라이버 이벤트 확인한다.
  • Linux dmesg/syslog: 링크 업/다운, 오류 카운터 확인한다.
  • 스위치 인터페이스 카운터: CRC, Giant, Fragment 증가 시 MTU/케이블을 의심한다.

요약

경로 MTU를 측정해 일치시키고, 최신 드라이버 및 일관된 NIC/스위치 설정을 적용하면 대부분의 이더넷 속도 저하는 해소된다. 점보 프레임은 전 구간 일치가 핵심이며, PPPoE/터널 환경은 MTU 하향과 MSS Clamping 조합이 효과적이다. 마지막으로 iperf3와 실제 워크로드로 재검증하여 결과를 수치화해야 한다.

FAQ

MTU 1500과 1492 체감 차이가 큰가?

순수 웹 브라우징에서는 차이가 미미하나, VPN/원격데스크톱/대용량 전송에서는 재전송 감소로 체감 차이가 나타난다. 경로 기준으로 안정적으로 동작하는 값이 항상 우선이다.

점보 프레임을 켰더니 오히려 느리다. 왜 그런가?

경로 중간 장비가 9000을 지원하지 않거나 NIC/스위치 설정이 불일치하면 프레임 드롭이 발생한다. 전 구간 지원 확인 후 동일 MTU를 강제해야 한다.

MSS Clamping은 언제 쓰는가?

PPPoE나 VPN처럼 MTU가 줄어드는 환경에서 TCP 세그먼트가 경로에서 단편화되지 않도록 라우터에서 최대 세그먼트 크기를 강제로 낮추기 위해 사용한다.

드라이버를 업데이트했더니 패킷 손실이 생긴다.

새 드라이버의 오프로드·절전 기본값이 변경되었을 수 있다. EEE를 비활성화하고 Checksum/LSO를 순차적으로 토글하며 재현 테스트로 원인을 좁혀간다.

2.5G/10G 업그레이드 시 주의사항은?

케이블 규격(Cat6/6A)과 스위치 백플레인 처리량, NAS/HDD 쓰기속도 병목을 함께 고려한다. 링크 속도만 높아져도 종단 I/O가 따라오지 않으면 체감 이득이 제한된다.