ping
- 네트워크 상태를 확인하는 유틸리티 명령어 중 하나로, 목적지 호스트와 통신이 가능한지, 응답 속도가 얼마나 되는지 등을 판단하기 위해 사용된다. 주로 TCP/IP 네트워크에서 사용된다.
- 일반적으로 ping 명령어를 사용할 때는 목적지 호스트의 IP 주소나 도메인 이름을 입력한다. 이후 해당 목적지 호스트로 ICMP 패킷을 보내고, 해당 호스트가 응답을 하면 해당 호스트와의 통신이 가능한 것으로 간주된다. ICMP 패킷을 받은 호스트는 해당 패킷을 처리하고, 응답 패킷을 송신 호스트로 보낸다.
- ping 을 통한 icmp 패킷은 그대로 놔두면 패킷이 계속 쌓이게 된다. 그래서 자동으로 소멸할 수 있도록 장치를 마련한 규정값이 TTL이라고 할 수 있는데 이 TTL은 네트워크를 지날 때마다 1씩 줄어든다. 쉽게 말해 게이트웨이 라우터를 거칠 때마다 1씩 줄어들어 0이 되면 자동으로 소멸한다.
- TTL 값은 0 ~ 255 까지 변경할 수 있고 라우터를 많이 거치는 목적지를 너무 작은 값으로 지정해서 패킷을 전송하면 목적지에 도달하기도 전에 패킷이 소멸된다.
- -c : 지정된 횟수만큼 ping 요청을 보낸 후 종료
- -i : ping 요청의 간격을 지정
- -s : 보내는 패킷의 크기를 지정
- -t : ping 요청에 대한 응답을 받지 않고 계속해서 ping을 보냄
ping -c 5 127.0.0.1 (-c 옵션으로 횟수를 지정해서 icmp 패킷을 전송한다)
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.022/0.039/0.056/0.015 ms
- 출력된 결과값 해석
- [전송된 패킷 수], [받은 패킷 수], [패킷 손실 비율]%, [전체 소요 시간]ms
rtt | Rount Trip Time의 약어로, 데이터 패킷을 보내고 응답을 받기까지 걸린 시간을 측정한 값이다. |
min | 가장 작은 rtt 값을 나타낸다. 이 값은 네트워크 지연이 가장 적은 시간을 측정한 것이다. |
avg | 모든 rtt 값의 평균값이다. 이 값은 네트워크의 평균적인 지연 시간을 측정한 것이다. |
max | 가장 큰 rtt 값을 나타낸다. 이 값은 네트워크 지연이 가장 큰 시간을 측정한 것이다. |
mdev | 평균 rtt 값과의 편차를 나타낸다. 이 값은 네트워크의 불규칙성 정도를 나타내는데, 값이 작을수록 네트워크가 안정적이라고 볼 수 있다. |
ping -i 0.2 127.0.0.1 (-i 옵션으로 interval(지연시간)을 지정하여 패킷을 전송한다)
- -i 옵션을 부여하여 interval을 설정할 수 있다.
- 해당 설정은 관리자의 권한이 필요하다.
ping -s 1000 127.0.0.1 (-s 옵션으로 패킷 사이즈를 지정해서 전송한다)
- -s 옵션으로 1000byte의 패킷 사이즈를 지정하여 전송할 수 있다.
- 기본값은 64byte이다.
ping -w 5 127.0.0.1 (-w 옵션으로 몇 초 후에 중지시킬 것인지 지정해서 전송한다)
ping -b 127.0.0.1 (-b 옵션으로 broadcast 설정해서 패킷을 전송한다)
ping -t 50 127.0.0.1 (-t 옵션으로 TTL 값을 지정해서 패킷을 전송한다)