ToS
ToS
개요
ToS(Type of Service, 유형)는 인터넷 프로토콜(IP) 패킷의 헤더에 포함된 필드로, 네트워크에서 패킷이 전달될 때의 우선순위 및 처리 방식을 지정하는 데 사용됩니다. 이 필드는 주로 네트워크 트래픽의 품질을 제어하고, 특정 유형의 트래픽(예: 음성, 비디오, 일반 데이터)에 대해 우선순위를 부여하는 QoS(Quality of Service, 서비스 품질) 기능의 핵심 요소로 활용됩니다.
ToS는 초기 IPv4 헤더에서 8비트 크기를 가지며, 다양한 방식으로 해석되고 발전해왔습니다. 특히, 이후 DSCP(Differentiated Services Code Point)와 ECN(Explicit Congestion Notification)으로 확장되면서 현대 IP 네트워크에서 더 정교한 트래픽 관리가 가능해졌습니다.
ToS 필드의 구조
IPv4 헤더의 ToS 필드는 총 8비트로 구성되어 있으며, 다음과 같은 구조를 가집니다:
| 비트 | 0-2 | 3-5 | 6-7 |
|---|---|---|---|
| 이름 | Precedence (우선순위) | TOS 비트 (Delay, Throughput, Reliability 등) | 미사용 (최초 설계) / 이후 ECN으로 사용 |
1. 우선순위 (Precedence)
- 3비트로 구성되며, 패킷의 처리 우선순위를 나타냅니다.
- 0(일반)에서 7(네트워크 제어)까지의 8단계 우선순위를 가집니다.
- 예: 라우팅 프로토콜이나 네트워크 관리 트래픽은 높은 우선순위를 할당받음.
2. 서비스 유형 비트 (TOS 비트)
- 4비트로 구성되며, 다음의 서비스 특성을 요청:
- 비트 3:
D(Delay) – 지연 최소화 - 비트 4:
T(Throughput) – 처리량 극대화 - 비트 5:
R(Reliability) – 신뢰성 극대화 - 비트 6:
C(Cost) – 전송 비용 최소화 - 이 비트들은 라우터가 패킷을 전달할 경로를 선택할 때 고려할 수 있는 기준이 됩니다.
3. ECN (Explicit Congestion Notification)
- 나중에 ToS 필드의 마지막 2비트(6-7번 비트)가 ECN으로 재정의됨.
- 네트워크 혼잡을 명시적으로 알리는 기능을 제공.
- 혼잡 제어를 위해 TCP와 협력하여, 패킷 손실 없이 성능을 유지할 수 있도록 도움.
ToS의 발전: DiffServ와 DSCP
ToS 필드는 초기에는 제한된 방식으로만 사용되었으나, 인터넷 트래픽의 다양성이 증가함에 따라 더 유연한 QoS 모델이 필요하게 되었습니다. 이에 따라 IETF는 DiffServ(Differentiated Services) 아키텍처를 제안하였고, 기존 ToS 필드를 재정의하여 DS Field(Differentiated Services Field)로 사용하게 되었습니다.
DS Field와 DSCP
- 기존 ToS 필드의 상위 6비트를 DSCP(Differentiated Services Code Point)로 사용.
- DSCP는 0에서 63까지의 값을 가지며, 각 값은 특정 PHB(Per-Hop Behavior)를 의미.
- 예:
[EF](/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EC%84%9C%EB%B9%84%EC%8A%A4%20%ED%92%88%EC%A7%88/EF)(Expedited Forwarding) – 실시간 음성/비디오용 [AF](/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EC%84%9C%EB%B9%84%EC%8A%A4%20%ED%92%88%EC%A7%88/AF)(Assured Forwarding) – 다양한 수준의 보장된 전달- 라우터는 DSCP 값을 기반으로 패킷을 분류하고, 각 클래스에 따라 전달 우선순위를 결정합니다.
예시: 일반적인 DSCP 값
- DSCP 46 (EF): 실시간 트래픽 (VoIP)
- DSCP 34 (AF41): 고화질 비디오 스트리밍
- DSCP 0: 기본(best-effort) 트래픽
ToS의 실제 적용 사례
1. 기업 네트워크
- VoIP 전화 시스템에서 ToS/DSCP 값을 설정하여 음성 패킷에 높은 우선순위를 부여.
- 파일 전송이나 이메일과 같은 비실시간 트래픽과의 경쟁에서 음성 품질 유지.
2. 데이터 센터
3. 가정용 라우터
- 스마트 TV의 스트리밍 트래픽에 DSCP 마킹을 자동 적용.
- 게이밍 트래픽에 낮은 지연(D-bit 설정)을 요청.
ToS 설정 방법
ToS/DSCP 값은 다음 계층에서 설정될 수 있습니다:
- 애플리케이션 계층: VoIP 앱이나 스트리밍 소프트웨어가 패킷 생성 시 ToS 필드를 설정.
- 운영체제 계층: Linux에서
[iptables](/doc/%EA%B8%B0%EC%88%A0/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/Linux/iptables), Windows에서 QoS 정책을 통해 설정 가능. - 네트워크 장비 계층: 스위치나 라우터에서 ACL(Access Control List)을 통해 트래픽을 분류하고 재마킹.
예시 (Linux에서 iptables를 통한 DSCP 설정):
iptables -t mangle -A OUTPUT -p udp --dport 5060 -j DSCP --set-dscp 46
참고 자료 및 관련 문서
- RFC 791: IPv4 프로토콜 사양 (ToS 정의)
- RFC 2474: DS Field 정의 및 DSCP 사용
- RFC 3168: ECN 기능 정의
- DiffServ 아키텍처 (Differentiated Services)
ToS는 단순한 IP 헤더 필드를 넘어, 현대 네트워크에서 효율적인 리소스 분배와 고품질 서비스 제공의 핵심 기술 요소로 자리잡고 있습니다. 특히 DSCP 기반의 DiffServ 모델은 대규모 네트워크 환경에서 트래픽을 효과적으로 제어할 수 있는 실용적인 해법을 제공하며, 클라우드, 5G, IoT 등 미래 네트워크 기술에서도 계속해서 중요한 역할을 할 것입니다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.