MPLS망을 이용한 Video Stream 방송 전송 최적화 기법

Video Stream broadcast transmission optimization using MPLS Networks

  • cc icon
  • ABSTRACT

    QoS기술과 전송기술의 고도화로 실시간 통신과 다양한 응용서비스가 가능하며 서비스 고품질을 만족시키기 위해서는 단순히 대역폭 확장과 라우터 증가와 라우팅 테이블의 증가를 고려하여 망의 확장성 문제가 포함되어진다. 트래픽 폭주에 따른 데이터를 분산할 수 있는 환경이 중심이 되어야 된다. 그러기 위해서는 현재 수신지 기반 라우팅방식을 송신지 기반 (Source routing )의 라우팅 설정이 필요하다. 본 논문에서는 인터넷 기존망의 고유 특징인 Best Effect 환경에서 대용량 멀티미디어 데이터 전송의 QoS 보장과 하드웨어적 고속 스위칭을 위해 MPLS Label을 이용하여 packet을 forwarding 한다. 또한 최적화된 MPLS망에서 QoS 보장을 위해 IP Packet의 MPLS Label PUSH 과정에서 IP Header의 QoS Field(IP Pre/DSCP)의 첫 3bit를 MPLS Label의 EXP Field를 고정시킨 MPLS Header Format으로 QoS 부분인 EXP Bit를 Expedited Forwarding으로 고정하는 방법을 제안한다.


    Real-time communication and diversification of multimedia application services using high-capacity data over the Internet demand high speed connection, and real-time and high-speed access internet service such as multimedia make Internet traffic increase rapidly. Meanwhile, QoS (Quality of Service) of internet service is not satisfied. In this situation, ISP (Internet Service Provider) has been required to improve service quality and extend network according to the user's needs. This request includes issue of extending network focused on increasing router and the number of routing table as well as simply extending bandwidth.

  • KEYWORD

    MPLS , 멀티캐스트 , QoS기술 , 멀티미디어

  • Ⅰ. 서 론

    인터넷을 통한 실시간 통신과 멀티미디어 대용량 데이터 등의 응용서비스 다양화로 인해 접속속도의 고속화를 요구되는 것이, 멀티미디어 등의 실시간과 고속접속 서비스 증가에 따른 인터넷 트래픽이 급격하게 증가하고 있는 반면 인터넷 서비스품질의 QoS(Quality of Service)가 보장되지 않고 있다. 이러한 상황에서 ISP(Internet Service Provider) 사업자는 사용자의 요구에 따라 망 확장과 품질을 향상시켜야 하는 상황이 요구되고 있다. 이 요구는 단순히 대역폭 확장과 더불어 라우터 증가와 라우팅 테이블 수의 증가에 중점을 둔 망의 확장성 문제가 포함된다[1,2].

    라우터의 라우팅은 수신지 기반의 라우팅에 기초를 두고 있으며 IP(Internet Protocol)패킷을 라우팅 할 때 수신지 IP주소에 따라 다음 Hop을 라우터의 라우팅 정보에 의해 결정한다. 라우팅은 장애 발생시 대체 경로를 찾아 전달한다는 장점이 있지만 트래픽 혼잡이 발생되는 것을 피하기 어렵다는 단점이 있다. 전통적인 IP라우팅은 Layer 3 라우팅 정보를 교환하며 Forwarding은 Destination Address만을 참조하며 Destination-Based Routing Lookup은 모든 Hop에서 필요하다. 따라서 모든 라우터는 Full Internet 라우팅 정보, 약 12만 여개의 라우트 정보를 필요로 할 수 있다. 따라서 라우터는 이러한 폭주에 따라 트래픽 부하를 분산 할 수 있는 환경 구성이 필요하다. 또한 현재의 수신지 기반 라우팅 방식을 업그레이드한 송신지 기반(Source routing)의 경로 설정 기능이 필요하다[3].

    Ⅱ. MPLS(Multiprotocol Label Switching) 기술

    MPLS는 IPv4와 IPv6 패킷이나 L2프레임에 Label을 부착하고 고속으로 스위칭하여 전송하는 기술로 MPLS 정책에 의해 EXP bit가 설정되어 전송되는데 본 논문에서는 Video Stream 방송을 전송하기 위해서는 정책보다는 EXP bit를 Video Stream에 설정을 고정시켜 전송함으로 고속의 전송이 가능하다. MPLS가 동작하는 라우터나 스위치를 LSR(Label Switching Router)이라고 한다. 각 LSR들은 MPLS 패킷의 Label을 보고 해당 패킷을 스위칭한다. MPLS의 장점은 MPLS 내부와 외부 트래픽을 완전히 분리하여 안전한 망을 구성할 수 있고, MPLS TE(Traffic Engineering)를 사용하면 IGP(Interior Gateway Protocol)가 사용하지 않다

       2.1. MPLS Header 구조

    MPLS 헤더 구조의 필드 포맷은 그림 1과 같다. L2 헤더와 L3 헤더 사이에 4Byte 길이의 MPLS 헤더를 추가한다. Label 필드의 값은 0∼1,048,757 사이의 값을 가질 수 있으며 이중 0∼15 사이의 값은 특별한 용도로 사용되고 실제 사용되는 값은 16이상이다. 기본적으로 16∼100,000 사이의 값을 사용한다. EXP 비트는 QoS값을 표시할 때 사용하며 0∼7 사이의 값을 가진다. BoS(Bottom of Stack)bit 값이 1이면 마지막 Label 임을 나타낸다. 0이면 현재의 Lavel 다음에 또 다른 Label 이 있음을 의미한다[4,5].

    2.1.1. MPLS 패킷 전송과정

    MPLS가 전송되면 각 LSR들은 자신의 라우팅 테이블에 있는 네트워크에 대한 Label값을 부여한 다음 인접 LSR들에게 전송되며 최종 목적지가 자신인 네트워크에서는 Label값을 부여하지 않는다[5].

    그림 2는 MPLS 패킷 전송 시 Header 구조를 나타낸다. MPLS망에서 패킷 전송시 Label과 관련하여 Header 변화와 구조는 초기 가입자 라우터는 프레임에 LER(Label Edge Router) 라우터가 요청한 Label 값을 부여한 다음 LER에게 전송한다. 처음 Label을 부여하는 과정을 PUSH 또는 Imposition이라고 한다. 수신한 LER은 Label 값을 확인하고 인접 LSR은 다음 LSR에서 요구한 Label 값으로 변경한 다음 전송한다. Label값을 변경하는 동작을 Swap이라고 한다. 인접 LSR은 가입자 라우터가 요청한 것처럼 Label을 제거한 다음 전송하고 Label을 제거하는 과정을 POP 또는 Disposition 이라한다. MPLS와 가입자를 연결한 최종 LSR은 Label로 라우팅을 하지 않고 라우팅 테이블을 참고하여 가입자 데이터를 전달한다[6].

       2.2. 기본적인 IP QoS와 MPLS EXP의 관계

    IP 패킷에 MPLS Label을 PUSH 할 때 IP 헤더의 QoS Field(IP Pre/DSCP)의 첫 3bit를 MPLS Label의 EXP Field로 복사하면 새로운 Label이 추가되고 기존 Label의 EXP 값이 새로 추가된 Label에 그대로 복사된다. 다른 Label로 Swap할 때도 기존 Label의 EXP값이 새로 변경된 Label에 그대로 복사된다. MPLS Label의 EXP 값 변경시 내부의 IP 헤더로는 전달되지 않는다. 따라서 고객 IP 패킷 내부에 설정된 QoS 값들은 변함없이 전달된다. 경우에 따라 MPLS EXP 값과 IP Header의 QoS 값을 변경시킬 수 있다[7].

    표 1은 EXP 3bit Value로 PHB definitions 의미는 3과정으로 해석되며 EF값은 low delay/jitter/loss을 의미하고 AF값은 low loss을 의미하며 BE는 No guarantees로 전형적인 인터넷 QoS의 best effort를 의미한다[8].

    2.2.1. 패킷 분류 및 EXP Marking

    고객별로 QoS 설정을 하기위해 A고객에게는 EXP값을 5로 설정하고 100Mbps의 대역폭을 할당하여 최우선 Queueing을 적용하고 B고객에 대해서는 EXP값을 0으로 설정하고 100Mbps의 대역폭을 할당하여 실험해보면 가입자 장비와 연결된 PE 라우터의 인터페이스로 전송하는 패킷중 MPLS 값이 5인 데이터는 100Mbps 만큼 최우선 큐잉을 하고 (Priority: 100,000 kbps) EXP 값이 0인 패킷은 100Mbps의 대역폭을 할당함을 알 수 있다. QoS 설정에서 match ip precedence에 따라서 weighted random early detection을 적용하여 혼잡이 발생되면 IP Precedence 값이 낮은 패킷부터 먼저 폐기한다[9,10].

    Ⅲ. 제안 MPLS망을 이용한 Video Stream 방송 전송 최적화

       3.1. MPLS와 멀티캐스트 융합을 통한 Video Stream 방송 전송 최적화

    제안 구성의 세부 구성도는 MPLS구간과 가입자와 멀티미디어 제공자 구간으로 구분하였으며 라우팅 프로토콜은 MPLS망내에서는 OSPF로 설정하였으며 CE-PE 구간 통신을 위해 라우팅은 BGP로 설정하였다. MPLS VPN에서 가입자 네트워크의 멀티캐스트를 지원하기위해 백본망 자체 즉 MPLS구간에서 멀티캐스트를 설정하고. 가입자망 내부에서도 멀티캐스트를 설정하였다. MPLS 구간에서는 멀티캐스트를 설정하고 PIM-SM 으로 MPLS구간의 멀티캐스트를 구현하였다.

    세부 구성도는 라우터 및 서버에 IP를 부여하고 라우터와 서버에 config를 하여 실제망에서 Active망으로 구성하고 Server(Windows 2003 Media Server)에서 Media Stream data를 전송하여 Client에서 수신할 때 MPLS 구간에서 QoS 최적화하여 최상의 조건으로 전송하는 것을 제안하는 것을 목표로 한다. 구체적으로 MPLS QoS 필드의 EXP bit를 최상의 조건으로 고정하여 Client에서 멀티미디어 수신시 최상의 QoS를 보장 받는다.

    MPLS 라우터 간에는 IGP 및 LDP(Label Distribution Protocol) 를 동작시킨다. MPLS TE에서는 IGP를 OSPF 또는 IS-IS를 사용한다. LDP는 MPLS 라벨 바인딩 정보를 전송한다. MPLS edge 라우터(PE)간에는 MBPG(Multiprotocol BGP)를 사용하여 가입자 정보를 교환한다. LDP라우터 ID는 라우팅 테이블에 존재해야 하며 LDP 라우터 ID로 사용될 각 라우터의 loopback interface를 반드시 OSPF에 포함시켜야 한다. MPLS VPN 망으로 사용할 라우터1,2,3,4,5에서 OSPF area 0으로 설정한다. 설정 후 각 라우터에서 routing table을 확인하고 각 라우터간 ping으로 통신을 확인한다.

    MPLS VPN 백본망을 위한 멀티캐스트 설정은 PIMSM을 이용해 구성하고 Backbone망 멀티캐스트는 일반 멀티캐스트와 설정이 동일하다. PE 라우터와 Backbone을 연결하는 모든 인터페이스 및 BGP 피어링이나 RP(Rendezvous Point)주소에 사용되는 loopback interface에 sparse-mode를 설정한다.

       3.2. GNS3 이용한 논리적 구성 최적화

    실제 망에서는 구현하기 어려움이 있어 가상화 Tool로 구현을 하였으며 GNS3라는 Tool로 실제 망과 차이점은 물리적, 논리적인 차이점 외 에는 큰 차이점이 없다. 우선 config를 EXP=0과 5로 나누어 구성하여 최적화 하여 최적화 구성안을 돌출하여 구현하였다.

    그림 구성은 C1은 클라이언트 단말단이며 C3는 멀티미디어 송신국으로 윈도우 2003서버로 미디어 서비스를 구성했으며 네모 안에 라우터는 MPLS망의 라우터들이며 그 외 라우터들은 고객 라우터( CE)들로 구성이 되었으며 C3서버에서 동계 소치 올림픽 경기를 방송을 하여 C1클라이언트에서 수신하는 구조로 구성되었다. MPLS에서 QoS를 담당한 EXP bit를 5와 0값의 차이를 분석하여 최적의 조건으로 구현한다.

    MPLS EXP bit를 5로 조정하여 서버에서 멀티미디어를 전송하는데 라우터 9번을 통해 R 5,3,1,6을 통해 클라이언트 즉 가입자에게 멀티미디어를 전송하며 MPLS의 QoS 의 EXP 값이 5임을 show policy-map 인터페이스를 통하여 확인할 수 있다. 마찬가지로 R3,1,6을 통하여 MPLS의 QoS의 EXP bit가 5임을 확인할 수 있다.

    Ⅳ. 멀티캐스트방송 전송 최적화 시뮬레이션 분석

       4.1. Utilization, Throughput (트래픽 전송 결과)

    트래픽 전송 결과를 나타내며 Utilization, Throughput의 테스트를 위해 트래픽을 전송하는 그래프이다. EXP0과 5의 경우 시간대별 같은 크기의 데이터를 전송한다. 시간대별 트래픽은 표 2와 같이 EXP 0과 5의 경우에 똑같은 트래픽으로 전송하였다.

    그림 6은 Client FTP의 Upload Response Time 결과값의 delay와 performance를 나타내고 있다. 멀티미디어 수신단의 Client에서 송신단의 서버로 FTP 업로드한 응답시간은 EXP=0 일 때 40.30720648sec로 그림 6에 측정하였으며, EXP=5 일 때 40.10519sec로 측정하였다. EXP=5 일 때 응답시간이 빠르다는 것을 알 수 있으며, 중요한 부분인 QoS에 관련된 사항을 발견할 수 있었다. 그림 6에서 측정 시간은 60분이며 30분 전까지는 라우터의 메모리나 큐에 데이터 버퍼가 영향을 미치지 않아 같은 형태의 그래프를 나타내고 있으나 30분이 지나면서 라우터의 자원이 어느 정도 사용되고 있어 라우터가 처리할 수 있는 메모리나 큐 등의 Performance와 상관없이 EXP=5 일 때 QoS의 Performance가 상승됨을 알 수 있고 상대적으로 EXP=0 일 때 Performance가 떨어짐을 알 수 있다.

    그림 7은 WFQ의 Queuing Delay 평균시간을 나타내는데 EXP 처리하여 보내는 인터페이스의 큐 처리로 인한 Delay 시간을 초로 나타내고 있다. 파란색은 EXP=5일 때의 WFQ 큐 처리 지연 평균시간인데 EXP=0 일 때 보다 큐처리로 인한 지연이 작음을 알 수 있다.

    그림 7은 WFQ Buffer를 사용하여 EXP 처리로 인터페이스에 보내기까지의 평균 사용율을 나타낸다. 파란색 선이 EXP=5 일 때의 WFQ의 Buffer 사용을 바이트 단위로 측정하였는데 EXP=0 일 때보다 Buffer 사용이 적으면서 QoS 처리가 되며 이로 인한 라우터의 자원의 효율화가 가능하다는 의미이다.

    Ⅴ. 결 론

    멀티미디어 등의 실시간 멀티미디어 방송 전송과 고속 접속 서비스 증가에 따라 인터넷 트래픽이 급격하게 증가하고 있지만 인터넷 서비스 품질의 QoS가 보장되지 않고 있다. 인터넷 서비스 품질의 QoS를 보장하기 위해 단순히 대역폭과 라우터의 증가와, 라우팅 테이블수의 증가에 중점을 둔 망의 확장은 문제가 된다. 전통적인 IP Routing은 Layer 3 Routing 정보를 교환하며 Forwarding은 Destination Address만을 참조한다. 이로 인한 모든 라우터는 Full Internet Routing 정보 약 12만여개의 Route 정보를 필요로 한다.

    따라서 본 논문에서는 Layer 2 Switching 기술인 패킷 forwarding과 Layer 3기술인 라우팅을 적용한 Label 패킷 forwarding 기법으로 하드웨어적 고속 스위칭이 가능해진 MPLS를 이용한 멀티캐스트와 융합하여 Video Stream 방송 전송에 최적화를 고려하여 설계하였다. 본 논문에서는 QoS 부분인 EXP PHB Field 값의 MPLS IP Header 값에서 EXP 5와 EXP 0의 bit를 통하여 Utilization과 Throughput, Delay, Performance를 비교하여 QoS가 적용된 MPLS 중에서 멀티미디어 방송에 최적인 EXP= 5임을 제안하여 결론을 도출하였다.

    향후에는 본 논문에서 연구한 방법을 만족하는 동시에 ISP의 서로 다른 프로토콜을 충족시키며 가입자에게 최적의 멀티미디어를 제공하기 위한 방법을 제안 할 계획이다.

  • 1. Hwang SeongKyu, Han SeungJo 2014 “MPLS and Video Stream broadcast multicast transport optimization through convergence” [J.Korea Inst. Inf . Commun. Eng] Vol.18 P.1336 google
  • 2. Rosen E., Viswanathan A., Callon R. 2001 Multiprotocol Label Switching Architecture, RFC 3031 google
  • 3. Rosen E., Tappan D., Fedorkow G., Rekhter Y., Farinacci D., Li T., Conta A. 2001 MPLS Label Stack Encoding, RFC 3032 google
  • 4. Andersson L., Doolan P., Feldman N., Fredette A., Thomas B. 2001 LDP Specification, RFC3036 google
  • 5. Xiao X. 2000 “Providing Quality of Service in the Internet,” google
  • 6. Blake S., Black D., Carlson M., Davies E., Wang Z., Weiss W. 1998 An Architecture for Differentiated Services, RFC 2475 google
  • 7. Heinanen J., Baker F., Weiss W., Wroclawski J. 1999 Assured Forwarding PHB Group, RFC2597 google
  • 8. Faucheur F. L., Wu L., Davie B., Davari S., Vaananen P., Krishnan R., Cheval P., Heinanen J. 2001 MPLS Support of Differentiated Services google
  • 9. Bates T., Chandrasekaran R. 2001 “BGP Route Reflection: An alternative to full mesh IBGP”, RFC 1966, June 1996 Security with Windows XP", Microsoft Windows XP Technical Article. google
  • 10. Moore R., Housley T. 2002 "Wireless LAN Ceritficate Extensions and Attributes", IETF DRAFT google
  • [그림 1.] MPLS Header 구조
    MPLS Header 구조
  • [그림 2.] MPLS 패킷 전송 시 Header 구조
    MPLS 패킷 전송 시 Header 구조
  • [표 1.] EXP값에 따른 3bit Value
    EXP값에 따른 3bit Value
  • [그림 3.] 세부 구성도
    세부 구성도
  • [그림 4.] 제안 멀티미디어 전송과정
    제안 멀티미디어 전송과정
  • [그림 5.] 트래픽 전송 결과(utilization, throughput)
    트래픽 전송 결과(utilization, throughput)
  • [표 2.] EXP 0과 5의 환경하에 시간대별 전송 트래픽
    EXP 0과 5의 환경하에 시간대별 전송 트래픽
  • [그림 6.] Delay, Performance (Response Time 결과)
    Delay, Performance (Response Time 결과)
  • [그림 7.] WFQ (Weighted Fair Queuing)
    WFQ (Weighted Fair Queuing)