KR102579059B1 - 패킷 처리 방법 및 장치, 기기, 그리고 시스템 - Google Patents

패킷 처리 방법 및 장치, 기기, 그리고 시스템 Download PDF

Info

Publication number
KR102579059B1
KR102579059B1 KR1020217019929A KR20217019929A KR102579059B1 KR 102579059 B1 KR102579059 B1 KR 102579059B1 KR 1020217019929 A KR1020217019929 A KR 1020217019929A KR 20217019929 A KR20217019929 A KR 20217019929A KR 102579059 B1 KR102579059 B1 KR 102579059B1
Authority
KR
South Korea
Prior art keywords
application program
node
packet
characteristic information
information
Prior art date
Application number
KR1020217019929A
Other languages
English (en)
Other versions
KR20210092304A (ko
Inventor
슈핑 펭
청 리
수에송 겅
젠빈 리
레이 리
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20210092304A publication Critical patent/KR20210092304A/ko
Application granted granted Critical
Publication of KR102579059B1 publication Critical patent/KR102579059B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 출원의 실시예는 네트워크 자원에 대한 세밀한 관리를 구현하고 네트워크 자원의 할당 합리성을 향상시키기 위한 패킷 처리 방법 및 장치, 기기 및 시스템을 개시한다. 상기 패킷 처리 방법은 네트워크 시스템에 적용되며, 상기 네트워크 시스템은 입구 노드와출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 패킷 처리 방법은, 상기 입구 노드가 상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계 - 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용됨 -; 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하는 단계; 및 상기 입구 노드가 상기 패킷을 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 포워딩하는 단계를 포함한다.

Description

패킷 처리 방법 및 장치, 기기, 그리고 시스템
본 출원은 2019년 3월 11일에 출원된 "패킷 처리 방법 및 장치, 기기, 그리고 시스템(PACKET PROCESSING METHOD AND APPARATUS, DEVICE, AND SYSTEM)"이라는 명칭의 중국 특허출원 제201910181016.X호를 우선권으로 주장하며, 이는 전체가 인용에 의해 본 출원에 포함된다.
본 출원은 통신 분야에 관한 것으로, 특히 패킷 처리 방법 및 장치, 기기, 그리고 시스템에 관한 것이다.
트래픽 스케줄링(traffic scheduling)은 단말 기기에 의해 전송되는 패킷을 적절한 경로와 매칭시켜 패킷을 포워딩하는 것을 의미한다. "적절(proper)"은 경로가 네트워크 성능에 대한 패킷의 요건을 충족함을 의미한다. 예를 들어 트래픽 요건은 높은 대역폭 또는 낮은 지연 시간(latency)이다. 트래픽 스케줄링은 네트워크 자원의 합리적인 할당을 구현하기 위해, 어느 정도 사용자의 요구에 기초하여 패킷을 포워딩되게할 수 있다.
그러나 현재는 패킷의 퀸터플 정보(quintuple information)에 기초하여 트래픽 스케줄링이 수행된다. 퀸터플 정보로는 근원지 주소, 목적지 주소, 전송 계층 근원지 포트, 전송 계층 목적지 포트 및 패킷의 프로토콜 유형을 포함한다. 구체적으로, 동일한 퀸터플 정보를 가진 패킷과 매칭되는 경로에 대한 트래픽 요건은 동일하며, 트래픽 스케줄링의 관리 그래뉼래러티(management granularity)는 비교적 거칠다. 따라서 트래픽 스케줄링시에 네트워크 자원에 대해 세밀한 관리를 구현하고 네트워크 자원의 할당 합리성을 향상시키는 방법은 현재 해결해야 할 기술적 문제이다.
본 출원의 실시예는 네트워크 자원에 대해 세밀한 관리를 구현하고 네트워크 자원의 할당 합리성을 향상시키기 위한 패킷 처리 방법 및 장치, 기기 그리고 시스템을 제공한다.
제1 측면에 따르면, 본 출원은 패킷 처리 방법을 제공한다. 상기 패킷 처리 방법은 네트워크 시스템에 적용될 수 있으며, 네트워크 시스템은 입구 노드(ingress node)와 출구 노드(egress node)를 포함한다. 입구 노드는 애플리케이션 프로그램으로부터의 패킷을 포워딩하는 데 사용되는 경로상의 첫 번째 노드이며, 입구 노드는 라우터(router) 또는 교환기(switch)와 같은, 기기일 수 있다. 출구 노드는 애플리케이션 프로그램으로부터의 패킷을 포워딩하는 데 사용되는 경로상의 마지막 노드이며, 출구 노드는 라우터(router) 또는 교환기(switch)와 같은, 기기일 수 있다. 경로는 트래픽 엔지니어링(traffic engineering, TE) 터널 또는 세그먼트 라우팅(segment routing, SR) 정책(policy)을 포함한, 다양한 유형의 터널(tunnel)일 수 있다. 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 패킷 처리 방법은 다음 단계를 포함할 수 있다. 먼저, 상기 입구 노드가 상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득한다. 상기 애플리케이션 프로그램의 특징 정보는 다음 정보: 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용된다. "애플리케이션 프로그램을 식별한다"에서의 "식별한다"는 애플리케이션 프로그램을 유일하게 식별하는 것을 의미할 수 있거나, 애플리케이션 프로그램 유형을 식별하는 것을 의미할 수 있다. 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보는, 대역폭(bandwidth) 정보, 지연 시간(latency) 정보, 지연 시간 지터(jitter) 정보, 패킷 손실(packet loss) 정보, 신뢰성(reliability) 정보 및 보안(security) 정보 중 적어도 하나로서 표현될 수 있다. 둘째, 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정한다. 일반적으로, 상기 입구 노드는 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정한다. 마지막으로, 상기 입구 노드가 상기 패킷을 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 포워딩한다.
종래에는 패킷의 퀸터플 정보(IP 목적지 주소, IP 근원지 주소, 전송 계층 근원지 포트, 전송 계층 목적지 포트 및 프로토콜 유형)에 기초하여 트래픽 요건을 충족하는 경로를 매칭한다. 구체적으로는, 동일한 퀸터플 정보를 가진 패킷은 동일한 경로와 매칭된다. 그러나 동일한 퀸터플을 가진 패킷이 많을 수 있으며, 다른 패킷은 경로에 대해 서로 다른 트래픽 요건을 가질 수 있다. 따라서, 퀸터플 정보에 기초하여 수행되는 종래의 트래픽 스케줄링 방안의 관리 그래뉼래러티는 비교적 거칠고 네트워크 자원의 할당 합리성이 부족하다. 동일한 퀸터플을 가진 패킷들은 복수의 애플리케이션 프로그램의 패킷을 포함할 수 있다. 따라서 본 출원에서, 서로 다른 애플리케이션 프로그램의 패킷에 대해 네트워크 성능에 대응하는 경로를 매칭시키기 위해 애플리케이션 프로그램 레벨에 따른 트래픽 스케줄링을 수행한다. 종래의 방안과 비교하면, 트래픽 스케줄링 방안의 관리 그래뉼래러티가 더 세밀하다. 이로써 네트워크 자원에 대해 세밀한 관리를 구현하고 네트워크 자원의 할당 합리성을 향상시킨다.
가능한 구현예에서, 상기 패킷이 인터넷 프로토콜 버전 6(Internet Protocol version 6, IPv6) 패킷이면, 상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달된다. 애플리케이션 프로그램의 특징 정보가 IPv6 패킷의 IPv6 확장 헤더에 캡슐화되므로, IPv6 확장 헤더의 다양한 이점을 편리하게 활용할 수 있다. 예를 들어, TLV 필드에서의 값의 포맷은 유연하게 설정될 수 있고, 네트워크 기기와 입구 노드는 특성 정보를 직접 읽을 수 있으며, 입구 노드에서 출구 노드까지의 경로상에 있는 네트워크 노드도 그 정보를 읽을 수 있다. 또한, 애플리케이션 프로그램의 특징 정보는 IPv6 패킷의 목적지 주소로 캡슐화되므로, 입구 노드가 패킷에 있는, 애플리케이션 프로그램의 특징 정보를 효율적이고 신속하게 획득할 수 있다.
가능한 구현예에서, 상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(type-length-value, TLV) 필드와 세그먼트 라우팅 헤더(segment routing header, SRH)의 세그먼트 식별자(segment identifier, SID) 중 적어도 하나를 포함한다. 애플리케이션 프로그램의 특징 정보는 세그먼트 라우팅 헤더의 세그먼트 식별자를 사용하여 캡슐화되므로, 정보를 직접 추출하여 IPv6 패킷의 목적지 주소에 넣을 수 있으며, 입구 노드는 효율적이고 신속하게 패킷에 있는, 애플리케이션 프로그램의 특징 정보를 획득할 수 있다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷일 수 있다. 입구 노드가 IPv6 확장 헤더의 TLV 필드에서 애플리케이션 프로그램의 특징 정보를 추출할 수 있도록 하기 위해, 입구 노드는 프로토콜, 예를 들어 세그먼트 식별자 포맷을 통해 통지 방식으로 IPv6 확장 헤더의 TLV 필드에서의 값 포맷을 학습하고, 포맷에 기초하여 애플리케이션 프로그램의 특징 정보를 읽을 수 있다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션(hop-by-hop option) TLV 필드, 목적지 옵션(destination option) TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함한다.
또한, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 다음 세 가지 가능한 구현예가 있을 수 있다.
가능한 구현예에서, 애플리케이션 프로그램의 특징 정보는 패킷에 실려 전달된다.
이 경우, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 패킷에서 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 추출하는 것을 포함한다. 이 구현예에서, 네트워크는 애플리케이션 프로그램의 특징 정보를 직접 인지할 수 있으며, 특징 정보 획득 효율이 비교적 높다.
다른 가능한 구현예에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 패킷을 파싱하여 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것을 포함한다. 이 구현예에서, 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하지 않지만, 패킷을 파싱하여 획득해야 한다. 이점은 기존 패킷을 수정할 필요가 없다는 것이다.
또 다른 가능한 구현예에서, 패킷은 애플리케이션 프로그램에 대응하는 서비스 정보를 실어 전달할 수 있고, 서비스 정보는 애플리케이션 프로그램이 속한 서비스에 대한 정보이다.
상기 패킷이 상기 애플리케이션 프로그램에 대응하는 서비스 정보를 실어 전달할 수 있고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이다.
이 경우, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 서비스 정보에 기초하여, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 결정하는 것을 포함한다. 따라서 서비스 정보에 기초하여 애플리케이션 프로그램의 특징 정보가 결정되는 경우 원본 패킷을 수정할 필요가 없다.
물론, 전술한 세 가지 가능한 구현 방안은 본 출원의 기술적 방안에 대한 한정이 아니며, 당업자라면 실제 사례에 기초하여 기술적 방안을 설계할 수 있을 것이다.
또한, 가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보이면, 상기 입구 노드가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 획득하는 것은 다음을 포함할 수 있다: 상기 입구 노드가 상기 패킷에 기초하여 상기 애플리케이션 프로그램의 식별 정보를 획득한다. 상기 입구 노드가 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정한다.
입구 노드가 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득하는 구현에 대해서는, 전술한 애플리케이션 프로그램의 특징 정보를 획득한 전술한 구현예를 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다. 애플리케이션 프로그램의 네트워크 성능 요건 정보에 기초하여 입구 노드와 출구 노드 사이에 매칭된 경로를 획득할 수 있다. 이는 애플리케이션 프로그램 수준에 따라 트래픽 스케줄링을 구현하고 네트워크 자원의 할당 합리성을 향상시킨다.
가능한 구현예에서, 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함하고, 사용자 식별자는 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용된다. 애플리케이션 프로그램의 특징 정보에 사용자 식별자를 추가하여 패킷에 대응하는 특정 사용자를 식별할 수 있으므로, 입구 노드와 출구 노드 사이의 경로는 사용자 식별자를 애플리케이션 프로그램의 식별 정보 및/또는 애플리케이션 프로그램의 네트워크 성능 요건 정보와 결합함으로써 후속으로 결정된다. 이로써 네트워크 자원에 대한보다 세밀한 관리를 구현하고 네트워크 자원의 할당 관련성을 향상시킨다.
가능한 구현예에서, 상기 패킷 처리 방법은 다음을 더 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계를 저장한다. 이와 같이, 입구 노드는 패킷에 대응하는 애플리케이션 프로그램의 특징 정보와 매핑 관계에 기초하여 입구 노드와 출구 노드 사이의 경로를 결정할 수 있다.
결론적으로, 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계는 다음 중 하나를 포함한다:
상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 사용자 식별자와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 및 상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계.
가능한 구현예에서, 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하는 것은 다음을 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여, 상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로를 선택한다. 대안으로, 상기 입구 노드는 상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로를 발견하지 못하는 경우, 상기 입구 노드가 상기 출구 노드에의 경로를 생성한다. 다시 말해, 입구 노드가 애플리케이션 프로그램의 특징 정보와 매칭되는 매핑 관계를 저장하고 있는지에 관계없이 입구 노드와 출구 노드 사이의 대응 경로를 결정할 수 있다.
가능한 구현예에서, 상기 입구 노드가 상기 출구 노드에의 경로를 생성할 수 있는 두 가지 가능한 구현예가 있을 수 있다.
가능한 구현예에서, 상기 입구 노드가 상기 네트워크 시스템의 획득된 토폴로지 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 경로를 생성한다. 이 방식은 경로 계산 기능이 있는 입구 노드에 적용할 수 있다.
다른 가능한 구현예에서, 상기 입구 노드가 경로 획득 요청을 제어기에 전송하며, 상기 경로 획득 요청은 상기 애플리케이션 프로그램의 특징 정보를 실어 전달한다. 상기 제어기가, 상기 경로 획득 요청에 기초하여, 애플리케이션 프로그램의 특징 정보에 대응하는 경로를 생성한다. 상기 입구 노드가, 상기 경로 획득 요청에 기초하여 상기 제어기에 의해 생성되고 상기 애플리케이션 프로그램의 특징 정보에 대응하는 경로를 수신한다. 이 구현예는 경로 계산 기능이 없는 입구 노드에 적용할 수 있다.
물론, 전술한 두 가지 가능한 구현 방안은 본 출원의 기술적 방안을 한정하는 것이 아니며, 당업자라면 실제 사례에 기초하여 기술적 방안을 설계할 수 있을 것이다.
또한, 상기 출구 노드에의 경로를 생성한 후, 상기 입구 노드가 생성된 경로와 상기 애플리케이션 프로그램의 특징 정보 사이의 대응관계를, 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 추가할 수 있으므로, 다음번에, 입구 노드는 경로를 재계산하는 대신에 생성된 매핑 관계에 기초하여 패킷 포워딩을 직접 안내한다.
실제 애플리케이션에서, 애플리케이션 프로그램의 트래픽은 시간에 따라 변화할 수 있다. 따라서 입구 노드와 출구 노드 사이의 대응하는 경로도 애플리케이션 프로그램의 변화된 트래픽에 맞게 변화되어야 한다. 따라서, 가능한 구현예에서, 상기 패킷 처리 방법은 다음을 더 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 식별 정보에 의해 식별되는 상기 애플리케이션 프로그램의 트래픽을 분석하여 분석 결과를 획득한다. 상기 입구 노드가 상기 분석 결과에 기초하여, 상기 입구 노드와 상기 출구 노드 사이의 경로로서 상기 애플리케이션 프로그램의 패킷에 대응하는 경로를 조정한다.
또한, 상기 입구 노드가 경로상의 다음 홉 노드에 연결되는 인터페이스는 하나 이상의 큐(queue)에 대응할 수 있으며, 다른 큐는 다른 네트워크 성능을 지원할 수 있다. 상기 패킷이 입구 노드로부터 전송되는 경우에 대응하는 네트워크 성능을 즐길 수 있도록 하기 위해, 가능한 구현예에서, 상기 입구 노드가 상기 패킷을 상기 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 포워딩하는 것은 다음을 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 큐를 결정하고, 상기 큐에 상기 패킷을 추가하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 큐 내의 패킷을 포워딩한다. 애플리케이션 프로그램의 특징 정보에 대응하는는 큐의 네트워크 성능은 대응하는 경로의 네트워크 성능과 매칭되어, 패킷 포워딩 과정에서 네트워크 성능의 일관성을 보장할 수 있다.
이에 상응하여, 상기 패킷 처리 방법은 다음을 더 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계를 저장한다. 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 큐를 결정하는 것은 다음을 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계에 기초하여, 상기 큐를 결정한다.
결론적으로, 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계는 다음 중 하나를 포함한다: 상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는 상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는 상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는 상기 사용자 식별자와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는 상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계.
실제 애플리케이션에서, 애플리케이션 프로그램의 트래픽은 시간에 따라 변화할 수 있다. 따라서 대응하는 큐도 애플리케이션 프로그램의 변화된 트래픽에 맞게 변화되야 한다. 따라서, 가능한 구현예에서, 상기 패킷 처리 방법은 다음을 더 포함한다: 상기 입구 노드가 상기 애플리케이션 프로그램의 식별 정보에 의해 식별되는 애플리케이션 프로그램의 트래픽을 분석하여 분석 결과를 획득한다. 상기 입구 노드가 상기 분석 결과에 기초하여, 상기 애플리케이션 프로그램의 패킷이 추가되는 큐를 조정한다.
제2 측면에 따르면, 본 출원은 패킷 처리 방법을 더 제공한다. 상기 패킷 처리 방법은 네트워크 시스템에 적용되며, 상기 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드를 포함한다. 상기 네트워크 기기는, 예를 들어, 게이트웨이, 네트워크 어댑터, 액세스 기기, 라우터 또는 교환기일 수 있다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 패킷 처리 방법은 다음 단계를 더 포함한다. 먼저, 상기 네트워크 기기가 상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득한다. 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램의 특징 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용된다. 애플리케이션 프로그램의 특징 정보에 대한 구체적인 설명은 전술한 설명을 참조하기 바란다. 자세한 내용은 여기서 다시 설명하지 않는다. 둘째, 상기 네트워크 기기가 상기 입구 노드에, 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 상기 패킷을 전송한다. 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용된다.
네트워크 기기는 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 입구 노드에 전송하므로, 입구 노드는 애플리케이션 프로그램의 특징 정보에 기초하여 입구 노드와 출구 노드 사이의 대응하는 경로를 결정할 수 있다. 이로써 애플리케이션 프로그램 수준에 기초하여 트래픽 스케줄링을 구현하고 네트워크 자원의 할당 합리성을 향상시킨다.
가능한 구현예에서, 상기 패킷이 인터넷 프로토콜 버전 6(IPv6) 패킷이면, 상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달된다.
가능한 구현예에서, 상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드 및/또는 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 네트워크 기기에 의해 획득되는 패킷은 IPv6 패킷이고, 상기 IPv6 패킷의 IPv6 확장 헤더의 TLV 필드는 세그먼트 식별자 포맷으로 상기 애플리케이션 프로그램의 특징 정보를 실어 전달한다. 이에 상응하여, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은 다음을 포함한다: 상기 네트워크 기기는 IPv6 확장 헤더에서 상기 애플리케이션 프로그램의 특징 정보를 추출한다. 상기 네트워크 기기가 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 상기 입구 노드에 전송하는 것은 다음을 포함한다: 상기 네트워크 기기가 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는, 상기 IPv6 패킷의 목적지 주소를 상기 입구 노드에 전송한다. 목적지 주소에서 정보를 추출하는 것이 IPv6 확장 헤더에서 정보를 추출하는 것보다 빠르기 때문에, 입구 노드에 의해 애플리케이션 프로그램의 특징 정보를 추출하는 효율이 증가한다.
가능한 구현예에서, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은 다음 세 가지 가능한 구현이 있을 수 있다.
가능한 구현예에서, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은 다음을 포함한다: 상기 네트워크 기기가 상기 패킷을 파싱하여 상기 애플리케이션 프로그램의 특징 정보를 획득한다. 이 구현예에서, 패킷은 애플리케이션 프로그램의 특징 정보를 실어서 전달하지 않지만, 패킷을 파싱함으로써 획득되어야 한다. 이점은 기존 패킷을 수정할 필요가 없다는 것이다.
또 다른 가능한 구현예에서, 상기 네트워크 기기에 의해 상기 입구 노드에 전송되는 패킷에 실려 전달되는, 상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함하고, 상기 네트워크 기기에 의해 획득되는 패킷이 상기 애플리케이션의 식별 정보를 포함하면, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은 다음을 포함한다: 상기 네트워크 기기가 상기 패킷에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 식별 정보를 추출한다. 상기 네트워크 기기가 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정한다. 이 구현예에서 네트워크는 애플리케이션 프로그램의 특징 정보를 직접 인지할 수 있으며, 특징 정보 획득 효율이 비교적 높다.
또 다른 가능한 구현예에서, 상기 네트워크 기기에 의해 획득되는 패킷이 상기 애플리케이션 프로그램의 서비스 정보를 포함하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은 다음을 포함한다: 상기 네트워크 기기가 상기 애플리케이션 프로그램의 서비스 정보에 기초하여 상기 애플리케이션 프로그램의 특징 정보를 결정한다. 일부 애플리케이션 시나리오에 따라서는, 상기 패킷은 서비스 정보를 실어 전달한다. 따라서 애플리케이션 프로그램의 특징 정보가 서비스 정보에 기초하여 결정되는 경우, 원본 패킷을 수정할 필요가 없다.
물론, 전술한 세 가지 가능한 구현 방안은 본 출원의 기술적 방안을 한정하는 것은 아니며, 당업자 라면 실제 사례에 기초하여 기술적 방안을 설계할 수 있을 것이다.
가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함한다. 후속하는 분석을 용이하게 하기 위해, 애플리케이션 프로그램의 특징 정보에 사용자 식별자를 추가하여 패킷에 대응하는 특정 사용자를 식별할 수 있다.
제3 측면에 따르면, 본 출원 패킷 처리 방법을 더 제공한다. 상기 패킷 처리 방법은 네트워크 시스템에 적용되며, 상기 네트워크 시스템은 입구 노드와 출구 노드를 포함한다. 상기 입구 노드는 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 패킷 처리 방법은 다음 단계를 포함한다. 먼저, 상기 단말 기기가 애플리케이션 프로그램의 특징 정보를 획득한다. 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용된다. 둘째, 상기 단말 기기가 상기 애플리케이션 프로그램에 대응하는 패킷을 생성한다. 상기 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 상기 목적지 노드로 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용된다. 마지막으로, 상기 단말 기기가 상기 애플리케이션 프로그램에 대응하는 패킷을 상기 네트워크 시스템을 사용하여 상기 목적지 노드에 전송한다. 본 출원의 이 실시예에서, 단말 기기에 의해 생성 된 패킷이 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 애플리케이션 프로그램의 특징 정보가 입구 노드에 의해 입구 노드에서 출구 노드로의 경로를 결정하는 데 사용되기 때문에, 패킷을 목적지 노드에 포워딩할 수 있다.
퀸터플 정보에 기초하여 트래픽 요건을 충족하는 경로가 매칭되는 기존의 기술 방안에 비해, 본 출원의 이 실시예에서는 애플리케이션 프로그램 레벨에 기초하여 트래픽 스케줄링 방안의 관리 그래눌래러티가 더 세밀하다는 것을 알 수 있ㅇ으며, 네트워크 자원의 할당 합리성이 향상된다.
가능한 구현예에서, 상기 패킷이 인터넷 프로토콜 버전 6(IPv6) 패킷이면, 상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달된다.
가능한 구현예에서, 상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드와 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷이다.
제4 측면에 따르면, 패킷 처리 장치가 제공된다. 상기 패킷 처리 장치는 네트워크 시스템에서 사용되며, 상기 네트워크 시스템은 입구 노드와 출구 노드를 포함한다. 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 입구 노드는 상기 패킷 처리 장치이다. 상기 패킷 처리 장치는, 상기 패킷을 수신하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된 획득 유닛 - 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용됨 -; 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하도록 구성된 경로 결정 유닛; 및 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 패킷을 포워딩하도록 구성된 포워딩 유닛을 포함한다.
가능한 구현예에서, 상기 패킷이 인터넷 프로토콜 버전 6(IPv6) 패킷이면, 상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달된다.
가능한 구현예에서, 상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드와 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷에 실려 전달되고;
상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 패킷에서 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 추출하는 것을 포함한다.
가능한 구현예에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 패킷을 파싱하여 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것을 포함한다.
가능한 구현예에서, 상기 패킷이 상기 애플리케이션 프로그램에 대응하는 서비스 정보를 실어 전달하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
상기 서비스 정보에 기초하여, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 결정하는 것을 포함한다.
가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함하면, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 획득하는 하는 것은, 상기 패킷에 기초하여 상기 애플리케이션 프로그램의 식별 정보를 획득하는 것; 및 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정하는 것을 포함한다.
가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함하고, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하는 데 사용된다.
가능한 구현예에서, 상기 패킷 처리 장치는, 상기 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계를 저장하도록 구성된 제1 저장 유닛을 더 포함하고;
상기 애플리케이션 프로그램의 특징 정보와, 상기입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계는, 상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 상기 사용자 식별자와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 및 상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계를 포함한다.
가능한 구현예에서, 상기 경로 결정 유닛은 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여, 상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로를 선택하거나; 또는 상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로가 발견되지 않는 경우, 상기 입구 노드에 의해 상기 출구 노드에의 경로를 생성하도록 구성된다.
가능한 구현예에서, 상기 포워딩 유닛은 상기 애플리케이션 프로그램의 특징 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 큐를 결정하고, 상기 큐에 상기 패킷을 추가하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 큐 내의 패킷을 포워딩하도록 구성된다.
가능한 구현예에서, 상기 패킷 처리 장치는, 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계를 저장하도록 구성된 제2 저장 유닛; 및 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계에 기초하여, 상기 큐를 결정하도록 구성된 큐 결정 유닛을 더 포함한다.
가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계는, 상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는 상기 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는 상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는 상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는 상기 사용자 식별자와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는 상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계를 포함한다.
제5 측면에 따르면, 본 출원은 패킷 처리 장치를 더 제공한다. 상기 패킷 처리 장치는 네트워크 시스템에서 사용되며, 상기 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드를 포함한다. 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 네트워크 기기는 패킷 처리 장치이다. 상기 패킷 처리 장치는, 상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된 획득 유닛 - 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램의 특징 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용됨 -; 및 상기 입구 노드에, 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 상기 패킷을 전송하도록 구성된 전송 유닛 - 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용됨 -를 포함한다.
가능한 구현예에서, 상기 패킷이 인터넷 프로토콜 버전 6(IPv6) 패킷이면, 상기 애플리케이션 프로그램의 특징 정보는 상기 네트워크 기기에 의해 상기 입구 노드에 전송되는 상기 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달된다.
가능한 구현예에서, 상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드 및/또는 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 획득 유닛에 의해 획득되는 상기 IPv6 패킷의 IPv6 확장 헤더의 TLV 필드는 세그먼트 식별자 포맷으로 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하고;
상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 IPv6 확장 헤더에서 상기 애플리케이션 프로그램의 특징 정보를 추출하는 것을 포함하고; 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 상기 입구 노드에 전송하는 것은, 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는, 상기 IPv6 패킷의 목적지 주소를 상기 입구 노드에 전송하는 것을 포함한다.
가능한 구현예에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 패킷을 파싱하여 상기 애플리케이션 프로그램의 특징 정보를 획득하는 것을 포함한다.
가능한 구현예에서, 상기 전송 유닛에 의해 상기 입구 노드에 전송되는 상기 패킷에 실려 전달되는, 상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함하고, 상기 네트워크 기기에 의해 획득되는 패킷이 상기 애플리케이션의 식별 정보를 포함하면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은, 상기 패킷에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 식별 정보를 추출하는 것, 및 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정하는 것을 포함한다.
가능한 구현예에서, 상기 획득 유닛에 의해 획득되는 패킷이 상기 애플리케이션 프로그램의 서비스 정보를 포함하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
상기 애플리케이션 프로그램의 서비스 정보에 기초하여, 상기 애플리케이션 프로그램에 대응하는 특징 정보를 결정하는 것을 포함한다.
가능한 구현예에서, 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함한다.
제6 측면에 따르면, 본 출원은 단말 기기를 더 제공한다. 상기 단말 기기는 네트워크 시스템에 사용되며, 상기 네트워크 시스템은 입구 노드와 출구 노드를 포함한다. 상기 입구 노드는 상기 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다, 상기 단말 기기는, 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된 획득 유닛 - 상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하며, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용됨 -; 상기 애플리케이션 프로그램에 대응하는 패킷을 생성하도록 구성된 패킷 생성 유닛 - 상기 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 상기 목적지 노드로 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용됨 -; 및 상기 애플리케이션 프로그램에 대응하는 패킷을 상기 네트워크 시스템을 사용하여 상기 목적지 노드에 전송하도록 구성된 전송 유닛을 포함한다.
가능한 구현예에서, 상기 패킷이 인터넷 프로토콜 버전 6(IPv6) 패킷이면, 상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달된다.
가능한 구현예에서, 상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드와 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함한다.
가능한 구현예에서, 상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷이다.
제7 측면에 따르면, 본 출원은 입구 노드를 더 제공한다. 상기 입구 노드는 네트워크 시스템에 사용되며, 상기 네트워크 시스템은 상기 입구 노드와 출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 입구 노드는 메모리 및 프로세서를 포함한다. 상기 메모리는 명령어를 저장하도록 구성되고, 상기 프로세서는 상기 메모리 내의 명령어를 실행하여, 상기 입구 노드에 의해 수행되는 패킷 처리 방법을 수행하도록 구성된다.
제8 측면에 따르면, 본 출원은 네트워크 기기를 더 제공하며, 상기 네트워크 기기는 메모리 및 프로세서를 포함한다. 상기 메모리는 명령어를 저장하도록 구성되고, 상기 프로세서는 상기 메모리 내의 명령어를 실행하여, 상기 네트워크 기기에 의해 수행되는 패킷 처리 방법을 수행하도록 구성된다.
제9 측면에 따르면, 본 출원은 단말 기기를 더 제공하며, 상기 단말 기기는 메모리 및 프로세서를 포함한다. 상기 메모리는 명령어를 저장하도록 구성되고, 상기 프로세서는 상기 메모리 내의 명령어를 실행하여, 상기 단말 기기에 의해 수행되는 패킷 처리 방법을 수행하도록 구성된다.
제10 측면에 따르면, 본 출원은 네트워크 시스템을 더 제공하며, 상기 네트워크 시스템은 입구 노드 및 출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 입구 노드는 상기 입구 노드로 사용되는 상기 패킷 처리 장치이다.
제11 측면에 따르면, 본 출원은 네트워크 시스템을 더 제공하며, 상기 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 네트워크 기기는 상기 네트워크 기기로 사용되는 상기 패킷 처리 장치이다.
상기 입구 노드는 상기 네트워크 기기에 의해 전송되는 패킷을 수신하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고, 상기 애플리케이션 프로그램의 특징 정보에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 패킷을 포워딩하도록 구성된다.
제12 측면에 따르면, 본 출원은 네트워크 시스템을 더 제공하며, 상기 네트워크 시스템은 단말 기기, 입구 노드 및 출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 단말 기기는 상기 단말 기기로 사용되는 상기 패킷 처리 장치이다.
상기 입구 노드는 상기 네트워크 기기에 의해 전송되는 패킷을 수신하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고, 상기 애플리케이션 프로그램의 특징 정보에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 패킷을 포워딩하도록 구성된다.
제13 측면에 따르면, 본 출원은 명령어를 포함하는 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 상기 패킷 처리 방법을 수행할 수 있게 된다.
제14 측면에 따르면, 본 출원 칩을 더 제공한다. 상기 칩은 입구 노드에 배치되고 네트워크 시스템에서 사용된다. 상기 네트워크 시스템은 상기 입구 노드와 출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 칩은 프로세서 및 인터페이스 회로를 포함한다. 상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서로 전송하도록 구성된다. 상기 프로세서는 상기 코드 명령어를 실행하여 상기 입구 노드에 의해 수행되는 상기 패킷 처리 방법을 수행하도록 구성된다.
제15 측면에 다르면, 본 출원은 칩을 더 제공한다. 상기 칩은 네트워크 기기에 배치되고 네트워크 시스템에서 사용된다. 상기 네트워크 시스템은 상기 네트워크 기기, 입구 노드 및 출구 노드를 포함한다. 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 칩은 프로세서 및 인터페이스 회로를 포함한다. 상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서에 전송하도록 구성된다. 상기 프로세서는 상기 코드 명령어를 실행하여 상기 네트워크 기기에 의해 수행되는 상기 패킷 처리 방법을 수행하도록 구성된다.
제16 측면에 다르면, 본 출원은 칩을 더 제공한다. 상기 칩은 단말 기기에 배치되고 네트워크 시스템에서 사용된다. 상기 네트워크 시스템은 입구 노드 및 출구 노드를 포함한다. 상기 입구 노드는 상기 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 상기 칩은 프로세서와 인터페이스 회로를 포함한다. 상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서로 전송하도록 구성된다. 상기 프로세서는 상기 코드 명령어를 실행하여 상기 단말 기기에 의해 수행되는 상기 패킷 처리 방법을 수행하도록 구성된다.
도 1은 본 출원의 일 실시예에 따른 네트워크 시스템의 구성 블록도이다.
도 2는 본 출원의 일 실시예에 따른 도 1에 도시된 네트워크 시스템에 기초하여 제공되는 패킷 처리 방법의 개략도이다.
도 3은 본 출원의 일 실시예에 따른 다른 네트워크 시스템의 구성 블록도이다.
도 4는 본 출원의 일 실시예에 따른 도 3에 도시된 네트워크 시스템에 기초하여 제공되는 패킷 처리 방법의 개략도이다.
도 5는 본 출원의 일 실시예에 따른 다른 패킷 처리 방법의 개략도이다.
도 6은 본 출원의 일 실시예에 따른 패킷 처리 장치의 구성 블록도이다.
도 7은 본 출원의 일 실시예에 따른 다른 패킷 처리 장치의 구성 블록도이다.
도 8은 본 출원의 일 실시예에 따른 패킷 전송 장치의 구성 블록도이다.
도 9는 본 출원의 일 실시예에 따른 입구 노드의 하드웨어 아키텍처 도면이다.
도 10은 본 출원의 일 실시예에 따른 네트워크 기기의 하드웨어 아키텍처 도면이다.
도 11은 본 출원의 일 실시예에 따른 단말 기기의 하드웨어 아키텍처 도면이다.
본 출원의 실시예는 네트워크 자원에 대한 세밀한 관리를 구현하고 네트워크 자원의 할당 합리성을 향상시키기 위한 패킷 처리 방법 및 장치, 기기 그리고 시스템을 제공한다.
도 1은 본 출원의 일 실시예에 따른 네트워크 시스템을 도시한다. 네트워크 시스템은 단말 기기(101), 입구 노드(102) 및 출구 노드(103)를 포함한다. 단말 기기(101)는 입구 노드(102)에 연결되고 입구 노드(102)는 출구 노드(103)에 연결된다. "연결(connection)"은 직접 연결 또는 간접 연결일 수 있다. 특히, 입구 노드(102)와 출구 노드(103) 사이의 연결을 위해, 입구 노드(102)와 출구 노드(103) 사이에 다른 노드가 있을 수 있다.
단말 기기(101)는, 예를 들어, 이동 전화(휴대 전화라도 함) 또는 개인용 컴퓨터(personal computer, PC), 예를 들어, 태블릿 퍼스널 컴퓨터(tablet personal computer, 태블릿 PC), 노트북 컴퓨터, 울트라 모바일(ultra-mobile) 개인용 컴퓨터 또는 개인 휴대 정보 단말기(personal digital assistant)일 수 있다. 애플리케이션 프로그램(application program, APP)은 단말 기기(101)에 설치된다. 애플리케이션 소프트웨어(application softeware, APP)라고도 하는 애플리케이션 프로그램은 하나 이상의 특정 태스크(task)을 완료하기 위한 컴퓨터 프로그램이며, 대개 사용자와 상호작용한다. 본 출원의 이 실시예에서, 애플리케이션 프로그램은, 예를 들어 게임, 비디오, 이메일, 인스턴트 메시징, 교통 정보, 일기 예보 등과 관련된 APP일 수 있다.
입구 노드(102)는 애플리케이션 프로그램으로부터의 패킷을 포워딩하는 데 사용되는 경로상의 첫 번째이고, 입구 노드(102)는 기기, 예를 들어, 입구 노드는 라우터(router) 또는 교환기(switch)일 수 있다. 출구 노드(103)는 애플리케이션 프로그램으로부터의 패킷을 포워딩하는 데 사용되는 경로상의 마지막 노드이고, 출구 노드(103)는 기기, 예를 들어, 라우터(router) 또는 교환기(switch)일 수 있다. 본 출원의 실시예에서, 패킷은 입구 노드(102)와 출구 노드(103) 사이의 경로를 통해 목적지 노드에 도달한다. 목적지 노드와 출구 노드(103)는 동일한 노드일 수 있거나 상이한 노드일 수 있다. 입구 노드(102)와 출구 노드(103) 사이의 경로상에는, 입구 노드(102)와 출구 노드(103)에 더해 다른 중간 노드가 있을 수도 있고 없을 수도 있다.
본 출원의 실시예에서, 경로는 터널 또는 세그먼트 라우팅(segment routing, SR) 정책(policy)을 포함할 수 있다. 터널은 입구 노드에서 출구 노드까지 노드 및/또는 링크에 의해 형성된 경로이다. 터널은 터널, 예를 들어 트래픽 엔지니어링(traffic engineer, TE) 터널을 포함하고, TE 터널은 구체적으로 세그먼트 라우팅(segment routing, SR) 네트워크 구현 트래픽 엔지니어링(traffic engineer, TE) 터널일 수 있다. TE 터널은 대안으로 다른 기술을 사용하여 구현된 트래픽 엔지니어링(Traffic Engineer, TE) 터널일 수 있음을 이해할 수 있을 것이다. 터널의 구체적인 구현은이 애플리케이션에 제한되지 않는다. 일반적으로 하나의 터널에는 하나의 경로가 포함된다. SR 정책은 입구 노드, 출구 노드 및 입구 노드에서 출구 노드로의 경로 속성을 정의한다. 하나의 SR 정책은 하나 이상의 경로를 포함힐 수 있다. 복수의 경로가 있으면, 그 복수의 경로는 동일한 네트워크 성능을 지원하는 경로이며, 복수의 경로를 사용하여 부하 공유를 수행하는 데 사용될 수 있다.
도 2는 도 1에 도시된 네트워크 시스템에 기반하여 제공되는 패킷 처리 방법의 개략도이다. 본 출원의 일 실시예에 따른도 1.
S201: 단말 기기(101)는 패킷을 입구 노드(102)에 전송한다.
본 출원의 이 실시예에서, 애플리케이션 프로그램에 대응하고 단말 기기(101)에 의해 입구 노드(102)로 전송되는 패킷은, 예를 들어, 인터넷 프로토콜 버전 4(Internet Protocol version 4, IPv4) 패킷 또는 인터넷 프로토콜 버전 6(Internet Protocol version 6, IPv6) 패킷일 수 있다. 패킷이 IPv6 패킷이면, 패킷은 구체적으로 IPv6 패킷의 세그먼트 라우팅 버전 6(segment routing version 6, SRv6) 패킷일 수 있다.
애플리케이션 프로그램에 대응하고 단말 기기(101)에 의해 입구 노드(102)에 전송되는 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달할 수 있거나, 애플리케이션 프로그램의 특징 정보를 실어 전달하지 않을 수 있다. 애플리케이션 프로그램의 특징 정보를 실어 전달해야 하는 경우, 정보 유출 위험을 줄이기 위해, 단말 기기(101)는 특징 정보를 싣기 전에 애플리케이션 프로그램의 특징 정보를 암호화할 수 있다. 이에 상응하여, 패킷에서 애플리케이션 프로그램의 특징 정보를 추출한 후, 입구 노드(102)는 특징 정보를 암호 해독한 다음, 후속 조치를 수행해야 한다.
본 출원의 이 실시예에서, 애플리케이션의 특징 정보는 다음 정보: 애플리케이션 프로그램의 식별 정보 및 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. "포함(include)"은 직접 포함 또는 간접 포함을 의미할 수 있다. 직접 포함은 애플리케이션 프로그램의 특징 정보가 적어도 애플리케이션 프로그램의 식별 정보 및/또는 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함하는 것을 의미한다. 간접 포함은, 애플리케이션 프로그램의 특징 정보가 적어도 하나의 색인을 포함할 수 있고, 색인이 애플리케이션 프로그램의 식별 정보 및/또는 애플리케이션 프로그램의 네트워크 성능 요건 정보를 지시하는 데 사용되는 것을 의미한다. 예를 들어, 애플리케이션 프로그램의 식별 정보 및/또는 애플리케이션 프로그램의 네트워크 성능 요건 정보는 보통 비교적 많은 양의 비트를 포함한다. 따라서 패킷의 전체 길이를 줄이고 네트워크 전송 자원을 절약하기 위해, 비교적 적은 양의 비트를 가진 색인을 대신 사용할 수 있다. 예를 들어, 색인 "001"은 애플리케이션 프로그램의 식별 정보 및/또는 애플리케이션 프로그램의 네트워크 성능 요건 정보를 지시하는 데 사용될 수 있고, 색인 "002"는 다른 애플리케이션 프로그램 및/또는 다른 애플리케이션 프로그램의 네트워크 성능 요건 정보를 지시하는 데 사용될 수 있다. 설명의 편의를 위해, 후술하는 "특징 정보를 포함"에서의 "포함"은 이러한 의미를 가지며, 자세한 것은 관련 부분에서 다시 설명하지 않는다.
식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. "애플리케이션 프로그램을 식별"에서의 "식별"은 유일한 식별을 의미할 수 있다. 다시 말해, 애플리케이션 프로그램마다 식별 정보가 다르다. 예를 들어, 식별 정보는 애플리케이션 프로그램의 프로토콜 특징 코드 또는 애플리케이션 프로그램 특징 코드(속성 코드)이다. 설명의 편의를 위해, 다음 예에서는, 애플리케이션 프로그램의 식별 정보를 APP ID로 표시한다. 또한, "애플리케이션 프로그램을 식별"에서의 "식별"은 대안으로 애플리케이션 프로그램 유형을 식별하는 것을 의미할 수 있다. 다시 말해, 식별 정보는 애플리케이션 프로그램의 유형을 지시할 수 있다. 동일한 유형의 애플리케이션 프로그램은 동일한 식별 정보에 대응한다. 예를 들어, 게임 유형의 애플리케이션 프로그램은 동일한 식별 정보에 대응한다.
애플리케이션 프로그램의 네트워크 성능 요건 정보는 하나의 애플리케이션 프로그램의 네트워크 성능 요건 또는 네트워크 시스템을 위한 애플리케이션 프로그램의 종류를 나타낸다. 예를 들어, 애플리케이션 프로그램의 네트워크 성능 요건 정보는 대역폭(security information) 정보, 지연 시간(latency) 정보, 지연 시간 지터(jitter) 정보, 패킷 손실(packet loss) 정보, 신뢰성(reliability) 정보 및 보안(security) 정보와 같은 정보 중 하나 이상으로 표현될 수 있다. 애플리케이션 프로그램의 네트워크 성능 요건 정보는 예를 들어, 대역폭 정보 또는 지연 시간 정보와 같은, 정보의 특정 값(예: 최소 대역폭 또는 지연 시간 상한)의 형태로 타낼 수 있거나, 예를 들어, 대역폭 정보 또는 지연 시간 정보와 같은, 정보를 나타내는 서비스 레벨 협약(service level agreement, SLA)일 수 있거나, 경로 계산 알고리즘의 경로 속성일 수 있다. SLA는 다차원 네트워크 성능 요건을 지정한다. 예를 들어, 대역폭은 150M이고, 지연 시간 상한은 5ms이며, 지연 시간 지터는 +/- 2ms이다. 경로속성은 색상(color)으로 나타낼 수 있다. 예를 들어, 빨간색은 애플리케이션 프로그램의 네트워크 성능 요건 정보가 높은 대역폭임을 지시하고, 파란색은 애플리케이션 프로그램의 네트워크 성능 요건 정보가 낮은 지연 시간임을 지시한다. SLA는 색상(color)으로 표시될 수도 있다. 예를 들어, 빨간색 SLA가 대역폭 및 저 지연 시간을 나타내거나, 파란색 SLA가 낮은 대역폭을 나타낸다. 본 출원의 실시예에서, "높음" 및 "낮음"은 상대적인 용어이고, 어떤 값이 "높음"이고 어떤 값이 "낮음"인지는 당업자에 의해 결정된다는 점에 유의해야 한다.
본 출원의 이 실시예에서, 애플리케이션 프로그램의 특징 정보가 패킷에 실려 전달되고 패킷이 IPv6 패킷이면, 애플리케이션 프로그램의 특징 정보는 IPv6 패킷의 IPv6 확장 헤더(extension header, EH) 또는 목적지 주소에 실려 전달될 수 있다.
IPv6 패킷의 IPv6 확장 헤더는 다음 중 적어도 하나를 포함한다: IPv6 확장 헤더(extension header, EH)의 유형 길이 값(type-length-value, TLV) 필드와 세그먼트 라우팅 헤더(segment routing header, SRH)의 세그먼트 식별자(segment identifier, SID) 등. 다시 말해, 애플리케이션 프로그램의 특징 정보는 IPv6 패킷의 TLV 필드에 실려 전달될 수 있다. 구체적으로 IPv6 패킷이 SRv6 패킷인 경우, 애플리케이션 프로그램의 특징 정보는 SRv6 패킷의 TLV 필드뿐만 아니라 SRv6 패킷의 SRH의 SID에도 실려 전달될 수 있다.
TLV 필드에서 유형 T는 TLV의 유형을 정의한다. 본 출원의 이 실시예에서, TLV의 유형은 애플리케이션 프로그램의 특징 정보를 실어 전달하는 TLV이다. TLV 필드의 길이 L은 TLV에서의 값 V의 길이를 나타낸다. TLV 필드에서의 값 V는 애플리케이션 프로그램의 특징 정보이다. TLV 값의 길이는 128비트일 수 있다.
TLV 값의 포맷은, 예를 들어, SID 포맷일 수 있다. SID 포맷은 로케이터(locator) 필드, 기능(function) 필드 및 인수(argument) 필드를 포함한다. 인수 필드는 애플리케이션 프로그램의 특징 정보를 저장하는 데 사용된다. 로케이터 필드는 x 비트를 차지하고 기능 필드는 y 비트를 차지한다. TLV 값의 총 길이가 128 비트라고 가정하면, 애플리케이션 프로그램의 특징 정보를 저장하는 필드는 128 - x - y 비트를 차지한다. 물론, TLV 필드는 대안으로 애플리케이션 프로그램의 특징 정보만을 포함하고 다른 정보는 포함하지 않을 수 있다.
IPv6 확장 헤더의 TLV 필드는 다음 중 적어도 하나를 포함한다: 홉별 옵션(hop-by-hop option) TLV 필드, 목적지 옵션(destination option) TLV 필드 및 SRH의 TLV 필드, 등. 다시 말해, 애플리케이션 프로그램의 특징 정보는 IPv6 패킷의 홉별 옵션 TLV 필드 및/또는 목적지 옵션 TLV 필드에 실려 전달될 수 있다. 구체적으로, IPv6 패킷이 SRv6 패킷인 경우, 애플리케이션 프로그램의 특징 정보는 전술한 유형의 SRv6 패킷의 TLV 필드뿐만 아니라 SRv6 패킷의 SRH의 SID에도 실려 전달될 수 있다.
특징 정보가 SRH의 SID에 실려 전달되는 경우, SID의 기능(Function) 필드에 읽기 지시자(read indicator)가 더 실려 전달될 수 있으며, 읽기 지시자는 SID에 있는 특성 정보를 읽도록 지시하는 데 사용된다.
S202: 입구 노드(102)는 단말 기기(101)로부터 패킷을 수신하고, 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득한다.
본 출원의 이 실시예에서, 입구 노드(102)가 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 세 가지 구현예가 있을 수 있다.
일 구현예에서, 입구 노드(102)에 의해 단말 기기(101)로부터 수신되는 패킷이 애플리케이션 프로그램의 특징 정보를 실어 전달하는 경우, 입구 노드(102)는 패킷에서 애플리케이션 프로그램의 특징 정보를 추출할 수 있다.
구체적으로, 입구 노드(102)는 내부 게이트웨이 프로토콜(Interior Gateway Protocol, IGP), 경계 게이트웨이 프로토콜(Border Gateway Protocol, BGP), 또는 경로 계산 요소 통신 프로토콜(Path Computation Element Communication Protocol, PCEP)과 같은, 프로토콜을 통한 통지 방식으로 애플리케이션 프로그램의 특징 정보를 추출할 수 있다. 예를 들어, 애플리케이션 프로그램의 특징 정보는 TLV 필드에 저장되며, 특정 포맷은, 예를 들어 SID 포맷이다. 이 경우, 제어기는 전술한 프로토콜에 기초하여, 애플리케이션 프로그램의 특징 정보의 파싱된 포맷이 SID 포맷임을 입구 노드(102)에 통지할 수 있다. 통지 후, 입구 노드(102)는 SID 포맷에 기초하여, TLV 필드에 저장되어 있는, 애플리케이션 프로그램의 특징 정보를 읽을 수 있다.
다른 구현예에서, 입구 노드(102)에 의해 단말 기기(101)로부터 수신되는 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하지 않는다. 이 경우, 입구 노드(102)는 패킷을 파싱하여 애플리케이션 프로그램의 특징 정보를 획득할 수있다. 파싱 수단은, 예를 들어 심층 패킷 검사(deep packet inspection, DPI)이다.
또 다른 구현예에서, 입구 노드(102)에 의해 단말 기기(101)로부터 수신되는 패킷은 서비스 정보를 실어 전달한다. 서비스 정보는 애플리케이션 프로그램이 속하는 서비스에 관한 정보, 예를 들어 고객 가상 근거리 통신망(customer virtual lan, C-VLAN)에 관한 정보, 또는 서비스 가상 근거리 통신망(service virtual lan, S-VLAN)에 관한 정보이다.
입구 노드(102)에 의해 단말 기기(101)로부터 수신되는 패킷이 IPv6 패킷이면, 전술한 세 가지 방법 중 어느 하나를 사용하여 애플리케이션 프로그램의 특징 정보를 획득할 수 있음에 유의해야 한다. 입구 노드(102)에 의해 단말 기기(101)로부터 수신되는 패킷이 IPv4 패킷이면, 전술한 두 번째 방법을 사용하여 애플리케이션 프로그램의 특징 정보를 획득할 수 있다.
물론, 전술한 세 가지 가능한 구현예는 본 출원의 기술적 방안을 한정하는 것이 아니며, 당업자라면 실제 사례에 기초하여 기술적 방안을 설계할 수 있을 것이다.
예를 들어, 패킷에 대응하는 애플리케이션 프로그램의 특징 정보로서 입구 노드(102)가 획득해야 하는 특징 정보가 애플리케이션 프로그램의 네트워크 성능 요건 정보이면, 전술한 세 가지 구현예에서 획득하는 것 외에도, 입구 노드(102)는 먼저 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득한 다음, 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보 사이의 미리 저장된 매핑 관계에 기초하여, 애플리케이션 프로그램의 식별 정보에 대응하는, 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정할 수 있다. 입구 노드(102)는 전술한 세 가지 구현예에서 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득할 수 있다.
표 1은 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보 사이의 매핑 관계의 예시적인 표이다.
[표 1]
S203: 입구 노드(102)가 애플리케이션 프로그램의 특징 정보, 및 애플리케이션 프로그램의 특징 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계에 기초하여, 입구 노드(102)와 출구 노드(103) 사이의 경로를 결정하고, 입구 노드(102)와 출구 노드(103) 사이의 경로를 통해 패킷을 포워딩한다.
본 출원의 이 실시예에서, 입구 노드(102)와 출구 노드(103) 사이의 경로는 입구 노드(102)에서 출구 노드(103)까지 두 개의 인접한 노드 사이의 링크를 포함한다. 예를 들어, 패킷은 입구 노드, 즉, 노드 A에서 시작되고, 연속적으로 노드 B, 노드 C 및 노드 D를 지나, 출구 노드, 즉 노드 E에 도달한다. 이 경우 노드 A에서 노드 E까지의 경로는, 노드 A에서 노드 B로의 링크, 노드 B에서 노드 C로의 링크, 노드 C에서 노드 D로의 링크, 노드 D에서 노드 E로의 링크를 포함된다.
실제 애플리케이션에서, 입구 노드(102)와 출구 노드(103) 사이의 경로는 세그먼트 식별자 목록(SID list)을 사용하여 표현될 수 있다. 세그먼트 식별자 목록은 적어도 하나의 세그먼트 식별자를 포함하고, 하나의 세그먼트 식별자는 두 개의 인접한 노드 간 링크 또는 노드 자체를 식별하는 데 사용된다.
세그먼트 식별자는 두 개의 인접한 노드 사이의 링크를 식별하는 데 사용된다. 예를 들어, 노드 A에서 노드 E까지의 경로에 대응하는 SID 목록은 SID 1, SID 2, SID 3 및 SID 4를 포함한다. SID 1은 노드 A에서 노드 E로의 링크를 식별하는 데 사용되고, SID 2는 노드 B에서 노드 C로의 링크를 식별하는 데 사용되고, SID 3은 노드 C에서 노드 D로의 링크를 식별하는 데 사용되며, SID 4는 노드 D에서 노드 E로의 링크를 식별하는 데 사용된다.
세그먼트 식별자는 노드 자체를 식별하는 데 사용된다. 예를 들어, 노드 A에서 노드 E까지의 경로에 대응하는 SID 목록은 SID 1', SID 2', SID 3', SID 4', SID5'를 포함한다. SID 1'은 노드 A를 식별하는 데 사용되고, SID 2'는 노드 B를 식별하는 데 사용되고, SID 3'은 노드 C를 식별하는 데 사용되고, SID 4'는 노드 D를 식별하는 데 사용되고, SID5'는 노드 E를 식별하는 데 사용된다.
본 출원의 이 실시예에서, 입구 노드(102)에서부터 시작하여 동일한 목적지 노드에 도달하는 패킷은 입구 노드(102)와 출구 노드(103) 사이의 복수의 경로에 대응할 수 있다. 상이한 경로는 상이한 네트워크 성능을 지원한다. 예를 들어, 경로에 의해 지원되는 네트워크 성능에는 대역폭, 지연 시간, 보안 및 지터 중 하나 이상을 포함한다. 따라서, 입구 노드(102)는 미리 애플리케이션 프로그램의 특징 정보와 경로 사이의 매핑 관계를 미리 획득하여 저장할 수 있다. 패킷을 획득한 후, 입구 노드(102)는 패킷에 대응하는 애플리케이션 프로그램의 특징 정보와 매핑 관계에 기초하여, 입구 노드(102)와 출구 노드(103) 사이의 경로를 결정하고, 이 경로를 통해 애플리케이션 프로그램의 패킷을 전달한다. 이는 애플리케이션 프로그램 레벨에서 트래픽 스케줄링을 구현하고 네트워크 자원에 대한 세밀한 관리를 구현한다.
예를 들어, 패킷이 입구 노드에서 목적지 노드까지의 경로 1 및 경로 2에 대응한다고 가정하면, 경로 1은 고 대역폭 네트워크 성능 요건을 충족할 수 있고, 경로 2는 저 지연 시간 네트워크 성능 요건을 충족할 수 있다. 입구 노드(102)는 애플리케이션 프로그램 1의 특징 정보와 경로 1 사이의 매핑 관계 및 애플리케이션 프로그램 2의 특징 정보와 경로 2 사이의 매핑 관계를 미리 수립할 수 있다. 패킷 1과, 패킷 1에 대응하는 애플리케이션 프로그램 1의 특징 정보를 획득한 후, 입구 노드(102)는, 애플리케이션 프로그램 1의 특징 정보에 기초하여, 대응하는 경로가 경로 1임을 결정한다. 따라서, 입구 노드(102)는 패킷 1을 경로 1을 통해 포워딩할 수 있다. 패킷 2와, 패킷 2에 대응하는 애플리케이션 프로그램 2의 특징 정보를 획득한 후, 입구 노드(102)는, 애플리케이션 프로그램 2의 특징 정보에 기초하여, 대응하는 경로가 경로 2임을 결정한다. 따라서, 입구 노드(102)는 패킷 2를 경로 2을 통해 포워딩할 수 있다.
전술한 바와 같이, 애플리케이션 프로그램의 특징 정보는 적어도 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함할 수 있다. 따라서 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계는 다음을 포함할 수 있다: 애플리케이션 프로그램의 식별 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계; 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계; 또는 애플리케이션 프로그램의 식별 정보와, 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계.
예를 들어, 표 2를 참조한다. 표 2는 애플리케이션 프로그램의 식별 정보와 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계의 예시적인 표이다.
[표 2]
입구 노드(102)는 표 2에 나타낸 매핑 관계를 수립 및 저장한 다음, 패킷에 대응하는 애플리케이션 프로그램의 획득된 ID에 기초하여 입구 노드(102)와 출구 노드(103) 사이의 대응 경로를 결정할 수 있다.
다른 예를 들어, 표 3을 참조한다. 표 3은 애플리케이션 프로그램의 네트워크 성능 요건 정보와 경로 사이의 매핑 관계의 예시적인 표이다.
[표 3]
입구 노드(102)는 표 3에 나타낸 매핑 관계를 수립 및 저장한 다음, 패킷에 대응하는 애플리케이션 프로그램의 네트워크 성능 요건 정보에 기초하여 입구 노드(102)와 출구 노드(103) 사이의 대응 경로를 결정할 수 있다.
표 4는 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보와 경로 사이의 매핑 관계의 예시적인 표이다.
[표 4]
입구 노드(102)는 표 4에 나타낸 매핑 관계를 수립 및 저장한 다음, 패킷에 대응하는 애플리케이션 프로그램의 획득된 ID 및 애플리케이션 프로그램의 획득된 네트워크 성능 요건 정보에 기초하여 입구 노드(102)와 출구 노드(103) 사이의 대응 경로를 결정할 수 있다.
입구 노드(102)에 저장되어 있는, 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계에서, 애플리케이션 프로그램의 네트워크 성능 요건 정보는 두 가지 의미를 가질 수 있음에 유의해야 한다. 하나는 네트워크 성능에 대한 애플리케이션 프로그램의 요건으로 반영될 수 있다. 다른 하나는 입구 노드(102)와 출구 노드(103) 사이의 경로에 의해 충족될 수 있는 네트워크 성능으로 반영될 수 있으며, 네트워크 성능은 패킷에 기초하여 획득되는, 애플리케이션 프로그램의 네트워크 성능 요건과 매칭된다.
예를 들어, 애플리케이션 프로그램의 네트워크 성능 요건은 대역폭 > 20Mbit/s이고, 입구 노드(102)와 출구 노드(103) 사이의 대응 경로에 의해 충족될 수 있는 대역폭 성능은 대역폭 > 15Mbit/s라고 가정한다. 이 경우, 애플리케이션 프로그램의 네트워크 성능 요건 정보와 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계로서 입구 노드(102)에 저장되어 있는 매핑 관계는 대역폭 > 20Mbit/s와 경로 사이의 매핑 관계로 표현될 수 있거나, 대역폭 > 15 Mbit/s과 경로 사이의 매핑 관계로 표현될 수 있다.
애플리케이션 프로그램의 네트워크 성능 요건 정보와 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계로서 입구 노드(102)에 저장되어 있는 매핑 관계가 대역폭 > 15Mbit/s와 경로 사이의 매핑 관계로 표현되면, 애플리케이션 프로그램의 네트워크 성능 요건 정보, 즉 대역폭 > 20Mbit/s가 패킷에 기초하여 획득는 경우, 대역폭 > 20 Mbit/s은 대역폭 > 15 Mbit/s의 범위에 있기 때문에, 대역폭 > 15Mbit/s와 경로 사이의 매핑 관계는 매칭될 수 있다. 애플리케이션 프로그램의 네트워크 성능 요건 정보와 매칭되는 경로가 추가로 결정된다.
물론, 입구 노드(102)에 의해 획득되는 패킷의 목적지 주소는, 입구 노드(102)와 출구 노드(103) 사이에 있고 입구 노드(101)에 의해 결정되는 경로에 대응하는 목적지 노드의 주소와 동일하다는 것을 이해할 수 있을 것이다.
특징 정보에 대응하는 하나 이상의 경로가 있을 수 있음에 유의해야 한다. 복수의 경로가 있으면, 그 복수의 경로는 동일한 네트워크 성능을 지원한다. 다시 말해, 복수의 경로는 중복 경로(redundant path)이다. 이 경우, 복수의 경로 중 하나의 경로를 선택하여 패킷을 포워딩하거나, 부하 공유가 수행될 수 있다.
패킷에 대응하는 애플리케이션 프로그램의 특징 정보이고 입구 노드(102)에 의해 획득되는 특징 정보가 애플리케이션 프로그램의 식별 정보이고, 애플리케이션 프로그램의 특징 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계 로서 입구 노드(102)에 저장되어 있는 매핑 관계가 표 3, 표 4 또는 표 5에 나타낸 매핑 관계이면, 입구 노드(102)는 패킷에 획득되는, 애플리케이션 프로그램의 식별 정보에 기초하여 표 1을 검색함으로써 매칭된 애플리케이션 프로그램의 네트워크 성능 요건을 획득한 다음, 표 3, 표 4 또는 표 5에 따라 입구 노드(102)와 출구 노드(103) 사이의 대응하는 경로를 결정할 수 있다.
또한, 애플리케이션 프로그램의 특징 정보와 입구 노드(102)에 미리 저장된 경로 사이의 매핑 관계는, 애플리케이션 프로그램의 특징 정보와 경로 사이의 매핑 관계로서, 경로가 획득된 후에 경로에 의해 지원되는 네트워크 성능에 기초하여 생성되는 매핑 관계일 수 있다.
네트워크의 획득된 토폴로지 정보에 기초하여 입구 노드(102)에 의해 경로가 수립되면, 입구 노드(102)는 경로에 의해 지원되는 네트워크 성능에 기초하여 애플리케이션 프로그램의 특징 정보와 경로 사이의 매핑 관계를 생성한다는 것을 이해할 수 있다. 경로 수립에 사용된 경로 정보가 입구 노드(102)에 의해 제어기로부터 획득되면, 제어기는 경로와 애플리케이션 프로그램의 특징 정보 사이의 매핑 관계를 입구 노드(102)에 전달할 수 있고, 입구 노드는 매핑 관계를 저장한다. 대안으로, 다른 구현예에서, 제어기가 경로와 애플리케이션 프로그램의 특징 정보 사이의 매핑 관계를 입구 노드(102)에 전달하지 않으면, 입구 노드(102)는 경로에 의해 지원하는 네트워크 성능에 기초하여 애플리케이션 프로그램의 특징 정보와 경로 사이의 매핑 관계를 생성할 수 있다. 입구 노드(102)가 경로를 설정하기 위해 제어기와 통신하는 프로세스에 대해서는 다음의 구제적인 설명을 참조한다.
다른 구현예에서, 애플리케이션 프로그램의 특징 정보와 경로 사이의 매핑 관계로서 입구 노드(102)에 저장되는 매핑 관계가 동적으로 업데이트될 수 있다. 예를 들어, 입구 노드(102)가 패킷을 획득한 후, 패킷에 대응하는 애플리케이션 프로그램의 특징 정보에 기초하여 대응하는 매핑 관계가 발견되지 않으면, 다시 말해 매칭되는 경로가 발견되지 않으면, 입구 노드(102)는 패킷에 있는, 애플리케이션 프로그램의 특징 정보와 매칭되는 경로를 동적으로 획득하고, 경로와 애플리케이션 프로그램의 특징 정보 사이의 매핑 관계를 수립하고, 패킷이 후속하여 획득되는 경우에 사용하기 위해 매핑 관계를 저장할 수 있다, 예를 들어 매핑 관계를 기존의 매핑 관계에 추가할 수 있다.
입구 노드(102)에 의해 동적으로 획득된 경로와, 애플리케이션 프로그램의 특징 정보와 매칭되는 경로는 입구 노드(102)에 의해 생성될 수 있거나, 입구 노드(102)에 연결된 제어기에 의해 생성될 수 있음을 유의해야 한다. 제어기는 예를 들어 소프트웨어 정의형 네트워킹(software defined network, SDN) 제어기일 수 있다.
경로가 입구 노드(102)에 의해 생성되면, 입구 노드(102)는 네트워크 시스템의 토폴로지 정보를 획득하고, 네트워크 시스템의 토폴로지 정보에 기초하여 특징 정보에 대응하는 경로를 생성할 수 있다. 경로가 입구 노드(102)에 연결된 제어기에 의해 생성되면, 입구 노드(102)는 경로 획득 요청을 제어기에 전송할 수 있으며, 여기서 경로 획득 요청은 특징 정보를 실어 전달한다. 물론, 경로 획득 요청은 경로 계산에 사용되는 다른 정보, 예를 들어 패킷의 목적지 주소를 더 포함할 수 있다. 경로 획득 요청을 수신한 후, 제어기는 네트워크 시스템의 토폴로지 정보, 패킷의 목적지 주소 및 경로 계산에 사용되는 기타 정보를 획득하고, 특징 정보에 대응하는 경로를 생성하고, 그 경로를 입구 노드(102)에 전달할 수 있다. 입구 노드(102)는 경로를 수신하고, 특징 정보와 경로 사이의 매핑 관계를 수립 및 저장한다.
또한, 본 출원의 이 실시예에서, 애플리케이션 프로그램의 식별 정보 및/또는 네트워크 성능 요건 정보에 외에도, 특징 정보는 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함할 수 있다. 사용자 식별자는 애플리케이션 프로그램에 대응하는 사용자, 예를 들어 애플리케이션 프로그램을 사용하는 사용자를 식별하는 데 사용된다. 사용자 식별자는 사용자의 사용자명과 정보를 포함할 수 있다.
단말 기기(101)에 의해 입구 노드(102)에 전송되는 패킷이 특징 정보에 사용자 식별자를 실어 전달하는 경우, 패킷이 IPv6 패킷이면, 사용자 식별자는 IPv6 패킷의 IPv6 확장 헤더의 TLV 필드에 실려 전달될 수 있고, 구체적으로 홉별 옵션(Hop-by-Hop 옵션) TLV 필드, 목적지 옵션(destination option) TLV 필드 등에 실려 전달될 수 있다. 패킷이 SRv6 패킷이면, 사용자 식별자는 홉별 옵션 TLV 필드 또는 목적지 옵션 TLV 필드 등에 실려 전달되는 것 외에도 SRv6 패킷의 SRH에서의 TLV 필드 또는 SRv6 패킷의 SRH에서의 SID에 실려 전달될 수 있다.
이에 상응하여, 입구 노드(102)는 사용자 식별자와, 다른 두 개의 특징 정보 중 적어도 하나와 경로 사이의 매핑 관계를 미리 수립한 다음, 매핑 관계, 사용자 식별자, 및 패킷에 기초하여 획득되는 다른 두 개의 특징 정보 중 적어도 하나에 기초하여 대응하는 경로를 획득할 수 있다.
표 5는 사용자 식별자와 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보와 경로 사이의 매핑 관계의 계시적인 표이다.
[표 5]
대안으로, 대응하는 애플리케이션 프로그램의 네트워크 성능 요건 정보가 식별 정보에 기초하여 결정되는 경우, 대응하는 애플리케이션 프로그램의 네트워크 성능 요건 정보는 식별 정보 및 사용자 식별자에 기초하여 결정될 수 있다.
또한, 전술한 바와 같이, 실제 애플리케이션에서, 색인은 애플리케이션 프로그램의 식별 정보 및/또는 애플리케이션 프로그램의 네트워크 성능 요건 정보를 지시하는 데 사용될 수 있다. 구체적인 구현시에, 색인은 사용자 식별자를 지시하는데 추가로 사용될 수 있다. 즉, 표 5에서의 APP ID, 애플리케이션 프로그램의 네트워크 성능 요건 정보 및 사용자 식별자는 하나 이상의 색인으로 대체될 수 있다.
일반적으로, 애플리케이션 프로그램의 특징 정보와 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계는 다음 매핑 관계 중 하나를 포함한다:
애플리케이션 프로그램의 식별 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계;
애플리케이션 프로그램의 네트워크 성능 요건 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계;
애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계;
사용자 식별자와 애플리케이션 프로그램의 식별 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계;
사용자 식별자와 애플리케이션 프로그램의 네트워크 성능 요건 정보와 입구 노드(102)와, 출구 노드(103) 사이의 경로 사이의 매핑 관계; 또는
사용자 식별자와 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 입구 노드(102)와 출구 노드(103) 사이의 경로 사이의 매핑 관계.
결론적으로, 종래에는 패킷의 퀸터플 정보(IP 목적지 주소, IP 근원지 주소, 전송 계층 근원지 포트, 전송 계층 목적지 포트 및 프로토콜 유형)에 기초하여 트래픽 요건을 충족하는 경로가 매칭된다. 구체적으로, 동일한 퀸터플 정보를 가진 패킷은 동일한 경로와 매칭된다. 그러나 동일한 퀸터플 가진 패킷이 많을 수 있으며, 다른 패킷은 경로에 대해 서로 다른 트래픽 요건을 가질 수 있다. 따라서 퀸터플 정보에 기초하여 수행되는 종래의 트래픽 스케줄링 방안의 관리 그래뉼래러티는 비교적 거칠고, 네트워크 자원의 할당 합리성이 좋지 않는다. 동일한 퀸터플을 가진 패킷은 복수의 애플리케이션 프로그램의 패킷을 포함할 수 있다. 따라서, 본 출원의 이 실시예에서, 애플리케이션 프로그램 레벨에 기초한 트래픽 스케줄링은 상이한 애플리케이션 프로그램으로부터의 패킷에 대한 네트워크 성능에 대응하는 경로를 매칭시키도록 수행된다. 종래의 방안에 비해, 트래픽 스케줄링 방안의 관리 그래뉼래러티가 세밀한다. 이것은 네트워크 자원에 대한 세밀한 관리를 구현하고 네트워크 자원의 할당 합리성을 향상시킨다. 예를 들어, 애플리케이션 프로그램 A가 애플리케이션 프로그램의 높은 트래픽 요건을 충족하기 위해 고 대역폭 및 저 시간 지연 네트워크 성능을 요구하는 경우, 애플리케이션 프로그램 A에 대해 네트워크 성능을 지원하는 경로가 생성되고, 애플리케이션 프로그램 A로부터의 패킷은 네트워크 성능을 지원하는 경로를 통해 포워딩된다. 애플리케이션 프로그램 B의 트래픽이 비교적 적을 경우, 비교적 낮은 대역폭이 필요할 수 있다. 이 경우, 애플리케이션 프로그램 B에 대해 비교적으로 낮은 대역폭을 지원하는 경로가 생성되어 애플리케이션 프로그램 B로부터의 패킷을 포워딩하도록 한다. 이러한 방식으로 네트워크 자원을 보다 합리적으로 할당할 수 있다.
도 1에 도시된 실시예에서, 네트워크 시스템은 단말 기기, 입구 노드 및 출구 노드를 포함한다. 다른 실시예에서, 네트워크 시스템은 네트워크 기기를 더 포함할 수 있다.
도 3은 본 출원의 일 실시예에 따른 다른 네트워크 시스템의 구성 블록도이다. 도 3에서, 네트워크 시스템은 단말 기기(301), 네트워크 기기(302), 입구 노드(303) 및 출구 노드(304)를 포함한다. 단말 기기(301)는 네트워크 기기(302)에 연결되고, 네트워크 기기(302)는 입구 노드(303)에 연결되며, 입구 노드(303)는 출구 노드(304)에 연결된다.
네트워크 기기(302)는, 예를 들어 게이트웨이, 네트워크 어댑터, 액세스 기기, 라우터 또는 교환기일 수 있다. 액세스 기기는 디지털 가입자 회선 액세스 멀티플렉서(digital subscriber line access multiplexer, DSLAM), 광 네트워크 단말기(optical network terminal, ONT), 광 회선 단말기(optical line terminal, OLT), 고객 댁내 장비(customer premises equipment, CPE) 등일 수 있다.
단말 기기(301), 입구 노드(303) 및 출구 노드(304)에 대해서는 각각 단말 기기(101), 입구 노드(102) 및 출구 노드(103)의 전술한 설명을 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
도 4는 도 3에 도시된 네트워크 시스템을 기초로하여 제공되는 패킷 처리 방법의 개략도이다. .
S401: 단말 기기(301)가 네트워크 기기(302)에 패킷을 전송한다.
S401에서 단말 기기에 의해 전송되는 콘텐츠는 S201에서 단말 기기에 의해 전송되는 콘텐츠와 동일하고, 둘 다 패킷이지만, 단말 기기가 패킷을 전송하는 객체(object)이 다르다. S201에서, 단말 기기(101)가 패킷을 전송하는 객체는 입구 노드(102)이고, S401에서 단말 기기(301)가 패킷을 전송하는 객체는 네트워크 기기(302)이다. 따라서 S401은 본 출원의 이 실시예 상세하게 설명되지 않는다. 패킷의 관련 내용은 S201을 참조한다.
S402: 네트워크 기기(302)가 단말 기기(301)로부터 패킷을 수신하고, 패킷에 기초하여 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득한다.
S402는 기본적으로 S202와 동일하며, 단계의 실행 주체만 다르다. 단계 S202의 실행 주체는 입구 노드(102)이고 단계 S402의 실행 주체는 네트워크 기기(302)이다. 또한, S202에서 입구 노드(102)에 의해 수신되는 패킷은 단말 기기(101)로부터의 것이다. 마찬가지로, S402에서 네트워크 기기(302)에 의해 수신되는 패킷은 단말 기기(301)로부터의 것이다. 따라서, S402는 본 출원의 이 실시예에서 상세하게 설명되지 않는다. 관련 내용은 S202를 참조한다.
또한, 패킷에 기초하여 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 세 가지 방식이 위에서 언급되었다는 점에 유의해야 한다. 도 4에 도시된 실시예에서, 네트워크 기기(302)에 의해 단말 기기(301)로부터 수신되는 패킷이 IPv6 패킷이면, 네트워크 기기(302)는 마지막 두 가지 방식으로 애플리케이션 프로그램의 특징 정보를 획득할 수 있다. 네트워크 기기(302)에 의해 단말 기기(301)로부터 수신되는 패킷이 IPv4 패킷이면, 네트워크 기기(302)는 전술한 두 번째 방식, 즉 패킷 파싱 방식으로 애플리케이션 프로그램의 특징 정보를 획득할 수 있다.
S403: 네트워크 기기(302)는 입구 노드(303)에, 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 전송한다.
본 출원의 이 실시예에서, 네트워크 기기(302)에 의해 단말 기기(301)로부터 수신된 패킷이 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 패킷이 IPv6 패킷인 경우, 전술한 설명에 따라, 애플리케이션 프로그램의 특징 정보는 IPv6 패킷의 IPv6 확장 헤더에 실려 전달될 수 있다. 애플리케이션 프로그램의 특징 정보가 IPv6 패킷의 IPv6 확장 헤더의 TLV 필드에 세그먼트 식별자 포맷으로 실려 전달되는 경우, 네트워크 기기(302)는 IPv6 확장 헤더의 TLV 필드에 세그먼트 식별자 포맷으로 실려 전달되는, 애플리케이션 프로그램의 특징 정보를 추출하여, 그 특징 정보를 IPv6 패킷의 목적지 주소에 넣을 수 있다. 이러한 방식으로, 입구 노드(303)는 IPv6 패킷에서 특징 정보를 추출하는 경우 목적지 주소에서 특징 정보를 추출할 수 있다. 목적지 주소에서 정보를 추출하는 것이 IPv6 확장 헤더의 TLV 필드에서 정보를 추출하는 것보다 빠르기 때문에, 입구 노드(303)에 의한 애플리케이션 프로그램의 특징 정보를 추출 효율이 증가한다. 물론, 애플리케이션 프로그램의 특징 정보가 세그먼트 식별자 포맷으로 SRv6 패킷의 SRH에서의 SID에 실려 전달되는 경우, 네트워크 기기(302)는 SID에 세그먼트 식별자 포맷으로 실려 전달되는, 애플리케이션 프로그램의 특징 정보를 추출하여 SRv6 패킷의 목적지 주소에 특징 정보를 넣을 수 있다.
네트워크 기기(302)에 의해 단말 기기(301)로부터 수신되는 패킷이 IPv4 패킷이면, 네트워크 기기(302)는 IPv4 패킷을 파싱하여 애플리케이션 프로그램의 특징 정보를 획득한 다음, IPv4 패킷을 SRv6 패킷으로 캡슐화하여, SRv6 패킷의 TLV 필드 또는 SRv6 패킷의 SRH의 세그먼트 식별자(SID)에 애플리케이션 프로그램의 특징 정보가 실려 전달될 수 있게 한다. SRv6 패킷의 TLV 필드는 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 SRH의 TLV 필드를 포함할 수 있다.
S404: 입구 노드(303)는 네트워크 기기(302)로부터 패킷을 수신하고 패킷으로부터 애플리케이션 프로그램의 특징 정보를 추출한다.
구체적으로, 입구 노드(303)는 내부 게이트웨이 프로토콜(Interior Gateway Protocol, IGP), 경계 게이트웨이 프로토콜(Border Gateway Protocol, BGP), 또는 경로 계산 요소 통신 프로토콜(Path Computation Element Communication Protocol, PCEP)과 같은, 프로토콜을 통한 통지 방식으로 패킷에서 애플리케이션 프로그램의 특징 정보를 추출할 수 있다. 프로토콜을 통한 통지의 내용은 패킷에 있는 애플리케이션 프로그램의 특징 정보의 저장 포맷, 예를 들어, SID 포맷일 수 있다. 입구 노드(303)는 포맷에 따라 애플리케이션 프로그램의 특징 정보를 추출할 수 있다.
S405: 입구 노드(303)는 특징 정보 및 애플리케이션 프로그램의 특징 정보와, 입구 노드(303)와 출구 노드(304)는 사이의 경로 사이의 매핑 관계에 기초하여, 입구 노드(303)와 출구 노드(304) 사이의 경로를 결정하고, 입구 노드(303)와 출구 노드(304) 사이의 경로를 통해 패킷을 포워딩한다.
S405는 기본적으로 S203과 동일하므로, 여기서 세부사항을 다시 설명하지 않는다. 관련 내용은 앞의 설명을 참조한다.
결론적으로, 도 4에 도시된 패킷 처리 방법과 도 2에 도시된 패킷 처리 방법의 차이점은 네트워크 기기(302)가 네트워크 시스템에 추가되고 네트워크 기기(302)가 입구 노드(303)의 일부 기능을 공유하는 것이다. 구체적으로, 도 4에 도시된 패킷 처리 방법에서, 네트워크 기기(302)가 패킷에 기초하여 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 반면, 도 2에 도시된 패킷 처리 방법에서는 입구 노드(102)에 의해 이 단계가 수행된다. 따라서, 이에 상응하여, 네트워크 기기(302)는 애플리케이션 프로그램의 특징 정보를 입구 노드(303)에 전송할 필요가 있다.
또한, 전술한 바와 같이,이 실시예의 입구 노드(303)는 도 2의 입구 노드(102)와 동일할 수 있다. 도 2에 도시된 패킷 처리 방법에서, 도 2에 도시된 바와 같이, 애플리케이션 프로그램의 특징 정보가 애플리케이션 프로그램의 네트워크 성능 요건 정보인 경우, 입구 노드(102)는 먼저 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득한 다음, 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 사이의 미리 저장된 매핑 관계에 기초하여, 애플리케이션 프로그램의 식별 정보에 대응하는, 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정할 수 있다.
패킷에 대응하는 애플리케이션 프로그램의 특징 정보로서 입구 노드(303)에 의해 획득되는 특징 정보가 애플리케이션 프로그램의 식별 정보이고, 애플리케이션 프로그램의 특징 정보와, 입구 노드(303)와 입구 노드(304) 사이의 경로 사이의 매핑 관계로서 입구 노드(303)에 저장되어 있는 매핑 관계가 표 3, 표 4 또는 표 5에 나타낸 매핑 관계이면, 입구 노드(303)는 패킷으로부터 획득된, 애플리케이션 프로그램의 식별 정보에 기초하여 표 1을 검색함으로써 매칭된, 애플리케이션 프로그램의 네트워크 성능 요건 정보을 획득한 다음, 표 3, 표 4 또는 표 5에 따라 입구 노드(303)와 출구 노드(304) 사이의 대응 경로를 결정할 수 있다.
따라서, 도 3에 도시된 네트워크 시스템에 기초하여, 다른 구현예에서, S402, S403 및 S404는 각각 S402', S403'및 S404'로 대체될 수 있다.
S402': 네트워크 기기(302)는 단말 기기(301)로부터 패킷을 수신하고 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득한다.
네트워크 기기(302)가 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득하는 방식은 입구 노드(102)가 애플리케이션 프로그램의 식별 정보를 획득하는 전술한 세 가지 방식과 유사하며, 세부 사항은 여기서 다시 설명되지 않는다.
S403': 네트워크 기기(302)는 입구 노드(303)에, 애플리케이션 프로그램의 식별 정보를 실어 전달하는 패킷을 전송한다.
S404': 입구 노드(303)는 네트워크 기기(302)로부터 패킷을 수신하고, 패킷에 있는, 애플리케이션 프로그램의 식별 정보, 및 입구 노드(303)에 저장되어 있는, 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보 사이의 매핑 관계에 기초하여, 식별 정보에 대응하는 네트워크 성능 요건을 결정한다.
도 3에 도시된 네트워크 시스템에 기초하여, 또 다른 구현예에서, 네트워크 기기(302)는 단말 기기(301)로부터의 패킷을 처리하지 않고, 패킷을 입구 노드(303)로 바로 포워딩할 수 있다. 이 경우, 입구 노드(303)에 의해 수행되는 단계는 도 2에 도시된 패킷 처리 방법에서 입구 노드(102)에 의해 수행되는 단계와 기본적으로동일하다. 따라서 여기서는 자세한 내용을 다시 설명하지 않는다.
또한, 전술한 바와 같이, 특징 정보는 사용자 식별자를 더 포함할 수 있다. 도 3에 도시된 네트워크 시스템에 기초한 패킷 처리 방법에서의 사용자 식별자의 처리에 대해서는. 전술한 설명을 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
구체적인 구현시에, 본 출원의 이 실시예에서, 애플리케이션 프로그램의 특징 정보와 큐 사이의 매핑 관계는 입구 노드(102) 또는 입구 노드(303)에서 추가로 미리 수립될 수 있다. 입구 노드에 의해 결정되고 패킷을 전달하는 데 사용되는 경로는, 입구 노드와 다음 홉 노드 사이의 경로를 포함한다. 입구 노드를 다음 홉 노드에 연결하기 위한 인터페이스는 하나 이상의 큐에 대응할 수 있으며, 다른 큐는 다른 네트워크 성능을 지원할 수 있다. 예를 들어, 큐에 의해 지원되는 네트워크 성능은, 보장된 포워딩(assured forwarding, AF), 신속한 포워딩(expedited forwarding, EF), 최선형(besteffort, BE) 등을 포함할 수 있다. AF 큐는 네트워크에 의해 전송되는 서비스 트래픽이 최소 보장된 대역폭을 초과하지 않는 경우 큐에 있는 패킷의 손실 확률을 비교적 낮출 수 있다. EF 큐는 낮은 지연 시간이 필요하고 낮은 대역폭을 차지하는 패킷(예: 음성 패킷)을 포워딩하는 데 사용된다. BE 큐는 AF 큐 및 EF 큐에 적용할 수 없는 패킷을 포워딩하는 데 사용된다.
동일한 특징 정보에 대응하는 큐에 의해 지원되는 네트워크 성능은 대응하는 경로에 의해 지원되는 네트워크 성능과 매칭되어, 경로를 통해서 뿐만 아니라 큐을 사용하여도, 입구 노드로부터 전송되는 경우에 대응하는 네트워크 성능을 즐길 수 있도록 보장한다. 따라서, 입구 노드는 패킷 및, 특징 정보와 큐 사이의 매핑 관계에 기초하여 획득된 특징 정보에 기초하여 대응하는 큐를 결정하고, 패킷을 큐에 추가하여, 특징 정보에 대응하는 경로를 통해 패킷을 포워딩할 수 있다.
예를 들어, 입구 노드 A와 노드 B를 연결하기 위한 인터페이스는 두 개의 큐에 대응할 수 있으며, 두 개의 큐는 각각 큐 1과 큐 2이다. 큐 1은 AF 큐이고 큐 2는 EF 큐이다. 입구 노드 A와 노드 B 사이의 경로에 대응하는 네트워크 성능은 높은 대역폭, 예를 들어, 대역폭> 20Mbit/s. 따라서, 노드 A는 패킷을 큐 1에 추가할 수 있다.
물론, 애플리케이션 프로그램의 특징 정보에 해당하는 큐가 결정되는 경우, 큐가 지원하는 성능 외에도 다른 규칙에 따라 큐가 결정될 수 있음을 이해할 수 있다. 이것은 본 출원의 이 실시예에서 한정되지 않으며, 예를 들어, 복수의 큐 중 어느 하나가 선택된다.
구체적으로, 애플리케이션 프로그램의 특징 정보와 큐 사이의 매핑 관계는 다음 중 하나를 포함할 수 있다:
애플리케이션 프로그램의 식별 정보와 큐 사이의 매핑 관계;
애플리케이션 프로그램의 네트워크 성능 요건 정보와 큐 사이의 매핑 관계;
애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보와 큐 사이의 매핑 관계;
사용자 식별자와 애플리케이션 프로그램의 식별 정보와 큐 사이의 매핑 관계;
사용자 식별자와 애플리케이션 프로그램의 네트워크 성능 요건 정보와 큐 사이의 매핑 관계; 또는
사용자 식별자와 애플리케이션 프로그램의 식별 정보와 애플리케이션 프로그램의 네트워크 성능 요건 정보와 큐 사이의 매핑 관계.
예를 들어, 표 6을 참조한다. 표 6은 사용자 식별자, 애플리케이션 프로그램의 식별 정보, 애플리케이션 프로그램의 네트워크 성능 요건 정보 및 큐 사이의 매핑 관계의 예시적인 표이다.
[표 6]
본 출원의 이 실시예에서, 애플리케이션 프로그램의 트래픽이 변화하는 경우, 이는 애플리케이션 프로그램의 네트워크 성능 요건도 변화함을 의미한다. 따라서 애플리케이션 프로그램의 패킷이 추가되는 큐가 조정된다.
구체적으로, 입구 노드(102) 또는 입구 노드(303)는 애플리케이션 프로그램의 식별 정보에 의해 식별된 애플리케이션 프로그램의 트래픽을 분석하여 분석 결과를 획득한 후, 분석 결과에 기초하여, 애플리케이션 프로그램의 패킷이 추가되는 큐를 조정할 수 있다.
구체적으로 패킷 트래픽이 분석되는 경우, 애플리케이션 프로그램의 식별 정보가 동일한 복수의 패킷에 대한 트래픽이 모니터링 및 분석되어, 트래픽 양, 패킷 길이 정보, 프로토콜 정보, 포트 트래픽 정보 또는 전송 제어 프로토콜(Transmission Control Protocol, TCP) 플래그 정보, 등의 트래픽 특징 정보가 추출되며, 트래픽 특성 정보에 기초하여 트래픽의 변화를 분석하여 애플리케이션 프로그램의 새로운 네트워크 성능 요건을 결정한 다음, 새로운 네트워크 성능 요건에 기초하여 매칭된 큐를 다시 결정된다.
예를 들어, 입구 노드는 애플리케이션 프로그램 A의 패킷의 트래픽을 분석하고 애플리케이션 프로그램 A의 트래픽이 감소하는 것을 발견한다. 애플리케이션 프로그램 A에 대응하는 큐가 AF 큐라고 가정하면, 입구 노드는 애플리케이션 프로그램 A의 큐를 BE 큐로 조정하여, 입구 노드의 송신 자원을 합리적으로 할당할 수 있다.
유사하게, 입구 노드는 또한 애플리케이션 프로그램의 트래픽 분석 결과에 기초하여 애플리케이션 프로그램의 패킷에 대응하는 입구 노드와 출구 노드 사이의 경로를 조정할 수 있다.
예를 들어, 애플리케이션의 트래픽이 증가하면, 애플리케이션 프로그램에 대응하는, 입구 노드와 출구 노드 사이에 있는 경로가 대역폭이 트래픽을 충족하는 경로로 조정될 수 있다.
예를 들어, 애플리케이션 프로그램의 원래 트래픽은 8Mbit/s이고, 입구 노드와 출구 노드 사이의 경로의 대역폭으로서 애플리케이션 프로그램의 특징 정보에 기초하여 결정되는 대역폭은 10Mbit/s이다. 애플리케이션 프로그램의 트래픽이 15Mbit/s가 되면 입구 노드와 출구 노드 사이의 경로는 20Mbit/s의 대역폭을 충족하는 경로로 재결정될 수 있다.
애플리케이션 프로그램의 트래픽의 분석에 기초하여, 입구 노드가 애플리케이션 프로그램의 패킷에 대응하는, 입구 노드와 출구 노드 사이의 경로를 조정하는 기술 수단은 도 2 및 도 4에 도시된 실시예에 적용할 수 있음에 유의해야 한다. 따라서, 입구 노드(102) 및 입구 노드(303)는 애플리케이션 프로그램의 트래픽 분석 결과에 기초하여, 입구 노드와 출구 노드 사이에 있고 애플리케이션 프로그램의 패킷에 대응하는 경로를 조정할 수 있다.
도 5는 본 출원의 일 실시예에 따른 패킷 처리 방법을 나타낸다. 이 패킷 처리 방법은 네트워크 시스템에 적용될 수 있으며, 네트워크 시스템은 입구 노드와 출구 노드를 포함할 수 있다. 입구 노드는 단말 기기로부터 패킷을 수신하고, 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 본 출원의 이 실시예에서, 입구 노드는 입구 노드(102) 또는 입구 노드(303)일 수 있고, 출구 노드는 출구 노드(103) 또는 출구 노드(304)일 수 있다.
패킷 처리 방법은 다음과 같은 단계를 포함할 수 있다.
S501: 단말 기기가 애플리케이션 프로그램의 특징 정보를 획득한다.
본 출원의 이 실시예에서, 애플리케이션 프로그램의 특징 정보는 다음 정보 중 적어도 하나를 포함한다: 애플리케이션 프로그램의 식별 정보 및 네트워크 성능 요건 정보. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보에 대한 관련 설명은 전술한 설명을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
본 출원의 이 실시예에서, 애플리케이션 프로그램이 단말 기기에 설치된 후, 애플리케이션 프로그램의 식별 정보가 단말 기기에 저장될 수 있다. 따라서, 애플리케이션 프로그램의 특징 정보가 애플리케이션 프로그램의 식별 정보를 포함하는 경우, 단말 기기는 애플리케이션 프로그램의 식별 정보의 저장 주소에 기초하여 애플리케이션 프로그램의 식별 정보를 획득할 수 있다. 단말 기기는 구성을 통해 애플리케이션 프로그램의 네트워크 성능 요건 정보를 획득할 수 있다.
또한, 사용자가 애플리케이션 프로그램에 로그인할 때, 일반적으로 로그인을 위해 사용자 식별자가 필요하며, 사용자 식별자는 단말 기기에 저장될 수 있다. 애플리케이션 프로그램의 특징 정보가 사용자 식별자를 더 포함하는 경우, 단말 기기는 단말 기기 내의 사용자 식별자의 저장 위치에 기초하여 사용자 식별자를 획득할 수 있다.
S502: 단말 기기는 애플리케이션 프로그램에 대응하는 패킷을 생성하고, 여기서 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달한다.
애플리케이션 프로그램의 특징 정보는 패킷을 목적지 노드에 포워딩하기 위해, 입구 노드에 의해 입구 노드에서 출구 노드로의 경로를 결정하는 데 사용된다.
본 출원의 이 실시예에서, 단말 기기에 의해 생성된 패킷이 IPv6 패킷인 경우, 애플리케이션 프로그램의 특징 정보는 IPv6 패킷의 IPv6 확장 헤더 또는 목적지 주소에 실려 전달될 수 있다. 구체적으로 IPv6 패킷의 IPv6 확장 헤더는 IPv6 확장 헤더의 TLV 필드 및 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함할 수 있다. IPv6 확장 헤더의 TLV 필드는 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 SRH의 TLV 필드 중 적어도 하나를 포함한다. 이러한 필드에 대한 관련 설명은 앞의 설명을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
또한, IPv6 확장 헤더의 TLV 필드 값의 포맷은 세그먼트 식별자 포맷일 수 있다. 구체적인 이유는 앞의 설명을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
S503: 단말 기기는 애플리케이션 프로그램에 대응하는 패킷을 입구 노드에 전송한다.
본 출원의 이 실시예에서, 단말 기기는 애플리케이션 프로그램에 대응하는 패킷을 네트워크 시스템의 입구 노드에 직접 보낼 수 있거나, 단말 기기는 먼저 패킷을 네트워크 기기로 전송한 다음, 네트워크 기기가 패킷을 입구 노드에 전송할 수 있으므로, 입구 노드는 애플리케이션 프로그램에 대응하는 패킷을 목적지 노드에 송신할 수 있다. 입구 노드는 입구 노드(102) 또는 입구 노드(303)일 수 있고, 네트워크 기기는 네트워크 기기(302)일 수 있다.
S504: 입구 노드는 단말 기기로부터 패킷을 수신하고, 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고, 애플리케이션 프로그램의 특징 정보, 및 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 입구 노드와 출구 노드 사이의 경로를 결정하고, 입구 노드와 출구 노드 사이의 경로를 통해 패킷을 포워딩한다.
또한, 전술한 바와 같이, 도 2에 도시된 패킷 처리 방법에서, 애플리케이션 프로그램의 특징 정보가 애플리케이션 프로그램의 네트워크 성능 요건 정보인 경우, 입구 노드는 먼저 패킷에 기초하여 애플리케이션 프로그램의 식별 정보를 획득한 다음, 미리 저장된, 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 사이의 매핑 관계에 기초하여, 애플리케이션 프로그램의 식별 정보에 대응하는, 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정할 수 있다.
패킷에 대응하는 애플리케이션 프로그램의 특징 정보로서 입구 노드에 의해 획득되는 특징 정보가 애플리케이션 프로그램의 식별 정보이고, 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계로서 입구 노드에 저장되어 있는 매핑 관계가 표 3, 표 4 또는 표 5에 나타낸 매핑 관계인 경우, 입구 노드는 패킷에서 획득된, 애플리케이션 프로그램의 식별 정보에 기초하여 표 1을 검색함으로써 애플리케이션 프로그램의 매칭된 네트워크 성능 요건 정보를 획득한 다음, 표 3, 표 4 또는 표 5에 따라 입구 노드와 출구 노드 사이의 대응하는 경로를 결정할 수 있다.
본 출원의 이 실시예에서, 단말 기기에 의해 생성되는 패킷이 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 애플리케이션 프로그램의 특징 정보는 입구 노드에 의해 입구 노드에서 입구 노드로의 경로를 결정하는 데 사용되기 때문에, 패킷을 목적지 노드로 포워딩할 수 있다. 퀸터플 정보에 기초하여 트래픽 요건을 충족하는 경로가 매칭되는 종래의 기술 방안에 비해, 본 출원의 이 실시예에서는 애플리케이션 프로그램 레벨에 기초한 트래픽 스케줄링 방안의 관리 그래뉼래러티가 더 세밀하고, 네트워크 자원의 할당 합리성이 향상됨을 알 수 있다.
이에 상응하여, 도 6를 참조한다. 이 애플리케이션의 일 실시예는 패킷 처리 장치(500)를 더 제공한다. 이 장치는 네트워크 시스템의 입구 노드에서 사용될 수 있고, 입구 노드는 도 2에 도시된 입구 노드(102)의 기능 또는 도 4에 도시된 입구 노드(303)의 기능을 구현할 수 있다. 네트워크 시스템은 출구 노드를 더 포함하고 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다.
패킷 처리 장치는 획득 유닛(501), 경로 결정 유닛(502) 및 포워딩 유닛(503)을 포함한다. 획득 유닛(501)은 도 2에 도시된 실시예에서 S202 또는 도 4에 도시된 실시예에서 S404를 수행하도록 구성된다. 경로 결정 유닛(502) 및 포워딩 유닛(503)은 도 2에 도시된 실시예에서 S203 또는 도 4에 도시된 실시예에서 S405를 수행하도록 구성된다.
획득 유닛(501)은 패킷을 수신하고 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용되며, 애플리케이션 프로그램의 네트워크 성능 요건 정보는 애플리케이션 프로그램의 네트워크 성능 요건을 지시하는 데 사용된다.
경로 결정 유닛(502)은 애플리케이션 프로그램의 특징 정보, 및 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여, 입구 노드와 출구 노드 사이의 경로를 결정하도록 구성된다.
포워딩 유닛(503)은 입구 노드와 출구 노드 사이의 경로를 통해 패킷을 포워딩하도록 구성된다.
패킷 처리 장치는 전술한 방법 실시예에서 입구 노드(102)의 기능 또는 입구 노드(303)의 기능을 구현할 수 있다. 구체적인 실행 단계는 전술한 방법 실시예를 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
이에 상응하여, 도 7을 참조한다. 본 출원의 실시예는 패킷 처리 장치(600)를 더 제공한다. 이 패킷 처리 장치는 네트워크 시스템의 네트워크 기기에서 사용될 수 있고, 네트워크 기기는 도 4에 도시된 네트워크 기기(302)의 기능을 구현할 수 있다. 네트워크 시스템은 입구 노드와 출구 노드를 더 포함하고, 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다.
패킷 처리 장치는 획득 유닛(601) 및 전송 유닛(602)을 포함한다. 획득 유닛(601)은 도 4에 도시된 실시예에서 S402를 수행하도록 구성되고, 전송 유닛(602)은 도 4에 도시된 실시예에서 S403을 수행하도록 구성된다.
획득 유닛(601)은 패킷을 수신하고, 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용되며, 애플리케이션 프로그램의 네트워크 성능 요건 정보는 애플리케이션 프로그램의 네트워크 성능 요건을 지시하는 데 사용된다.
전송 유닛(602)은 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 입구 노드에 전송하도록 구성된다.
패킷 처리 장치는 전술한 방법 실시예에서 네트워크 기기(302)의 기능을 구현할 수 있다. 구체적인 실행 단계에 대해서는 전술한 방법 실시예를 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
이에 상응하여, 도 8을 참조한다. 본 출원의 일 실시예는 단말 기기(700)를 더 제공한다. 단말 기기(700)는 도 2에 도시된 단말 기기(101)의 기능, 또는 도 4에 도시된 단말 기기(301)의 기능을 구현할 수 있다.
단말 기기(700)는 획득 유닛(701), 패킷 생성 유닛(702) 및 전송 유닛(703)을 포함한다. 획득 유닛(701)은 도 5에 도시된 실시예에서 S501을 수행하도록 구성되고, 패킷 생성 유닛(702)은 도 5에 도시된 실시예에서 S502를 수행하도록 구성되고, 전송 유닛(703)은 도 5에 도시된 실시예에서 S503을 수행하도록 구성된다.
획득 유닛(701)은 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다.
패킷 생성 유닛(702)은 애플리케이션 프로그램에 대응하는 패킷을 생성하도록 구성된다. 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 애플리케이션 프로그램의 특징 정보는 입구 노드에 의해 입구 노드에서 출구 노드로의 경로를 결정하는데 사용되므로, 패킷을 목적지 노드로 포워딩할 수 있다.
전송 유닛(703)은 네트워크 시스템을 사용하여 애플리케이션 프로그램에 대응하는 패킷을 목적지 노드로 송신하도록 구성된다.
단말 기기(700)는 전술한 방법 실시예에서 단말 기기(101)의 기능 또는 단말 기기(301)의 기능을 구현할 수 있다. 구체적인 실행 단계는 전술한 방법 실시예를 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
도 9를 참조하면, 본 출원의 실시예는 입구 노드(800)를 제공한다. 입구 노드(800)는 도 1 내지 도 5에 도시된 실시예에서의 입구 노드의 기능을 구현할 수 있다. 입구 노드는 메모리(801), 프로세서(802) 및 통신 인터페이스(803)를 포함한다.
메모리(801)는 명령어를 저장하도록 구성된다. 도 6에 도시된 실시예가 구현되고 도 6의 실시예에서 설명된 유닛이 소프트웨어로 구현되는 경우, 획득 유닛(501), 경로 결정 유닛(502) 및 포워딩 유닛(503)의 기능 수행에 필요한 소프트웨어 또는 프로그램 코드는 메모리(801)에 저장된다.
프로세서(802)는 메모리(801) 내의 명령어를 실행하여, 도 2에 도시된 실시예에서의 입구 노드(102) 또는 도 4에 도시된 실시예에서의 입구 노드(303)에 적용된 패킷 처리 방법을 수행하도록 구성된다.
통신 인터페이스(803)는 통신을 수행하도록 구성된다.
메모리(801), 프로세서(802) 및 통신 인터페이스(803)는 버스(804)를 통해 상호연결된다. 버스(804)는 주변 구성요소 상호연결(peripheral component interconnect, 약칭하여 PCI) 버스, 확장된 산업 표준 아키텍처(extended industry standard architecture, 약칭하여 EISA) 등일 수 있다. 버스는 주소 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 용이한 표현을 위해, 도 8에는 버스를 나타내기 위해 단지 하나의 두꺼운 선이 사용되지만, 이것이 버스가 하나만 있거나 버스 유형이 하나만 있음을 의미하지는 않는다.
구체적인 실시예에서, 프로세서(802)는 패킷을 획득하고 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고; 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여, 입구 노드와 출구 노드 사이의 경로를 결정하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. 프로세서(802)의 자세한 처리 과정에 대해서는 도 2에 도시된 실시예에서의 S202 및 S203대한 자세한 설명과 도 4에 도시된 실시예에서의 S404 및 S405에 대한 자세한 설명을 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
통신 인터페이스(803)는 입구 노드와 출구 노드 사이의 경로를 통해 패킷을 포워딩하도록 구성된다. 구체적인 과정은 도 3에 도시된 실시예의 S203에 대한 상세한 설명과 도 4에 도시된 실시예에서의 S405의 상세한 설명을 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
도 10을 참조하면, 본 출원의 일 실시예는 네트워크 기기(900)를 제공한다. 네트워크 기기는 도 4 및 도 5에 도시된 실시예에서의 네트워크 기기의 기능을 구현할 수 있다. 네트워크 기기(900)는 메모리(901), 프로세서(902) 및 통신 인터페이스(903)를 포함한다.
메모리(901)는 명령어를 저장하도록 구성된다. 도 7에 도시된 실시예가 구현되고 도 7의 실시예에서 설명한 유닛이 소프트웨어를 사용하여 구현되는 경우, 도 7의 획득 유닛(601) 및 전송 유닛(602)의 기능을 수행하는 데 필요한 소프트웨어, 소프트웨어 또는 프로그램 코드는 메모리(901)에 저장된다.
프로세서(902)는 메모리(901) 내의 명령어를 실행하여 도 4에 도시된 실시예에서 네트워크 기기(302)에 적용된 패킷 처리 방법을 수행하도록 구성된다.
통신 인터페이스(903)는 단말 기기 및 입구 노드와 통신하도록 구성된다.
메모리(901), 프로세서(902) 및 통신 인터페이스(903)는 버스(904)를 통해 상호 연결된다. 버스(904)는 주변 구성요소 상호연결(peripheral component interconnect, 약칭하여 PCI) 버스, 확장된 산업 표준 아키텍처(extended industry standard architecture, 약칭하여 EISA) 등일 수 있다. 버스는 주소 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 용이한 표현을 위해, 도 10에는 버스를 나타내기 위해 단지 하나의 두꺼운 선이 사용되지만, 이것이 버스가 하나만 있거나 버스 유형이 하나만 있음을 의미하지는 않는다.
구체적인 실시예에서, 프로세서(902)는 패킷을 획득하고 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 특징 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. 프로세서(902)의 자세한 처리 과정에 대해서는 도 4에 도시된 실시예에서의 S402 및 S403에 대한 자세한 설명을 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
통신 인터페이스(903)는 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 입구 노드에 전송하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 패킷을 포워딩하기 위해, 입구 노드에 의해 입구 노드에서 출구 노드로의 경로를 결정하는 데 사용된다. 구체적인 과정은 도 4에 도시된 실시예에서의 S403에 대한 자세한 설명을 참조한다. 여기서는 자세한 내용을 여기서 다시 설명하지 않는다.
도 11을 참조하면, 본 애플리케이션의 일 실시예는 단말 기기(1000)를 제공한다. 단말 기기는 도 2에 도시된 실시예에서의 단말 기기(101)의 기능 또는 도 4에 도시된 실시예에서의 단말 기기(301)의 기능을 구현할 수 있다. 단말 기기(1000)는 메모리(1001), 프로세서(1002) 및 통신 인터페이스(1003)를 포함한다.
메모리(1001)는 명령어를 저장하도록 구성된다. 도 8에 도시된 실시예가 구현되고 도 8의 실시예에서 설명된 유닛들이 소프트웨어로 구현되는 경우, 도 8의 획득 유닛(701), 패킷 생성 유닛(702) 및 전송 유닛(703)의 기능을 수행하는 데 필요한 소프트웨어 또는 프로그램 코드는 메모리(1001)에 저장된다.
프로세서(1002)는 메모리(1001) 내의 명령어를 실행하여 도 4에 도시된 실시예에서의 네트워크 기기(302)에 적용된 패킷 처리 방법을 수행하도록 구성된다.
통신 인터페이스(1003)는 네트워크 기기 또는 입구 노드와 통신하도록 구성된다.
메모리(1001), 프로세서(1002) 및 통신 인터페이스(1003)는 버스(1004)를 통해 상호 연결된다. 버스(1004)는 주변 구성요소 상호연결(peripheral component interconnect, 약칭하여 PCI) 버스, 확장된 산업 표준 아키텍처(extended industry standard architecture, 약칭하여 EISA) 등일 수 있다. 버스는 주소 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 용이한 표현을 위해, 도 11에는 버스를 나타내기 위해 단지 하나의 두꺼운 선이 사용되지만, 이것이 버스가 하나만 있거나 버스 유형이 하나만 있음을 의미하지는 않는다.
구체적인 실시예에서, 프로세서(1002)는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. 단말 기기(1000)는 애플리케이션 프로그램에 대응하는 패킷을 생성한다. 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 애플리케이션 프로그램의 특징 정보는 패킷을 목적 노드에 포워딩하기 위해, 입구 노드에 의해 입구 노드에서 출구 노드로의 경로를 결정하는 데 사용된다.
프로세서(1002)의 상세한 처리 과정은 도 5에 도시된 실시예에서의 S501 및 S502에 대한 상세한 설명을 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
통신 인터페이스(1003)는 네트워크 시스템을 사용하여 애플리케이션 프로그램에 대응하는 패킷을 목적지 노드로 전송하기 위해 단말 기기에 의해 사용된다. 구체적인 과정은, 도 5에 도시된 실시예에서의 S503에 대한 자세한 설명을 참조한다. 여기서는 자세한 내용은 다시 설명하지 않는다.
메모리(801), 메모리(901) 및 메모리(1001) 각각은 랜덤 액세스 메모리(random-access memory, RAM), 플래시 메모리(flash memory), 판독 전용 메모리(read only memory, ROM), 소거 가능한 프로그래밍 가능한 판독 전용 메모리(erasable programmable read only memory, EPROM), 전기적으로 소거 가능한 프로그래밍 가능한 판독 전용 메모리(electrically erasable programmable read only memory, EEPROM), 레지스터(register), 하드 디스크, 탈착 가능한 이동식 하드 디스크, CD-ROM, 또는 당업자에게 알려진 임의의 다른 형태의 저장 매체일 수 있다.
프로세서(802), 프로세서(902) 및 프로세서(1002) 각각은 예를 들어, 중앙 처리 유닛(central processing unit, CPU), 범용 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 주문형 반도체(application-specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA) 또는 다른 프로그래밍 가능한 논리 디바이스, 트랜지스터 로직 디바이스, 하드웨어 구성요소 또는 이들의 임의의 조합일 수 있다. 프로세서는 본 출원에 개시된 내용을 참조하여 설명된 다양한 예시적인 논리 블록, 모듈 및 회로를 구현하거나 실행할 수 있다. 대안으로, 프로세서는 컴퓨팅 기능을 구현하는 프로세서의 조합, 예를 들어 하나 이상의 마이크로프로세서의 조합, 또는 DSP와 마이크로프로세서의 조합일 수 있다.
통신 인터페이스(803), 통신 인터페이스(903) 및 통신 인터페이스(1003) 각각은 예를 들어 인터페이스 카드일 수 있고, 이더넷(Ethernet) 인터페이스 또는 비동기 전송 모드(asynchronous transfer mode, ATM)일 수 있다.
본 출원의 실시예는 칩을 더 제공한다. 칩은 입구 노드에 배치되고 네트워크 시스템에서 사용된다. 네트워크 시스템은 입구 노드와 출구 노드를 포함하며 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 칩에는 프로세서와 인터페이스 회로가 포함되어 있다.
인터페이스 회로는 코드 명령어을 수신하고 코드 명령어를 프로세서에 전송하도록 구성된다.
프로세서는 도 2에 도시된 실시예에서 코드 명령어를 실행하여 도 2에 도시된 실시예에서의 입구 노드(102) 또는 도 4에 도시된 실시예에서의 입구 노드(303)에 적용된 패킷 처리 방법을 수행하도록 구성된다.
구체적인 실시예에서, 프로세서는 패킷을 획득하고 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고; 애플리케이션 프로그램의 특징 정보, 및 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 입구 노드와 출구 노드 사이의 경로를 결정하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 애플리케이션 프로그램의 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. 프로세서의 자세한 처리 과정은 도 2에 도시된 실시예에서의 S202 및 S203에 대한 자세한 설명과 도 4에 도시된 실시예에서의 S404 및 S405에 대한 상세한 설명을 참조한다. 여기서는 자세한 내용을 다시 설명하지 않는다.
본 출원의 실시예는 칩을 더 제공한다. 칩은 네트워크 기기에 배치되어 네트워크 시스템에서 사용된다. 네트워크 시스템에는 네트워크 기기, 입구 노드 및 출구 노드가 포함된다. 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 칩에는 프로세서와 인터페이스 회로가 포함되어 있다.
인터페이스 회로는 코드 명령어를 수신하고 코드 명령어를 프로세서에 전송하도록 구성된다.
프로세서는 코드 명령어를 실행하여 도 4에 도시된 실시예에서의 네트워크 기기(302)에 적용되는 패킷 처리 방법을 수행하도록 구성된다.
구체적인 실시예에서, 프로세서는 패킷을 획득하고 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 특징 정보 및 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다.
본 출원의 실시예는 칩을 더 제공한다. 칩은 단말 기기에 배치되어 네트워크 시스템에서 사용된다. 네트워크 시스템은 입구 노드와 출구 노드를 포함한다. 입구 노드는 단말 기기로부터 패킷을 수신하고 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 칩에는 프로세서와 인터페이스 회로가 포함되어 있다.
인터페이스 회로는 코드 명령어를 수신하고 코드 명령어를 프로세서에 전송하도록 구성된다.
프로세서는 코드 명령어를 실행하여 도 4에 도시된 실시예에서의 네트워크 기기(302)에 적용된 패킷 처리 방법을 수행하도록 구성된다.
구체적인 실시예에서, 프로세서는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된다. 애플리케이션 프로그램의 특징 정보는 애플리케이션 프로그램의 식별 정보 및 네트워크 성능 요건 정보 중 적어도 하나를 포함한다. 식별 정보는 애플리케이션 프로그램을 식별하는 데 사용된다. 단말 기기는 애플리케이션 프로그램에 대응하는 패킷을 생성한다. 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 애플리케이션 프로그램의 특징 정보는 입구 노드에 의해 패킷을 목적지 노드에 포워딩하기 위해, 입구 노드에서 출구 노드로의 경로를 결정하는 데 사용된다.
본 출원의 실시예는 네트워크 시스템을 더 제공한다. 네트워크 시스템은 입구 노드와 출구 노드를 포함하며 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 네트워크 시스템의 입구 노드는 도 2에 도시된 실시예에서의 입구 노드(102)의 처리 단계를 수행할 수 있거나, 또는 이에 상응하여, 네트워크 시스템의 입구 노드는 도 6에 도시된 실시예의 패킷 처리 장치(500)이다.
본 출원의 실시예는 네트워크 시스템을 더 제공한다. 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드가 포함된다. 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 네트워크 시스템의 네트워크 기기는도 4의 실시예에서의 네트워크 기기(302)의 처리 단계를 수행할 수 있거나, 이에 상응하여, 네트워크 시스템의 네트워크 기기는 도 7에 도시된 실시예의 패킷 처리 장치(600)이다. 네트워크 시스템의 입구 노드는 도 4에 도시된 실시예에서의 입구 노드(303)의 처리 단계를 수행한다.
구체적으로, 입구 노드는 네트워크 기기에 의해 전송되는 패킷을 수신하고; 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고; 애플리케이션 프로그램의 특징 정보에 기초하여 입구 노드와 출구 노드 사이의 경로를 결정하고; 입구 노드와 출구 노드 사이의 경로를 통해 패킷을 포워딩한다.
본 출원의 실시예는 네트워크 시스템을 더 제공한다. 네트워크 시스템은 단말 기기, 입구 노드 및 출구 노드를 포함한다. 패킷은 입구 노드와 출구 노드 사이의 경로를 통해 목적지 노드에 도달한다. 네트워크 시스템의 단말 기기는 도 5의 실시예에서의 단말 기기의 처리 단계를 수행할 수 있거나, 이에 상응하여, 네트워크 시스템의 단말 기기는 도 8에 도시된 실시예에서의 단말 기기(700)이다. 네트워크 시스템의 입구 노드는 도 5에 도시된 실시예에서의 입구 노드의 처리 단계를 수행한다.
구체적으로, 입구 노드는, 네트워크 기기에 의해 전송되는 패킷을 수신하고; 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고; 애플리케이션 프로그램의 특징 정보에 기초하여 입구 노드와 출구 노드 사이의 경로를 결정하고; 입구 노드와 출구 노드 사이의 경로를 통해 패킷을 포워딩한다.
본 출원의 실시예는 명령어를 포함하는 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 입구 노드(800)에 적용된 패킷 처리 방법을 수행할 수 있게 된다.
본 출원의 실시예는 명령어를 포함하는 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 네트워크 기기(900)에 적용된 패킷 처리 방법을 수행할 수 있게 된다.
본 출원의 실시예는 명령어를 포함하는 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 단말 기기(1000)에 적용된 패킷 처리 방법을 수행할 수 있다.
본 출원의 명세서, 청구 범위 및 첨부 도면에서, 용어 "제1", "제2", "제3", "제4" 등(존재하는 경우)은 유사한 객체를 구별하기 위한 것이지만, 반드시 특정 순서나 시퀀스를 나타내지는 않는다. 이러한 방식으로 명명된 데이터는 적절한 상황에서 상호교환될 수 있으므로, 여기에 설명된 실시예는 여기에 예시되거나 설명 된 순서와 다른 순서로 구현될 수 있음을 이해해야 한다. 또한 "포함(include, contain)", 및 그 모든 변형은 비 배타적 포함을 의미한다. 예를 들어, 단계 또는 유닛의 목록을 포함하는 프로세스, 방법, 시스템, 제품 또는 기기는 반드시 그 단계 또는 유닛으로 한정되지는 않고, 명시적으로 나열되지 않거나 그러한 프로세스, 방법, 제품 또는 기기에 고유하지 않은 다른 단계 또는 유닛을 포함할 수 있다.
전술한 시스템, 장치 및 유닛의 상세한 작동 프로세스에 대해서는 편리하고 간략한 설명을 위해 전술한 방법 실시예에서의 대응하는 프로세스를 참조하는 것은 당업자에게 명확하게 이해될 수 있다. 여기서는 자세한 내용을 다시 설명하지 않는다.
본 출원에서 제공되는 여러 실시예에서, 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예일 뿐이다. 예를 들어, 유닛으로의 분할은 단지 논리적인 서비스 분할이며 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성요소가 다른 시스템에 결합되거나 통합될 수 있거나, 일부 기능이 무시되거나 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 통해 구현될 수 있다. 장치 또는 유닛 간의 간접 결합 또는 통신 연결은 전자적 형태, 기계적 형태 또는 다른 형태로 구현될 수 있다.
분리된 부분으로 기술된 유닛은 물리적으로 분리될 수도 있고 그렇지 않을 수도 있고, 유닛으로 표시되는 부분은 물리적 유닛일 수도 있고 아닐 수도 있으며, 한 장소에 위치할 수도 있고, 복수의 네트워크 유닛에 분산될 수도 있다. 일부 또는 모든 유닛은 실시예의 방안의 목적을 달성하기 위해 실제 요건에 기초하여 선택될 수 있다.
또한, 본 출원의 실시예에서의 서비스 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 각각의 유닛은 물리적으로 단독으로 존재할 수 있거나, 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 통합된 유닛은 하드웨어의 형태로 구현될 수 있거나 소프트웨어 서비스 유닛의 형태로 구현될 수 있다.
통합된 유닛이 소프트웨어 서비스 유닛의 형태로 구현되어 독립적인 제품으로 판매 또는 사용되는 경우, 통합된 유닛은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본 출원의 본질적인 기술적 방안 또는 현재 기술에 기여하는 부분, 또는 기술적 방안의 전부 또는 일부는 컴퓨터 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고 컴퓨터 장치(개인용 컴퓨터, 서버 또는 네트워크 기기일 수 있음)에 본 출원의 실시예에 기재된 방법의 단계의 전부 또는 일부를 수행하도록 명령하기 위한 여러 명령어를 포함한다. 전술한 저장 매체로는 USB 플래시 드라이브, 탈착 가능한 하드 디스크, 판독기 전용 메모리(ROM, Read-Only Memory), 랜덤 액세스 메모리(RAM, Random Access Memory), 자기 디스크 또는 광 디스크를 포함한다.
당업자는 전술한 하나 이상의 예에서 본 발명에 설명된 서비스가 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합에 의해 구현될 수 있음을 알아야 한다. 본 발명에서 설명하는 서비스가 소프트웨어로 구현되는 경우, 전술한 서비스는 컴퓨터로 판독 가능한 매체에 저장되거나 컴퓨터로 판독 가능한 매체에 하나 이상의 명령 또는 코드로서 송신될 수 있다. 컴퓨터로 판독 가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하며, 통신 매체는 컴퓨터 프로그램이 한 장소에서 다른 장소로 전송될 수 있게 하는 임의의 매체를 포함한다. 저장 매체는 범용 또는 특수 목적 컴퓨터에 액세스할 수 있는 임의의 사용 가능한 매체일 수 있다.
전술한 구체적인 구현예에서, 본 발명의 목적, 기술적 방안 및 이점을 더 상세히 설명하였다. 이상의 설명은 단지 본 발명의 구체적인 구현일 뿐임을 이해해야한다.
전술한 실시예는 본 출원의 기술적 방안을 설명하기 위한 것일 뿐, 본 출원을 한정하기 위한 것이 아니다. 본 출원이 전술한 실시예를 참조하여 상세하게 설명되었지만, 당업자라면 본 출원 실시예의 기술적 방안의 범위를 벗어나지 않으면서, 전술한 실시예에서 설명된 기술 방안을 수정하거나 그 일부 기술적인 특징을 동등물로 대체할 수 있음을 이해해야 한다.

Claims (74)

  1. 네트워크 시스템에 적용되는 패킷 처리 방법으로서,
    상기 네트워크 시스템은 입구 노드(ingress node)와 출구 노드(egress node)를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 패킷 처리 방법은,
    상기 입구 노드가 상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계 - 상기 패킷은 인터넷 프로토콜 버전 6(IPv6) 패킷이고, 상기 애플리케이션 프로그램의 특징 정보는 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용되며, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용됨 -;
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하는 단계; 및
    상기 입구 노드가 상기 패킷을 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 포워딩하는 단계
    를 포함하고,
    상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 목적지 주소 또는 IPv6 확장 헤더에서 운반되는, 패킷 처리 방법.
  2. 제1항에 있어서,
    상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(type-length-value, TLV) 필드와 세그먼트 라우팅 헤더(segment routing header, SRH)의 세그먼트 식별자(segment identifier, SID) 중 적어도 하나를 포함하는, 패킷 처리 방법.
  3. 제2항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션(hop-by-hop option) TLV 필드, 목적지 옵션(destination option) TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함하는, 패킷 처리 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷 인, 패킷 처리 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보는 상기 패킷에 실려 전달되고;
    상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계는,
    상기 패킷에서 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 추출하는 단계를 포함하는, 패킷 처리 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계는,
    상기 패킷을 파싱하여 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계를 포함하는, 패킷 처리 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 패킷이 상기 애플리케이션 프로그램에 대응하는 서비스 정보를 실어 전달하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계는,
    상기 서비스 정보에 기초하여, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 결정하는 단계를 포함하는, 패킷 처리 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보이면, 상기 입구 노드가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 획득하는 하는 것은,
    상기 입구 노드가 상기 패킷에 기초하여 상기 애플리케이션 프로그램의 식별 정보를 획득하는 것; 및
    상기 입구 노드가 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정하는 것을 포함하는, 패킷 처리 방법.
  9. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함하고, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하는 데 사용되는, 패킷 처리 방법.
  10. 제9항에 있어서,
    상기 패킷 처리 방법은,
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계를 저장하는 단계를 더 포함하고;
    상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계는,
    상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 사용자 식별자와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 및
    상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계를 포함하는, 패킷 처리 방법.
  11. 제10항에 있어서,
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하는 단계는,
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여, 상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로를 선택하거나; 또는
    상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로가 발견되지 않는 경우, 상기 입구 노드가 상기 출구 노드에의 경로를 생성하는 단계를 포함하는, 패킷 처리 방법.
  12. 제11항에 있어서,
    상기 입구 노드가 상기 출구 노드에의 경로를 생성하는 단계는,
    상기 입구 노드가 상기 네트워크 시스템의 획득된 토폴로지 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 경로를 생성하는 단계; 또는
    상기 입구 노드가 경로 획득 요청을 제어기에 전송하는 단계 - 상기 경로 획득 요청은 상기 애플리케이션 프로그램의 특징 정보를 실어 전달함 -; 및
    상기 입구 노드가 상기 경로 획득 요청에 기초하여 상기 제어기에 의해 생성되고 상기 애플리케이션 프로그램의 특징 정보에 대응하는 경로를 수신하는 단계를 포함하는, 패킷 처리 방법.
  13. 제12항에 있어서,
    상기 패킷 처리 방법은,
    상기 출구 노드에의 경로를 생성한 후, 상기 입구 노드가 생성된 경로와 상기 애플리케이션 프로그램의 특징 정보 사이의 대응관계를, 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 추가하는 단계를 더 포함하는 패킷 처리 방법.
  14. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 입구 노드와 상기 출구 노드 사이의 경로는 터널 또는 세그먼트 라우팅(segment routing, SR) 정책을 포함하는, 패킷 처리 방법.
  15. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 네트워크 성능 요건 정보는,
    대역폭(security information) 정보, 지연 시간(latency) 정보, 지연 시간 지터(latency jitter) 정보, 패킷 손실(packet loss) 정보, 신뢰성(reliability) 정보 및 보안(security) 정보 중 적어도 하나를 포함하는, 패킷 처리 방법.
  16. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 패킷 처리 방법은,
    상기 입구 노드가 상기 애플리케이션 프로그램의 식별 정보에 의해 식별되는 상기 애플리케이션 프로그램의 트래픽을 분석하여 분석 결과를 획득하는 단계; 및
    상기 입구 노드가 상기 분석 결과에 기초하여, 상기 입구 노드와 상기 출구 노드 사이에 있고 상기 애플리케이션 프로그램의 패킷에 대응하는 경로를 조정하는 단계를 더 포함하는 패킷 처리 방법.
  17. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 입구 노드가 상기 패킷을 상기 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 포워딩하는 단계는,
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 큐(queue)를 결정하고, 상기 큐에 상기 패킷을 추가하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 큐 내의 패킷을 포워딩하는 단계를 포함하는, 패킷 처리 방법.
  18. 제17항에 있어서,
    상기 패킷 처리 방법은,
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계를 저장하는 단계를 더 포함하고;
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 큐를 결정하는 것은,
    상기 입구 노드가 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계에 기초하여, 상기 큐를 결정하는 것을 포함하는, 패킷 처리 방법.
  19. 제18항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계는,
    상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 사용자 식별자와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계를 포함하는, 패킷 처리 방법.
  20. 제18항에 있어서,
    상기 패킷 처리 방법은,
    상기 입구 노드가 상기 애플리케이션 프로그램의 식별 정보에 의해 식별되는 애플리케이션 프로그램의 트래픽을 분석하여 분석 결과를 획득하는 단계; 및
    상기 입구 노드가 상기 분석 결과에 기초하여, 상기 애플리케이션 프로그램의 패킷이 추가되는 큐를 조정하는 단계를 더 포함하는 패킷 처리 방법.
  21. 네트워크 시스템에 적용되는 패킷 처리 방법으로서,
    상기 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 패킷 처리 방법은,
    상기 네트워크 기기가 상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 단계 - 상기 패킷은 인터넷 프로토콜 버전 6(IPv6) 패킷이고, 상기 애플리케이션 프로그램의 특징 정보는 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용되며, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용됨 -; 및
    상기 네트워크 기기가 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 상기 패킷을 상기 입구 노드에 전송하는 단계 - 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용됨 -
    를 포함하고,
    상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 목적지 주소 또는 IPv6 확장 헤더에서 운반되는, 패킷 처리 방법.
  22. 제21항에 있어서,
    상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드 및/또는 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함하는, 패킷 처리 방법.
  23. 제22항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함하는, 패킷 처리 방법.
  24. 제22항 또는 제23항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷 인, 패킷 처리 방법.
  25. 제21항에 있어서,
    상기 네트워크 기기에 의해 획득되는 상기 IPv6 패킷의 IPv6 확장 헤더의 TLV 필드가 세그먼트 식별자 포맷으로 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하면, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 네트워크 기기가 상기 IPv6 확장 헤더의 TLV 필드에서 상기 애플리케이션 프로그램의 특징 정보를 추출하는 것을 포함하고;
    상기 네트워크 기기가 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 상기 패킷을 상기 입구 노드에 전송하는 단계는,
    상기 네트워크 기기가 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는, 상기 IPv6 패킷의 목적지 주소를 상기 입구 노드에 전송하는 단계를 포함하는, 패킷 처리 방법.
  26. 제21항 내지 제23항 중 어느 한 항에 있어서,
    상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 네트워크 기기가 상기 패킷을 파싱하여 상기 애플리케이션 프로그램의 특징 정보를 획득하는 것을 포함하는, 패킷 처리 방법.
  27. 제21항 내지 제23항 중 어느 한 항에 있어서,
    상기 네트워크 기기에 의해 상기 입구 노드에 전송되는 패킷에 실려 전달되는, 상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보이고, 상기 네트워크 기기에 의해 획득되는 패킷이 상기 애플리케이션의 식별 정보를 포함하면, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 네트워크 기기가 상기 패킷에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 식별 정보를 추출하는 것; 및
    상기 네트워크 기기가 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정하는 것을 포함하는, 패킷 처리 방법.
  28. 제21항 내지 제23항 중 어느 한 항에 있어서,
    상기 네트워크 기기에 의해 획득되는 패킷이 상기 애플리케이션 프로그램의 서비스 정보를 포함하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 네트워크 기기가 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 네트워크 기기가 상기 애플리케이션 프로그램의 서비스 정보에 기초하여 상기 애플리케이션 프로그램의 특징 정보를 결정하는 것을 포함하는, 패킷 처리 방법.
  29. 제21항 내지 제23항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함하는, 패킷 처리 방법.
  30. 네트워크 시스템에 적용되는 패킷 처리 방법으로서,
    상기 네트워크 시스템은 입구 노드와 출구 노드를 포함하고, 상기 입구 노드는 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 패킷 처리 방법은,
    상기 단말 기기가 애플리케이션 프로그램의 특징 정보를 획득하는 단계 - 상기 패킷은 인터넷 프로토콜 버전 6(IPv6) 패킷이고, 상기 애플리케이션 프로그램의 특징 정보는 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하며, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용되고, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용됨 -;
    상기 단말 기기가 상기 애플리케이션 프로그램에 대응하는 패킷을 생성하는 단계 - 상기 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 상기 목적지 노드로 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용됨 -;
    상기 단말 기기가 상기 애플리케이션 프로그램에 대응하는 패킷을 상기 네트워크 시스템을 사용하여 상기 목적지 노드에 전송하는 단계
    를 포함하고,
    상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 목적지 주소 또는 IPv6 확장 헤더에서 운반되는, 패킷 처리 방법.
  31. 제30항에 있어서,
    상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드와 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함하는, 패킷 처리 방법.
  32. 제31항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함하는, 패킷 처리 방법.
  33. 제31항 또는 제32항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷 인, 패킷 처리 방법.
  34. 네트워크 시스템에 사용되는 패킷 처리 장치로서,
    상기 네트워크 시스템은 입구 노드(ingress node)와 출구 노드(egress node)를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 입구 노드가 상기 패킷 처리 장치이고, 상기 패킷 처리 장치는,
    상기 패킷을 수신하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된 획득 유닛 - 상기 패킷은 인터넷 프로토콜 버전 6(IPv6) 패킷이고, 상기 애플리케이션 프로그램의 특징 정보는 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하며, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용되고, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용됨 -;
    상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하도록 구성된 경로 결정 유닛; 및
    상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 패킷을 포워딩하도록 구성된 포워딩 유닛
    을 포함하고,
    상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 목적지 주소 또는 IPv6 확장 헤더에서 운반되는, 패킷 처리 장치.
  35. 제34항에 있어서,
    상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드와 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함하는, 패킷 처리 장치.
  36. 제35항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션(hop-by-hop option) TLV 필드, 목적지 옵션(destination option) TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함하는, 패킷 처리 장치.
  37. 제34항 내지 제36항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보는 상기 패킷에 실려 전달되고;
    상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 패킷에서 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 추출하는 것을 포함하는, 패킷 처리 장치.
  38. 제34항 내지 제36항 중 어느 한 항에 있어서,
    상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 패킷을 파싱하여 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것을 포함하는, 패킷 처리 장치.
  39. 제34항 내지 제36항 중 어느 한 항에 있어서,
    상기 패킷이 상기 애플리케이션 프로그램에 대응하는 서비스 정보를 실어 전달하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 서비스 정보에 기초하여, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 결정하는 것을 포함하는, 패킷 처리 장치.
  40. 제34항 내지 제36항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함하면, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 획득하는 하는 것은,
    상기 패킷에 기초하여 상기 애플리케이션 프로그램의 식별 정보를 획득하는 것; 및
    상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정하는 것을 포함하는, 패킷 처리 장치.
  41. 제34항 내지 제36항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함하고, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하는 데 사용되는, 패킷 처리 장치.
  42. 제41항에 있어서,
    상기 패킷 처리 장치는,
    상기 애플리케이션 프로그램의 특징 정보와, 입구 노드와 출구 노드 사이의 경로 사이의 매핑 관계를 저장하도록 구성된 제1 저장 유닛을 더 포함하고;
    상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계는,
    상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계;
    상기 사용자 식별자와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계; 및
    상기 사용자 식별자와, 상기 애플리케이션 프로그램의 식별 정보와, 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계를 포함하는, 패킷 처리 장치.
  43. 제42항에 있어서,
    상기 경로 결정 유닛은 상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와, 상기 입구 노드와 상기 출구 노드 사이의 경로 사이의 매핑 관계에 기초하여, 상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로를 선택하거나; 또는
    상기 애플리케이션 프로그램의 특징 정보와 매칭되는 경로가 발견되지 않는 경우, 상기 입구 노드에 의해 상기 출구 노드에의 경로를 생성하도록 구성되는, 패킷 처리 장치.
  44. 제34항 내지 제36항 중 어느 한 항에 있어서,
    상기 포워딩 유닛은 상기 애플리케이션 프로그램의 특징 정보에 기초하여, 상기 애플리케이션 프로그램의 특징 정보에 대응하는 큐를 결정하고, 상기 큐에 상기 패킷을 추가하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 큐 내의 패킷을 포워딩하도록 구성되는, 패킷 처리 장치.
  45. 제44항에 있어서,
    상기 패킷 처리 장치는,
    상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계를 저장하도록 구성된 제2 저장 유닛; 및
    상기 애플리케이션 프로그램의 특징 정보, 및 상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계에 기초하여, 상기 큐를 결정하도록 구성된 큐 결정 유닛을 더 포함하는 패킷 처리 장치.
  46. 제45항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보와 상기 큐 사이의 매핑 관계는,
    상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 사용자 식별자와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계; 또는
    상기 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보와 상기 큐 사이의 매핑 관계를 포함하는, 패킷 처리 장치.
  47. 네트워크 시스템에 사용되는 패킷 처리 장치로서,
    상기 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 네트워크 기기는 상기 패킷 처리 장치이고, 상기 패킷 처리 장치는,
    상기 패킷을 획득하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하도록 구성된 획득 유닛 - 상기 패킷은 인터넷 프로토콜 버전 6(IPv6) 패킷이고, 상기 애플리케이션 프로그램의 특징 정보는 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용되며, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용됨 -; 및
    상기 입구 노드에, 상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 상기 패킷을 전송하도록 구성된 전송 유닛 - 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용됨 -
    를 포함하고,
    상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 목적지 주소 또는 IPv6 확장 헤더에서 운반되는, 패킷 처리 장치.
  48. 제47항에 있어서,
    상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드 및/또는 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함하는, 패킷 처리 장치.
  49. 제48항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함하는, 패킷 처리 장치.
  50. 제49항에 있어서,
    상기 획득 유닛에 의해 획득되는 상기 IPv6 패킷의 IPv6 확장 헤더의 TLV 필드가 세그먼트 식별자 포맷으로 실려 전달되는, 상기 애플리케이션 프로그램의 특징 정보를 포함하면,
    상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 IPv6 확장 헤더의 TLV 필드에서 상기 애플리케이션 프로그램의 특징 정보를 추출하는 것을 포함하고;
    상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는 패킷을 상기 입구 노드에 전송하는 것은,
    상기 애플리케이션 프로그램의 특징 정보를 실어 전달하는, 상기 IPv6 패킷의 목적지 주소를 상기 입구 노드에 전송하는 것을 포함하는, 패킷 처리 장치.
  51. 제47항 내지 제50항 중 어느 한 항에 있어서,
    상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 패킷을 파싱하여 상기 애플리케이션 프로그램의 특징 정보를 획득하는 것을 포함하는, 패킷 처리 장치.
  52. 제47항 내지 제50항 중 어느 한 항에 있어서,
    상기 전송 유닛에 의해 상기 입구 노드에 전송되는 상기 패킷에 실려 전달되는, 상기 애플리케이션 프로그램의 특징 정보가 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 포함하고, 상기 네트워크 기기에 의해 획득되는 패킷이 상기 애플리케이션의 식별 정보를 포함하면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 패킷에서, 상기 패킷에 대응하는 애플리케이션 프로그램의 식별 정보를 추출하는 것, 및 상기 식별 정보에 기초하여 상기 애플리케이션 프로그램의 네트워크 성능 요건 정보를 결정하는 것을 포함하는, 패킷 처리 장치.
  53. 제47항 내지 제50항 중 어느 한 항에 있어서,
    상기 획득 유닛에 의해 획득되는 패킷이 상기 애플리케이션 프로그램의 서비스 정보를 포함하고, 상기 서비스 정보가 상기 애플리케이션 프로그램이 속한 서비스에 관한 정보이면, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하는 것은,
    상기 애플리케이션 프로그램의 서비스 정보에 기초하여 상기 애플리케이션 프로그램의 특징 정보를 결정하는 것을 포함하는, 패킷 처리 장치.
  54. 제47항 내지 제50항 중 어느 한 항에 있어서,
    상기 애플리케이션 프로그램의 특징 정보는 상기 애플리케이션 프로그램에 대응하는 사용자 식별자를 더 포함하는, 패킷 처리 장치.
  55. 네트워크 시스템에 사용되는 단말 기기로서,
    상기 네트워크 시스템은 입구 노드와 출구 노드를 포함하고, 상기 입구 노드는 상기 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 단말 기기는,
    애플리케이션 프로그램의 특징 정보를 획득하도록 구성된 획득 유닛 - 상기 패킷은 인터넷 프로토콜 버전 6(IPv6) 패킷이고, 상기 애플리케이션 프로그램의 특징 정보는 사용자 식별자와 상기 애플리케이션 프로그램의 식별 정보와 네트워크 성능 요건 정보 중 적어도 하나를 포함하고, 상기 식별 정보는 상기 애플리케이션 프로그램을 식별하는 데 사용되며, 상기 사용자 식별자는 상기 애플리케이션 프로그램에 대응하는 사용자를 식별하기 위해 사용됨 -;
    상기 애플리케이션 프로그램에 대응하는 패킷을 생성하도록 구성된 패킷 생성 유닛 - 상기 패킷은 애플리케이션 프로그램의 특징 정보를 실어 전달하고, 상기 애플리케이션 프로그램의 특징 정보는 상기 패킷을 상기 목적지 노드로 포워딩하기 위해, 상기 입구 노드에 의해 상기 입구 노드에서 상기 출구 노드로의 경로를 결정하는 데 사용됨 -; 및
    상기 애플리케이션 프로그램에 대응하는 패킷을 상기 네트워크 시스템을 사용하여 상기 목적지 노드에 전송하도록 구성된 전송 유닛
    을 포함하고,
    상기 애플리케이션 프로그램의 특징 정보는 상기 IPv6 패킷의 목적지 주소 또는 IPv6 확장 헤더에서 운반되는, 단말 기기.
  56. 제55항에 있어서,
    상기 IPv6 패킷의 IPv6 확장 헤더는, 상기 IPv6 확장 헤더의 유형 길이 값(TLV) 필드와 세그먼트 라우팅 헤더(SRH)의 세그먼트 식별자(SID) 중 적어도 하나를 포함하는, 단말 기기.
  57. 제56항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드는, 홉별 옵션 TLV 필드, 목적지 옵션 TLV 필드 및 상기 SRH의 TLV 필드 중 적어도 하나를 포함하는, 단말 기기.
  58. 제56항 또는 제57항에 있어서,
    상기 IPv6 확장 헤더의 TLV 필드에서의 값의 포맷은 세그먼트 식별자 포맷 인, 단말 기기.
  59. 네트워크 시스템에서 사용되는 입구 노드로서,
    상기 네트워크 시스템은 상기 입구 노드와 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 입구 노드는 메모리 및 프로세서를 포함하고,
    상기 메모리는 명령어를 저장하도록 구성되고;
    상기 프로세서는 제1항 내지 제3항 중 어느 한 항에 따른 방법을 수행하기 위해, 상기 메모리 내의 명령어를 실행하도록 구성되는,
    입구 노드
  60. 네트워크 시스템에서 사용되는 네트워크 기기로서,
    상기 네트워크 시스템은 상기 네트워크 기기, 입구 노드 및 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 네트워크 기기는 메모리 및 프로세서를 포함하고,
    상기 메모리는 명령어를 저장하도록 구성되고;
    상기 프로세서는 제21항 내지 제23항 중 어느 한 항에 따른 방법을 수행하기 위해, 상기 메모리 내의 명령어를 실행하도록 구성되는,
    네트워크 기기.
  61. 네트워크 시스템에서 사용되는 단말 기기로서,
    네트워크 시스템은 입구 노드와 출구 노드를 포함하고, 상기 입구 노드는 상기 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 단말 기기는 메모리 및 프로세서를 포함하며,
    상기 메모리는 명령어를 저장하도록 구성되고;
    상기 프로세서는 제30항 내지 제32항 중 어느 한 항에 따른 방법을 수행하기 위해, 상기 메모리 내의 명령어를 실행하도록 구성되는,
    단말 기기.
  62. 네트워크 시스템으로서,
    상기 네트워크 시스템은 입구 노드와 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며, 상기 입구 노드는 제34항 내지 제36항 중 어느 한 항에 따른 패킷 처리 장치인,
    네트워크 시스템.
  63. 네트워크 시스템으로서,
    상기 네트워크 시스템은 네트워크 기기, 입구 노드 및 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며;
    상기 네트워크 기기는 제47항 내지 제50항 중 어느 한 항에 따른 패킷 처리 장치이고;
    상기 입구 노드는 상기 네트워크 기기에 의해 전송되는 패킷을 수신하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고, 상기 애플리케이션 프로그램의 특징 정보에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 패킷을 포워딩하도록 구성되는,
    네트워크 시스템.
  64. 네트워크 시스템으로서, 상기 네트워크 시스템은 단말 기기, 입구 노드 및 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하며;
    상기 단말 기기는 제55항 내지 제57항 중 어느 한 항에 따른 패킷 처리 장치이고;
    상기 입구 노드는 네트워크 기기에 의해 전송되는 패킷을 수신하고, 상기 패킷에 대응하는 애플리케이션 프로그램의 특징 정보를 획득하고, 상기 애플리케이션 프로그램의 특징 정보에 기초하여 상기 입구 노드와 상기 출구 노드 사이의 경로를 결정하고, 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 상기 패킷을 포워딩하도록 구성된다.
  65. 명령어를 포함하는, 컴퓨터로 판독 가능한 저장 매체로서,
    상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1항 내지 제3항 중 어느 한 항에 따른 방법을 수행할 수 있게 되는, 컴퓨터로 판독 가능한 저장 매체.
  66. 입구 노드에 배치되고 네트워크 시스템에서 사용되는 칩으로서,
    상기 네트워크 시스템은 상기 입구 노드와 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하고, 상기 칩은 프로세서 및 인터페이스 회로를 포함하며,
    상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서로 전송하도록 구성되고;
    상기 프로세서는 제1항 내지 제3항 중 어느 한 항에 따른 방법을 수행하기 위해 상기 코드 명령어를 실행하도록 구성되는,
    칩.
  67. 네트워크 기기에 배치되고 네트워크 시스템에서 사용되는 칩으로서
    상기 네트워크 시스템은 상기 네트워크 기기, 입구 노드 및 출구 노드를 포함하고, 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하고, 상기 칩은 프로세서 및 인터페이스 회로를 포함하며,
    상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서에 전송하도록 구성되고;
    상기 프로세서는 상기 코드 명령어를 실행하여 제21항 내지 제23항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    칩.
  68. 단말 기기에 배치되고 네트워크 시스템에서 사용되는 칩으로서,
    상기 네트워크 시스템은 입구 노드와 출구 노드를 포함하고, 상기 입구 노드는 상기 단말 기기로부터 패킷을 수신하고, 상기 패킷은 상기 입구 노드와 상기 출구 노드 사이의 경로를 통해 목적지 노드에 도달하고, 상기 칩은 프로세서와 인터페이스 회로를 포함하며,
    상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서로 전송하도록 구성되고;
    상기 프로세서는 상기 코드 명령어를 실행하여 제30항 내지 제32항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    칩.
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
KR1020217019929A 2019-03-11 2020-03-11 패킷 처리 방법 및 장치, 기기, 그리고 시스템 KR102579059B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910181016.XA CN111683011B (zh) 2019-03-11 2019-03-11 报文处理方法、装置、设备及系统
CN201910181016.X 2019-03-11
PCT/CN2020/078799 WO2020182150A1 (zh) 2019-03-11 2020-03-11 报文处理方法、装置、设备及系统

Publications (2)

Publication Number Publication Date
KR20210092304A KR20210092304A (ko) 2021-07-23
KR102579059B1 true KR102579059B1 (ko) 2023-09-14

Family

ID=72426130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217019929A KR102579059B1 (ko) 2019-03-11 2020-03-11 패킷 처리 방법 및 장치, 기기, 그리고 시스템

Country Status (6)

Country Link
US (1) US20210409315A1 (ko)
EP (1) EP3866414A4 (ko)
JP (2) JP7234384B2 (ko)
KR (1) KR102579059B1 (ko)
CN (2) CN114915585A (ko)
WO (1) WO2020182150A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422426B (zh) * 2020-10-28 2022-06-28 中盈优创资讯科技有限公司 基于sr的业务处理方法及装置
CN114531384A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 一种业务处理方法、装置、设备及系统
CN112787926A (zh) * 2021-01-05 2021-05-11 北京信息科技大学 用于对兴趣包进行分段路由的装置、方法和系统
CN113132358A (zh) * 2021-03-29 2021-07-16 井芯微电子技术(天津)有限公司 策略分发器、拟态交换机及网络系统
CN115277878A (zh) * 2021-04-30 2022-11-01 华为技术有限公司 一种发送报文的方法、处理报文的方法及设备
CN113411259A (zh) * 2021-06-30 2021-09-17 新华三技术有限公司 一种报文转发方法、装置及设备
CN113709000A (zh) * 2021-08-31 2021-11-26 烽火通信科技股份有限公司 一种ping检测SRv6隧道双向连通性的方法与系统
CN114205282B (zh) * 2021-12-08 2023-06-20 中国电信股份有限公司 SRv6 Policy的调度方法、系统、路由器和控制器
CN116264560A (zh) * 2021-12-14 2023-06-16 中国移动通信有限公司研究院 路径规划方法及装置
WO2023213216A1 (zh) * 2022-05-06 2023-11-09 华为技术有限公司 一种报文处理的方法及相关设备
CN117097633A (zh) * 2022-05-12 2023-11-21 华为技术有限公司 报文传输方法、传输控制方法、装置及系统
CN115086186A (zh) * 2022-06-28 2022-09-20 清华大学 数据中心网络流量需求数据的生成方法和装置
CN115622935A (zh) * 2022-10-13 2023-01-17 阿里巴巴(中国)有限公司 基于网络的路径处理方法、系统和存储介质
CN116112464A (zh) * 2023-01-10 2023-05-12 武汉绿色网络信息服务有限责任公司 数据处理方法、装置、电子设备及存储介质
CN116545909B (zh) * 2023-07-03 2023-09-26 成都数维通信技术有限公司 一种报文转发方法、流量牵引方法、介质、设备及系统
CN117596204A (zh) * 2024-01-19 2024-02-23 杭州网鼎科技有限公司 一种SRv6网络下动态加速的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004529533A (ja) * 2001-02-16 2004-09-24 ヒューレット・パッカード・カンパニー 経路ダイバーシティを利用するパケット通信のための方法およびシステム
JP2007060494A (ja) * 2005-08-26 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム
US20070133503A1 (en) * 2004-04-16 2007-06-14 Boustead Paul A Devices and methods for routing a unit of data in a network
JP2008011536A (ja) * 2006-06-26 2008-01-17 Gemini Mobile Technologies Inc 無線ネットワークにおけるオンライン・ゲームのための方法、クライアント・デバイス、および中継ノード
JP2012138725A (ja) * 2010-12-27 2012-07-19 Alaxala Networks Corp 通信装置
JP2016149716A (ja) * 2015-02-13 2016-08-18 日本電信電話株式会社 アドレス情報書き換え装置、アドレス情報書き換え方法及びパケット転送システム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3438857B2 (ja) * 1997-06-30 2003-08-18 株式会社エヌ・ティ・ティ・データ ネットワークの通信品質制御システム及びトラフィック管理装置
JP2004260499A (ja) 2003-02-26 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> パケット通信制御方法、キュー制御設定装置、パケット通信制御プログラム及びそのプログラムを記録した記録媒体
US20050066033A1 (en) * 2003-09-24 2005-03-24 Cheston Richard W. Apparatus, system, and method for dynamic selection of best network service
JP2007282142A (ja) 2006-04-12 2007-10-25 Nec Corp 通信装置及びそれに用いるネットワーク選択方法並びにそのプログラム
JP5022088B2 (ja) 2007-04-13 2012-09-12 株式会社インテック アプリケーション端末装置及び経路選択方法
CN101789904A (zh) * 2010-02-04 2010-07-28 杭州华三通信技术有限公司 流量控制的方法及设备
CN101924756B (zh) * 2010-07-22 2014-08-13 中兴通讯股份有限公司 一种业务定制方法及服务器
CN102447980B (zh) * 2010-09-30 2015-01-28 中兴通讯股份有限公司 一种路由控制方法、系统及路由计算装置
CN102006242A (zh) * 2010-12-24 2011-04-06 山石网科通信技术(北京)有限公司 路由器的选路方法及路由器
CN102158404A (zh) * 2011-03-25 2011-08-17 成都飞鱼星科技开发有限公司 一种交互式网络流量智能控制系统及其实现方法
CN102647341B (zh) * 2012-03-28 2014-10-29 北京星网锐捷网络技术有限公司 一种报文处理方法、装置以及系统
US9419887B1 (en) * 2013-06-19 2016-08-16 Google Inc. Minimum latency routing
JP2015023453A (ja) 2013-07-19 2015-02-02 株式会社日立製作所 ネットワークシステム、ネットワーク管理装置、及び、アプリケーション管理装置
EP3016329B1 (en) * 2013-07-25 2018-03-21 Huawei Technologies Co., Ltd. Service path allocation method, router and service execution entity
US9369435B2 (en) * 2013-09-30 2016-06-14 Cisco Technology, Inc. Method for providing authoritative application-based routing and an improved application firewall
WO2015100615A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 处理业务报文的方法、装置和网关设备
US9742626B2 (en) * 2014-09-16 2017-08-22 CloudGenix, Inc. Methods and systems for multi-tenant controller based mapping of device identity to network level identity
CN105634979B (zh) * 2014-10-31 2019-01-01 中国移动通信集团公司 一种热点流量信息的处理方法、装置、终端以及MiFi
US10206082B2 (en) * 2015-06-07 2019-02-12 Apple Inc. Priority based routing of data on an electronic device
JP6540283B2 (ja) 2015-06-30 2019-07-10 富士通株式会社 通信装置、通信方法、および、通信プログラム
CN105915453A (zh) * 2015-07-13 2016-08-31 乐视致新电子科技(天津)有限公司 网络服务质量策略的调整方法和装置
CN105049353B (zh) * 2015-07-28 2018-11-16 华为技术有限公司 一种为业务配置路由路径的方法及控制器
US9887936B2 (en) 2015-08-03 2018-02-06 Cisco Technology, Inc. Application identification and overlay provisioning as a service
CN105117278B (zh) * 2015-09-07 2019-07-02 北京恒华伟业科技股份有限公司 一种应用管理方法及应用管理平台
US10116553B1 (en) * 2015-10-15 2018-10-30 Cisco Technology, Inc. Application identifier in service function chain metadata
CN105471748B (zh) * 2015-12-29 2019-03-26 北京神州绿盟信息安全科技股份有限公司 一种应用分流方法和装置
US10164875B2 (en) 2016-02-22 2018-12-25 Cisco Technology, Inc. SR app-segment integration with service function chaining (SFC) header metadata
CN106100990B (zh) * 2016-06-06 2019-04-05 中国电子科技集团公司第三十研究所 一种基于sdn架构的通信网络多维度资源调控方法和系统
CN107888490B (zh) * 2016-09-30 2020-07-31 中国电信股份有限公司 一种报文转发方法、路由时延计算与调度装置及系统
US10523568B2 (en) * 2016-12-09 2019-12-31 Cisco Technology, Inc. Adaptive load balancing for application chains
US10320683B2 (en) * 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10506083B2 (en) 2017-06-27 2019-12-10 Cisco Technology, Inc. Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet
US20200028758A1 (en) 2018-07-17 2020-01-23 Cisco Technology, Inc. Multi-cloud connectivity using srv6 and bgp
US10673765B2 (en) * 2018-09-11 2020-06-02 Cisco Technology, Inc. Packet flow classification in spine-leaf networks using machine learning based overlay distributed decision trees

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004529533A (ja) * 2001-02-16 2004-09-24 ヒューレット・パッカード・カンパニー 経路ダイバーシティを利用するパケット通信のための方法およびシステム
US20070133503A1 (en) * 2004-04-16 2007-06-14 Boustead Paul A Devices and methods for routing a unit of data in a network
JP2007060494A (ja) * 2005-08-26 2007-03-08 Nippon Telegr & Teleph Corp <Ntt> ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム
JP2008011536A (ja) * 2006-06-26 2008-01-17 Gemini Mobile Technologies Inc 無線ネットワークにおけるオンライン・ゲームのための方法、クライアント・デバイス、および中継ノード
JP2012138725A (ja) * 2010-12-27 2012-07-19 Alaxala Networks Corp 通信装置
JP2016149716A (ja) * 2015-02-13 2016-08-18 日本電信電話株式会社 アドレス情報書き換え装置、アドレス情報書き換え方法及びパケット転送システム

Also Published As

Publication number Publication date
CN114915585A (zh) 2022-08-16
EP3866414A4 (en) 2022-01-05
JP2023075157A (ja) 2023-05-30
US20210409315A1 (en) 2021-12-30
CN111683011A (zh) 2020-09-18
JP7234384B2 (ja) 2023-03-07
EP3866414A1 (en) 2021-08-18
WO2020182150A1 (zh) 2020-09-17
KR20210092304A (ko) 2021-07-23
CN111683011B (zh) 2022-04-29
JP2022518475A (ja) 2022-03-15

Similar Documents

Publication Publication Date Title
KR102579059B1 (ko) 패킷 처리 방법 및 장치, 기기, 그리고 시스템
US11876883B2 (en) Packet processing method, network node, and system
US20220103477A1 (en) Packet processing method for implementing qos guarantee, device, and system
US11792100B2 (en) Network performance parameter sending method, network performance calculation method, and network node
US11394646B2 (en) Packet sending method, network node, and system
US9559953B2 (en) Path splitting with a connection-oriented network
CN111371634B (zh) 一种通信方法、装置及系统
US20170310581A1 (en) Communication Network, Communication Network Management Method, and Management System
US20240048479A1 (en) Packet Forwarding Method and Apparatus, Network Device, and Storage Medium
CN110022263B (zh) 一种数据传输的方法及相关装置
CN113489646A (zh) 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
CN112311672B (zh) 一种路由表项获得方法、装置及设备
US20230254246A1 (en) Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks
CN115118544B (zh) 通信方法及设备、通信系统
WO2024027378A1 (zh) 数据传输方法、装置、网络设备及存储介质
WO2023231438A1 (zh) 报文发送的方法、网络设备及系统
CN109587027B (zh) 一种报文转发方法及装置
WO2023213216A1 (zh) 一种报文处理的方法及相关设备
WO2024087688A1 (zh) 报文转发方法、装置、设备、存储介质及计算机程序
CN111385215B (zh) 传输报文的方法和装置
CN117081967A (zh) 传输检测方法、装置及系统
CN117255046A (zh) 一种通信方法及相关设备
CN117097633A (zh) 报文传输方法、传输控制方法、装置及系统
CN115664920A (zh) 云平台的网络通信管理方法、装置、设备及存储介质
CN113541992A (zh) 一种数据传输的方法和装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant