Giter Site home page Giter Site logo

etherate's Introduction

Etherate
========


What is it:

  The original idea was to provide a simple speed testing program
  that with any modern day CPU could saturate a gigabit Ethernet link,
  with any typical off the shelf/on-board GigE NIC. Programs such as
  iPerf/jPerf (there are many others!) exist and are mostly excellent 
  at this. They can saturate a link or connection to measure throughput
  or simulate congestion, but they operate at layer 4 of the OSI model
  using either TCP or UDP for data transport. This is fine for WAN
  testing or testing over a layer 3 boundary, across the Internet
  (home broadband or tail circuit diagnostics etc).

  Etherate is a Linux CLI program for testing layer 2 Ethernet circuits.
  The original design scope has been widened and improved upon to
  create a CLI testing program for layer 2 connectivity that performs
  a variety of tests and generates many more stats and metrics than speed.

  
Why was it Made:  

  Hardware testers can be used to test a layer 2 link end to end but
  these are typically very expensive and most techies are already
  carrying a laptop around. After the initial beta release the goal for
  Etherate is to start to bring in RFC2544 and ITU-T Y.1564 measurement
  compliance testing, OAM testing, MPLS and VPLS testing and stress testing.
  
  Free Ethernet testing for all!
  

Initial Features:

  In the initial alpha stages it has basic features whilst the initial
  code is created. When the first beta is released (June 2014 +/-) it will allow
  the user to generate traffic with varying properties (this is the
  current development list for the beta release);
  
  - Any EtherType
  - Any Source MAC and/or Destination MAC
  - Any VLAN ID
  - Any priority (PCP) value
  - Supports double tagging (inner and outer VLAN ID and PCP)
  - Toggle DFI bit
  - Toggle frame acknowledgement
  - Optional speed limit in Mbps or Frames/p/s
  - Optional frame payload size
  - Optional transfer limit in MBs/GBs
  - Optional test duration
  
  
Development Plan

  These are features that will be in development after the beta 
  is released;
  
  - Add continual “OWAMP” tests (currently just at the start)
  - Add L2 storm testing (broadcast and multicast without no RX host)
  - Add feature to load frame payload from a text file
  - Add BPDU & keepalive generation shortcuts
  - Report throughput if additional headers (IPv4/6/TCP/UDP) were present
  - Add max MTU scanning/sweeping test
  - Simulate large MPLS label stacks (8/9/10 labels etc)
  
  These are long term features I am still considering for development
  but further research is required;
  
  - Add RFC2544 & ITU Y.1564 compliance (still reading the documents!)
  - Add BERT (still researching bit patterns!)
  - Format CLI output to go into a storable DB, for stats gathering
  - Add layer 1 / wire testing features like auto neg, duplex, speed etc
  (still researching layer 1 coding possibilities)
  
  
Technical details:

  In the alpha stage Etherate is single threaded and only runs a single
  test between a transmitting and receiving host. Later development
  will see it turn to bidirectional more complex testing.


More info:

  http://null.53bits.co.uk/index.php?page=etherate
  
 
Who made it:

  James Bensley <[email protected]>

etherate's People

Watchers

Johan Denoyer avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.