MTU는 Maximum Transmission Unit의 약자로, 간단하게 말하면 한번에 보낼 수 있는 데이터의 최대 전송 크기를 말한다. 윈도우의 기본 값은 1500으로 설정되어 있다.
기술적인 부분은 나도 정확하게 이해하지 못하기에 세세하게 설명할 수 없지만, 내가 이해하는 선에서 간단하게 설명한다면 링크를 클릭했을 때 주소를 한꺼번에 DNS에 보내는게 아니라, 쪼개서 보낸다는 의미다.(DNS를 예로 든건 그나마 이해하기 쉬운 예이기 때문이다. 정확히는 DNS가 아니다.)
예를 들어 MTU가 1500일때 오늘의 유머로 가겠다고 브라우저에 'https://www.todayhumor.com'를 입력하거나 링크를 클릭하면 DNS는 이 주소를 그대로 받게 된다. 검열 프로세스는 자신이 가지고 있는 리스트와 비교해서 동일한 주소가 있다면 차단하게 된다.
만약 MTU가 400이면 이 주소를 쪼개서 보내게 된다. 즉 https://www.todayhumor.com을 입력하면 DNS는 1차로 'https://w'를 받고, 2차로 'ww.today'를 받게 되고, 3차로 'humor.com'을 받게 된다.
물론 최종프로세스에서 이렇게 3개로 쪼개진 주소를 하나로 합치게 되지만, 중간에 있는 검열 프로세스는 쪼개진 주소를 받아 자신이 가진 리스트와 비교하기 때문에, 동일한 주소라 할지라도 쪼개진 주소별로 비교하기 때문에 필터링을 피할 수 있게 되는 것이다.
- '시작'버튼을 누르고 'CMD'를 검색한다.
- 나타난 리스트에서 '명령프롬프트'를 마우스 오른쪽 키를 눌러 '관리자 권한'으로 실행한다.
-프롬프트 창에 다음 명령어를 입력
C:\> netsh interface ipv4 show interfaces
색인 메트릭 MTU 상태 이름
--- ---------- ---------- ------------ ---------------------------
4 35 1500 connected Wi-Fi
2 25 1500 connected 로컬 영역 연결* 1
10 25 1500 connected 로컬 영역 연결* 2
3 5 1500 connected 이더넷
7 55 1500 connected Bluetooth 네트워크 연결
여기서 색인 넘버를 확인한다.
중요한 항목은 'Wi-Fi'와 '로컬영역 연결*1'이다. (사용자 환경에 따라 다를 수 있다)
현재 보이는 화면에서 'Wi-Fi'의 색인 넘버는 '4'고 '로컬영역 연결*1'은 '2'다.
색인 넘버를 확인했다면 다음 명령어를 입력한다.
C:\> netsh interface ipv4 set subinterface 색인 넘버 mtu=400 store=persistent
위의 경우 다음과 같다.
Wi-Fi 변경
C:\> netsh interface ipv4 set subinterface 4 mtu=400 store=persistent
로컬영역 연결*1
C:\> netsh interface ipv4 set subinterface 2 mtu=400 store=persistent
두 값을 모두 변경했다면 netsh명령어를 이용해 결과를 확인한다.
C:\> netsh interface ipv4 show interfaces
색인 메트릭 MTU 상태 이름
--- ---------- ---------- ------------ ---------------------------
4 35 400 connected Wi-Fi
2 25 400 connected 로컬 영역 연결* 1
10 25 1500 connected 로컬 영역 연결* 2
3 5 1500 connected 이더넷
7 55 1500 connected Bluetooth 네트워크 연결
위와 같이 변경되었다면 성공.