아무도 모르는 설정을 바꿔서 집 인터넷 속도가 느린 문제를 해결했어요.

인터넷 속도가 느려질 때, 우리는 거의 항상 라우터를 재부팅하는 방법을 사용합니다. 경우에 따라서는 이 방법이 효과가 있을 수도 있습니다. 때때로 우리는 인터넷 서비스 제공업체(ISP)가 인터넷 속도를 제한하고 있다고 자동적으로 생각합니다.하지만 항상 그런 것은 아닙니다. 모든 속도 테스트에서 연결 속도가 훌륭해 보이더라도, 단순히 특정 문제로 인해 인터넷 사용 환경이 원활하지 않을 수도 있습니다.

아무도 몰랐던 설정을 바꿔서 집 인터넷 속도가 느려진 문제를 해결했어요.

저도 똑같은 문제를 겪었는데, 결국 해결책은 예상과는 달랐습니다. 제가 해야 할 일은 최대 전송 단위(MTU)를 실제 연결 제한에 맞추는 것뿐이었습니다. 그렇게 하니 지연 현상이 사라졌습니다.

MTU는 링크를 통해 손상 없이 전송될 수 있는 최대 IP 부하를 정의합니다.

패키지 분할 및 헤더 크기 초과에 대한 규칙이 실제 패키지 크기를 결정합니다.

LAN 포트가 있는 와이파이 라우터 USB 포트

MTU는 네트워크에 연결된 장치가 단편화 없이 허용할 수 있는 최대 데이터 패킷 크기(바이트)를 나타냅니다. 이 값은 대부분의 이더넷 네트워크에서 일반적으로 1500바이트로 설정됩니다. 1500이라는 숫자는 임의로 정해진 것이 아닙니다. 라우터는 수십 년 전 이더넷 프레임워크 설계의 제약 조건에 기반하여 보안을 확보하고 있으며, 이러한 제약 조건 중 상당수는 오늘날에도 여전히 사용되고 있습니다.

하지만 1500바이트는 단순히 데이터 크기만을 의미하는 것이 아닙니다. 패킷은 프로토콜 오버헤드를 나타내는 추가 데이터를 자연스럽게 포함하기 때문입니다. 일반적인 TCP 트래픽에서 이 오버헤드에는 IPv4 헤더 20바이트와 TCP 헤더 20바이트가 포함됩니다. 이를 고려하면 1500 MTU 환경에서 패킷에 허용되는 최대 크기는 실질적으로 1460바이트입니다. 이것이 바로 표준 네트워크에서 최대 TCP 세그먼트 크기(MSS)가 1460바이트인 이유입니다.

패킷 크기가 통과해야 하는 MTU(멀티튜드 터미네이션) 범위를 초과할 경우 문제가 발생합니다. 이러한 경우 라우터가 패킷을 더 작은 부분으로 분할해야만 성공적으로 통과할 수 있습니다. 하지만 이 과정은 리소스 집약적이며, 각 부분에 고유한 IP 헤더가 있고 목적지에서 다시 조립되어야 하므로 더 많은 CPU 작업과 캐싱 공간을 필요로 합니다. 이 과정 자체는 대역폭을 줄이지는 않지만, 패킷 전송의 복잡성과 민감도를 증가시킵니다.

실제 인터넷 경로에서는 사용 가능한 MTU가 1500 미만으로 줄어드는 경우가 많습니다.

포장 및 접근 기술로 인해 사용 가능한 화물 공간이 줄어듭니다.

1500바이트가 모든 곳에서 통용된다고 생각할 수 있지만, 사실은 그렇지 않습니다. 1500바이트는 많은 가정용 인터넷 연결에서 사용되는 최대 전송 단위(MTU)보다 큽니다. PPPoE(Point-to-Point over Ethernet)는 일부 광섬유 네트워크와 여러 DSL 옵션에서 사용되는 일반적인 표준입니다. PPPoE를 사용하려면 8바이트의 추가 비용이 발생하여 실제 MTU가 1492바이트로 줄어들게 되므로, 라우터가 1492바이트 터널을 통해 1500바이트 패킷을 전송해야 할 경우 패킷 조각화가 발생할 수밖에 없습니다.

데이터를 추가적인 패키징으로 캡슐화해야 하는 경우, 실제 페이로드 공간에 영향을 미칩니다. 예를 들어, VLAN은 4바이트 태그를 제공합니다. 이 태그는 트래픽에 대한 가상 네트워크를 식별하는 데 필요하지만, 페이로드 공간을 줄입니다. CGNAT(Carrier-Level Network Address Translation)와 DS-Lite도 마찬가지입니다. DS-Lite의 경우, IPv4 트래픽을 IPv6 패킷 내부에 포함시켜 ISP 네트워크를 통해 트래픽을 라우팅하면 추가 헤더가 추가됩니다. VPN은 원래 패킷을 새로운 패킷의 페이로드로 사용하며, 이 새로운 패킷에는 새로운 헤더가 필요합니다.

이 모든 경우는 이미 포장된 상자에 추가 포장을 더하는 것과 같으며, 상자가 통과해야 하는 경로의 크기는 늘리지 않습니다. 상자가 분할되어야만 통과할 수 있습니다.

모바일 네트워크에서는 상황이 더 복잡해집니다. LTE와 5G는 이더넷보다 낮은 1500바이트의 MTU(Maximum Transfer Unit) 값을 사용하기 때문입니다. 통신사의 구현 방식에 따라 MTU 값은 1420에서 1480 사이입니다. 일반적으로 연결 제한은 경로상의 어느 지점에서든 가장 작은 MTU 값과 같습니다. 라우터가 이 제한을 준수하지 못하면 패킷 조각화 또는 패킷 손실이 발생할 수 있습니다. 이것이 인터넷 속도가 느린 이유 중 하나일 수 있습니다..

자동 MTU 조정 메커니즘이 항상 고장을 방지하는 것은 아닙니다.

MTU 경로 감지, ICMP 필터링 및 블랙홀 동작

구글 픽셀 10 프로의 Wi-Fi 연결 목록

이론상으로는 훌륭한 자동 패킷 조각화 방지 솔루션이 있습니다. 바로 경로 MTU 감지(PMTUD)입니다. 작동 방식은 다음과 같습니다. 장치가 패킷을 전송할 때 "조각화 금지" 비트를 설정할 수 있습니다. 이 비트가 설정되면 수신 라우터는 메시지를 전송합니다. ICMP 유형 3 코드 4다운스트림 패킷 크기가 MTU를 초과하는 경우 "단편화가 필요합니다".

문제는 실제로 많은 방화벽이 기본적으로 ICMP를 차단한다는 점입니다. 따라서 대용량 패킷이 드롭되고, 방화벽 필터링으로 인해 발신자는 패킷 크기가 너무 크다는 사실을 인지하지 못하게 됩니다. 이러한 패킷 드롭으로 인해 TCP는 재전송을 시도하고, 롤백 타이머가 기하급수적으로 증가합니다. 이러한 상황을 MTU 블랙홀이라고 하는데, 트래픽이 흐르는 것처럼 보이지만 대용량 패킷이 지속적으로 전송에 실패하는 현상입니다.

최신 운영 체제는 ICMP에 의존하지 않고 패킷 크기를 확인하는 RFC 4821 패킷화 계층 경로 MTU 검색(PLPMTUD)을 구현하여 일부 오류를 완화하려고 합니다. 그러나 라우터, ISP 장비 및 VPN 엔드포인트에서 패킷 단편화가 효과적으로 처리되지 않는 경우가 있습니다. 이는 속도 테스트 결과에는 나타나지 않지만, 실제로는 지연 시간 변동성이 누적되는 결과를 초래합니다.

라우터에서 MSS 설치를 구현한 경우 MTU 불일치를 해결하는 대신 숨길 수 있으므로 증상이 일관되지 않고 나타날 수 있습니다.

MTU를 측정하고 수정하면 종단 간 패킷 흐름이 원활해집니다.

계산 방법을 이해한다면 올바른 MTU를 찾는 것은 쉽습니다. ping 명령어를 사용하여 테스트해야 하는 경우, IPv4 헤더는 20바이트이고 ICMP는 8바이트를 추가하여 총 헤더 크기가 28바이트라는 점에 유의하십시오. 따라서 1472바이트의 페이로드에서 IPv4와 ICMP 헤더에 각각 28바이트씩 더하면 총 1500바이트가 됩니다. 이 값부터 단편화가 발생하지 않을 때까지 페이로드 크기를 줄여나가십시오. 사용 가능한 MTU는 28바이트에 성공적으로 전송된 가장 큰 페이로드 크기를 더한 값이 됩니다.

다음은 윈도우 명령어입니다.

핑 8.8.8.8 -f -l 1472

저는 `-f` 옵션을 사용하여 `Don't Fragment` 비트를 설정하고 `-l` 옵션을 사용하여 페이로드 크기를 지정합니다. 목표는 일관된 성공 응답을 받을 때까지 페이로드 크기를 계속 줄이는 것입니다. 이에 해당하는 Linux 명령어는 다음과 같습니다.

ping -M do -s 1472 8.8.8.8

macOS에서는 해시 처리 방식이 버전별로 다르기 때문에 상황이 약간 다릅니다. MTU 경로 검사를 더 정확하게 하려면 다음과 같은 도구를 사용하는 것이 좋습니다. MTR 홈브루를 통해.

MTU 테스트는 8.8.8.8뿐만 아니라 여러 대상 IP 주소를 대상으로 항상 수행해야 합니다. 특정 경로에서는 블랙홀 현상이 발생할 수 있지만 다른 경로에서는 발생하지 않을 수 있기 때문입니다.

원하는 고정값을 알게 되면 라우터의 WAN 인터페이스에서 MTU를 설정하는 것이 가장 좋습니다. 이렇게 하면 모든 장치를 개별적으로 구성할 필요가 없습니다. 아래 표는 다양한 연결 유형에 대한 대략적인 예상치를 보여줍니다.

연결 타입일반적으로 예상되는 MTU 값
표준 이더넷(직접 케이블/광섬유 연결, PPPoE 미지원)1500
PPPoE (DSL 또는 일부 광섬유 인터넷 서비스 제공업체)1492
VLAN으로 표시된 인터넷 서비스 제공업체 연결1496-1500 (인터넷 서비스 제공업체의 애플리케이션에 따라 다름)
LTE/4G/5G 모바일 네트워크약 1420~1480 (통신사에 따라 다를 수 있음)
IPSec VPN(터널링 모드)1380-1460 (제품 코드 및 포장에 따라 다름)
와이어가드(오리지널 MTU 1500)~ 1412
오픈VPN(UDP 모드)1300~1450 (설정에 따라 크게 달라짐)

 

맨 위로 이동 버튼