22 Eylül 2019 Pazar

ping komutu

Giriş
ping paketlerine Linux çekirdeği cevap verir bu iş için çalışan ayrı bir uygulama yoktur.

Komut Seçenekleri
ping komut en yalın haliyle şöyledir.
ping hostname
Eğer hostname yerine
ping http://www.example.com/
komut çalışmaz. Çünkü http bir URL'dir makine ismi değildir.

Shell İle Kullanmak
Örnek
Şöyle yaparız
if ping -c 1 -W 1 "docker.io"; then
  kubectl apply -f operator_online.yaml -n vitess-operator
else
  kubectl apply -f operator_offline.yaml -n vitess-operator
fi
Örnek
ping'i if ile kullanmak için şöyle yaparız.
if ping -i 1 -c 1 -W 1 website.com >/dev/null 2>&1
then
  sleep 1
else
  mutt -s "Website Down!" bruno.bvaraujo@gmail.com < wsdown.txt
  sleep 10

-4 seçeneği
Sadece IPv4 ile ping'ler
Örnek
Şöyle yaparız
ping -4 raspberrypi.local
-c seçeneği
count anlamına gelir. Kaç tane ping paketi gönderileceğini belirtir. Şöyle yaparız.
# ping -c 3 localhost
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.101 ms

--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.047/0.072/0.101/0.022 ms
-f seçeneği
fast anlamına gelir. Ping'e cevap beklemez. Bu seçeneğe Flood ping de denilmiş. Böylece bir çok makineyi arka arkaya pingleyebiliriz. Şöyle yaparız.
ping -I eth0 -c 1000000 -l 1000000 -f -i 1 -b 255.255.255.255
-I seçeneği
Interface anlamına gelir.

-i seçeneği
interval anlamına gelir. Şöyle yaparız. Root kullanıcı çok daha kısa bir aralık verebilir.
ping -i 0.2 server.com
-l seçeneği - Paket Büyüklüğü
length anlamına gelir. Normal ping paket 32 byte uzunluğundadır. Ping ile büyük paketler göndererek ağın paketi bölmeden geçirebildiği sınanabilir. Eğer paket bölünmeden gönderilemiyorsa "Packet needs to be fragmented but DF set" hata mesajı alınır.

Şöyle yaparız
ping -f -l 1024 <IP Adddress>
-W seçeneği
Wait anlamına gelir. Belirtilen süre kadar bekler. Şöyle yaparız.
$ ping -c 1 -W 1 192.168.3.1
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=0.351 ms
Network Delay veya Network Latency
Açıklaması şöyle.
Network latency is how long it takes for something sent from a source host to reach a destination host. There are many components to latency, and the latency can actually be different A to B and B to A.
Gidiş Geliş Gecikmesi - Round Trip Time
Açıklaması şöyle.
The round trip time is how long it takes for a request sent from a source to a destination, and for the response to get back to the original source. Basically, the latency in each direction, plus the processing time.
Ping paketinin hedefe gidip geri gelmesi için geçen süredir. Gidiş Geliş Gecikmesi genellikle 2 x Network Delay olarak karşımıza çıkar.

RTT değerinin yüksek olması ağdaki gecikmeye işaret eder deniliyor ancak bence ping sadece bağlantı kontrolü için kullanılmalı. Yüksek RTT QoS politikasından etkilnebilir. Açıklaması şöyle
Your ping latency may not have anything at all to do with how another application performs. ICMP is usually relegated to the lowest priority, and it can end up sitting in queues while other, real traffic is sent through. Some ISPs will route it in a different path than your other traffic, sending it the long way around, or through secondary connections.
RTT hesaplanırken tek bir paketin tüm rakamları değiştirmemesi için bir çeşit Moving Average hesaplaması kullanılıyor.

Paket Kaybı
Paket kaybının yüksek olması ağdaki bir sıkıntıya işaret eder.

Hiç yorum yok:

Yorum Gönder