Internet Control Message Protocol (ICMP)
ICMP는 호스트와 라우터가 서로 간에 네트워크 계층 정보를 주고받기 위해 사용된다.
가장 전형적인 사용 형태는 오류 보고다.
ICMP는 종종 IP의 한 부분으로 간주되지만, ICMP 메시지가 IP 데이터그램에 담겨 전송되므로 구조적으로는 IP 바로 위에 있다. 즉, TCP나 UDP 세그먼트가 IP 페이로드로 전송되는 것처럼 ICMP 메시지도 IP 페이로드로 전송된다.
ICMP 메시지에는 타입과 코드 필드가 있고, ICMP 메시지의 발생 원인이 된 IP 데이터그램의 헤더와 첫 8바이트를 갖는다.
ICMP 메시지가 오류 상태를 알리기 위해서만 사용되는 것은 아니다.
한 호스트에서부터 세계 어느 호스트로의 경로라도 추적할 수 있는 Traceroute 역시 ICMP 메시지로 구현된다.
출발지와 목적지 사이의 라우터 이름과 주소를 알아내기 위해 출발지의 Traceroute는 평범한 일련의 IP 데이터그램을 목적지에 보낸다.
이 각각의 데이터그램은 없을 것 같은 UDP 포트 번호를 가진 UDP 세그먼트를 운반한다. 그리고 TTL 값은 첫 번쨰 데이터그램이 1, 두 번째는 2, 세 번째는 3, 이런식이다. 출발지는 각 데이터그램에 대해 타이머를 작동시킨다. n번째 데이터그램이 n번째 라우터에 도착하면 해당 라우터는 데이터그램의 TTL이 방금 만료되었음을 알게 된다. IP 프로토콜 규칙에 따라 라우터는 데이터그램을 폐기하고 ICMP 경고 메시지(Type 11, Code 0)을 출발지에 보낸다. 이 경고 메시지는 라우터의 이름과 IP 주소를 포함한다. 이 ICMP 메시지가 출발지에 도착하면 출발지는 타이머로 왕복 시간인 RTT, ICMP 메시지로부터 n번째 라우터의 주소와 이름을 획득한다.
데이터그램이 없을 것 같은 UDP 포트 번호를 가진 UDP 세그먼트를 포함하고 있으면, 목적지 호스트는 포트 도달 불가능 ICMP 메시지 (Type 3, Code 3)을 출발지에 보낸다. 출발지 호스트가 이 ICMP 메시지를 받게 되면 추가적인 탐색 패킷을 보낼 필요가 없음을 알게 된다.
Network Management
적정한 비용으로 실시간, 운용 성능, 서비스 품질 등의 요구사항을 만족시키기 위해 네트워크와 구성요소 자원을 감시, 테스트, 폴링, 설정, 분석, 평가, 제어하는 하드웨어, 소프트웨어, 인간 요소등을 배치하고, 통합, 조정하는 것
Components of Network Management
Managing server: 네트워크 운영 센터의 중앙 집중형 네트워크 관리 스테이션에서 동작하는, 일반적으로 네트워크 관리자와 상호작용하는 애플리케이션
Manged device: 광리 대상 네트워크에 존재하는 네트워크 장비들
Data: 각 피관리 장치들이 갖는 '상태(state)'
Network management protocol: 관리 서버와 피관리 장치들 사이에서 동작하면서 관리 서버가 피관리 장치의 상태에 대해 질의하고 에이전트를 통해 피관리 장치에 행동을 취할 수 있도록 해주는 프로토콜
Simple Network Management Protocol (SNMP)
SNMP는 관리 서버와 그 관리 서버를 대표하여 실행되고 있는 에이전트 사이에서 네트워크 관리 제어 및 정보 메시지를 전달하기 위해 사용된다.
SNMP의 가장 흔한 사용 행태는 요청/응답모드인데, 여기서 SNMP 관리 서버는 에이전트에게 요청을 송신하고 이를 받은 SNMP 에이전트는 이를 수행한 후 요청에 대한 응답을 보낸다. 일반적으로 요청은 피관리 장치와 관련된 MIB(Management Information Base) 객체 값들을 질의 또는 수정하기 위해 이용된다.
두 번째로 일반적인 사용은 에이전트가 요구받지 않았더라도 트랩 메시지라는 이름의 메시지를 관리 서버에 전송하는 것이다. 트랩 메시지들은 관리 서버들에게 MIB 객체 값들을 변화시킨 예외 상황의 발생을 통지하기 위해 이용된다.
SNMP는 일반적으로 PDU(Protocol Data Unit)로 알려진 여섯 가지 타입의 메시지를 정의하고 있다.