네트워크는 어렵다? 아니! 한드림넷을 만나면 즐겁다! 오늘은 15장으로 끝내는 네트워크 기초 다지기, Network is Fun! 21번째 주제는 ICMP(Internet Control Message Protocol)입니다.
012345678910111213141516
네트워크는 어렵다? 아니! 한드림넷을 만나면 즐겁다!
오늘은 15장으로 끝내는 네트워크 기초 다지기, Network is Fun! 21번째 주제는 ICMP(Internet Control Message Protocol)입니다.
TCP/IP의 Internet 계층을 구성하는 요소로는 크게 3가지인 IP, Routing Table, ICMP가 있습니다.
이중에서 오늘의 주제인 ICMP는패킷 전송에서 발생한 각종 오류를 보고하기 위해 사용하는 프로토콜입니다.
네트워크에 장애가 발생하여 통신에 오류가 생긴 경우, 발생 장소로부터 ICMP를 사용한 오류 정보가 반송되므로발생한 장애 내용을 알 수 있습니다.
이러한 ICMP를 이용하여 네트워크 검사 명령어로 유명한 것이 Ping과 Traceroute입니다.
먼저 Ping은 ‘Packet Internet Groper’의 약자로 네트워크의 소통 상태를 확인하기 위한 명령어입니다.
Ping 명령어의 기본적인 작동 원리는 네트워크 상태를 확인하려는 대상 컴퓨터를 향해 일정 크기의 패킷을 보낸 후, 대상 컴퓨터가 이에 대해 응답하는 메시지를 보내면 이를 수신 및 분석하여 대상 컴퓨터가 작동하는지 또는 대상 컴퓨터까지 도달하는 네트워크 상태가 어떠한지 파악할 수 있습니다.
명령 프롬프트 창에서 ping 명령어만 입력하면 위 화면과 같이 ping 명령어에 대한 다양한 옵션 사용법을 알 수 있습니다.
Ping 명령어는 흔히 인터넷이 안되거나 특정 컴퓨터와 통신이 되지 않을 때 사용하며, 기본 사용법은 다음과 같습니다. MS 윈도우 계열 운영체제에서는 ‘명령 프롬프트‘를 통해, 리눅스/유닉스 계열 운영체제에서는 터미널 모드를 통해 실행할 수 있습니다. Ping 명령어 바로 뒤에 대상 컴퓨터의 IP 주소를 입력하면 다음과 같은 결과가 출력됩니다.
출력 결과 중 ping 요청에 대한 대상 컴퓨터의 응답 상태를 다음과 같이 확인할 수 있습니다.4번의 ping 요청을 보냈고 4번 모두 패킷 손실 없이 빠른 응답을 보였으므로 대상 컴퓨터는 정상적으로 작동하며, 네트워크 연결 상태 역시 원활하다는 판단할 수 있습니다.
또한, TTL이란 Time To Live의 약자로 패킷의 생존 시간을 의미합니다. TTL이 필요한 이유는 대상 컴퓨터에 보낸 응답 요청 패킷이 목적지에 도달하지 못한 경우, 무한히 네트워크에 패킷이 떠도는 것을 방지하기 위해 필요합니다.
다음은 Ping 명령어에서 몇 가지 옵션들을 살펴보겠습니다. –l 옵션은 ping 수행 시 전송되는 패킷의 크기를 지정할 수 있는 옵션으로 큰 데이터를 전송할 때 중간에 패킷이 유실되는지 확인할 수 있는 옵션입니다. -n 옵션은 기본적으로 4회만 수행하는 응답 상태의 횟수를 지정한 횟수만큼 실행할 수 있습니다.
Traceroute는 네트워크 경로를 조사하기 위한 명령어입니다. 목적지로 지정한 컴퓨터에 도착하는 동안에어떤 라우터를 경유하여 도착하는지 등의 정보를 목록으로 표시해줍니다.
Traceroute는 지정 컴퓨터에 도착할 때까지 어떤 경로를 거치고 있는지를 조사할 수 있는 명령어입니다. 예를 들어, ping이 정상적으로 완료되지 않은 경우는 이 명령을 사용하여 경로상에서 오류를 일으키고 있는 위치를 찾아낼 수 있습니다.
명령 프롬프트 창에서 Traceroute 명령어 입력 후 Enter를 누르면 다양한 Traceroute 옵션 명령어들을 확인할 수 있습니다.
Traceroute 명령어를 사용하게 되면 위의 그림과 같이 3번에 걸쳐 한 hop마다 경로를 확인하여, 네트워크 문제를 파악하는데 더 정확한 진단을 할 수 있습니다.이때, ‘*’로 표시된 부분을 확인할 수 있는데 이런 경우는 보통 방화벽이나 라우터에서 보안을 위해 응답을 주지 않는 경우입니다.