이 글에서는 Windows Server 2016과 Windows 10에서 내장 도구와 서드파티 도구를 활용해 네트워크 데이터 전송 속도를 제한하는 방법을 소개합니다. 기본적으로 Windows 애플리케이션은 사용 가능한 네트워크 인터페이스 대역폭의 상당 부분을 차지합니다. 특정 작업(주로 SMB 공유 네트워크 폴더)이 네트워크 어댑터의 가용 대역폭을 모두 사용해버리면 다른 애플리케이션에 문제가 발생할 수 있습니다. 네트워크 공유 폴더에서의 최대 파일 복사 속도를 제한하면 다른 앱 사용자에게 네트워크 어댑터 자원을 안정적으로 보장할 수 있습니다.
TCP/IP 네트워크에서 트래픽 클래스나 우선순위를 관리하려면 QoS(Quality of Service) 기술을 사용합니다.
Windows에서 QoS 그룹 정책 구성하기
Windows에서는 QoS GPO 설정을 통해 트래픽 우선순위를 관리할 수 있습니다. 이 예제에서는 모든 아웃바운드 연결의 데이터 전송 속도를 제한해 보겠습니다. (사용자가 서버에서 파일을 복사하는 경우에도 정책이 적용됩니다.) 이 방법을 응용하면 특정 앱, 포트 또는 호스트/사이트에 대한 전송 속도도 제한할 수 있습니다.
QoS 그룹 정책은 다음 버전부터 지원됩니다.
- Windows Server 2008 이상
- Windows Vista 이상
먼저 네트워크 어댑터 설정에서 QoS 패킷 스케줄러(Qos Packet Scheduler) 옵션이 활성화되어 있는지 확인합니다.

- 로컬 그룹 정책 편집기(
gpedit.msc)를 실행하고 컴퓨터 구성 → Windows 설정 → 정책 기반 QoS로 이동한 후 새 정책 만들기를 클릭합니다.
- 정책 이름을 지정하고 아웃바운드 스로틀 속도 지정(Specify Outbound Throttle Rate) 옵션에 체크한 뒤 스로틀 속도(Throttle Rate)를 설정합니다. 이 값은 아웃바운드 트래픽을 제한하려는 속도로, MBps/KBps 단위로 입력합니다.
참고: DSCP 값도 함께 설정할 수 있습니다. DSCP(Differentiated Services Code Point)는 Cisco나 Mikrotik 같은 고급 라우터에서 활용되며, 라우터는 네트워크 패킷의 DSCP 값에 따라 우선순위를 부여합니다. 라우터의 DSCP QoS 설정을 정확히 모른다면 이 옵션은 사용하지 않는 것이 좋습니다.
- 그다음 정책을 적용할 프로세스/앱(.exe 실행 파일) 또는 IIS http(s) 사이트를 선택할 수 있습니다. 여기서는 모든 애플리케이션(All applications) 옵션을 선택했습니다.

- 정책을 적용할 컴퓨터의 IP 인터페이스를 지정할 수도 있습니다. 네트워크 어댑터가 여러 개이거나 IP 별칭(alias)을 사용하는 환경에서 유용합니다.
- 대상 IP 주소를 지정하여 해당 주소로 향하는 전송 속도만 제한할 수도 있습니다.

- 마지막으로 정책을 적용할 프로토콜(TCP, UDP 또는 TCP와 UDP 모두)을 지정합니다. 원본 포트와 대상 포트도 선택 가능합니다. 앱이 어떤 프로토콜을 사용하는지 확실하지 않다면 TCP와 UDP를 선택하세요. SMB 공유 폴더의 파일 접근 속도를 제한하려면 TCP와 포트 445를 선택하면 됩니다.

이것으로 Windows QoS 정책 구성이 완료되었습니다. 재부팅은 필요 없으며, 변경 사항이 적용되는 즉시 네트워크 데이터 전송 속도가 조절됩니다. 단, 정책 편집기에서 Throttle Rate 값은 MB 단위로 선택했더라도 킬로바이트(KB) 단위로 표시된다는 점에 유의하세요.

여기서는 모든 앱과 모든 포트를 대상으로 정책을 적용했기 때문에, 최대 네트워크 파일 전송 속도가 3MB로 제한됩니다(파일 탐색기 explorer.exe를 통한 파일 복사 포함). 아래 스크린샷에서 구성된 QoS 정책이 Windows의 네트워크 파일 전송 속도를 실제로 낮추는 모습을 확인할 수 있습니다.

또한 컴퓨터 구성 그룹 정책 섹션에서만 사용할 수 있는 고급 QoS 정책도 존재합니다. Inbound TCP Traffic 탭에서 인바운드 TCP 트래픽을 제한할 수 있습니다(DSCP Marking Override 탭은 DSCP 설정과 관련된 항목으로, 여기서는 다루지 않습니다).

트래픽 제한에는 총 4단계 레벨이 있으며, 각 레벨별 속도는 다음 표와 같습니다.
| 인바운드 TCP 처리량 레벨 | 최대 전송 속도 |
| 0 | 64KB |
| 1 | 256KB |
| 2 | 1MB |
| 3 | 16MB |
PowerShell로 Windows 네트워크 QoS 정책 관리하기
PowerShell을 사용하면 네트워크 QoS 정책을 손쉽게 만들고 관리할 수 있습니다. 예를 들어 SMB(공유 파일) 트래픽의 대역폭을 제한하는 QoS 정책을 생성하려면 다음 명령을 사용합니다.
New-NetQosPolicy -Name "SMBRestrictFileCopySpeed" -SMB -ThrottleRateActionBitsPerSecond 10MB
Name : SMBRestrictFileCopySpeed Owner : Group Policy (Machine) NetworkProfile : All Precedence : 127 Template : SMB JobObject : ThrottleRate : 10.486 Mbits/sec
컴퓨터에 적용된 QoS 정책 목록을 확인하려면 다음 명령을 실행합니다.
Get-NetQosPolicy

QoS 정책을 수정하거나 삭제할 때는 각각 Set-NetQosPolicy와 Remove-NetQosPolicy cmdlet을 사용합니다.
Remove-NetQosPolicy -Name SMBRestrictFileCopySpeed
Set-SmbBandwidthLimit: PowerShell로 SMB 대역폭 제한 설정하기
Set-SmbBandwidthLimit cmdlet을 사용하면 SMB 프로토콜을 통한 파일 전송 속도를 제한할 수 있습니다. 먼저 PowerShell로 Windows Server 구성 요소인 SMB Bandwidth Limit를 설치합니다.
Add-WindowsFeature -Name FS-SMBBW
또는 그래픽 서버 관리자(Server Manager)에서 설치할 수도 있습니다(Windows 기능 추가 → SMB Bandwidth Limit).
이 모듈은 주로 Hyper-V Live Migration의 대역폭 제한을 구성하는 데 사용됩니다. 예를 들어 다음 명령은 가상 머신 마이그레이션 최대 속도를 100MB/s로 제한합니다.
Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 100MB

-Category Default 매개변수를 사용하면 SMB를 통한 일반 파일 전송 트래픽도 제한할 수 있습니다.
Set-SmbBandwidthLimit -Category Default -BytesPerSecond 10MB
FS-SMBBW 구성 요소는 Windows Server 2012 R2 이상에서 사용할 수 있습니다.
Robocopy에서 파일 전송 대역폭 조절하기
Robocopy를 사용할 때도 특수 매개변수를 통해 네트워크상에서 파일을 복사/이동하는 속도를 제한할 수 있습니다. 바로 /ipg(Inter Packet Gap) 옵션입니다. 이 옵션은 패킷 간 간격을 밀리초 단위로 설정하여, 저속 회선에서 파일을 복사할 때 네트워크 부하를 줄이는 데 활용됩니다. Robocopy는 네트워크로 데이터를 64KB 블록 단위로 전송하므로, 회선 대역폭을 알고 있다면 필요한 전송 속도에 맞게 /ipg 값을 계산할 수 있습니다.
복잡한 계산식을 직접 다루고 싶지 않다면 Robocopy IPG 계산기를 이용해 보세요: https://www.zeda.nl/index.php/en/robocopyipgcalculator-en-2

느리거나 불안정한 네트워크 연결로 데이터를 복사할 때는 BITS 프로토콜을 사용하는 것도 좋은 방법입니다(BITS와 PowerShell로 대용량 파일을 복사하는 방법에 대한 글의 예제 참조). BITS 프로토콜은 회선 부하에 따라 두 호스트 간 데이터 전송 속도를 동적으로 조절할 수 있으며, 전송이 끊긴 경우 이어받기(재개)도 지원합니다.
서드파티 도구를 이용한 트래픽 셰이핑
Windows에서 포트, 앱, 대상별로 처리량을 제한하는 가장 널리 알려진 상용 솔루션은 NetLimiter이며, 무료 도구 중에서는 TMeter Free가 가장 인기가 있습니다.
그 외에 살펴볼 만한 도구는 다음과 같습니다.
- GlassWire – 방화벽과 네트워크 모니터 기능까지 겸비
- NetBalancer – 네트워크 모니터링 및 트래픽 규칙 설정
- cFosSpeed – 앱별 트래픽 우선순위 구성 가능
- Net Peeker – GlassWire처럼 방화벽 기능을 갖추고 있으며 트래픽 우선순위 설정 가능
Windows QoS 정책만으로도 네트워크 데이터 전송 속도를 충분히 효과적으로 제한할 수 있으므로, 전송 속도 제한이 필요하다면 먼저 QoS를 시도해 보는 것이 좋습니다. 다른 정책과 마찬가지로 gpmc.msc 콘솔을 통해 도메인 수준에서 일괄 구성할 수도 있습니다.
서드파티 소프트웨어는 더 많은 기능과 직관적인 그래픽 인터페이스를 제공하지만, 대부분 상용 프로그램이라는 점은 감안해야 합니다.