서비스 유형

Type of service

서비스 유형(ToS) 필드는 IPv4 헤더의 두 번째 바이트다.수년 동안 다양한 목적을 가지고 있었으며, 5개의 RFC에 의해 다른 방식으로 정의되었다.[1]

재정의에 앞서 ToS 필드는 데이터그램의 우선 순위를 지정하고 대기 시간이 짧거나 처리량이 많거나 신뢰성이 높은 서비스를 위한 경로를 요청할 수 있었다.이러한 ToS 값에 기초하여 패킷은 우선 순위에 따라 송신 대기열에 배치되거나 [2]적절한 대기 시간, 처리량 또는 안정성의 경로를 취하게 된다.실제로, ToS 분야는 미국 국방부 네트워크 밖에서 널리 사용되는 것을 본 적이 없다.그러나 이 8비트를 어떻게 활용할 것인가에 많은 실험, 연구, 배치 작업이 집중되어 현재의 DS 필드 정의가 나오게 되었다.

IPv6 패킷트래픽 클래스 필드에도 사용되는 ToS 필드의 현대적 재정의는 6비트 DSCP(Differential Services Code Point) 필드와[3] 2비트 ECN(Exprematic Bloom Notification)[4] 필드로 구성된 8비트 차별화된 서비스 필드(DS 필드)이다.Differential Services는 ToS와 다소 역호환되는 반면 ECN은 그렇지 않다.

역사

IP 헤더에 있는 Type of Service 필드는 원래 RFC 791에 정의되었으며, 그 이후로 IP PriorityToS로 해석되었다.이 정의는 주로 메시지 우선순위를 정의하는 미국 DoD 규격 JANAP-128에서 도출되었다.각 IP 패킷에 우선 순위를 할당하는 메커니즘은 물론, 높은 처리량, 높은 신뢰성 또는 낮은 지연 시간 등과 같은 구체적인 처리를 요청하는 메커니즘을 정의했다.RFC 1349 업데이트에서는 통화 비용 비트가 도입된다(이 비트는 이전에 "미래 사용을 위해 예약됨"으로 표시됨).RFC 1583(OSPFv2)의 섹션 2.4는 ToS 인식 라우팅 방법을 도입한다.

실제로, 필드의 IP 우선 순위 부분만 미국 DoD 네트워크 밖에서 사용된 적이 있다: IP 우선 순위 필드의 값이 높을수록 IP 패킷의 우선 순위도 높았다.일부 미국 DoD 네트워크는 두 경로가 존재할 때 해양 케이블 경로와 위성 통신(SATCOM) 경로 사이의 경로 선택에 지연 비트를 사용했다.IPv6에는 IPv4와 같은 "전통적인" ToS 필드가 없었는데, 부분적으로 저자들이 그것의 초안(RFC 2460 섹션 7)에서 DiffServ의 노력을 알고 있었기 때문이다.

RFC 2474에서 이 전체 필드의 정의가 변경되었다.현재는 "DS"(Differentified Services, "DiffServ") 필드라고 불리며, 상위 6비트에는 "DSCP"(Differentified Services Code Point)라는 값이 포함되어 있다.DS의 상위 3비트는 IP 우선 순위와의 호환성을 유지한다.RFC 3168 이후 나머지 2비트(최소 2비트)는 명시적 정체 알림에 사용된다.

RFC 8622는 다른 트래픽(최상의 트래픽)이 미리 비워둘 수 있는 트래픽에 대해 LE(Lower-effort) DS를 추가했다.시간상 우선순위가 낮은 대량 데이터 전송과 같이 우선순위가 낮은 백그라운드 트래픽을 위한 것이다.

할당

우선 순위 및 ToS

서비스 유형 필드는 사용이 중단되기 전에 RFC 791에서 다음과 같이 정의되었다.

7 6 5 4 3 2 1 0
우선 순위 서비스 유형 사용되지 않음(0)

우선 순위는 높은 우선 순위 패킷을 다른 패킷보다 더 중요하게 취급하는 3비트 필드였다.라우터가 혼잡하여 일부 패킷을 폐기해야 할 경우 우선 순위가 가장 낮은 패킷을 폐기한다.우선 순위 필드는 IP 버전 4의 일부였지만 결코 사용되지 않았다.

RFC 1349는 추가적으로 "저비용" 분야를 도입했다.이제 사용 가능한 4개의 ToS 비트가 다음과 같이 된다.

7 6 5 4 3 2 1 0
(IP 우선 순위) 저지연 처리량 신뢰성. 저비용(RFC 1349) (0이어야 함)

여기서의 명칭은 유닉스 운영체제의 규약을 따른다.[5]RFC 1349와 RFC 1060은 응용 프로그램 기본값을 위해 한 번에 1비트를 사용하는 예만 보여주지만, RFC 791은 세 가지 지표 중 거의 두 가지에서 명목상으로 설정해야 한다고 언급하고 있다.그러한 용도의 하나는 mod_iptos로부터 알려져 있다.[6]

마지막 세 비트는 RFC 2474(아래 참조) 이전에 많은 정의를 거쳤기 때문에 문서화와 구현은 혼란스럽고 모순될 수 있다.

DSCP 및 ECN

RFC 2474(1998년 12월 출시)는 DSCP(Differentified Services Code Point)에 대해 DS(또는 IPv4 ToS) 필드의 처음 6비트를 예약했고, RFC 3168은 명시적 정체 알림에 대해 마지막 2비트를 예약했다.

7 6 5 4 3 2 1 0
DSCP ECN

DSCP는 정의한 각 값에 대해 클래스 선택기(CS) 이름을 정의하며, 이전 규격을 준수할 경우 IP 우선 순위로 해석될 내용을 미러링한다.

DSCP/IP 우선 순위 변환 표
DSCP 이름 DS 필드 값(Dec) IP 우선 순위(설명)
CS0 0 0: 최선의 노력
LE 1 n/a
CS1, AF11-13 8,10,12,14 1: 우선 순위
CS2, AF21-23 16,18,20,22 2: 즉시
CS3, AF31-33 24,26,28,30 3: 플래시 - 주로 음성 신호에 사용됨
CS4, AF41-43 32,34,36,38 4: 플래시 오버라이드
CS5, EF 40,46 5: 중요 - 주로 음성 RTP에 사용됨
CS6 48 6: 인터넷 작업 제어
CS7 56 7: 네트워크 제어

DSCP 명명법:

CS
클래스 선택기(RFC 2474)
AFxy
보증 전달(x=class, y=drop priority)(RFC 2597)
EF
신속한 전달(RFC 3246)
LE
로어-에포트(RFC 8622)

위의 표에는 전체 ToS 필드의 값에 대해 개별 값이 기재되어 있다(소용 5비트 부분과 혼동되지 않음).

DSCP/ToS/IP 우선 순위 변환 표
DSCP 스티커 ToS 값 IP 사전
0 0 0
8 32 1
10 40 1
14 56 1
18 72 2
22 88 2
24 96 3
28 112 3
34 136 4
36 144 4
38 152 4
40 160 5
46 184 5
48 192 6
56 224 7

참고: 위 표에서 ToS는 소수점 형식으로 표시됨.그러나 많은 라우터는 ToS를 16진법으로 표현한다.

예제: 혼합 해석

우선 IP 우선 순위 1부터 시작0b0012진수로그러면 전체 ToS 필드가001 00000사용하지 않은 5비트가 0이라고 가정한다.DSCP는 다음으로 리세그먼트하여 해석할 수 있다.001000 00, where001000= 8은 DSCP 값이다.

소프트웨어 지원

자주 사용되지는 않지만 IP ToS 정의는 다음에서 광범위하게 발견된다.netinet/ip.hUnix 유사 또는 Unix 운영 체제의IPTOS_FIELDNAME매크로스[5]"저비용" 필드는 ECN 지원을 표시하기 위해 새로 사용되었기 때문에 OpenBSD에서 주석 처리된다.[5]이전 RFC 1349 용어의 잔재는 이 필드 설정을 지원하는 다른 도구뿐만 아니라 트랜스미션 2.93에서[7] 찾을 수 있다.

Ubuntu로 포장된 이전 아파치 모듈 "mod_iptos"는 여러 RFC 1349 옵션 비트를 함께 사용하는 방법이 어느 시점 이후에 나타났다고 언급하고 있다.[6]

참고 항목

참조

  1. ^ RFC 791, RFC 1122, RFC 1349, RFC 2474 및 RFC 3168.ToS 필드의 전체 내역은 RFC 3168의 섹션 22를 참조하십시오.
  2. ^ http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.qdisc.classless.html 리눅스 고급 라우팅 & 트래픽 제어
  3. ^ RFC 3260 섹션 4
  4. ^ RFC 3168 섹션 5
  5. ^ a b c "openbsd/src:sys/netinet/ip.h". GitHub. Retrieved 10 October 2018.
  6. ^ a b Gaudet, Dean. "mod_iptos.c (mod_iptos 1.0)". Archived from the original on 10 October 2018. Retrieved 10 October 2018.
  7. ^ "transmission 2.93:libtransmission/session.c". GitHub. Retrieved 10 October 2018.

추가 읽기

  • John Evans, Clarence Filsfils (2007). Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice. Morgan Kaufmann. ISBN 978-0123705495.

외부 링크