이 블로그 검색

2012년 2월 29일 수요일

NTCIP의 SNMP

 NTCIP에서 센터와 노변간 정보교환을 위해 기본적으로 정의한 Application Level의 프로토콜은 SNMP임. SNMP는 관리대상 장치의 물리적 특성과 하부 네트워크 기술로부터 관리 작업을 분리하기 때문에 상이한 제조회사에 의해 만들어지고 물리적으로 상이한 네트워크에 설치된 장치들을 감시할 수 있도록 응용수준에서 설계되었음.

 장비의 관리는 SNMP 클라이언트 프로그램을 수행하는 호스트인 관리자(Manager)와 SNMP 서버 프로그램을 수행하는 관리대상국(Agent)의 간단한 대화에 의해 수행되며, SNMP를 사용한 관리는 세 개의 기본적인 생각에 기초를 둠.
- 관리자는 에이전트의 행동을 반영하는 정보를 요구하며 에이전트를 검사
- 관리자는 에이전트 데이터베이스에 있는 값을 리셋하여 에이전트가 작업을 수행하도록 명령
- 에이전트는 비정상적인 상황을 관리자에게 경고하여 관리 과정에 기여

 이때 센터와 노변간 정보교환은 SNMP 뿐만 아니라 최상위 수준에서 관리하는 SMI(Structure of Management Information)와 MIB(Management Information Base) 두 개의 다른 구성요소를  함께 이용하여 이루어짐. 즉, 관리는 SMI와 MIB 그리고 SNMP의 협동 작업임.

 SMI의 기본 기능은 아래와 같음
- 객체에 이름 할당 : SMI는 객체의 이름을 범용으로 짓기 위해 트리구조에 기초한 계층적 식별자인 객체 식별자를 사용함
- 객체에 저장된 데이터의 종류를 결정 : SMI는 데이터 유형을 정의하기 위해 ASN.1 규약을 사용하나, 추가로 몇 개의 새로운 정의를 추가함. 즉 SMI는 ASN.1의 부분집합이면서 포함집합임.
- 네트워크 상의 전송을 위해 데이터를 어떻게 인코딩 할지 결정 : SMI는 BER 인코딩 기법을 이용하여 네트워크를 통해 전송되는 데이터를 인코딩 하며, BER은 데이터의 각 조각을 태그, 길이, 값으로 된 트리플렛 형식으로 인코딩 하도록 규정함

 SNMP는 인터넷 네트워크 관리에 SMI와 MIB를 모두 사용하며, 다음을 가능하게 함
- 관리자가 에이전트에서 정의된 객체의 값을 읽어 들임
- 관리자가 에이전트에서 정의된 객체에 값을 저장
- 에이전트가 비정상적 상황에 대한 경고 메시지를 관리자에게 전송

2012년 2월 19일 일요일

Watchdog


일반적으로 watchdog이란 H/W나 S/W의 동작상태를 감지하는데
사용됩니다. 즉 H/W, S/W의 응답이 없을 경우 동작됩니다.
보통 watchdog에는 주기적인 timer를 두게 됩니다.
정상적인 동작일때는 해당 H/W, S/W에 의해서 쨝eset되기 때문에
timeout이 일어나지 않습니다.(즉 watchdog이 깨지 않습니다)
그러나 비정상적인 동작으로 H/W나 S/W가 정지해버리면 watchdog을
reset하지 못하기 때문에, watchdog이 active됩니다.(즉 일정한
시간이 지나도 H/W, S/W의 응답이 없는거죠).
 
 문의하신 내용으로는 RealTek driver문제라기 보다는 cable문제인것 같습니다.
접촉불량이거나 10/100Mbps선택오류 또는 full/half duplex문제 일 수
있습니다. 가장 가능성이 높은것은 접촉불량입니다.

 RealTek driver는 media선택시 autoselect로 선택하시면 대부분 해결할 수
있을것으로 생각됩니다.


출처 : http://www.kr.freebsd.org/ml/questions/1999/09/msg00015.shtml

2012년 2월 12일 일요일

OPcode

Operation Code의 약자로, 컴퓨터 기술에서는 기계어의 일부이며, 수행할 명령어를 지정하는 역할을 함. 이에 대한 규격과 형식은 프로세서 명령서 집합에 나와 있음. (일반 CPU일 수도 있고 특별한 처리 장치일 수 있음) OPcode 자체를 떠나서 명령은 일반적으로 피연산자를 위한 하나 이상의 지정자를 가지고 있으며, 그 위에서 연산이 동작하여야 하는 것이 맞지만 어떠한 함축적인 피연산자를 갖고 있거나 아예 갖고 있지 않는 경우도 있음

2012년 2월 5일 일요일

bit와 byte


상식 문제에도 많이 나오는 것이 비트, 바이트다. 일상생활에서도 인터넷 속도가 몇메가 바이트니 메모리가 몇 기가 바이트니 하는 말들은 일상용어로 사용될 정도다. 그런데 이게 정말 뭔지 아는 사람은 드물다.
위키피디아(wikipedia.org)의 정의에 의하면 비트는
A bit is a binary digit, taking a value of either 0 or 1. For example, the number 10010111 is 8 bits long, or in most cases, one modern PC byte. Binary digits are a basic unit of information storage and communication in digital computing and digital information theory.
라고 되어 있다. 정보저장, 통신, 디지털 계산, 디지털 정보 이론의 기본단위이며, 0 또는 1로 구성되는 2진 단위라는 뜻이다. 바이너리(binary) 이말도 한글로 이진이라는 말보다 더 많이 쓰여지는 말이다. 어쨋든 bit는 0과 1의 값만을 가지는 이진수의 특성을 가진다는 것이다.
왜 0, 1 밖에 없는 것이 컴퓨터의 기본단위가 되었을까? 컴퓨터란 기본적으로 전기로 움직이는 기기이다. 결국 이 전기를 이용하여 컴퓨터는 뭔가를 저장해야 하는데 어떻게 저장할까? 전기를 정확하게 볼트(voltage)로 저장할 수 있다면 1볼트, 2볼트 이렇게 해서 10볼트까지 저장하고 이를 10진수로 활용하면 어떨까? 가능한 이야기다. 그러나 이는 전기적으로 매우 어려운 방법이다. 이 구체적인 전기원리까지 알 필요는 없다. 전기를 간단히 저장하여 다시 값을 되찾을 수 있는 방법을 많은 전기기술자들이 연구 했고 결과적으로 전기가 있다, 없다에 해당하는 두가지 상태만을 저장하는 것이 가장 간단하고 효율적이라는 것을 알게 되었다. 즉 저장을 할수 있으되 상태가 두가지 밖에 없으므로 그 두가지 상태를 0, 1로 부르고 이 0,1을 저장하는 한단위 장치 또는 그 논리적 단위를 비트라 부르는 것이다.
저장을 0, 1로 밖에 할수 없다 보니 이진수와 컴퓨터는 뗄래야 뗄수 없는 관계가 되었다. 모든 저장의 단위가 비트이다 보니 계산도 비트가 단위가 되고 되고 컴퓨터는 2진수를 저장하고 계산하는 기계가 된 것이다.
수학의 원리에 의하면 그것이 2진수이든 10진수이든 표현의 문제일뿐 실상은 같은데 그것이 컴퓨터기초를 이해하는데 도데체 왜 중요할까? 그것은 지금부터 이야기할 저장의 문제와 관련이 된다.
저장의 목적은 나중에 필요할때 저장할때의 그상태로 다시 찾기 위함이다. 그렇게 하기 위해서는 저장해두는 장소를 표시하는 방법이 필요한데 컴퓨터에서는 이를 주소(address)라 부른다. 즉 모든 저장소는 자신을 지칭하는 번호가 있어야 하며 그 번호를 이용하여 값은 넣고 빼고 하는 것이다. 여기서 저장을 비트로 하는데 약간의 문제가 생긴다.
비트는 0 또는 1이라는 지극히 작은 단위밖에 저장을 못하는데 각 비트들 마다 주소를 다 주자니 주소의 길이(즉 주소를 지칭하는 숫자의 크기)가 너무 길어지는 것이다. 실생활에서 비교를 하자면 전국의 땅을 모두 제곱미터 단위로 모두 쪼개고 이 모두에다 번지수를 붙인다면 번지수가 얼마나 길어지겠는가? 이래서는 효율적으로 주소를 접근하기가 어려워진다.
그래서 컴퓨터 디자인을 처음한 사람들은 비트를 8개로 묶었다. 이를 바이트(byte)라 부른다. 그러므로 바이트가 나타내는 가장큰 숫자는 이진수로 11111111이며 가장 작은 숫자는 00000000이다. 이 이진수를 10진수로 바꿔보면 11111111=255, 00000000=0 이다. 그러므로 한바이트는 0에서 부터 255까지 숫자를 저장할 수 있다. 이렇게 한바이트를 저장하고 이에 주소를 부여하는 방식은 지금까지도 계속 사용되는 컴퓨터 메모리의 주소를 배정하는 방식이며 앞으로도 오랫동안 바뀌기 힘들 것이다. 너무나 많은 소프트웨어들이 이에 기초하고 있기 때문이다.
이러한 연유로 최초의 컴퓨터라 부를만한 대중화된 컴퓨터는 8비트 컴퓨터로 탄생했으며 몇비트 컴퓨터냐 하는 것은 저장된 메모리에서 데이터를 가져올때 몇 바이트씩 한번에 빼올수 있느냐(또는 몇바이트 단위로 계산을 하느냐)를 기준으로 부르게 되었다. 지금의 펜티엄PC는 대부분 32비트 컴퓨터라 부르는데 값을 저장하고 가져오고 계산하고 할때 기본적으로 4바이트 단위 즉 32비트 단위로 한다는 얘기다. 비트수가 높은 컴퓨터일수록 처리 속도가 빠른 이유가 여기에 있다. 간단하다. 한번에 많은 데이터를 가져오고 처리할 수 있으므로.

출처 : http://www.code99.net/tabid/791/Default.aspx