액티브 네트워크 기술 동향
이수형* 남택용** 나중찬*** 손승원****
액티브 네트워크는 네트워크 노드를 프로그램이 가능토록 구현함을 목표로 한다. 이를 통해 새로운 프로토콜 및 기술을 네트워크 상에서 채택하여 운용하는 것을 용이하게 할 뿐만 아니라 사용자가 네트워크상에 필요한 기능을 수행함으로써 네트워크 관리나 새로운 서비스의 제공을 능동적이고 유연하게 수행할 수 있도록 하는 새로운 네트워크 패러다임이다. 따라서 본 고에서는 관련 연구 동향 및 액티브 네트워크의 운용 시 핵심적인 사항이라 할 수 있는 액티브 네트워크 보안 분야의 이슈들을 살펴보았다. ▧
I. 서 론
인터넷의 급격한 확산과 인터넷을 이용하는 응용의 수가 급격히 증가함에 따라 인터넷을 이용하는 응용 및 사용자의 네트워크에 대한 요구는 점차적으로 복잡해지고 그 수가 증가하고 있는 상태이다. 이를 수용하기 위한 여러 기술들이 연구되고 있지만 이들 기술이 표준화 단계를 거쳐 실제 망에 채택되어 사용되기까지는 많은 시일과 비용이 소요된다. 또한 사용자 요구 조건의 변화 속도와 이를 지원하기 위한 네트워크 시스템의 변화 속도간에는 차이가 발생하게 되어 사용자의 망에 대한 요구 기능을 시기 적절하게 반영하는 하는 것은 현재의 네트워크 구조 하에서는 불가능하다.
이를 극복하기 위해 네트워크 노드의 구조를 프로그래밍이 가능하도록 하고, 사용자 요구 기능을 수행할 수 있는 프로그램 코드를 전송/실행함으로써 통신망에 새로운 서비스를 보다 신속하고 경제적으로 도입하고 망 자원들을 보다 적절하게 활용할 수 있도록 하는 데 목표를 두고 연구되고 있는 분야가 액티브 네트워크 분야이다.
기존의 네트워크 노드가 단순히 패킷을 저장한 후 포워딩(store and forward) 하는 식의 단순한 네트워킹 기능을 하는 것과는 달리 액티브 네트워크는 사용자가 원하는 프로그램을 패킷을 통하여 전송하여 실행하거나 네트워크 노드에 미리 설치된 프로그램 중에서 해당 기능을 실행함으로써 사용자가 원하는 네트워크 기능을 이용하게 된다. 이처럼 네트워크 노드에서 라우팅과 같은 단순한 기능에서 벗어나 네트워크 종단간에서만 이루어지던 여러 가지 에러 처리 및 흐름 제어와 같은 복잡한 기능 혹은 그 외 사용자가 원하는 기능을 네트워크 노드에서 수행할 수 있다는 것은 사용자나 네트워크 망 자체에 유연성 뿐만 아니라 여러 많은 장점들을 제공할 수 있다.
액티브 네트워크를 구현하는 방법은 프로그램 코드의 전송 여부에 따라 크게 두 가지로 분류할 수 있다. 첫번째는 액티브 네트워크에 사용되는 프로그램이 중간 노드에 미리 설치되어 있고 사용자가 설치된 프로그램 중 어느 하나를 실행하기를 원할 경우 해당 프로그램을 식별하는 지시자와 해당 프로그램이 실행하는 데 필요한 데이터를 전송하여 해당 기능을 실행하는 방법이 있다. 이 경우 네트워크 상에서 실행 프로그램의 전송과 실제 사용자 요구 기능(메시지)의 실행은 분리되어 이어지게 된다. 프로그램은 인증된 관리자에 의해 네트워크에 배포되며 이런 접근 방법을 프로그래머블 스위치(Programmable Switch) 방식 또는 분리(Discrete) 방식이라 한다. 이 방법에 따른 대표적인 액티브 네트워크 프로젝트는 펜실바니아 대학의 Switchware와 콜럼비아 대학의 Netscript 등이 있다. 이 방법은 실행 기능이 복잡해서 프로그램의 크기가 커서 프로그램 자체를 전송하기에는 사용자의 요구에 시기 적절하게 대응하는 것이 어려울 경우에 유리하다.
또 다른 방법은 통합(Integrated) 방식 또는 캡슐(Capsule) 방식이라고도 불리며 이는 실행에 필요한 데이터 뿐만 아니라 실행 프로그램 자체를 일반 패킷과 마찬가지로 캡슐이라 불리는 액티브 패킷을 통하여 중간 노드에 전달하여 실행하는 방법이 있을 수 있다. 이 경우 액티브 네트워크 상에서 전송되는 모든 패킷은 네트워크 노드에서 실행 가능한(되어야 할) 프로그램으로 볼 수 있으며 프로그램은 네트워크 상의 어느 사용자에 의해서도 네트워크에 전송이 가능하다. 이 방법에 따른 대표적인 액티브 네트워크 프로젝트는 MIT 공대의 ANTS, 펜실바니아 대학의 PLANet 등이 있다.
II. 관련 연구 동향
액티브 네트워크에 대한 국내 연구는 아직 큰 진전이 없을 뿐만 아니라 활발히 연구가 추진되지 못하고 있다. 본격적으로 기술 또는 장비 개발에 나서는 연구소나 업체는 없는 것으로 파악되고 있으며 세계 동향을 파악하는 수준에 있다고 할 수 있고 일부 대학의 경우 자체적인 액티브 네트워크 시스템을 제안하고 있는 것으로 발표되고 있다.
국제적으로는 미국의 MIT, 펜실베니아, 아리조나, 콜롬비아, 조지아텍 대학교와 영국의 케임브리지 대학 등 학계를 중심으로 활발히 연구가 추진되어 오고 있으며 연구기관으로는 IEEE와 BBN, 업체로서는 인텔, 노키아, 루슨트 등이 중심이 되어 OpenSig 및 Open Network Architecture라는 컨퍼런스 및 워크샵을 개최하면서 관련 기술의 표준화를 추진해 나가고 있다. 지금까지는 액티브 네트워크에 대한 기본적 개념, 필요성, 다양한 응용들을 제시하면서 점차 액티브 네트워크의 적용 범위, 주요 응용 분야, 주요 핵심 기술, 접근 방법 등에 대하여 공감대를 이루어 가고 있는 과정에 있다. 개방형 인터페이스(open interface)에 대해서는 IEEE Project1520을 중심으로 한 참조모델(reference model)을 제시하고 이를 ATM망, IP인터넷망, SS No.7이 지원하는 회선 교환망에 적용하는 연구들이 진행되고 있다. 다음은 이에 대한 세계적인 연구 동향을 요약한 것이다.
1. 액티브 네트워크에서의 주요 연구 분야
가. 네트워크 구조에 관한 연구
망 구조는 네트워크 프로그래밍성의 동적 정도를 반영하게 된다. DAN(Delegated Agents for Network Management)에서처럼 프로그램 코드를 서버에 저장해 놓고 필요 시 전송하거나 바인딩해서 사용하는 경우, 네트워크 노드상에 필요한 모든 코드를 미리 설치해 놓고 액티브 패킷에 의하여 해당 프로그램에 대한 지시자(identifier)나 참조(reference)를 통하여 해당 기능을 사용하는 경우, 필요 시 코드를 생성하여 프로토콜을 통해 직접 네트워크 노드에 전송하여 사용하는 경우를 들 수 있다. 이러한 경우들에 따라 망의 구조와 프로토콜, 안전 요구 정도는 달라지게 된다.
액티브 네트워크의 구조에 대하여는 IEEE의 OPENARCH 포럼을 바탕으로 연구가 추진되고 있으나 많은 진척이 이루어지지 못하고 있는 것으로 파악되고 있다. 이 분야에서는 주로 망을 구성하는 요소들의 기능 및 이들간의 정보 흐름 및 프로토콜이 정의되어야 할 것이다.
나. 네트워크 노드 구조에 관한 연구
망 노드의 대표적인 예는 인터넷 라우터와 ATM 스위치를 들 수 있다. 액티브 네트워크 기능을 수행하기 위한 구조는 그 노드가 담당하는 기능 및 목표 서비스의 요구사항을 정밀하게 분석한 후 설계되어야 한다. 일반적인 요구사항으로는 이식성이 강하고 시스템 독립적인 응용 플랫폼과 하드웨어 및 소프트웨어 플랫폼을 갖추어야 한다.
다. 망 노드의 동적 실행 환경(Execution Environment)에 관한 연구
이 분야는 프로그램 코드가 어떻게 노드에 쉽게 설치되어 운용될 수 있는가 하는 문제로서 실행할 프로그램 로직의 정확도 및 집적도 확인, 동적인 컴파일링, 컴파일된 프로그램의 커널 로딩, 해당 네트워크 노드의 원활한 자원 관리와 관련된 기능들이다. 주로 적절한 운영체제와 관련된 것으로 기존의 운영체제를 작고 가볍게 하여 사용하는 경우(예, JavaOS, NodeOS 등)와 실행시간에 QoS 지원을 위해 동적 바인딩 기술을 고려한 경우(예, xbind kernel)도 있다.
프로그래밍이 가능한 정도에 따라 자원을 제어하고 관리하는 엄격함의 수준이 달라질 수 있다. 자원에 대한 관리는 패킷, 호, 사용자 단위로 수행될 수 있으며, 제어 허용 정도는 하드웨어의 경우에는 메모리, 스위칭 패브릭, 프로세서, 네트워크 인터페이스 장치 등의 수준에서 고려될 수 있다. 소프트웨어의 경우 응용프로그램, 인터페이스 프로토콜 소프트웨어, 자원 관리 소프트웨어, 운영체제 등의 여러 수준에서 고려될 수 있다.
라. 프로그래밍 언어에 관한 연구
액티브 네트워크에서 사용될 프로그래밍 언어는 다음과 같은 기본적 요구 조건들을 갖는다.
- 프로그래밍 언어 구조적으로 실행중 노드의 안전을 보장할 수 있는 언어
- 플랫폼에 독립적으로 동작할 수 있는 언어
- 수행 시 동적으로 커널에 로딩가능한 언어
- 필요 시(on-the-fly) 다운로드, 컴파일, 실행이 가능한 언어
이러한 요구 사항들에 근접한 언어로 Java가 많은 연구 프로젝트에서 사용되고 있으나, 실행 시 노드의 안정성을 보장하는 측면에서 부족한 점이 발견되어 Caml과 같이 다른 객체 지향 실행 환경 및 언어를 적용하는 경우도 있다.
마. 실행 안전성(safety and security)에 관한 연구
네트워크 자원들(메모리, 버퍼, 프로세싱 능력, 대역폭, 내부 소프트웨어, 이름 공간 등)을 일반 사용자가 직접 액세스하고 제어함으로써 시스템에 대한 안전성이 무엇보다도 중요성을 갖게 된다. 따라서 자원들에 대한 철저한 액세스 제어 및 사용자별 실행 프로그램의 고립화, 실행 코드의 전송 과정에서 암호화 등이 고려되고 있다. 이는 개방의 정도 및 성능과의 균형(trade-off 혹은 balances)상에서 검토되고 있다. 액티브 네트워크의 성공 여부를 결정짓는 중요한 관건이라 할 수 있다.
2. 주요 연구 프로젝트
가. Switchware
스위치웨어는 벨코어와 펜실베니아 대학이 공동으로 연구하고 있는 프로젝트로, 분리방식의 대표적인 예로 꼽히고 있다. 스위치웨어는 프로그램 가능성과 보안성 및 안정성에 주된 초점을 맞추고 있으며, 특히 보안에 관계된 연구를 매우 심도 있게 하고 있다. 스위치웨어는 액티브 패킷과 스위치렛(Switchlet), SANE(Secure Active Network Environment)이라 불리는 액티브 네트워크 기반 구조로 이루어져 있다. 액티브 패킷은 기존의 패킷을 대치하는 이동 가능한 프로그램을 포함한 형태이고 프로그래밍 언어로는 자체 개발한 PLAN(Programming Language for Active Network)을 사용하였다. 액티브 패킷은 프로토콜 혹은 네트워크 기능 요소 요청 시 네트워크를 통한 전송 및 로딩이 가능하다. 스위치렛은 중간계층을 구성하고 라우팅 프로토콜과 같은 라우터 기능의 기본 기능이나 동적으로 적재할 수 있는 추가 확장 기능을 제공한다. 액티브 패킷과 스위치렛에 프로토콜이나 네트워크 요소를 로딩(loading)할 때 높은 수준의 통합성과 강한 타입 검사(strong type checking)와 같은 검증을 통해 보안성을 제공한다.
2001년까지 이어지는 이 프로젝트의 목표는 어플리케이션의 활성화와 상호 작동의 범위를확장시키는 데 있다. 특히 ABONE 의 상호작동을 위해 자동화된 서비스 배포 기능을 제공할 수 있는 작업을 연구중이다.
나. NetScript
NetScript는 콜롬비아 대학에서 제시한 프로그래밍 언어로 네트워크 시스템을 개발하기 위한 환경을 제공한다. 이들 프로그램들은 원격 시스템에서 처리될 수 있는 이동형 에이전트로 구성되어 지역 또는 원격 제어 하에서 수행한다. 즉 NetScript는 동적으로 네트워크 노드에 있는 액티브 프로그램들을 배포하고 실행할 수 있다.
NetScript에서의 네트워크 노드 엔진 프로그래밍 기법은 Postscript의 프로그램 가능한 프린터와 유사하다. 프로그래밍 언어로 추상화된 네트워크 노드의 기능으로 패킷 스트림 처리와 자원 할당을 구축할 수 있다.
다. ANTS
ANTS는 MIT 대학에서 연구 개발한 것으로 액티브 노드의 실행 환경과 네트워크 프로그래밍 모델을 제공해 주는 툴킷이다. ANTS의 모든 구현은 이동 코드(mobile code) 기술을 이용하여 프로토콜 정의들을 네트워크 상에서 전송한다. 어플리케이션과 액티브 노드의 구현은 Java로 되어 있으며, 어플리케이션과 액티브 노드는 운영 체제의 사용자 레벨의 최상위 단일 주소 영역에서 동작한다. 이것은 프로토타입을 개발할 때나 액티브 네트워크 시스템의 디자인을 용이하게 해준다. ANTS 네트워크는 새로운 네트워크 요구 기능에 대해 가상 클래스를 하위 클래스들로 구성함으로써 사용자가 원하는 기능에 맞게 구성되고 사용된다. 현재 Free BSD와 Linux상에서 동작하는 것을 개발하여 배포하고 있으며, ANTS는 통합 방식의 대표적인 예이다.
MIT에서는 현재의 무선 네트워크의 동작 환경 및 전송 가능한 트래픽이 상대적으로 제한적인 상태에서 응용프로그램의 요구사항을 만족시킬 수 있도록 하는 무선 네트워크 기반의 Radio Active 네트워크에 관한 연구를 진행하고 있다. 동적으로 적용 가능한 무선 링크상에서 구현된 액티브 네트워크는 패킷 손실에 대해 어플리케이션이 주파수와 변조 방식을 제어할 수 있도록 하는 것이 목표이다.
라. CANE(Composable Active Network Elements)
Georgia Tech(Georgia Institute of Technology)의 CANE 프로젝트는 액티브 네트워크상에서 특정 어플리케이션이나 새로운 서비스를 제공하기 위해 우수한 성능으로 동적인 네트워크 구성 변경 기능을 제공하기 위한 연구에 중심을 두고 있다. 이 프로젝트의 목적은 새로운 서비스가 소프트웨어적으로 설치되는 동안 최적의 빠른 경로를 제공할 수 있는 사용자 네트워크 인터페이스를 설계 및 구현하는 것이다. 이를 위해 특정 어플리케이션과 서비스를 지원하는 다양한 액티브 네트워크 효율성에 대한 실험적인 연구와 특정 사용자 네트워크 인터페이스에 대한 연구가 이루어지고 있다.
CANE 프로젝트는 크게 세가지 영역으로 나누어 볼 수 있다. 첫번째로 액티브 네트워크와 서비스구조는 액티브 네트워크를 위한 일관된 용어, 최소 기능 요구항목, 인터페이스 명세작업등 기본적인 구조적 조직 작업을 포함한다. 두번째 영역은 어플리케이션을 지원하는 메커니즘에 관한 연구이다. 마지막으로 CANE 실행 환경과 부속 구성요소와 소프트웨어 지원에 관한 부분이다.
마. Smart Packets
BBN에서 추진하고 있는 Smart Packets는 액티브 네트워크의 기술을 이용하여 망관리 시스템의 성능과 유연성을 향상시키고자 하는 목적에서 출발한 프로젝트이다. Smart Packets에서 사용되는 언어는 도메인 위주의 언어로 C와 유사한 고급언어인 Spanner와 가상 머신의 동작을 기술하는 저급언어인 Sprocket이다. 보안성을 제공하기 위해 Sprocket을 이용하여 소스 코드를 기술하고 이를 스택 기반의 CISC 형태로 컴파일한다. 이러한 설계는 네트워크 관리를 위해서 명확한 Smart Packet 프로그램을 개발할 수 있게 한다. Sprocket은 Smart Packet을 개발하기 위한 특수 언어로 하나의 Ipv4/Ipv6 데이터그램으로 인코딩될 수 있으며 해석(inter-pretation)되기 전에 해당 프로그램에 대한 인증을 수행할 수 있다. 시스템 설계는 사용자 인터페이스, ANEP(Active Networks Encapsulation Protocol) 데몬, 가상머신 커널 수정 등이 포함된다.
바. FAIN(Future Active IP Networks)
FAIN 프로젝트는 액티브 네트워크 노드 환경에서의 자원 할당과 제어, 보안, 동적인 프로토콜의 배포와 관리 시스템 등 지금까지 제안된 액티브 네트워킹 기술 및 특성들을 실제 구현을 위한 목적으로 시작되었으며 유럽, 일본, 미국의 각 연구소 및 대학에서 컨소시엄을 구성하여 3년 계획으로 2000년 5월에 시작되었다.
FAIN은 기존의 계층 기반의 네트워킹과 분산 컴포넌트 기반의 네트워킹을 조합한 네트워크 구조로 정의하여 네트워크 서비스의 모듈화와 서비스 공급을 위한 위치 투명성(Location Trans-parency) 등의 장점을 제공한다.
액티브 노드 플랫폼은 자원 접근 제어를 담당하는 하부조직의 커널 운영체제와 관리, 보안 서비스 준비 등을 제공하는 액티브 구성요소로 구성된다. 정교한 서비스 프로그래밍 환경은 프로토콜의 동적인 생성 및 변경과 여러 가지의 방식의 배포 기능을 지원한다. FAIN은 표준 API와 노드의 자율성을 기반으로 한 관리 패러다임을 제시하고, 이를 이용하여 불필요한 트래픽이나 정보 처리 과정을 줄임으로써 효율적인 관리 하부 프레임워크를 개발할 수 있다.
이 프로젝트는 새로운 기업 모델에 기초하여 생성된 구조이다. 즉 SLA(Service Level Agreement)에 따라 액티브 네트워크 관리자에게 설치될 제품을 전하는 서비스를 제공하고 새로운 두 비즈니스 구성원인 액티브 미들웨어 제공자와 액티브 네트워크 솔루션 제공자간을 구별할 수 있다.
사. OpenSig 프로젝트
미국의 IEEE를 중심으로 세계적인 많은 업체 및 연구소가 참여하면서 개방형 시그널링 인터페이스들을 정의하기 위해 추진되고 있는 P1520이라는 프로젝트이다. Open Signaling 워크샵을 통하여 표준 모델과 산업 표준 IDL(Interface Definition Language)를 이용한 PNI(Programmable Network Interfaces)를 정의하고 있으며, 이를 ATM 스위치, IP 라우터, SS No.7을 이용하는 회선 교환 방식에 적용하는 연구를 추진하고 있다. 접근 방법으로는, 출력 포트 전송속도, 차등 서비스 등급에 따른 자원 할당의 조율 및 종착점 주소에 의한 트래픽 그루밍, 라인 카드의 배치, 액티브 네트워크 정책의 적용을 들 수 있다.
III. 액티브 네트워크 보안의 이슈
액티브 패킷은 패킷의 라우팅을 담당하고 있는 네트워크 노드 상에서 수행된다. 따라서 만약 고의적이든 실수든 오동작 여지가 있는 액티브 패킷이 수행되어 해당 노드의 기능을 저해하거나 정지시킨다면 전체 네트워크에 있어 치명적일 수 있다. 따라서 액티브 네트워크를 동작시키는 데 있어 보안 문제는 네트워크 리소스 관리와 더불어 핵심적인 사항이라 할 수 있다. 수행을 요청한 액티브 패킷을 생성시킨 사용자가 적법한 사용자인지, 액티브 패킷이 해당 네트워크 노드에서 수행하고자 하는 기능이 적법한 권한 하에 이루어지는 것인지, 액티브 패킷의 전송 과정에서 변경되지는 않았는지, 만약 프로그래밍이 잘못되었을 지라도 해당 노드의 상태를 안정적으로 유지할 수 있는 지 등이 액티브 네트워크의 보안상 해결되어야 할 점들이다. 다음은 액티브 네트워크의 보안상 이슈화 되고 있는 점과 그에 대한 연구 동향들이다.
1 액티브 노드 보호 기법
가. 액티브 패킷의 인증
액티브 패킷은 공개키 기반의 전자서명 알고리즘과 같은 알고리즘을 사용하여 생성한 인증서를 가져야만 한다. 이러한 인증서는 유용하지만 단순히 액티브 패킷에 대한 신원을 보장해 줄 뿐 액티브 패킷이 유해하지 않다는 것을 보장하지는 못한다.
나. 모니터링 및 제어
액티브 패킷의 사용과 접근이 허용된 정보, 시스템 자원 및 서비스를 제한하기 위하여 참조 모니터(reference monitor)를 사용한다. 참조 모니터는 접근이 허락되었는지를 결정하기 위하여 보안 정책을 참조한다. 접근 단계(access-level) 모니터링은 패킷이 무엇을 할 수 있는지를 직접 제한할 수 있으므로 유용하게 사용될 수 있다. 그러나 어떤 자원의 사용 허락을 받기 위한 결정이 이미 언급한 바와 같이 패킷 자체가 유해하지 않다는 것을 보장할 수 없는 인증서를 기반으로 하기 때문에 이 방법 또한 완벽하지는 않다.
다. 제한 기법(limitation techniques)
액티브 패킷에 허용 실행 시간인 시간 제한을 두거나 패킷이 통과할 수 있는 전체 노드의 수를 한정하는 범위(range) 제한 또는 패킷이 중복될 수 있는 횟수인 중복 제한과 같은 제한을 두어서 노드의 자원을 특정 액티브 패킷이 독점하여 사용하지 못하도록 하는 방법이다.
라. 검증전달코드(proof carrying code: PCC)
검증전달코드란 결과를 도출해 내는 것보다 그것이 맞는지를 확인하는 것이 더 쉽다는 점에서 착안했다. 이것은 정확성을 검증할 수 있는 부분을 액티브 패킷에 삽입하여 전송하면 액티브 노드는 그것을 쉽게 검증한 후 프로그램을 실행한다. 어려운 부분은 검증을 생성하는 것인데, 이것은 프로그래머가 담당하여야 할 부분이다.
2 액티브 패킷 보호 기법
가. 암호화(encryption) 기법
기존 네트워크에서의 암호화 기법은 전체 네트워크 경로를 모두 보호해야 할지라도 두 종단간 즉, 송신지와 목적지간에서만 암호화 과정이 수행되었으며, 미리 정의된 위험을 기반으로 보호하는 방법을 사용하였다. 그러나 액티브 네트워크 패러다임에서 액티브 패킷에는 보통 프로그램 코드와 데이터가 전송되므로 기존의 암호화 기법이 적합하지 않다. 왜냐하면 기존의 암호화 기법은 종단간에서만 암호화하는 반면, 액티브 네트워크에서는 액티브 패킷의 특성으로 인해 내용을 액세스할 필요가 있는 중간 노드들에 대해서도 암호화를 해야 하고, 패킷이 경유하는 경로가 고정되어 있지 않고 동적으로 변경이 가능하므로 미리 정의된 위험을 기반으로 보호할 수 없기 때문이다. 액티브 패킷을 통해 전송된 프로그램이 암호화 되었다고 할지라도 노드에서 수행하려면 복호화 되어야 하므로 이동 암호화 기법(mobile cryptography)의 개념이 필요하다.
나. 결함 내구성(fault tolerance) 기법
결함 내구성 기법에는 복사(replication), 보존(persistence), 방향재설정(redirection)이 있다. 복사란 노드에서 오류가 발생할 경우를 대비하여 각 노드에 패킷들을 복사하는 것이다. 보존은 노드가 파괴(crash)되는 등의 노드의 결함에 대비하여 패킷들을 임시로 저장하여 복사본을 저장공간에 유지하는 것이다. 방향재설정은 원래 경로(default route)가 실패하였을 때 다른 경로를 찾는 것이다.
복사 및 보존의 방법은 메모리와 대역폭을 많이 소모하므로 대부분의 네트워크 패킷보호에는 부적합한 방법이다. 방향재설정과 암호화 기법은 기본적으로 CPU 자원만을 소모하므로 패킷 보호에 가장 널리 쓰인다. 따라서 액티브 패킷을 보호하는 문제는 결함 내구성 기법과 암호화 기법을 조합하여 사용하는 것이 좋다. 그러나 이러한 기법들이 아직 초기 단계에 있으므로 확실하고 완벽하게 보호하려면 더 많은 작업이 필요하다. 패킷이 올바르게 확인되지 않으면 제한된 환경에서 코드를 실행하도록 하거나 코드 전체를 실행하지 못하도록 막아야 한다.
IV. 결 론
액티브 네트워크는 네트워크에 대해서 사용자가 필요로 하는 기능이나 네트워크 기능의 향상을 위해 네트워크 노드에 프로그램의 수행이 가능한 실행 환경을 구축하고 실행 프로그램의 전송 및 실행과 관련된 기술을 개발함으로써 사용자에게 보다 유연하고 다양한 네트워크 수준에서의 기능을 제공할 수 있는 새로운 네트워크 패러다임이다. 이를 통해 기존의 많은 시간이 소요되는 새로운 프로토콜 및 네트워크 기능의 채택을 단시간 내에 수행할 수 있고, 네트워크 관리나 새로운 서비스 제공 측면에서 능동적이고 유연하게 대처할 수 있는 장점을 부여한다.
하지만 액티브 네트워크를 구성하는 노드들에 액티브 패킷을 실행할 수 있는 실행 환경을 구축해야 한다는 점, 네트워크 노드의 본연의 기능과 액티브 패킷 수행을 위한 자원간의 제어 기능, 수행 요청을 한 여러 액티브 패킷 사이에 네트워크 노드의 자원 분배 문제, 액티브 패킷의 실행 시 네트워크 및 해당 노드의 동작을 안전한 상태로 유지하는 문제, 액티브 패킷의 생성 및 전송과 관련된 보안 문제 등 해결하여야 할 많은 연구 과제가 존재한다. 따라서 액티브 네트워크는 이미 연구가 상당히 진척되어 기존 네트워크에 적용될 수 있는 단계가 아니라 해결해야 할 과제가 많이 남아있는 상태이다. 앞으로 이런 부분에 대한 연구가 진척되고 해결책을 찾는다면 네트워크 자체에 많은 유연성을 가지게 됨으로써 더욱 다양한 서비스와 네트워크 기능을 짧은 시간 내에 제공할 수 있게 될 것으로 보인다.
<참 고 문 헌>
[1] Konstantinos Psounis, Active Networks: Applications, Security, Safety and Architectures, IEEE Communications Surveys, First Quarter 1999.
[2] 이중수, 이승헌, 이영희, Active Network 구조: 문제점 및 접근 방법, Sigcomm Review Vol.1, No.1, Dec. 2000.
[3] 이남희, Active Network 기술 개발 현황, Sigcomm Review Vol.1, No.1, Dec. 2000.
[4] 박정민, 채기준, Active Network의 보안 기술 발전 전망, Sigcomm Review Vol.1, No.1, Dec. 2000.
[5] D. Wetherall, J. Guttag and D. Tennenhouse, “ANTS: A Toolkit for Building and Dynamically Deploying Network Protocols,” Proc. IEEE OPENARCH ’98, San Francisco, CA, April 1998.
[6] D. Tennenhouse and D. Wetherall, Toward an Active Network Architecture, Comp. Commun. Rev. Vol.26, No.2, Apr. 1996.
[7] D.S. Alexander, et al., “The SwitchWare Active Network Architecture,” IEEE Network Special Issue on Active and Controllable Networks, Vol.12 No.3, 1998
[8] S. da Silva, D. Florissi and Y. Yemini, Composing Active Services in NetScript, DARPA Active Networks Workshop, Tucson, AZ, March 9-10, 1998.
[9] S. Merugu, S. Bhattacharjee, Y. Chae, M. Sanders, K. Calvert and E. Zegura, Bowman and CANEs: Implementation of an Active Network. Invited paper at 37th Annual Allerton Conference, Monticello, IL, Sep. 1999.
[10] Smart Packets Homepage, //www. ir.bbn.com/projects/spkts/smtpkts-index.html
[11] Alex Galis, Bernhard Plattner, Jonathan M.Smith, Spyros Denazis, Eckhard Moeller, Hui Guo, Cornel Klein, Joan Serrat, Jan Laarhuis, George T.karetsos and Chris Todd, A Flexible IP Active Networks Architecture, IWAN 2000 Conference.
[12] Michael Hicks, Pnkaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles, PLAN: A Packet Language for Active Networks, ICFP 98.
비씨파크 주식회사, 대표이사 : 박병철 개인정보보호책임자 : 박병철
사업자등록번호 : 114-86-19888 |
본사 : 서울특별시 서초구 서초대로73길, 42, 1307호
전자우편 : master@bcpark.net |
(전화전 이용문의 게시판 필수)
전화: 02-534-982구(09:00~18:00) |
팩스: 02-535-155구 |
긴급: 010-9774-988삼
ㆍ저작권안내 : 비씨파크의 모든 컨텐츠(기사)는 저작권법에 보호를 받습니다. 단, 회원들이 작성한 게시물의 권리는 해당 저작권자에게 있습니다. 비씨파크에 게재된 게시물은 비씨파크의 입장과 다를 수 있습니다. 타인의 저작물을 무단으로 게시, 판매, 대여 또는 상업적 이용시 손해배상의 책임과 처벌을 받을 수 있으며, 이에 대해 책임을 지지 않습니다.
ㆍ쇼핑몰안내 : 비씨파크는 통신판매중개자로서 상품 주문, 배송 및 환불의 의무와 책임은 각 판매 업체에 있습니다.
Copyright ⓒ 2000-2026 BCPARK Inc. All Right Reserved.