Ping (netværk)
Ping er en netværkskommando, der tester forbindelsen mellem to enheder ved at sende en kort forespørgsel og måle, hvor lang tid der går, før modtageren svarer. Kommandoen bruges til at afgøre, om en server, router eller hjemmeside overhovedet kan nås over netværket, og om forbindelsen er stabil. Navnet henviser til lyden af et sonarekko, der sendes ud og reflekteres tilbage, ligesom ping-kommandoen sender et signal ud og venter på svar fra den anden ende.
Ping bygger på netværksprotokollen ICMP (Internet Control Message Protocol), som er indbygget i stort set alle styresystemer. Vil man for eksempel undersøge, om ens router svarer, kan man åbne en kommandoprompt eller terminal og skrive ping efterfulgt af routerens IP-adresse – typisk noget i stil med 192.168.1.1 – hvorefter resultatet med det samme viser, om routeren reagerer, og hvor mange millisekunder svaret tog om at komme frem og tilbage.
Hvordan fungerer ping-kommandoen?
Når man pinger en enhed, sender computeren en såkaldt ICMP echo request til den IP-adresse eller det domænenavn, man har angivet. Modtager-enheden svarer med en ICMP echo reply, hvis den er tændt, tilsluttet netværket og ikke blokerer den type trafik. Tiden fra forespørgslen sendes, til svaret modtages, kaldes round-trip time og vises i millisekunder for hver enkelt forespørgsel. Hver datapakke bærer desuden en TTL-værdi (Time To Live), som routerne på vejen tæller ned – når den når nul, bliver pakken droppet, hvilket forhindrer, at data cirkulerer i det uendelige på netværket.
Sådan bruger du ping i praksis
Ping-kommandoen skrives i en terminal eller kommandoprompt og fungerer stort set ens på tværs af styresystemer, om end der er små forskelle i standardopførslen. På Windows skriver man blot ping efterfulgt af mål-adressen, for eksempel ping google.com, hvorefter der som udgangspunkt sendes fire forespørgsler. På macOS og Linux fortsætter kommandoen typisk med at sende forespørgsler, indtil man selv stopper den, medmindre man angiver et bestemt antal med flaget -c, for eksempel ping -c 4 google.com. Man kan lige så vel pinge en IP-adresse direkte, fx en offentlig DNS-server som 8.8.8.8, hvilket er nyttigt, hvis man vil udelukke, om et problem skyldes selve navneopløsningen (DNS) eller forbindelsen som sådan.
Sådan læser du resultatet af en ping
Hver linje i outputtet indeholder typisk et sekvensnummer, en TTL-værdi og en tidsangivelse i millisekunder for netop den forespørgsel. Springer sekvensnumrene – fx fra 2 til 4 – er der tabt en datapakke undervejs, hvilket kaldes packet loss. Til sidst opsummerer kommandoen, hvor mange forespørgsler der blev sendt og modtaget, den samlede procentdel af tabte pakker samt minimum-, gennemsnits- og maksimumtid for svarene. Får man i stedet beskeden “Request timed out” eller lignende, betyder det ikke nødvendigvis, at enheden er nede – mange servere og firewalls er nemlig indstillet til bevidst at ignorere ICMP-trafik af sikkerhedsmæssige årsager.
Ping og sammenhængen til latency
Ping bruges ofte som synonym for latency, men de to begreber betyder ikke helt det samme. Ping er selve kommandoen og målingen, mens latency er den forsinkelse, målingen udtrykker – altså den tid, det tager for data at rejse frem og tilbage mellem to punkter på et netværk. Lav latency (typisk under 50 millisekunder) opleves som en hurtig, responsiv forbindelse, mens høj latency kan give mærkbar forsinkelse i alt fra videoopkald til online spil. Latency afhænger blandt andet af den fysiske afstand og forbindelsestypen – en satellitforbindelse vil typisk have højere og mere svingende latency end en fiberforbindelse, fordi signalet skal en længere fysisk vej. I den forbindelse er det også værd at kende begrebet jitter, som beskriver, hvor meget ping-tiden varierer fra forespørgsel til forespørgsel – en stabil ping på et lidt højere niveau opleves ofte bedre end en ustabil ping, der springer voldsomt op og ned.
Hvad kan ping bruges til?
I praksis bruges ping mest som et hurtigt førstetjek, når noget på netværket ikke virker som forventet. Kan man ikke få forbindelse til en server, giver det mening at pinge den, før man forsøger at logge ind via SSH, så man kan udelukke, om problemet ligger i selve netværksforbindelsen. På samme måde kan man efter at have fået tildelt en ny IP-adresse via DHCP pinge routeren eller standardgatewayen for at bekræfte, at den lokale netværkskonfiguration er i orden. Ping bruges desuden ofte som en del af automatiserede overvågningsscripts, hvor man løbende tjekker, om en server svarer, og gemmer resultaterne til senere fejlsøgning.