Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Ping er et hjelpeprogram som brukes for å teste hvor godt man kan nå en tjener på et IP-nettverk. Dette foregår ved å sende pakker til tjeneren og vente på svar, og blir målt av tiden fra pakken blir sendt til svar er mottatt. Pakkene som sendes er av type ICMP og i retur får man ICMP Echo Reply. Typisk gies gis det informasjon om eventueller eventuelle feil, packet loss, og en statistisk oppsumering oppsummering av minimum- maksimum- og gjennomsnitteliggjennomsnittlig-tid samt standardavik standardavvik til snittet. 

 

2. Ønsket funksjonalitet  

...

Ping sender en ICMP-pakke med data til en tjener og venter på at tjeneren sender en ICMP-pakke med samme data tilbake. Dette gjøres gjerne flere ganger slik at man kan måle tap av pakker og svartid. ICPM ble definert i RFC 792 og illustreres under:

Bilde Figur 1: Illustrasjon av en ICMP-pakke hentet fra Wikipedia

...

Type = 8 (8 bit)Kode = 0 (8 bit)Header sjekksum (16 bit)
Header (ID 16 bit og sekvensnummer 16 bit)
Data (32 bit)

Tabell 1: Oppbygging av en Echo Request

Dataene som sendes er som regel fylt med ASCII-tegn.

...

Når tjeneren mottar en echo request er  kan den pålagt å svare med ICMP-meldingen echo reply som beskrevet under der data som sendes er de samme som ble mottatt i echo request:

Type = 0 (8 bit)Kode = 0 (8 bit)Header sjekksum (16 bit)
Header (ID 16 bit og sekvensnummer 16 bit)
Data (32 bit)

 Tabell 2: Oppbygging av en Echo Reply

Resultat

I de fleste implementasjonene av ping vil prosessen med å sende en echo request og vente på svar i form av et echo reply gjøres flere ganger. Resultatene blir vist til brukeren som vist under (ping i Windows):

Pinging outlook.com [40.97.156.114] with 32 bytes of data:
Reply from 40.97.156.114: bytes=32 time=195ms TTL=233
Reply from 40.97.156.114: bytes=32 time=192ms TTL=233
Reply from 40.97.156.114: bytes=32 time=191ms TTL=233
Reply from 40.97.156.114: bytes=32 time=191ms TTL=233

Ping statistics for 40.97.156.114:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 191ms, Maximum = 195ms, Average = 192ms

Figur 2: Eksempel på bruk av ping

Feilmeldinger

Dersom ping ikke får svar fra tjeneren vil mange implementasjoner ikke vise noe resultat, mens andre vil skrive ut varsler om at forespørselen har brukt for lang tid.

Dersom man får svar men noe går feil er det mange feilkoder tilgjengelige for å beskrive hva problemet er. En fin oversikt finnes på Wikipedia.vil man få tilbake en feilmelding/informasjon som en ICMP-pakke som vist i Tabell 3. Pakke inneholder navn på de ulike pakkene definert i RFC 792, Type beskriver "Type of Message" i ICMP-headeren og Kode beskriver "Code" i ICMP-headeren.

PakkeTypeKoder

Destination Unreachable Message

(Tjener kan ikke nåes)

3

0 = net unreachable

1 = host unreachable

2 = protocol unreachable

3 = port unreachable

4 = fragmentation needed and DF set

5 = source route failed

Time Exceeded Message

(Tidsgrense overskredet)

11

0 = time to live exceeded in transit

1 = fragment reassembly time exceeded

Parameter Problem Message

(Feil i Header)

120 = pointer indicates the error

Source Quench Message

(Ikke nok ressurser til å behandle forespørsel)

40

Redirect Message

(Gateway gir beskjed om at den har omdirigert pakken)

5

0 = Redirect datagrams for the Network

1 = Redirect datagrams for the Host

2 = Redirect datagrams for the Type of Service and Network

3 = Redirect datagrams for the Type of Service and Host

Tabell 3: ICMP-pakker som indikerer feil 

4. Referanser

https://tools.ietf.org/html/rfc792

...