전공공부/컴퓨터망 (Computer Network)

[컴퓨터망] Routing (4) - ICMP, SNMP

jooona 2021. 2. 2. 23:59
반응형

1. ICMP

 

네트워크 계층과 라우팅에 대해 지금껏 공부하면서 알아본 내용은 어떻게 패킷을 출발지로부터 목적지까지 안전하게 운반을 하는가에 대한 내용이었습니다. 그리고 패킷이 실제로 안전하게 운반이 된다면 통신이 제대로 성공한 것이므로 문제가 생기지 않습니다.

 

하지만 어떠한 문제로 인해 목적지에 패킷을 전달하는 것에 실패한다면 문제가 발생합니다. 인터넷 프로토콜(IP)에는 이러한 에러에 대한 처리 방법이 존재하지 않기 때문입니다.

 

그래서 IP의 이런 문제점을 보강하기 위해 IP와 함께 사용되는 것이 바로 ICMP(Internet Control Message Protocol)입니다. TTL이 0이 되었거나 목적지에 도착했는데 명시된 포트 번호가 존재하지 않거나, 또 해당하는 호스트가 없거나 하는 다양한 경우에, 결국 패킷이 목적지에 도착하지 못했다는 메시지를 패킷을 보낸 송신자에게 전달합니다. 

 

메시지의 종류로는 Destination Unreachable (목적지에 도착하지 못함), Time Exceeded (포워딩 등의 작업이 너무 오래 걸려 데이터가 소멸됨), Redirect (더 나은 경로를 알려줌), Source Quench (전송 속도를 늦춰줄 것을 요구), Parameter Problem (데이터그램 자체에 문제가 발견됨) 등이 있습니다.

 

 

그렇다고 해서 꼭 ICMP가 꼭 에러 메시지를 전달하기 위해서만 사용되는 것은 아닙니다. 다른 사용 예시에 대해서도 한번 알아보겠습니다.

 

먼저 Ping에 대해서 알아보겠습니다.  ICMP의 Ping 명령어를 통해 상대방 호스트의 작동 여부와 응답 시간을 측정하는 데에 사용될 수 있습니다. 상대편 호스트에 Echo Request를 보내면, 이를 받은 상대편 호스트가 Echo Reply를 답장으로 보내줄 수 있습니다. 답장이 오면 상대편 호스트가 작동하고 있는 것으로 간주할 수 있고, 그 답장 속도를 통해 응답 시간을 측정할 수 있습니다.

 

다음으로 Traceroute는 ICMP를 이용해 패킷의 출발지부터 도착지까지의 경로를 추적하는 것입니다. 처음에 TTL이 1인 ICMP Echo Request를 목적지를 향해 출발시킵니다. 그럼 하나의 라우터까지만 가고 소멸되어 ICMP 메시지가 돌아올 것입니다. 이를 통해 목적지까지의 경로상에 어떤 라우터를 첫 번째로 거쳤는지를 알 수 있습니다.

 

그다음에는 TTL이 2인 Echo Request를 출발시킵니다. 그럼 두 개째 라우터에서 TTL이 0이 되어 소멸되고, 에러 메시지를 발송하면, 이를 통해 두 번째 라우터는 무엇인지를 파악할 수 있습니다. 이런 식으로 계속 Echo Request를 보내다 보면 에러 메시지들을 통해 언젠가 최종 경로를 파악할 수 있습니다.

 

2. SNMP

SNMP는 네트워크의 관리와 연관된 프로토콜입니다. 하나의 AS, 쉽게 말해 네트워크에는 수천 개의 하드웨어, 소프트웨어 요소들이 함께 작동합니다. 따라서 이들을 관리해주는 것도 굉장히 중요한 작업입니다.

 

각각의 네트워크 장비들은 자신들의 데이터들을 (예를 들자면 자신의 버퍼 크기와 같은) MIB (Management Information Base)에 저장하고 있습니다. 그리고 이 MIB에서 정보를 빼오는 프로토콜이 바로 SNMP (Simple Network Management Protocol)입니다.

 

SNMP는 네트워크의 각 호스트들로부터 정기적으로 여러 관리를 위한 정보들을 자동으로 수집하거나 실시간으로 상태를 모니터링합니다. 그리고 SNMP에서는 관리 시스템을 Manager, 그리고 관리받는 대상을 Agent라고 부릅니다.

  

반응형