Ronja Twibright Labs

Packetloss measurement for Ronja Tetrapolis/Inferno with ping

Gallery[69c] Gallery[9b] Gallery[9e]

Primitive packetloss measurement of Ronja Tetrapolis or Inferno using ping

INFO

Naming convention

We will call the network interface eth0. However, it may be named differently, especially if you have a different operating system than Linux.

Requirements

  • 1 free full duplex network card with RJ45 connector
  • 1 Ronja Tetrapolis device
  • ping and some packet sniffer (e. g. tcpdump or Wireshark ) installed
  • Operating system where manual ARP and routing table manipulation can be done
  • A mirror

Setting full duplex

  • Set up the NIC manually to 10Mbps full duplex and switch autonegotiation off. Full duplex hints.

Setting IP address

Assign an IP address 192.168.1.1 and netmask 255.255.255.0 (Linux: ifconfig eth0 192.168.1.1 netmask 255.255.255.0). Determine and write down the MAC address of the card. (Linux: ifconfig eth0).

Making ARP table entry

Set up permanent ARP table entry for the interface eth0, IP address 192.168.1.2 and MAC address from the paper. (Linux: arp -i eth0 -s 192.168.1.2 MAC_address)

Routing table

If the kernel has not already done it, add a routing table entry for interface eth0 and IP address 192.168.1.2 (Linux: route add 192.168.1.2 eth0)

Packet sniffer

Run a packet sniffer that dumps the packets on screen on interface eth0. The sniffer must be capable of showing ethernet or IP frames/packets. Linux: tcpdump -i eth0 or run Wireshark on eth0. Leave the sniffer running.

Without device

  • Take another console or open another terminal.
  • Make sure nothing is connected to the NIC (network card)
  • Start a process that is periodically issuing ICMP Echo Request packets with 1-second intervals to IP address 192.168.1.2. Linux: ping 192.168.1.2
  • The tcpdump or Wireshark should show each ICMP Echo Request only once, because they are being sent, but not received. Example output:
    20:27:45.109689 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
    20:27:46.109692 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
    20:27:47.109685 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
    

    If tcpdump doesn't see what it should, something in the configuration above

has been done wrong.
Drawing
Postscript / PDF / EPS / BIG png / SVG (Inkscape)

Connecting Ronja Tetrapolis

Connect Ronja Tetrapolis assembled according to the picture to the NIC.

With device

Now tcpdump or Wireshark should show each ICMP Echo Request twice (once transmitted, once received). Example output:

20:27:45.109484 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
20:27:45.109689 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
20:27:46.109487 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
20:27:46.109692 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
20:27:47.109480 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)
20:27:47.109685 192.168.1.1 > 192.168.1.2: icmp: echo request (DF)

If tcpdump doesn't see double packets but only single, something is wrong with the NIC (maybe configured to other transceiver than RJ-45 TP (twisted pair)?), or the DUT failed the test. Otherwise the test has passed.

Estimation

Take a block of packets and manually count how many are double (not lost) and how many single (lost). Calculate packetloss in percent (%) as 100*single/(double+single).

An expected information missing here?