4월 28일 (일) 오전 12:37

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2024.06.05. / 장르 드람 / 국가 대한민국 감독 : 조지 밀러 출연 : 안야 테일러 조이, 크리스 헴스워스 등 ...
개봉 2024.05.22. / 장르 액션 / 국가 미국 감독 : 조지 밀러 출연 : 안야 테일러 조이, 크리스 헴스워스 등 ...
조회 수 1315

안녕하세요? NetmaniasTalk입니다.

오늘도 네트워크 초보자님들을 위한 코너로써 유선망에서의 QoS에 대해서 설명드리도록 하겠습니다.

Network에서 QoS라 함은 (1) 중요한 패킷(예. IPTV, VoIP, Business Traffic)과 그렇지 않은 패킷(예. 일반 인터넷 트래픽)을 구분하고, (2) 망에 Congestion이 발생(1GE 포트로 2Gbps의 트래픽이 나가야 하는 상황)하였을때 중요한 패킷을 먼저 보내 주고, 그렇지 않은 패킷은 drop하는 행위입니다.

오늘은 이 중에 (1)번, 즉 망에서 중요/비중요를 판별하기 위해 패킷을 어떻게 분류하는지에 대해 소개 드리겠습니다.

패킷 분류(Packet Classification)는 아래와 같이 크게 2가지 타입이 존재합니다.

 

  • Multi-Field(MF) Classification: 패킷 헤더 내에 포함된 다양한 필드들(예. IP 주소, TCP/UDP Port # 등)을 참조하여 그 패킷이 중요한 패킷인지 아닌지를 분류함
  • Behavior-Aggregate(BA) Classification: 패킷에 이미 QoS 정보가 포함되어 있어(Ethernet 패킷의 경우 802.1p CoS 필드, IP 패킷의 경우 DSCP 필드, MPLS 패킷의 경우 EXP 필드), 간단히 그 필드만 보면 중요한지 아닌지를 판단할 수 있는 분류 방법

 


통상적으로 가입자(아래 그림은 기업고객을 예로 함)가 망쪽으로 패킷을 송신하면, 그 패킷을 수신하는 첫번째 라우터가 MF Classification을 수행하고, 그 결과로 패킷 내에 QoS 정보(CoS, DSCP, EXP 중에 하나 또는 여러개)를 marking 합니다. 그러면 이후 라우터들은 그 QoS 정보만을 보고 패킷의 중요성을 판단할 수 있게 됩니다. 즉, 가입자와 연결된 첫번째 라우터(Edge Router)가 MF Classification을 수행하고 이후 라우터(Core Router)는 BA Classification을 수행하게 되지요.


1.gif


 


자. 그럼 패킷 헤더내에 어떤 필드들이 이 Classification에 사용되는지 좀 더 자세히 설명 드리겠습니다.


BA Classification

Ethernet 패킷의 경우 VLAN Tag가 붙을 수 있고, 이 VLAN Tag 내에 3bit의 802.1p(CoS) 필드가 있어, Ethernet 망(L2 switch로 구성되어 Ethernet MAC 주소 기반으로 MAC Learning 및 Switching하는 망)에서는 이 802.1p를 통해 패킷의 중요도를 판단할 수 있습니다. (예. VoIP의 802.1p=7, Internet의 802.1p=0)

MPLS 패킷의 경우 4Byte의 MPLS header가 붙게 되는데, 이 헤더내에 EXP라는 3bit 필드가 있습니다. 그래서 MPLS 망(MPLS router로 구성되어 label switching을 하는 망, 요즘 대부분의 통신사업자의 backbone은 MPLS를 사용함)에서는 EXP 필드를 통해 패킷의 중요도를 판단할 수 있습니다.

IPv4 패킷의 경우 8bit 크기의 TOS(Type of Service)라는 필드가 있으며, RFC 2474에서 이 중에 상위 6bit를 DSCP(DiffServ Code Point)라고 정의하였습니다. 그리고 총 14개의 DSCP 값을 미리 정의하고(EF, AF41, AF42, AF43, AF31, AF32, AF33, AF21, AF22, AF23, AF11, AF12, AF13, BE), 각 값마다 QoS의 중요도에 대한 표준을 잡아 놓았습니다. 그래서 IP 라우팅 망(IP 패킷의 Destination IP 주소 기반으로 패킷을 포워딩하는 망)에서는 이 DSCP를 통해 패킷의 중요도를 판단할 수 있습니다.


 

MF Classification

MF Classification은 들여다 봐야 하는 패킷의 헤더들이 좀 많습니다.

일단 L2 망에서는 패킷의 송신자(단말)와 수신자(단말)를 구분할 수 있는 Source MAC Address와 Destination MAC Address가 포함 될 수 있구요.

IPv4 망에서는 패킷의 송신자와 수신자를 표시하는 Source IP Address, Destination IP Address, 그리고 IP 헤더 다음에 L4 헤더가 무엇인지를 나타내는 Protocol ID(TCP=6, UDP=17)가 포함될 수 있구요

L4 헤더가 TCP나 UDP라면 TCP/UDP 모두에 들어 있는 Destination Port 혹은 Source Port를 통해 어떤 응용(예. HTTP=80)인지를 구분할 수 있기 때문에 이 Port 정보가 포함될 수 있습니다.

결국 MF Classification에서 들여다 보는 필드는 "누가(송신자) 누구에게(수신자) 어떤 응용(Port 정보)을 보내냐?"를 분석하여 그 패킷의 중요도를 결정하게 되는 것입니다.

그리고 한가지! "5-tuple"이란 용어가 있는데요. 이 5-tuple에 포함되는 필드는 {Source IP Address, Destination IP Address, Protocol ID, Source Port #, Destination Port #}입니다. 결국 방금전에 설명 드린 것과 같이 5-tuple은 "누가 누구에거 어떤 응용을 보내느냐?"를 구분할 수 있는 필드의 모음입니다.

그리고 또 한가지! 많은 분들이 아시는 바와 같이 업계에서는 이 MF Classifier를 ACL(Access Control List)이라고 부릅니다.

 


2.gif


 


다음에 기회가 되면 제가 경험했던 해외 사업자망(TPS 망)에서의 QoS 정책에 대해서 소개해 드리도록 하겠습니다. (책에 나오지 않는 실전 이야기)


지난번에 QoS에 대해서 아래와 같이 정의를 하였었는데요.


Network에서 QoS라 함은 (1) 중요한 패킷(예. IPTV, VoIP, Business Traffic)과 그렇지 않은 패킷(예. 일반 인터넷 트래픽)을 구분하고, (2) 망에 Congestion이 발생(1GE 포트로 2Gbps의 트래픽이 나가야 하는 상황)하였을때 중요한 패킷을 먼저 보내 주고, 그렇지 않은 패킷은 drop하는 행위입니다.


오늘은 (2)번 즉, 중요한 패킷을 먼저 보내는 방법(Scheduling Algorithm)에 대해서 소개해 드리겠습니다.


(1)번에 의해서 패킷이 분류가 되면, 이제 이 패킷이 출력포트(Output Port)로 나가기 위해 Queue에 매핑이 됩니다(예. VoIP 트래픽은 1번 Queue, VoIP 트래픽은 2번 Queue, Internet 트래픽은 3번 Queue). 통상적으로 하나의 출력포트에는 4개에서 8개의 Queue가 존재하며, 각 Queue에서 대기하는 패킷 중에 어떤 패킷을 먼저 뽑아 내보내 줄 것인지를 결정하는 다양한 Scheduling Algorithm이 있습니다.


오늘은 이 중에 SPQ(Strict Priority Queueing)와 DWRR/WFQ(Deficit Weighted Round Robin/Weighted Fair Queueing)에 대해서 설명 드리겠습니다.


 


  • SPQ는 Queue에 대기하는 패킷이 존재하면 무조건 이 패킷부터 출력포트로 내 보내 주는 알고리즘입니다. 그래서 보통 출력포트당 4~8개의 Queue가 있으면 이 중에 하나만 SPQ로 정의하고, 가장 중요한 패킷들은 이 Queue를 통해 나가도록 합니다.
  • DWRR/WFQ는 각 Queue에 정의(CLI로 설정)한 weight 값(정수값이든 %이든 아니면 대역폭 bps이든)에 의거하여 그 비율만큼 출력포트로 패킷을 내보낼 수 있는 기회(권한)를 가지는 Queue입니다.


 




총 9가지 예를 가지고 이 방식의 동작 원리에 대해서 설명 드리도록 하겠습니다. 본 예에서는 100Mbps Fast Ethernet Port에 3개의 Queue가 있다고 가정합니다.




3.gif





Example (1)


100Mbps 출력 포트로 총 220Mbps의 트래픽이 나가려고 합니다. 결과적으로 이 중에 100Mbps만큼은 나갈 것이고, 나머지 120Mbps 대여폭 만큼에 해당하는 트래픽은 drop이 되겠는데요.


Q1:Q2:Q3의 weight값을 5:3:2로 설정하였습니다. 이 말은 Q1은 50Mbps 까지 내보낼 수 있고, Q2는 30Mbps, Q3는 20Mbps 까지 내보낼 수 있다는 얘기입니다. 따라서 Q1으로 유입된 80Mbps 트래픽 중에 50Mbps만 나가고(30Mbps 트래픽은 drop), Q2로 유입된 50Mbps 트래픽 중에 30Mbps만 나가고(20Mbps 트래픽은 drop), Q3로 유입되는 90Mbps 트래픽 중에 20Mbps만 나가게 됩니다(70Mbps 트래픽은 drop).




Example (2)


동일 설정(Q1:Q2:Q3 = 5:3:2) 상황에서 Q1으로는 아무런 특래픽이 들어 오지 않고, Q2, Q3로 각각 100Mbps 트래픽이 유입됩니다. 이 경우, Q2와 Q3는 3:2로 대역폭을 나누게 되고, 따라서 Q2로는 60Mbps 트래픽이, Q3로는 40Mbps 트래픽이 나가게 됩니다.




4.gif





 


Example (6)


동일 설정(Q1:Q2:Q3 = 5:3:2) 상황에서 Q1~Q3로 유입되는 트래픽의 총 합이 100Mbps입니다. 즉, 출력포트 100Mbps 보다 크지 않은 상황(같은 상황)이고 이 경우 출력포트에 Congestion이 발생하지 않았으므로 각 Queue의 weight에 영향을 받지 않고 모든 트래픽이 출력 포트로 나가게 됩니다.


 




5.gif





 


 


Example (8)


Q1은 SPQ이고, Q2, Q3는 각각 Weight가 2:1인 DWRR/WFQ 큐입니다. Q1이 SPQ이므로 Q1으로 유입되는 트래픽은 출력포트 대역폭을 넘지 않는다면 무조건 먼저 나갑니다. 그래서 Q1으로 유입된 70Mbps 트래픽은 모두 나가게 되구요.


이제 남은 30Mbps 대역폭을 Q2와 Q3가 2:1로 나누게 되므로 Q2로는 20Mbps가 나가고(80Mbps 트래픽 drop), Q3로는 10Mbps 트래픽이 나가게 됩니다(90Mbps 특래픽 drop).


위 설명을 동영상으로 시청하고 싶으시면  넷매니아즈 e-Learning, "Per-Hop Packet Processing" 참조


출처 - http://blog.naver.com/netmaniascom/80144308664






  1. 새로운 가상화 기술 Docker와 컨테이너

    Docker사는 지난 6월 10일에 Docker 1.0 발표와 함께 Docker를 기반으로 한 애플리케이션 개발, 배포, 실행 기능을 갖춘 서비스 "Docker Hub"를 발표했습니다. Docker는 컨테이너형 가상화를 실현하는 오픈...
    Date2015.11.25 CategoryIT KNOWLEDGE
    Read More
  2. [Network Protocol] L3 Switch 구조에 대한 이해

    안녕하세요? NetmaniasTalk입니다. 아래 글은 예전에 Netmanias Magazine에 기고했던 글의 일부로써, L3 Switch(예. Cisco 6500 series, Juniper MX series)의 구조에 대한 설명입니다. ...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  3. [Network Protocol] IP QoS 소개

    안녕하세요? NetmaniasTalk입니다. 오늘도 네트워크 초보자님들을 위한 코너로써 유선망에서의 QoS에 대해서 설명드리도록 하겠습니다. Network에서 QoS라 함은 (1) 중요한 패킷(예. IPTV, VoIP, Bus...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  4. 라우터(ROUTER) 명령어 모음

    backspace : 한 문자를 삭제 bandwidth : 시리얼 인터페이스에 대역폭을 세팅 banner : 라우터에 로그인하는 사용자를 위한 배너 생성 clear counters : 인터페...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  5. 유용한 리눅스 명령어 모음

    adduser : 유저를 만들때 사용하는 명령 cd (change directory) : 디렉토리(윈도우에선 폴더) 변경할때 사용 chmod (change mode) : 파일의 허가상태 변경 chown (change owner) : 파일 소유권 병경 cp...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  6. 윈도우 텔넷(telnet) 명령어 모음

    ■ ls : 현재 파일을 보여줍니다. 일반적으로 여러 옵션을 줄수 있습니다 ■ ls -al : 파일의 크기부터 파일의 퍼미션, 그리고 히든 파일까지 보여줍니다 ■ ls -at : 파일이 생성된 시간까지 보...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  7. L4/L7 스위치의 대안, 오픈 소스 로드 밸런서 HAProxy

    Ncloud에서 하드웨어로 구성된 기존의 로드 밸런서(load balancer)를 대체할 수 있는 솔루션을 찾던 중 소프트웨어 로드 밸런서인 HAProxy를 검토하게 됐습니다. HAProxy를 검토하면서 정리한 자료와 사내 ...
    Date2015.09.25 CategoryIT KNOWLEDGE
    Read More
  8. 인 메모리 (In-memory Database)

    인메모리 데이터베이스(In-memory Database)는 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템이다. 디스크에 설치되는 방식에 비해 처리 속도가 빠르...
    Date2015.08.28 CategoryIT KNOWLEDGE
    Read More
  9. MySQL(Structured Query Language)

    1.MySQL 이란 무엇인가? 표준 데이터베이스 질의 언어인 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 시스템(RDBMS). 매우 빠르고, 유...
    Date2015.08.03 CategoryIT KNOWLEDGE
    Read More
  10. NUMA와 SMP(Symmetric Multi Processing)

    하드웨어가 발전하면서 하나의 메인보드에 여러개의 CPU, 버스, 메모리 컨트롤러를 구성할 수 있게 되었습니다. Numa는 간단하게 CPU와 메모리가 한 Set를 이루는 것을 의미합니다. [그림1] Numa 관...
    Date2015.06.15 CategoryIT KNOWLEDGE
    Read More
  11. 프로비저닝과 멀티테넌트 (Provisioning,Multi Tenant)

    프로비저닝(Provisioning)이란? 사전적의미 - 준비, 예비, 설비 make provisioning=준비하다 [IT에서 사용하는 의미] 무엇인가 여럿 중에 최적인 것을 찾기 위해 필요한 지...
    Date2015.05.29 CategoryIT KNOWLEDGE
    Read More
  12. QoS 이론 및 기초

    1. 트래픽 관리의 기초 "인터넷이 왜 이렇게 느려요?" "네트워크 접속이 잘 안되거든요?" 이 말은 네트워크 관리자들이 가장 듣기 싫어하는 말 중의 하나죠. ^^ 하지만 아무리 골치아픈 상...
    Date2015.05.11 CategoryIT KNOWLEDGE
    Read More
  13. NPS / RADIUS 서버

    NPS ( Network Policy Server ) 네트워크 정책 서버는 MS사에서 부른 명칭으로서 일반적으로 정식 명칭은 RADIUS ( Remote Authentication Dial-In User Service ) Server이다. @ RADIUS Server 구성 ...
    Date2015.04.18 CategoryIT KNOWLEDGE
    Read More
  14. DNS 정의와 계층 구조

    DNS 개관, 역사, 표준 초기 DNS의 개발과 계층 도메인으로의 이동1981년 9월 발표된 RFC 799, "Internet name domains"이 처음으로 이 개념을 도입실제로 도메인 자체보다는 도메인 간의 이메일 전송 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  15. MBR & GPT 구조적 차별성

    MBR(Master Boot Record)와 GPT(GUID Partition Table)의 구조적 차이 - 윈도우에서 사용할 수 있는 디스크 종류는 크게 2가지가 있다. : 전통적인 BIOS 방식의 시스템에서 사용되는 디스크 형식인 MBR 디...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  16. OFDM (Orthogonal Frequency Division Multiplexing)

    OFDM (Orthogonal Frequency Division Multiplexing) => OFDM이란 주파수 분할 다중화 방식(FDM)보다 진보된 기술로 직교성을 갖고 있다. OFDM을 설명하기 앞서서 Single Carrier와 Multi Car...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  17. 4G 이야기 - IEEE 802 무선 기술의 흐름

    광대역 통합망인 BcN은 무선 가입자망, 유선 가입자망, 방송 가입자망으로 크게 나눕니다. 무선 가입자망은 WiBro, WCDMA, HSDSPA, CDMA, 4G 등이 있을 것입니다. 향후 BcN에서는 유무선 통합망, 유무선 통...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  18. 무선 인터넷 망의 종류와 특성 (HSPDA,EV-DO,LTE-A 등)

    국내 무선 망의 현황 현재 한국은 CDMA-2000 의 무선 기술로 3G (3세대)에 이어 4G LTE가 보급되었다. ITU-T 4세대 표준은 Wi-Bro를 개선한 Wibro Advanced 와 LTE를 개선한 LTE-A 을 말한다. ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  19. 스토리지 레이드 구성 정의 (RAID0,1,2,3,4,5,6,10)

    정의 Redundant Array of Inexpensive/Independent Disk 저장장치 여러 개를 묶어 고용량·고성능 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법이다. 초기에는 업그레이드 후 '폐기하기엔 아깝...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  20. EIGRP(Enhanced Interior Gateway Routing Protocol) 이론 정리

    EIGRP(Enhanced Interior Gateway Routing Protocol)은 시스코에서 개발한 Distance Vector 라우팅 프로토콜이다. 단, Distance Vector 라우팅 프로토콜과 Link State 라우팅 프로토콜의 장점만을 채택했다...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7