KR100826911B1 - 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치 - Google Patents

광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치 Download PDF

Info

Publication number
KR100826911B1
KR100826911B1 KR1020060125013A KR20060125013A KR100826911B1 KR 100826911 B1 KR100826911 B1 KR 100826911B1 KR 1020060125013 A KR1020060125013 A KR 1020060125013A KR 20060125013 A KR20060125013 A KR 20060125013A KR 100826911 B1 KR100826911 B1 KR 100826911B1
Authority
KR
South Korea
Prior art keywords
packet
reordering
buffer
packets
field
Prior art date
Application number
KR1020060125013A
Other languages
English (en)
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 한국전자통신연구원
Priority to KR1020060125013A priority Critical patent/KR100826911B1/ko
Priority to US11/871,347 priority patent/US8081634B2/en
Application granted granted Critical
Publication of KR100826911B1 publication Critical patent/KR100826911B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/25Arrangements specific to fibre transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element

Abstract

본 발명은 광-동축 혼합망의 케이블 모뎀에서 복수의 하향 채널을 통해 하향 패킷을 수신하여 처리하는 장치 및 방법에 관한 것이다. 본 발명에 따른 패킷 처리 장치는 복수의 하향 채널을 통해 수신된 패킷에 수신 채널의 번호를 부가하여 인터페이스 패킷을 생성하는 채널 수신부 및 케이블 모뎀 종단 장치로부터 수신된 하향 서비스 식별자 인코딩 정보를 참조하여 인터페이스 패킷을 재정렬이 필요한 재정렬 패킷과 재정렬이 필요 없는 일반 패킷으로 구분하여 저장하는 입력 제어부를 포함하는 것을 특징으로 한다. 본 발명에 패킷 처리 장치 및 방법에 의하면 복수의 채널을 통해 입력되는 여러 종류의 하향 패킷을 통합적인 구조에 의해 저장하고 효율적으로 출력 처리할 수 있다.
광-동축 혼합망, 케이블 모뎀, 하향 채널, 하향 패킷, 재정렬, DOCSIS.

Description

광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및 장치{METHOD AND APPARATUS OF PROCESSING DOWNSTREAM PACKETS FOR CABLE MODEM IN HYBRID FIBER COAXIAL NETWORKS}
도 1은 복수 개의 하향 채널을 통해 데이터를 동시에 송신/수신하는 CMTS/CM으로 구성되는 통상의 광-동축 혼합망을 도시한 것이다.
도 2A 내지 2D는 CMTS에서 CM으로 전송되는 하향 패킷의 형식을 도시한 것이다.
도 3는 복수 개의 하향 채널로부터 패킷을 수신하여 처리하는, 본 발명에 따른 CM의 구성도를 도시한 것이다.
도 4는 채널 수신기에서 입력 제어기로 전달되는 PHY-MAC 인터페이스 패킷의 형태를 도시한 것이다.
도 5는 입력 패킷 저장시에 운용되는 버퍼 서술자, 패킷 버퍼, 프리 버퍼 리스트, 우선순위 버퍼 서술자, 재정렬 상태 서술자 및 CAM 간의 동작 개념을 도시한 것이다.
도 6A 내지 6E는 본 발명에 따른 프리 버퍼 리스트, 우선순위 버퍼 서술자, 프리 버퍼 서술자, 점유 버퍼 서술자, 재정렬 상태 서술자 각각의 구성요소를 도시한 것이다.
도 7A 및 7B는 저장된 패킷의 타임아웃을 검사하기 위한 재정렬 타이머 리스트의 구성 개념도와 재정렬 타이머의 구성요소를 각각 도시한 것이다.
도 8은 특정 패킷이 저장되어 있는 패킷 버퍼를 검색하기 위한 CAM의 구성요소들을 도시한 것이다.
도 9는 본 발명에 따른 입력 패킷의 분류 방법 절차도를 나타낸 것이다. 도 9의 분류 방법에서는 입력 패킷을 재정렬이 필요 없는 일반 패킷과 재정렬 패킷으로 분류하는 방법의 절차도를 도시한다.
도 10은 재정렬이 필요 없는 일반 패킷을 패킷 버퍼에 저장하는 방법의 절차도를 도시한 갓이다.
도 11은 재정렬 패킷이 입력되면 입력 제어기에서 재정렬 과정 사전 처리를 수행하는 방법의 절차도를 도시한 것이다.
도 12는 재정렬 패킷을 패킷 버퍼에 저장하는 방법의 절차도를 도시한 것이다.
도 13은 출력 제어기가 내부 동작 사이클에 따라 수행하는 동작의 절차도를 도시한 것이다.
도 14는 저장된 패킷 중 타임아웃이 발생한 패킷에 대한 재정렬 과정을 수행하는 방법의 절차도를 도시한 것이다.
도 15는 재정렬 패킷의 손실을 검출하여 재정렬 과정을 수행하는 방법의 절차도를 도시한 것이다.
도 16은 입력된 패킷의 순서 변경 필드가 바뀌었을 때 재정렬 과정을 수행하 는 방법의 절차도를 도시한 것이다.
도 17은 패킷 버퍼에 저장된 패킷들을 트래픽 우선순위 및 재정렬을 수행하여 출력하는 방법의 절차도를 도시한 것이다.
도 18은 패킷 버퍼에 저장된 재정렬 패킷들 중 타임아웃이 발생한 패킷을 검출하는 방법의 절차도를 도시한 것이다.
<도면의 주요 부분에 대한 부호의 설명>
310: 채널 수신기 320: 입력 처리기
330: 출력 처리기 340: CAM
350: 타이머 제어기 361: 버퍼 서술자
362: 패킷 버퍼 371: 프리 버퍼 리스트
372: 우선순위 버퍼 서술자 373: 재정렬 상태 서술자
382: 재정렬 타이머 리스트
본 발명은 광-동축 혼합망(hybrid fiber coaxial networks)에서 복수 개의 하향 채널을 통해 케이블모뎀종단장치(cable modem termination system, 이하 "CMTS"란 칭함)로부터 동시에 데이터를 수신하는 케이블모뎀(cable modem, 이하 "CM"이라 칭함)의 수신 패킷 입력, 처리 및 출력에 관한 것이다.
도 1은 4개의 하향 채널을 통해 동시에 데이터를 송신/수신하는 CMTS/CM으 로 구성되는 광-동축 혼합망을 도시한 것이다. 도 1에 도시하였듯이 CMTS(110)의 분류기(111)는 네트워크측 인터페이스(network-side interface, 이하 "NSI" 칭함)(140)로부터 입력된 패킷을 일반 패킷(115)과 재정렬 패킷(116)으로 분류한다. 분류된 패킷 중 일반 패킷(115)은 4 개의 스케쥴러(113) 중 어느 하나 또는 4개의 스케쥴러(113) 전체로 전달되고, 재정렬 패킷은 순서화기/분배기(112)로 전달되어 재정렬 순서에 따라 번호가 할당된 뒤에 4개의 스케쥴러(113)로 일정한 규칙에 따라 분배된다.
CMTS(110)의 각 채널 스케쥴러(113)는 일반 패킷(115) 또는 재정렬 패킷(116)을 입력 받아 스케쥴링 알고리즘에 따라 4개의 하향 채널(114) 중 어느 하나를 통해 CM(120)으로 전송한다. CM(120)은 수신된 패킷을 처리하여 고객 댁내 장치(customer premise equipment, 이하 "CPE"라 칭함)(130)로 전송한다.
상기 광-동축 혼합망 구조에서 CM(120)은 단일 채널(114)로 전송되는 일반 패킷과 2~4개의 하향 채널(114)로 전송되는 재정렬 패킷을 수신한다. 따라서 일반 패킷과 재정렬 패킷을 동시에 처리할 수 있어야 하며, 특히 재정렬 패킷은 CMTS(110)가 2~4개의 채널(114)로 분배하여 전송하기 때문에 각 채널(114)의 스케쥴러와 각 하향 채널(114)의 설정에 따라 수신되는 패킷의 순서가 상기 NSI(140)로부터 입력되는 순서와 다를 수 있다. 따라서, CM(120)은 수신된 재정렬 패킷을 CMTS(110)에서 NSI(140)로 입력되는 순서와 동일하게 출력하기 위해 CPE(130)로 전송하기 전에 패킷 재정렬 과정을 수행한다.
CMTS(110)는 CM(120)에서 일반 패킷과 재정렬 패킷를 처리할 수 있도록 필 요한 정보인 하향 서비스 식별자(downstream service identifier, 이하 "DSID"라 칭함)를 CM(120)과의 초기화 과정에서 전송하고, 이후 패킷내에 DSID를 삽입하여 전송한다. 재정렬 패킷의 경우 재정렬을 위한 패킷 순서 번호(packet sequence number, 이하 "PSN"이라 칭함)가 함께 기입된다. CM(120)에서는 CMTS(110)로부터 수신하는 제어 정보와 패킷내에 포함되어 수신되는 정보를 이용하여 하향 패킷을 처리한다.
초기화 과정에서 CMTS(110)로부터 CM(120)으로 전송되는 DSID 인코딩 정보로는 CM(120)에서 수신하여 처리해야 하는 개별 DSID 정보, 이 DSID에 대한 동작 정보 및 일반 패킷과 재정렬 패킷을 식별케 하는 정보가 있으며, 특히 재정렬 패킷의 DSID의 경우에는 하향 재정렬 채널 리스트 정보와 재정렬 대기 시간 정보가 있다.
도 2는 CMTS(110)에서 CM(120)으로 전송되는 각종 패킷의 형식을 도시하고 있다.
첫 번째로, 패킷(201)은 트래픽 우선순위가 없는 일반 유니캐스트 패킷이다. 도시된 패킷(201)은 MAC 헤더(210)와 MAC 데이터(220)로 구성되며, MAC 헤더(210)는 패킷의 종류 및 확장헤더의 존재를 나타내는 프레임 제어 필드(frame control, 이하 "FC"라 칭함)(211), 확장헤더의 길이를 나타내는 MAC 파라미터 필드(MAC parameter, 이하 "MAC_PARM"칭함)(212), 패킷의 전체 길이를 나타내는 길이 필드(length, 이하 "LEN"로 이라 칭함)(213), MAC 헤더(210)의 오류 체크를 위한 헤더 체크 시퀀스 필드(header check sequence, 이하 "HCS"로 칭함)(214)로 구성된 다.
두 번째로, 패킷(202)은 트래픽 우선순위가 존재하는 일반 유니캐스트 패킷이다. 도시된 패킷(202)에는 확장헤더 필드(extended MAC header, 이하 "EHDR" 칭함)(215)가 추가되어 구성되며, EHDR(215)은 패킷의 트래픽 우선순위를 나타내는 트래픽 우선순위 정보가 포함된다.
세 번째로 도시된 패킷(203)은 일반 멀티캐스트 패킷이다. 도시된 바와 같이, 패킷(201)은 EHDR(215)을 추가로 포함하여 구성되며, 멀티캐스트 패킷(203)의 EHDR(216)에는 유니캐스트 패킷(202)의 EHDR(215)에 더해 멀티캐스트 패킷(203)을 식별하기 위한 DSID 정보가 더 포함된다.
네 번째 패킷(204)은 재정렬 유니캐스트/멀티캐스트 패킷이다. 본 패킷(204)은 일반 유니캐스트 패킷(201) 형식에 EHDR(217)을 추가하여 구성되며, EHDR(217)은 일반 멀티캐스트 패킷(203)의 EHDR(216)과 비교하여 재정렬 과정을 수행할 수 있는 순서 변경 카운터(sequence change counter, 이하 "SCC"라 칭함) 값과 PSN 정보가 추가로 포함된다.
앞의 세 패킷(201~203)은 단일 채널로 전송되는 일반 패킷 형식들이며, 마지막으로 도시된 패킷(204)은 복수 개의 채널을 통해 전송되는 재정렬 패킷의 형식이다.
CM(120)은 이처럼 서로 다른 형식을 갖는 각종 패킷을 그 형식에 따라 일반 패킷과 재정렬 패킷으로 분류하여 처리하여 출력하며, 특히 재정렬 패킷들에 대해서는 PSN에 따라 재정렬하기 위해 순서가 다르게 입력되는 패킷들을 저장하기 위한 일정량의 버퍼가 필요하다. 또한 출력단에서 패킷은 하나씩 출력되기 때문에 일반 패킷들을 임시로 저장하기 위한 버퍼 공간이 필요하게 된다.
이와 같이 입력되는 모든 패킷들을 저장하여야 하므로 CM(120)에서 요구되는 버퍼의 크기는 패킷 입력 속도와 저장된 패킷의 대기시간에 따라 결정된다는 문제와 함께, 일반 패킷을 저장하는 버퍼와 재정렬 패킷을 저장하는 버퍼를 독립적으로 구성하는 경우에는 요구되는 버퍼의 크기가 매우 커지게 된다는 문제가 발생하게 된다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 재정렬이 필요한 패킷과 필요하지 않은 패킷을 통합 구조하에서 처리함으로써, 요구되는 버퍼 용량을 최소화하고 버퍼 오버플로우에 의한 패킷 손실이 발생하지 않는 CM 입출력 제어기의 구성을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 입력된 패킷을 재정렬 유무에 따라 구별하여 저장하는 입력 제어기 및 패킷의 우선순위를 고려하여 CM의 출력 속도에 맞추어 출력하는 출력 제어기를 제공하는 것에 더해, 재정렬을 위한 데이터 구조, 재정렬 패킷들의 재정렬 저장 시간을 제어하는 타이머 제어기의 구성 및 재정렬 패킷의 손실을 보다 빨리 검출할 수 있는 방안을 함께 제공하는 것을 그 목적으로 한다.
상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 측면에 따른 하향 패킷 처리 장치는 복수의 하향 채널을 통해 수신된 패 킷에 수신 채널의 번호를 부가하여 인터페이스 패킷을 생성하는 채널 수신부 및 케이블 모뎀 종단 장치로부터 수신된 하향 서비스 식별자 인코딩 정보를 참조하여 인터페이스 패킷을 재정렬이 필요한 재정렬 패킷과 재정렬이 필요 없는 일반 패킷으로 구분하여 저장하는 입력 제어부를 포함하는 것을 특징으로 한다.
한편, 본 발명의 다른 측면에 따른 하향 패킷 처리 방법은 복수의 하향 채널을 통해 수신된 패킷에 수신 채널의 번호를 부가하여 인터페이스 패킷을 생성하는 단계, 케이블 모뎀 종단 장치로부터 수신된 하향 서비스 식별자 인코딩 정보를 참조하여 인터페이스 패킷을 재정렬이 필요한 재정렬 패킷과 재정렬이 필요 없는 일반 패킷으로 구분하여 패킷 버퍼에 저장하는 단계, 및 패킷 버퍼에 저장된 재정렬 패킷과 일반 패킷에 대한 정보를 구분된 재정렬 패킷 및 일반 패킷별로 저장하는 단계를 포함하는 것을 특징으로 한다.
이하 첨부된 도면들을 참조하여 본 발명에 따른 일 실시예에 대해 상세히 설명한다. 먼저 본 발명에 따른 CM 장치의 내부 구성 및 각 구성요소의 동작을 지원하는 데이터 구조에 대해 설명하고, 그러한 구성을 통해 패킷의 입력, 처리 및 출력 과정을 수행하는 방법에 대해 설명하도록 한다.
도 3은 복수 개의 하향 채널을 통해 패킷을 수신하여 처리하는, 본 발명에 따른 CM(300)의 내부 구성을 도시한 것이다. 도 3에 도시하였듯이 CM(300)은 4개의 하향 채널(301)로부터 입력된 아날로그 신호에서 MAC 프레임을 추출하고, 여기에 수신 채널 번호를 삽입하여 도 4에 도시된 PHY-MAC 인터페이스 패킷(400)을 생성하는 4개의 채널 수신기(310)를 포함한다. 출력된 PHY-MAC 인터페이스 패 킷(400)은 입력 제어기(320)를 통해 패킷 버퍼(362)에 저장되며, 패킷 버퍼(362)에 저장된 패킷은 출력 제어기(330)에 의해 출력되어 CPE로 전달된다. 한편, 버퍼 서술자(361)는 패킷 버퍼(362)에 저장된 각각의 패킷에 대한 정보를 기록하며, 이 외에도 저장 가능한 패킷 버퍼들을 지시하는 프리 버퍼 리스트(371), 재정렬이 필요 없는 패킷들이 저장된 패킷 버퍼들을 지시하는 우선순위 버퍼 서술자(372), 재정렬이 필요한 패킷들이 저장된 패킷 버퍼들을 지시하고 이들의 재정렬 상태를 나타내는 재정렬 상태 서술자(373) 및 CAM(340), 패킷 버퍼(362)에 저장된 재정렬이 필요한 패킷 중 특정 패킷의 입력 시간을 기록하는 재정렬 타이머 리스트(382), 재정렬 타이머 리스트(382)에 기록된 패킷들의 타임아웃을 검사하는 타이머 제어기(350) 등을 포함하여 구성된다. 도 3에서는 8개의 우선순위 버퍼 서술자(372)와 16개의 재정렬 상태 서술자(373)가 구비된 경우를 예시한다.
도 4는 각각의 채널 수신기(310)로부터 입력 제어기(320)로 전달되는 PHY-MAC 인터페이스 패킷(400)의 형식을 도시한 것이다. 도 4에 도시되어 있듯이, 채널 수신기(310)에 의해 생성되는 PHY-MAC 인터페이스 패킷(400)은 아날로그 신호로부터 추출된 MAC 프레임(420) 앞에 1 바이트 크기의 수신 채널 번호(received channel number, 이하 "RCN"으로 칭함)(410) 정보가 삽입되어 있다.
도 5는 도 3의 버퍼 서술자(361), 패킷 버퍼(362), 프리 버퍼 리스트(371), 우선순위 버퍼 서술자(372), 재정렬 상태 서술자(373) 및 CAM(340)간의 연결 관계를 개념적으로 도시한 것이다. 도 5에 도시된 바와 같이, 버퍼 서술자(361)와 패킷 버퍼(362)는 일대일 대응 관계에 있다. 각 버퍼 서술자(361)는 대응하는 패킷 버퍼(362)의 사용 여부에 따라 프리(free) 버퍼 서술자(541)와 점유(occupied) 버퍼 서술자(542, 543)로 구분된다. 프리 버퍼 리스트(371)는 프리 버퍼 서술자(541)들을 지시하고 있으며, 우선순위 버퍼 서술자(372), 재정렬 상태 서술자(373) 및 CAM(340)은 점유 버퍼 서술자(542, 543)를 지시하고 있다. 한편, 패킷 버퍼(362)는 사용자에 의해 그 크기가 결정되는 파티클(particle) 버퍼이다. 즉, 패킷의 크기가 패킷 버퍼(362)의 크기보다 크면 복수의 패킷 버퍼(362)에 나누어 저장되고 각 패킷 버퍼(362)에 저장된 패킷의 정보는 버퍼 서술자(361)에 기록된다.
도 6A 내지 도 6E는 도 5의 프리 버퍼 리스트(371), 우선순위 버퍼 서술자(372), 프리 버퍼 서술자(541), 점유 버퍼 서술자(542 또는 543), 재정렬 상태 서술자(373) 각각의 내부 구성을 도시한다.
도 6A에 도시된 프리 버퍼 리스트(371)는 사용하지 않는 12비트의 예약된 필드(611), 프리 버퍼 리스트(371)에 의해 지시되는 패킷 버퍼들 중 가장 앞의 패킷 버퍼에 대응하는 버퍼 서술자를 나타내는 16비트의 헤드(head) 프리 버퍼 서술자 포인터(612), 사용하지 않는 12비트의 예약된 필드(613)와 프리 버퍼 리스트(371)를 구성하는 패킷 버퍼들 중 가장 뒤의 패킷 버퍼에 대응하는 버퍼 서술자를 나타내는 16비트의 테일(tail) 프리 버퍼 서술자 포인터(614)로 구성된다.
도 6B에 도시된 우선순위 버퍼 서술자(372)는 출력 가능 상태를 나타내는 1비트의 출력 유효 필드(621), 우선순위 버퍼 서술자(372)가 비어 있는 상태를 나타내는 1비트의 널(null) 필드(622), 사용하지 않는 10비트의 예약된 필드(623), 우 선순위 버퍼 서술자(372)에 의해 지시되는 패킷 버퍼들 중 가장 앞의 패킷 버퍼에 대응하는 버퍼 서술자를 나타내는 16비트의 헤드 점유 버퍼 서술자 포인터(624), 사용하지 않는 12비트의 예약된 필드(625)와 우선순위 버퍼 서술자(372)에 의해 지시되는 패킷 버퍼들 중 가장 뒤의 패킷 버퍼에 대응하는 버퍼 서술자를 나타내는 16비트의 테일 점유 버퍼 서술자 포인터(626)로 구성된다.
도 6C는 도 5의 버퍼 서술자(361) 중 프리 버퍼 서술자(541)를 도시하고 있다. 도 6C에 도시된 프리 버퍼 서술자(541)는 사용하지 않는 16비트의 예약된 필드(631)와 패킷을 저장할 수 있는 다음 패킷 버퍼에 대응하는 프리 버퍼 서술자를 지시하는 다음 프리 버퍼 포인터(632)로 구성된다.
도 6D는 도 5의 버퍼 서술자(361) 중 점유 버퍼 서술자(542 또는 543)를 도시한다. 도 6D에 도시된 바와 같이, 점유 버퍼 서술자(542)는 대응되는 패킷 버퍼에 패킷의 앞부분이 저장되어 있음을 나타내는 1비트의 최초 패킷(first packet, 이하"F"로 칭함) 필드(641), 매핑되는 패킷 버퍼에 패킷의 뒷부분이 저장되어 있음을 나타내는 1비트의 최후 패킷 (last packet, 이하 "L"로 칭함) 필드(642), 대응되는 패킷 버퍼에 저장된 패킷의 길이를 나타내는 10비트의 점유 길이 필드, 다음 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자를 지시하는 다음 점유 버퍼 서술자 포인터(643)로 구성된다.
도 6E는 재정렬 상태 서술자(373)의 구성을 도시하고 있다. 재정렬 상태 서술자(373)는 출력이 가능한 상태를 나타내는 1비트의 출력 유효(valid output, 이하 "V"로 칭함) 필드(661), 재정렬이 필요한 패킷의 손실 검출을 나타내는 1비트 의 고속 손실 검출 활성(rapid loss detection active, 이하 "LDA"로 칭함) 필드(662), 패킷 버퍼에 저장된 재정렬이 필요한 패킷들의 타임아웃을 나타내는 1비트의 타임아웃 활성 트리거링(triggering timeout active, 이하 "TTA"로 칭함) 필드(663), 패킷 순서 번호(packet sequence number, 이하 "PSN"으로 칭함)의 초기화 상태를 나타내는 1비트의 SCC 활성 트리거링(triggering SCC active, 이하 "TSA"로칭함) 필드(664), 널 패킷을 나타내는 1비트의 널(이하 "N"으로 칭함) 필드(665), 현재 처리중인 패킷들의 순서 변경 카운터 값을 나타내는 1비트의 현재 순서 변경 카운터(이하 "현재 SCC"로 칭함) 필드(666), 사용하지 않는 7비트의 예약된 필드(651), 패킷의 우선순위를 나타내는 3비트의 트래픽 우선순위(traffic priority) 필드(652), 다음 출력할 패킷의 패킷 순서 번호를 나타내는 16비트의 다음 기대 패킷 순서 번호(next expected packet sequence number, 이하 "NEPSN"로 칭함) 필드(653), 패킷 버퍼에 저장된 패킷 중 가장 큰 패킷 순서 번호를 나타내는 16비트의 수신된 최대 패킷 순서 번호(received maximum packet sequence number, 이하 "RMPSN"로 칭함) 필드(654), 저장할 수 잇는 버퍼 크기를 나타내는 12비트의 버퍼 크기(buffer size) 필드(655), 출력 가능한 재정렬 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자를 지시하는 20비트의 출력 가능 패킷(output-ready packet) 버퍼 포인터 필드(656), 현재 SCC로 변경된 시간을 나타내는 32비트의 현재 SCC 업데이트 타임스탬프(current SCC update timestamp) 필드(657), 각 채널로 입력되어 저장된 패킷의 수를 나타내는 16비트의 채널 패킷 카운터(channel packet counter, 이하 "CPC"로 칭함) 필드(658), 수신된 채널 정보를 나타내는 8비트의 수 신 채널 번호(receive channel number, 이하 "RCN"로 칭함) 필드(659), 사용하지 않는 8비트의 예약된 필드(651)로 구성된다.
도 7A 및 도 7B의 도시는 도 3의 재정렬 타이머 리스트(382)의 구성에 대한 개념적인 설명과 그 내부 구성을 포함한다.
도 7A에 도시하였듯이 재정렬 타이머 리스트(382)는 매 재정렬 DSID 마다 독립적으로 구성되며, 각 재정렬 타이머 리스트(382)는 환형 큐(cyclic queue) 구조(720)로 된 복수 개의 재정렬 타이머(710)를 포함한다.
도 7B는 재정렬 타이머(710)의 내부 형식을 도시하고 있는데, 재정렬 타이머(710)는 타임스탬프가 기록되어 저장된 패킷의 PSN을 나타내는 16비트의 PSN 필드(711)와 패킷이 입력된 시간을 나타내는 32비트의 패킷 입력 시간(timestamp of packet input) 필드(712)로 구성된다.
한편, 도 8은 상기 도 3의 CAM(340)을 구성하는 요소들을 도시하고 있다. 도 8에 도시하였듯이 CAM(340)은 특정 패킷을 찾기 위한 검색 필드(810)와 패킷이 저장된 패킷 버퍼(362)에 대응하는 점유 버퍼 서술자(361)를 나타내는 주소 필드(820)로 구성된다. 검색 필드(810)는 패킷 버퍼(362)에 저장된 특정 패킷을 찾기 위한 정보인 DSID(811), PSN(812), SCC(813)로 구성되고, 주소 필드(820)는 특정 패킷이 저장된 패킷 버퍼(362)에 대응하는 점유 버퍼 서술자(361)의 버퍼포인터(821), 저장된 패킷의 RCN(822), 트래픽 우선순위(823)로 구성된다.
다음으로, 지금까지 설명한 바와 같은 구성을 갖는 CM 장치에 의해 패킷의 입력, 처리 및 출력 과정을 수행하는 방법에 대해 설명하도록 한다. 앞서 설명한 바와 같이, CM의 4개의 채널 수신기는 4개의 하향 채널로부터 아날로그 신호를 입력 받아 MAC 프레임을 추출한다. 그리고 채널 수신기는 추출한 MAC 프레임 앞에 1 바이트 크기의 수신 채널 번호 정보를 삽입한 PHY-MAC 인터페이스 패킷을 생성하여 입력 제어기로 전달한다.
도 9는 입력 제어기에서 입력 받은 PHY-MAC 인터페이스 패킷을 처리하는 과정을 단계별로 도시한다. 단계(910)에서 입력 제어기는 입력 받은 PHY-MAC 인터페이스 패킷내의 내부 정보와 CMTS로부터 전달 받은 DSID 인코딩 정보를 비교하여 재정렬이 필요 없는 패킷(911)과 재정렬이 필요한 패킷(913)으로 분류한다. 재정렬이 필요 없는 패킷(911)에 대해서는 단계(912)의 과정을 수행하고, 재정렬이 필요한 패킷(913)에 대해서는 단계(914)의 과정을 수행한다.
도 10은 재정렬이 필요 없는 일반 패킷의 입력 처리 및 저장 과정을 구체적으로 도시한 것이다. 도 10에 도시된 바와 같이, 재정렬이 필요 없는 패킷으로 분류되면 먼저 단계(1010)에 의해 프리 버퍼 리스트를 검사하고, 단계(1011)에서 패킷 저장 가능 여부를 판단하여 패킷 저장이 불가능하면 단계(1013)에서 패킷을 삭제하고 처리 과정을 종료한다. 그러나 패킷 저장이 가능하면 단계(1020)에서 패킷을 패킷 버퍼에 저장하고 저장한 패킷의 정보를 버퍼 서술자에 기록한다. 이 때, 만약 트래픽 우선순위 정보를 포함하지 않은 패킷이면 트래픽 우선순위 값을 0으로 기록한다.
그리고 이어지는 단계(1022)에서는 패킷의 우선순위 정보를 추출하여 해당 우선순위 버퍼 서술자의 N 필드를 검사한다. N 필드가 0으로 설정되어 있으면 단 계(1024) 및 단계(1025)를 통해 우선순위 버퍼 서술자의 테일 점유 버퍼 서술자 포인터 값과 변경 전 테일 점유 버퍼 서술자 포인터 값에 기록되어 있던 점유 버퍼 서술자의 다음 점유 버퍼 서술자 포인터 값을 마지막으로 패킷을 저장한 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값으로 변경하고 종료한다. 그러나 N 필드가 1로 설정되어 있는 경우에는 우선순위 버퍼 서술자의 헤드 점유 버퍼 서술자 포인터 값과 테일 점유 버퍼 서술자 포인터 값을 마지막으로 패킷을 저장한 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값으로 변경하고 N 필드를 0으로 설정한 다음 패킷 입력 처리 과정을 종료한다.
도 11 및 도 12는 재정렬이 필요한 패킷의 입력 처리 및 저장 방법을 단계별로 도시한 절차도이다. 재정렬이 필요한 패킷, 즉 재정렬 패킷의 처리 과정은 사전처리 과정과 저장 과정으로 이루어진다.
먼저, 도 11에 도시된 사전처리 과정은 재정렬이 필요한 패킷의 재정렬 과정 사전 처리 기능과 관련되어 있다. 단계(1110)에서는 입력 되는 PHY-MAC 인터페이스 패킷의 SCC 필드와 재정렬 상태 서술자내의 1비트의 현재 SCC 필드 값을 비교한다. 비교 결과 동일하지 않은 경우에는 단계(1120)에서 현재 시간과 재정렬 상태 서술자 내 32비트의 현재 SCC 업데이트 타임스탬프 필드 값을 비교하여 타임아웃 여부를 판단한다. 비교 결과 그 차이가 1초가 지나지 않았다면 타임아웃이 아닌 것으로 판단하여 단계(1123)에서 입력 패킷을 삭제하고 종료한다. 그러나 1초가 지난 후라면 타임아웃으로 판단하고 단계(1124) 내지 단계(1126)를 수행한다.
단계(1124)에서는 재정렬 상태 서술자내의 현재 SCC 필드 값을 입력되는 패 킷의 SCC 값으로 변경하고 현재 SCC 업데이트 타임스탬프 값을 현재 시간으로 변경한다. 그리고 단계(1125)에서는 재정렬 상태 서술자의 TSA 필드 값을 1로 변경하고, 다음 단계(1126)에서는 NEPSN, RMPSN 및 모든 CPC 필드 값을 0으로 초기화한, 뒤 후술하는 단계(1110)의 비교 결과가 동일한 경우의 처리 과정을 수행한다.
한편, 단계(1110)의 비교 결과 입력 패킷의 SCC 필드와 재정렬 상태 서술자내의 현재 SCC 필드 값이 동일한 경우에는, 단계(1140)에서 입력 되는 패킷의 PSN을 재정렬 윈도우 크기와 비교한다. 재정렬 윈도우 크기는 재정렬 상태 서술자내의 NEPSN과 버퍼 크기의 합으로 계산되며, 이렇게 계산된 재정렬 윈도우 크기보다 입력 패킷의 PSN이 크면 단계(1143)에서 입력 패킷을 삭제하고 종료하고 사전처리 과정을 종료한다. 반면, PSN이 재정렬 윈도우 크기보다 작으면, 다시 단계(1150)에서 입력 패킷의 PSN과 재정렬 상태 서술자 내의 RMPSN을 비교한다. 입력 패킷의 PSN이 RMPSN보다 큰 경우에는 단계(1153)에서 해당 DSID의 재정렬 타이머 리스트 맨 마지막에 PSN과 현재 시간을 기록하고, 단계(1154)에서 RMPSN을 입력 패킷의 PSN으로 수정하고 이어지는 단계(1160)의 패킷 저장 과정을 수행한다. 그러나 입력 패킷의 PSN이 RMPSN보다 작으면 다른 절차 없이 바로 단계(1160)의 패킷 저장 과정을 수행한다. 단계(1160)의 패킷 저장 과정은 도 11에 상세히 도시되어 있다.
도 11에 도시된 패킷 저장 과정은 단계(1210)의 패킷 길이 검사 단계로부터 시작한다. 단계(1210)에서는 MAC 프레임의 LEN 필드와 MAC_PARM 필드를 이용하여 PHY-MAC 인터페이스 패킷의 길이를 검사하는데, 이 두 필드 값이 서로 같으면 널 패킷이고, 서로 다르면 유효한 패킷이다. 유효한 패킷인 경우에는 단계(1220)에서 프리 버퍼 리스트를 검사하여 패킷 저장이 가능하지 않으면 단계(1223)에서 패킷을 삭제하고, 패킷 저장이 가능한 경우에는 단계(1224)에서 패킷을 패킷 버퍼에 저장하고 저장한 패킷의 정보를 버퍼 서술자에 기록한다. 다음으로 단계(1213)에서는 입력 패킷 내의 SCC, DSID 및 PSN 등을 추출하여 이후에 수행될 단계들을 준비한다.
단계(1230)에서는 해당 DSID의 재정렬 상태 서술자의 V 필드 값을 검사한다. V 필드가 0으로 설정되어 있는 경우에는 입력 패킷의 PSN과 해당 DSID의 재정렬 상태 서술자의 NEPSN을 비교하는 단계(1240)를 거친다. 비교 결과 두 값이 동일하면 해당 DSID의 재정렬 상태 서술자의 V 필드를 1로 설정함과 동시에 NEPSN을 1증가시키고 점유 버퍼 포인터에 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값을 기록하고, 트래픽 우선순위 및 RCN을 기록한 뒤에 저장 과정을 종료한다. 단계(1240)의 비교 결과 두 값이 동일하지 않은 경우와 단계(1232)에서 V 필드가 1로 설정된 것으로 판단된 경우에는 공통적으로 다음 과정이 수행된다. 즉, 단계(1244)에서 입력 패킷에서 추출된 SCC, DSID 및 PSN을 CAM의 검색 필드에 기록하고, 패킷을 저장한 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값, 트래픽 우선순위 및 RCN 값을 주소 필드에 기록한다. 그 후에, 단계(1250)에서 입력 패킷의 RCN에 해당하는 재정렬 상태 서술자의 CPC를 1 증가 시키고 패킷 손실 검출을 체크한다. 단계(1250)에서 수행되는 손실 검출 체크 과정은 해당 DSID 재정렬 상태 서술자의 수신 채널 리스트의 모든 CPC 필드 값이 0보다 큰 지 여부를 검사하는 것인데, 이와 같이 수행된 손실 체크 검사 결과 모든 CPC가 0보다 크다면 단 계(1253)에서 LDA 필드를 1로 설정하여 패킷 저장 과정을 종료하고, 하나의 CPC라도 0인 것이 있는 경우에는 곧바로 종료한다.
지금까지 입력 제어기에 의해 수행되는 PHY-MAC 인터페이스 패킷의 처리 및 저장 과정에 대해 살펴 보았다. 다음으로, 출력 제어기에 의해 수행되는 패킷 출력 과정에 대해 설명하도록 한다.
도 13은 출력 제어기에 의해 수행되는 패킷 출력 과정의 각 동작 사이클을 나타낸 것이다. 도시된 바와 같이, 출력 제어기는 TTA 필드 체크 사이클(1310) LDA 필드 체크 사이클(1320), TSA 필드 체크 사이클(1330) 및 패킷 출력 사이클(1340)의 4 종류의 동작 사이클에 따라 서로 다른 방식으로 동작한다. 도시된 단계들(1311, 1321, 1331, 1341)은 상기 4 종류의 동작 사이클에서 각각 수행되는 과정을 나타내며 도 14 내지 도 17을 통해 각각 설명된다.
먼저, 도 14에 도시된 TTA 필드 체크 사이클에 대해 설명한다. 출력 제어기는 TTA 필드 체크 사이클이 되면, 단계(1401)에서는 모든 재정렬 상태 서술자내의 V 필드와 TTA 필드를 검사하여 V 필드가 0이고 TTA 필드가 1인 재정렬 상태 서술자를 검색한다. 만약 V 필드가 0이고 TTA 필드가 1인 재정렬 상태 서술자를 2개 이상 검색하였다면 임의의 재정렬 상태 서술자를 1개 선택한다. 다음 단계(1410)에서는 CAM에서 동일한 SCC, DSID와 NEPSN을 가지는 패킷을 검색한다. 검색에 실패한 경우에는 단계(1413)에서 NEPSN을 1 증가시켜 성공할 때까지 검색을 반복적으로 수행한다. 이와 같은 과정을 통해 패킷 검색에 성공한 경우에는 단계(1414)에서 해당 DSID의 재정렬 상태 서술자의 V 필드를 1로 설정함과 동시에 NEPSN을 1증 가시키고, 점유 버퍼 포인터 값에 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값을 기록하고, 트래픽 우선순위 및 RCN을 기록한 후 단계(1415)에서 CAM에서 검색된 패킷에 해당하는 엔트리를 삭제하고, 해당 CPC를 1 감소 시킨다.
다음으로, 단계(1420)에서는 검색된 패킷의 PSN을 해당 DSID 재정렬 타이머 리스트의 첫번째 엔트리 PSN과 비교한다. 비교 결과 두 값이 동일한 경우에는 단계(1423)에서 해당 DSID 재정렬 타이머 리스트의 첫번째 엔트리를 삭제하고(이 때 다음 엔트리가 리스트의 첫번째 엔트리가 된다), TTA 필드를 0으로 설정한다. 다음으로, 단계(1430)에서는 모든 CPC 필드 값을 검사하여, 하나의 CPC라도 0인 것이 있으면 단계(1433)에서 LDA 필드를 0으로 설정한 뒤 TTA 필드 체크 사이클을 종료하고, 모든 CPC가 0보다 크다면 바로 종료한다.
도 15는 LDA 필드 체크 사이클에 따른 처리 과정을 도시한 것이다. LDA 필드 체크 사이클에서 출력 제어기는 단계(1501)에서 모든 재정렬 상태 서술자내의 V 필드와 LDA 필드를 검사하여 V 필드가 0이고 LDA 필드가 1인 재정렬 상태 서술자를 검색한다. V 필드가 0이고 LDA 필드가 1인 재정렬 상태 서술자가 복수 개 검색된 경우에는 임의의 재정렬 상태 서술자를 1개 선택한다. 다음 단계(1510)에서는 CAM에서 동일한 SCC, DSID와 NEPSN을 가지는 패킷을 검색한다. 검색에 실패한 경우에는 단계(1513)에서 NEPSN을 1 증가시켜 성공할 때까지 검색을 반복적으로 수행한다. 이와 같은 과정을 통해 패킷 검색에 성공한 경우에는 단계(1514)에서 해당 DSID의 재정렬 상태 서술자의 V 필드를 1로 설정함과 동시에 NEPSN을 1증가시키고, 점유 버퍼 포인터 값에 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값을 기록하고, 트래픽 우선순위 및 RCN을 기록한 후 단계(1515)에서 CAM에서 검색된 패킷에 해당하는 엔트리를 삭제하고, 해당 CPC를 1 감소 시킨다.
다음으로, 단계(1520)에서는 검색된 패킷의 PSN을 해당 DSID 재정렬 타이머 리스트의 첫번째 엔트리 PSN과 비교한다. 비교 결과 두 값이 동일한 경우에는 단계(1523)에서 해당 DSID 재정렬 타이머 리스트의 첫번째 엔트리를 삭제하고, TTA 필드를 0으로 설정한다. 다음으로, 단계(1530)에서는 모든 CPC 필드 값을 검사하여, 하나의 CPC라도 0인 것이 있으면 단계(1533)에서 LDA 필드를 0으로 설정한 뒤 TTA 필드 체크 사이클을 종료하고, 모든 CPC가 0보다 크다면 바로 종료한다.
다음, 도 16은 TSA 필드 체크 처리 과정을 도시한다. 도 16을 참조하면, 출력 제어기는 단계(1601)에서 모든 재정렬 상태 서술자 중에서 TSA 필드가 1인 재정렬 상태 서술자들을 검색한다. 만약 TSA 필드가 1인 재정렬 상태 서술자가 2개 이상 검색된 경우에는 임의의 재정렬 상태 서술자를 1개 선택한다. 다음 단계(1610)에서는 검색 및 선택된 재정렬 상태 서술자에 대해, 동일하지 않은 현재 SCC와 동일한 DSID를 가지는 패킷을 CAM에서 검색한다. 검색에 성공한 경우에는 단계(1614)를 통해 CAM에서 찾은 패킷의 해당 엔트리를 삭제하고, 하나의 패킷도 검색하지 못한 경우에는 단계(1613)에서 TSA 필드를 0으로 설정하고 TSA 필드 체크 과정을 종료한다.
마지막으로, 도 17은 패킷 출력 과정을 도시하고 있다. 출력 제어기는 패킷 출력 체크 사이클이 되면, 16개의 재정렬 상태 서술자와 8개의 우선순위 버퍼 서술자들 중에서 V 필드가 1로 설정된 1개의 재정렬 상태 서술자나 우선순위 버퍼 서술자를 선택한다. 만약 V 필드가 1로 설정된 재정렬 상태 서술자 또는 우선순위 버퍼 서술자가 2개 이상 검색되는 경우에는 트래픽 우선순위에 따라 어느 하나를 선택하고, 또한 동일한 트래픽 우선순위 값을 가지는 것이 2개 이상 있는 경우에는 임의로 하나를 선택하여, 선택된 재정렬 상태 서술자나 우선순위 버퍼 서술자에 의해 지시되는 패킷 버퍼에 저장된 패킷을 출력한다.
단계(1710)에서는 출력된 패킷의 재정렬 필요 여부를 검사하여, 재정렬이 필요 없는 패킷인 경우에는 단계(1730)에서 해당 우선순위 버퍼 서술자의 V 필드를 0으로 설정하고 헤드 점유 버퍼 서술자 포인터 값을 변경할 수 있는지 판단한다. 변경이 가능하지 않은 경우에는 단계(1733)에서 N 필드를 1로 설정하고, 이와 달리 변경이 가능한 경우에는 단계(1734)에서 헤드 점유 버퍼 서술자 포인터 값을 마지막으로 출력한 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자내의 점유 버퍼 서술자 포인터 값으로 변경한다. 다음으로, 출력 제어기는 단계(1760)를 통해 8개의 우선순위 버퍼 서술자 중 우선순위가 높고 N이 0으로 설정된 것을 선택하여 V 필드를 1로 설정한 다음 패킷 출력 처리 과정을 종료한다.
한편, 단계(1710)에서 재정렬 패킷이 출력되었다고 판단하는 경우에는 단계(1720)에서 출력 패킷의 해당 DSID 재정렬 상태 서술자의 NEPSN을 1 증가시켜 CAM에서 NEPSN을 가지는 패킷을 검색한다. 검색에 실패한 경우에는 단계(1723)를 통해 해당 DSID 재정렬 상태 서술자의 V 필드를 0으로 설정한 다음 패킷 출력 처리 과정을 종료한다. 반면 검색에 성공한 경우에는, 단계(1724)에서 해당 DSID의 재 정렬 상태 서술자의 V 필드를 1로 설정함과 동시에 NEPSN을 1 증가시키고 점유 버퍼 포인터 값에 패킷이 저장된 패킷 버퍼에 대응하는 점유 버퍼 서술자의 주소 값을 기록하고, 트래픽 우선순위 및 RCN 값을 기록한 다음 단계(1725)에서 검색된 패킷의 해당 엔트리를 삭제하고 CPC를 1 감소시킨다.
다음으로, 단계(1740)에서는 검색된 패킷의 PSN 필드 값과 해당 DSID 재정렬 타이머 리스트의 첫번째 엔트리 PSN을 비교한다. 비교 결과 두 값이 동일한 경우에는, 단계(1743)에서 해당 DSID 재정렬 타이머 리스트의 첫번째 엔트리를 삭제하고 TTA 필드를 0으로 설정한 후 단계(1750)을 통해 모든 CPC 필드의 값을 검사한다. 검사 결과 하나의 CPC라도 그 값이 0인 것이 있으면 단계(1753)에서 LDA 필드를 0로 설정한 다음 패킷 출력 처리 과정을 종료하고, 모든 CPC가 0보다 크다면 곧바로 종료한다.
특히 입력 제어기가 패킷 버퍼에 저장한 패킷들 중에서 재정렬이 필요한 패킷들은 일정 시간이 지나 타임아웃이 발생하면 곧바로 출력해야 하는데 이러한 타임아웃 발생 패킷의 검색은 타이머 제어기에 의해 수행된다. 도 18은 타이머 제어기에 의해 수행되는 타이머 체크 처리 과정을 단계별로 도시한 것이다.
만약 타이머 제어기가 타임아웃이 발생한 패킷을 찾았다면 타임아웃이 발생한 패킷의 해당 DSID 재정렬 상태 서술자의 TTA 필드를 1로 설정한다. 즉 타이머 제어기는 일정한 주기로 반복되는 타이머 체크 사이클(1810)마다 단계(1820)을 통해 모든 DSID의 재정렬 타이머 리스트의 가장 앞의 타임 스탬프를 추출하여, 단계(1830)에서 해당 타임스탬프 값과 현재 시간을 비교한다. 비교 결과 현재 시간 과 타임스탬프 값의 차이값, 즉 대기 시간이 소정 시간, 본 실시예에서는 18ms가 지났는지 여부를 확인한다. 대기 시간이 18ms를 경과하지 않은 경우에는 다시 사이클의 출발점으로 돌아가지만, 18ms가 경과했다면 단계(1840)에서 해당 DSID의 재정렬 상태 서술자의 TTA 필드를 1로 설정하여 출력 제어기에게 타임아웃이 발생한 패킷의 존재를 통보함으로써, 타임아웃 발생 패킷이 곧바로 출력될 수 있도록 한다.
본 발명에 따른 패킷 처리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리와 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광섬유, 금속선 또는 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 어셈블러나 컴파일러에 의해 만들어지는 것과 같은 기계어 부호뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 부호가 포함된다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 한정된 실시예와 도면을 통해 본 발명의 구성을 설명하였으나, 이와 같은 제한된 설명은 본 발명에 대한 전반적인 이해를 돕기 위해서 제공된 것이다. 본 발명은 앞서 언급한 실시예들에 한정되지 않으며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 본 발명의 상세한 설명의 기재로부터 다양한 형태의 수정 및 변형을 가할 수 있다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 대상은 본 발명 사상의 범주에 속한다고 할 것이다.
상기에서 설명한 바와 같이, 본 발명은 CM에서 복수 개의 채널로 동시에 패킷을 입력 받아 패킷 내부의 DSID에 따라 일반 패킷과 재정렬 패킷으로 분류하여 패킷 버퍼에 저장하는 입력 방법 및 장치와 패킷 버퍼에 저장된 패킷을 트래픽 우선순위에 따라 그리고 필요한 경우 재정렬하여 출력하는 출력 방법 및 장치를 독립적으로 구성하여 패킷 처리의 요구사항을 만족하면서 패킷 버퍼의 크기가 작고 손실 없는 패킷 처리 방법 및 장치를 제시하였다.
지금까지 설명은 본 발명의 이해를 위해 적절한 실시 예에 대한 것으로, 본 발명이 이것으로 제한되는 것은 아니며, 당 기술분야의 통상의 지식을 가진 자에게는 첨부한 특허청구범위의 범위 및 정신을 벗어나지 않고 다양한 수정 및 변형이 가능함은 명백한 것이다.

Claims (11)

  1. 광-동축 혼합망의 케이블 모뎀에서 케이블 모뎀 종단 장치로부터 복수의 하향채널을 통해 수신된 패킷을 처리하는 장치에 있어서,
    상기 수신된 패킷에 상기 패킷이 수신된 채널의 번호를 부가하여 인터페이스 패킷을 생성하는 채널 수신부; 및
    상기 케이블 모뎀 종단 장치로부터 수신된 하향 서비스 식별자 인코딩 정보를 참조하여, 상기 인터페이스 패킷을 재정렬이 필요한 재정렬 패킷과 재정렬이 필요 없는 일반 패킷으로 구분하여 저장하는 입력 제어부
    를 포함하는 것을 특징으로 하는 패킷 처리 장치.
  2. 제1항에 있어서,
    상기 입력 제어부는 상기 구분된 재정렬 패킷과 일반 패킷을 단일한 패킷 버퍼에 저장하는 것을 특징으로 하는 패킷 처리 장치.
  3. 제1항에 있어서,
    상기 구분된 재정렬 패킷과 일반 패킷을 저장하는 복수의 패킷 버퍼를 포함하는 패킷 저장부; 및
    상기 패킷 버퍼에 저장된 패킷과 관련된 정보를 저장하는 패킷 정보 저장부
    를 더 포함하는 것을 특징으로 하는 패킷 처리 장치.
  4. 제3항에 있어서,
    상기 패킷 저장부는 사용자에 의해 그 크기가 조절 가능한 파티클 버퍼로 구성되는 것을 특징으로 하는 패킷 처리 장치.
  5. 제3항에 있어서,
    상기 패킷 정보 저장부는, 상기 패킷 버퍼와 일대일 대응 관계에 있으며 상기 패킷 버퍼에 저장되는 패킷에 대한 서술 정보를 저장하는 버퍼 서술자; 사용 가능한 빈 패킷 버퍼를 지시하는 프리 버퍼 리스트; 상기 재정렬 패킷이 저장된 버퍼에 대응하는 버퍼 서술자를 지시하고, 상기 저장된 재정렬 패킷의 재정렬 상태와 관련된 정보를 저장하는 재정렬 상태 리스트를 저장하는 것을 특징으로 하는 패킷 처리 장치.
  6. 제1항에 있어서,
    상기 저장된 재정렬 패킷 및 일반 패킷을 상기 인터페이스 패킷내에 기록된 우선순위 정보를 참조하여 트래픽 우선순위에 따라 출력하는 출력 제어부
    를 더 포함하는 것을 특징으로 하는 패킷 처리 장치.
  7. 제6항에 있어서,
    상기 출력 제어부는 상기 재정렬 패킷을 상기 재정렬 패킷내에 기록된 패킷 순서 번호를 참조하여 재정렬하여 재정렬된 순서에 따라 출력하는 것을 특징으로 하는 패킷 처리 장치.
  8. 제6항에 있어서,
    상기 재정렬 패킷내에 기록된 타임스탬프와 현재 시간을 비교하여 상기 재정렬 패킷의 출력 타임아웃을 검사하는 타이머 제어부
    를 더 포함하고,
    상기 출력 제어부는 상기 타이머 제어부에 의해 타임아웃된 것으로 검사된 재정렬 패킷을 우선적으로 출력하는 것
    을 특징으로 하는 패킷 처리 장치.
  9. 광-동축 혼합망의 케이블 모뎀에서 케이블 모뎀 종단 장치로부터 복수의 하향채널을 통해 수신된 패킷을 처리하는 방법에 있어서,
    상기 수신된 패킷에 상기 패킷이 수신된 채널의 번호를 부가하여 인터페이스 패킷을 생성하는 단계;
    상기 케이블 모뎀 종단 장치로부터 수신된 하향 서비스 식별자 인코딩 정보를 참조하여, 상기 인터페이스 패킷을 재정렬이 필요한 재정렬 패킷과 재정렬이 필요 없는 일반 패킷으로 구분하여 패킷 버퍼에 저장하는 단계; 및
    상기 패킷 버퍼에 저장된 재정렬 패킷과 일반 패킷에 대한 정보를 상기 구분된 재정렬 패킷 및 일반 패킷별로 저장하는 단계
    를 포함하는 것을 특징으로 하는 패킷 처리 방법.
  10. 제9항에 있어서,
    상기 패킷 버퍼에 저장된 재정렬 패킷 및 일반 패킷을 상기 인터페이스 패킷내에 기록된 우선순위 정보를 참조하여 트래픽 우선순위에 따라 출력하는 단계
    를 더 포함하는 것을 특징으로 하는 패킷 처리 방법.
  11. 제10항에 있어서,
    상기 패킷 출력 단계는,
    상기 재정렬 패킷내에 기록된 타임스탬프와 현재 시간을 비교하여 상기 재정렬 패킷의 출력 타임아웃을 검사하는 단계; 및
    타임아웃된 것으로 검사된 재정렬 패킷을 다른 패킷보다 우선적으로 출력하는 단계
    를 포함하는 것을 특징으로 하는 패킷 처리 방법.
KR1020060125013A 2006-12-08 2006-12-08 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치 KR100826911B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060125013A KR100826911B1 (ko) 2006-12-08 2006-12-08 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치
US11/871,347 US8081634B2 (en) 2006-12-08 2007-10-12 Method and apparatus for processing downstream packets of cable modem in hybrid fiber coaxial networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060125013A KR100826911B1 (ko) 2006-12-08 2006-12-08 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치

Publications (1)

Publication Number Publication Date
KR100826911B1 true KR100826911B1 (ko) 2008-05-06

Family

ID=39497945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060125013A KR100826911B1 (ko) 2006-12-08 2006-12-08 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치

Country Status (2)

Country Link
US (1) US8081634B2 (ko)
KR (1) KR100826911B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120281703A1 (en) * 2009-12-04 2012-11-08 Napatech A/S Apparatus, an assembly and a method of operating a plurality of analyzing means reading and ordering data packets
JP5190490B2 (ja) * 2010-06-14 2013-04-24 Nttエレクトロニクス株式会社 出力レート制御装置及び出力レート制御方法
CN102255818B (zh) * 2011-08-26 2014-03-05 迈普通信技术股份有限公司 一种驱动接收报文的方法及装置
WO2013048728A1 (en) * 2011-09-27 2013-04-04 Thomson Licensing Method and apparatus for qam modulator channel duplication
CN103828304B (zh) 2011-09-27 2017-12-08 汤姆逊许可公司 用于内容分配系统的用户界面
US20150237390A1 (en) 2012-09-12 2015-08-20 Thomson Licensing Mosaic program guide
US10750233B2 (en) * 2015-08-26 2020-08-18 Sony Corporation Recording apparatus, recording method, and program
US11576117B1 (en) * 2021-07-23 2023-02-07 Charter Communications Operating, Llc Methods and apparatus for cable network power management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040002040A (ko) * 2002-06-29 2004-01-07 주식회사 케이티 이더넷 기반의 디지털 가입자 회선 통신망에서Virtual Concatenation을 이용한패킷 전송 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907041B1 (en) * 2000-03-07 2005-06-14 Cisco Technology, Inc. Communications interconnection network with distributed resequencing
US7400629B2 (en) * 2002-12-19 2008-07-15 International Business Machines Corporation CAM based system and method for re-sequencing data packets
KR20040068698A (ko) 2003-01-27 2004-08-02 주식회사 케이티 Ip망에서 음성트래픽의 소요회선수 산출 및 패킷레벨대역 설계 방법
KR100552515B1 (ko) 2004-01-07 2006-02-14 삼성전자주식회사 패킷 처리 장치 및 방법
US9722850B2 (en) * 2004-08-09 2017-08-01 Arris Enterprises Llc Method and system for transforming video streams using a multi-channel flow-bonded traffic stream
US9699102B2 (en) * 2004-08-09 2017-07-04 Arris Enterprises Llc Very high speed cable modem for increasing bandwidth
US20070081538A1 (en) * 2005-10-12 2007-04-12 Alliance Semiconductor Off-load engine to re-sequence data packets within host memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040002040A (ko) * 2002-06-29 2004-01-07 주식회사 케이티 이더넷 기반의 디지털 가입자 회선 통신망에서Virtual Concatenation을 이용한패킷 전송 방법

Also Published As

Publication number Publication date
US8081634B2 (en) 2011-12-20
US20080137661A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
KR100826911B1 (ko) 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치
US5446735A (en) Bandwidth allocation in a shared transmission channel employing CSMA/CD
US6967951B2 (en) System for reordering sequenced based packets in a switching network
US6161138A (en) Media access control for isochronous data packets in carrier sensing multiple access systems
US7596644B2 (en) Transmit rate pacing system and method
KR100945262B1 (ko) 데이터 패킷을 연결 및 피기백시키기 위한 방법 및 장치
KR101106941B1 (ko) 비동기식 네트워크들 내의 보장된 패킷 전달 시간들을 위한방법, 장치 및 시스템
US6973096B2 (en) System and method for processing bandwidth allocation messages
KR20110110088A (ko) 관리되는 네트워크를 통해 계층-2에서의 패킷 수집 및 단편화
CA2007634C (en) Method and system for transmitting buffered data packets on a communications network
WO2019072072A1 (zh) 一种拥塞流识别方法及网络设备
US20050270977A1 (en) Combined queue WME quality of service management
US20070230492A1 (en) Frame multiplexing device
EP1302011A1 (en) Media access control for isochronous data packets in carrier sensing multiple access systems
EP1934733B1 (en) Rate pacing
US11146494B2 (en) Scheduling prioritized traffic in a scrambled coded multiple access (SCMA) system
US20060274754A1 (en) Residential ethernet node apparatus for maintaining starting point of superframe and method for processing same
US8693488B2 (en) Method of transmitting messages
US20030169735A1 (en) Method, apparatus and computer program product for performing data packet classification
KR101151171B1 (ko) Hfc망에서 상향 대역 할당 정보를 이용하여 상향 버스트데이터를 수신하는 방법 및 장치
US9985874B2 (en) Network traffic split among multiple paths
KR20180081360A (ko) 파장 가변 레이저 다이오드의 파장이 변환되는 시간에 기초하여 포토닉 프레임을 전송할 시간을 결정하는 포토닉 프레임 스위칭 시스템
US6591316B1 (en) Avoiding fragmentation loss in high speed burst oriented packet memory interface
JP2000174767A (ja) マルチアクセス通信システム
JP2001045049A (ja) 競合制御装置

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
FPAY Annual fee payment

Payment date: 20120330

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee