KR20050019836A - 어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트다운로드 검증 - Google Patents

어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트다운로드 검증 Download PDF

Info

Publication number
KR20050019836A
KR20050019836A KR10-2005-7000532A KR20057000532A KR20050019836A KR 20050019836 A KR20050019836 A KR 20050019836A KR 20057000532 A KR20057000532 A KR 20057000532A KR 20050019836 A KR20050019836 A KR 20050019836A
Authority
KR
South Korea
Prior art keywords
alg
file
header
bidirectional communication
communication device
Prior art date
Application number
KR10-2005-7000532A
Other languages
English (en)
Other versions
KR100959968B1 (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 KR20050019836A publication Critical patent/KR20050019836A/ko
Application granted granted Critical
Publication of KR100959968B1 publication Critical patent/KR100959968B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • 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]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

본 발명은 어플리케이션 레벨 게이트웨어(ALG) 파일 또는 방화벽 룰세트(200)를 검증하는 방법(300) 및 장치(100)에 관한 것이다. 상기 방법 및 장치는 양방향 통신 디바이스(130)에서, 어플리케이션 레벨 게이트웨어(ALG) 파일(200)을 수신하고(304), 상기 양방향 통신 디바이스의 특징들과 상기 ALG 파일의 적어도 하나의 호환성 파라미터를 비교한다(308, 310, 314, 320, 326, 332, 336). 모든 호환성 파라미터가 긍정적으로 비교되는 경우에는, ALG 파일이 양방향 통신 디바이스에 저장된다(340).

Description

어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트 다운로드 검증{APPLICATION LEVEL GATEWAY AND FIREWALL RULE SET DOWNLOAD VALIDATION}
본 특허 출원은 전체가 참조로서 여기에 포함된, 2002년 7월 11자로 출원된 미국 가출원 번호 제60/395,042호의 이점을 청구한다.
본 발명은 양방향 통신 디바이스 분야에 관한 것이다. 특히, 본 발명은 양방향 통신 디바이스에 대한 어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트의 업그레이드에 관한 것이다.
오늘날 광대역 시장에서는 필드 업그레이드 가능한 제품이 보다 우세해지고 있다. 케이블 모뎀 및 기타 양방향 통신 디바이스와 같은 디바이스들은 고객이 가정 또는 사무실에 있는 동안 원격으로 다운로드된 ALG(application level gateway) 및/또는 방화벽 룰 세트를 가질 수 있다. 이러한 ALG 및/또는 방화벽 룰 세트를 포함하는 파일들을 다운로드하는 것에 의해 디바이스가 부적합한 파일 버전, 손상된 파일, 인증되지 않은 파일, 대용량의 파일, 무엇보다도 디바이스의 하드웨어 및/또는 소프트웨어와의 비호환성을 다운로드할 위험을 증가시킨다.
호환가능하지 않거나 손상된 ALG 파일을 케이블 모뎀에 다운로드함으로서 케이블 모뎀이 끊어지거나 충돌하게 될 수 있다. 케이블 모뎀이 끊어지거나 충돌하면, 케이블 모뎀은 동작이 불가능하게 되고, 일반적으로 케이블 모뎀을 수리하기 위해 예시적으로 MSO(multiple systems operator) 서비스 대표자 등으로부터 서비스 콜을 요구한다.
따라서, 케이블 모뎀과 같은 양방향 통신 디바이스에 다운로드되는 적절한 어플리케이션 레벨 게이트웨이 파일 또는 방화벽 룰 세트 파일을 검증할 필요가 있다.
첨부도면을 참조하여 이하의 상세한 설명을 고찰함으로써 본 발명의 특징을 용이하게 이해할 수 있다.
도 1은 본 발명의 예시적인 실시예가 사용되는 케이블 통신 시스템의 상위 블록도.
도 2는 본 발명의 원리에 따른 예시적인 어플리케이션 레벨 게이트웨이(ALG)의 블록도.
도 3은 본 발명의 원리에 따라 업그레이드된 ALG 파일을 검증하는 방법의 흐름도.
본 발명의 용이한 이해를 위해, 도면에 공통적인 동일 소자들에는 가능하면 동일한 참조 부호를 부기하였다.
종래 기술과 관련된 단점들은 어플리케이션 레벨 게이트웨이(ALG) 파일 또는 방화벽 룰 세트를 검증하는 장치 및 방법에 관한 본 발명에 의해 극복된다. 상기 방법 및 장치는 서비스 제공자로부터 ALG 파일을 수신하는 단계, 및 이러한 ALG 파일을 수신하는 양방향 통신 디바이스의 특징과 함께 ALG 파일의 적어도 하나의 호환성 파라미터를 검증하는 단계를 포함한다. 모든 호환성 파라미터들이 검증되는 예에서는, ALG 파일이 양방향 통신 디바이스에 저장된다.
본 발명은 양방향 통신 환경에서 동작하는 양방향 통신 디바이스(BCD) 및 어플리케이션 레벨 게이트웨이(ALG) 파일 또는 방화벽 룰 세트를 BCD에 다운로드하는 방법을 포함한다. 본 발명의 간략함과 보다 용이한 이해를 위해, 본 발명은 케이블 통신 분배 시스템의 관점에서 예시적으로 설명된다. 그러나, 본 발명의 원리는 또한 위성 통신 시스템, ADSL, DSL, 다이얼업, 무선 시스템, 또는 양방향 통신(예를 들어, 데이터, 멀티미디어 콘텐트, 및 기타 정보)을 복수의 가입자 디바이스에 제공할 수 있는 임의의 기타 양방향 통신 환경과 같은 기타 양방향 통신 환경들에도 적용가능하다.
양방향 통신 디바이스는, 일 실시예에서, 케이블 모뎀과 같은 DOCSIS 기반 제품을 배치하는 케이블 텔레비전 시스템 오퍼레이터(및 인터넷 서비스 제공자(ISP))와 퍼스널 컴퓨터와 같은 복수의 가입자 디바이스 사이의 양방향 통신을 제공하는데 사용될 수 있는 케이블랩스 공인 케이블 모뎀(CableLabs Certified CableModem)TM 호환(compliant) 케이블 모뎀이다. 케이블랩스 공인 케이블 모뎀(CableLabs Certified CableModem)TM(이전에는 DOCSIS(data over cable service interface specifications)로 알려짐)은 케이블 상에서 양방향 신호들을 교환하기 위한 변조 방식 및 프로토콜들을 지정하는 사양을 확립하는 CATV 오퍼레이터들을 리드함으로써 공급된다. DOCSIS의 다양한 버전은 전체가 참조로서 본원에 포함된다.
도 1은 본 발명의 예시적인 실시예가 사용될 수 있는 케이블 모뎀 통신 시스템(100)의 블록도이다. 양방향 통신 시스템(예를 들어, 케이블 모뎀 시스템)(100)은 다수의 시스템 오퍼레이터(MSO, 예를 들어 케이블 오퍼레이터)(110)와, 액세스 네트워크(108)를 통해 서비스 제공자(110)에 결합되는 복수의 가입자 구역 설비(170)를 포함한다.
가입자 구역 설비(170)는 단지 하나의 케이블 모뎀(130)만이 도 1에 도시되어 있는 복수의 양방향 통신 디바이스(예를 들어 케이블 모뎀)(1301 내지 130N)(총칭해서 케이블 모뎀(130))에 각각 결합된 복수의 사용자 디바이스(1721 내지 172N)(총칭해서 사용자 디바이스(172))를 포함한다. 사용자 디바이스(172)는 오디오, 비디오, 및/또는 데이터를 포함하는 디지털화 스트림을 처리할 수 있는 임의 형태의 디바이스, 예를 들어 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 텔레비전 세트, 핸드헬드 디바이스, 또는 데이터를 송신 및/또는 수신할 수 있는 임의의 다른 디바이스일 수 있다. 각 사용자 디바이스(170)는 케이블 모뎀(130)을 통해 액세스 네트워크(108)에 결합되는데, 케이블 모뎀(130)은 로컬 케이블 텔레비젼 제공자(예를 들어, MSO(110))를 통해 사용자 디바이스(172)를 IP 네트워크(102)에 접속한다.
도 1에서는, 예시적으로 복수의 사용자 디바이스(172)가 허브(174)를 통해 단일 케이블 모뎀(130)에 접속되는 것으로 도시되어 있음을 주의하라. 그러나, 본 기술 분야의 당업자들은, 각 사용자 디바이스(172)가 선택적으로 개별적인 케이블 모뎀에 결합되거나 임의의 구성으로 그룹화되어 사용자 디바이스(172)와 MSO(110) 사이의 양방향 통신을 제공할 수 있음을 이해할 것이다.
케이블 모뎀(130)은 가입자가 텔레폰 다이얼업 모뎀보다 매우 빠른 속도로 서비스 제공자(110)로부터의 정보를 다운로드할 수 있도록 한다. 예를 들어, 케이블 모뎀(130)은 텔레폰 모뎀이 초당 56 킬로비트인 것에 비해, 초당 3 메가비트 이상의 속도로 접속을 제공할 수 있다. 시스템(100)에서 예시적으로 사용되는 케이블 모뎀의 한 형태는 인도, 인디아나폴리스의 톰슨사가 제조한 DCM305 모델이다. DOCSIS와 호환되는, 다른 제조자에 의해 제공된 케이블 모뎀들(및 모뎀 기능)도 마찬가지로 시스템(100)에서 구현될 수 있음을 주의하라.
서비스 제공자(110)는 저, 중 및/또는 고속 데이터 송신, 다수의 음성 채널, 비디오 채널 등을 제공할 수 있는 임의의 엔티티일 수 있다. 특히, 데이터는 각종 방송 포맷(예를 들어, DSB(Digital Broadcast Satellite))과 같은 포맷의 서비스 제공자(110), 케이블 송신 시스템(예를 들어, HDTV(high definition television)), 디지털 비디오 브로드캐스팅((DVB-C)(예를 들어, 유럽 디지털 케이블 표준)) 등에 의해 무선 주파수(RF) 신호들을 통해 송신된다. 서비스 제공자(110)는 케이블 전송 네트워크(108)를 통해 데이터를 제공한다.
서비스 제공자(110)는 일반적으로 복수의 헤드 엔드(head-end)(112)(도 1에서는 단지 하나의 헤드 엔드만이 도시됨)를 포함하는데, 이들은 다양한 지리적 영역들에 배치되어 이러한 영역들에 배치된 가입자들에게 접속, 서비스, 및 지원을 제공한다. 예를 들어, 하나 이상의 헤드 엔드(112)는 도시(예를 들어, 샌프란시스코, 캘리포니아)와 같은 많은 가입자 베이스에 인접하게 배치될 수 있다. 다른 헤드 엔드(110)는 요구되는 기타 도시 또는 지방 영역을 지원하기 위해 MSO(110)에 의해 제공될 수 있다.
각 헤드 엔드(112)는 적어도 하나의 종단 시스템(예를 들어 케이블 모뎀 종단 시스템(CMTS))(114), 파일 서버(116), DHCP(dynamic host configuration protocol) 서버, TFTP(trivial file transfer protocol) 서버, 무엇보다도 ITP(Internet time protocol) 서버, 웹 캐싱 서버, MSO 또는 ISP 콘텐트 전달 서버와 같은 다른 지원 서버(118) 등을 포함한다.
파일 서버(116)는 다운로드가능한 어플리케이션 레벨 게이트웨이(ALG) 파일 또는 방화벽 룰 세트들과 같은 파일을 MSO(110)로부터 케이블 모뎀(130)으로 전송할 수 있는 수단을 제공한다. 특히, 파일 서버(116)는 ALG 데이터베이스(120)에 결합되는데, 이것은 케이블 모뎀(130)과 같은 다양한 프로토콜 및 디바이스와 관계된 복수의 ALG 파일을 저장한다. 파일 서버(116)는 ALG 파일 데이터베이스(120)로부터 특정 ALG 파일을 검색하고 도 3의 방법(300)에 관하여 요구되어 이하에 설명된 양방향 디바이스(130)로 그러한 파일을 송신한다.
다른 지원 서버(118)는 케이블 모뎀 초기화시 케이블 모뎀(130)과 IP 네트워크(102) 사이의 접속을 확립하기 위해 사용된다. 특히, 다른 지원 서버(118)는 구성 파일 및 현재 날짜와 시간을 그것이 초기화될 때마다 케이블 모뎀(130)으로 전달한다. 또한,웹 캐싱 서버, MSO 또는 ISP 콘텐트 전달 서버 등과 같은 다른 서버들(118)은 지역화된 월드와이드 웹 콘텐트, 용장성 접속 등을 제공한다. 또한, DHCP 서버는 IP 어드레스를 중앙 관리하고 IP 네트워크(102)에 결합된 호스트 디바이스(예를 들어, 케이블 모뎀)으로 자동 할당한다. 예를 들어, 케이블 모뎀(130)이 시스템(100)에서 추가, 대체, 또는 이동되면, DHCP 서버는 그 케이블 모뎀(130)에 대해 새로운 IP 어드레스를 자동 할당한다.
CMTS(114)는 케이블 네트워크(100) 상에서 케이블 모뎀(130)과 디지털 신호를 교환한다. 각 헤드 엔드(112)에 배치된 CMTS(1140)의 양은 특정 지리적 영역에서 서비스를 받는 가입자의 수에 의존한다. 단일 CMTS(114)는 전형적으로 약 8000개의 케이블 모뎀(130)까지의 접속을 제공한다. 지리적 영역이 8000명 이상의 가입자를 갖는 경우, 필요하다면 헤드 엔드(112)에는 추가의 CMTS(114)가 제공된다.
데이터 서비스(예를 들어, 멀티미디어 콘텐트) 및 ALG 업그레이드 파일들은 케이블 모뎀(130)에 결합된 송신 매체(예를 들어, 북미 또는 유럽 DOCSIS 표준하에서 규정된 것과 같은 종래의 양방향 HFC(hybrid fiber-coax) 케이블 네트워크)를 통한 액세스 네트워크(108) 상에서 RF 경로(예를 들어, 채널들)를 통해 케이블 모뎀(130)으로 전달된다. 케이블 모뎀(130)은 가입자의 컴퓨터 또는 텔레비젼 세트(172)에 외부 또는 내부적으로 설치될 수 있고, 케이블 모뎀(130) 및 컴퓨터 또는 털레비전 세트에 의해 지원되는 근거리 네트워킹 매체(예를 들어, 이더넷, USB(Universal Serial Bus), 802.11b 무선, HPNA(Home Phoneline Networking Alliance)에 의해 접속된다는 것을 주의하라.
CMTS(114)로부터 케이블 모뎀(130)으로 신호들의 다운스트림 신호들을 위해 하나의 채널이 사용되는 반면, 케이블 모뎀(130)으로부터 CMTS(114)로의 업스트림 신호들을 위해 또 다른 채널이 사용된다. CMTS(114)이 케이블 모뎀(130)으로부터의 업스트림 신호를 수신하는 경우, CMTS(114)는 이러한 신호들을 IP(Internet Protocol) 패킷들로 처리하는데, 패킷들은 IP 네트워크(102) 상에서 특정 목적지(예를 들어, 원하는 콘텐트 또는 웹 사이트를 갖는 서버)로 라우팅된다. CMTS(114)가 케이블 모뎀(130)으로의 다운스트림 신호를 보내는 경우, CMTS(114)는 액세스 네트워크(108)를 가로질러 케이블 모뎀(130)으로 송신하기 위한 다운스트림 신호들을 변조한다. 케이블 모뎀(130)은 사용자 디바이스(172)에 의한 처리를 위해 변조된 신호를 기저 대역 신호로 변환한다.
서비스 제공자(110)로부터의 다운스트림 광대역 데이터 신호를 데이터 통신 시스템(100)의 사용자 디바이스(172)로 제공하기 위해 예시적인 케이블 모뎀(130)이 사용된다. 또한, 예시적인 사용자 디바이스(172)로부터의 업스트림 기저대역 데이터 신호를 서비스 제공자(110)로 다시 전송하기 위해 예시적인 케이블 모뎀(130)이 사용된다.
케이블 모뎀(130)은 프로세서(132), 지원 회로(134), I/O 회로(142), EEPROM(138) 및 FLASH 메모리(140) 등의 저장 디바이스 뿐만 아니라 휘발성 메모리(136)를 포함한다. 프로세서(132)는 변조기 및 복조기(도시되지 않음)를 포함하는, 캘리포니아, 이리빈의 브로드콤사가 제조한 단일 칩 BCM3345 디바이스와 같은 케이블 모뎀 프로세서일 수 있다.
EEPROM 및 FLASH 메모리(138 및 140)은 어플리케이션 프로그램 파일, 데이터 파일, 및 예시적으로 프로세서(132)에 의해 실행될 수 있는 기타 프로그램 코드를 영구적으로 저장하기 위해 사용되는 불휘발성 메모리 디바이스이다. 예를 들어, 방화벽, 복수의 어플리케이션 레벨 게이트웨이 파일, 및 어플리케이션 게이트웨어 파일들을 검증하는 루틴은 모두 EEPROM(138) 및/또는 FLASH(140) 메모리들에 영구적으로 저장될 수 있다.
휘발성 메모리(136)는 RAM일 수 있는데, 이것은 고속 검색 및 실행을 위해 불휘발성 메모리(138 및 140)에 저장된 프로그램들의 전부 또는 일부를 저장하기 위해 동작시 사용된다. 도 1에 도시된 바와 같이, 방화벽 프로그램(150), 복수의 어플리케이션 레벨 게이트웨이 파일(152)(예를 들어, 파일 ALG0 내지 ALG-m), 및 어플리케이션 레벨 게이트웨이 파일(152)의 업그레이드를 검증하기 위해 사용되는 루틴(300)(도 3에 관하여 보다 상세히 이하에 기재되어 있음)은 휘발성 메모리(136) 내에 저장된 것으로 도시된다. 메모리(136) 내에 저장될 수 있는 다른 프로그램들은 전형적으로 프로세스 스택, 힙(heap), 및 식별중인 ALG 및 방화벽 룰 세트와 같은 일시적인 데이터를 포함하며, 플래시로부터 카피된 어플리케이션, 기동 고정 데이터, 커넬 및 어플리케이션 코드, 및 다른 데이터(도시되지 않음)를 실행한다.
프로세서(132)는 예를 들어 전원 공급기, 클럭 회로, 캐시 메모리 등의 지원 회로(134)뿐만 아니라 메모리(136)에 저장된 소프트웨어 루틴의 실행을 돕는 회로들과 협력한다.
따라서, 소프트웨어 프로세서로서 본원에서 논의된 프로세스 단계들의 일부는 예를 들어 프로세서(132)와 협력하여 각종 단계들을 수행하는 회로와 같은 하드웨어 내에서 구현될 수 있다는 것이 고려된다. 케이블 모뎀(130)은 또한 사용자 디바이스(172)와 통신하는 각종 기능 소자들과의 인터페이스를 형성하는 입출력(I/O) 회로(142)를 포함한다. 케이블 모뎀(130)과 사용자 디바이스(172) 사이의 물리층은 무엇보다도 예시적으로 이더넷, 동축 케이블, FDDI, ISDN, ATM, ADSL, CAT 1-5 케이블링, USB, HomePNA, 무선 데이터 링크(예를 들어, 802.11 또는 블루투스 표준 무선 링크), 전력선 캐리어를 포함할 수 있다.
또한, 케이블 모뎀(130)은 신호 프로세싱 회로(144)를 포함하는데, 신호 프로세싱 회로는 다운스트림 프로세싱 회로(146) 및 업스트림 프로세싱 회로(148)를 더 포함한다. 신호 프로세싱 회로(144)는 프로세서(132) 및 인터페이스(143)에 결합되고, 인터페이스(143)는 액세스 네트워크(108)에 결합된다.
동작시, CMTS(114)는 디지털 데이터를 변조된 RF 신호로 변환하고 이러한 변조 신호를 HFC 전송(액세스) 네트워크(108)를 통해 케이블 모뎀(130)에 다운스트림으로 제공하는데, 여기서 RF 신호는 수신되고 동조되어 미리 결정된 중간 주파수(IF) 신호로 필터링된다. 그 후 IF 신호는 하나 이상의 개별적인 기저대역 신호로 복조되고, 그렇지 않으면 예시적으로 데이터 패킷들로 처리된다. 데이터 패킷들은 예시적으로 케이블링(예를 들어, 이더넷, USB, 동축 케이블 등)(175)을 통해 사용자 디바이스(172)로 더 송신된다.
마찬가지로, 사용자 디바이스(172)의 사용자는 케이블링(175)을 통해 데이터 신호들을 케이블 모뎀(130)으로 전송할 수 있다. 케이블 모뎀(130)은 사용자 디바이스(172)로부터의 데이터 신호들을 수신한 후, 케이블 전송 네트워크(108)을 통해 서비스 제공자(110)으로 다시 업스트림 전송하기 위해 RF 캐리어 상에서 데이터 신호들을 변조 및 업컨버트한다.
다운스트림 프로세싱 회로(146)는 전형적으로 튜너, 필터, 복조기, 컨트롤러, 및 업스트림 프로세싱에도 사용되는 MAC(medium access controller)와 같은 기타 다운스트림 프로세싱 회로 등의 각종 컴포넌트를 포함한다. 일반적으로, 다운스트림 신호들은 대략 91 MHz 내지 860 MHa 의 주파수 범위를 갖는 64 QAM 또는 256 QAN 신호들중 어느 것이다. 다운스트림 프로세싱 회로(146)는 컨트롤러에 의해 제공되는 선택 신호에 응답하여 CMTS(114)로부터의 복수의 다운스트림 데이터 신호중 적어도 하나를 선택적으로 동조, 복조, 및 그렇지 않으면 "수신"한다. 고역 통과 필터(HPF)는 모든 다운스트림 데이터 신호를 튜너로 전달하는데, 튜너는 HPF로부터 수신된 다운스트림 RF 신호들을 미리 결정된 IF 주파수 신호로 다운컨버트한다. IF 신호들은 복조기 회로에 의해 복조되어 하나 이상의 개별적인 디지털 기저대역 신호를 제공한다. 디지털 기저대역 신호들은 MAC로 보내지는데, 여기서 상기 수신된 신호들(예를 들어, MPEG 패킷)은 캡슐화가 해제되고 컨트롤러에 의해 관리되는 사용자 디바이스(172)로 후속 전송되기 위해 비트스트림으로 형성된다.
사용자 다바이스(172)로 전송되기 전에, 패킷들은 더욱 상세히 후술되는 바와 같이 검사를 위해 내부 TCP/IP 스택 또는 방화벽 프로그램(150)으로 전송된다. 일단 패킷이 방화벽 프로그램 룰과 부합되는 것으로 간주되면, MAC 컨트롤러, 및 기타 디지털 회로는 패킷화된 데이터를 더욱 처리(예를 들어, 요구되는 적절한 전송 패킷으로 첨부 또는 캡술화)한 후, 처리되고 패킷화된 데이터를 사용자 디바이스(172)(또는 기타 정보 장치)에 분배한다. 특히, MAC는 패킷화된 비트스트림을 컨트롤러로 송신하는데, 여기서 데이터는 사용자 디바이스(172)와의 인터페이스를 위해 처리(예를 들어 포맷)된다. 컨트롤러는 추가의 프로세싱(예를 들어, 데이터의 추출 및 업컨버전)을 위해 포맷된 패킷화 비트 스트림을 (케이블링을 통해) 사용자 디바이스(172)로 전송한다.
업스트림 프로세싱 회로(148)는 전형적으로 업스트림 물리층 소자, 업스트림 매체 액세스 컨트롤러, 변조기, 저역 통과 필터, 및 다른 업스트림 프로세싱 회로(증폭기, 전압 레귤레이터 등)과 같은 다양항 컴포넌트들을 포함한다. 케이블 모뎀(130)은 서비스 제공자(110)로의 후속 전송을 위해 사용자 디바이스(172)로부터의 신호들(예를 들어, 데이터 신호들)을 수신한다. 특히, 사용자는 데이터, 데이터 요청들, 또는 몇몇 다른 사용자 요청을 케이블 모뎀(130)을 통해 서비스 제공자(110)로 보낸다. 케이블 모뎀(130)은 사용자 요청들을 수신하는데, 여기서 MAC 및 업스트림 프로세싱 회로는 전송을 위해 신호들을 포맷, 캡슐화, 및 업컨버트한다(예를 들어, 5MHz 내지 54MHz 주파수 범위). 변조기는 업컨버트된 신호들을 CMTS(114)에 대한 업스트림 신호 경로를 따라 변조한다(예를 들어, QPSK 또는 16QAM).
방화벽 프로그램(150)은 시작 소스 노드(예를 들어, WAN 상의 파일 서버)로부터 목적지 노드(예를 들어, LAN 상의 로컬 컴퓨터)로 송신된 데이터 패킷들(예를 들어, IP 데이터 패킷들)을 검사하고 필터링할 수 있다. 특히, 방화벽 프로그램(150)은 다른 네트워크들로부터의 사용자로부터 사적인 네트워크의 자원을 보호하는 관련 플그램 세트를 포함한다. 방화벽 프로그램(150)은 네트워크 패킷들의 일부 또는 전부를 검사하여 패킷들을 그 목적지로 보낼 것인지를 결정한다. 즉, 방화벽 프로그램(150)은 네트워크 레벨에서 동작한다. 데이터는 패킷 구성이 규정된 룰들을 어기지 않는다면 단지 방화벽 프로그램(150)을 포함하는 통신 디바이스(130)를 통과하도록 허용된다.
방화벽 프로그램 룰들은 예를 들어 서비스 제공자(110)에서 예를 들어 LAN의 관리자에 의해 확립된다. 상기 룰들은 기구(organization)에 의한 정책 고려사항들을 반영하여 원치 않는 데이터가 기구 LAN/WAN(local area network/wide area network)로 들어가지 않게 함으로써 보안을 제공한다. 예를 들어, 기구는 특정 인터넵 웹사이트가 기구의 고용인들에 의해 조사되어서는 안된다고 결정하거나, 몇몇 고용인들은 임의의 인터넷 액세스가 제공되어서는 안된다고 결정할 수 있다. 일 실시예에서, 방화벽 룰들은 도 2에 도시된 예시적인 ALG 파일과 같은 어플리케이션 레벨 게이트웨이 파일에서 정의된다. 따라서, 룰들은 HTTP(hypertext transfer protocol)의 일부 또는 전부를 제한하도록 프로그래밍하는 것을 포함한다. 추가의 룰들은 LAN에 잠입하고자 하는 인증되지 않은 사람들(예를 들어 "해커") 뿐만 아니라 웜(worm)과 같은 LAN과 엔드 사용자들에 해로울 수 있는 데이터 패킷들을 제한하는 것을 포함한다.
ALG 파일들은 TCP/IP 파일 서버(116)에 결합되는 데이터베이스(120) 내에 저장되고, 서비스 제공자(110)에 배치된다. 시스템 관리자가 ALG 파일들을 업데이트할 때, 케이블 모뎀들(130)은 또한 파일 업그레이드를 요구한다. 일 실시예에서, ALG 파일들은 사용자가 액세스 네트워크(108) 상에서 다운로드를 요청함으로써 케이블 모뎀(130)에 제공될 수 있다. 제2 실시예에서, 방화벽(150)은 서비스 제공자(110)에서 업그레이드된 파일들을 식별하기 위해 ALG 데이터베이스를 주기적으로 폴링할 수 있다. 또한, MSO(110)는 SNMP(Simple Network Management Protocol)과 같은 프로토콜을 통해 새로운 방화벽 룰 세트 또는 ALG 데이터를 얻도록 케이블 모뎀(130)에게 명령할 수 있다. 업그레이드된 ALG 파일이 식별되면, 서비스 제공자(110)는 업그레이드된 파일들을 주기적으로 검색하고 그들을 케이블 모뎀(130)에 보낸다. 제3 실시예에서, 업그레이드된 ALG 파일들은 사용자가 그들의 사용자 디바이스(172)를 통해 그들의 케이블 모뎀(130)으로 새로운 및/또는 업그레이드된 ALG 파일들을 업로드할 수 있는, CD-ROM, 디스크 드라이브, 플로피 드라이브 등과 같은 불휘발성 저장 디바이스 상에 저장될 수 있다.
도 2는 본 발명의 예시적인 어플리케이션 레벨 게이트웨이(ALG) 파일(200)의 블록도이다. ALG 파일(200)은 ALG 바디(202)(페이로드) 및 헤더(210)를 포함한다. ALG 파일(200)은 특정 프로토콜을 처리하는 방법을 결정하기 위해 방화벽 프로그램(150)이 실행하는 실행가능한 코드를 포함한다. 즉, ALG 바디(202)는 프로토콜 특정 프로그래밍 코드를 포함한다. 예를 들어, 하나의 ALG 파일(200)은 http 프로토콜을 사용하여 정보의 전달을 가능하게 하는 코드를 포함할 수 있는 반면, 제2 ALG 파일(200)은 FTP(file transfer protocol)을 사용하여 데이터를 차단하는 것에 특정한 실행가능 프로그래밍 코드를 포함한다. 다른 ALG 파일(200)은 TFTP, SNMP, RLOGIN 등과 같은 다른 형태의 프로토콜에 대한 트래픽 플로우를 제어하기 위해 사용될 수 있다.
ALG 헤더(210)는 헤더 포맷 버전(216), 헤더 사이즈(218), 예상(expected) 헤더 CRC(220), 페이로드 인증 서명(222), 페이로드 사이즈(224), 예상 페이로드 CRC(226), 호환가능한 하드웨어 및 소프트웨어 버전 군(228 및 230), 및 다른 정보 중에서도 압축 파라미터, 카피라이트 통지, 및/또는 페이로드가 생성된 날짜/시간과 같은 다른 헤더 데이터(212) 등의 헤더 데이터 필드를 포함한다. 본 발명의 일 실시예에서, 이러한 ALG 헤더(210) 컴포넌트들의 다수는 케이블 모뎀(130)에 의해 수신된 업그레이드되거나 새로운 ALG 파일(200)이 파일 전송 동안 손실되었는지, 또한 케이블 모뎀 하드웨어 및 소프트웨어와 호환가능한지를 결정하기 위해 케이블 모뎀(130)에 의해 사용되는 ALG 파일 유효성 필드(214)로서 사용될 수 있다. 도 2는 ALG 파일(200)의 관점에서 설명되었지만, 진보적인 ALG 파일은 제한되는 것으로 간주되어서는 안된다. 예를 들어, 방화벽 룰들을 포함하는 파일에 유사한 헤더(210)가 첨부될 수 있다.
특히, 유효성 필드(214)는 헤더 포맷 버전 필드(216), 헤더 사이즈(218), 헤더 예상 CRC(cyclic redundancy check)(220), ALG 인증 서명(222), ALG 바디 사이즈 필드(224), ALG 바디 예상 CRC(226), 호환가능한 하드웨어 버전 군 필드(228), 및 호환가능한 소프트웨어 버전 군 필드(230)를 포함한다. 각 유효성 필드(214)는 도 3에 관하여 이하에 설명되는 바와 같이 방법(300)을 사용하여 케이블 모뎀(130)에 의해 검사된다.
헤더 포맷 버전 필드(216)는 헤더(210)의 데이터 필드의 순서 및 길이에 관한 정보를 제공한다. 특히, 헤더 포맷 버전 필드(216)는 공지된 포맷에 대응하는 미리 정의된 수를 포함한다. 이 미리 정의된 수는 전형적으로 일(1)에서 시작하여 필드가 추가될 때마다, 길이가 변할 때마다, 또는 필드가 헤더에서 재배열될 때마다 증분된다. 헤더 포맷 버전 필드(216)는 새로운 포맷과 친숙하지 않은 소프트웨어에 의해 잘못 해석되는 것을 방지한다. 일 실시예에서, 헤더 포맷 버전 필드(216)는 길이가 1 바이트 내지 4 바이트일 수 있고, 하나의 특정 실시예에서는 길이가 2바이트이다. 헤더 사이즈 필드(218)는 헤더(214)의 사이즈를 식별한다. 일 실시예에서, 헤더 사이즈 필드(218)은 길이가 1 바이트 내지 4 바이트일 수 있고, 그 실시예의 하나의 특정 서브셋에서 길이가 2바이트이다. 헤더 예상 CRC 필드(220)는 헤더(210)에 첨부되고 헤더(210) 내에서 에러(손실된 데이터)를 검출하기 위해 사용되는 16 또는 32 비트 다항식(polynomial)을 식별한다.
ALG 인증 서명 필드(222)는 소스(예를 들어, 회사, 제3자 엔티티 등)가 신뢰되는 방화벽 룰 세트 또는 ALG를 발생하는 암호화 인증에 관한 정보를 제공한다. 일 실시예에서, ALG 인증 서명 필드(222)는 길이가 1 바이트 내지 1024 바이트일 수 있고, 그 실시예의 하나의 특정 서브셋에서는 길이가 128 바이트이다. ALG 바디 사이즈 필드(224)는 ALG 바디(202)의 사이즈를 식별한다. 일 실시예에서, ALG 바디 사이즈 필드(224)는 길이가 1 바이트 내지 4 바이트이고, 그 실시예의 일 특정 서브셋에서는 길이가 4 바이트이다. ALG 바디 사이즈 필드(224)는 헤더의 사이즈 필드의 길이를 지칭한다. 실제 ALG 또는 룰 세트 데이터 파일들은 몇 천 바이트 정도가 일반적이다. ALG 바디 예상 CRC 필드(220)는 헤더(210)에 첨부되고 ALG 바디(202)에서 에러(손실된 데이터)를 검출하기 위해 사용되는 16 또는 32 비트 다항식을 식별한다.
호환가능한 하드웨어 버전 필드(228)는 이 파일이 예상되는 문제점 없이 실행(ALG) 또는 동작(룰 세트)할 하드웨어 버전(들)의 세트에 관한 정보를 제공한다. 일 실시에에서, 호환가능한 하드웨어 버전 필드(228)는 길이가 1 바이트 내지 8 바이트일 수 있고, 그 실시예의 일 특정 서브셋에서 길이는 4 바이트이다. 호환가능한 소프트웨어 버전 필드(230)는 이 파일이 예상되는 문제점 없이 실행(ALG) 또는 동작(룰 세트)할 어플리케이션 소프트웨어 버전(들)의 세트에 관한 정보를 제공한다. 일 실시예에서, 호환가능한 소프트웨어 버전 필드(230)는 길이가 1 바이트 내지 8 바이트일 수 있고, 그 실시예의 일 특정 서브셋에서 길이는 4 바이트이다. 상술한 필드 각각의 예시적인 사이즈는 제한되는 것으로 여겨져서는 안되고, 필드들은 요구되는 정보(예를 들어, 대역폭 고려사항)를 효과적으로 제공하기에 적합한 임의의 길이일 수 있음을 주의하라. 동일한 식별 알고리즘을 적용하기 위해 방화벽 룰 세트에 동일한 형태의 헤더가 부가될 수 있음을 더 주의하라.
도 3은 본 발명의 원리들에 따라 새로운 또는 업그레이드된 ALG 파일(200)(또는 방화벽 룰 세트)를 검증하는 방법(300)의 블록도이다. 방법(300)은 방화벽(150)에 의해 실행되기 위해 케이블 모뎀(130)의 메모리에 새로운 또는 업그레이드된 ALG 파일(200)이 저장되는 경우에 사용될 수 있다. 방법(300)은 파일 전송시 호환성 이슈 및 데이터의 손실에 관한 다양한 파라미터들을 검사하는 단계를 포함한다. 각종 파라미터들을 검증하기 위해 도 3에 도시된 파라미터의 유형 및 특정 순서는 단지 예시적이며 제한적인 것으로 해석되어서는 안된다는 것을 주의하라.
특히, 방법(300)은 단계 302에서 시작하고 단계 304로 진행하는데, 여기서 ALG 파일(200)은 케이블 모뎀(130)으로 전송되고 휘발성 메모리(136)에서 버퍼링된다. 일 실시예에서, 방화벽(150)은 새로운 또는 업그레이드된 ALG 파일(200)을 위해 서비스 제공자(110)에서 중앙 위치(예를 들어, ALG 데이터베이스(120))를 주기적으로 폴링한다. 새로운 또는 업그레이드된 ALG 파일(200)은 그 후 필요한 경우 액세스 네트워크를 통해 헤드 엔드(112)에서 TCP/IP 파일 서버(116)로부터 다운로드된다.
제2 실시예에서, 서비스 제공자(110)로부터 케이블 모뎀(130)으로 구성 파일이 다운로드된다. 구성 파일은 관리 접속을 확립하기 위해 사용되는 양방향 네트워크 정책 정보를 제공한다. 케이블 모뎀 어플리케이션(예를 들어, 방화벽(150))은 구성 파일을 검사하고 ALG 파일(200)을 다운로드할지를 결정한다. 이 식별 알고리즘을 실행하는 방화벽(150)이 ALG 파일(200)이 케이블 모뎀(130)에 적합하다고 판정하면, 방화벽(150)은 ALG 파일(200)을 보내라는 요청을 파일 서버(116)로 보낸다. 파일 서버(116)는 그 후 액세스 네트워크(108)를 통해 ALG 파일을 케이블 모뎀(130)으로 다운로드한다.
제3 실시예에서, ALG 파일(200)은 그들의 사용자 디바이스(172) 상의 사용자에 의해 케이블 모뎀(130)으로 로딩될 수 있다. 이 예에서, ALG 파일(200)은 플로피 디스크, CD-ROM, 디스크 드라이브 등과 같은 불휘발성 매체 상에 저장된다. 따라서, 방법(300)의 단계 304는 상술된 3가지 실시예들중 어느것을 포함한다. 그 후 방법(300)은 단계 306으로 진행한다.
단계 306에서, 수신된 ALG 파일(200)의 헤더(210) 내에 있는 헤더 포맷 버전 필드(216)가 검사된다. 단계 308에서, 헤더 포맷 버전이 공지되지 않으면, 방법(300)은 단계 350으로 진행하고, 여기서 ALG 파일(200)은 거절된다. 즉, ALG 파일(200)은 불휘발성 메모리(138)에 저장되거나 방화벽(150)에 의해 사용되지 않고, 단계 399에서 방법(300)은 종료한다. 단계 308에서, 헤더 포맷 버전이 공지되면 방법(300)은 단계 310으로 진행한다.
단계 310에서, 수신된 ALG 파일(200)의 헤더(210)에 있는 ALG 헤더 사이즈 필드(216) 및 ALG 바디 사이즈 필드(224)가 검사된다. 단계 312에서, ALG 파일(200)이 불휘발성 메모리(136)의 용량을 초과하면, 방법(300)은 단계 350으로 진행하는데, 여기서 ALG 파일(200)은 상술된 바와 같이 거절된다. 단계 312에서, ALG 파일(200)이 불휘발성 메모리(136)의 용량을 초과하지 않으면, 방법(300)은 단계 314로 진행한다.
단계 314에서, 수신된 ALG 파일(200)의 헤더(210)에 있는 예상 헤더 CRC 필드(220)가 검사된다. 단계 316에서, 헤더(210)에 대한 CRC는 케이블 모뎀(130)이 동일한 다항식을 데이터(헤더(210))에 적용하고 그 결과를 서비스 제공자(110)에 의해 첨부된 CRC 결과와 비교하도록 계산된다. 단계 318에서, 계산된 CRC와 첨부된 헤더 CRC가 일치하지 않으면, 방법(300)은 단계 350으로 진행하는데, 여기서 ALG 파일(200)은 상술된 바와 같이 거절된다. 단계 318에서, 계산된 CRC와 첨부된 헤더 CRC가 일치하면, 방법(300)은 단계 320으로 진행한다.
단계 320에서, 수신된 ALG 파일200)의 헤더(210)에 있는 예상 바디 CRC 필드(226)가 검사된다. 단계 316에서, ALG 바디(202)에 대한 CRC는 케이블 모뎀(130)이 동일한 다항식을 데이터(ALG 바디(202))에 적용하고 그 결과를 서비스 제공자(110)에 의해 첨부된 CRC 결과와 비교하도록 계산된다. 단계 324에서, 계산된 CRC와 첨부된 바디 CRC가 일치하지 않으면, 방법(300)은 단계 350으로 진행하는데, 여기서 ALG 파일(200)은 상술된 바와 같이 거절된다. 단계 324에서, 계산된 CRC와 첨부된 바디 CRC가 일치하면, 방법(300)은 단계 326으로 진행한다.
단계 326에서, 수신된 ALG 파일(200)의 헤더(210)에 있는 AGL 인증 서명 필드(222)가 검사된다. 단계 328에서, 서명에 대해 인증 동작이 수행된다. 예를 들어, SHA-1(Secure Hash Algorithm-1)을 가진 RSA(Rivest Shamir Adelman) 서명 알고리즘 또는 본 기술 분야에 공지되어 있는 다른 종래 인증 기술에 의해 인증이 제공될 수 있다. 단계 330에서, ALG 파일(200)이 인증 소스로부터 나오지 않으면, 방법(300)은 단계 350으로 진행하고, 여기서 ALG 파일(200)은 상술된 바와 같이 거절된다. 단계 330에서, ALG 파일(200)이 인증 소스로부터 나오면, 방법(300)은 단계 332로 진행한다.
단계 332에서, 수신된 ALG 파일(200)의 헤더(210)에 있는 하드웨어 버전 군 필드(228)가 검사된다. 단계 334에서, ALG 파일(200)이 케이블 모뎀(130)의 하드웨어 버전과 호환되지 않으면, 방법(300)은 단계 350으로 진행하고, 여기서 ALG 파일(200)은 상술된 바와 같이 거절된다. 단계 334에서, ALG 파일(200)이 케이블 모뎀(130)의 하드웨어 버전과 호환되지 않으면, 방법(300)은 단계 336으로 진행한다.
단계 336에서, 수신된 ALG 파일(200)의 헤더(210)에 있는 소프트웨어 버전 군 필드(230)가 검사된다. 단계 338에서, ALG 파일(200)이 케이블 모뎀(130)의 소프트웨어 버전과 호환되지 않으면, 방법(300)은 단계 350으로 진행하고, 여기서 ALG 파일(200)은 상술된 바와 같이 거절된다. 단계 338에서, ALG 파일(200)이 케이블 모뎀(130)의 소프트웨어 버전과 호환되지 않으면, 방법(300)은 단계 340으로 진행한다.
ALG 파일(200)이 호환성 이슈 및 손상된 데이터에 대해 검사되면, 단계 340에서 ALG 파일(200)은 케이블 모뎀(130)의 불휘발성 메모리(136)로 로딩되고, 단계 339에서 방법(300)이 종료한다. 방법(300)은 ALG 파일(200) 또는 룰 세트를 수신하면서, 이러한 수신된 파일 또는 룰 세트를 사용하기 전에, ALG 파일(200) 또는 방화벽 룰 세트의 호환성을 검증하는 루틴을 제공한다. 검증 알고리즘이 ALG 파일 또는 방화벽 룰 세트가 케이블 모뎀(130)의 하드웨어 또는 소프트웨어와 호환되지 않는다고 나타내면, 수신된 파일 또는 룰 세트는 안전하게 거절될 수 있다. 따라서, 호환가능하지 않은 ALG 파일(200) 또는 룰 세트를 구현함으로써 복구 불가능한 에러 조건을 유발할 위험이 실질적으로 감소된다.
본 발명의 특징을 포함하는 다양한 실시예들이 여기에 상세하게 도시되고 기재되었지만, 본 기술 분야의 당업자들은 이러한 특징을 포함하는 다른 많은 변경된 실시예들을 용이하게 발명할 수 있다.

Claims (19)

  1. 양방향 통신 디바이스(130)에서, 어플리케이션 레벨 게이트웨이(ALG:application level gateway) 파일(200)을 수신하는 단계(304);
    상기 ALG 파일의 적어도 하나의 호환성 파라미터를 상기 양방향 통신 디바이스의 특징들과 비교하는 단계(308, 310, 314, 320, 326, 332, 336); 및
    상기 적어도 하나의 호환성 파라미터의 긍정적인 비교에 응답하여 상기 양방향 통신 디바이스에서 상기 ALG 파일을 저장하는 단계(340)
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터의 부정적인 비교에 응답하여 상기 양방향 통신 디바이스에서 상기 ALG 파일을 거절하는 단계(350)를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 헤더 포맷 버전(308)을 포함하는 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 파일 사이즈(310)를 포함하는 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 헤더 CRC 값(314)을 포함하는 방법.
  6. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 헤더 포맷 버전을 포함하는 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 바디(body) CRC 값(320)을 포함하는 방법.
  8. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 인증 서명(326)을 포함하는 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 하드웨어 군 버전(hardware family version)(332)을 포함하는 방법.
  10. 제1항에 있어서,
    상기 적어도 하나의 호환성 파라미터는 상기 ALG 파일의 소프트웨어 군 버전(software family version)(336)을 포함하는 방법.
  11. 제1항에 있어서,
    상기 양방향 통신 디바이스는 케이블 모뎀(130)을 포함하는 방법.
  12. 제1항에 잇어서,
    상기 수신 단계는,
    적어도 하나의 새롭게 업데이트된 ALG 파일이 사용가능한지를 결정하기 위해 서비스 제공자(110)를 주기적으로 폴링(polling)하는 단계;
    사용가능한 ALG 파일에 대한 요청을 송신하는 단계; 및
    액세스 네트워크로부터 상기 요청된 ALG 파일을 수신하는 단계
    를 포함하는 방법.
  13. 제1항에 있어서,
    상기 수신 단계는,
    상기 서비스 제공자로부터 구성 파일(configuration file)을 수신하는 단계 - 상기 구성 파일은 적어도 하나의 새롭게 업데이트된 ALG 파일들을 식별함 - ;
    사용가능한 ALG 파일들에 대한 요청을 송신하는 단계; 및
    액세스 네트워크로부터 상기 요청된 ALG 파일을 수신하는 단계
    를 포함하는 방법.
  14. 제1항에 있어서,
    방화벽 프로그램(150)은 상기 ALG 파일들을 사용하여 데이터 트래픽(traffic)을 제어하는 방법.
  15. 제1항에 있어서,
    상기 ALG 파일(200)은 헤더 부분(214)을 첨부하고 있는데, 상기 헤더 부분(214)은 헤더 포맷 버전(216), 헤더 사이즈(218), 헤더 예상 CRC(220), 인증 서명(222), 바디 사이즈(224), 바디 예상 CRC(226), 호환가능한 하드웨어 버전 군(228), 및 호환가능한 소프트웨어 버전 군(230)을 포함하는 그룹으로부터 선택된 상기 호환성 파라미터들을 포함하는 방법.
  16. 양방향 통신 디바이스(130)에서, 어플리케이션 레벨 게이트웨이(ALG:application level gateway) 파일(200)을 수신하는 수단;
    상기 ALG 파일의 적어도 하나의 호환성 파라미터를 상기 양방향 통신 디바이스의 특징들과 비교하는 수단; 및
    상기 적어도 하나의 호환성 파라미터의 긍정적인 비교에 응답하여 상기 양방향 통신 디바이스에서 상기 ALG 파일을 저장하는 수단(136, 140)
    를 포함하는 장치.
  17. 제16항에 있어서,
    상기 적어도 하나의 호환성 파라미터의 부정적인 비교에 응답하여 상기 양방향 통신 디바이스에서 상기 ALG 파일을 거절하는 수단을 더 포함하는 장치.
  18. 제16항에 있어서,
    상기 양방향 통신 디바이스는 케이블 모뎀(130)을 포함하는 장치.
  19. 제16항에 있어서,
    상기 ALG 파일은 헤더 부분(214)을 첨부하고 있는데, 상기 헤더 부분(214)은 헤더 포맷 버전(216), 헤더 사이즈(218), 헤더 예상 CRC(220), 인증 서명(222), 바디 사이즈(224), 바디 예상 CRC(226), 호환가능한 하드웨어 버전 군(228), 및 호환가능한 소프트웨어 버전 군(230)을 포함하는 그룹으로부터 선택된 상기 호환성 파라미터들을 포함하는 장치.
KR1020057000532A 2002-07-11 2003-07-03 어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트다운로드 검증 KR100959968B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39504202P 2002-07-11 2002-07-11
US60/395,042 2002-07-11

Publications (2)

Publication Number Publication Date
KR20050019836A true KR20050019836A (ko) 2005-03-03
KR100959968B1 KR100959968B1 (ko) 2010-05-27

Family

ID=30115804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057000532A KR100959968B1 (ko) 2002-07-11 2003-07-03 어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트다운로드 검증

Country Status (11)

Country Link
US (1) US20050220126A1 (ko)
EP (1) EP1522159B1 (ko)
JP (2) JP2005532640A (ko)
KR (1) KR100959968B1 (ko)
CN (1) CN1679263B (ko)
AU (1) AU2003247799A1 (ko)
BR (1) BR0305431A (ko)
DE (1) DE60332735D1 (ko)
MX (1) MXPA05000416A (ko)
TW (1) TWI229520B (ko)
WO (1) WO2004008271A2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688828B2 (en) * 2001-06-27 2010-03-30 Cisco Technology, Inc. Downstream remote physical interface for modular cable modem termination system
US8677434B2 (en) * 2003-12-03 2014-03-18 Broadcom Corporation Method and system for direct digital up-conversion in a cable modem
EP1747655B1 (en) 2004-05-20 2017-12-06 QinetiQ Limited Firewall system
US8149833B2 (en) * 2004-05-25 2012-04-03 Cisco Technology, Inc. Wideband cable downstream protocol
US7646786B2 (en) 2004-05-25 2010-01-12 Cisco Technology, Inc. Neighbor discovery in cable networks
US7864686B2 (en) 2004-05-25 2011-01-04 Cisco Technology, Inc. Tunneling scheme for transporting information over a cable network
US8102854B2 (en) * 2004-05-25 2012-01-24 Cisco Technology, Inc. Neighbor discovery proxy with distributed packet inspection scheme
US7835274B2 (en) * 2004-05-25 2010-11-16 Cisco Technology, Inc. Wideband provisioning
US7720101B2 (en) * 2004-05-25 2010-05-18 Cisco Technology, Inc. Wideband cable modem with narrowband circuitry
US7532627B2 (en) * 2004-05-25 2009-05-12 Cisco Technology, Inc. Wideband upstream protocol
US7817553B2 (en) * 2004-05-25 2010-10-19 Cisco Technology, Inc. Local area network services in a cable modem network
US7539208B2 (en) 2004-05-25 2009-05-26 Cisco Technology, Inc. Timing system for modular cable modem termination system
US20070061445A1 (en) * 2005-09-13 2007-03-15 Deganaro Louis R Cooperative routing between traffic control device and multi-server application
WO2007062108A2 (en) * 2005-11-23 2007-05-31 Pak Siripunkaw Method of upgrading a platform in a subscriber gateway device
TWI354485B (en) * 2006-06-22 2011-12-11 Lg Telecom Ltd Device for setting of service zone in mobile commu
US8848745B2 (en) * 2006-08-17 2014-09-30 Broadcom Corporation Remote flash access
BRPI0810486B1 (pt) * 2007-04-23 2019-05-07 Thomson Licensing Método para fornecer dados a partir de uma fonte de sinal para um dispositivo de porta de ligação e dispositivo de porta de ligação
US8108911B2 (en) 2007-11-01 2012-01-31 Comcast Cable Holdings, Llc Method and system for directing user between captive and open domains
US8601097B2 (en) * 2010-02-22 2013-12-03 Ncomputing Inc. Method and system for data communications in cloud computing architecture
US20120117365A1 (en) * 2010-11-08 2012-05-10 Delta Electronics (Thailand) Public Co., Ltd. Firmware update method and system for micro-controller unit in power supply unit
US9141169B2 (en) 2012-01-20 2015-09-22 Cisco Technology, Inc. System and method to conserve power in an access network without loss of service quality
US9958924B2 (en) 2013-08-28 2018-05-01 Cisco Technology, Inc. Configuration of energy savings
US10122687B2 (en) * 2014-09-14 2018-11-06 Sophos Limited Firewall techniques for colored objects on endpoints
US9843560B2 (en) 2015-09-11 2017-12-12 International Business Machines Corporation Automatically validating enterprise firewall rules and provisioning firewall rules in computer systems
US9912783B2 (en) * 2016-01-29 2018-03-06 Veritas Technologies Llc Securing internal services in a distributed environment
TW201926108A (zh) * 2017-12-04 2019-07-01 和碩聯合科技股份有限公司 網路安全系統及其方法
US10705821B2 (en) * 2018-02-09 2020-07-07 Forescout Technologies, Inc. Enhanced device updating

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5599231A (en) * 1994-10-31 1997-02-04 Nintendo Co., Ltd. Security systems and methods for a videographics and authentication game/program fabricating device
US6006018A (en) * 1995-10-03 1999-12-21 International Business Machines Corporation Distributed file system translator with extended attribute support
US5845128A (en) * 1996-02-20 1998-12-01 Oracle Corporation Automatically preserving application customizations during installation of a new software release
US5848064A (en) * 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
US5964831A (en) * 1996-10-29 1999-10-12 Electronic Data Systems Corporation Distributed on-line data communications system and method
US6272150B1 (en) * 1997-01-17 2001-08-07 Scientific-Atlanta, Inc. Cable modem map display for network management of a cable data delivery system
US6308328B1 (en) * 1997-01-17 2001-10-23 Scientific-Atlanta, Inc. Usage statistics collection for a cable data delivery system
US5968176A (en) * 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US6029196A (en) * 1997-06-18 2000-02-22 Netscape Communications Corporation Automatic client configuration system
US6009547A (en) * 1997-12-03 1999-12-28 International Business Machines Corporation ECC in memory arrays having subsequent insertion of content
US5991774A (en) * 1997-12-22 1999-11-23 Schneider Automation Inc. Method for identifying the validity of an executable file description by appending the checksum and the version ID of the file to an end thereof
US6182275B1 (en) * 1998-01-26 2001-01-30 Dell Usa, L.P. Generation of a compatible order for a computer system
US6105149A (en) * 1998-03-30 2000-08-15 General Electric Company System and method for diagnosing and validating a machine using waveform data
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US7318089B1 (en) * 1999-09-30 2008-01-08 Intel Corporation Method and apparatus for performing network-based control functions on an alert-enabled managed client
AU8017600A (en) * 1999-10-15 2001-04-30 Thomson Licensing S.A. A user interface for a bi-directional communication system
JP2001216218A (ja) * 2000-02-01 2001-08-10 Canon Inc 印刷制御装置、印刷システム、アダプタ、印刷制御方法及び記憶媒体
US7031263B1 (en) * 2000-02-08 2006-04-18 Cisco Technology, Inc. Method and apparatus for network management system
US6665752B1 (en) * 2000-02-17 2003-12-16 Conexant Systems, Inc. Interrupt driven interface coupling a programmable media access controller and a process controller
JP2004534973A (ja) * 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド ネットワークデバイスのアップグレードシステム及び方法
US20020010800A1 (en) * 2000-05-18 2002-01-24 Riley Richard T. Network access control system and method
JP2002024026A (ja) * 2000-07-04 2002-01-25 Canon Inc 情報処理装置、情報処理システム、情報処理方法、及び記憶媒体
US20020133586A1 (en) * 2001-01-16 2002-09-19 Carter Shanklin Method and device for monitoring data traffic and preventing unauthorized access to a network
WO2002084495A1 (en) * 2001-04-13 2002-10-24 Nokia, Inc. System and method for providing exploit protection for networks
US6957212B2 (en) * 2001-04-24 2005-10-18 Innopath Software, Inc. Apparatus and methods for intelligently caching applications and data on a gateway
US20030033418A1 (en) * 2001-07-19 2003-02-13 Young Bruce Fitzgerald Method of implementing and configuring an MGCP application layer gateway
US7370353B2 (en) * 2001-11-05 2008-05-06 Cisco Technology, Inc. System and method for managing dynamic network sessions
US6996211B2 (en) * 2002-12-23 2006-02-07 Sbc Properties, L.P. Voice over IP method of determining caller identification

Also Published As

Publication number Publication date
CN1679263A (zh) 2005-10-05
BR0305431A (pt) 2004-11-30
JP2010061675A (ja) 2010-03-18
MXPA05000416A (es) 2005-07-22
JP2005532640A (ja) 2005-10-27
EP1522159A4 (en) 2005-10-12
EP1522159A2 (en) 2005-04-13
AU2003247799A1 (en) 2004-02-02
TW200412758A (en) 2004-07-16
US20050220126A1 (en) 2005-10-06
DE60332735D1 (de) 2010-07-08
CN1679263B (zh) 2012-04-18
WO2004008271A3 (en) 2004-03-11
EP1522159B1 (en) 2010-05-26
TWI229520B (en) 2005-03-11
WO2004008271A2 (en) 2004-01-22
KR100959968B1 (ko) 2010-05-27
AU2003247799A8 (en) 2004-02-02

Similar Documents

Publication Publication Date Title
KR100959968B1 (ko) 어플리케이션 레벨 게이트웨이 및 방화벽 룰 세트다운로드 검증
US7739359B1 (en) Methods and apparatus for secure cable modem provisioning
US10045070B2 (en) Methods and apparatus for centralized content and data delivery
US7023871B2 (en) Wideband DOCSIS on catv systems using port-trunking
US6510162B1 (en) System and method for managing channel usage in a data over cable system
EP1182818B1 (en) Communication parameter adjustment system in an Internet compatible bi-directional communication system
US6715075B1 (en) Providing a configuration file to a communication device
CA2609820C (en) Method and system of configuring media units
KR20080010897A (ko) 임베디드 케이블모뎀과 임베디드 셋탑박스 간의 통신 방법및 이를 위한 장치
EP1340159A1 (en) Method and apparatus for selecting a download software image for a cable modem
Cisco Chapter 1: Overview of Cisco uBR10000 Series Software
KR100582437B1 (ko) 네트워크 장치에 대한 정확한 운용 소프트웨어 버전을 결정하기 위한 장치 및 방법
Woundy et al. Cable Device Management Information Base for Data-Over-Cable Service Interface Specification (DOCSIS) Compliant Cable Modems and Cable Modem Termination Systems
Woundy et al. RFC 4639: Cable Device Management Information Base for Data-Over-Cable Service Interface Specification (DOCSIS) Compliant Cable Modems and Cable Modem Termination Systems
Kim et al. Automatic Remote Firmware Upgrade Algorithm through Internet for DOCSIS Cable Modems

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: 20130419

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee