양방향 통신 시스템(예컨대, 케이블 모뎀)은, 계층적으로 조직화된 통신 프로토콜을 사용하여 서로 다른 네트워크 사이에서 패킷화된 데이터의 끊임없는 통신을 지원한다. 패킷 분류기와 MAC 프레임 헤더 편집 기능(네트워크 필터)은, 모뎀에 부착된 PC와 같은 고객 구내 장비(CPE)에 의해 로컬 어플리케이션의 동작을 지원하기 위해, 케이블 모뎀 시스템에 유리하게는 병합된다. 예컨대, 이러한 어플리케이션으로는, (a) 예컨대 난방 제어와 같은 가전기기 제어, (b) 예컨대 TV 또는 VCR 또는 DVD 제어와 같은 주변기기 제어, (c) 예컨대 가정 내의 서로 다른 기기 사이에서의 통신 기능, (d) 예컨대 케이블 모뎀 진단 기능을 위한 진단 기능, (e) 예컨대 서로 다른 가정용 PC 사이의 E-메일과 같은 안전한 사설 인터넷 또는 인트라넷(intranet) 통신 기능이 있을 수 있다. 케이블 모뎀에서 네트워크 필터를 사용하면, 로컬 네트워크(예컨대, 이더넷, USB 또는 HPNA 네트워크) 상의 CPE 디바이스는 다중 프로토콜 층으로 구성된 계층적으로 조직된 통신 프로토콜을 사용하여 모뎀을 통해 데이터를 직접 교환할 수 있게 된다. 이들 층은 예컨대 인터넷 프로토콜(IP)과 매체 액세스 제어(MAC) 층을 포함할 수 있다.
상기 모뎀에서 네트워크 필터를 사용하면 또한 유리하게는 부착된 PC 내의 수동 구성 동작을 제거하게 되며, (a) PC 와 인터넷 사이 및 (b) PC와 케이블 모뎀 사이의 동시 통신을 가능케 된다. PC와 모뎀 사이의 통신은 도 1의 시스템을 참조하여 설명될 수 있는 진단 어플리케이션과 같은 로컬 어플리케이션을 지원하는데 사용된다. 도 1의 시스템은 원거리에 위치한 MSO(Multiple System Operator: 다중 시스템 운영자) 케이블 회사 헤드-엔드 장비(90), 고객 소유 또는 임대 케이블 모뎀(12) 및 여기에 부착된 고객 구내 장비(CPE)(95)로 구성된 패킷-교환 네트워크를 포함한다. 예시로서, 도 1의 시스템에서, CPE 디바이스(95)중 하나가 케이블 모뎀(12)과 헤드-엔드 장비(90)를 통해서 인터넷에 통신하며, 또한 동시에 모뎀(12)으로부터 진단 정보를 다운로드한다. 헤드-엔드(90)는 전형적으로는, CPE 디바이스(95)가 인터넷에 접속하고, 월드 와이드 웹(World Wide Web)을 검색하며, FTP 파일 전송을 수행하고 E-메일을 교환하는 등을 하도록 인터넷 서비스 제공자(ISP: Internet Service Provider) 기능을 제공한다.
시스템(12)의 케이블 모뎀은 예컨대 다중 진단 어플리케이션과 같은 로컬 통신을 수반하는 어플리케이션을 구현한다. 진단 어플리케이션은 네트워크 IP 주소를 사용하여 CPE 장비(95)와 통신하며, 이러한 주소는 헤드-엔드(90)의 다중 시스템 운영자(MSO)에 의해 {시스템(12)에 할당된 IP 주소와는 다른} 특정한 고정 값으로 제한된다. 나아가, CPE(95)는 전형적으로는 진단 어플리케이션이 아닌 다른 논리 네트워크 또는 서브네트워크 상에 상주한다. 그 결과, (a) 모뎀 시스템(12)과 CPE(95) 사이의 로컬 통신을 지원하도록 CPE 네트워크 파라미터를 구성하는 것과, (b) 로컬(예컨대, 진단) 어플리케이션을 위한 CPE(95)와 시스템(12) 사이에 통신을 동시에 유지하면서 헤드-엔드(90)를 통해서 (예컨대, 웹 서핑을 위해) 액세스된 원격 소스와 CPE(95) 사이에 인터넷 통신을 유지하는 것과 관련한 문제들이 있게된다. 상세하게, CPE(95)로 하여금 시스템(12)의 진단 정보에 액세스하게 하기 위해, 시스템(12)의 진단 어플리케이션에 의해 사용된 것과 동일한 논리 네트워크 상에 상주하도록 CPE(95)를 구성하는 것이 필요하다. 이러한 문제를 처리하는 한가지 방법은, CPE 디바이스가 모뎀 진단 어플리케이션과 동일한 네트워크상에 상주하도록 CPE(95) 네트워크 주소를 임시로 재구성하는 것이다. 이것은, CPE(95)와 시스템(12)이 네트워크 프로토콜 퍼스펙티브(perspective)로부터 직접 접속됨을 보장한다. 그러나, 이러한 구성 동작은, CPE 디바이스에 구성 값을 입력하고 이들을 활성화시키는 상세한 절차를 사용자가 따르는 것을 필요로 할 뿐 아니라 유효한 네트워크 주소 및 서브넷 마스크를 사용자가 결정하는 것을 필요로 하는 비-트리비얼 앤 에러 경향(non-trivial and error-prone)의 작업이다. 마이크로소프트 윈도우 상에 고정된 네트워크 주소를 설정하기 위해서, PC는 사용자가 사용자의 네트워크 셋업 제어 메뉴를 입력하고, 기존의 옵션을 변경하며, 정확한 파라미터를 입력하고 PC를 재부팅하는 것을 필요로 한다. 이러한 동작은 아마도 대다수의 PC 사용 가능 인력의 능력을 뛰어 넘는 능력을 필요로 한다. 게다가, 일단 CPE 네트워크 주소가 이를 위해 고정되면, CPE 디바이스는 더 이상 헤드-엔드와 동일한 논리 네트워크 상에 상주하지 않으며, CPE 디바이스(예컨대, PC)는 동시에 인터넷을 검색하거나 E-메일을 교환할 수 없다.
도 2의 시스템(12)의 예시적인 실시예는, 패킷 분류기와 MAC 프레임 헤더 편집 기능(네트워크 필터)을 유리하게 병합함으로써 이들 문제를 처리한다. 이것은, 예컨대 케이블 모뎀(12)을 통해 진단 데이터를 교환하는 것과 같은 로컬 네트워크 기능을 수행하기 위해 CPE 디바이스의 네트워크 주소를 수동으로 고정할 필요를 제거한다. 이것은 또한 CPE 디바이스로 하여금 모뎀 진단 데이터를 교환하면서 동시에 웹을 검색하게 한다. 도 2의 시스템(12)은 (CATV 헤드-엔드를 통한) 인터넷과 근거리 네트워크(LAN) 디바이스(PC를 포함함) 사이의 케이블 모뎀 브릿지 통신을 지원한다. 나아가, 시스템(12)과 CATV 헤드-엔드 사이의 양방향 통신은 도 7에 예시된 다중 층 프로토콜 포맷 상태이다.
도 7에 예시된 다중 층 프로토콜 포맷은, 시스템(12)과 헤드-엔드 사이의 {도 2의 라인(10)을 통한} 업스트림 통신을 위한 QAM(Quadrature Amplitude Modulation: 직교 진폭 변조) 또는 QPSK(Quadrature Phase Shift Keying Modulation: 직교 위상 편이 변조) 물리 층(629)을 수반한다. 이러한 물리 층은 DOCSIS MAC(Media Access Control) 데이터 프레임(631)을 운반하는 MPEG2(Moving Pictures Expert Group: 이동 화상 전문가 그룹) 트랜스포트 프로토콜 데이터를 운반한다. MAC 데이터는 이더넷-Ⅱ/802.3 논리 링크 제어 데이터 프레임(633) 또는 MAC 관리 데이터를 운반하며, 다시 이더넷 데이터는 IP 층 데이터를 운반한다. 케이블 모뎀은, 또한 이더넷 프로토콜내의 반환 데이터의 시분할 다중 통신을 위해 계층화된 순서인 633, 631 및 629의 프로토콜 층을 사용하여 CATV 헤드-엔드로의 반환 통신 경로를 유지한다.
CATV 헤드-엔드로부터 케이블 모뎀에 송신된, 포함된 물리 층 데이터는 이더넷 투명(transparent) 링크 층 브릿지(617)에 의해 802.3 이더넷 데이터 프레임에서 이더넷 통신을 위해 처리되거나 USB/MAC 층(623)에 의해 USB 또는 HPNA 포맷으로 변환된다. 이더넷 포맷으로 포트(72)(도 2)를 통해 통신할 때, 브릿지(617)에 의해 제공된 이더넷-Ⅱ/802.3 데이터(619)는, 이더넷-Ⅱ/802.3 물리 층 포맷(626)으로 포트(72) 상의 부착된 LAN 디바이스에 통신하기 위해 MAC 층 데이터(623)로 캡슐화된다. 이와 유사하게, USB 및 HPNA 포맷 각각으로 포트(82 및 77)(도 2)를 통해 통신할 때, 브릿지(617)에 의해 제공된 이더넷-Ⅱ/802.3 데이터(619)는, USB 또는 HPNA 물리 층 포맷(626)으로 포트(82 및 77) 상의 부착된 LAN 디바이스에 통신하기 위해 USB MAC 층 또는 HPNA MAC 층 데이터 프레임(623)으로 캡슐화된다.
케이블 모뎀은 LAN 디바이스와 양방향 통신을 유지하며, 또한 대응하는 이더넷, USB 또는 HPNA 프로토콜로 디바이스로부터 데이터를 수신한다. 다른 실시예에서, 시스템(12)은, 802.11 및 '블루투쓰(Bluetooth)' 데이터 링크를 포함하는 다른 방법을 통해 LAN 디바이스와 양방향 통신을 유지할 수 있다.
CATV 헤드-엔드와 부착된 CPE 디바이스 모두로부터 수신된 데이터는 반대편 인터페이스에 브릿지(발송)될 수 있거나 TCP/IP 스택(615)(도 7)에 전달될 수 있다. TCP/IP 스택(615)은 내부 소프트웨어 어플리케이션에 의해 사용된 소켓(socket) 어플리케이션 프로그래밍 인터페이스(API: Application Programming Interface)와 링크 층 브릿지(617) 사이에 통신할 때 데이터의 프로토콜 계층화 또는 계층화해제를 제공한다. 내부 소프트웨어 어플리케이션은 SNMP(System Network Management Protocol: 시스템 네트워크 관리 프로토콜) 어플리케이션(605), DHCP(Dynamic Host Configuration Protocol: 다이내믹 호스트 구성 프로토콜) 어플리케이션(607), HTTP 서버(609), 진단 어플리케이션(611) 및 ATE(Automatic Test Equipment: 자동 테스트 장비) 서버(613)를 포함한다.
본 명세서에서 설명된 케이블 모뎀은, "MPEG 표준"으로 명명된 MPEG2 이미지 인코딩 표준에 부합하는 MPEG 호환성 프로토콜을 사용한다. 이 표준은 시스템 인코딩부(1994년 6월 10일 ISO/IEC 13818-1)와 비디오 인코딩부(1995년 1월 20일 ISO/IEC 13818-2)로 구성된다. 본 명세서에서 설명된 인터넷 TCP/IP(Transmission Control Protocol/Internet Protocol) 및 이더넷 호환성 프로토콜은, 국제 원격통신 연합(ITU: International Telecommunications Union)에 의해 1998년 3월에 비준되고 RFC 2669(Request For Comment Document 2669)로 명시된 DOCSIS 1.0(Data Over Cable Service Interface Specification 1.0) 요건 및 멀티미디어 케이블 네트워크 시스템(MCNS: Multimedia Cable Networks System) 예비 요건과 호환성을 제공한다. RFC 문서는 인터넷을 통해 이용 가능하며, 인터넷 표준 운영 그룹에 의해 준비된다.
본 발명의 원리는 임의의 양방향 통신 시스템에 적용될 수 있으며, 케이블, ADSL, ISDN 또는 종래 유형의 모뎀으로 제한되지 않는다. 나아가, 개시된 시스템은, 예컨대 스트림화된 비디오 또는 오디오 데이터, 전화 메시지, 컴퓨터 프로그램, E-메일 또는 다른 패킷화된 데이터 및 통신을 포함하는 다양한 인터넷 소스로부터의 인터넷 프로토콜(IP) 데이터를 처리한다.
도 2의 케이블 모뎀{시스템(12)}은 라인(10) 상의 양방향 광대역 고속 RF 링크를 통해 CATV 헤드-엔드와 통신하며, 라인(10)은 전형적으로는 동축케이블 또는 광/동축 혼합망(HFC)으로 구성된다. 모뎀 시스템(12)은 근거리 네트워크(LAN)를 통해서 사용자 측에 위치한 디바이스와 양방향 통신한다. 전형적인 사용자 측 근거리 네트워크는 커넥터(72)를 통해 부착된 디지털/인텔/제록스(Digital/Intel/Xerox) 이더넷 호환성 네트워크를 포함한다. 다른 사용자 측 디바이스는 커넥터(82 및 77) 각각을 통해서 부착된 범용 직렬 버스(USB) 또는 HPNA 호환성 네트워크를 통해서 통신한다. 이더넷, HPNA 및 USB 네트워크 상에 부착된 사용자 디바이스는, 예컨대 개인용 컴퓨터(PC), 네트워크 프린터, 비디오 수신기, 오디오 수신기, VCR, DVD, 스캐너, 복사기, 전화, 팩스 및 가전기기와 같은 장비를 포함할 수 있다.
동작시, 도 2의 케이블 모뎀 시스템(12)의 다이플렉서(diplexer)(20)는 케이블 라인(10)을 통해 운반되는 {CATV 헤드-엔드로부터 모뎀(12)으로 보내진} 다운스트림 통신으로부터 {모뎀(12)으로부터 CATV 헤드-엔드로 보내진} 업스트림 통신을 분리한다. 다이플렉서(20)는, 업스트림 데이터(전형적으로는 5 내지 42MHz)와 다운스트림 데이터(전형적으로는 92 내지 855MHz) 각각이 사용하는 다른 주파수 범위에 기초하여 다운스트림 데이터로부터 업스트림 데이터를 분리한다. 제어기(60)는, 케이블 라인(10) 상에서 CATV 헤드-엔드로부터 MPEG2 트랜스포트 데이터를 수신하고, 포트(72, 82 및 77) 각각을 통해 출력하기 위해 이 데이터를 이더넷, USB 또는 HPNA 호환성 포맷으로 변환하도록 도 2의 케이블 모뎀(12)의 요소를 구성한다. 유사하게, 제어기(60)는, 포트(72, 82 및 77)로부터 이더넷, USB 또는 HPNA 호환성 데이터를 수신하고, 변환하고, 케이블 라인(10) 상에서 CATV 헤드-엔드에 MPEG2 트랜스포트 프로토콜 데이터를 송신하도록 도 2의 케이블 모뎀(12)의 요소를 구성한다. 제어기(60)는 양방향 데이터와 제어 신호 버스를 사용하여 시스템(12)의 요소 내의 제어 레지스터 값을 설정함으로써 시스템(12)의 요소들을 구성한다. 상세하게, 제어기(60)는, 이미 식별된 RF 채널 주파수 상에서 DOCSIS 포맷의 신호를 수신하기 위해 튜너(15), SAW 필터(25), 차동 증폭기(30) 및 MCNS(Multimedia Cable Networks Systems: 멀티미디어 케이블 네트워크 시스템) 인터페이스 디바이스(35) 를 구성한다. DOCSIS 포맷의 신호는 IP 데이터 내용을 포함하는 이더넷 호환성 데이터 프레임을 운반하는 MPEG2 트랜스포트 프로토콜 포맷을 포함한다.
제어기(60)는, 튜너(15)가 수신하도록 구성될 RF 채널 주파수를 결정하기 위해 초기화 프로세스를 사용한다. 초기화 프로세스는, DOCSIS 순응형 신호가 얻어질 때까지 연속적인 후보(candidate) RF 채널 주파수에 반복적으로 튜닝하는 단계를 수반한다. 제어기(60)는 수신된 데이터의 MCNS 인터페이스 프로세서(35)에 의한 성공적인 디코딩을 통해서 그리고 디코딩된 데이터에 대한 대응하는 수용 가능한 에러 율을 통해서 후보 채널 상의 DOCSIS 순응형 신호를 인식한다. 초기화 프로세스에서, MCNS 인터페이스(35), 증폭기(85) 및 RF 변압기(87)와 연계하여 제어기(60)는 또한, 업스트림 및 다운스트림 통신 파라미터를 적응적으로 그리고 반복적으로 조정하는 목적을 포함하는 다양한 목적을 위해 데이터 업스트림을 CATV 헤드-엔드에 송신한다. 이들 파라미터는 예컨대 케이블 모뎀 송신 전력 레벨 및 타이밍 오프셋을 포함한다.
초기화한 다음에, 정상 동작 시에 RF 반송파는 64 또는 256 QAM(Quadrature Amplitude Modulation)을 사용하여 MPEG2 트랜스포트 프로토콜 데이터로 변조된다. MPEG2 트랜스포트 데이터는 이더넷 포맷의 데이터를 포함하며, 이 데이터는 다시 예컨대 사용자 요청 HTML(HyperText Mark-up Language) 웹 페이지를 표시하는 IP 데이터를 포함한다. MPEG 트랜스포트 데이터는 다이플렉서(20)에 의해 튜너(15)에 제공된다. 튜너(15)는 다이플렉서(20)로부터의 입력 신호를 저주파수 대역으로 다운변환(down-convert)하며, 이러한 저주파수 대역은 인접한 RF 채널과의 신호 분리 를 증가시키기 위해 saw 필터(25)에 의해 필터링된다. 유닛(25)으로부터의 필터링된 신호는 레벨 편이되어, MCNS 인터페이스 프로세서(35)와 호환성 있는 신호를 제공하도록 차동 증폭기(30)에 의해 버퍼링된다. 결과적인 다운변환되고, 레벨 편이된 증폭기(30)로부터의 신호는 MCNS 프로세서(35)에 의해 복조된다. 이러한 복조된 데이터는 또한 프로세서(35) 내에서 트렐리스 방식으로 디코딩되고(trellis decoded), 바이트 할당 데이터 세그먼트로 매핑되며, 디인터리브(deinterleave)되고 리드-솔로몬(Reed-Solomon) 에러 정정된다. 트렐리스 디코딩, 디인터리빙 및 리드-솔로몬 에러 정정은 예컨대 Lee와 Messerschmidt의 공저인 참고 문헌 디지털 통신(Digital Communication)(1988년, 미국, 매사추세츠주, 보스톤 소재 Kluwer Academic 출판사)에서 설명된 알려진 기능이다. 프로세서(35)는 또한 MPEG2 포맷 데이터를 제어기(60)에 제공된 이더넷 데이터 프레임으로 변환한다.
제어기(60)는 CATV 헤드-엔드로부터 구성된 필터를 사용하여 유닛(35)으로부터의 이더넷 호환성 데이터를 파싱하고 필터링한다. 제어기(60)에 의해 구현된 필터는 유닛(35)에 의해 제공된, 인입하는(incoming) 이더넷 프레임 패킷의 데이터 식별자를 CATV 헤드-엔드로부터 미리 로딩된 식별자 값과 매칭시킨다. 식별자 값은 이전에 수행된 초기화 또는 구성 동작 동안에 사전-로딩된다. 이를 통해, 제어기(60)는, 선택된 데이터를 로컬 LAN 디바이스에 발송하고, 다른 선택된 데이터 내용은 버리는 데이터 승인 제어 기능을 구현한다. 이러한 구성 가능한 필터 시스템은, (a) 페어랜털(parental) 또는 기타 차단 제어를 위한 내용 등급, (b) 광고 및 "푸시-컨텐트(push-content)"에 목표를 맞추기 위한 미리 결정된 사용자의 기호도(preference), (c) 방화벽(firewall) 필터링, (d) 소스의 아이덴터티(identity) 및 (e) 데이터 검색 기능에 기초하는 것을 포함하는 다양한 목적을 위해 수신 데이터의 메타데이터 항목에 기초하여 데이터를 필터링하는데 유리하게는 사용될 수 있다. 필터링된 이더넷 호환성 직렬 데이터는 이더넷 인터페이스(65), 필터 및 절연 변압기(70) 및 포트(72)를 통해 PC에 통신된다. 인터페이스(65)는, 포트(72)를 통해 PC에 출력하기 위해 유닛(70)에 의해 필터링하고 변압시키기 위해 제어기로부터(60)의 데이터를 버퍼링하고 조정한다.
유사한 방식으로, 제어기(60)는 포트(82)를 통해서 USB 포맷으로 또는 포트(77)를 통해서 HPNA 포맷으로 출력하기 위해 프로세서(35)로부터의 (이더넷 MAC 프레임으로 운반된) 데이터를 변환하고 필터링한다. USB 데이터는, 포트(82)에 접속된 USB 호환성 LAN 디바이스에 출력되기 이전에 트랜시버(75)에 의해 버퍼링되어, 잡음 및 간섭 억압(EMI/ESD) 필터(80)에 의해 필터링된다. 유사하게, HPNA 데이터는, 포트(77)에 접속된 HPNA 호환성 LAN 디바이스에 출력되기 이전에 인터페이스(62)에 의해 조정되어, 트랜시버 증폭기(67)에 의해 버퍼링된다.
모뎀 시스템(12)은 또한 예컨대 부착된 PC로부터의 데이터 업스트림을 CATV 헤드-엔드에 통신한다. 이를 위해, 시스템(12)의 제어기(60)는 포트(72), 인터페이스(65) 및 필터/절연 변압기(70)를 통해서 부착된 PC로부터 이더넷 호환성 데이터를 수신하여, 이것을 프로세서(35)에 제공한다. 프로세서(35)는 16 QAM 또는 QPSK (Quadrature Phase Shift Keying Modulation)를 사용하여 수신된 이더넷 포맷 데이터로 RF 반송파를 변조한다. 결과적인 변조된 데이터는, 증폭기(85), 변압기(87) 및 다이플렉서(20)를 통해서 업스트림 통신하기 위해 케이블 라인(10) 상으로 시분할 다중화된다. 증폭기(85)는, 이전에 설명된 초기화 과정에서 선택된 적절한 전력 레벨로 CATV 헤드-엔드에 이 데이터를 출력한다. 변압기(87)는 모뎀(12)에서의 실패 시 또는 국부적으로 생성된 잡음이 모뎀 또는 부착된 디바이스에서 발생 시에 어느 정도의 실패 및 잡음의 분리를 제공한다.
유사한 방식으로, 모뎀 시스템(12)은 또한 USB 포트(82) 또는 HPNA 포트(77)를 통해 부착된 디바이스로부터의 데이터 업스트림을 통신한다. 예시적인 구현에서, 시스템(12)의 제어기(60)는 트랜시버(75)로부터 이더넷 호환성 데이터를 수신하여, 이것을 앞서 설명된 방식으로 업스트림 통신하기 위해 프로세서(35)에 제공한다. 이를 위해, 트랜시버(75)는 포트(82)로부터의 USB 프레임 내에서 캡슐화된 이더넷 데이터를 필터(80)를 통해 수신하여, USB 프레임 데이터를 제거하여 이더넷 포맷 데이터를 제어기(60)에 제공한다. 이와 유사하게, 인터페이스(62)는 포트(77)로부터 HPNA 포맷으로 캡슐화된 데이터를 트랜시버(67)를 통해 수신하여, 이더넷 포맷 데이터를 제어기(60)에 제공한다.
제어기(60)는 또한 온/오프 및 리셋 스위치(90)에 응답하며, 이미 설명된 기능에 추가하여 다양한 기능을 수행한다. 제어기(60)는 CATV 헤드-엔드로부터 제공된 구성 정보를 사용하여 모뎀(12)의 파라미터를 구성한다. 제어기(60)는 또한 케이블 라인(10) 상으로의 업스트림 통신을 동기화하고 다중화할 것을 시스템(12)에게 지시하며, 업스트림 데이터 트래픽을 제어하는 때에 속도의 제한을 구현한다. 나아가, 제어기(60)는 수신된 데이터를 양방향으로 필터링하여, 선택된 데이터를 CATV 헤드-엔드 또는 포트(72, 77 및 82)에 부착된 LAN 디바이스중 어느 하나에 제공한다. 제어기(60)는 또한 CATV 헤드-엔드와의 데이터 레인징(ranging) 통신을 지원한다. 레인징 통신은 CATV 헤드-엔드에 의해 개시되며, 상태를 결정하고 모뎀 또는 라인의 실패를 식별하기 위해 개별 모뎀의 연속적이지만 간헐적인 폴링(polling)을 포함한다.
시스템(12)은 또한 (CPE 디바이스로부터 CATV 헤드-엔드로 향하는) 패킷을 유리하게는 차단하고, 목적지 MAC 주소를 모뎀 시스템(12)의 진단 인터페이스 MAC 주소로 교체하기 위해 제어기(60)의 지시 아래에서 동작하는 네트워크 필터를 사용한다. 이것은 결국 패킷이 TCP/IP 스택{도 7의 스택(615)}으로 향하지만 CATV 헤드-엔드로는 향하지 않게 하며, 모뎀 시스템(12)이 부착된 CPE 디바이스와 동일한 논리 네트워크 상에 상주한 것처럼 보이게 한다. 이러한 차단 매커니즘 및 확고한 직접 접속은, 로컬, 예컨대 진단 어플리케이션을 위한 시스템(12)과 CPE 디바이스 사이의 통신을 동시에 유지하면서 (a) 모뎀 시스템(12)과 부착된 CPE 디바이스 사이의 로컬 통신을 지원하기 위해 네트워크 파라미터를 구성하는 문제와, (b) 시스템(12)을 통한 CPE 디바이스와 인터넷 사이의 인터넷 통신을 동시에 유지하는 문제와 같은 앞서 설명한 문제를 처리한다.
이들 문제는, 로컬 예컨대 진단 어플리케이션을 위해 할당될 수 있는 IP 주소가 시스템(12)에서 고정 값으로 제한되기 때문에 발생한다. 이러한 제한은, 이러한 제한이 예컨대, 독점 장비의 출처 규격(proprietary equipment sourcing specification)에 의해 요구되기 때문이거나, IANA(Internet Assigned Numbers Authority)와 같은 또 다른 단체(body)가 고정된 값 또는 고정된 범위의 미리 결정된 값을 특정한 임무를 위한 주소로 한정했기 때문에, 발생한다. IP 주소 범위(192.168.xx.xx)는 예컨대 실제 공중 네트워크에 할당되지 않아야 하는 적은 수의 로컬 사설 네트워크중 하나로서 IANA에 의해 한정된다. 그러므로, CATV 헤드-엔드를 통해 수신된 인터넷 데이터 트래픽을 필터링하는 게이트웨이 라우터는 192.168.xx.xx의 목적지 IP 주소를 갖는 트래픽을 버린다. 만약 그럴 가능성은 없지만 라우터가 192.168.xx.xx 패킷을 경로지정하도록 명시적으로 구성되지 않는다면, 이렇게 될 것이다.
특정한 어플리케이션을 위한, 고정되고 비공개 사용된 IP 주소를 예약함으로써 발생하는 문제에 대한 특정한 예시가 다음에 온다. 먼저, IP 주소(192.168.100.1)가 케이블 모뎀 진단 어플리케이션을 위해 사용하도록 지정되었음이 가정된다. 또한 부착된 CPE 디바이스가 헤드-엔드 DHCP 서버로부터 172.10.2.65의 다이내믹 IP 주소가 할당됨이 가정된다. (192.168.100.1에 있는) 모뎀 진단 웹 페이지를 브라우즈(browse)하기 원하는, 부착된 CPE 디바이스의 사용자는 CPE 디바이스에 상주하는 웹 브라우저를 통해 예컨대, www.rca_modem.com과 같은 시스템(12)의 대응하는 URL을 입력한다. 브라우저에 의해 생성된 인터넷 도메인 이름 결정 요청이 CPE 디바이스에 의해 시스템(12)에 제출되며, 이는 사용자에 의해 입력된 도메인 이름을 발송하여, 요청된 웹 페이지 소스의 대응하는 IP 주소로 번역하기 위해서이다. 시스템(12)에 있는 차단 도메인 이름 서버는 유리하게는 도메인 이름 결정 요청을 차단하며, 차단된 도메인 이름(여기서는 www.rca_modem.com)을 IP 호환성 주소로 번역할 때에 차단 도메인 이름 데이터베이스를 사용하여 IP 주소(여기서는 192.168.100.1)를 요청 CPE 디바이스에 다시 통신한다.
그러나, CPE 디바이스는 패킷을 식별된 IP 주소(192.168.100.1)에 직접 보낼 수 없다. 이는, 이전에 언급된 바와 같이 CPE의 할당된 IP 주소가 172.10.2.65이며, 결국 CPE는 시스템(12)의 진단 어플리케이션{IP 주소(192.168.100.1)}과 동일한 논리 네트워크 상에 상주하지 않기 때문이다. 이 결과, CPE는 패킷을 헤드-엔드에 발송하며, 게이트웨이 라우터는 이들을 보낼 곳을 결정한다. 이를 위해, CPE 디바이스는, 그 목적지 MAC 주소가 CATV 헤드-엔드의 게이트웨이 라우터의 주소인 이더넷 MAC 프레임으로 192.168.100.1로 보내질 IP 패킷을 캡슐화한다. 불행히도, 게이트웨이 라우터는 모뎀 내부 진단 IP 주소를 전혀 모르며, 이는 IANA가 IP 주소 범위(192.168.xx.xx)를 공중 인터넷에서 사용되지 않을 로컬 서브넷으로 지정하였기 때문이다. 그러므로, 시스템(12)으로부터의 IP 패킷은 게이트웨이 라우터에게는 로컬, 비유효 서브넷 상에 있는 것으로 보여서, 게이트웨이 라우터는 결국 이들을 버린다. 그러므로, CPE 디바이스는 시스템(12)의 진단 어플리케이션과 통신할 수 없다.
시스템(12)과 연계된 제어기(60)(도 2)는 설명된 통신 문제를 해결하기 위해 도 3의 방법을 사용하여, CPE 디바이스가 인터넷 및 로컬 통신을 동시에 수행하게 할 뿐만 아니라 시스템(12)과 부착된 CPE 디바이스 사이에 로컬 통신을 용이하게 한다. 단계(400)에서 시작한 다음에, 도 3의 단계(403)에서, 제어기(60)는 CATV 헤드-엔드로 보내질 이더넷-Ⅱ/802.3 MAC 층 데이터{도 7의 층(619)}의 IP 헤더 부분에 있는 수신된 IP 패킷 목적지 주소를 검사한다. 이를 통해, 제어기(60)는 수신된 IP 패킷 목적지 주소가 미리 결정된 IP 주소와 일치하는지를 결정한다. 상세하게, 제어기(60)는 수신된 주소가 예컨대 지정된 케이블 모뎀의 진단 어플리케이션 주소(192.168.100.1)와 같은 사설 및 비-공중 인터넷 사용을 위해 지정된 하나 이상의 주소 클래스 내에 있는지를 결정한다. 이 예시적인 케이블 모뎀 시스템에서, 이러한 진단 네트워크 주소는, 10.x.x.x, 172.16.0.0 내지 172.31.255.255 및 192.168.x.x 주소 클래스까지를 포함하는 IEEE 로컬, 사설 네트워크의 특수한 클래스에 속한다. 앞서 설명된 바와 같이, 진단 어플리케이션 주소는 시스템(12)의 표준 네트워크 주소{IP 주소(172.10.2.65)}와는 구별된다. 이 시스템(12)의 표준 네트워크 주소는 DHCP 클라이언트 어플리케이션{도 7의 항목(607)}에 의해 다이내믹하게 얻어지며, SNMP 에이전트 어플리케이션{도 7의 항목(605)}에 의해 사용된다. 인터넷 서비스에 대한 비승인된 액세스를 방지하기 위해, CATV 헤드-엔드 운영자는 전형적으로는 모뎀의 네트워크 주소를 누설하지 않는다. 단계(403)에서 일치하는 IP 주소가 없을 때, 수신된 IP 패킷의 페이로드 데이터가 수신된 MAC 주소 목적지로 운반된다.
단계(403)에서의 주소 매칭에 이어서, 도 3의 단계(405)에서, 제어기(60)는 CATV 헤드-엔드와 인터넷으로 보내질 진단 IP 주소(192.168.100.1)를 갖는 IP 패킷의 페이로드를 방향지정한다(redirect). 제어기(60)는 이들 IP 층(제 1 프로토콜 층)의 패킷을 패킷 단위로 시스템(12)의 로컬 네트워크 진단 어플리케이션{도 7의 어플리케이션(611)}으로 방향지정한다. 이것은, 이더넷 MAC 프레임 층 데이터{제 2 프로토콜 층 상의, 도 7의 층(619)}의 수신된 MAC 목적지 주소를 이 층의 데이터의 진단 네트워크 인터페이스 MAC 주소로 대체함으로써 이뤄진다. 상세하게는, 요소(513 내지 524)를 포함하는 도 6의 예시적인 MAC 프레임에서, 진단 네트워크 인터페이스의 MAC 주소가 항목(514)의 수신된 MAC 목적지 주소를 대신한다. 대체된 MAC 주소는 수신자를 진단 어플리케이션(611)(도 7)으로 고유하게 식별하며, 관련된 IP 패킷 페이로드 데이터는 TCP/IP 스택(615)(도 7)을 통해 이러한 어플리케이션에 보내진다. 진단 어플리케이션{ 및 도 7의 다른 어플리케이션(605 내지 609 및 613)}은 표준 소켓-기반 어플리케이션 프로그래밍 인터페이스(API)를 사용하여 TCP/IP 스택(615)을 통해 어플리케이션의 CPE 클라이언트와 통신한다. 이러한 소켓 API는, 각 어플리케이션이 어플리케이션과 관련된 소켓을 생성하고 초기화할 때 고정된 인터넷 프로토콜 네트워크 주소와 포트 번호를 갖는 것을 필요로 한다. 제어기(60)는, 수신된 IP 패킷 목적지 주소를 대체 MAC 주소로 매핑하는 내부 데이터베이스로부터, 사용될 대체 MAC 주소를 결정한다. 이를 통해, 부착된 CPE 디바이스는 시스템(12)의 진단 어플리케이션에 직접 접속된 것처럼 보이며, 목적지 IP 주소(192.168.100.1)를 갖는 패킷의 페이로드 데이터는 진단 어플리케이션에 의해 수신되고 처리될 수 있다.
CPE 디바이스로부터 진단 어플리케이션으로 전달된 패킷과 관련된 소스 IP 주소는 유지되며, 진단 어플리케이션(611)으로부터의 반환 통신을 위해 목적지로서 이 CPE 디바이스를 고유하게 식별하는데 사용된다. 이러한 반환 통신은 예컨대 CPE 디바이스의 상주하는 웹 브라우저를 통해 CPE 디바이스 상에 디스플레이하기 위해 진단 웹 페이지를 나타내는 IP 패킷을 포함할 수 있다.
도 3의 단계(410)에서, 진단 어플리케이션 소프트웨어{도 7의 항목(611)}의 수행은, 단계(405)에서 방향지정된 IP 패킷 페이로드 데이터를 수신함에 응답하여 개시된다. 예컨대, (a) 가전기기 제어, (b) 주변기기 제어, (c) 통신 또는 트랜잭션 기능 및 (d) 안전한 사설 인터넷 또는 인트라넷 통신 기능을 포함하는 방향지정된 IP 패킷 데이터에 응답하여 상당히 다양한 다른 어플리케이션이 시스템(12)에서 개시될 수 있다. 나아가, 제어기(60)의 지시 아래에서 시스템(12)은 {단계(403)에서 결정된 바와 같이} 사설 및 비-공중 인터넷 사용을 위해 지정된 미리 결정된 IP 주소와 일치하지 않는 IP 주소를 갖는 부착된 CPE 디바이스로부터 IP 패킷을 동시에 수신한다. 수신된 비-일치된 IP 패킷의 페이로드 데이터는, 예컨대 제 2의 로컬 네트워크 기반 진단 어플리케이션과 동시에 동작하는 제 1 어플리케이션을 지원하기 위해 패킷 각자의 수신된 MAC 주소 목적지 주소에 운반된다. 제 1 어플리케이션은, (a) 웹 서핑, (b) E-메일 및 (c) 인터넷 전화/비디오 전화와 같은 어플리케이션을 위한 인터넷과 같이 원격 네트워크와의 통신을 수반할 수 있다. 도 3의 프로세스 단계(415)에서 종료한다.
도 4는 무선 주파수(RF)와 고객 구내 장비(CPE) 인터페이스 사이의 양방향 네트워크 브릿지 통신을 제공하는 예시적인 케이블 모뎀{도 1 내지 도 5의 시스템(12)}을 도시한다. 도 5는 파싱 및 패킷 분류를 수행하고, 매체 액세스 제어(MAC) 데이터 링크 층 패킷을 편집하기 위한 필터(311)를 유리하게는 포함하는 도 4의 케이블 모뎀을 도시한다. 케이블 모뎀의 CPE 입력 인터페이스에 네트워크 필터(311)를 추가하는 것 외에는, 도 5의 시스템은 도 4의 시스템과 동일하다. 도 5에서, 네트워크 필터(311)는 {도 2의 포트(72), 포트(77) 또는 포트(82)에 부착된} CPE 디바이스로부터 수신된 두 유형의 패킷에 대한 패킷 분류 및 MAC 헤더 편집을 수행한다.
먼저, (도 5)의 필터(311)는 라인(315)을 통해 CPE 인터페이스(316)로부터 수신된 {도 6의 a의 요소(509 및 511)를 포함하는} 모든 주소 결정 프로토콜(ARP) 요청 패킷을 검사한다. 만약 ARP 요청 패킷 목표 IP 주소가 시스템(12)의 진단 네트워크 인터페이스 주소(예컨대, 192.168.100.1)라면, 필터는 패킷의 MAC-층 목적지 주소{도 6의 항목(514)}를 진단 네트워크 인터페이스의 주소로 대체한다. 이것은, 이더넷 MAC 프레임 층의 수신된 MAC 목적지 주소를 이더넷 MAC 프레임 층 데이터{도 7의 층(619)}의 진단 어플리케이션의 MAC 주소로 대체함으로써 이뤄진다. 변경된 MAC 프레임은 시스템(12)의 프로토콜 스택(615)과 표준 MAC 층 라우터(309){도 5의 경로(DEG)}를 통해 진단 어플리케이션(611)에 발송된다.
두 번째, 필터(311)는 라인(315)을 통해 CPE 인터페이스(316)로부터 수신된 {도 6의 b의 요소(505 및 507)를 포함하는} 모든 IP(Internet Protocol) 패킷을 검사한다. 만약 IP 패킷 IP 목적지 주소가 시스템(12)의 진단 어플리케이션 주소(예컨대, 192.168.100.1)라면, 필터는 패킷의 MAC-층 목적지 주소{도 6의 항목(514)}를 진단 네트워크 인터페이스의 주소로 대체한다. 이것은, 이더넷 MAC 프레임 층의 수신된 MAC 목적지 주소를 이더넷 MAC 프레임 층 데이터{도 7의 층(619)}의 진단 네트워크 인터페이스의 MAC 주소로 대체함으로 이뤄진다. 변경된 MAC 프레임은 시스템(12)의 프로토콜 스택(615)과 표준 MAC 층 라우터(309){도 5의 경로(DEG)}를 통해 진단 어플리케이션(611)에 발송된다. 네트워크 필터(311)는 다른 비-일치 패킷을 MAC 층 라우터(309)에 투명하게(transparently) 전달한다.
만약 패킷 목적지의 MAC 주소가 표준 또는 진단 네트워크 인터페이스의 주소가 아니라면, 패킷은 시스템(12)의 양방향 네트워크 브릿지 기능을 사용하는 반대 편 인터페이스(300)에 브릿지된다. 상세하게는, 비-일치 패킷은 라우터(309)로부터 경로(F) 상의 RF 인터페이스(300)에 발송된다. 즉, 하나의 인터페이스 상에서 수신된 네트워크-층 패킷은, 패킷 MAC 층 캡슐화(도 6)가 브릿지된 목적지를 지시하는 한 반대편 인터페이스에 발송된다. 목적지 주소는, 48 비트 목적지 MAC 주소{도 6의 항목(514)}와 48 비트 소스 MAC 주소{도 6의 항목(518)} 모두를 포함하는 IP 패킷의 DOCSIS 호환성 이더넷 MAC 프레임 캡슐로부터 유도된다. 시스템(12)의 브릿지 성능은 양방향성이며, RF 인터페이스를 위한 MAC-층 라우팅 기능(303)과 CPE 인터페이스를 위한 MAC-층 라우팅 기능(309)을 사용한다. 브릿지 결정을 수행할 때, 패킷 목적지 MAC 주소에 기초하여 패킷 단위로, 라우터(303)는 경로(C 및 B) 사이에서 선택하며, 라우터(309)는 경로(G 및 F) 사이에서 선택한다. 비록 필터(311)가 모뎀 시스템(12)을 통해 데이터를 브릿지할 때 지연을 야기할 수 있지만, 필터는 이 지연을 대수롭지 않게 유지하도록 쉽게 구현될 수 있다.
시스템(12)에 필터(311)를 병합함으로써 유래된 장점은, (a) 이것이 모뎀 시스템(12)과 CPE 디바이스 사이에 로컬 통신을 지원하도록 네트워크 파라미터를 수동으로 구성할 필요를 제거한다는 점과, (b) 이것이 CPE 디바이스가 로컬 어플리케이션을 위한 데이터를 교환하면서 동시에 웹을 검색하고, E-메일을 교환하는 등을 할 수 있게 한다는 점과, (c) 필터(311)가 간단한 로직 기능으로서 하드웨어 또는 소프트웨어중 어느 하나로 구현될 수 있고, 또한 RF 인터페이스(313)에 추가될 수 있다는 점과, (d) {추가적인 케이블 모뎀 TCP/IP 스택(615) 네트워크 인터페이스에 대응하는} 다중 IP 주소가 예컨대 E-메일, 팩스, 인터넷 전화/비디오 전화, 가전기기 제어, 주변기기(예컨대, DVD, VCR, 셋톱 박스, TV, 비디오 카메라, 컴퓨터) 제어, 가정 보안 제어, 진단 기능 및 부착된 CPE 디바이스를 통해 동작 가능한 임의의 다른 기능과 같은 다양한 기능을 개시하기 위해 한정될 수 있다(표 1참조)는 점을 포함한다.
IP 주소
|
이더넷 MAC 주소로 매핑됨
|
개시된/제어된 기능
|
192.168.100.1 |
00:10:95:FF:00:03 |
진단/검사 활성화 및/또는 제어 |
199.168.100.2 |
00:10:95:FF:00:04 |
TV 활성화 및/또는 제어 |
194.168.100.3 |
00:10:95:FF:00:05 |
VCR/DVD 활성화 및/또는 제어 |
192.169.100.4 |
00:10:95:FF:00:06 |
비디오 카메라 활성화 및 경보 감시 |
192.168.110.1 |
00:10:95:FF:00:07 |
중앙 난방기 활성화 및 제어 |
192.168.102.1 |
00:10:95:FF:00:08 |
공기 조절 장치 활성화 및/또는 제어 |
192.168.120.1 |
00:10:95:FF:00:13 |
가정 보안 시스템 감시 |
192.169.100.5 |
00:10:95:FF:00:23 |
컴퓨터 기능 활성화 및/또는 제어 |
172.32.100.1 |
00:10:95:FF:00:24 |
셋톱 박스 활성화 및/또는 제어 |
192.238.100.1 |
00:10:95:FF:00:25 |
팩스 활성화 및/또는 제어 |
195.168.100.1 |
00:10:95:FF:00:15 |
전화/비디오 전화 활성화 및/또는 제어 |
192.168.121.1 |
00:10:95:FF:00:26 |
자동 응답기 활성화 및/또는 제어 |
232.126.234.1 |
00:10:95:FF:00:19 |
인터넷 기능 활성화 및/또는 제어 |
표 1은 서로 다른 기능의 그룹과 관련된 다중의 개별 IP 주소를 도시한다. 각 그룹은 IP 주소/MAC 주소 쌍으로 구성되며, 관련된 TCP/IP 스택 네트워크 인터페이스를 한정하는데 사용된다. 만약 필요하다면, 각 그룹 내의 기능은 관련된 UDP(User Datagram Protocol) 또는 TCP(Transmission Control Protocol) 포트 번호를 사용하여 개별적으로 식별될 수 있다. 이들 IP 주소는, 디코더 시스템에서 기능을 제어 또는 활성화하기 위해 인터넷 호환성 통신 프로토콜(또는 다른 어플리케이션의 다른 통신 프로토콜)에 의해 원거리/근거리 소스로부터 송신된다. 이를 통해, 예컨대, 다양한 기능이, 컴퓨터 또는 인터넷 액세스 디바이스에서 웹 페이지에 액세스하고, 표 1에 예시된 특정한 기능과 관련된 적절한 IP 주소의 송신을 개시함으로써 원거리에서(또는 근거리에서) 활성화되거나 제어될 수 있다. 디코더에서, 수신된 IP 패킷 IP 주소는, IP 주소를 예컨대 MAC 또는 MPEG 호환성 주소와 같은 다른 계층적 통신 층의 다른 프로토콜 주소에 매핑시키는 미리 결정된(또는 다운로드된) 데이터베이스에서의 주소와 비교된다. 시스템(12)의 진단 어플리케이션에 대해 설명된 점과 유사한 방식으로, 만약 IP 패킷 목적지 주소가 데이터베이스의 주소와 일치한다면, 디코더에 있는 편집기는 서로 다른 계층 통신 층 프로토콜 주소를 매핑된(예컨대, MAC 층의) (데이터베이스에 의해 일치된 IP 주소와 관련된) 주소로 대체한다.
(도 4 및 도 5에서 더 상세하게 설명되는) 도 2의 시스템의 구조는 배타적이지 않다. 다른 구조가 동일한 목적을 달성하기 위해 본 발명의 원리에 따라 유도될 수 있다. 나아가, 케이블 모뎀 시스템(12)의 요소의 기능 및 도 3의 프로세스 단계는 제어기(60)의 프로그램된 명령 내에서 전체 또는 부분적으로 구현될 수 있다. 게다가, 본 발명의 원리는 임의의 다중-층 프로토콜의 양방향 통신 시스템에 적용되며, DOCSIS 호환성 모뎀 또는 임의의 다른 유형의 모뎀으로 제한되지 않는다. 또한, 본 명세서에서 설명된 패킷 필터 요소 및 본 발명의 원리는, 예컨대 디지털/인텔/제록스(DIX) 이더넷 패킷에 추가하여 다른 인터넷 및 다른 프로토콜 패킷뿐만 아니라 IEEE 802.3 패킷, IEEE 802.5 토큰 링(token ring) 호환성 패킷, IEEE 802.11 패킷 및 MPEG 트랜스포트 패킷 상에서 동작하도록 확장될 수 있다.