KR20200037405A - 패킷 제어 방법 및 네트워크 기기 - Google Patents

패킷 제어 방법 및 네트워크 기기 Download PDF

Info

Publication number
KR20200037405A
KR20200037405A KR1020207007821A KR20207007821A KR20200037405A KR 20200037405 A KR20200037405 A KR 20200037405A KR 1020207007821 A KR1020207007821 A KR 1020207007821A KR 20207007821 A KR20207007821 A KR 20207007821A KR 20200037405 A KR20200037405 A KR 20200037405A
Authority
KR
South Korea
Prior art keywords
packet
flow
congestion
item
priority
Prior art date
Application number
KR1020207007821A
Other languages
English (en)
Other versions
KR102317523B1 (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 KR20200037405A publication Critical patent/KR20200037405A/ko
Application granted granted Critical
Publication of KR102317523B1 publication Critical patent/KR102317523B1/ko

Links

Images

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • 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/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based 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/12Avoiding congestion; Recovering from congestion
    • H04L47/129Avoiding congestion; Recovering from congestion at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • 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
    • 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • 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/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/2458Modification of priorities while in transit

Landscapes

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

Abstract

본 출원은 패킷 제어 방법 및 네트워크 기기를 제공한다. 상기 패킷 제어 방법은 혼잡 상태 변화를 야기하는 패킷 흐름을 검출하는 단계; 혼잡 격리 메시지를 생성하는 단계 - 상기 혼잡 격리 메시지는 상기 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용되고, 상기 혼잡 격리 메시지는 상기 패킷 흐름의 설명 정보를 포함함 -; 및 상기 혼잡 격리 메시지를 하나 이상의 노드에 전송하는 단계를 포함한다. 본 출원에서 제공되는 패킷 제어 방법, 네트워크 기기 등에 따르면, 혼잡 상태가 변화하는 경우, 혼잡 상태 변화를 야기하는 패킷 흐름이 식별될 수 있고, 다른 노드는 다른 패킷 흐름의 송신에 영향을 미치지 않으면서 패킷 흐름에서 패킷의 우선순위를 변경하도록 하는 명령을 받을 수 있다. 따라서, 혼잡에 의해 야기되는 패킷 손실을 회피할 수 있고, 혼잡 격리에 기인하지 않는 라인 헤드 차단을 크게 회피할 수 있어, 혼잡 확산을 회피할 수 있다.

Description

패킷 제어 방법 및 네트워크 기기
본 출원은 2017년 8월 18일에 "패킷 제어 방법 및 네트워크 기기(PACKET CONTROL METHOD AND NETWORK APPARATUS)"라는 명칭으로 중국 특허청에 출원된 중국 특허출원 제201710713089.X호를 우선권으로 주장하며, 그 내용 전체가 인용에 의해 본 출원에 포함된다.
본 출원은 네트워크 통신 분야에 관한 것으로, 특히 패킷 제어 방법 및 네트워크 기기에 관한 것이다.
고성능 컴퓨팅, 인공 지능 및 분산형 저장장치(distributed storage)와 같은 더 많은 서비스가 초저 대기시간 데이터 센터(ultra-low latency data center)에 의존함에 따라, 데이터 센터의 노드 간의 데이터 송신 대기 시간에 대한 사용자 요구도 높아진다. 실제사용 시에, 혼잡으로 인한 패킷 손실이 서비스 성능에 영향을 미치는 중요한 원인이다.
혼잡에 의해 야기되는 패킷 손실을 감소시키기 위해, 우선순위 기반 흐름 제어(priority-based flow control, PFC) 메커니즘이 데이터 센터에서 노드 간의 데이터 전송 프로세스에 도입될 수 있다. PFC 메커니즘이 도입된 후, 업스트림 노드(upstream node)는 송신될 서비스의 우선순위에 기초하여, 송신될 서비스 각각에 대응하는 패킷 흐름의 우선순위를 결정할 수 있으며, 여기서 송신될 서비스의 우선순위가 높을수록 송신될 서비스에 대응하는 패킷 흐름의 우선순위도 더 높다는 것을 지시한다. 패킷 흐름의 우선순위를 결정한 후, 업스트림 노드는 상이한 전송 큐(sending queue)를 사용하여 상이한 패킷 흐름을 다운스트림 노드(downstream node)로 전송할 수 있으며, 여기서 각각의 큐는 동일한 우선순위의 패킷 흐름을 전송하는 데 사용되고, 상이한 큐는 상이한 우선순위의 패킷 흐름을 전송하는 데 사용된다. 다운스트림 노드상에는 복수의 캐시 큐(cache queue)가 대응하여 설정될 수 있다. 각각의 캐시 큐는 동일한 우선순위의 패킷 흐름에 상응하게 사용되며, 상이한 캐시 큐는 상이한 우선순위의 패킷 흐름을 캐싱하는 데 사용될 수 있다. 캐시 큐에 캐싱된 데이터가 미리 설정된 수평 라인(horizontal line)을 초과하는 경우, 다시 말해, 혼잡이 발생할 수 있는 경우, 다운스트림 노드는 업스트림 노드에 배압 신호(backpressure signal)를 전송하여, 업스트림 노드에 캐시 큐에 대응하는 우선순위의 패킷 흐름의 전송을 일시중지하도록 요청할 수 있고, 이에 따라 혼잡을 회피할 수 있다.
그러나 데이터 센터에서, 하나의 다운스트림 노드는 적어도 하나의 업스트림 노드를 가질 수 있고, 업스트림 노드에 의해 전송된 상이한 유형의 패킷 흐름은 동일한 우선순위를 가질 수 있으며, 동일한 우선순위의 패킷 흐름의 데이터량은 상이할 수 있다. PFC 메커니즘이 도입된 후, 동일한 우선순위의 복수의 패킷 흐름에서의 패킷 흐름의 데이터량이 너무 많은 경우, 캐시 큐에 캐싱된 데이터는 미리 설정된 수평 라인을 초과할 수 있으므로, 다운스트림 노드는 업스트림 노드에 배압 신호를 전송할 수 있다. 이 경우에, 다운스트림 노드에 의한 업스트림 노드로의 배압 신호 전송은, 모든 업스트림 노드로 하여금 그 우선순위의 모든 패킷 흐름의 전송을 일시중지시키도록 한다. 따라서, 업스트림 노드는 또한 데이터량이 비교적 적고 차단을 야기하지 않는 패킷 흐름의 전송도 일시중지하여서, 데이터량이 비교적 적은 패킷 흐름은 라인 헤드 차단(head of line blocking, HOLB)이라는 심각한 문제가 있다. 라인 헤드 차단은 혼잡 확산을 야기하여, 전체 네트워크 성능에 큰 영향을 미친다.
본 출원은 패킷 제어 방법 및 장치를 제공하여, 헤드 라인 차단을 감소시킴으로써 혼잡 확산을 감소시킨다.
제1 측면에 따르면, 본 출원은 패킷 제어 방법을 제공하며, 상기 패킷 제어 방법은, 혼잡 상태 변화(congestion status change)를 야기하는 패킷 흐름(packet flow)을 검출하는 단계; 혼잡 격리 메시지(congestion isolation message)를 생성하는 단계 - 상기 혼잡 격리 메시지는 상기 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용되고, 상기 혼잡 격리 메시지는 상기 패킷 흐름의 설명 정보를 포함함 -; 및 상기 혼잡 격리 메시지를 하나 이상의 노드에 전송하는 단계를 포함한다.
제1 측면 또는 제1 측면의 제1 가능한 구현예를 참조하여, 제1 측면의 제2 가능한 구현예에서, 상기 혼잡 격리 메시지를 하나 이상의 노드에 전송하는 단계는, 상기 혼잡 격리 메시지를 상기 패킷 흐름을 전송하는 업스트림 노드에 전송하는 단계를 포함한다.
제1 측면을 참조하여, 제1 측면의 제1 가능한 구현예에서, 상기 혼잡 격리 메시지는 구체적으로, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키도록 상기 노드에 명령하는 데 사용된다.
제1 측면 또는 제1 측면의 제1 또는 제2 가능한 구현예 중 어느 하나를 참조하여, 제1 측면의 제3 가능한 구현예에서, 상기 혼잡 격리 메시지는 이더 유형(EtherType)이 미리 정의된 유형인 패킷이다.
제1 측면 또는 제1 측면의 제1 내지 제3 가능한 구현예 중 어느 하나를 참조하여, 제1 측면의 제4 가능한 구현예에서, 흐름표 내의 조목(entry)으로서 상기 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목(congestion mark item)의 내용을 제1 표시(first mark)로 설정하며, 상기 혼잡 표시 항목은, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 상기 제1 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용된다.
제1 측면의 제4 가능한 구현예를 참조하여, 제1 측면의 제5 가능한 구현예에서, 상기 패킷 제어 방법은, 상기 조목 내의 타임스탬프 항목(timestamp item)에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 혼잡 표시 항목을 제2 표시로 설정하는 단계 - 상기 제2 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름임을 지시하는 데 사용되고, 상기 타임스탬프 항목은, 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함한다.
제1 측면의 제4 가능한 구현예를 참조하여, 제1 측면의 제6 가능한 구현예에서, 상기 패킷 제어 방법은, 제1 패킷을 수신하는 단계; 및 상기 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 상기 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 상기 제1 패킷의 우선순위를 변경하는 단계 - 상기 제2 패킷과 상기 제1 패킷은 모두 상기 제1 패킷 흐름에 속하고, 상기 제1 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정된 후에 수신된 패킷이고, 상기 제2 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정되기 전에 수신된 패킷임 -를 더 포함한다.
제1 측면 또는 제1 측면의 제1 내지 제3 가능한 구현예 중 어느 하나를 참조하여, 제1 측면의 제7 가능한 구현예에서, 상기 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표(congestion-flow flow table)에 추가하는 단계를 더 포함한다.
제1 측면의 제7 가능한 구현예를 참조하여, 제1 측면의 제8 가능한 구현예에서, 상기 패킷 제어 방법은, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 패킷 흐름에 대응하는 조목을 삭제하는 단계 - 상기 타임스탬프 항목은 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함한다.
제1 측면의 제7 가능한 구현예를 참조하여, 제1 측면의 제9 가능한 구현예에서, 제3 패킷이 수신되고; 상기 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 상기 제3 패킷의 우선순위가 제4 패킷의 우선순위와 상이하도록, 상기 제3 패킷의 스케줄링 우선순위를 변경하며, 상기 제4 패킷과 상기 제3 패킷은 모두 상기 제2 패킷 흐름에 속하고, 상기 제3 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가된 후에 수신된 패킷이고, 상기 제4 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가되기 전에 수신된 패킷이다.
제2 측면에 따르면, 본 출원 다른 패킷 제어 방법을 더 제공하며, 상기 패킷 제어 방법은, 혼잡 격리 메시지를 수신하는 단계 - 상기 혼잡 격리 메시지는 설명 정보를 포함함 -; 및 상기 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하는 단계를 포함한다.
제2 측면을 참조하여, 제2 측면의 제1 가능한 구현예에서, 상기 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하는 단계는, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키는 단계를 포함한다.
제2 측면의 제1 가능한 구현예를 참조하여, 제2 측면의 제2 가능한 구현예에서, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키는 단계는, 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 상기 패킷 흐름에서 상기 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어하는 단계 - 상기 낮은 우선순위 처리 큐의 스케줄링 우선순위는 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮음 -를 포함한다.
제2 측면의 제1 가능한 구현예를 참조하여, 제2 측면의 제3 가능한 구현예에서, 상기 패킷 제어 방법은, 흐름표 내의 조목으로서 상기 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하는 단계 - 상기 혼잡 표시 항목은, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 상기 제1 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용됨 -를 더 포함한다.
제2 측면의 제3 가능한 구현예를 참조하여, 제2 측면의 제4 가능한 구현예에서, 상기 패킷 제어 방법은, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 혼잡 표시 항목을 제2 표시로 설정하는 단계 - 상기 제2 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름(non-congestion flow)임을 지시하는 데 사용되고, 상기 타임스탬프 항목은, 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함한다.
제2 측면의 제3 가능한 구현예를 참조하여, 제2 측면의 제5 가능한 구현예에서, 상기 패킷 제어 방법은, 제1 패킷을 획득하는 단계; 및 상기 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 상기 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 상기 제1 패킷의 우선순위를 변경하는 단계 - 상기 제2 패킷과 상기 제1 패킷은 모두 상기 제1 패킷 흐름에 속하고, 상기 제1 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정된 후에 획득된 패킷이고, 상기 제2 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정되기 전에 획득된 패킷임 -를 더 포함한다.
제2 측면을 참조하여, 제2 측면의 제6 가능한 구현예에서, 상기 패킷 제어 방법은, 상기 혼잡 격리 메시지를 수신하는 단계 후에, 상기 패킷 제어 방법은, 상기 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가하는 단계를 더 포함한다.
제2 측면의 제6 가능한 구현예를 참조하여, 제2 측면의 제7 가능한 구현예에서, 상기 패킷 제어 방법은, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 패킷 흐름에 대응하는 조목을 삭제하는 단계 - 상기 타임스탬프 항목은 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함한다.
제2 측면의 제6 가능한 구현예를 참조하여, 제2 측면의 제8 가능한 구현예에서, 상기 패킷 제어 방법은, 제3 패킷을 획득하는 단계; 및 상기 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 상기 제3 패킷의 우선순위가 상기 제4 패킷의 우선순위와 상이하도록, 상기 제3 패킷의 스케줄링 우선순위를 변경하는 단계 - 상기 제4 패킷과 상기 제3 패킷은 모두 상기 제2 패킷 흐름에 속하고, 상기 제3 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가된 후에 획득된 패킷이고, 상기 제4 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가되기 전에 획득된 패킷임 -를 더 포함한다.
제3 측면에 따르면, 본 출원은 네트워크 기기를 더 제공한다. 상기 네트워크 기기는 제1 측면 또는 제1 측면의 구현예 중 어느 하나에서의 방법을 수행하도록 구성된 유닛 모듈을 포함한다. 상기 유닛 모듈에 의해 수행될 기능은 프로세서에 의해 구현될 수 있거나, 프로세서 및 상기 프로세서에 의해 제어되는 네트워크 기기 구성요소에 의해 구현될 수 있다.
제4 측면에 따르면, 본 출원은 다른 네트워크 기기를 더 제공한다. 상기 네트워크 기기는 제2 측면 또는 제2 측면의 구현예 중 어느 하나에서의 방법을 수행하도록 구성된 유닛 모듈을 포함한다. 상기 유닛 모듈에 의해 수행될 기능은 프로세서에 의해 구현될 수 있거나, 프로세서 및 상기 프로세서에 의해 제어되는 네트워크 기기 구성요소에 의해 구현될 수 있다.
제5 측면에 따르면, 본 출원은 명령어를 포함하는, 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1 측면 또는 제1 측면의 구현예 중 어느 하나에서의 방법을 수행할 수 있다.
제6 측면에 따르면, 본 출원은 명령어를 포함하는 다른, 컴퓨터로 판독 가능한 저장 매체를 더 제공한다. 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제2 측면 또는 제2 측면의 구현예 중 어느 하나에서의 방법을 수행할 수 있다.
제7 측면에 따르면, 본 출원은 명령어를 포함하는 컴퓨터 프로그램 제품을 더 제공한다. 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1 측면 또는 제1 측면의 구현예 중 어느 하나에서의 방법을 수행할 수 있다.
제8 측면에 따르면, 본 출원은 명령어를 포함하는 다른 컴퓨터 프로그램 제품을 더 제공한다. 상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제2 측면 또는 제2 측면의 구현예 중 어느 하나에서의 방법을 수행할 수 있다.
제9 측면에 따르면, 본 출원은 네트워크 시스템을 더 제공하며, 상기 네트워크 시스템은 둘 이상의 노드를 포함할 수 있다. 하나의 노드는 제2 측면 또는 제2 측면의 구현예 중 어느 하나에서의 방법을 수행하도록 구성되고 및/또는 다른 노드는 제2 측면 또는 제2 측면의 구현예 중 어느 하나에서의 방법을 수행하도록 구성된다.
본 출원에서 제공되는 방법, 네트워크 기기 등에 따르면, 패킷 흐름을 식별한 후에 혼잡 상태 변화를 야기하는 패킷 흐름에서 패킷의 우선순위를 변경할 수 있으며, 이에 따라 라인 헤더 차단(head of line blocking)의 가능성을 크게 줄일 수 있다.
도 1은 본 출원에 따른 네트워크 시스템의 일 실시예의 개략 구성도이다.
도 2는 본 출원에 따른 네트워크 시스템의 다른 실시예의 개략 구성도이다.
도 3은 본 출원에 따른 혼잡 격리 메시지의 개략 구성도이다.
도 4는 본 출원에 따른 혼잡 격리 메시지의 개략 구성도이다.
도 5는 본 출원에 따른 패킷 제어 방법의 일 실시예의 개략 흐름도이다.
도 6은 본 출원에 따른 패킷 제어 방법의 다른 실시예의 개략 흐름도이다.
도 7은 본 출원에 따른 패킷 제어 방법의 또 다른 실시예의 개략 흐름도이다.
도 8은 본 출원에 따른 패킷 제어 방법의 또 다른 실시예의 개략 흐름도이다.
도 9는 본 출원에 따른 네트워크 기기의 일 실시예의 개략 구성도이다.
도 10은 본 출원에 따른 네트워크 기기의 다른 실시예의 개략 구성도이다.
도 11은 본 출원에 따른 네트워크 기기의 또 다른 실시예의 개략 구성도이다.
본 출원의 실시예에서의 네트워크 시스템은 CLOS 아키텍처, Mesh 아키텍처, 또는 Torus 아키텍처와 같은 네트워크 아키텍처를 사용하는 데이터 센터일 수 있거나, 전술한 아키텍처를 사용하는 다른 비 데이터 센터 네트워크(non-data center network)일 수 있다. 본 출원에서는 이를 한정하지 않는다. 설명의 편의상, 이하에서는 설명의 예로서 CLOS 아키텍처의 데이터 센터만 사용한다.
CLOS 아키텍처의 데이터 센터는 다양한 서비스를 제공하는 서버(sever)를 포함할 수 있다. CLOS 아키텍처의 데이터 센터는 서버 외에, TOR 스위치 및 SPINE 스위치와 같은 복수의 다른 유형의 스위치를 포함한다. TOR 스위치는 서버와 SPINE 스위치 사이의 링크에 배치될 수 있다. TOR 스위치의 업링크 포트는 SPINE 스위치에 연결하는 데 사용되고, TOR 스위치의 다운링크 포트는 서버에 연결하는 데 사용된다. 각각의 TOR 스위치는 복수의 업링크 포트를 사용하여 복수의 SPINE 스위치에 연결될 수 있다. 각각의 서버는 또한 하나 이상의 네트워크 인터페이스 카드를 사용하여 하나 이상의 TOR 스위치에 연결될 수 있다.
데이터 센터의 크기가 비교적 크고, 비교적 대량의 서버 및 TOR 스위치를 포함하는 경우, AGG 스위치가 TOR 스위치와 SPINE 스위치 사이의 링크 상에 추가로 배치될 수 있다. AGG 스위치의 다운링크 포트는 하나 이상의 TOR 스위치에 연결하는 데 사용되고, AGG 스위치의 업링크 포트는 하나 이상의 SPINE에 연결하는 데 사용된다. TOR 스위치의 업링크 포트가 SPINE 스위치에 연결되는 경우, 도 1에 도시된 바와 같이, 데이터 센터는 2단계 CLOS 네트워크이다. TOR 스위치의 업링크 포트가 AGG 스위치에 연결되는 경우, 도 2에 도시된 바와 같이, 데이터 센터는 3단계 CLOS 네트워크이다.
본 출원의 실시예에서의 노드는 또한 국(station)으로 지칭될 수 있고, 전술 한 서버 또는 임의의 유형의 스위치와 같은 기기를 포함할 수 있거나, 데이터 센터 네트워크에서의 임의의 기기 또는 다른 비 데이터 센터 네트워크에서의 임의의 기기를 포함할 수 있다. 기기는 스위치, 라우터, 네트워크 인터페이스 카드 또는 기타 기기일 수 있다.
본 출원의 실시예에서, 혼잡 격리 메시지(congestion isolation packet, CIP)는, 메시지를 수신하는 노드에 그 메시지에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하도록 명령하는 데 사용될 수 있다. 즉, 혼잡 격리 메시지는 패킷 흐름에서 패킷의 우선순위를 변경하도록 메시지를 수신하는 노드에 명령하는 데 사용될 수 있다. 패킷 흐름은 혼잡 격리 메시지에 포함된 설명 정보 또는 다른 정보에 의해 지시된다.
설명 정보는 패킷 흐름을 결정하는 데 사용될 수 있는 정보 또는 정보 조합이다. 설명 정보를 사용함으로써, 노드는 설명 정보에 대응하는 하나의 패킷 흐름만을 결정할 수 있다. 예를 들어, 패킷 흐름은 패킷 흐름의 근원지 IP, 목적지 IP, 프로토콜 번호, 근원지 포트 번호 및 목적지 포트 번호를 포함하는 5 튜플(5-tuple: 5개의 요소로 된 집합)이거나 3 튜플, 또는 정보나 정보 조합의 다른 유형일 수 있다. 예를 들어, VXLAN과 같은 오버레이 네트워크(overlay network)에서, 상이한 테넌트(tenant)의 패킷 흐름은 동일한 5 튜플을 가질 수 있다. 따라서 패킷 흐름은 5 튜플을 사용하여 유일하게 결정될 수 없다. 이 경우, VNI(VXLAN Network Identifier)도 또한 흐름의 설명 정보로 사용되어야 한다. 다시 말해, 패킷 흐름을 유일하게 결정하기 위해 6 튜플이 사용된다. 본 출원에서는 이를 한정하지 않는다.
혼잡 격리 메시지의 목적지 MAC 주소는 혼잡 격리 메시지를 수신하는 노드의 MAC 주소이고, 혼잡 격리 메시지의 근원지 MAC 주소는 혼잡 격리 메시지를 전송하는 노드의 MAC 주소이다. 혼잡 격리 메시지의 이더 유형(EtherType)은 패킷이 혼잡 격리 메시지, 예를 들어 0x8809임을 지시하는 데 사용되는 미리 정의된 유형일 수 있다. 흐름의 설명 정보는 혼잡 격리 메시지의 IP 헤더 및 전송 계층 헤더에 포함될 수 있다. 처리 논리를 단순화하기 위해, 혼잡 격리 메시지의 IP 헤더 및 전송 계층 헤더는 표준 포맷에 있을 수 있으며, 다시 말해, 패킷 흐름에서 패킷과 동일한 포맷을 가질 수 있다. 혼잡 격리 메시지의 구성하는 동안, 패킷 흐름에서 패킷의 IP 헤더 및 전송 계층 헤더가 복사될 수 있고, 패킷 흐름에서 패킷의 복사된 IP 헤더 및 전송 계층 헤더에 대해 이더넷 헤더가 캡슐화되고, 패킷은 64 바이트의 최소 이더넷 패킷 길이에 도달하도록 패딩된다(padded). 예를 들어, 혼잡 격리 메시지의 포맷은 도 3에 도시된 것일 수 있다. 혼잡 격리 메시지는 대안적으로 다른 포맷 또는 다른 방식으로 구성될 수 있음에 유의해야 한다. 본 출원이 InfiniBand 네트워크와 같은 다른 비 이더넷 네트워크에 적용되는 경우, 패킷 흐름의 설명 정보를 포함하는 한, 메시지는 자체 정의된 InfiniBand 프로토콜 유형의 메시지이다. 본 출원에서는 이를 한정하지 않는다. 예를 들어, 혼잡 격리 메시지의 포맷은 대안적으로 도 4에 도시된 것일 수 있다.
본 출원의 실시예에서, 혼잡 흐름을 기록하는 데 독점적으로 사용되는 혼잡 흐름 흐름표가 각각의 노드에 설정될 수 있고, 혼잡 상태 변화를 야기하는 패킷 흐름은 혼잡 흐름 흐름표 내의 조목을 사용하여 기록된다. 혼잡 상태 변화를 야기하는 패킷 흐름은 혼잡 흐름을 포함할 수 있지만 이에 한정되는 것은 아니다. 혼잡 흐름 흐름표에 패킷 흐름에 대응하는 조목이 존재하면, 이는 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름임을 지시한다. 혼잡 흐름 흐름표에 패킷 흐름에 대응하는 조목이 존재하지 않으면, 이는 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름이 아님을 지시한다. 조목은 타임스탬프 항목을 포함할 수 있고, 타임스탬프 항목은 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용된다.
대안적으로, 각각의 노드는 혼잡 상태 변화를 야기하는 패킷 흐름을 기록하기 위해 기존 흐름표의 각각의 조목에 대해 혼잡 표시 항목을 설정할 수 있다. 혼잡 표시 항목은 상이한 내용을 사용하여 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용될 수 있다. 혼잡 표시 항목의 내용은 제1 표시 또는 제2 표시일 수 있다. 제1 표시는 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용되고, 제2 표시는 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름이 아님을 지시하는 데 사용된다. 혼잡 표시 항목 외에, 타임스탬프 항목이 또한 흐름표 내의 각각의 조목에 대해 설정될 수도 있다.
본 출원의 실시예에서, 전송 큐, 포워딩 큐 및 캐시 큐와 같은 상이한 유형의 처리 큐가 있을 수 있다. 동일한 큐에서의 패킷의 우선순위는 동일하고, 상이한 큐에서의 패킷의 우선순위는 상이할 수 있거나, 여러 개의 상이한 큐 내의 패킷의 우선순위가 동일할 수 있다. 예를 들어, 처리 큐는 업스트림 노드에 의해 전송되는 패킷을 캐싱하는 데 사용되는 8개의 캐시 큐 중 어느 하나일 수 있거나, 캐시 큐 내의 서브큐(sub-queue) 중 어느 하나일 수 있다.
이하에서는 첨부 도면을 참조하여 본 출원에서의 패킷 제어 방법을 설명한다.
도 5는 본 출원에 따른 패킷 제어 방법의 일 실시예의 개략 흐름도이다. 이 실시예에서의 방법은 임의의 노드에 의해 수행될 수 있다. 도 5에 도시된 바와 같이, 이 패킷 제어 방법은 다음 단계를 포함할 수 있다.
단계 501: 혼잡 상태 변화를 야기하는 패킷 흐름을 검출한다.
혼잡 상태 변화를 야기하는 패킷 흐름은 현재 노드의 처리 큐에 혼잡을 야기하거나 혼잡을 야기할 수 있는 패킷 흐름일 수 있거나, 현재 노드의 업스트림 노드 또는 다운스트림 노드와 같은 다른 노드의 처리 큐에 혼잡을 야기하거나 혼잡을 야기할 수 있는 패킷 흐름일 수 있다. 혼잡해지거나 혼잡해질 수 있는 상이한 노드에 따라, 혼잡 상태 변화를 야기하는 패킷 흐름을 결정하는 구체적인 방식이 다르다. 현재 노드의 혼잡 흐름이 결정될 수 있는 예에서, 패킷 흐름이 혼잡 흐름인지를 판정하기 위해 단일 워터라인 메커니즘(single-waterline mechanism) 또는 이중 워터라인 메커니즘(dual-waterline mechanism)이 사용될 수 있다.
혼잡 흐름을 결정하기 위해 단일 워터라인 메커니즘이 사용되는 경우, 패킷 흐름 내의 패킷이 처리 큐에 추가된 후, 처리 큐에서 처리를 위해 대기하는 패킷의 수량이 미리 설정된 워터라인을 초과하면, 패킷 흐름은 혼잡 흐름인 것으로 결정될 수 있고, 그렇지 않으면 패킷 흐름은 혼잡 흐름이 아니다.
혼잡 흐름을 결정하기 위해 이중 워터라인 메커니즘이 사용되는 경우, 패킷 흐름 내의 패킷이 처리 큐에 추가된 후, 처리 큐에서 처리를 위해 대기하는 패킷의 수량이 미리 설정된 높은 워터라인을 초과하면, 패킷 흐름은 혼잡 흐름인 것으로 결정될 수 있다. 처리 큐에서 처리를 위해 대기하는 패킷의 수량이 미리 설정된 낮은 워터라인을 초과하지만 미리 설정된 높은 워터라인을 초과하지 않으면, 확률에 기초하여, 패킷 흐름이 혼잡 흐름인지의 여부를 판정할 수 있다. 확률은 변량(variable)에 미리 설정된 값을 곱함으로써 획득할 수 있다. 변량은 미리 설정된 높은 워터라인에서 미리 설정된 낮은 워터라인을 뺀 값에서 차(difference)를 나눔으로써 획득할 수 있으며, 여기서 차는 현재 큐잉 데이터량에서 미리 설정된 낮은 워터 라인을 감산함으로써 획득된다. 처리 큐에서 처리를 위해 대기하는 패킷의 수량이 미리 설정된 낮은 워터라인을 초과하지 않으면 패킷 흐름은 혼잡 흐름이 아니다.
혼잡 상태 변화를 야기하는 패킷 흐름은 현재 노드의 처리 큐에서 혼잡을 야기하거나 혼잡을 야기할 수 있는 패킷 흐름일 수 있거나, 현재 노드의 다운스트림 노드 또는 다운스트림 노드의 다운스트림 노드와 같은 다른 노드의 처리 큐에서 혼잡을 야기하거나 혼잡을 야기할 수 있는 패킷 흐름일 수 있다. 혼잡한 상태이거나 혼잡해질 수 있는 상이한 노드에 따라, 혼잡 상태 변화를 야기하는 패킷 흐름을 결정하는 구체적인 방식이 다르다. 예를 들어, 패킷 흐름이 현재 노드의 다운스트림 노드의 혼잡 상태의 변화를 야기하면, 다운스트림 노드는 혼잡 격리 메시지를 현재 노드에 전송할 수 있고, 현재 노드는 혼잡 격리 메시지 내의 설명 정보에 기초하여 패킷 흐름을 결정할 수 있다. 유사한 방법은 여기에 기술하지 않는다.
단계 502: 혼잡 격리 메시지를 생성한다.
패킷 흐름을 검출한 후, 현재 노드는 혼잡 격리 메시지를 구성할 수 있다. 혼잡 격리 메시지는 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용된다. 일반적으로, 혼잡 격리 메시지는 메시지를 수신하는 노드에, 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키도록 명령하는 데 사용된다. 혼잡 격리 메시지의 구성 방식에 대해서는 전술한 설명을 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
단계 503: 혼잡 격리 메시지를 하나 이상의 노드에 전송한다.
혼잡 격리 메시지를 생성한 후, 현재 노드는 혼잡 격리 메시지를 하나 이상의 노드에 전송할 수 있다. 하나 이상의 노드는 패킷 흐름을 현재 노드에 전송하는 업스트림 노드를 포함할 수 있고, 이 경우, 현재 노드는 혼잡 격리 메시지를, 패킷 흐름을 전송하는 업스트림 노드에 전송할 수 있다. 혼잡 격리 메시지를 수신한 후, 업스트림 네트워크 노드는 혼잡 흐름 격리를 구현하기 위해, 패킷 흐름의 우선순위를 변경할 수 있다.
본 출원에 제공된 방법에 따르면, 혼잡 상태가 변화하는 경우, 현재 노드는 혼잡 상태 변화를 야기하는 패킷 흐름을 식별하고, 다른 패킷 흐름의 송신에 영향을 주지 않으면서 패킷 흐름에서 패킷의 우선순위를 변경하도록 다른 노드에 명령할 수 있다. 따라서 혼잡으로 인한 패킷 손실을 회피할 수 있고, 혼잡 격리에 기인하지 않는 라인 헤드 차단을 대폭 회피할 수 있으며, 혼잡 확산을 회피할 수 있다.
혼잡을 회피하기 위해 패킷의 스케줄링 우선순위를 변경하려면, 현재 노드는 혼잡 격리 메시지를 전송해야 할 뿐만 아니라, 현재 노드에서, 혼잡 상태 변화를 야기하는 패킷 흐름에서 패킷을 격리하여, 현재 노드 또는 다운스트림 노드의 큐로서 변경되지 않은 우선순위에 대응하는 큐가 계속 혼잡 상태로 있는 것을 방지해야 한다.
현재 노드는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 패킷 흐름에서 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어할 수 있으며, 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮아, 혼잡 상태 변화를 야기하는 패킷 흐름에서 패킷을 격리시킨다. 낮은 우선순위 큐는 미리 정해진 우선순위의 큐일 수 있고, 제1 우선순위 큐는 현재 노드의 복수의 처리 큐 중 가장 낮은 우선순위를 갖는 하나의 큐일 수 있거나, 또는 가장 낮은 우선순위를 갖는 몇 개의 큐 중 하나 이상일 수 있다. 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하는 것은, 패킷의 우선순위 필드의 내용 수정함으로써 구현될 수 있거나, 또는 패킷의 우선순위를 지시하는 데 사용되는 다른 정보를 수정함으로써 구현될 수 있다. 예를 들어, 우선순위 필드의 내용은 원래 내용에 의해 지시되는 우선순위보다 낮은 우선순위의 새로운 내용으로 수정될 수 있다. 다시 말해, 수정 후의 내용에 대응하는 스케줄링 우선순위는 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮다. 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키는 것은 패킷 흐름에 있는 패킷으로서 처리 큐에 추가되지 않은 패킷의 우선순위만을 감소시키는 것, 또는 패킷 흐름에 있는 패킷으로서 처리 큐에 추가되지 않은 패킷의 우선순위와 패킷 흐름에 있는 패킷으로서 처리 큐에 추가되었지만 처리되지 않은 패킷의 우선순위 모두를 감소시키는 것일 수 있다. 유사하게, 패킷 흐름에서 패킷을 우선순위가 낮은 처리 큐에 들어가도록 제어하는 것은, 패킷 흐름에서 패킷만을 낮은 우선순위 처리 큐에 진입하도록 제어하는 것일 수 있고 - 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮음 -; 또는 패킷 흐름에서 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어하고, 패킷 흐름에 있는 패킷으로서 처리 큐에 추가되었지만 처리되지 않은 패킷을 낮은 우선순위 처리 큐에 스케줄링하는 것일 수 있으며, 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮다.
이하에서는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하는 구체적인 방식을 설명한다. 여기서 이하의 실시예는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하는 선택적인 방식일 뿐이고, 다른 구현에 대해 어떤 한정도 아니라는 것에 유의해야 한다. 상이한 흐름표를 사용함으로써 패킷 흐름을 기록하는 상이한 방식에 따라, 현재 노드에 의한 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키는 구체적인 구현도 또한 상이하다.
도 6은 본 출원에 따른 패킷 제어 방법의 다른 실시예의 개략 흐름도이다. 도 6에 도시된 바와 같이, 단계 501 이후, 즉 혼잡 상태 변화를 야기하는 패킷 흐름이 검출된 후, 이 패킷 제어 방법은 다음 단계를 더 포함할 수 있다.
단계 504: 흐름표 내의 혼잡 표시 항목으로서 패킷 흐름에 대응하는 혼잡 표시 항목의 내용을 제1 표시로 설정한다.
데이터 흐름에서 패킷의 우선순위의 복원을 용이하게 하기 위해, 혼잡 표시 항목의 내용을 제1 표시로 설정하는 것에 더해, 패킷 흐름에 대응하는 조목 내의 타임스탬프 항목의 내용은, 패킷 흐름에서 패킷이 마지막으로 수신된 시간으로 설정될 수 있다.
단계 505: 제1 패킷을 수신한다.
제1 패킷은 현재 노드의 임의의 업스트림 노드에 의해 전송되는 패킷일 수 있다.
단계 506: 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 제1 패킷의 스케줄링 우선순위를 변경한다.
제1 패킷을 수신한 후, 현재 노드는 제1 패킷이 속하는 제1 패킷 흐름을 결정한 다음, 제1 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름으로 기록되었는지를 검출할 수 있다. 제1 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름으로 기록되었으면, 제1 패킷의 스케줄링 우선순위가 변경된다. 구체적으로, 본 실시예에서, 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 이는 제1 패킷 흐름이 혼잡을 야기하는 패킷 흐름임을 지시하므로, 제1 패킷의 스케줄링 우선순위를 변경해야 한다.
현재 노드는 제1 패킷의 우선순위를 변경하여, 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록 하여, 현재 노드에서 혼잡 흐름 격리를 구현할 수 있다. 제2 패킷과 제1 패킷은 모두 제1 패킷 흐름에 속하고, 제1 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정된 후에 수신된 패킷이고, 제2 패킷은 혼잡 표시 항목이 제1 표시로 설정되기 전에 수신된 패킷이다. 여기서, 제1 패킷의 스케줄링 우선순위를 변경하는 것은 보통 제1 패킷의 우선순위를 감소시키는 것임에 유의해야 한다.
제1 패킷의 스케줄링 우선순위를 변경하는 구체적인 구현은 복수 있을 수 있다. 구체적인 구현은 보통, 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 패킷 흐름에서 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어하는 것을 포함할 수 있으며, 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮다.
예를 들어, 처리 큐에 제1 패킷을 추가하기 전에, 현재 노드는 제1 패킷 내의 내용으로서 제1 패킷의 우선순위를 지시하는 데 사용되는 내용을 변경, 예를 들어 제1 패킷의 우선순위 필드에서 내용을 변경할 수 있어, 지시 정보에 따라 제1 패킷이 추가되는 처리 큐는 제2 패킷이 추가되는 처리 큐와 상이하므로, 제1 패킷의 우선순위를 변경한다. 대안적으로, 현재 노드는 제2 패킷이 추가되는 큐와 상이한 우선순위의 큐에 추가되도록 제1 패킷을 직접 제어하여, 제1 패킷의 우선순위를 변경할 수 있다.
여기서 단계 502 후에, 상기 패킷 제어 방법은, 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 혼잡 표시 항목을 제2 표시로 설정하는 단계를 더 포함할 수 있음에 유의해야 한다.
조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 이는 패킷 흐름에서 패킷이 감소되고, 패킷 흐름은 더 이상 혼잡 흐름으로 고려되지 않을 수 있음을 지시한다. 따라서, 현재 노드는 혼잡 표시 항목을 제2 표시로 설정할 수 있어, 패킷 흐름에서 패킷이 후속하여 수신되는 경우, 패킷 흐름에서 패킷의 우선순위가 복원될 수 있다. 미리 정해진 지속기간은 흐름표를 클리어(clear)하는 지속기간보다 길지 않을 수 있다.
본 실시예에서, 혼잡 흐름 격리는 현재 노드에서 구현될 수 있다.
도 7은 본 출원에 따른 패킷 제어 방법의 다른 실시예의 개략 흐름도이다. 도 7에 도시된 바와 같이, 단계 501 후에, 즉 혼잡 상태 변화를 야기하는 패킷 흐름이 검출된 후, 이 패킷 제어 방법은 다음 단계를 더 포함할 수 있다.
단계 507: 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가한다.
데이터 흐름에서 패킷의 우선순위의 복원을 용이하게 하기 위해, 혼잡 흐름 흐름표에 조목을 추가하는 것에 더하여, 조목 내의 타임스탬프 항목의 내용은 패킷 흐름에서 패킷이 마지막으로 수신된 시각으로 설정될 수 있다.
단계 508: 제3 패킷을 수신한다.
제3 패킷은 현재 노드의 임의의 업스트림 노드에 의해 전송되는 패킷일 수 있다.
단계 509: 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 제3 패킷의 스케줄링 우선순위를 변경한다.
혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 이는 제2 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름임을 지시하므로, 제2 패킷의 우선순위를 변경해야 한다.
현재 노드는 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 제3 패킷의 우선순위를 변경할 수 있으며, 여기서 제4 패킷과 제3 패킷은 모두 제2 패킷 흐름에 속하고, 제3 패킷은 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 추가된 후에 수신된 패킷이고, 제4 패킷은 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 추가되기 전에 수신된 패킷이다.
제3 패킷의 스케줄링 우선순위를 변경하는 구체적인 구현은 제1 패킷의 우선순위를 변경하는 방식과 유사하다. 세부 사항은 여기서 다시 설명하지 않는다.
여기서 단계 507 이후에, 상기 패킷 제어 방법은, 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 획득되지 않으면, 패킷 흐름에 대응하는 조목을 삭제하는 단계를 더 포함할 수 있다는 것에 유의해야 한다.
조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 이는 패킷 흐름에서 패킷이 감소되고, 패킷 흐름이 더 이상 혼잠 흐름으로 고려되지 않을 수 있음을 지시한다. 따라서, 혼잡 흐름 흐름표 내의 조목으로서 패킷 흐름에 대응하는 조목은, 패킷 흐름에서 패킷의 우선순위를 복원하기 위해, 삭제될 수 있다.
본 실시예에서, 혼잡 흐름 격리가 또한 현재 노드에서 구현될 수 있다.
혼잡으로 인한 패킷 손실을 회피하기 위해, 혼잡 흐름 격리는 현재 노드에서 구현되는 것에 더해 업스트림 노드에서 구현될 필요가 있다.
도 8은 본 출원에 따른 패킷 제어 방법의 다른 실시예의 개략 흐름도이다. 본 실시예에 도시된 방법은 업스트림 네트워크 노드에 의해 수행될 수 있다.
단계 801: 혼잡 격리 메시지를 수신하며, 혼잡 격리 메시지는 설명 정보를 포함한다.
업스트림 노드는 전술한 실시예에서의 현재 노드에 의해 전송되는 혼잡 격리 메시지를 수신할 수 있다. 혼잡 격리 메시지의 관련 내용에 대해서는 전술한 실시예를 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
혼잡 격리 메시지를 수신한 후, 업스트림 노드는 추가로, 흐름표 내의 조목으로서 패킷 흐름에 대응하고 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하거나, 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가할 수 있다. 구체적인 방식에 대해서는 전술한 실시예를 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
단계 802: 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경한다.
혼잡 격리 메시지를 수신한 후, 업스트림 노드는 먼저, 설명 정보에 기초하여, 설명 정보에 의해 지시되는 패킷 흐름을 결정한 다음, 설명 정보에 의해 지시된 패킷 흐름에서 패킷의 우선순위를 변경할 수 있다. 혼잡 흐름이 종종 패킷 흐름에 존재하기 때문에, 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하는 것은 보통 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키는 것이다. 현재 노드와 유사하게, 업스트림 노드는 다음과 같은 방식으로 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시킬 수 있다: 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 패킷 흐름에서 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어하며, 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮다. 패킷 흐름을 기록하는 다른 방식에 따라, 업스트림 노드에 의한 패킷 흐름에서 패킷의 우선순위를 변경하는 방식도 상이하다.
패킷을 획득한 후, 업스트림 노드는 패킷이 속하는 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름으로서 기록된 패킷 흐름인지를 검출할 수 있다. 패킷 흐름이 혼잡 상태 변화를 야기하는 패킷 흐름으로서 기록되어 있으면, 패킷의 우선순위가 변경된다. 패킷은 다른 노드에 의해 업스트림 노드로 전송될 수 있거나, 업스트림 노드에 의해 생성될 수 있다.
일 구현예에서, 업스트림 노드는 먼저 제1 패킷을 획득할 수 있고, 제1 패킷을 획득한 후, 업스트림 노드는 제1 패킷이 속하는 제1 패킷 흐름을 결정할 수 있다. 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 항목의 혼잡 표시 항목의 내용이 제1 표시이면, 제1 패킷의 스케줄링 우선순위가 변경된다. 제1 패킷의 우선순위를 변경하는 구체적인 구현에 대해서는 전술한 설명을 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
다른 구현예에서, 업스트림 노드는 먼저 제3 패킷을 획득할 수 있고, 제3 패킷을 획득한 후, 업스트림 노드는 제3 패킷이 속하는 제3 패킷 흐름을 결정할 수 있다. 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 제2 패킷의 우선순위가 변경된다. 제3 패킷의 우선순위를 변경하는 구체적인 구현에 대해서는 전술한 설명을 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
설명 정보에 의해 지시되는 패킷 흐름에서 패킷은 다른 노드에 의해 업스트림 노드로 전송될 수 있다. 따라서, 업스트림 노드가 혼잡 격리 메시지를 수신한 후, 업스트림 노드가 설명 정보에 의해 지시된 패킷 흐름에서 패킷이 다른 노드에 의해 업스트림 노드로 전송되는 것을 검출하면, 업스트림 노드는 혼잡 격리 메시지를 추가로 전송할 수 있다. 혼잡 격리 메시지의 방식 및 노드가 혼잡 격리 메시지를 수신한 후의 방식에 대해서는 전술한 설명을 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
전술한 실시예에서 제공되는 방법에 대응하여, 본 출원은 대응하는 네트워크 기기를 더 제공한다.
도 9는 본 출원에 따른 네트워크 기기의 일 실시예의 개략 구성도이다. 이 네트워크 기기는 전술한 실시예에서의 노드상에 배치될 수 있거나, 그 노드일 수 있다.
도 9에 도시된 바와 같이, 네트워크 기기는 혼잡 상태 변화를 야기하는 패킷 흐름을 검출하고, 혼잡 격리 메시지를 생성하도록 구성된 처리 유닛(901) - 여기서 혼잡 격리 메시지는 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용되고, 혼잡 격리 메시지는 패킷 흐름의 설명 정보를 포함함 -; 및 혼잡 격리 메시지를 하나 이상의 노드에 전송하도록 구성된 전송 유닛(902)을 포함한다.
선택적으로, 전송 유닛(902)은 구체적으로, 패킷 흐름을 전송하는 업스트림 노드에 혼잡 격리 메시지를 전송하도록 구성되며, 여기서 혼잡 격리 메시지는 구체적으로, 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키도록 노드에 명령하는 데 사용된다.
선택적으로, 혼잡 격리 메시지는 이더 유형(EtherType)이 미리 정의된 유형의 패킷이다.
선택적으로, 처리 유닛(901)은 추가로, 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키도록 구성된다.
선택적으로, 처리 기기는 구체적으로, 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 패킷 흐름에서 패킷을 낮은 우선순위 처리 큐에 진입하게 제어하도록 구성되며, 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮다.
선택적으로, 처리 유닛(901)은 추가로, 흐름표 내의 조목으로서 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하도록 구성되며, 혼잡 표시 항목은, 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 제1 표시는, 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용된다.
선택적으로, 처리 유닛(901)은 추가로, 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 혼잡 표시 항목을 제2 표시로 설정하도록 구성되며, 여기서 제2 표시는, 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름임을 지시하는 데 사용되고, 타임스탬프 항목은, 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 사용된다.
선택적으로, 상기 네트워크 기기는 제1 패킷을 수신하도록 구성된 수신 유닛을 더 포함한다. 처리 유닛(901)은 추가로, 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 제1 패킷의 우선순위를 변경하도록 구성되며, 여기서 제2 패킷과 제1 패킷은 모두 제1 패킷 흐름에 속하고, 제1 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정된 후에 수신된 패킷이고, 제2 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정되기 전에 수신된 패킷이다.
선택적으로, 기기는 제1 패킷을 수신하도록 구성된 수신 유닛을 더 포함한다. 처리 유닛(901)은 추가로, 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 제1 패킷의 우선순위를 변경하도록 구성되며, 제2 패킷과 제1 패킷은 모두 제1 패킷 흐름에 속하고, 제1 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정된 후에 수신된 패킷이고, 제2 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정되기 전에 수신된 패킷이다.
선택적으로, 처리 유닛(901)은 추가로, 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표블에 추가하도록 구성된다.
선택적으로, 처리 유닛(901)은 추가로, 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 패킷 흐름에 대응하는 조목을 삭제하도록 구성되며, 여기서 타임스탬프 항목은 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용된다.
선택적으로, 상기 네트워크 기기는 제3 패킷을 수신하도록 구성된 수신 유닛을 더 포함한다. 처리 유닛(901)은 추가로, 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 존재하면, 제3 패킷의 우선순위가 제4 패킷의 우선순위와 상이하도록, 제3 패킷의 스케줄링 우선순위를 변경하도록 구성되며, 여기서 제4 패킷과 제3 패킷은 모두 제2 패킷 흐름에 속하고, 제3 패킷은 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 추가된 후에 수신된 패킷이고, 제4 패킷은 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 추가되기 전에 수신된 패킷이다.
도 10은 본 출원에 따른 네트워크 기기의 일 실시예의 개략 구성도이다. 이 네트워크 기기는 전술한 실시예에서 노드상에 배치될 수 있거나, 또는 노드일 수 있다.
도 10에 도시된 바와 같이, 상기 네트워크 기기는, 혼잡 격리 메시지를 수신하도록 구성된 수신 유닛(1001) - 혼잡 격리 메시지는 설명 정보를 포함함 -; 및 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하도록 구성된 처리 유닛(1002)을 포함한다.
선택적으로, 처리 유닛(1002)은 추가로, 패킷 흐름에서 패킷의 스케줄링 우선순위를 감소시키도록 구성된다.
선택적으로, 처리 유닛(1002)은 추가로, 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 패킷 흐름에서 패킷을 제어하여 낮은 우선순위 처리 큐에 진입하게 하도록 구성되며, 여기서 낮은 우선순위 처리 큐의 스케줄링 우선순위는 패킷 흐름에서 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮다.
선택적으로, 처리 유닛(1002)은 추가로, 흐름표 내의 조목으로서 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하도록 구성되며, 여기서 혼잡 표시 항목은, 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 제1 표시는, 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용된다.
선택적으로, 처리 유닛(1002)은 추가로, 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 혼잡 표시 항목을 제2 표시로 설정하도록 구성되며, 여기서 제2 표시는, 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비 혼잡 흐름임을 지시하는 데 사용되고, 타임스탬프 항목은, 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용된다.
선택적으로, 네트워크 기기는 추가로, 제1 패킷을 획득하도록 구성된 수신 유닛(1001)을 더 포함한다. 처리 유닛(1002)은 추가로, 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 제1 패킷의 우선순위를 변경하도록 구성되며, 여기서 제2 패킷과 제1 패킷은 모두 제1 패킷 흐름에 속하고, 제1 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정된 후에 획득된 패킷이고, 제2 패킷은 혼잡 표시 항목의 내용이 제1 표시로 설정되기 전에 획득된 패킷이다.
선택적으로, 처리 유닛(1002)은 추가로, 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가하도록 구성된다.
선택적으로, 처리 유닛은 추가로, 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 패킷 흐름에서 패킷이 수신되지 않으면, 패킷 흐름에 대응하는 조목을 삭제하도록 구성되며, 여기서 타임스탬프 항목은 패킷 흐름에서 패킷을 마지막으로 수신한 시각을 기록하는 데 사용된다.
선택적으로, 수신 유닛(1001)은 추가로, 제3 패킷을 획득하도록 구성된다. 처리 유닛(1002)은 추가로, 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 제3 패킷의 우선순위가 제4 패킷의 우선순위와 상이하도록, 제3 패킷의 스케줄링 우선순위를 변경하도록 구성되며, 제4 패킷과 제3 패킷은 모두 제2 패킷 흐름에 속하고, 제3 패킷은 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 추가된 후에 획득된 패킷이고, 제4 패킷은 제2 패킷 흐름에 대응하는 조목이 혼잡 흐름 흐름표에 추가되기 전에 획득된 패킷이다.
도 11은 본 출원에 따른 네트워크 기기의 또 다른 실시예의 개략 구성도이다. 도 11에 도시된 바와 같이, 네트워크 기기는 프로세서(1101)를 포함할 수 있고, 메모리(1102) 및 통신 모듈(1103)을 더 포함할 수 있다.
이 네트워크 기기의 제어 센터로서, 프로세서(1101)는 다양한 인터페이스 및 라인을 사용하여 기기 전체의 다양한 부분에 연결되고, 메모리(1102)에 저장된 소프트웨어 프로그램 또는 모듈을 실행하고 메모리(1102)에 저장된 데이터를 호출함으로써 네트워크 기기의 다양한 기능 및/또는 데이터 처리를 수행한다. 프로세서(1101)는 중앙 처리 장치(central processing unit, CPU), 네트워크 프로세서(network processor, NP) 또는 CPU와 NP의 조합일 수 있다. 프로세서(1101)는 하드웨어 칩을 더 포함할 수 있다. 하드웨어 칩은 ASIC(Application-Specific Integrated Circuit), PLD(Programmable Logic Device) 또는 이들의 조합일 수 있다. PLD는 CPLD(Complex Programmable Logic Device), FPGA(Field-Programmable Gate A), GAL(Generic Array Logic) 또는 이들의 임의의 조합일 수 있다.
메모리(1102)는 휘발성 메모리(volatile memory), 예를 들어 RAM(Random Access Memory)를 포함할 수 있거나, 비휘발성 메모리(non-volatile memory), 예를 들어, 플래시 메모리(flash memory), HDD(Hard Disk Drive) 또는 SSD(Solid-State Drive)을 포함할 수 있다. 메모리는 전술한 유형의 메모리의 조합을 더 포함할 수 있다. 메모리(1102)는 명령어, 프로그램 또는 코드를 저장할 수 있고, 네트워크 기기의 프로세서(1101)는 프로그램 또는 코드를 실행함으로써 네트워크 기기의 기능을 구현할 수 있다.
통신 모듈(1103)은 네트워크 기기와 다른 기기 사이의 통신을 구현하도록 구성될 수 있다. 본 출원의 실시예에서, 통신 모듈(1103)은 이더넷 포트를 제공하도록 구성되는 모듈일 수 있어서, 네트워크 기기는 이더넷을 통해 다른 기기와 통신할 수 있다. 예를 들어, 네트워크 기기가 서버인 경우, 통신 모듈(1103)은 네트워크 인터페이스 카드일 수 있다.
프로세서(1101)는 혼잡 상태 변화를 야기하는 패킷 흐름을 검출하고; 혼잡 격리 메시지를 생성하고 - 여기서 혼잡 격리 메시지는 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용되고, 혼잡 격리 메시지는 패킷 흐름의 설명 정보를 포함함 -; 혼잡 격리 메시지를 하나 이상의 노드에 전송하도록 구성된다. 대안적으로, 프로세서(1101)는 수신된 혼잡 격리 메시지에 포함된 설명 정보에 기초하여, 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하도록 구성될 수 있다. 프로세서(1101)에 의해 구현될 기능 또는 수행될 방법의 단계에 대해서는 전술 한 실시예를 참조한다. 세부 사항은 여기서 다시 설명하지 않는다.
여기서 전술한 실시예 중 일부 또는 전부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 사용하여 구현될 수 있음에 유의해야 한다. 실시예를 구현하는 데 소프트웨어를 사용되는 경우, 실시예 중 일부 또는 전부가 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다. 컴퓨터 프로그램 명령어가 컴퓨터에 로딩되어 실행될 때, 본 출원의 전술한 실시예에 따른 프로시저 또는 기능 중 일부 또는 전부가 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램 가능한 장치일 수 있다. 컴퓨터 명령어는 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있거나, 컴퓨터로 판독 가능한 저장 매체로부터 다른 컴퓨터로 판독 가능한 저장 매체에 전송될 수 있다. 예를 들어, 컴퓨터 명령어는 웹 사이트, 컴퓨터, 서버 또는 데이터 센터로부터, 유선 방식(예: 동축 케이블, 광섬유 또는 디지털 가입자 회선(digital subscriber line, DSL)) 또는 무선 방식(예: 적외선, 라디오 또는 마이크로파)으로 다른 웹 사이트, 컴퓨터, 서버 또는 데이터 센터에 송신될 수 있다. 컴퓨터로 판독 가능한 저장 매체는 컴퓨터 또는 하나 이상의 사용 가능한 매체를 통합한, 서버 또는 데이터 센터와 같은 데이터 저장 기기에 액세스 가능한 임의의 사용 가능한 매체일 수 있다. 사용 가능한 매체는 자기 매체(예: 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예: DVD)), 반도체 매체(예: SSD(Solid State Disk)) 등일 수 있다.
본 명세서에서의 실시예에서 동일하거나 유사한 부분에 대해서는 서로 참조한다. 특히, 네트워크 장치 및 기기와 관련 실시예는 기본적으로 방법 실시예와 유사하므로, 간략하게 설명하였다. 관련 부분에 대해서는 방법 실시예에서의 설명을 참조한다.
이상에 개시된 본 출원의 구현은 본 출원 보호 범위를 한정하려는 의도는 아니다.

Claims (41)

  1. 혼잡 상태 변화(congestion status change)를 야기하는 패킷 흐름(packet flow)을 검출하는 단계;
    혼잡 격리 메시지(congestion isolation message)를 생성하는 단계 - 상기 혼잡 격리 메시지는 상기 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용되고, 상기 혼잡 격리 메시지는 상기 패킷 흐름의 설명 정보를 포함함 -; 및
    상기 혼잡 격리 메시지를 하나 이상의 노드에 전송하는 단계
    를 포함하는 패킷 제어 방법.
  2. 제1항에 있어서,
    상기 혼잡 격리 메시지를 하나 이상의 노드에 전송하는 단계는,
    상기 혼잡 격리 메시지를 상기 패킷 흐름을 전송하는 업스트림 노드에 전송하는 단계 - 상기 혼잡 격리 메시지는 구체적으로, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키도록 상기 노드에 명령하는 데 사용됨 -를 포함하는, 패킷 제어 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키는 단계를 더 포함하는 패킷 제어 방법.
  4. 제3항에 있어서,
    상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키는 단계는,
    상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는
    상기 패킷 흐름에서 상기 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어하는 단계 - 상기 낮은 우선순위 처리 큐의 스케줄링 우선순위는 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮음 -를 포함하는, 패킷 제어 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    흐름표 내의 조목(entry)으로서 상기 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목(congestion mark item)의 내용을 제1 표시로 설정하는 단계 - 상기 혼잡 표시 항목은, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 상기 제1 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용됨 -를 더 포함하는 패킷 제어 방법.
  6. 제7항에 있어서,
    상기 조목 내의 타임스탬프 항목(timestamp item)에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 혼잡 표시 항목을 제2 표시로 설정하는 단계 - 상기 제2 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름(non-congestion flow)임을 지시하는 데 사용되고, 상기 타임스탬프 항목은, 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함하는 패킷 제어 방법.
  7. 제5항에 있어서,
    제1 패킷을 수신하는 단계; 및
    상기 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 상기 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 상기 제1 패킷의 우선순위를 변경하는 단계 - 상기 제2 패킷과 상기 제1 패킷은 모두 상기 제1 패킷 흐름에 속하고, 상기 제1 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정된 후에 수신된 패킷이고, 상기 제2 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정되기 전에 수신된 패킷임 -를 더 포함하는 패킷 제어 방법.
  8. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표(congestion-flow flow table)에 추가하는 단계를 더 포함하는 패킷 제어 방법.
  9. 제8항에 있어서,
    상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 패킷 흐름에 대응하는 조목을 삭제하는 단계 - 상기 타임스탬프 항목은 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함하는 패킷 제어 방법.
  10. 제8항에 있어서,
    제3 패킷을 수신하는 단계; 및
    상기 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 상기 제3 패킷의 우선순위가 제4 패킷의 우선순위와 상이하도록, 상기 제3 패킷의 스케줄링 우선순위를 변경하는 단계 - 상기 제4 패킷과 상기 제3 패킷은 모두 상기 제2 패킷 흐름에 속하고, 상기 제3 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가된 후에 수신된 패킷이고, 상기 제4 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가되기 전에 수신된 패킷임 -를 더 포함하는 패킷 제어 방법.
  11. 혼잡 격리 메시지를 수신하는 단계 - 상기 혼잡 격리 메시지는 설명 정보를 포함함 -; 및
    상기 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하는 단계
    를 포함하는 패킷 제어 방법.
  12. 제11항에 있어서,
    상기 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하는 단계는,
    상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키는 단계를 포함하는, 패킷 제어 방법.
  13. 제12항에 있어서,
    상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키는 단계는,
    상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는
    상기 패킷 흐름에서 상기 패킷을 낮은 우선순위 처리 큐에 진입하도록 제어하는 단계 - 상기 낮은 우선순위 처리 큐의 스케줄링 우선순위는 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮음 -를 포함하는, 패킷 제어 방법.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 혼잡 격리 메시지를 수신하는 단계 후에,
    흐름표 내의 조목으로서 상기 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하는 단계 - 상기 혼잡 표시 항목은, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 상기 제1 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용됨 -를 더 포함하는 패킷 제어 방법.
  15. 제14항에 있어서,
    상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 혼잡 표시 항목을 제2 표시로 설정하는 단계 - 상기 제2 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름임을 지시하는 데 사용되고, 상기 타임스탬프 항목은, 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함하는 패킷 제어 방법.
  16. 제14항에 있어서,
    제1 패킷을 획득하는 단계; 및
    상기 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 상기 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 상기 제1 패킷의 우선순위를 변경하는 단계 - 상기 제2 패킷과 상기 제1 패킷은 모두 상기 제1 패킷 흐름에 속하고, 상기 제1 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정된 후에 획득된 패킷이고, 상기 제2 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정되기 전에 획득된 패킷임 -를 더 포함하는 패킷 제어 방법.
  17. 제11항 내지 제13항 중 어느 한 항에 있어서,
    상기 혼잡 격리 메시지를 수신하는 단계 후에,
    상기 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가하는 단계를 더 포함하는 패킷 제어 방법.
  18. 제17항에 있어서,
    상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 패킷 흐름에 대응하는 조목을 삭제하는 단계 - 상기 타임스탬프 항목은 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용됨 -를 더 포함하는 패킷 제어 방법.
  19. 제17항에 있어서,
    제3 패킷을 획득하는 단계; 및
    상기 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 상기 제3 패킷의 우선순위가 상기 제4 패킷의 우선순위와 상이하도록, 상기 제3 패킷의 스케줄링 우선순위를 변경하는 단계 - 상기 제4 패킷과 상기 제3 패킷은 모두 상기 제2 패킷 흐름에 속하고, 상기 제3 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가된 후에 획득된 패킷이고, 상기 제4 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가되기 전에 획득된 패킷임 -를 더 포함하는 패킷 제어 방법.
  20. 혼잡 상태 변화를 야기하는 패킷 흐름을 검출하고, 혼잡 격리 메시지를 생성하도록 구성된 처리 유닛 - 상기 혼잡 격리 메시지는 상기 패킷 흐름에서 패킷의 우선순위를 변경하는 데 사용되고, 상기 혼잡 격리 메시지는 상기 패킷 흐름의 설명 정보를 포함함 -; 및
    상기 혼잡 격리 메시지를 하나 이상의 노드에 전송하도록 구성된 전송 유닛
    을 포함하는 네트워크 기기.
  21. 제20항에 있어서,
    상기 전송 유닛은 구체적으로, 상기 혼잡 격리 메시지를 상기 패킷 흐름을 전송하는 업스트림 노드에 전송하도록 구성되며, 상기 혼잡 격리 메시지는 구체적으로, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키도록 상기 노드에 명령하는 데 사용되는, 네트워크 기기.
  22. 제20항 또는 제21항에 있어서,
    상기 처리 유닛은 추가로, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키도록 구성되는, 네트워크 기기.
  23. 제22항에 있어서,
    상기 처리 기기는 구체적으로, 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 상기 패킷 흐름에서 상기 패킷을 낮은 우선순위 처리 큐에 진입하게 제어하도록 구성되며, 상기 낮은 우선순위 처리 큐의 스케줄링 우선순위는 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮은, 네트워크 기기.
  24. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 처리 유닛은 추가로, 흐름표 내의 조목으로서 상기 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하도록 구성되며, 상기 혼잡 표시 항목은, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 상기 제1 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용되는, 네트워크 기기.
  25. 제24항에 있어서,
    상기 처리 유닛은 추가로, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 혼잡 표시 항목을 제2 표시로 설정하도록 구성되며, 상기 제2 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름임을 지시하는 데 사용되고, 상기 타임스탬프 항목은, 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 사용되는, 네트워크 기기.
  26. 제24항에 있어서,
    제1 패킷을 수신하도록 구성된 수신 유닛을 더 포함하고;
    상기 처리 유닛은 추가로, 상기 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 상기 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 상기 제1 패킷의 우선순위를 변경하도록 구성되며, 상기 제2 패킷과 상기 제1 패킷은 모두 상기 제1 패킷 흐름에 속하고, 상기 제1 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정된 후에 수신된 패킷이고, 상기 제2 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정되기 전에 수신된 패킷인, 네트워크 기기.
  27. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 처리 유닛은 추가로, 상기 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가하도록 구성되는, 네트워크 기기.
  28. 제27항에 있어서,
    상기 처리 유닛은 추가로, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 패킷 흐름에 대응하는 조목을 삭제하도록 구성되며, 상기 타임스탬프 항목은 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용되는, 네트워크 기기.
  29. 제27항에 있어서,
    제3 패킷을 수신하도록 구성된 수신 유닛을 더 포함하며,
    상기 처리 유닛은, 상기 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 상기 제3 패킷의 우선순위가 상기 제4 패킷의 우선순위와 상이하도록, 상기 제3 패킷의 스케줄링 우선순위를 변경하도록 구성되며, 상기 제4 패킷과 상기 제3 패킷은 모두 상기 제2 패킷 흐름에 속하고, 상기 제3 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가된 후에 수신된 패킷이고, 상기 제4 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가되기 전에 수신된 패킷인, 네트워크 기기.
  30. 혼잡 격리 메시지를 수신하도록 구성된 수신 유닛 - 상기 혼잡 격리 메시지는 설명 정보를 포함함 -; 및
    상기 설명 정보에 의해 지시되는 패킷 흐름에서 패킷의 우선순위를 변경하도록 구성된 처리 유닛
    을 포함하는 네트워크 기기.
  31. 제30항에 있어서,
    상기 처리 유닛은 추가로, 상기 패킷 흐름에서 상기 패킷의 스케줄링 우선순위를 감소시키도록 구성되는, 네트워크 기기.
  32. 제31항에 있어서,
    상기 처리 유닛은 추가로, 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용을, 수정 후의 내용에 대응하는 스케줄링 우선순위가 수정 전의 내용에 대응하는 스케줄링 우선순위보다 낮도록 수정하거나; 또는 상기 패킷 흐름에서 상기 패킷을 제어하여 낮은 우선순위 처리 큐에 진입하게 하도록 구성되며, 상기 낮은 우선순위 처리 큐의 스케줄링 우선순위는 상기 패킷 흐름에서 상기 패킷의 우선순위 지시 필드의 내용에 대응하는 스케줄링 우선순위보다 낮은, 네트워크 기기.
  33. 제30항 내지 제32항 중 어느 한 항에 있어서,
    상기 처리 유닛은 추가로, 흐름표 내의 조목으로서 상기 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용을 제1 표시로 설정하도록 구성되며, 상기 혼잡 표시 항목은, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름인지를 기록하는 데 사용되고, 상기 제1 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 혼잡 흐름임을 지시하는 데 사용되는, 네트워크 기기.
  34. 제33항에 있어서,
    상기 처리 유닛은 추가로, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 혼잡 표시 항목을 제2 표시로 설정하도록 구성되며, 상기 제2 표시는, 상기 혼잡 표시 항목이 속하는 조목에 대응하는 패킷 흐름이 비혼잡 흐름임을 지시하는 데 사용되고, 상기 타임스탬프 항목은, 상기 패킷 흐름에서 패킷이 마지막으로 수신된 시각을 기록하는 데 사용되는, 네트워크 기기.
  35. 제33항에 있어서,
    상기 수신 유닛은 추가로, 제1 패킷을 획득하도록 구성되고,
    상기 처리 유닛은 추가로, 상기 흐름표 내의 조목으로서 제1 패킷 흐름에 대응하는 조목 내의 혼잡 표시 항목의 내용이 제1 표시이면, 상기 제1 패킷의 우선순위가 제2 패킷의 우선순위와 상이하도록, 상기 제1 패킷의 우선순위를 변경하도록 구성되며, 상기 제2 패킷과 상기 제1 패킷은 모두 상기 제1 패킷 흐름에 속하고, 상기 제1 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정된 후에 획득된 패킷이고, 제2 패킷은 상기 혼잡 표시 항목의 내용이 상기 제1 표시로 설정되기 전에 획득된 패킷인, 네트워크 기기.
  36. 제32항 내지 제34항 중 어느 한 항에 있어서,
    상기 처리 유닛은 추가로, 상기 패킷 흐름에 대응하는 조목을 혼잡 흐름 흐름표에 추가하도록 구성되는, 네트워크 기기.
  37. 제36항에 있어서,
    상기 처리 유닛은 추가로, 상기 조목 내의 타임스탬프 항목에 의해 기록되는 시각부터 시작하여 미리 정해진 지속기간 내에 상기 패킷 흐름에서 패킷이 수신되지 않으면, 상기 패킷 흐름에 대응하는 조목을 삭제하도록 구성되며, 상기 타임스탬프 항목은 상기 패킷 흐름에서 패킷을 마지막으로 수신한 시각을 기록하는 데 사용되는, 네트워크 기기.
  38. 제36항에 있어서,
    상기 수신 유닛은 추가로, 제3 패킷을 획득하도록 구성되고,
    상기 처리 유닛은 추가로, 상기 혼잡 흐름 흐름표에 제2 패킷 흐름에 대응하는 조목이 존재하면, 상기 제3 패킷의 우선순위가 상기 제4 패킷의 우선순위와 상이하도록, 상기 제3 패킷의 스케줄링 우선순위를 변경하도록 구성되며, 상기 제4 패킷과 상기 제3 패킷은 모두 상기 제2 패킷 흐름에 속하고, 상기 제3 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가된 후에 획득된 패킷이고, 상기 제4 패킷은 상기 제2 패킷 흐름에 대응하는 조목이 상기 혼잡 흐름 흐름표에 추가되기 전에 획득된 패킷인, 네트워크 기기.
  39. 명령어를 포함하는, 컴퓨터로 판독 가능한 저장 매체로서,
    상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하거나, 또는 제11항 내지 제19항 중 어느 한 항에 따른 방법을 수행하는,
    컴퓨터로 판독 가능한 저장 매체.
  40. 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하거나, 또는 제11항 내지 제19항 중 어느 한 항에 따른 방법을 수행하는,
    컴퓨터 프로그램 제품.
  41. 메모리,
    프로세서, 및
    상기 메모리에 저장되고 상기 프로세서에서 실행될 수 있는 컴퓨터 프로그램을 포함하고,
    상기 프로세서는 상기 컴퓨터 프로그램을 실행하여, 제1항 내지 제10항 중 어느 한 항에 따른 방법을 구현하거나, 또는 제11항 내지 제19항 중 어느 한 항에 따른 방법을 구현하는,
    통신 장치.
KR1020207007821A 2017-08-18 2018-06-28 패킷 제어 방법 및 네트워크 기기 KR102317523B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710713089.XA CN109412964B (zh) 2017-08-18 2017-08-18 报文控制方法及网络装置
CN201710713089.X 2017-08-18
PCT/CN2018/093298 WO2019033857A1 (zh) 2017-08-18 2018-06-28 报文控制方法及网络装置

Publications (2)

Publication Number Publication Date
KR20200037405A true KR20200037405A (ko) 2020-04-08
KR102317523B1 KR102317523B1 (ko) 2021-10-25

Family

ID=65361997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207007821A KR102317523B1 (ko) 2017-08-18 2018-06-28 패킷 제어 방법 및 네트워크 기기

Country Status (6)

Country Link
US (2) US11190449B2 (ko)
EP (2) EP4325803A3 (ko)
JP (1) JP6938766B2 (ko)
KR (1) KR102317523B1 (ko)
CN (1) CN109412964B (ko)
WO (1) WO2019033857A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10666460B2 (en) 2017-10-02 2020-05-26 Vmware, Inc. Measurement based routing through multiple public clouds
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11349761B2 (en) * 2019-03-08 2022-05-31 Hewlett Packard Enterprise Development Lp Cost effective congestion isolation for lossless ethernet
CN112054964B (zh) * 2019-06-05 2023-11-28 中兴通讯股份有限公司 队列拥塞控制方法、装置、设备及存储介质
CN112187556B (zh) * 2019-07-01 2023-12-08 华为技术有限公司 一种拥塞测量方法、网络节点
US11252105B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Identifying different SaaS optimal egress nodes for virtual networks of different entities
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
CN113037640A (zh) * 2019-12-09 2021-06-25 华为技术有限公司 数据转发方法、数据缓存方法、装置和相关设备
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
CN111131061B (zh) * 2019-12-30 2022-07-08 中国联合网络通信集团有限公司 一种数据传输方法及网络设备
US11722925B2 (en) 2020-01-24 2023-08-08 Vmware, Inc. Performing service class aware load balancing to distribute packets of a flow among multiple network links
CN113726671B (zh) * 2020-05-26 2023-06-30 华为技术有限公司 一种网络拥塞控制方法及相关产品
US11245641B2 (en) 2020-07-02 2022-02-08 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
CN111526097B (zh) * 2020-07-03 2020-10-30 新华三半导体技术有限公司 一种报文调度方法、装置及网络芯片
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
CN114095448A (zh) * 2020-08-05 2022-02-25 华为技术有限公司 一种拥塞流的处理方法及设备
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
KR102600204B1 (ko) 2020-12-01 2023-11-10 한국전자통신연구원 Gen-Z 인터페이스 기반의 혼잡 제어 방법 및 장치
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
CN116783874A (zh) 2021-01-18 2023-09-19 Vm维尔股份有限公司 网络感知的负载平衡
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11388086B1 (en) 2021-05-03 2022-07-12 Vmware, Inc. On demand routing mesh for dynamically adjusting SD-WAN edge forwarding node roles to facilitate routing through an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
CN115473851A (zh) * 2021-05-25 2022-12-13 华为技术有限公司 数据流的处理方法、网络节点和系统
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
WO2023105615A1 (ja) * 2021-12-07 2023-06-15 日本電信電話株式会社 コンピューティングシステム
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997766A (zh) * 2009-08-31 2011-03-30 中兴通讯股份有限公司 一种基于优先级的令牌桶限速的方法及系统
US20140016461A1 (en) * 2011-08-08 2014-01-16 Alaxala Networks Corporation Packet relay device and method
CN103997465A (zh) * 2014-05-27 2014-08-20 华为技术有限公司 一种生成cnm的方法及设备
US20150334024A1 (en) * 2012-04-20 2015-11-19 Jeffrey Clifford Mogul Controlling Data Rates of Data Flows Based on Information Indicating Congestion

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
JP3556495B2 (ja) * 1998-12-15 2004-08-18 株式会社東芝 パケットスイッチ及びパケット交換方法
US7239636B2 (en) 2001-07-23 2007-07-03 Broadcom Corporation Multiple virtual channels for use in network devices
JP3639556B2 (ja) * 2001-12-12 2005-04-20 富士通株式会社 VoIPネットワークの輻輳制御システム
JP2007067885A (ja) * 2005-08-31 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> データフレーム処理装置および方法
US7962146B2 (en) * 2005-12-02 2011-06-14 Elefonaktiebolaget L M Ericsson (Publ) Method and apparatus for allocating bandwidth in a wireless communication system
CN101325803B (zh) * 2007-07-12 2011-06-22 中兴通讯股份有限公司 编解码选择和指配方法
CN101299716B (zh) * 2008-04-25 2011-04-06 华为技术有限公司 业务数据发送的方法、装置及系统
CN102025617B (zh) * 2010-11-26 2015-04-01 中兴通讯股份有限公司 以太网拥塞控制方法及装置
US8717893B2 (en) * 2010-11-29 2014-05-06 Verizon Patent And Licensing Inc. Network stabilizer
CN102123444B (zh) * 2010-12-31 2014-04-16 华为技术有限公司 异系统之间共享传输带宽的方法及设备、系统
US9438527B2 (en) * 2012-05-24 2016-09-06 Marvell World Trade Ltd. Flexible queues in a network switch
US9197541B2 (en) * 2012-11-15 2015-11-24 Compass Electro Optical Systems Ltd. Router with passive interconnect and distributed switchless switching
US10003544B2 (en) * 2014-12-11 2018-06-19 Futurewei Technologies, Inc. Method and apparatus for priority flow and congestion control in ethernet network
CN104661260B (zh) * 2015-01-20 2018-07-20 中南大学 一种QoS感知和负载均衡的无线Mesh智能电网路由方法
US10498654B2 (en) * 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997766A (zh) * 2009-08-31 2011-03-30 中兴通讯股份有限公司 一种基于优先级的令牌桶限速的方法及系统
US20140016461A1 (en) * 2011-08-08 2014-01-16 Alaxala Networks Corporation Packet relay device and method
US20150334024A1 (en) * 2012-04-20 2015-11-19 Jeffrey Clifford Mogul Controlling Data Rates of Data Flows Based on Information Indicating Congestion
CN103997465A (zh) * 2014-05-27 2014-08-20 华为技术有限公司 一种生成cnm的方法及设备

Also Published As

Publication number Publication date
JP6938766B2 (ja) 2021-09-22
JP2020532194A (ja) 2020-11-05
CN109412964A (zh) 2019-03-01
EP3661137A4 (en) 2020-06-10
EP3661137A1 (en) 2020-06-03
CN109412964B (zh) 2022-04-29
US11190449B2 (en) 2021-11-30
KR102317523B1 (ko) 2021-10-25
EP3661137B1 (en) 2023-10-04
US20200186471A1 (en) 2020-06-11
US20220070098A1 (en) 2022-03-03
US11646967B2 (en) 2023-05-09
EP4325803A3 (en) 2024-04-10
WO2019033857A1 (zh) 2019-02-21
EP4325803A2 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
KR102317523B1 (ko) 패킷 제어 방법 및 네트워크 기기
US8345696B2 (en) Router and packet discarding method
US11032205B2 (en) Flow control method and switching device
CN106134138B (zh) 一种拥塞控制的方法、设备和系统
CN111800351B (zh) 由交换机进行的拥塞通知分组生成
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
US9571410B2 (en) Credit-based link level flow control and credit exchange using DCBX
US20200351215A1 (en) Data Stream Sending Method and System, and Device
WO2022028342A1 (zh) 一种拥塞流的处理方法及设备
US20140105020A1 (en) Frame transfer apparatus and frame transfer method
CN109286564B (zh) 一种报文转发方法及装置
WO2021098425A1 (zh) 配置业务的服务质量策略方法、装置和计算设备
JP2018107584A (ja) ネットワーク装置及びその制御方法
WO2019165855A1 (zh) 一种报文传输的方法及装置
EP3459216B1 (en) System and method for mtu size reduction in a packet network
CN110336759B (zh) 基于rdma的协议报文转发方法及装置
EP3806411A1 (en) Message control method and node device
US9319327B2 (en) Packet transmission method, packet transmission apparatus, and storage medium
US20210336895A1 (en) Data transmission method and network device
CN109327402B (zh) 拥塞管理方法及装置
US8854987B2 (en) Distributing cells on an IMA logical link having inactive IMA sub-links
CN117768417A (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