4월 25일 (목) 오후 4:41

logo

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

개봉 2023.11.22. / 등급: 12세 관람가 / 장르: 드라마 / 국가: 대한민국 감독 : 김성수 출연 : 황정민, 정우...
노량: 죽음의 바다 / 개봉 2023.12. / 장르: 액션, 드라마 / 국가: 대한민국 감독 : 김한민 출연 : 김윤석, ...
조회 수 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. 모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

    Serdar Yegulalp | InfoWorld 파이썬 프로그래밍 언어의 대성공을 이끈 힘은 무엇일까? 물론 답은 네이티브와 서드파티 라이브러리를 가리지 않는 풍부한 파이썬용 라이브러리다. 문제는 파이썬 라이브...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  2. “떠오르는 와이파이 6, 우리 회사에 맞을까?” 적합성 기준과 준비 사항

    Zeus Kerravala | Network World 차세대 와이파이 표준인 802.11ax, 통칭 와이파이 6를 둘러싼 기대가 높다. 신기술은 업체에 의해 “차세대 대박 상품”으로 선전되다가 기대에 미치지 못하고 실패하는 ...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  3. "네트워크 보안의 필수" SIEM 툴 TOP 12 평가 비교

    Tim Ferrill | CSO 보안 정보 및 이벤트 관리(Security information and event management, SIEM)은 네트워크 보안 전문가들을 위한 실용적인 툴이다. 이벤트 로그를 관리하고, 리뷰 및 감사하는 작업은...
    Date2019.01.13 CategoryIT KNOWLEDGE
    Read More
  4. SSL/TLS의 이해와 TLS 1.3으로 업그레이드해야 하는 이유

    Josh Fruhlinger | 웹 초창기부터, SSL(Secure Sockets Layer) 프로토콜과 그 후예인 TLS(Transport Layer Security)는 암호화와 보안을 제공해 인터넷 상거래를 가능하게 만들었다. SSL, TLS와 같은 프...
    Date2018.12.16 CategoryIT KNOWLEDGE
    Read More
  5. 2019년 리눅스에 기대해도 좋을 것

    Sandra Henry-Stocker | Network World 2019년은 리눅스의 해가 될지도 모른다. 리눅스가 드디어 유력 집단으로써 인정 받는 해가 될 수도 있다. 사물 인터넷(IoT), 클라우드 기술, 슈퍼컴퓨터, 인공 지...
    Date2018.12.07 CategoryIT KNOWLEDGE
    Read More
  6. "JDK란 무엇인가" 자바 개발 키트 소개와 설치하기

    Matthew Tyson | JavaWorld 자바 개발 키트(Java Development Kit, JDK)는 자바 애플리케이션을 구축하기 위한 핵심 플랫폼 구성요소다. 이 중심에는 자바 컴파일러(Compiler)가 있다. Credit: Nic Mc...
    Date2018.09.25 CategoryIT KNOWLEDGE
    Read More
  7. 리눅스 디렉토리 구조와 의미

    리눅스는 최상위 /(root)를 기본으로 하며 모든 디렉토리들이 /를 거치게 되는게 가장 큰 특징입니다. 디렉토리 설명 / 최상위에 위치하는 디렉토리이며 루트 디렉토리라고 부름. 일반적인 데...
    Date2018.08.06 CategoryIT KNOWLEDGE
    Read More
  8. 단방향 전송, 반이중전송, 전이중 전송, 허브, 스위치, 라우터, 토폴로지

    * 랜카드  - 근거리 통신망에 접속하기 위한 장비  - 최근에 메인보드에 통합 1. 반이중 방식(Half-Duplex)  - 양방향으로 데이터가 전송  - 동시에 전송 불가능  - 충돌을 피하기 위해 상대방의 데이...
    Date2018.06.22 CategoryIT KNOWLEDGE
    Read More
  9. 프록시 서버(Proxy Server)에 대해

    * Server에서 Proxy란? 출처: wikipedia.org Proxy Server 는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 Server 와 Client 사이에서 중계기로...
    Date2018.05.06 CategoryIT KNOWLEDGE
    Read More
  10. DNS의 작동원리와 이를 공격하는 방법

    Keith Shaw | Network World 도메인 이름 시스템(Domain Name System, DNS)은 인터넷 기반 가운데 하나지만 네트워킹 종사자를 제외한 대부분의 사람은 매일 일을 하고 이메일을 확인하고 스마트폰으로 ...
    Date2018.04.15 CategoryIT KNOWLEDGE
    Read More
  11. MPLS의 이해 (Multi-Protocol Label Switch)

    Neal Weinberg, Johna Till Johnson | Network World MPLS(Multi-Protocol Label Switching)의 핵심은 서비스가 아니라 기술이며, IP VPN부터 메트로 이더넷에 이르기까지 온갖 기능을 제공할 수 있다. ...
    Date2018.03.21 CategoryIT KNOWLEDGE
    Read More
  12. SD 브랜치와 보안, 스토리지, IoT의 관계

    Ciaran Roche | Network World SD-WAN의 자연스러운 계승자로 SD 브랜치(SD-Branch)가 회자되기 시작했다. 중앙집중화된 오케스트레이션 모델은 많은 대기업들에게 매력적일 수밖에 없다. 하지만 SD-WAN...
    Date2018.03.04 CategoryIT KNOWLEDGE
    Read More
  13. 취약점 표준코드 CVE의 개념과 목적

    Taylor Armerding | CSO CVE는 '정보 보안 취약점 표준 코드(Common Vulnerabilities and Exposures)'의 약자이다. 1999년, 미국 연방 정부의 후원을 받는 비영리 연구 개발 기관인 MITRE가 소프트웨어...
    Date2018.02.03 CategoryIT KNOWLEDGE
    Read More
  14. SYN Flooding,Teardrop,세션 하이젝킹,패킷 필터링 등

    1. SYN Flooding 공격에 대한 조치 방법  - 클라이언트가 서버에게 요구한 SYN 개수보다 큰 Connect Queue Size를 증대시킨다.  - Backlog Queue 사이즈를 늘려준다.  - 중간 게이트웨이에서 SYN 패킷이 ...
    Date2018.01.20 CategoryIT KNOWLEDGE
    Read More
  15. SSL, HTTPS, 개인키, 공개키, 암호화에 대해

    *SSL, 인증서란? SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  16. 리플(XRP, Ripple)이란?

    [요약] 발행될 수 있는 코인 양이 1000억 개로 한정돼 있으며 채굴 방식을 사용하지 않는 가상화폐 외국어 표기 XRP, Ripple(영어) 본래 2004년 리플페이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  17. 이더리움에 대해(Ethereum)

    이더리움(Ethereum)은 비탈리크 부테린(Vitalik Buterin)이 2014년 개발했습니다. 거래 명세가 담긴 블록이 사슬처럼 이어지는 블록체인(blockchain)을 기반으로 하며 네트워크만 연결되어 있다면...
    Date2017.12.16 CategoryIT KNOWLEDGE
    Read More
  18. 사물 인터넷 정의 : 필수 IoT 용어 가이드

    Jon Gold | Network World 사물 인터넷과 관련해서는 온갖 프로토콜과 표준, 기술 약어가 난무한다. IoT 언어를 조금 더 이해하기 쉽도록 하기 위해 이러한 모호한 용어들의 의미를 정리했다. 6LoWPAN : 약...
    Date2017.11.06 CategoryIT KNOWLEDGE
    Read More
  19. “빅데이터란 무엇인가?” 구성요소와 기반 기술의 이해

    InfoWorld staff | InfoWorld 인간은 매일 먹고 일하고 놀고 데이터를 생산한다. IBM에 따르면 인류가 하루에 생산하는 데이터의 양은 무려 250경 바이트에 이른다. DVD를 쌓는다면 달까지 왕복할 만큼...
    Date2017.09.16 CategoryIT KNOWLEDGE
    Read More
  20. 비트코인의 이점은 무엇인가

    비트코인은 매우 낮은 비용으로 돈을 교환할 수 있는 가장 간단한 방법입니다. 보다 쉬운 모바일 결제모바일로 비트코인 결제를 하실 때에는 "스캔-앤-페이" 두 단계만 거치면 됩니다. 카드...
    Date2017.08.11 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7