KR20190082960A - 네트워크 장치 및 네트워크 장치의 큐 관리 방법 - Google Patents

네트워크 장치 및 네트워크 장치의 큐 관리 방법 Download PDF

Info

Publication number
KR20190082960A
KR20190082960A KR1020197018084A KR20197018084A KR20190082960A KR 20190082960 A KR20190082960 A KR 20190082960A KR 1020197018084 A KR1020197018084 A KR 1020197018084A KR 20197018084 A KR20197018084 A KR 20197018084A KR 20190082960 A KR20190082960 A KR 20190082960A
Authority
KR
South Korea
Prior art keywords
stream
queue
data
frame
bridge
Prior art date
Application number
KR1020197018084A
Other languages
English (en)
Other versions
KR102164033B1 (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 KR20190082960A publication Critical patent/KR20190082960A/ko
Application granted granted Critical
Publication of KR102164033B1 publication Critical patent/KR102164033B1/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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/54Loss aware scheduling

Landscapes

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

Abstract

네트워크 디바이스의 전송 선택 방법이 개시된다. 특히, 데이터 프레임을 저장하는 복수의 큐를 포함하는 네트워크 디바이스의 전송 선택 방법이 개시된다. 여기서, 복수의 큐의 각각은 상이한 트래픽 클래스에 대응되고, 상기 방법은 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득하는 단계와 전송 선택 알고리즘 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 단계를 포함한다. 여기서, 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당할 수 있다.

Description

네트워크 장치 및 네트워크 장치의 큐 관리 방법
본 발명은 네트워크 장치 및 네트워크 장치의 전송 선택 방법에 대한 것으로, 특히, 네트워크 장치에서 효율적인 메모리의 관리를 위한 큐 관리 방법에 대한 것이다.
LAN(Local Area Network)과 같은 네트워크는 다양한 분야에서 사용된다. 이러한 네트워크는 산업용 네트워크로 사용될 수도 있고, 최근 스마트카의 발전에 따른 차량 내 통신의 발달로 인해 차량내 네트워크로 사용될 수 있다.
이러한 네트워크에서의 큐 관리는 사용 분야 또는 목적에 맞게 효율적으로 처리될 필요가 있다. 또한, 네트워크에서의 큐 관리는 큐에 입력되는 스트림의 우선순위 또는 중요성을 고려하여 결정될 필요가 있다.
상술한 기술적 과제를 해결하기 위하여, 본 발명은 네트워크 장치 및 네트워크 장치의 전송 선택 방법을 제안한다.
본 발명의 일 실시예에 따른 네트워크 디바이스는 복수의 데이터 프레임을 저장하는 큐 및 상기 큐와 연결된 프로세서를 포함하되, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 가질 수 있다. 실시예로서, 상기 프로세서는, 상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하고, 상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거할 수 있다.
실시예로서, 상기 프로세서는, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하고, 미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다.
실시예로서, 상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 로스(frame loss)를 최소화하기 위해 상기 스트림 우선순위 정보에 포함된 스트림일 수 있다.
실시예로서, 상기 프로세서는, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거할 수 있다.
실시예로서, 상기 프로세서는, 상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거할 수 있다.
실시예로서, 상기 프로세서는, 데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별할 수 있다.
본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법은 큐에 복수의 데이터 프레임을 저장하는 단계; 상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하는 단계; 및 상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계를 포함할 수 있다. 여기서, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 가질 수 있다.
실시예로서, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계는: 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계; 및 미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거하는 단계를 포함할 수 있다.
실시예로서, 상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 로스(frame loss)를 최소화하기 위해 상기 스트림 우선순위 정보에 포함된 스트림일 수 있다.
실시예로서, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 단계는, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거할 수 있다.
실시예로서, 상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거하는 단계를 더 포함할 수 있다.
실시예로서, 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계는, 데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별할 수 있다.
본 발명은 네트워크의 사용 분야 또는 목적에 맞게 큐 관리 방법을 수행함으로써 데이터 처리의 효율성을 높일 수 있다.
본 발명은 큐에 입력되는 스트림의 우선순위 또는 중요도를 고려하는 큐 관리 방법을 취함으로써 네트워크 디바이스가 기대하는 성능을 유지할 수 있게 해준다.
이하에서 본 발명의 부가적인 효과들이 발명의 구성과 함께 설명될 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 브릿지 네트워크를 나타낸다.
도 3은 도 1의 네트워크 모델에서 각 계층간 데이터를 전달하는 방법을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 제어 평면의 상위 계층 엔티티들을 나타낸다.
도 7은 본 발명의 일 실시에에 따른 브릿지 네트워크의 시간 동기화 방법을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 스트림 등록(stream registration)과 스트림 예약(stream reservation) 방법을 나타낸다.
도 9는 도 8의 스트림 등록 및 예약에 대한 아키텍쳐를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 브릿지 포워딩 프로세스를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 스트림별 필터링 및 폴리싱(per-stream filtering and policing) 방법을 나타낸다.
도 12는 본 발명의 일 실시예에 따른 폴리싱 및 필터링 레이턴시를 나타낸다.
도 13은 도 12의 딜레이 기간 동안의 큐의 상태를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 스트림 우선순위 테이블을 나타낸다.
도 15는 본 발명의 일 실시예에 따른 큐 관리 방법이 사용되는 경우, 시간에 따른 큐의 상태 변화를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 스트림 ID 정보의 위치를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 전송 선택 알고리즘 테이블을 나타낸다.
도 17은 본 발명의 일 실시예에 따른 네트워크 디바이스의 구성도이다.
도 18은 본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법을 나타낸다.
도 19는 본 발명의 다른 실시예에 따른 네트워크 디바이스의 큐 관리 방법을 나타낸다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 네트워크 디바이스에 관한 것으로, 네트워크 디바이스는 예컨대, IEEE(Institute of Electrical and Electronics Engineers) 802의 네트워크와 같은 네트워크를 구성하는 스테이션(또는, 시스템)의 전체 또는 일부 기능을 수행할 수 있다. 실시예로서, 네트워크 디바이스(1700)는 IEEE802.1의 브릿지 네트워크 내의 브릿지에 해당하거나, 이에 포함되거나 이를 포함하는 디바이스일 수 있다. 예를 들면, 네트워크 디바이스는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지에 해당하거나, 또는 브릿지에 포함되거나 브릿지를 포함하는 디바이스(또는 시스템)일 수도 있다. 일 실시예에서, 네트워크 디바이스는 디바이스(또는 네트워크)에 대한 연결 기능을 수행할 수 있다. 일 실시예에서, 네트워크 디바이스는 차량 내 네트워크를 구성하는 디바이스일 수 있다. 본 명세서에서, 네트워크 디바이스는 브릿지 디바이스로 지칭될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 나타낸다. 구체적으로, 도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 OSI 7 계층(Open System Interconnection 7 Layer) 모델과 비교하여 도시한 도면이다. 도 1의 네트워크 모델은 예를 들면, IEEE802를 따르는 네트워크 내의 스테이션(예컨대, 브릿지 또는 엔드 스테이션)에 대한 레퍼런스 아키텍쳐를 나타낸다.
도 1의 왼쪽에 도시된, OSI 7 계층 모델은 ISO (International Standard Organization)에서 제시한 표준화된 네트워크 구조에 대한 기본 모델(또는 참조 모델)로서, 네트워크 통신의 접속에서부터 완료까지의 과정을 7계층으로 구분하여 정의하고 있다. 이는 현재 다른 네트워크 통신 규약의 지침이 되고 있으나, 실제 반드시 준수해야 하는 산업 표준에 해당하지는 않는다. 이러한 OSI 7 계층 모델에서 각 계층의 기능에 대하여 하위 계층에서 상위 계층으로 순차적으로 개략적으로 설명하면 다음과 같다.
우선, 물리(physical) 계층은 네트워크 데이터가 전송될 때 사용되는 물리적 매개체로서, 연결을 설정하고 종료하며, 공유된 통신 자원을 제공하고 아날로그 신호를 디지털 신호로 또는 디지털 신호를 아날로그 신호로 바꾸는 기능을 수행한다. 물리 계층은 제1 계층(layer 1)으로 지칭될 수도 있다.
데이터 링크(data link) 계층은 물리적인 네트워크 사이의 데이터 전송 기능을 수행한다. 이러한 데이터 링크 계층의 주요 목적 중 하나는 물리적인 장비를 식별하는 데 사용되는 주소 지정 체계와 데이터가 변조되지 않았음을 보장하기 위한 오류 확인을 제공하는 것이다. 데이터 링크 계층은 제2 계층(layer 1)으로 지칭될 수 있다.
네트워크(network) 계층은 물리적인 네트워크 사이의 라우팅 기능을 수행하며, 라우터(router)가 이 계층에서 동작한다. 또한, 네트워크 계층은 네트워크 호스트의 논리적인 주소(예컨대, IP주소)를 관리하고 패킷을 분할해 프로토콜을 식별하는 기능, 오류 탐지와 같은 기능 등을 수행할 수 있다. 네트워크 계층은 제3 계층(layer 3)으로 지칭될 수 있다.
전송(transport) 계층은 연결 지향적인 프로토콜과 비연결 지향적인 프로토콜을 제공하며, 방화벽과 프록시 서버가 이 계층에서 동작한다. 이러한 전송 계층의 주요한 목적 중 하나는 하위 계층에 신뢰성 있는 데이터를 전송할 수 있도록 하는 것이다. 즉, 지점과 지점 간의 오류가 없음을 보장해 주는 것을 주요 목적으로 한다. 전송 계층은 제4 계층(layer 4)으로 지칭될 수 있다.
세션(Session) 계층은 두 대의 컴퓨터 사이의 세션이나 대화를 관리하는 기능을 수행한다. 이러한 세션 계층은 모든 통신 장비를 연결하고 관리하며 종료키는 기능, 또한 순간적으로 연결이 끊어지는 것을 막고 호스트 사이의 연결을 적절하게 종료시키기 위한 기능과 연결이 단방향인지 양방향인지에 식별하는 기능 등을 담당한다. 세션 계층은 제5 계층(layer 5)으로 지칭될 수 있다.
표현(Presentation) 계층은 상위 응용 계층으로부터 전송받거나 전달되는 데이터의 인코딩과 디코딩 기능을 수행한다. 또한, 표현(Presentation) 계층은 안전하게 데이터를 사용하기 위해 몇 가지 암호화와 복호화 포맷을 포함할 수 있다. 표현 계층은 제6 계층(layer 6)으로 지칭될 수 있다.
응용(Application) 계층은 사용자에게 네트워크 자원에 대한 접근 기능을 제공한다. 이러한 응용 계층은 네트워크 활동들에 대한 모든 기본적인 인터페이스를 제공하며, 전형적으로 사용자에게 보여지는 유일한 계층에 해당한다. 응용 계층은 제7 계층(layer 7)으로 지칭될 수 있다.
이와 같이 네트워크 구조의 각 계층을 분리하는 경우, 각 계층에서 동작하는 프로토콜이 계층별로 독립적이기 때문에 설계 및 분석이 용이하다는 이점이 있다. 한편, 이러한 OSI 7 계층 모델을 따르는 네트워크 시스템이라고 하더라도, 시스템이 동작하기 위하여 상술한 모든 계층을 포함하여야 하는 것은 아니고, 일부 계층이 생략되거나 변경될 수 있다.
도 1의 가운데 및 오른쪽은 본 발명의 일 실시예에 따른 네트워크 모델(이하 “네트워크 모델”)을 나타낸다. 상술한 바와 같이, 네트워크 모델은 IEEE802 (Institute of Electrical and Electronics Engineers)에서 정의하고 있는 표준화된 네트워크의 네트워크 모델일 수 있다. IEEE802 네트워크 모델은 상술한 OSI 7 계층 모델로부터 유래된 네트워크 모델로서, 예컨대, IEEE802 표준에 특정된 MAC(Media Access Control) 프로토콜을 사용하는 하나 이상의 상호연결된 네트워크로 구성된 네트워크의 모델일 수 있다. 이러한 IEEE802 네트워크 모델은 OSI 7 계층 모델의 하위 2 개의 계층, 즉, 피지컬 계층 및 데이터 링크 계층을 주로 강조한다. 이하에서는, 네트워크 모델이 IEEE802 네트워크 모델인 경우를 중심으로 네트워크 모델의 각 계층에 대하여 설명한다.
도 1의 가운데 및 오른쪽에 도시된 것처럼, 네트워크 모델은 OSI 7 계층 모델의 물리 계층에 대응되는 물리 계층, 데이터 링크 계층에 대응되는 데이터 링크 계층 및 네트워크 계층부터 최상위 계층인 응용 계층까지의 계층들에 대응되는 계층을 포함할 수 있다. 여기서, OSI 7 계층 모델의 네트워크 계층부터 최상위 계층인 응용 계층까지의 계층들에 대응되는 계층은 상위 계층(또는, 상위 계층 프로토콜)로 통칭될 수 있다. 대응되는 각 계층들은 해당 표준에서 특별히 규정하고 있는 부분을 제외하고는 동일 또는 유사한 기능을 수행할 수 있다.
실시예로서, 네트워크 모델의 데이터 링크 계층은 LLC(Logical Link Control) 부계층(sublayer)과 MAC(Media Access Control) 부계층(sublayer)으로 세분화될 수 있다. 실시예에 따라서는, MAC 부계층이 물리 계층의 일부를 포함할 수 있다.
LLC 부계층은 MAC 부계층과 상위 계층간의 연결 기능을 수행하며, 다양한 MAC 부계층의 토폴로지 방식들 간의 차이를 보완해 주는 역할을 수행할 수 있다. 즉, LLC 부계층은 통신 망의 MAC 토플로지(topology) 방식에 관계 없이 데이터의 전송이 가능하도록 하는 역할을 수행할 수 있다.
MAC 부계층은 물리 계층과 상위 계층인 LLC 부계층과의 연결 기능을 수행하며, 스테이션들 간에 프레임-기반 데이터 전달을 제공하기 위한 기능을 수행할 수 있다. 또한, MAC 부계층은 복수의 스테이션(station)이 제한된 용량의 전송 매체를 사용할 때 상호 충돌을 방지하게 함으로써 신뢰성 높은 통신을 제공하도록 한다. 이러한 MAC 부계층의 토플로지 방식(또는 매체 접근(media access) 방식)은, 예컨대, 토큰 버스(token bus), 토큰 링(token ring), CSMA/CD와 같은 방식을 포함할 수 있다. MAC 부계층의 다른 기능으로는 브릿지와 같은 상호연결 장치와 엔드 스테이션 간의 플로우 제어(flow control) 기능과 목적지 주소에 따라 프레임들을 포워딩하는 기능이 포함될 수 있다.
도 1의 가운데 도시된 것처럼, 수신측 스테이션에서 데이터를 전송할 때에는 최상위 계층에서 최하위 계층인 물리 계층까지, 각 계층을 차례로 내려오며 데이터를 처리할 수 있다. 이때, 하위 계층으로 데이터가 전달되는 과정에서 캡슐화(encapsulation)가 수행되는데, 일반적으로 각 계층은 상위 계층에서 전달받은 데이터에 특정 정보가 포함된 헤더(header) 및/또는 테일(tail)을 추가한 뒤 하위 계층으로 전달할 수 있다. 이렇게 전달된 데이터는 물리 계층 처리를 통해 송신측 스테이션으로 전송될 수 있다.
도 1의 오른쪽에 도시된 것처럼, 송신측 스테이션에서 데이터를 수신할 때에는 최하위 계층인 물리 계층에서 최상위 계층까지, 각 계층을 차례로 올라가며 데이터를 처리할 수 있다. 이때, 상위 계층으로 데이터가 전달되는 과정에서 디캡슐화(decapsulation)가 수행되는데, 일반적으로 각 계층은 하위 계층에서 전달받은 데이터에서 헤더와 테일을 분석하고 처리하며, 헤더와 테일이 제거된 데이터를 상위 계층으로 전달할 수 있다. 이러한 방식으로 각 계층에서 데이터를 처리하는 경우, 최종 응용 계층은 최초 생성된 원본 데이터만을 전달받을 수 있다. 이러한 각 계층간 데이터 처리과정은 도 3을 참조하여 이하에서 상세히 설명한다.
본 명세서에서는, 상술한 네트워크 모델의 계층들 중 데이터 링크 계층을 중심으로 본 발명의 다양한 실시예들을 설명한다. 예를 들면, IEEE 802 네트워크의 데이터 링크 계층의 기능의 전부 또는 일부를 수행하는 브릿지 네트워크(bridged network) 내의 브릿지(bridge)에 대하여 설명한다.
본 명세서에서, 브릿지 네트워크는 브릿지에 의해 상호연결된 네트워크들의 결합(concatenation)을 의미하고, 브릿지는 브릿지 네트워크에서 네트워크들을 연결하는 장치(또는 스테이션)를 의미한다. 예를 들면, 브릿지 네트워크는 브릿지에 의해 상호연결된 개별 IEEE 802 LAN들의 결합일 수 있고, 브릿지는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN(Virtual LAN) 브릿지일 수 있다. 이러한 MAC 브릿지 및 VLAN 브릿지에 대하여는 도 5를 참조하여 이하에서 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 브릿지 네트워크를 나타낸다. 구체적으로, 도 2는 도 1의 네트워크 모델의 데이터 링크 계층의 전부 또는 일부 기능을 수행하는 브릿지를 포함하는 브릿지 네트워크(Bridged Network)의 물리적 토폴로지를 나타낸다. 도 2의 실시예에서, 브릿지 네트워크는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지를 포함하는 네트워크일 수 있다.
도 2에 도시된 것처럼, 브릿지 네트워크는 LAN들 및 브릿지들을 포함할 수 있다. 브릿지는 둘 이상의 브릿지 포트를 포함할 수 있다. 각 브릿지 포트는 LAN를 브릿지에 연결(attach)시키고, 데이터의 프레임(예컨대, MAC 프레임)들에 대한 양방향 연결성(bidirectional connectivity)을 제공할 수 있다. 즉, 각 브릿지는 브릿지 포트를 통해 프레임들을 전달함으로써 LAN과 LAN 사이를 연결할 수 있다. 각 LAN은 브릿지에 의해 다른 모든 LAN들과 연결되거나, 또는 영 또는 이상의 다른 LAN들과 브릿지들과 연결될 수 있다.
실시예로서, 브릿지 네트워크는 VLAN 브릿지를 포함하는 가상 브릿지 네트워크(Virtual Bridged Network)일 수 있다. 여기서, 가상 브릿지 네트워크는 상술한 IEEE802.1Q에 따르는 VLAN 브릿지를 포함하는 브릿지들에 의해 상호연결된 개별 IEEE LAN들의 결합인 브릿지 네트워크일 수 있다. 실시예로서, 가상 브릿지 네트워크는 전송할 프레임 내의 VLAN 식별자(ID)를 이용하여 여래 개의 VLAN을 구성할 수 있다. 본 명세서에서, 가상 브릿지 네트워크는 VLAN 브릿지 네트워크 또는 VLAN 네트워크로 지칭될 수도 있다.
브릿지 네트워크가 가상 브릿지 네트워크(Virtual Bridged Network)인 경우, VLAN 브릿지는 하나의 브릿지로 다수의 상이한 VLAN(또는 LAN)을 연결할 수 있다. 다만, 이 경우에도, 동일한 VLAN 사이에서만 VLAN 브릿지를 통한 데이터의 송수신이 가능하며, 상이한 VLAN으로 데이터를 전송하려는 경우에는 상위 계층에서 동작하는 라우터를 이용하여야 한다. 일 실시예에서, 개별 VLAN이 동일한지 여부는 각 VLAN에 할당된 VLAN 식별 정보에 의해 식별될 수 있다. 예를 들면, VLAN 브릿지는 입력된 데이터 프레임의 VLAN 태그에 포함된 VLAN ID 정보(또는 필드)와 같은 VLAN 식별 정보를 이용하여 상호연결된 개별 VLAN이 동일한지 여부를 식별할 수 있고, 동일한 VLAN 사이에서만 데이터가 교환되게 할 수 있다. 이러한 브릿지 네트워크 및 개별 브릿지의 구성과 동작 원리에 대해서는 도 5를 참조하여 설명한다.
이하에서는 브릿지 및 브릿지 네트워크가 주로 IEEE 802.1Q에 따르는 VLAN 브릿지 및 VLAN 브릿지 네트워크인 경우를 예로들어 본 발명의 실시예들을 주로 설명한다. 다만, 이는 설명의 편의를 위한 예시에 불과하고, 동일하거나 유사한 설명이 VLAN에 국한된 경우를 제외하고는 IEEE 802.1에 따르는 다른 브릿지(예컨대, MAC 브릿지) 및 브릿지 네트워크에도 적용될 수 있다.
도 3은 도 1의 네트워크 모델에서 각 계층간 데이터를 전달하는 방법을 나타낸다. 특히, 도 3은 도 1의 네트워크 모델의 MAC 부계층(또는 MAC 계층)에서 상위 계층으로부터 전달된 데이터를 하위 계층으로 전달하는 방법을 나타낸다.
계층간 데이터를 교환하는 경우, 필요한 정보를 추가하거나 더 이상 필요 없는 정보를 제거할 수 있는데, 이러한 과정을 캡슐화(encapsulation)/디캡슐화(decapsulation)라고 한다. 예를 들면, 송신 측 스테이션에서 데이터(또는 정보)가 상위 계층에서 하위 계층으로 내려올 때 캡슐화가 이루어지며, 수신 측 스테이션에서 데이터(또는 정보)가 하위 계층에서 상위 계층으로 올라갈 때 디캡슐화가 이루어질 수 있다.
도 3의 상단에서처럼, 송신 측에서, 스테이션은 각 계층에서 해당 계층의 프로토콜에 기초하여 SDU(Service Data Unit)에 필요한 정보를 추가하는 캡슐화 과정을 수행함으로써, 하위 계층으로 전송 가능한 데이터 형태인 PDU(Protocol Data Unit)를 생성할 수 있다. 여기서, SDU는 계층 또는 부계층 사이에 전달되는 정보를 의미한다. 이와 반대로, 수신 측에서, 스테이션은 각 계층에서 해당 계층의 프로토콜에 기초하여 PDU로부터 필요한 정보를 획득하는 디캡슐화 과정을 수행함으로써, 상위 계층으로 전송 가능한 데이터 형태인 SDU를 생성할 수 있다.
실시예로서, 계층 N(Layer N)이 도 1의 네트워크 모델의 MAC 부계층인 경우, 스테이션은 계층 N에서 상위 계층인 LLC 부계층(Layer N-1)으로부터 전달받은 SDU(L-N SDU)에 대한 캡슐화를 수행하여, PDU(L-N PDU)를 생성할 수 있고, 이를 계층 하위 계층인 물리 계층(Layer N+1)으로 전달할 수 있다. 계층 N에서 생성된 PDU(L-N PDU)는 도 3의 하단과 같은 프레임 포맷를 가질 수 있다. 즉, 도 1의 네트워크 모델(예컨대, 이더넷)의 MAC 부계층의 PDU는 도 3의 하단과 같은 프레임 포맷을 가질 수 있다. 본 명세서에서, 이러한 L-N PDU는 이더넷 MAC 계층의 PDU, MAC PDU 또는 MAC 프레임으로 지칭될 수도 있고, L-N PDU의 프레임 포맷은 이더넷 프레임 포맷 또는 MAC 프레임 포맷으로 지칭될 수도 있다.
도 3의 하단에 도시된 것처럼, MAC PDU는 목적지 주소(Destination Address) 필드, 송신지 주소(Source Address) 필드, 타입(Type) 필드, 길이(Length) 필드, 데이터(Data) 필드 및/또는 FCS(Frame Check Sequence) 필드를 포함할 수 있다. 본 명세에서, 데이터 필드를 제외한, 각 필드들은 제어 필드로 지칭될 수도 있다.
목적지 주소 필드는 MAC의 목적지 주소 정보를 포함하고, 송신지 주소 필드는 MAC의 송신지 주소 정보를 포함한다. 본 명세서에서, 목적지 주소 필드는 목적지 필드로 지칭될 수도 있고, 송신지 주소 필드는 송신지 필드 또는 소스 필드로 지칭될 수도 있다.
타입 필드는 상위 프로토콜의 타입 정보를 포함한다. 예를 들면, 타입 필드는 LLC 부계층(또는 계층)의 프로토콜의 타입 정보를 제공할 수 있다. 길이 필드는 데이터 필드의 길이에 대한 정보를 포함한다. 실시예로서, 길이 필드는 데이터 필드 내 데이터의 길이를 옥텟(octet)으로 표시할 수 있다. 일 실시예에서, 타입 필드 및 길이 필드는 하나의 필드(예컨대, 타입/길이 필드)로 구성될 수 있다.
데이터 필드는 상위 계층에서 전달 받은 데이터를 포함한다. 예를 들면, 데이터 필드는 LLC 부계층(또는 계층)에서 전달 받은 SDU를 포함할 수 있다. FCS 필드는 에러 검출을 위한 정보를 포함하는 필드로서, 수신 측에서의 에러 검출을 위해 프레임의 마지막 부분에 삽입될 수 있다. 본 명세서에, 데이터 필드는 페이로드로 지칭될 수도 있다.
실시예로서, MAC PDU는 VLAN 태그 필드를 더 포함할 수 있다. 예를 들면, 브릿지 네트워크가 VLAN 브릿지를 포함하는 VLAN 브릿지 네트워크인 경우, MAC PDU는 VLAN 태그 필드를 더 포함할 수 있다.
VLAN 태그 필드는 선택적인(optional) 태그로서, VLAN의 지원 여부에 따라 그 존재 여부가 결정된다. 실시예로서, VLAN 태그 필드는 TPID(Tag protocol Identifier) 필드, PCP(Priority Code Point) 필드, DEI(Drop Eligible Indicator) 필드 및/또는 VLAN ID(VLAN Identifier) 필드를 포함할 수 있다. 실시예로서, VLAN 태그 필드는 타입/길이 필드의 앞에 위치되거나, 타입/길이 필드 내에 포함될 수 있으나, 이에 한정되지 않는다.
TPID 필드는 VLAN 태그된 프레임의 프로토콜 ID 정보를 포함한다. 예를 들면, 해당 프레임이 VLAN 태그된 이더넷 프레임 (또는 MAC 프레임)인 경우, TPID는 고정된 값(예컨대, costomer network의 경우, 0x8100)을 가질 수 있다. 이러한 고정된 값을 갖는 TPID 필드의 존재 여부에 따라, 해당 프레임이 VLAN 태그를 지원하는지 여부가 결정될 수 있다. 실시예로서, TPID 필드는 VLAN 태그 필드 내에서 맨 앞쪽에 위치될 수 있으나, 이에 한정되지 않는다.
PCP 필드는 해당 프레임의 우선순위에 대한 정보를 포함할 수 있고, 이 우선순위 정보는 트래픽 클래스와 연관(또는 맵핑)될 수 있다. 실시예로서, PCP 필드는 3 비트의 필드로 구성될 수 있고, 이를 통해 8개의 프레임의 우선순위를 표현할 수 있다. 실시예로서, 브릿지의 각 브릿지 포트는 다수 개(예컨대, 8 개)의 아웃바운드 큐(outbound queue)를 포함할 수 있다. 여기서, 아웃바운드 큐는 브릿지의 출력 포트로부터 데이터 및 데이터 프레임을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 아웃바운드 큐는 트래픽 클래스와 일대일로 맵핑될 수 있다. 따라서, PCP 필드의 값은 해당 프레임이 다수 개의 아웃바운드 큐 중 어느 큐에 저장되어야 하는지를 결정하는데 사용될 수 있다. 이에 대하여는 도 4를 참조하여 이하에서 상세히 설명한다.
DEI 필드는 미리 설정된 조건 만족 시, 해당 프레임이 제거되어도 되는지 여부를 나타내는 정보를 포함한다. 예를 들면, DEI 필드는 데이터의 양이 증가하여 혼잡(congestion) 상태가 되었을 때, 현재 프레임이 제거되어도 되는지 여부를 나타내는 정보를 포함할 수 있다.
VLAN ID 필드는 해당 프레임이 속한 VLAN의 ID를 나타낸다. 이 VLAN ID 필드를 이용하여, VLAN 브릿지 네트워크에서 동일한 VLAN ID를 갖는 디바이스 간에만 데이터의 전송이 가능하다. 본 명세서에서, VLAN ID는 VID로 지칭될 수도 있다.
일 실시예에서, 목적지 주소 필드의 값과 VLAN ID 필드의 값은 브릿지의 브릿지 포트(예컨대, 출력 브릿지 포트)를 결정하기 위해 사용될 수 있고, PCP 필드의 값은 결정된 브릿지 포트에서 어떤 큐(예컨대, 아웃바운드 큐)에 데이터 프레임이 저장될 지를 결정하기 위해 사용될 수 있다. 또한, PCP 필드와 DEI 필드는 QoS (Quality of Service)를 결정하는 요소가 될 수 있다.
상술한 실시예에서는, MAC PDU가 VLAN 태그 필드를 포함하는 실시예에 대하여만 설명하였으나, 실시예에 따라서는, MAC PDU가 전송되는 네트워크의 종류(Provider network, backbone network, customer network 등)에 따라 필요한 태그 필드를 VLAN 태그 필드와 함께 또는 VLAN 태그 필드를 대체하여 포함할 수 있다.
수신측에서, 스테이션은 계층 N(Layer N)에서 상술한 필드들을 포함하는 PDU(L-N PDU)를 하위 계층인 물리 계층(Layer N+1)으로부터 전달받고, 전달받은 PDU에 대한 디캡슐화를 수행하여, 다양한 정보를 획득하고, SDU(L-N SDU)를 생성할 수 있고, 이를 상위 계층인 LLC 부계층(Layer N-1)으로 전달할 수 있다. 또한, 스테이션은 획득한 정보에 기초하여 해당 계층에서 수행되는 다양한 동작을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타낸다. 도 4의 실시예에서, 가로 축은 이용가능한 트래픽 클래스의 수를 나타내고, 세로축은 우선순위(priority)를 나타낸다. 도 4의 실시예에서 제시되는 우선순위와 트래픽 클래스 간의 맵핑 관계는 예시적인 맵핑 관계 중 하나이고, 네트워크의 사용자에 의해 임의로 변경될 수 있다. 도 4의 실시예와 같은 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타내는 테이블은 우선순위-클래스 맵핑 테이블로 지칭될 수 있다. 실시예로서, 브릿지는 브릿지 포트 별로 우선순위-클래스 맵핑 테이블을 가질 수 있다.
본 명세서에서, 트래픽 클래스는 프레임의 전송을 촉진시키기(expedite) 위해 사용되는 분류(classification)를 말한다. 또한, 아웃바운드 큐는 브릿지의 출력 포트로부터 데이터 및 데이터 프레임을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 또한, 프레임(또는 데이터 프레임)은 전송되는 데이터의 단위를 말한다. 본 명세서에서, 큐는 버퍼로 지칭될 수도 있다.
상술한 바와 같이, PCP 필드의 값은 해당 프레임의 우선순위를 나타내고, 이 값은 브릿지의 출력 포트의 각 큐에 대응되는 트래픽 클래스 값들과 연관(또는 맵핑)될 수 있다. 따라서, PCP 필드의 값은 해당 프레임이 출력 포트의 큐들 중 어느 큐에 저장되어야 하는지 결정하기 위해 사용될 수 있다. 예를 들면, 브릿지는 수신된 프레임 내의 PCP 필드로부터 우선순위 정보를 획득하고, 우선순위-클래스 맵핑 테이블을 참조하여 해당 우선순위와 맵핑된 트래픽 클래스를 확인하고, 해당 트래픽 클래스와 연관된 큐에 해당 프레임을 저장할 수 있다.
브릿지의 입력 포트로 수신된 데이터의 프레임은 목적지를 정확히 알고 있다면 원하는 출력 포트로 바로 전달될 수 있으나, 그렇지 않다면, 입력 포트를 제외한 다른 모든 포트로 전달될 수 있다. 이렇게 출력 포트로 전달된 프레임은 출력 포트 내의 큐들 중 어느 큐에 저장될지 결정되어야 하는데, 이때, PCP 필드의 값과 연관된 트래픽 클래스의 값이 사용될 수 있다. 이를 위해, 예컨대, 도 4와 같은 우선순위-클래스 맵핑 테이블이 미리 설정될 필요가 있다.
상술한 바와 같이, PCP 필드는 3 비트의 필드로 구성되므로, 브릿지에 입력되는 각 프레임은 8 가지의 우선순위 중 한 가지를 가질 수 있다. 또한, 각 브릿지 포트는 1 에서 최대 8 개까지의 큐(또는 아웃바운드 큐)를 가질 수 있고, 각 아웃바운드 큐는 할당된 트래픽 클래스와 1 대 1로 맵핑될 수 있다. 이 경우, 트래픽 클래스의 값은 0 에서 N-1일 수 있다. 여기서, N은 해당 포트의 아웃바운드 큐의 수를 나타낸다. 예를 들면, 브릿지 포트에서 사용 가능한 큐가 3개인 경우, 해당 브릿지 포트에서 사용 가능한 트래픽 클래스의 값은 0, 1, 2 일 수 있다. 즉, 3 종류의 트래픽 클래스만이 사용될 수 있다. 이때, 낮은 트래픽 클래스 값에 대응되는 큐가 더 낮은 우선순위를 갖는 것으로 결정될 수 있다. 예를 들면, 트래픽 클래스가 0인 값에 대응되는 큐가 가장 낮은 우선순위를 가질 수 있다. 다만, 실시예에 따라서는, 트래픽 클래스 값이 높을수록 더 낮은 우선순위를 갖는 것으로 결정될 수도 있다.
도 4의 표에서 음영으로 표시된 부분은 이용가능한 트래픽 클래스의 수가 3인 경우의 트래픽 클래스와 우선순위 간의 맵핑 관계를 나타난대. 즉, 8 개의 코드 값(또는 우선순위 값)을 갖는 PCP와 3개의 클래스 값을 갖는 트래픽 클래스 간의 예시적인 맵핑 관계를 보여준다. 해당 부분을 참조하면, 우선순위 값(또는 PCP 코드 값)이 0 내지 3인 프레임은 트래픽 클래스 값으로 0을 가지므로, 이 프레임은 브릿지 포트의 1번 큐에 저장될 수 있다. 또한, 우선순위 값(또는 PCP 코드 값)이 4 내지 5인 프레임은 트래픽 클래스 값으로 1을 가지므로, 이 프레임은 브릿지 포트의 2번 큐에 저장될 수 있다. 또한, 우선순위 값(또는 PCP 코드 값)이 6 내지 7인 프레임은 트래픽 클래스 값으로 2 값을 가지므로, 이 프레임은 3번 큐에 저장될 수 있다. 이와 유사한 설명이, 이용가능한 트래픽 클래스의 수가 3이 아닌 다른 값을 갖는 경우, 트래픽 클래스와 우선순위 간의 맵핑 관계에도 적용될 수 있다.
실시예로서, 각 큐에 저장된 프레임은 서로 상이한 트래픽 타입을 가질 수 있다. 즉, 상이한 큐에 저장된 프레임은 상이한 트랙픽 타입을 가질 수 있다. 여기서, 트래픽 타입은 예컨대, BE(Best-effort) 트래픽, RC(Rate constrained) 트래픽 및 TT(Time trigger) 트래픽의 3개의 트래픽을 포함할 수 있다.
BE 트래픽(또는 프레임)은 낮은 우선순위를 갖는 트래픽이며, 타이밍이나 레이턴시가 보장되지 않는 타입일 수 있다. 즉, 다수의 큐에 저장된 프레임들이 하나의 출력 포트로 순차적으로 출력될 때, BE 트래픽은 컨제스쳔이 발생하는 경우에 시간 보장성 없이 늦게 전달되거나, 또는 전달이 되지 않을 수도 있다.
RC 트래픽(또는 프레임)은 프레임과 프레임 사이의 최소 시간 간격과 최대 프레임 크기를 이용하여 전송할 수 있는 대역폭을 보장 받을 수 있다. RC 트래픽의 경우, 보장된 대역폭 내에서는 전송 시간이 보장되며 컨제스쳔 발생시 프레임 손실없이 전송이 가능하다. 그러나, 보장되는 전체적인 전송 딜레이가 큰 편이기 때문에, RC 트래픽은 오디오와 비디오의 전송에는 적합하나 타임 센서티브한(time sensitive) 산업 제어(industrial control)나 자동차 관련 어플리케이션(application)에는 적합하지 않다.
TT 트래픽(또는 프레임)은 주어진 시간 구간내에서는 다른 프레임으로 인한 간섭(interference) 없이 바로 프레임이 전달되는 구조로서, 프레임 로스가 없고, 전달 시간이 빠른 트래픽 타입이다. TT 트래픽은 타임 센서티브에 관한 요구 사항이 높은 제어 신호 등에 적합할 수 있다. 예를 들면, TT 트래픽은 타임 센서티브한 산업 제어나 자동차 관련 어플리케이션(application)에 적합할 수 있다.
이러한 트래픽 타입을 상술한 도 4의 표에 음영 표시된 부분의 트래픽 클래스와 연관시키는 경우, 예컨대, 트래픽 클래스 0인 값을 갖는 프레임들이 저장되는 아웃바운드 큐는 BE 트래픽을 전달하기 위해 사용될 수 있고, 트래픽 클래스 1인 값을 갖는 프레임들이 저장되는 아웃바운드 큐는 RC 트래픽(예컨대, 오디오 또는 비디오와 관련된 프레임들의 트래픽)을 전달하기 위해 사용될 수 있고, 트래픽 클래스 2인 값을 갖는 프레임들이 저장되는 아웃바운드 큐는 TT 트래픽(예컨대, 자동차나 공장 자동화를 위한 제어 신호와 관련된 프레임들의 트래픽)을 전달하기 위해 사용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐를 나타낸다. 구체적으로, 도 5(a)는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐의 개념도이고, 도 5(b)는 브릿지 아키텍쳐의 제1 예이고, 도 5(c)는 브릿지 아키텍쳐의 제2 예이다. 실시예로서, 도 5의 브릿지 아키텍쳐는 IEEE802.1에 따르는 브릿지의 아키텍쳐일 수 있다. 예를 들면, 브릿지 아키텍쳐는 IEEE802.1D 또는 IEEE802.1Q에 따르는 MAC 브릿지 또는 VLAN 브릿지의 아키텍쳐일 수 있다.
도 5(a)를 참조하면, 브릿지는 적어도 하나의 브릿지 컴포넌트를 포함한다. 실시예로서, 브릿지는 적어도 두 개의 포트, MAC 릴레이 엔티티(또는 릴레이 엔티티) 및/또는 상위 레이어 엔티티들을 포함할 수 있다.
적어도 두 개의 브릿지 포트 중 LAN에서 데이터가 입력되는 포트를 인그레스 포트(ingress port)(또는 입력 포트)라고 하고, LAN으로 데이터가 출력되는 포트는 이그레스 포트(egress port)(또는 출력 포트)라고 한다. 실시예로서, 인그레스 포트는 필터링(filtering or drop), (언)태깅((un)tagging), VID 번역(VID translation) 및/또는 (디)캡슐화(de/en-capsulation) 등에 관련된 기능을 수행할 수 있다. 실시예로서, 이그레스 포트는 필터링, (언)태깅, VID 번역, (디)캡슐화, 메터링(metering), 큐잉(queuing), 전송 선택(transmission selection)등에 관련된 기능을 수행할 수 있다.
릴레이 엔티티는 브릿지의 포트들을 상호연결하는 엔티티를 말한다. 실시예로서, 릴레이 엔티티는 브릿지의 포트들 사이에서 프레임들을 전달(relaying)하는 기능, 프레임들을 필터링(filtering)하는 기능 및/또는 필터링 정보를 학습(learning)하는 기능을 수행할 수 있다. 본 명세서에서, 릴레이 엔티니는 MAC 릴레이 엔티티로 지칭될 수도 있다.
상위 계층 엔티티들은 데이터를 통신할 수 있는 네트워크 망을 결정하는 프로토콜들을 말한다. 이에 대하여는 도 6을 참조하여 이하에서 상세히 설명한다.
실시예로서, 상술한 브릿지 컴포넌트는 그 기능에 따라 제어 평면 또는 데이터 평면에 포함될 수 있다. 예를 들면, 상위 계층 엔티티들은 제어 평면에 포함될 수 있고, 브릿지 포트 및 릴레이 엔티티는 데이터 평면에 포함될 수 있다.
일 실시예에서, 외부 에이전트(External Agent)가 제어 평면에 더 포함될 수 있다. 여기서, 외부 에이전트는 상위 계층 엔티티들을 통해 이미 제공된 프로토콜 대신에 외부에서 제공되는 컨트롤을 말한다. 예를 들면, 외부 에이전트는 공지된 SDN(Software Defined Network) 컨트롤러일 수 있다. 이를 통해, 브릿지의 데이터 전달 및 동작이 소프트웨어 기반 컨트롤러에서 제어 관리될 수도 있다.
도 5(b)의 실시예의 브릿지 아키텍쳐는 예컨대, MAC 브릿지의 아키텍쳐일 수 있다. 실시예로서, MAC 브릿지는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지로서, VLAN 태깅(tagging)된 프레임을 인식(recognize)하지 않는 브릿지를 말한다. 즉, MAC 브릿지는 프레임에 포함된 VLAN 태그를 인식하지 못하는 브릿지를 말한다.
실시예로서, MAC 브릿지는 각 브릿지 포트에서 ISS(Internal Sublayer Service)를 지원하는 기능 및 각 브릿지 포트들 사이에 프레임들을 전달(relay)하는 기능을 제공하는 적어도 하나의 MAC 브릿지 컴포넌트를 포함할 수 있다. 예를 들면, 도 5(b)에서와 같이, MAC 브릿지는 상술한 기능을 수행하기 위하여, 적어도 두 개의 포트, 릴레이 엔티티 및/또는 상위 계층 엔티티들을 포함할 수 있다.
여기서, ISS는 MAC 부계층의 내부 계층에서 제공되는 서비스로서, 다수의 SAP(Service Access Point)들 사이에 데이터 전송 및 브릿지 포트 사이에 데이터 프레임의 전달이 가능하게 하는 등 MAC 서비스의 기본 기능을 제공한다.
일반적으로, 상위 계층이 하위 계층에 데이터를 호출하는 경우 또는 그 반대의 경우 SAP(Service Access Point)를 통해서 프리미티브(primitive)를 전달하거나, 프리미티브를 받는 방법으로 계층간 통신이 이루어 질 수 있다. 그리고, MAC 부계층을 포함하는 계층 구조에서, 각 계층은 매체 접근 방식(media access method)에 상관없이 독립적으로 동작할 수 있어야 한다. 이를 위해, 상술한 바와 같이, 어떤 방식의 매체 접근 방식으로 사용되더라도 MAC 부계층은 이를 처리할 수 있어야 하고, ISS는 이것이 가능하도록 SAP의 프리미티브를 정하는 역할을 수행한다. 실시예로서, ISS는 물리 계층에서 받은 파싱(parsing)된 데이터와 지역적으로 사용되는 데이터로 프리미티브를 구성할 수 있다.
일 실시예에서, ISS의 프리미티브는 목적지 주소(destination_address), 발신지 주소(source_address), MSDU(mac_service_data_unit), 우선순위(priority), DE(drop_eligible), FCS(frame_check_sequence), SAP 식별자(service_access_point_identifier) 및/또는 연결 식별자(connection_identifier)와 같은 파라미터들을 포함할 수 있다. 여기서, 목적지 주소, 발신지 주소, MSDU, 우선순위, DE, FCS 파라미터는 도 4를 참조하여 상술한 바와 같다. 또한, SAP 식별자는 릴레이 엔티티에서 사용되는 브릿지 포트의 ID를 나타내며, 연결 식별자는 MAC 부계층에서의 연결, 예를 들어, 데이터(또는 데이터 프레임) 전송을 위한 전송 연결과 같은 연결에 대한 식별(또는 구분)을 나타낸다. 이러한 연결 식별자는 SAP가 하나인 경우에 중요하며, 나머지 경우에는 null 값으로 사용될 수도 있다.
실시예로서, 목적지 주소, 발신지 주소, MSDU, 우선순위, DE, FCS 파라미터는 물리 계층에서 받은 프레임을 파싱함으로써 얻을 수 있는 파라미터이며, SAP 식별자 및 연결 식별자 파라미터는 내부적으로(또는 지역적으로) 사용되는 파라미터일 수 있다.
도 5(c)의 실시예의 브릿지 아키텍쳐는 예컨대, VLAN 브릿지의 아키텍쳐일 수 있다. 실시예로서, VLAN 브릿지는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지로서, VLAN 태그를 인식, 삽입 및 제거할 수 있는 브릿지를 말한다. 즉, VLAN 브릿지는 MAC 브릿지와는 달리, 프레임에 포함된 VLAN 태그를 인식하하는 브릿지를 말한다.
실시예로서, VLAN 브릿지는 각 브릿지 포트에서 EISS(Enhanced Internal Sublayer Service)를 지원하는 기능 및 각 브릿지 포트들 사이에 프레임들을 전달(relay)하는 기능을 제공하는 VLAN 브릿지 컴포넌트를 포함할 수 있다. 예를 들면, 도 5(b)에서와 같이, VLAN 브릿지는 상술한 기능을 수행하기 위하여, 적어도 두 개의 포트, 릴레이 엔티티 및/또는 상위 계층 엔티티들을 포함할 수 있다.
EISS는 MAC 부계층에서 제공되는 확장된 내부 계층 서비스로서, ISS에서제공되는 서비스보다 확장된 서비스, 예를 들면, VLAN 태그의 인식, 삽입 및 제거와 같은 서비스를 제공하기 위해, VLAN 브릿지의 동작에 필요한 요소들과 파라미터들을 더 포함할 수 있다. 실시예로서, EISS의 프리미티브는 상술한 ISS의 프리미티브 외에 VLAN 식별자(vlan_identifier), 플로우 해쉬(flow_hash) 및/또는 타임-투-얼라이브(time_to_alive)와 같은 파라미터를 더 포함할 수 있다.
여기서, VLAN 식별자 파라미터는 전송될 VLAN의 ID를 나타내며, 이는 물리 계층에서 받은 프레임을 통해 알 수 있는 값이다. 또한, 플로우 해쉬 파라미터는 포워딩 프로세스를 수행 할 때 포워딩이 가능한 여러 포트 중 어떤 포트를 사용할지 여부를 결정하기 위해 사용되는 파라미터를 말한다. 또한, 타임-투-얼라이브 파라미터는 프레임이 네트워크의 홉을 거치면서 얼마동안 살아 있을 것인지를 결정하기 위해 사용되는 파라미터를 말하고, 실시예로서, null 값이 해당 파라미터의 값으로서 할당될 수 있다.
도 6은 본 발명의 일 실시예에 따른 제어 평면의 상위 계층 엔티티들을 나타낸다. 구체적으로, 도 6은 도 5의 브릿지 아키텍쳐를 구성하는 제어 평면의 상위 계층 엔티티들을 나타낸다. 이하에서는 도 6을 참조하여, 제어 평면의 상위 계층 엔티티들과 데이터 평면의 계층 관계를 구체적으로 설명한다.
도 6을 참조하면, 제어 평면의 상위 계층 엔티티들은 물리적 네트워크 토플로지(Physical Network Topology), 활성 토플로지(Active Topology), VLAN 토폴로지(VLAN topology) 및/또는 스테이션 로케이션(Station Location)를 포함한다.
물리적 네트워크 토플로지는 도 2에서와 같이, LAN, 브릿지(Bridge), 브릿지 포트(Bridge Port)간의 물리적인 연결 구성을 나타낸다. 여기서, 브릿지 포트는 LAN과 브릿지를 연결하는 부분에 해당하며, 이를 통해 LAN과 브릿지 간 양방향 이더넷 프레임(또는 MAC 프레임)의 전송이 가능하다. 이러한 연결은 유선을 통해 이루어지며, 물리적 네트워크 토폴로지는 단지 물리적인 연결 관계만을 나타낸다.
활성 토플로지는 네트워크 내에서 루프(loop)가 생기지 않도록, 즉, 네트워크가 루프-프리(loop-free)상태인 활성 네트워크가 되도록 하는데, 이는 특정 브릿지 포트의 상태를 활성화시키거나 비활성화(또는 블록)시킴으로써 이루어질 수 있다. 브릿지 네트워크 내에 루프가 생기면, 동일한 데이터가 브릿지 내에서 반복하여 복사되어 브릿지의 기능이 저하되며, 브릿지 내의 MAC 주소 테이블이 불안정하게 된다. 또한, 브로드캐스트(broadcast) 기능으로 데이터를 전송할 때, 루프가 생긴다면 네트워크 내에서 계속해서 데이터가 브로드캐스팅되기 때문에, 브로드캐스트 스톰(broadcast storm)이라는 현상으로 네트워크가 마비될 수 있다. 따라서, 브릿지 네트워크에서는 활성 토폴로지를 통해 루프가 생기지 않도록 브릿지에 연결된 스테이션들 간의 상호 연결 관계를 활성화시키며, 이를 위한 다양한 알고리즘이 존재하여야 한다.
활성 토폴로지를 통해 루프-프리 상태인 활성 네트워크가 형성된 경우, VLAN 토폴로지는 상술한 VID를 이용하여, 동일한 VID을 갖는 VLAN 사이에 데이터를 전송할 수 있는 프로토콜을 구성할 수 있다. 이렇게 VLAN 토폴로지를 구성한 후에는 스테이션 로케이션을 통해 VLAN에 속하는 개별적인 MAC 주소를 저장하여 스테이션 간의 통신이 가능한 경로가 형성될 수 있다. 이와 같이, 각 스테이션까지의 경로가 결정되면, 원하는 데이터가 브릿지의 릴레이를 이용하여 전달될 수 있다.
상술한 토플로지가 형성되는 과정은 각 과정을 단계적으로 형성하는 개별 프로토콜이 존재할 수도 있으나, 실시예에 따라서는 활성 토플로지에서부터 스테이션 로케이션까지 한번에 구성하는 단일의 프로토콜이 존재할 수도 있다.
앞서 설명한 단계가 브릿지 네트워크를 구성하는 것에 관한 반면, 브릿지의 릴레이는 데이터 평면에 의한 브릿지 자체의 동작을 나타낸다. 브릿지 릴레이에서는 브릿지의 입력 포트로 들어온 데이터가 출력 포트로 포워딩되고, 출력 포트를 통해서 전송되는데, 이때 브릿지 내에서 여러 단계를 거치게 된다. 이에 대한 자세한 내용은 이후 설명된다.
한편, 활성 토플로지가 형성된 후 브릿지 포트와 이웃 브릿지의 포트간의 전송 능력을 측정하여 스트림 예약(stream reservation)이 가능할 수 있다. 이 동작에 관하여는 도 8 및 9를 참조하여 이하에서 상세히 설명한다.
도 7은 본 발명의 일 실시에에 따른 브릿지 네트워크의 시간 동기화 방법을 나타낸다.
도 6을 참조하여 설명한 바와 같이, 임의의 단일 또는 복수의 프로토콜을 사용하여 활성 토폴로지가 형성된 경우, 연결된 브릿지들 사이에 시간 동기를 맞추는 동작이 수행될 수 있다. 시간 동기를 맞추는 이유는 네트워크 내의 브릿지들과 최종 디바이스인 엔드 포인트(end point) 간에 클럭 동기화를 맞추어 타임 센서티브한 프레임의 전송을 가능하게 하기 위해서이다. 이를 통해, 타임 센서티브한 네트워크의 구성이 가능하다. 실시예로서, 시간 동기화를 위한 기본 프로토콜로서 공지된 IEEE 1588 프로토콜이 사용될 수 있으나, 이에 한정되지는 않는다.
시간 동기화 과정에 대하여 간단히 설명하면, 네트워크 내의 브릿지들과 엔드 포인트(또는 스테이션)들은 GM(grandmaster) 클럭과 주기적으로 메시지를 교환하여 클럭 동기를 맞출 수 있다. 이를 통해, 네트워크 내의 GM 클럭을 제외한 모든 브릿지와 엔드 포인트들은 자신이 GM 클럭에 비해 어느 정도의 오프셋(offset)을 갖는지 알 수 있고, 이를 기반으로 시간 동기화가 가능하다. 이때, 실시예로서, 네트워크 내에 있는 여러 개의 클럭 중 가장 퀄리티가 좋은 클럭이 GM 클럭으로 선택될 수 있다.
일 실시예에서, GM 클럭은 미리 정해진 알고리즘, 예컨대, 전체 브릿지 네트워크에서 가장 퀄리티(quality)가 좋은 클럭을 찾는 알고리즘에 해당하는 BMCA(Best Master Clock Algorithm)알고리즘을 사용하여 결정될 수 있다. 즉, BMCA 알고리즘을 사용함으로써, 전체 브릿지 네트워크 내의 각 스테이션들(예컨대, 브릿지 및 엔드 스테이션)들에 포함된 클럭 중 하나의 클럭이 GM 클럭으로서 결정될 수 있다. 다른 실시예에서, GM 클럭은 사용자의 선택에 의해 결정될 수 있다. 즉, BMCA 알고리즘과 같은 알고리즘 사용 없이 사용자의 선택에 의해, 하나의 클럭이 GM 클럭으로서 결정될 수 있다.
도 7의 실시예에서, 브릿지 네트워크는 시간 동기화 시, 클럭의 리던던시(Redundancy)를 위해 두 개의 서로 다른 경로로 시간 동기를 맞출 수 있다. 이 경우, 하나의 GM 클럭에서 두 개의 서로 다른 경로로 시간 정보가 전달되므로, 그 중 하나의 경로가 어떤 이유로 활성화되지 못한다고 하더라도, 다른 경로를 통해 시간 동기를 신속하게 맞추는 것이 가능하다는 이점을 갖는다.
추가적인 또는 대체적인 실시예에서, 클럭의 리던던시를 위해 추가적인 클럭 소스를 설정하는 방법이 사용될 수 있다. 이 경우, 첫 번째 GM 클럭이 실패(fail)되면, 두 번째 클럭 소스가 활성화될 수 있다. 이를 통해, 첫 번째 GM 클럭이 동작하지 않는 경우, 다른 최선의 GM 클럭을 다시 찾는 시간의 필요 없이, 대기 중이던 미리 설정된 두 번째 클럭 소스가 GM 클럭으로서 선택되어 빠르게 시간 동기화를 수행할 수 있다는 이점을 갖는다.
상술한 도 7에 도시된 첫 번째 실시예가 리던던시 경로를 두어 리던던시를 확보하는 것이라면, 두 번째 실시예는 클럭 소스에 리던던시를 두는 방식에 해당한다. 두 실시예 모두 폴트 톨러런스(fault tolerance)를 위한 대비책일 수 있다.
도 8은 본 발명의 일 실시예에 따른 스트림 등록(stream registration)과 스트림 예약(stream reservation) 방법을 나타낸다. 본 명세서에서, 스트림은 토커(talker)로부터 하나 이상의 리스너(listener)로의 데이터의 단방향 흐름(unidirectional flow)를 의미한다. 여기서, 토커는 스트림의 소스 또는 생산자인 엔드 스테이션을 의미하고, 리스너는 스트림의 목적지, 수신자 또는 소비자인 엔드 스테이션을 의미한다.
실시예로서, 스트림 등록 및 예약은 상술한 제어 평면 중 상위 계층 엔티티에서 VLAN 토폴로지와 스테이션 로케이션에 속하는 동작일 수 있다. 이러한 스트림 등록 및 예약 과정에서는, 먼저 브릿지 네트워크를 통해 스트림을 보내려 하는 토커와 이를 받으려 하는 리스너 사이의 경로(route)가 설정되고, 이 경로 내에서 원하는 대역폭과 주어진 시간 레이턴시 내에 프레임을 전송할 수 있는지 여부가 계산될 수 있다. 주어진 조건이 만족된 경우, 이 경로를 통해 프레임이 전송될 수 있다. 이를 통해, 컨제스쳔 로스(congestion loss)없이 원하는 시간 바운더리 내에 프레임 전송이 가능하므로, QoS가 보장될 수 있다.
도 8의 실시예에서, ‘R’과 ‘D’는 브릿지 포트의 상태를 나타내며, ‘R’은 등록(Registration) 상태이고, ‘D’는 선언(Declaration) 상태를 나타낸다. 브릿지 포트의 상태가 등록 상태가 되면, 브릿지는 수신한 프레임을 자신을 제외한 다른 출력 포트로 전달하며, 프레임이 전달된 출력 포트는 선언 상태가 된다. 이러한 과정을 수행하면서, MAC 목적지 주소와 VLAN의 멤버쉽(membership)이 각 포트의 데이터 베이스에 등록될 수 있다.
스트림 등록을 위해, 도 8의 왼쪽에서처럼, 토커는 먼저 자신이 속한 브릿지 네트워크 전체에 “토커광고(talker advertise)” 메시지를 보낼 수 있다. 실시예로서, 토커광고 메시지는 송신지 MAC 주소, 목적지 MAC 주소, 스트림 ID, 데이터 레이트 및/또는 레이턴시 레벨에 대한 정보를 포함할 수 있다. 여기서, 스트림 ID는 소스 (또는 토커)에서 보내려 하는 스트림을 구별하기 위한 식별자를 의미한다.
실시예로서, 이 토커광고 메시지가 각 브릿지를 통과할 때마다 워스트 케이스 레이턴시(worst case latency)가 계산될 수 있다. 이렇게 토커광고 메시지가 전달되는 과정에서, 만일 리소스 확보가 가능하지 않다면, 해당 스테이션은 그 원인을 나타내는 코드가 포함되어 있는 “토커실패(talker failed)” 메시지를 리스너에게 전달할 수 있다.
만약 리소스 확보가 가능하고, 리스너가 토커광고 메시지를 받았다면, 리스너는 “리스너레디(listener ready)” 메시지를 토커에게 보낼 수 있다, 이 경우, 도 8의 오른쪽에서처럼, 토커에서 리스너로 토커광고 메시지가 전달 되었던 경로의 역방향으로 리스너레디 메시지가 전달될 수 있다. 리스너레디 메시지가 전달되면, 토커는 QoS가 보장되는 경로를 따라 스트림을 전송할 수 있다. 스트림 전송이 다 끝난 이후에는 등록해제(de-registering) 절차가 수행되어 예약한 대역폭과 경로가 해지될 수 있다.
만일 스테이션에 전달된 메시지에 포함된 축척된 최대 레이턴시(accumulated max latency), 즉, 워스트 케이스 레이턴시(worst case latency)가 리스너가 기대하는 QoS를 만족시키지 못한다면, 해당 스테이션은 “리스너 애스킹 실패(Listener asking fail)” 메시지를 토커로 전달할 수 있다. 여기서, 스테이션은 브릿지 또는 엔드 스테이션을 포함하는 개념일 수 있다.
도 9는 도 8의 스트림 등록 및 예약에 대한 아키텍쳐를 나타낸다. 구체적으로, 도 9는 도 5의 브릿지 아키텍쳐의 제어 평면에 의한 스트림 등록 및 예약을 위해 사용되는 프로토콜(스트림 등록 및 예약 프로토콜)을 나타낸다.
본 명세서에서, 스트림 등록 및 예약 절차는 사용자의 필요에 따라 수행 될 수 있으며, 이를 이용하면, 토커(talker)와 리스너(lisnter)간에 대역폭(bandwidth)을 최대 75%까지 할당 할 수 있다. 이렇게 할당된 경로 내에서는 해당 토커의 프레임이 우선권을 가지고 있으므로, 다른 프레임에 의하여 간섭을 적게 받을 수 있다. 따라서, 스트림 등록 및 예약 방법은 QoS를 보장 받기 원하며 적은 지연 시간을 요구하는 응용에 쓰일 수 있다. 예를 들면, 비디오와 오디오 간에 동기(sync)를 맞추고자 하는 경우, 스트림 등록 및 예약 방법을 사용하면 QoS를 보장받으면서 동기를 맞추는 것이 가능하다.
도 9를 참조하면, 스트림 등록 및 예약 프로토콜은 MRP(Multiple Registration Protocol), MSRP(Multiple Stream Registration Protocol), MVRP(Multiple VLAN Registration Protocol), MMRP(Multiple MAC Registration Protocol) 및 SRP(Stream Registration Protocol)를 포함한다. MSRP 프로토콜, MVRP 프로토콜 및 MMRP 프로토콜은 MRP 프로토콜의 어플리케이션에 해당하는 프로토콜이다.
SRP 프로토콜은 MSRP 프로토콜, MVRP 프로토콜 및 MMRP 프로토콜에 기반하여 동작하는 프로토콜이다. 실시예로서, 브릿지 네트워크 내의 스테이션은 도 9의 프로토콜의 전부 또는 일부의 기능을 사용하여 스트림 등록 및 예약 절차를 수행할 수 있다.
MRP(Multiple Registration Protocol) 프로토콜은 포트의 속성(attribute)을 선언하는 프로토콜을 말한다. MRP 프로토콜은 브릿지나 엔드 스테이션에서 MRP 프로토콜의 어플리케이션에 해당하는 프로토콜에 해당하는 MSRP, MVRP, MMRP 프로토콜 등을 이용하여 stream ID, VLAN ID, MAC 어드레스 등을 각 포트에 저장함으로써, 효율적으로 네트워크를 구성할 수 있게 하는 프로토콜이다.
MVRP 프로토콜은 브릿지 포트에 여러 개의 VLAN ID, 또는 VLAN 멤버십을 등록할 수 있게 하는 프로토콜이고, MMRP 프로토콜은 브릿지 포트에 여러 개의 MAC 어드레스를 등록할 수 있게 하는 프로토콜이다. 이를 통해, 브릿지 내에서 멀티캐스트(multicast)가 가능할 수 있다. MSRP 프로토콜은 스트림 등록을 위해, 도 8을 참조하여 설명한 토커가 토커광고 메시지를 전송하고, 스테이션이 리소스가 확보되지 못한 경우 토커실패 메시지를 전달하고, 리소스가 확보된 경우에는 리스너레디 메시지를 보내는 등의 모든 과정을 가능하게 하는 프로토콜이다.
실시예로서, MRP 프로토콜은 플루딩(flooding) 방식을 사용하며, 이 과정에서 MRPDU(Multiple Registration Protocol Data Unit)라는 메시지를 만들어서 주기적으로 다른 브릿지나 엔드 스테이션으로 전달할 수 있다. 여기서, 플루딩 방식은 각 스테이션이 입력 받은 데이터를 입력 포트를 제외한 모든 출력 포트로 전달하는 방식을 말한다. MRPDU는 상술한 제2 계층(layer2), 즉 데이터 링크 계층에서 사용되는 MAC PDU의 데이터 영역에 해당하는 메시지로서, 실제 브릿지 내에서 전송될 때에는 MRPDU에 송신지 어드레스, 목적지 어드레스, VLAN 태그 등이 덧붙여져서 전송될 수 있다.
예를 들면, 처음 네트워크가 시작되는 경우, 어떤 브릿지에 데이터가 전달되면 이 데이터를 어느 포트로 전달해야 목적지에 도착할 수 있는지에 대한 사전 정보가 없는 상태이다. 이 경우, MRPDU가 입력되면 브릿지는 MRPDU의 송신지 주소를 입력 포트에 저장하고, 입력 포트를 제외한 다른 모든 가능한 출력 포트로 MRPDU를 전달한다.
이렇게 주소 값이 입력 포트에 저장되면, 추후 해당 주소를 송신지 주소로 갖는 엔드 스테이션이 데이터를 전송하는 경우, 플루딩 할 필요 없이 브릿지의 포트에 저장된 주소 값을 참조하여 데이터를 전송 할 수 있다. 즉, 브릿지 포트 내에 어느 포트를 통하면 어떤 주소 값이 연결(또는 연관)되는지를 나타내는 경로 설정(routing)을 위한 테이블을 갖고 있는 경우, 데이터를 효율적으로 전송할 수 있다. 이러한 방식으로 브릿지의 각 포트가 해당 포트와 연관된 주소 값을 저장할 수 있게 하는 프로토콜이 MMRP 프로토콜이다. 마찬가지의 방식으로, 브릿지의 각 포트가 해당 포트와 연관된 VLAN ID를 저장할 수 있게 하는 프로토콜이 MVRP 프로토콜이며, 해당 포트와 연관된 Stream ID를 저장할 수 있게 하는 프로토콜이 MSRP 프로토콜이다.
MSRP 프로토콜은 시그널링 프로토콜이며 이를 수행하기 위해서 MSRPDU라는 데이터를 전송한다. 이를 이용하여 엔트 포인트 간에 네트워크 리소스를 예약하며, 토커와 리스너 간에 요구되는 QoS가 보장된 전송과 수신이 가능하게 한다.
하나의 포트를 통과해서 다음 브릿지나 엔드 스테이션으로 전달하는 주소값, VLAN ID, stream ID는 당연히 다수의 값을 가지고 있을 수 있으며 이 값을 이용하여 필터링을 수행하여 네트워크 내의 데이터를 전송하는 경우 네트워크를 효율적으로 사용할 수 있다. 또한 엔드 스테이션 간에 리소스를 예약하여 예약된 구간에서는 요구되는 레이턴시(QoS)를 만족시키는 전송도 가능하다. 이러한 것을 가능하게 해주는 프로토콜이 MMRP, MVRP, MSRP 프로토콜이다.
SRP 프로토콜은 이러한 MMRP, MVRP, MSRP 프로토콜에 기반하여 동작하되, MSRPDU에 SR class라는 필드를 두어 전송하는 스트림을 식별할 수 있게 하는 프로토콜이다. 즉, SRP 프로토콜은 MSRPDU 내에 SRclassID, SRclassPriority, SRclassVID와 같은 필드를 두어 예약된 경로를 통과할 스트림에 대한 특징을 구체화 하는 것을 가능하게 할 수 있다. 이때, SRclassID 필드는 토커에서 전달되는 여러 스트림 중 해당 스트림을 식별하기 위한 것이며, SRclassPriority 필드는 SR 트래픽 클래스에 우선순위를 부여하기 위한 것이고, SRclassVID 필드는 SR 트래픽 클래스에 대한 VLAN을 식별하기 위한 것이다.
도 10은 본 발명의 일 실시예에 따른 브릿지 포워딩 프로세스를 나타낸다. 실시예로서, 도 10은 도 5의 브릿지 아키텍쳐의 데이터 평면에 의해 수행되는 브릿지의 포워딩 프로세스를 나타낸다. 본 명세서에서, 브릿지 포워딩 프로세스는 수신 브릿지 포트(수신 포트)에서 수신한 데이터 프레임을 출력 브릿지 포트(출력 포트)로 전달(Relay)하는데 필요한 과정을 나타낸다.
도 10을 참조하면, 우선 수신 포트에 데이터 프레임이 수신된 경우, 액티브 토폴로지 인포스먼트(active topology enforcement)가 수행된다. 이때, 브릿지는 제어 평면의 액티브 토폴로지 과정을 통해 여러 포트 상태를 가질 수 있다. 실시예로서, 포트 상태는 제거 상태(discarding state), 학습 상태(learning state) 및/또는 포워딩 상태(forwarding state)를 포함할 수 있다.
제거 상태는 브릿지 포트가 비활성화(disabled) 또는 블록(blocking)되어 있는 상태를 말하며, 제거 상태에서 브릿지는 입력 받은 데이터를 포워딩하지 않는다. 학습 상태는 입력 받은 데이터를 전달하는 것이 적합한지 여부를 학습하는 상태를 말하며, 학습 상태에서 브릿지는 저장된 소스 어드레스(또는 송신지 어드레스)에 기초하여 현재 포트에서 데이터 프레임을 입력받아 전달하는 것이 적합한지 여부를 판단할 수 있다. 이를 통해, 브릿지는 원하지 않는 데이터 루프의 발생을 막고, 원하지 않는 MAC 소스 어드레스가 포워딩 되는 것을 막을 수 있다.. 포워딩 상태는 학습 상태가 종료된 후 실제로 데이터를 전달하는 상태를 말한다.
이 단계를 수행한 뒤, 여러 필터링 단계(예컨대, 인그레스 필터링(ingress filtering), 프레임 필터링(frame filtering) 및/또는 이그레스 필터링(egress filtering))가 수행될 수 있다. 이러한 필터링 단계는 필터링 데이터베이스(filtering database)에 저장된 목적지 어드레스와 VID 값을 참조하여 전달받은 데이터 프레임이 정확한 브릿지 출력 포트를 통하여 전송되는 것을 돕는다. 이를 통해, 데이터 프레임이 전송될 출력 포트가 정해지면, 플로우 메터링(flow metering) 단계가 수행된다.
플로우 메터링 단계에서, 브릿지는 우선순위(priority)와 DEI(Drop Eligible Indicator) 값을 이용하여 컨제스쳔 발생시 어느 프레임을 버릴(discard) 것인지 여부를 결정할 수 있다.
플로우 메터링 단계를 통과한 프레임은 프레임의 우선순위 값에 기초하여 아웃바운드 큐에 큐잉될 수 있다. 이 경우, 해당 프레임이 다수의 아웃바운드 큐 중 어느 아웃바운드 큐에 큐잉되지는 결정하기 위하여, 도 4를 참조하여 설명된 우선순위와 트래픽 클래스 간의 관계 정보(또는 맵핑 정보)가 사용될 수 있다. 또한, 각 아웃바운드 큐의 상태는 큐 관리(queue management) 모듈에 의해 모니터링되고, 관리될 수 있다.
프레임이 아웃바운드 큐에 저장된 이후에, 프레임은 전송 선택(transmission selection) 단계를 통해 시리얼(serial)하게 전송될 수 있다. 이와 같이 데이터를 시리얼하게 전송하는 과정에서, 트래픽 클래스에 따라 프레임을 지연시킴으로써 대역폭을 확보하고 전체 네트워크 성능을 보장하거나 최적화시킬 수 있는데, 이러한 역할을 수행하는 것을 트래픽 쉐이핑(traffic shaping)이라고 부를 수 있다. 이와 같이 트래픽 쉐이핑을 수행하는 장치는 트래픽 쉐이퍼(traffic shaper) 또는 쉐이퍼로 지칭될 수 있다. 이러한 트래픽 쉐이핑은 상술한 스트림 예약과 함께 사용될 수 있고, 이 경우, 원하는 QoS를 얻을 수 있게 해준다.
상술한 브릿지 포워딩 프로세스에서는 상술한 각 단계의 전부를 수행할 수 있으나, 실시예에 따라서는 상술한 각 단계의 일부만을 수행할 수도 있다. 또한, 상술한 브릿지 포워딩 프로세스는 브릿지 내의 하나 또는 그 이상의 프로세서에 의해 수행될 수 있다.
## 이하에서는, 본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법에 대하여 설명한다. 특히, 버블링 이디엇(babbling idiot)이 발생된 경우, 네트워크 디바이스의 큐 관리 방법에 대하여 설명한다. 상술한 바와 같이, 네트워크 디바이스는 IEEE802.1의 브릿지 네트워크 내의 브릿지에 해당하거나, 또는 이를 포함하거나 이에 포함된 장치(또는 시스템)일 수 있다. 예를 들면, 네트워크 디바이스는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지이거나, 또는 이를 포함하거나 이에 포함된 장치(또는 시스템)일 수 있다. 본 명세서에서, 상술한 브릿지에 대하여 적용되는 설명은 네트워크 디바이스에도 동일 또는 유사하게 적용될 수 있다.
실시예로서, 네트워크 디바이스에서 수행되는 큐 관리 방법(또는 단계)는 도 10의 브릿지 포워딩 프로세스 중 큐 관리 단계(또는 방법)에 해당될 수 있다. 도 10의 실시예에서, 전송 선택 단계(또는 방법)이 아웃바운드 큐에 저장된 큐의 출력에 관한 방법이라면, 큐 관리 단계(또는 방법)은 아웃바운드 큐에 대한 큐의 입력을 관리하는 방법에 해당한다. 상술한 바와 같이, 아웃바운드 큐는 해당 브릿지 포트로부터 데이터 및 데이터 프레임(또는 프레임)을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 네트워크 디바이스는 미리 설정된 큐 관리 방법을 통해 큐의 상태를 모니터링하면서, 큐가 완전히 채워진 이후 또는 완전히 채워지기 이전의 적절한 시점에 데이터 프레임을 적절하게 제거하여 큐의 상태를 효율적으로 관리하는 역할을 수행한다.
본 명세서에서, 버블링 이디엇은 비정상(faulty) 토커 또는 브릿지(또는 스위치)를 말한다. 여기서, 비정상(fault)이라 함은 고장이나 오작동으로 인하여 장비(예컨대, 토커 또는 브릿지)가 잘못된 데이터(wrong data)를 비정상적으로 많이 쏟아내거나, 잘못된 시간(wrong time)에 데이터를 전송하는 것을 말한다. 이러한 비정상 토커나 브릿지에 의해 발생된 스트림(비정상(faulty) 스트림)은 다른 스트림에 영향을 줄 뿐만 아니라, 전체 네트워크로 전파(propagation)되어 네트워크 전체에 영향을 줄 수 있다. 즉, 비정상 스트림은 대역폭(bandwidth)과 레이턴시(latency )가 보장되어야 하는 정상적인 스트림과 네트워크의 동작에 영향을 미쳐, 정상적인 스트림과 네트워크가 오동작하게 만들 수 있다. 따라서, 이러한 비정상 스트림의 발생을 검출하고 이를 막는 방법이 네트워크의 정상적인 동작을 위해 필요하다. 본 명세서에서, 비정상 스트림은 불량 스트림, 고장 스트림으로 지칭될 수도 있다.
본 명세서에서 데이터 프레임(또는 프레임)은 전송되는 데이터의 단위를 말하고, 데이터 스트림(또는 스트림)은 하나의 엔드 스테이션(예컨대, 토커)에서 다른 엔드 스테이션(예컨대, 리스너)까지의 데이터의 흐름을 말한다. 하나의 스트림은 하나 이상의 프레임을 포함할 수 있다.
도 11은 본 발명의 일 실시예에 따른 스트림별 필터링 및 폴리싱(per-stream filtering and policing: PSFP) 방법을 나타낸다. 도 11은 본 발명의 일 실시예에 따른 네트워크 디바이스가 PSFP 방법을 수행하는 것을 나타낸다. 여기서, PSFP 방법은 트래픽 클래스 별로 필터링 및 폴리싱을 수행하는 클래스별 필터링 및 폴리싱 방법(per-class filtering and policing)과 달리, 스트림 별로 필터링 및 폴리싱을 수행하는 방법을 말한다. 실시예로서, PSFP 방법은 네트워크 디바이스 내의 인그레스 폴리싱 필터(ingress policing filter)(또는 스트림 필터)를 통해 수행될 수 있다. 여기서, 필터링은 입력 포트에서 출력 포트로의 데이터 프레임의 전달을 차단하는 것을 말하고, 폴리싱은 입력된 데이터 프레임을 드랍(drop)시키는 것을 말한다.
이렇게 PSFP 방법을 사용하는 경우, 네트워크 디바이스는 버블링 이디엇에 의한 비정상 스트림을 효율적으로 다룰 수 있다. 예를 들면, 동일한 트래픽 클래스를 갖는 다수 개의 스트림 중 하나의 스트림이 비정상 스트림인 경우, 네트워크 디바이스는 PSFP 방법을 사용하여 비정상 스트림과 정상(non-faulty) 스트림을 구분하여 비정상 스트림만을 적절히 차단하고, 정상 스트림에 대한 정상적인 전송을 보장해줄 수 있다. 이와 같이, 스트림별로 필터링 및 폴리싱하는 경우, 동일한 큐에 저장되는 동일한 트래픽 클래스를 갖는 복수의 스트림 중 비정상 스트림만을 적절히 차단시킬 수 있어, 트래픽 별로 필터링 및 폴리싱하는 것에 비해 더 효율적으로 큐 관리를 할 수 있다.
도 11의 실시예의 PSFP 방법은 일반적으로 미리 정의된 네트워크에서 적용될 수 있다. 미리 정의된 네트워크는 네트워크 내의 네트워크 디바이스들(또는 네트워크의 사용자)이 네트워크를 통해 전송되는 각 스트림의 리소스(또는 특성), 예컨대, 스트림 ID, 대역폭, 중요도, 우선순위 등을 미리 알고 있는 네트워크를 말한다. 미리 정의된 네트워크를 사용하는 경우, 네트워크 디바이스는 각 스트림의 특성을 미리 알고 있기 때문에, 해당 스트림이 정상적인지 비정상적인지를 결정할 수 있고, 비정상 스트림 발생시 PSFP 방법을 사용할 수 있다.
도 11의 실시예에서, 네트워크는 미리 정의된 네트워크로서, 토커 1(T1)에서 전송되는 2개의 스트림(스트림 1과 스트림 2)에는 각각 20 Mbit/s의 대역폭이 할당되고, 토커 2(T2)에서 전송되는 스트림(스트림 3)에는 55 Mbit/s의 대역폭이 할당된 것으로 가정한다. 따라서, 스트림 1 및 스트림 2에 대한 필터링 및 폴리싱을 위한 인그레스 폴리싱 필터는 각각 20 Mbit/s의 대역폭 제한(bandwidth limit)을 가질 수 있고, 스트림 3에 대한 인그레스 폴리싱 필터는 55 Mbit/s의 대역폭 제한을 가질 수 있다.
이때, 도시된 것처럼, 토커 1이 오동작하여 20 Mbit/s가 할당된 스트림 1에서 35 Mbit/s 대역폭의 스트림을 전송하는 경우, 네트워크 디바이스(예컨대, 브릿지 B1)는 미리 설정된 디텍션 방법(또는 알고리즘)을 이용하여 스트림 1이 비정상 스트림이라는 것을 검출할 수 있다. 실시예로서, 디텍션 알고리즘은 MEF(Metro Ethernet network architecture Forum) 10.3에서 정해진“Bandwidth Profile Parameters and Algorithm”일 수 있다.
스트림 1이 비정상 스트림이라는 것이 검출된 경우, 네트워크 디바이스는 스트림 1에 대한 인그레스 폴리싱 필터를 통해 입력 포트에서 스트림 1을 차단(block)할 수 있다. 이로 인하여, 다른 스트림들은 비정상 스트림인 스트림 1에 영향을 받지 않고, 할당된 대역폭 내에서 정상적으로 전송 가능하다. 이와 같이, PSFP 방법을 사용하는 경우, 네트워크 디바이스는 비정상 스트림만을 적절히 차단하여, 정상 스트림의 정상적인 전송을 보장해줄 수 있다.
도 12는 본 발명의 일 실시예에 따른 폴리싱 및 필터링 레이턴시를 나타낸다. 구체적으로, 도 12(a)는 도 11의 PSFP 방법을 사용하는 경우, 비정상 스트림의 발생에서 차단시까지의 과정을 시간측면에서 나타내고, 도 12(b)는 비정상 스트림의 발생에서 차단시까지의 기간 동안 비정상 스트림이 네트워크에 미치는 영향을 예시적으로 나타내는 도면이다. 도 12에서는 도 11에서 설명한 내용과 중복된 설명은 생략한다.
도 12(a)에서, ‘1’에 해당하는 기간(제1 기간)은 아직 비정상 스트림이 발생하지 않은, 즉, 네트워크가 정상적으로 동작하는 기간을 나타낸다. 시간 t0는 특정 노드(예컨대, 특정 토커 또는 특정 브릿지)에서 비정상 스트림의 발생이 시작된 시간을 나타낸다. ‘2’에 해당하는 기간(제2 기간)은 비정상 스트림이 발생된 시점부터 이를 검출하고 차단하는데 까지 걸리는 기간을 나타낸다. 이 기간은 비정상 스트림의 발생이 시작되었으나, 아직 폴리싱 및 필터링 기능이 동작하지 않는 기간으로서, “딜레이 기간(delay period)”으로 지칭될 수도 있다. ‘3’에 해당하는 기간(제3 기간)은 비정상 스트림에 대한 폴리싱 및 필터링 기능이 수행되어, 더 이상 비정상 스트림이 네트워크에 전파되지 않는 기간을 나타낸다. 제3 기간의 동작에 대하여는 도 11을 참조하여 상술한 바와 같다. 이하에서는 도 12(b)를 참조하여 딜레이 기간 동안에, 비정상 스트림이 네트워크로 전파되어 다른 스트림의 동작에 어떠한 영향을 미치는 지를 예시적으로 설명한다.
도 12(b)를 참조하면, 토커 1(T1)의 오동작으로 인해 T1에서 전송되는 20 Mbit/s로 할당된 스트림 1에서 40Mbit/s 대역폭의 데이터가 전송될 수 있다. 즉, 버블링 이디엇이 발생하여 스트림 1이 비정상 스트림으로 될 수 있다. 이 경우, 만일 제1 네트워크 디바이스(예컨대, 브릿지 1)의 출력으로 40Mbit/s의 대역폭이 할당되어 있다면, 비정상 스트림인 스트림 1에 의해 20Mbit/s가 할당된 정상 스트림인 스트림 2가 영향을 받아, 스트림 2의 출력 대역폭이 10Mbit/s로 감소될 수 있다. 유사한 방식으로, 비정상 스트림인 스트림 1은 브릿지 2 및 3에서도 정상 스트림의 출력 대역폭에 영향을 미칠 수 있다. 예컨대, 제2 네트워크 디바이스(예컨대, 브릿지 2)에서의 55Mbit/s가 할당된 스트림 3의 출력 대역폭은 50Mbit/s로 감소될 수 있다. 딜레이 기간 동안에 비정상 스트림이 정상 스트림에 미치는 영향에 대한 구체적은 설명은 이하에서 설명할 도 13에 따른다.
이와 같이, 딜레이 기간 동안에, 비정상 스트림이 정상 스트림의 출력 대역폭에 영향을 미칠 수 있다. 그런데, 만일 비정상 스트림에 영향을 받는 정상 스트림이 중요도 또는 우선순위가 높아 프레임 손실(frame loss)이 있으면 안되는 크리티컬(critical) 스트림이라면, 이 기간 동안 발생된 프레임 손실에 따른 출력 대역폭의 감소로 인하여 치명적인 결과가 초래될 수도 있다. 예컨대, 해당 스트림이 차량내 네트워크에서 차량 안전 관련 데이터를 전달하는 세이프티 크리티컬(safety critical) 스트림인 경우, 잠시 동안의 오류임에도 치명적인 결과를 야기할 수 있기 때문이다. 따라서, 딜레이 기간 이후에 수행되는 폴리싱 및 필터링 방법과는 별도로, 딜레이 기간 동안에도 중요도가 높은 스트림이 비정상 스트림으로부터 받는 영향을 최소화시킬 수 있는 방법이 필요하다.
도 13은 도 12의 딜레이 기간 동안의 큐의 상태를 나타낸다. 도 13에서는, 비정상 스트림과 정상 스트림이 서로 동일한 트래픽 클래스를 가져, 하나의 아웃바운드 큐에 저장되는 것으로 가정한다. 본 명세서에서, 트래픽 클래스는 프레임(또는 데이터 프레임)의 전송을 촉진시키기(expedite) 위해 사용되는 분류(classification)를 말한다. 또한, 아웃바운드 큐는 해당 브릿지 포트로부터 데이터 또는 데이터 프레임을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 본 명세서에서, 큐는 버퍼로 지칭될 수도 있다.
도 13을 참조하면, 버블링 이디엇이 발생된 경우, 비정상 스트림으로 인해 아웃바운드 큐에 입력되는 데이터의 양이 순간적으로 증가되어 큐 사이즈를 초과할 수 있다. 이 경우, 미리 설정된 큐 관리 방법(또는 알고리즘)에 따라 이후 입력되는 프레임이 버려(discard)질 수 있다. 실시예로서, 큐 관리 알고리즘은 RED(Random Early Detection) 알고리즘 또는 WRED(Weight Random Early Detection) 알고리즘에 해당한다. RED 알고리즘 및 WRED 알고리즘은 IEFT RFC 2309 표준에 따르는 알고리즘일 수 있다. 또한, 큐 관리 알고리즘은 후술할 스트림의 우선순위에 기반한 큐 관리 알고리즘에 해당할 수 있다.
RED 알고리즘은 큐의 가용 사이즈를 지속적으로 모니터링하여 통계적 확률값에 기반하여 프레임을 버리는 방법을 말한다. 네트워크 디바이스가 RED 알고리즘을 사용하는 경우, 큐에 프레임이 많이 쌓여갈 수록 입력되는 프레임 중 버려지는 프레임의 양이 증가하게 된다. 또한, 네트워크 디바이스가 RED 알고리즘을 사용하는 경우, 큐에 프레임이 완전히 채워(full)지면 이후 입력되는 모든 프레임을 모두 버릴 수 있고, 이를 통해, 글로벌 동기화를 막을수 있다. 여기서, 글러벌 동기화(Global Synchronizaiton)는 다수의 노드들이 혼잡(congestion)에 반응하여 동시에 전송속도를 낮추는 현상을 말한다. 이러한 글로벌 동기화의 방지로 인하여 네트워크 전체가 느려지는 것을 막을 수 있으므로, RED 알고리즘의 사용은 네트워크 효율성을 높이기 위한 방법이라 할 수 있다.
WRED 알고리즘은 RED 알고리즘과 마찬가지로 큐의 상태를 모니터링하여 큐에 입력되는 프레임을 버릴 때, 프레임 간에 차등을 두어 덜 중요한 프레임이 더 많이 버려질 수 있도록 하는 방법을 말한다. 이때, drop_eligible 비트(또는 파라미터)가 사용될 수 있고, drop_eligible 파라미터가 설정된 프레임은 다른 프레임 보다 먼저 버려질 수 있다. 실시예로서, drop_eligible 파라미터는 도 2의 실시예에와 같은, 프레임의 VLAN 태그의 PCP 필드에 인코딩되고, PCP 필드로부터 디코딩될 수 있다. 예를 들면, DEI 필드는 PCP 필드에 할당된 1 비트의 필드일 수 있다.
상술한 RED 알고리즘 및 WRED 알고리즘은 스트림 별로 차등을 두어 큐로부터 프레임을 버리는 알고리즘에 해당하지 않는다. 따라서, 큐 관리 알고리즘으로서 RED 알고리즘 또는 WRED 알고리즘을 사용하는 경우, 버블링 이디엇이 발생된 이후에 입력되는 프레임은, 프레임이 속하는 스트림의 종류와 관계없이 버려(discard)질 수 있다. 즉, 입력되는 프레임이 비정상 스트림의 프레임인지 정상 스트림의 프레임인지 여부와 관계없이, 아웃바운드 큐로부터 버려질 수 있다.
이와 같이 RED 알고리즘 또는 WRED 알고리즘을 이용하는 경우, 네트워크 디바이스는 딜레이 기간 동안에, 비정상 스트림의 프레임뿐만 아니라, 정상 스트림의 프레임을 아웃바운드 큐로부터 제거할 수 있다. 이때, 제거되는 정상 스트림이 예컨대, 차량 내에서 사용되는 세이프티 크리티컬 스트림인 경우에는 상술한 바와 같이 잠시 동안의 프레임 손실로 인하여 치명적인 결과가 초래될 수 있다. 따라서, 이러한 경우에 스트림의 중요도 또는 우선순위에 기반하여 딜레이 기간 동안 버려지는 스트림의 우선순위를 결정하기 위한 새로운 방식의 큐 관리 방법(또는 알고리즘)이 필요하다.
## 이하에서는, 본 발명의 일 실시예에 따른 큐 관리 알고리즘(또는 방법)에 대하여 설명한다. 본 발명의 일 실시예에 따른 큐 관리 알고리즘은 스트림의 우선순위(또는 중요도)에 기초하는 큐 관리 알고리즘으로서, 스트림 우선순위 기반 큐 관리 알고리즘(또는 방법), 우선순위 기반 큐 관리 알고리즘(또는 방법) 또는 우선순위 기반 알고리즘(또는 방법)으로 지칭될 수 있다. 실시예로서, 우선순위 기반 알고리즘은 주로 상술한 PSPF 방법과 함께 사용될 수 있다.
큐 관리 알고리즘으로 우선순위 기반 알고리즘이 사용되는 경우, 미리 정의된 프레임 제거 조건이 만족되면(예컨대, 큐가 데이터 프레임으로 완전히 채워진 풀(full) 상태이면), 네트워크 디바이스는 큐에 저장된 데이터 프레임이 속하는 스트림을 식별하고, 미리 설정된 스트림 우선순위 정보(테이블)에 기초하여 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다.
이때, 네트워크 디바이스는 식별된 스트림들 중 스트림 우선순위 테이블에 포함되지 않는 논크리티컬 스트림들의 데이터 프레임들을 큐로부터 최우선적으로 제거할 수 있다. 논크리티컬 스트림들의 데이터 프레임들이 큐로부터 완전히 제거된 상태에서, 다시 프레임 제거 조건이 만족되면, 네트워크 디바이스는 스트림 우선순위 테이블에 포함된 크리티컬 스트림들 중 우선순위가 가장 낮은 스트림의 데이터 프레임들을 큐로부터 제거할 수 있다.
여기서, 크리티컬 스트림은 프레임 손실을 최소화할 필요가 있는 스트림으로서, 프레임 손실을 최소화하기 위해 스트림 우선순위 테이블(또는 정보)에 포함되는 스트림일 수 있다. 예를 들면, 크리티컬 스트림은 짧은 시간 또는 적은 양의 프레임 손실로도 크리티컬한 영향을 받을 수 있는 스트림으로서, 예컨대, 차량내에서 안전 관련 데이터를 운반하는 세이프티 크리티컬 스트림일 수 있다.
여기서, 논크리티컬 스트림은 크리티컬 스트림이 아닌 스트림을 말한다. 예를 들면, 논크리티컬 스트림은 짧은 시간 또는 적은 양의 프레임 손실로 인하여 크리티컬한 영향을 받지 않는 스트림(예컨데, 비안전 관련 데이터를 운반하는 스트림)일 수 있다. 실시예로서, 논크리티컬 스트림은 스트림 우선순위 테이블에 포함되지 않을 수 있다.
이와 같이, 큐에 대한 프레임 제거 조건이 만족되어, 큐로부터 데이터 프레임을 버려야 하는 경우, 우선순위 기반 알고리즘을 사용하는 네트워크 디바이스는 크리티컬 스트림이 아닌 논크리티컬 스트림 내의 데이터 프레임을 가장 먼저 버리고, 이후 크리티컬 스트림 중 우선순위 또는 중요도가 낮은 순서에서 높은 순서로 해당 스트림의 데이터 프레임을 버리는 방식을 취한다. 이와 같은 방식으로 큐를 관리하는 경우, 가장 우선순위가 높은 크리티컬한 스트림은 가장 마지막에 큐로부터 버려질 수 있다.
이를 통해, 네트워크 디바이스는 우선순위가 높은 크리티컬 스트림에 대한 프레임 손실을 최소화할 수 있다. 이는 상술한 딜레이 기간 동안에, 비정상 스트림에 의해 정상 스트림이 영향을 받아, 정상 스트림의 프레임이 큐로부터 버려질 때, 정상 스트림 중 우선순위가 높은 크리티컬 스트림에 대한 프레임 손실을 최소화할 수 있다. 이를 통해, 딜레이 기간 동안에 비정상 스트림에 의해 발생되는 치명적인 오류를 막을 수 있다.
이러한 우선순위 기반 알고리즘은 다른 큐 관리 알고리즘인 RED 알고리즘 또는 WRED 알고리즘과 함께 사용될 수 있다. 예를 들면, 우선순위 기반 알고리즘이 RED 알고리즘과 함께 사용되는 경우, 네트워크 디바이스는 큐가 풀 상태로 되기 이전에, 즉, 큐에 데이터 프레임이 완전히 채워지기 전에, 우선순위 테이블을 참조할 수 있다. 이를 통해, 네트워크 디바이스는 조기에(또는 더 빠르게) 스트림의 우선순위를 고려한 큐 관리를 수행할 수 있다.
다른 예를 들면, 우선순위 기반 알고리즘이 WRED 알고리즘과 함께 사용되는 경우, 네트워크 디바이스는 큐가 풀 상태로 되기 이전에, 우선순위 테이블과 프레임 내의 DEI 필드를 참조할 수 있다. 이 경우, 예컨대, 우선적으로 세이프티 크리티컬 스트림이 아닌 스트림들이 버려질 때, 네트워크 디바이스는 DEI 필드의 값에 기초하여 데이터 프레임(또는 스트림) 별로 차등을 두어 버릴 수 있고, 그 다음으로 세이프티 크리티컬 스트림이 버려질 때, 네트워크 디바이스는 우선순위 테이블에 기초하여 스트림 별로 차등을 두어 데이터 프레임을 버릴 수 있다. 이를 통해, 네트워크 디바이스는 조기에 스트림 또는 데이터 프레임의 우선순위를 고려한 큐 관리를 수행할 수 있다.
상술한 바와 같이, 큐 관리 알고리즘으로서 우선순위 기반 알고리즘이 사용되는 경우, 큐로부터 프레임을 버려야 할 때, 스트림의 우선순위가 고려될 수 있다. 이 경우, 스트림 우선순위 테이블(또는 정보)가 참조될 수 있다. 이러한 스트림 우선순위 테이블의 예시는 도 14를 참조하여 이하에서 상세히 설명한다.
도 14는 본 발명의 일 실시예에 따른 스트림 우선순위 테이블을 나타낸다. 구체적으로, 도 14는 큐 관리 알고리즘으로서 우선순위 기반 알고리즘이 사용되는 경우에 프레임 제거 조건이 만족되어, 네트워크 디바이스가 큐로부터 데이터 프레임을 버릴 때 참조되는 스트림 우선순위 테이블(또는 정보)의 일 예를 나타낸다. 실시예로서, 스트림 우선순위 테이블은 프레임 제거 조건이 만족되는 경우에만 네트워크 디바이스에 의해 참조(또는 검색)될 수 있다. 즉, 네트워크 디바이스는 프레임 제거 조건이 만족되는 경우에만 스트림 우선순위 테이블을 참조할 수 있다. 본 명세서에서, 스트림 우선순위 테이블은 우선순위 테이블로 지칭될 수도 있다.
도 14를 참조하면, 스트림 우선순위 테이블(또는 정보)는 미리 정의된 크리티컬 스트림들에 대한 스트림 식별(ID) 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보(또는 인덱스)를 포함할 수 있다. 실시예로서, 스트림 우선순위 테이블은 네트워크 내에서 포트 별로 또는 포트 내의 큐 별로 설정될 수 있다. 실시예로서, 스트림 우선순위 테이블은 네트워크 디바이스의 운영 또는 보안과 관련된 정보를 관리하는 관리 엔티티(management entity)에 의해 생성, 갱신 또는 관리될 수 있다. 관리 엔티티는 예를 들면, 네트워크 디바이스 내의 내부 관리 엔티티(internal management entity)이거나 또는 네트워크 내에서 네트워크 디바이스와 직접 또는 간접적으로 연결되어 네트워크 디바이스를 외부에서 원격으로 관리하는 원격 관리 엔티티(remote management entity)(또는 외부 관리 엔티티)일 수 있다.
만약 네트워크가 미리 정의된 네트워크인 경우 및/또는 네트워크의 스트림들이 예약된 경우, 네트워크의 사용자는 네트워크의 다양한 스트림 중 어느 스트림이 크리티컬 스트림인지 또는 논크리티컬 스트림인지 미리 결정할 수 있고, 또한, 크리티컬 스트림들 간의 우선순위를 미리 결정할 수 있다. 따라서, 네트워크의 사용자는 이를 기초로 도 14와 같은 스트림 우선순위 테이블을 미리 설정하여, 관리 정보 베이스와 같은 데이터베이스에 저장하고, 관리할 수 있다.
스트림 우선순위 테이블에서, 인덱스는 대응되는 스트림 ID를 갖는 스트림의 우선순위 정보(또는 중요도)를 제공한다. 실시예로서, 인덱스 값이 낮을수록 스트림 우선순위(또는 중요도)가 높고, 인덱스 값이 클수록 스트림 우선순위(또는 중요도)가 낮을 수 있으나, 실시예에 따라서는 그 반대일 수도 있다. 예를 들면, 도 14에서처럼, 인덱스 값 1을 갖는 스트림 ID(3)에 대응되는 스트림의 우선순위는 인덱스 값 2를 갖는 스트림 ID(6)에 대응되는 스트림의 우선순위보다 높을 수 있다.
실시예로서, 스트림 우선순위 테이블은 크리티컬 스트림에 대한 우선순위 정보만을 포함할 수 있다. 이를 통해, 네트워크 내의 모든 스트림에 대한 우선순위를 결정하고 관리하는 대신에, 필요한 크리티컬 스트림에 대한 우선순위만을 결정하고 관리하면 되므로, 우선순위 테이블의 생성 및 관리가 용이할 수 있다. 또한, 이 경우, 네트워크 디바이스는 스트림 우선순위 테이블을 통해 미리 정의된 네트워크 내에 크리티컬 스트림이 몇 개 인지 확인할 수 있다. 도 14의 실시예에서는, 미리 정의된 네트워크 내에 크리티컬 스트림이 3개임이 확인된다. 따라서, 본 명세서에서, 스트림 우선순위 테이블은 세이프티 크리티컬 스트림 ID 테이블 또는 세이프티 크리티컬 스트림 테이블로 지칭될 수도 있다.
도 15는 본 발명의 일 실시예에 따른 큐 관리 방법이 사용되는 경우, 시간에 따른 큐의 상태 변화를 나타낸다. 도 15의 실시예에서는, 큐 관리 방법으로서 상술한 우선순위 기반 알고리즘이 사용될 수 있다.
또한, 도 15의 실시예에서는, 복수의 스트림으로부터의 데이터 프레임들이 동일한 큐에 저장되는 것으로 가정한다. 예를 들면, 출력 포트의 적어도 하나의 아웃바운드 큐 중 하나인 제1 큐에 제1 스트림의 제1 데이터 프레임, 제2 스트림의 제2 데이터 프레임 및 제3 스트림의 제3 데이터 프레임이 저장되는 것으로 가정한다. 이때, 도시된 것처럼, 제1 스트림은 스트림 ID 1을 갖는 논크리티컬 스트림이고, 제2 스트림은 스트림 ID 3을 갖는 크리티컬 스트림이고, 제3 스트림은 스트림 ID 7을 갖는 크리티컬 스트림일 수 있다. 또한, 도 15의 실시예에서는, 시간 t0에서 비정상 스트림이 발생되고, 시간 t0+delay에서 비정상 스트림이 차단(또는 필터링)되는 것으로 가정한다. 예를 들면, 시간 t0에서 제3 스트림이 비정상 스트림이되고, 시간 t0+delay에서 비정상 스트림인 제3 스트림이 차단되는 것으로 가정한다.
도 15(a)는 아직 비정상 스트림이 발생하지 않은 제1 기간 동안의 예시적인 큐의 상태를 나타낸다. 도 15(a)의 실시예에서, 제1 큐는 큐가 완전히 채워지지 않은 정상 상태이고, 제1 스트림의 2개의 제1 데이터 프레임, 제2 스트림의 4개의 제2 데이터 프레임 및 제 3 스트림의 2개의 제3 데이터 프레임을 저장하고 있다.
도 15(b)는 비정상 스트림이 발생된 시점부터 이를 검출하고 차단(또는 필터링/폴리싱)하는데 까지 걸리는 제2 기간, 즉, 딜레이 기간 동안의 예시적인 큐의 상태를 나타낸다. 비정상 스트림의 차단은 예컨대, 상술한 PSFP 방법에 의할 수 있다. 도 15(b)의 실시예에서, 비정상 스트림인 제3 스트림에 의해 제1 큐는 큐가 완전히 채워진 풀(full) 상태가 된다. 즉, 제1 큐에 대한 프레임 제거 조건이 만족된다. 여기서, 프레임 제거 조건은 해당 큐로부터 적어도 하나의 프레임을 제거하기 위해 만족되어야 하는 조건을 말한다. 즉, 프레임 제거 조건은 큐로부터 데이터 프레임의 제거가 필요한지 여부를 결정하기 위해 요구되는 조건을 말한다.
실시예로서, 네트워크 디바이스는 큐의 상태를 모니터링하여, 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다. 예를 들면, 큐가 데이터 프레임으로 완전히 채워진 경우, 즉, 큐가 풀(full) 상태인 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 다른 예를 들면, 큐가 데이터 프레임으로 미리 설정된 스레시홀드 사이즈 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 예컨대, 큐가 데이터 프레임으로 큐 사이즈의 80% 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다.
프레임 제거 조건이 만족되는 경우, 네트워크 디바이스는 먼저 제1 큐에 저장된 프레임들이 속하는 스트림들을 식별하고, 스트림의 우선순위에 기반하여 제1 큐로부터 우선순위가 가장 낮은 스트림의 데이터 프레임을 최우선적으로 제거할 수 있다. 이때, 네트워크 디바이스는 도 14의 실시예와 같은, 스트림 우선순위 테이블(또는 정보)을 참조할 수 있다. 도 14의 스트림 우선순위 테이블이 참조되는 경우, 네트워크 디바이스는 해당 테이블에 포함되지 않은 스트림 ID를 갖는, 논크리티컬 스트림인 제1 스트림의 제1 데이터 프레임 전부를 제1 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림의 스트림에 속하는 프레임들은 큐로부터 제거되지 않을 수 있다. 즉, 네트워크 디바이스는 크리티컬 스트림에 대한 프레임 손실을 막을 수 있다. 이후, 큐에 저장된 프레임들은 미리 설정된 큐 선택 알고리즘에 따라 선택되어 전송(또는 출력)될 수 있다.
도 15(c)는 도 15(b)와 마찬가지로, 제2 기간 동안의 예시적인 큐의 상태를 나타낸다. 예를 들면, 도 15(c)의 실시예는, 도 15(b)의 실시예에 따라 논크리티컬 스트림인 제1 스트림의 제1 데이터 프레임이 전부 제거된 뒤, 비정상 스트림인 제3 스트림에 의해 다시 프레임 제거 조건이 만족된 제1 큐의 상태를 나타낸다. 즉, 제1 스트림의 제1 데이터 프레임이 전부 제거된 뒤, 제1 큐에 대한 프레임 제거 조건이 다시 만족된 상태를 나타낸다.
따라서, 네트워크 디바이스는 스트림의 우선순위에 기반하여 제1 큐로부터 우선순위가 그 다음으로 낮은 스트림의 데이터 프레임을 제거할 수 있다. 이때, 도 14의 스트림 우선순위 테이블이 참조되는 경우, 네트워크 디바이스는 해당 테이블에 포함된 스트림 ID를 갖는, 크리티컬 스트림들 중 우선순위가 낮은 제3 스트림의 제3 데이터 프레임 전부를 제1 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림들 중 우선순위가 높은 크리티컬 스트림에 속하는 프레임들은 큐로부터 제거되지 않을 수 있다. 즉, 네트워크 디바이스는 우선순위가 높은 크리티컬 프레임에 대한 프레임 손실을 막을 수 있다. 이후, 큐에 저장된 프레임들은 미리 설정된 큐 선택 알고리즘에 따라 선택되어 전송(또는 출력)될 수 있다.
도 15(d)는 스트림별 폴리싱 및 필터링 기능이 동작되어 비정상 스트림(또는 버블링)이 차단된 이후의 기간 동안의 큐의 상태를 나타낸다. 도 15(a)에서, 제1 큐는 정상 상태이고, 차단되지 않은 제1 스트림의 제1 프레임 및/또는 제2 스트림의 제2 프레임을 추가적으로 저장할 수 있다.
도 15에서는 큐에 논크리티컬 스트림 및 크리티컬 스트림이 모두 저장된 경우를 중심으로 본 발명의 실시예들에 대하여 설명하였으나, 이는 설명의 편의를 위한 예시에 불과하고, 본 발명의 범위가 이에 의해 한정되지는 않는다. 예를 들면, 큐에 크리티컬 스트림의 데이터 프레임들만 있는 경우, 네트워크 디바이스는 우선순위 정보에 기초하여 크리티컬 스트림들 간의 우선순위를 확인하고, 우선순위가 낮은 순서로 큐로부터 대응되는 크리티컬 스트림의 데이터 프레임을 제거할 수 있다. 또한, 도 15에서는 큐에 저장된 스트림 중 하나의 스트림이 비정상 스트림이 되는 경우를 중심으로 본 발명의 실시예들에 대하여 설명하였으나, 이는 설명의 편의를 위한 예시를 불과하고, 큐에 저장된 스트림들 중 어느 것도 비정상 스트림이 되지 않는 경우에도 동일한 설명이 가능하다.
상술한 바와 같이, 큐에 대한 프레임 제거 조건 만족 시, 네트워크 디바이스가 스트림의 우선순위에 기반하여 큐로부터 특정 스트림의 데이터 프레임을 제거하기 위해서는 큐에 저장된 데이터 프레임들이 속하는 스트림들을 식별하여야 한다. 이하에서는, 네트워크 디바이스가 데이터 프레임이 속하는 스트림을 식별하는 방법에 대하여 설명한다. 이러한 데이터 프레임이 속하는 스트림의 식별은 스트림 식별자(ID) 정보를 통해 이루어질 수 있다. 본 명세서에서, 스트림 ID 정보는 스트림을 식별하기 위한 정보를 말한다.
일 실시예에서, 스트림 ID 정보는 대응되는 스트림에 속하는 데이터 프레임의 목적지 주소 정보와 VLAN ID 정보에 기초하여 생성될 수 있다. 예를 들면, IEEE 802.1Q에서 정의하고 있는 것처럼, 스트림 ID 정보는 목적지 주소 정보와 VLAN ID 정보에 기초하여 수학적으로 생성된 하나의 정수(integer) 값일 수 있다. 한편, IEEE 802.1Q에서는 스트림 예약(stream reservation)이 사용된 경우에만 스트림 ID 정보를 정의하고 있고, 본 발명의 일 실시예에 따른 네트워크가 네트워크에서 사용되는 스트림들의 특성을 미리 알고 있는 미리 정의된(pre-defined) 네트워크라면, IEEE 802.1Q에 정의된 스트림 ID 정보가 본 발명에서도 사용될 수 있다.
다른 실시예에서, 스트림 ID 정보는 다양한 타입으로 정의될 수 있다. 예를 들면, IEEE 802.1CB(Frame Replication and Elimination for Reliability)에서 정의하고 있는 것처럼, 스트림 ID 정보는 널 스트림 식별(Null Stream identification) 기능에 의한 제1 타입의 스트림 ID 정보, 발신지(또는 소스) MAC 및 VLAN 스트림 식별(Source MAC and VLAN Stream identification) 기능에 의한 제2 타입의 스트림 ID 정보, 목적지 MAC 및 VLAN 스트림 식별(Destination MAC and VLAN Stream identification) 기능에 의한 제3 타입의 스트림 ID 정보 및 IP 옥튜플렛 스트림 식별 기능(IP octuplet Stream identification)에 의한 제4 타입의 스트림 ID 정보일 수 있다.
여기서, 널 스트림 식별 기능은 수동적인(passive) 스트림 식별 기능에 해당하고, 제1 타입의 스트림 ID 정보는 목적지 MAC 주소 정보 및 VLAN ID 정보에 기초하여 생성될 수 있다.
또한, 발신지 MAC 및 VLAN 스트림 식별 기능은 수동적인 스트림 식별 기능에 해당하고, 제2 타입의 스트림 ID 정보는 발신지 MAC 주소 정보 및 VLAN ID 정보에 기초하여 생성될 수 있다.
또한, 목적지 MAC 및 VLAN 스트림 식별 기능은 능동적인(active) 스트림 식별 기능에 해당하고, 제3 타입의 스트림 ID 정보는 목적지 MAC 주소 정보 및 VLAN ID 정보에 기초하여 생성될 수 있다.
또한, IP 옥튜플렛 스트림 식별 기능은 수동적인 스트림 식별 기능에 해당하고, 제4 타입의 스트림 ID 정보는 목적지 MAC 주소 정보, VLAN ID 정보, IP 발신지(source) 주소 정보, IP 목적지 주소 정보 및 IP 다음 프로토콜(IP next protocol) 정보, 발신지 포트 정보 및/또는 목적지 포트 정보에 기초하여 생성될 수 있다. 본 명세서에 수동적인 스트림 식별 기능은 수동 식별 기능으로 지칭하고, 능동적인 스트림 식별 기능은 능동 식별 기능으로 지칭할 수도 있다.
여기서, 수동적인 스트림 식별 기능은, 송신 측에서는 상위 계층으로부터 받은 패킷(또는 프레임)에 스트림 식별과 관련된 아무런 처리를 하지 않고 하위 계층으로 전달하고, 수신 측에서는 하위 계층으로부터 받은 패킷(또는 프레임)을 조사(examine)하여 패킷의 스트림을 식별하고 어느 SAP(service access point)을 통해 해당 패킷을 상위 계층으로 전달할지를 결정하는 기능을 수행하는 스트림 식별 기능을 말한다.
여기서, 능동 스트림 식별 기능은, 송신 측에서는 상위 계층으로 받은 패킷의 데이터 파라미터를 수정하여 SAP의 선택을 인코딩하고, 패킷을 캡슐화하여 하위 계층으로 전달하고, 수신 측에서는 하위 계층으로부터 받은 패킷을 디캡슐화하고, 패킷으로부터 획득된 스트림 식별 정보에 따라 적합한 SAP를 통해 디캡슐화된 패킷을 상위 계층으로 전달하는 기능을 수행하는 스트림 식별 기능을 말한다.
능동적인 스트림 식별 기능인 목적지 MAC 및 VLAN 스트림 식별 기능의 경우, 최종 엔드 스테이션(예컨대, 리스너)을 제외한 스테이션들에서는 스트림 식별 기능이 사용되는 계층의 내부에서 목적지 MAC 주소와 VLAN ID를 다른 값으로 수정(또는 overwrite)하여 사용하고, 최종 엔드 스테이션에 이 값들을 원래의 값으로 복원하여 사용한다. 이러한, 목적지 MAC 및 VLAN 스트림 식별 기능이 본 발명의 스트림 식별 기능으로서 사용되는 경우, 내부에서 사용되는 수정된 목적지 MAC 주소와 VLAN ID을 추적하여 어떠한 스트림 ID가 사용되는지 확인하는 기능이 포함되어야 한다. 이 경우, 사용자는 브릿지 별로 다른 값의 크리티컬 스트림의 스트림 ID 정보를 알고 있어야 한다.
도 16은 본 발명의 일 실시예에 따른 스트림 ID 정보의 위치를 나타낸다.
실시예로서, 스트림 ID 정보는 ISS(Internal sublayer service)의 서비스 프리미티브(service primitive) (또는 프리미티브)에 포함될 수 있다. 도 5(b)를 참조하여 상술한 바와 같이, ISS는 MAC 부계층(또는 계층)의 내부 계층에서 제공되는 서비스로서, 다수의 SAP(Service Access Point)들 사이에 데이터 전송을 수행하고, 브릿지 포트 사이에 데이터 프레임의 전달이 가능하게 하는 등 MAC 서비스의 기본 기능을 제공한다.
ISS는 도 16(a) 및 (b)와 같은 두 개의 서비스 프리미티브, 즉, MAC 단위데이터 요청(M_UNITDATA.request) 프리미티브 및 MAC 단위데이터 지시(M_UNITDATA.indication) 프리미티브를 제공할 수 있다. 여기서, MAC 단위데이터 요청 프리미티브는 MAC 계층가 피지컬 계층으로 데이터를 요청하는 프리미티브이고, MAC 단위데이터 지시 프리미티브는 MAC 계층이 LLS 부계층으로 데이터를 지시하는 프리미티브이다. 도시된 것처럼, MAC 단위데이터 요청 프리미티브 또는 MAC 단위데이터 지시 프리미티는 다수의 파라미터를 포함할 수 있고, 이에 대한 설명은 도 5(b)에서 상술한 바와 같다.
일 실시예에서, 스트림 ID 정보는 MAC 단위데이터 요청 프리미티브 또는 MAC 단위데이터 지시 프리미티 내의 연결 식별자(connection_identifier) 정보(또는 파라미터)에 포함될 수 있다. 예를 들면, 도 16(a)에 도시된 것처럼, 스트림 ID 정보는 MAC 단위데이터 요청 프리미티브의 연결 식별자 정보(또는 파라미터)에 포함되는 서브 정보(또는 파라미터)인 스트림 핸들(stream_handle) 정보(또는 파라미터)에 포함될 수 있다. 또한, 도 16(b)에 도시된 것처럼, 스트림 ID 정보는 MAC 단위데이터 지시 프리미티브의 연결 식별자 정보(또는 파라미터)에 포함되는 서브 정보(또는 파라미터)인 스트림 핸들(stream_handle) 정보(또는 파라미터)에 포함될 수 있다. 이러한, 스트림 핸들 정보는 프레임(또는 패킷)이 속하는 스트림을 식별하는 식별자(ID)를 정수를 값으로 나타낼 수 있다.
도 17은 본 발명의 일 실시예에 따른 네트워크 디바이스의 구성도이다.
도 17의 실시예에서, 네트워크 디바이스(1700)는 입력 인터페이스(1710), 출력 인터페이스(1720), 하나 이상의 메모리 유닛(1730) 및 프로세서(1740)를 포함할 수 있다. 상술한 바와 같이, 네트워크 디바이스(1700)는 IEEE802.1의 브릿지 네트워크 내의 브릿지 또는 이를 포함하는 네트워크 시스템일 수 있다. 예를 들면, 네트워크 디바이스(1700)는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지이거나, 또는 이를 포함하는 네트워크 시스템일 수 있다.
실시예로서, 네트워크 디바이스(1700)는 입력 인터페이스(1710)(예컨대, 입력 포트)를 통해 입력된 프레임들을 저장하는 하나 이상의 큐를 포함하는 제1 메모리를 포함할 수 있다. 또한, 네트워크 디바이스(1700)는 본 발명의 본 발명의 다양한 실시예에 따른 네트워크 디바이스(1700)의 동작을 구현하기 위한 모듈, 데이터, 컴퓨터 프로그램 명령 또는 소프트웨어 중 적어도 하나를 저장하는 제2 메모리를 더 포함할 수 있다. 실시예로서, 제2 메모리는 제1 메모리와 동일하거나 또는 상이한 메모리 유닛 내에 있을 수 있다. 또한, 네트워크 디바이스(1700)는 도 14의 스트림 우선순위 테이블을 저장하는 제3 메모리를 더 포함할 수 있다. 실시예로서, 제3 메모리는 제1 메모리 및/또는 제2 메모리와 동일하거나 또는 상이한 메모리 유닛 내에 있을 수 있다. 예를 들면, 제1 메모리, 제2 메모리 및 제3 메모리가 모두 동일한 메모리 유닛 내에 있을 수 있고, 각각이 서로 상이한 메모리 유닛 내에 있을 수 있으며, 또한, 두 개의 메모리는 동일한 메모리 유닛 내에 있고 나머지 한 개의 메모리는 이와 상이한 메모리 유닛 내에 있을 수 있다.
프로세서(1730)는 메모리 유닛(1720)에 연결되며, 상술한 도면 및 설명에 따른 본 발명의 다양한 실시예에 따른 동작을 수행하도록 구성될 수 있다. 예를 들면, 프로세서(1730)는 본 발명의 일 실시예에 따른 스트림 우선순위에 기반한 큐 관리 방법을 수행하여 프레임 제거조건 만족 시 큐로부터 스트림들 간에 차등을 두어 데이터 프레임을 제거하도록 구성되거나, 또는 IEEE802 네트워크의 데이터 링크 계층 및 물리 계층을 구현하도록 구성될 수 있다. 본 명세서에서, 프로세서(1730)는 본 발명의 네트워크 디바이스(1700)의 각 유닛의 동작을 제어하는 컨트롤러를 포함하는 개념일 수 있다.
도 17의 네트워크 디바이스(1700)의 구체적인 구성은, 전술한 본 발명의 다양한 실시예들이 독립적으로 적용되거나 또는 2 이상의 실시예가 함께 적용되도록 구현될 수 있다. 도 17에서 나타낸 네트워크 디바이스(1700)의 우선순위 기반 큐 관리 방법은 도 18 및 19와 관련된 설명뿐 아니라 상술한 명세서의 설명이 모두 적용될 수 있다.
도 18은 본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법을 나타낸다.
도 18을 참조하면, 네트워크 디바이스는 큐에 복수의 데이터 프레임을 저장할 수 있다(S18010). 실시예로서, 네트워크 디바이스는 데이터 프레임과 연관된 트래픽 클래스에 기초하여 큐에 복수의 데이터 프레임을 저장할 수 있다. 이 경우, 동일한 큐에 저장된 복수의 데이터 프레임은 동일한 데이터 클래스를 가질 수 있다.
네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다(S18020). 실시예로서, 네트워크 디바이스는 큐의 상태를 모니터링하여, 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다. 여기서, 프레임 제거 조건은 큐로부터 데이터 프레임의 제거가 필요한지 여부를 결정하기 위해 요구되는 조건을 말한다. 예를 들면, 큐가 데이터 프레임으로 완전히 채워진 경우, 즉, 큐가 풀(full) 상태인 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 다른 예를 들면, 큐가 데이터 프레임으로 미리 설정된 스레시홀드 사이즈 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 예컨대, 큐가 데이터 프레임으로 큐 사이즈의 80% 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다.
미리 설정된 프레임 제거 조건이 만족되지 않는 경우, 네트워크 디바이스는 큐의 상태를 계속하여 모니터링하여, 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다.
미리 설정된 프레임 제거 조건이 만족된 경우, 네트워크 디바이스는 큐로부터 적어도 하나의 데이터 프레임을 제거할 수 있다(S18030). 이에 대하여는 도 19를 참조하여 이하에서 상세히 설명한다.
도 19는 본 발명의 다른 실시예에 따른 네트워크 디바이스의 큐 관리 방법을 나타낸다. 구체적으로, 도 19는 큐 관리 방법으로서 우선순위 기반 방법(또는 알고리즘)을 사용하는 경우, 네트워크 디바이스가 미리 설정된 프레임 제거 조건이 만족되어 큐로부터 적어도 하나의 데이터 프레임을 제거하는 방법을 나타낸다. 실시예로서, 우선순위 기반 알고리즘은 상술한 PSPF 방법이 적용되는 경우에만 사용될 수 있다. 도 19에서는 도 1 내지 18과 중복되는 부분에 대한 자세한 설명은 생략한다.
미리 설정된 프레임 제거 조건이 만족된 경우, 네트워크 디바이스는 복수의 데이터 프레임의 각각이 속하는 스트림을 식별할 수 있다(S19010). 이 경우, 네트워크 디바이스는 데이터 프레임 각각에 대한 스트림 식별(ID) 정보를 획득하여, 데이터 프레임이 속하는 스트림을 식별할 수 있다. 이에 대하여는 도 16을 참조하여 상술한 바와 같다.
일 실시예에서, 네트워크 디바이스는 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 데이터 프레임이 속하는 스트림을 식별할 수 있다. 실시예로서, 추가 정보는 네트워크 디바이스 내에서 내부적으로만 사용되는 정보일 수 있다. 예를 들면, 네트워크 디바이스는 상술한 ISS의 유닛 데이터 프리미티브 내의 연결 식별자(connection_identifier) 정보(또는 파라미터)로부터 데이터 프레임이 속하는 스트림에 대한 스트림 ID를 획득할 수 있다. 이때, 연결 식별자 정보의 서브 정보인 스트림 핸들 정보가 데이터 프레임이 속하는 스트림에 대한 스트림 ID를 획득하기 위해 사용될 수 있다.
다른 실시예에서, 네트워크 디바이스는 데이터 프레임으로부터 획득된 정보를 사용하여 데이터 프레임이 속하는 스트림을 식별할 수 있다. 예를 들면, 네트워크 디바이스는 데이터 프레임의 목적지 MAC 주소 정보, 발신지 MAC 주소 및/또는 VLAN ID 정보에 기초하여 데이터 프레임이 속하는 스트림 ID를 획득하여, 데이터 프레임이 속하는 스트림을 식별할 수 있다.
이렇게 식별된 스트림에는 크리티컬 스트림 및/또는 논크리티컬 스트림이 포함될 수 있다. 실시예로서, 네트워크 디바이스는 미리 설정된 스트림 우선순위 정보에 기초하여 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다.
네트워크 디바이스는 미리 설정된 스트림 우선순위 정보(또는 테이블)에 기초하여 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다(S19020). 실시예로서, 스트림 우선순위 정보는 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함할 수 있다. 이 경우, 네트워크 디바이스는 상기 획득된 데이터 프레임에 대한 스트림 식별 정보와 스트림 우선순위 정보에 포함된 스트림 식별 정보에 기초하여 해당 데이터 프레임이 속하는 스트림이 논크리티컬 스트림인지 또는 크리티컬 스트림인지 여부를 결정할 수 있다.
일 실시예에서, 네트워크 디바이스는 식별된 스트림 중 스트림 우선순위 정보에 포함되지 않은 논크리티컬 스트림의 데이터 프레임을 최우선으로 제거할 수 있다.
이때, 논크리티컬 스트림의 데이터 프레임의 복수 개인 경우, 네트워크 디바이스는 데이터 프레임의 전부를 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림의 스트림에 속하는 프레임들은 큐로부터 제거되지 않고 보호될 수 있다. 즉, 크리티컬 스트림에 대한 프레임 손실을 막을 수 있다.
일 실시예에서, 논크리티컬 스트림의 데이터 프레임이 큐로부터 완전히 제거된 이후에, 다시 미리 설정된 프레임 제거 조건이 만족되어 미리 설정된 스트림 우선순위 정보에 기초하여 적어도 하나의 데이터 프레임을 제거해야 하는 경우, 네트워크 디바이스는 식별된 스트림 중 스트림 우선순위 정보에 포함된 크리티컬 스트림들 내에서 우선순위가 가장 낮은 크리티컬 스트림의 데이터 프레임을 제거할 수 있다. 이때, 크리티컬 스트림의 데이터 프레임의 복수 개인 경우, 네트워크 디바이스는 데이터 프레임의 전부 또는 일부를 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림들 중 우선순위가 높은 크리티컬 스트림에 속하는 프레임들은 큐로부터 제거되지 않고 보호될 수 있다. 즉, 우선순위가 높은 크리티컬 프레임에 대한 프레임 손실을 막을 수 있다.
이와 같이, 네트워크 디바이스는 큐로부터 데이터 프레임을 제거하는 경우, 스트림의 우선순위(또는 중요도)에 기초하여 스트림 별로 차등을 두어 데이터 프레임을 제거함으로써, 상술한 딜레이 기간 동안에도 프레임 손실로 인한 치명적인 결과를 초래할 수 있는 크리티컬 스트림의 프레임 손실을 최소화할 수 있다는 이점을 갖는다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
발명의 실시를 위한 형태
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 네트워크 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (12)

  1. 네트워크 디바이스에 있어서,
    복수의 데이터 프레임을 저장하는 큐, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 갖는;
    상기 큐와 연결된 프로세서를 포함하되,
    상기 프로세서는,
    상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하고,
    상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는, 네트워크 디바이스.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하고, 미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거하는, 네트워크 디바이스.
  3. 제 2 항에 있어서,
    상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 손실(frame loss)를 최소화하기 위해 상기 스트림 우순순위 정보에 포함되는 스트림인, 네트워크 디바이스.
  4. 제 3 항에 있어서,
    상기 프로세서는,
    상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거하는, 네트워크 디바이스.
  5. 제 4 항에 있어서,
    상기 프로세서는,
    상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거하는, 네트워크 디바이스.
  6. 제 2 항에 있어서,
    상기 프로세서는,
    데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별하는, 네트워크 디바이스.
  7. 네트워크 디바이스의 큐 관리 방법에 있어서,
    큐에 복수의 데이터 프레임을 저장하는 단계, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 갖는;
    상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하는 단계; 및
    상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계를 포함하는, 네트워크 디바이스의 큐 관리 방법.
  8. 제 7 항에 있어서,
    상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계는:
    상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계; 및
    미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거하는 단계를 포함하는, 네트워크 디바이스의 큐 관리 방법.
  9. 제 8 항에 있어서,
    상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 손실(frame loss)를 최소화하기 위해 상기 스트림 우선순위 정보에 포함되는 스트림인, 네트워크 디바이스의 큐 관리 방법.
  10. 제 9 항에 있어서,
    상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 단계는, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거하는, 네트워크 디바이스의 큐 관리 방법.
  11. 제 10 항에 있어서,
    상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거하는 단계를 더 포함하는, 네트워크 디바이스의 큐 관리 방법.
  12. 제 8 항에 있어서,
    상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계는, 데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별하는, 네트워크 디바이스의 큐 관리 방법.
KR1020197018084A 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법 KR102164033B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/014895 WO2018117280A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법

Publications (2)

Publication Number Publication Date
KR20190082960A true KR20190082960A (ko) 2019-07-10
KR102164033B1 KR102164033B1 (ko) 2020-10-12

Family

ID=62627648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197018084A KR102164033B1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법

Country Status (4)

Country Link
US (1) US11082348B2 (ko)
EP (1) EP3557824B1 (ko)
KR (1) KR102164033B1 (ko)
WO (1) WO2018117280A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902621B2 (en) * 2018-12-17 2024-02-13 Arris Enterprises Llc System and method for media stream filler detection and smart processing for presentation
US11502767B2 (en) * 2019-08-16 2022-11-15 Arista Networks, Inc. VLAN-aware clock synchronization
CN112543153A (zh) * 2019-09-20 2021-03-23 华为技术有限公司 报文转发方法、装置、系统、设备及存储介质
CN112838992B (zh) * 2019-11-22 2024-06-14 华为技术有限公司 报文调度方法及网络设备
DE102021100647A1 (de) * 2020-04-30 2021-11-04 Realtek Semiconductor Corp. Schaltung in einem router oder switch und korrespondierendes rahmenverarbeitungsverfahren

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040080367A (ko) * 2003-03-10 2004-09-18 삼성전자주식회사 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
KR101468082B1 (ko) * 2007-01-12 2014-12-03 경희대학교 산학협력단 네트워크 추상 계층 유닛의 패킷 구성방법, 이를 이용한비디오 부호화 및 복호화 알고리즘 및 장치, 서비스품질제어를 위한IPv6 라벨 스위칭 알고리즘 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771653B1 (en) * 1999-09-23 2004-08-03 International Business Machines Corporation Priority queue management system for the transmission of data frames from a node in a network node
US8422500B2 (en) * 2004-07-02 2013-04-16 Rockstar Consortium Us Lp VLAN support of differentiated services
JP2006076175A (ja) * 2004-09-10 2006-03-23 Kyocera Mita Corp 画像形成装置及びその制御方法
KR101138105B1 (ko) * 2005-04-29 2012-04-24 포항공과대학교 산학협력단 광대역 무선 접속 시스템의 단말에서 상향 링크 스케줄러와스케줄링 방법
US7966648B2 (en) * 2006-05-01 2011-06-21 Qualcomm Incorporated Dynamic quality of service pre-authorization in a communications environment
US8027252B2 (en) * 2007-03-02 2011-09-27 Adva Ag Optical Networking System and method of defense against denial of service of attacks
US10111138B2 (en) * 2013-04-02 2018-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Traffic classification over the base station subsystem transport network
KR20150066335A (ko) * 2013-12-06 2015-06-16 가온미디어 주식회사 무선통신에서 패킷 손실을 줄이기 위한 방법 및 장치
CN108347101A (zh) 2017-01-22 2018-07-31 立锜科技股份有限公司 多模式无线电源接收电路及其控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040080367A (ko) * 2003-03-10 2004-09-18 삼성전자주식회사 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
KR101468082B1 (ko) * 2007-01-12 2014-12-03 경희대학교 산학협력단 네트워크 추상 계층 유닛의 패킷 구성방법, 이를 이용한비디오 부호화 및 복호화 알고리즘 및 장치, 서비스품질제어를 위한IPv6 라벨 스위칭 알고리즘 및 장치

Also Published As

Publication number Publication date
EP3557824A1 (en) 2019-10-23
KR102164033B1 (ko) 2020-10-12
WO2018117280A1 (ko) 2018-06-28
US11082348B2 (en) 2021-08-03
US20210135996A1 (en) 2021-05-06
EP3557824B1 (en) 2022-04-20
EP3557824A4 (en) 2020-07-22

Similar Documents

Publication Publication Date Title
US10999222B2 (en) Network device and method for selecting transmission of network device
US7394758B2 (en) Method for supporting SDH/SONET APS on Ethernet
KR102164033B1 (ko) 네트워크 장치 및 네트워크 장치의 큐 관리 방법
US9178831B2 (en) Methods and apparatus for RBridge hop-by-hop compression and frame aggregation
US8737198B1 (en) Method and apparatus for controlling a set of ethernet nodes interconnected to form one or more closed loops
KR100839881B1 (ko) 패킷 전송방법 및 패킷 전송장치
US7102995B2 (en) Supporting SDH/SONET APS bridge selector functionality for ethernet
Lim et al. Performance analysis of the IEEE 802.1 ethernet audio/video bridging standard
US8527674B2 (en) Data packet switching
WO2021185208A1 (zh) 报文处理方法、装置、设备及存储介质
US20120163165A1 (en) Apparatus and method for packet transport service based on multi protocol label switching-transport profile (mpls-tp) network
CN103428060A (zh) 环形网络的无缝冗余实现方法
TWI627843B (zh) 在網路節點之訊務管理方法、封包交換型網路的網路節點、電腦可讀取媒體及電腦程式產品
CA2842069A1 (en) Technique for transferring data over a packet switched network
JP2022547143A (ja) データ伝送制御方法、装置、及び記憶媒体
Amari et al. AeroRing: Avionics full duplex ethernet ring with high availability and QoS management
US8228823B2 (en) Avoiding high-speed network partitions in favor of low-speed links
Teener IEEE 802 Time-Sensitive Networking: Extending Beyond AVB
EP1303082A2 (en) Transparent LAN-to-LAN connection between two customer locations through a RPR data transport network
CN117014384A (zh) 一种报文传输方法以及报文转发设备
DeSanti et al. FCoE in perspective
WO2020238875A1 (zh) 确定端口属性的方法和装置
RANGE COMMANDERS COUNCIL WHITE SANDS MISSILE RANGE NM WHITE SANDS MISSILE RANGE United States Telemetry over Internet Protocol (TMoIP) Standard
Prytz et al. Switched Ethernet in Automation

Legal Events

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