Ronja Twibright Labs

Packetloss measurement for Ronja Twister/Twister2 with ping

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

Primitive packetloss measurement of Ronja Twister/Twister2 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 Twister or Twister2
  • ping and some packet sniffer (e. g. tcpdump or Wireshark installed
  • Operating system where manual ARP and routing table manipulation can be done
  • A small piece of thick wire

Setting full duplex

  • Set up the Network Interface Card (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. 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)

Looping a Twister back

If you have a Twister, put a small piece of wire between the signal terminals of the Twister according to the picture. Set the Twister switches into the "PC" position.

Drawing
Postscript / PDF / EPS / BIG png / SVG (Inkscape)

Setting up a Twister2

If you have a Twister2, set the switches into the "PC" position. Stick the Twister2 loopback plug into one of the "SIGNAL" connectors.

Connect Twister(2)

Insert Twister(2) cable into the PC and connect Twister(2) power.

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?