* Network Monitor Protocol - 컴퓨터네트워크(3학년 1학기) 3차 설계 과제
* 개발 언어 : Java
* 개발 환경 : Windows XP / Netbeans 6.0
* 개발 인원 : 4 (with 혁수, 수근, 대호)


1. 문제 정의
 인터넷에서 장치를 감시하고 관리하기 위한 간단한 프로토콜을 디자인하고 구현해 봄으로써 네트워크 프로토콜의 동작원리에 대한 이해도를 높일 뿐만 아니라 새로운 프로토콜의 디자인 방법을 익힌다.


2. 프로토콜 개요
 디자인할 프로토콜의 구성은 아래 그림과 같이 Manager와 Agent로 구성된다. Agent는 관리대상이 되는 네트워크 장치/시스템에 설치되어서 필요한 정보(네트워크 또는 시스템)를 수집하기 위한 모듈이며, Manager는 Agent가 설치된 시스템에 필요한 정보를 요청하는 모듈이다.


3. 요구사항

 A. 명령어
    - GET: Manager에서 Agent로 특정 정보를 요청하기 위해서 사용한다. 요청 정보는 IP, MTU, 시스템이 수신한
     총 패킷 수 및 총 바이트 수, 전송한 총 패킷 수 및 총 바이트 수, 각 프로토콜(IP, TCP, UDP,…) 별 패킷 수
     및 바이트 수 등이 될 수 있다. 어떤 요청 정보를 사용할지는 각 팀에서 결정한다(단, 10개 이상).
    - SET: Manager에서 Agent로 특정 값을 설정하기 위해서 사용한다. 설정할 정보는 새로운 IP 및 MTU 설정,
     요청 정보 중 일부 값을 0으로 초기화 등이 될 수 있다. 이 또한 각 팀에서 결정한다(단, 10개 이상).
    - TRAP: Agent에서 통보해야 할 어떤 정보가 발생했을 때(임계치를 넘는 네트워크자원 사용 등) Manager에게
     해당 상황을 알리기 위해서 사용한다. 어떤 상황에서 알릴지는 각 팀에서 결정한다(단, 2개 이상).

 B. Agent 등록
    - 각 Agent는 Manager에 접속하여 등록한다.
    - Manager는 등록이 정상적으로 처리되었다는 메시지를 전달한다.
    - 등록 절차, 메시지 구조, Manager에서의 관리 방안 등은 각 팀에서 결정한다.

 C. 정보 수집
    - Agent는 패킷 캡쳐 툴을 이용하여 각 팀에서 결정한 정보를 수집한다.
    - 각 팀에서 결정한 정보 중에서 송수신 패킷 수 및 바이트 수 등과 같이 Agent가 직접 얻을 수 없는 값은
     랜덤 함수를 이용하여 값을 생성한다. 이는 실제 패킷 캡쳐 프로그램을 구현하여 얻어야 하지만 프로그램이
     불가능하기 때문이다.

 D. 정보 요청 및 출력
    - 정보 요청에 대해서는 두 가지 모드로 동작한다: 주기적 요청, 수동 요청.
    - 주기적 요청은 Manager가 일정 주기로 각 Agent에게 정보를 요청한다.
    - 수동 요청은 사용자로부터 어떤 정보를 요청할지 입력받고 해당 Agent에게 요청한다.
    - 수동 요청에서만 SET 명령어를 사용할 수 있다.
    - 동작 모드는 Manager가 실행될 때 입력 값으로 주어진다.
    - 정보 요청, 응답 절차, 메시지 구조 및 화면 출력 등은 각 팀에서 결정한다.


4. 프로토콜 정의 및 기능명세

 4.1. Command Message
  - Manager에서 Agent로 Packet를 전송
  - Agent에서 Packet를 수신하고 Packet의 명령어에 따라 설정을 변경하거나 데이터를 전송
    4.1.1. 기능
      - Manager에서 Agent의 setting value를 변경가능
      - Agent에서 전송받은 Packet의 Command를 분석하여 명령어에 해당하는 동작을 수행
    4.1.2. Command Protocol
     번호  명령    의미 
     0      GET     Manager에서 Agent로 특정 정보를 요청하기 위해 사용되는 명령어
     1      SET     Manager에서 Agent로 특정 값을 설정하기 위해서 사용되는 명령어
     2      TRAP   Agent에서 Manager에게 특정 정보를 바로 알리기 위해 사용되는 명령어
     3      CON    접속 확인 후 Manager는 Agent에게 ID를 전송
 4.2. TYPE Message
  - Type에 따라 Agent의 특정정보를 지정가능
    4.2.1. 기능
     - 특정커맨드를 이용 정보요청을 하거나 값들을 변경하기 위해 각 값들을 지정
     - 특정 설정값들에 대한 명령들을 내리기 위한 필수적인 요소
    4.2.2. TYPE Protocol
     번호  명령어    의미 
     0      ALL        Agent의 모든 설정값
     1      SNM        Agent의 SubNet Mask
     2      PW         Agent의 Password
     3      MTU        Agent의 Maximum Transmission Unit
     4      NIP        Agent가 가진 다음 라우터의 IP주소
     5      NPT        Agent의 가진 다음 라우터의 PORT
     6      RLS        Agent 라우터의 제한속도
     7      TTL        Agent의 특정 요청이 얼마나 살아있을것인지 결정하는 값
     8      RTP        Agent가 받은 총 패킷수 
     9      STP        Agent가 보낸 총 패킷수
     10     RN         Agent의 라우터 이름

시스템 구조도


5. 주요 자료구조

펴기..



Manager

Agent

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/06/25 14:32 2008/06/25 14:32

이 글에는 트랙백을 보낼 수 없습니다

Leave a Comment
[로그인][오픈아이디란?]
1 ... 66 67 68 69 70 71 72 73 74 ... 78