{"id":127,"date":"2018-01-07T15:07:31","date_gmt":"2018-01-07T15:07:31","guid":{"rendered":"https:\/\/www.kuncar.net\/blog\/?p=127"},"modified":"2018-01-09T00:44:59","modified_gmt":"2018-01-09T00:44:59","slug":"bit-errror-rate-test-bert-explained","status":"publish","type":"post","link":"https:\/\/www.kuncar.net\/blog\/2018\/bit-errror-rate-test-bert-explained\/","title":{"rendered":"Bit Errror Rate Test (BERT) explained"},"content":{"rendered":"<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-128\" src=\"https:\/\/www.kuncar.net\/blog\/wp-content\/uploads\/2018\/01\/Binary-2-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/www.kuncar.net\/blog\/wp-content\/uploads\/2018\/01\/Binary-2-150x150.jpg 150w, https:\/\/www.kuncar.net\/blog\/wp-content\/uploads\/2018\/01\/Binary-2-100x100.jpg 100w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><span style=\"font-size: 14px;\">This article will be rather short in comparison with the others in the mini-series about various Ethernet\/IP testing methods but it is one that is necessary as Bit E<\/span><span style=\"font-size: 14px;\">rror Tests have a long tradition in telco environment (circuit based networks) but are still quite valid even in nowadays packet networks \u2013 at least for some specific cases. So without further delay let start with some theory behind the testing and some practical use followed by some use cases and best practices.<\/span><\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">BERT introduction<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-size: 14px; font-family: arial, helvetica, sans-serif;\">As you can guess from the name this test is really to test physical layer traffic for any anomalies. This is a result from the test origins where T1\/E1 circuits have been tested and each bit in each time-slot mattered as the providers were using those up to the limit as bandwidth was scarce. Also as most of the data being transferred were voice calls any pattern alterations had quite serious implications on the quality of service. This also led to the (in)famous reliability of five nines or the 99.999% which basically states that the link\/device must be available 99.999% throughout a specified SLA period (normally a month or a year). One must remember that redundancy was rather rare so the requirements for hardware reliability was really high. But by the move away from the circuit-based TDM networks towards the packet-based IP networks the requirements changed. The bandwidth is now in abundance in most places and the wide deployment of advanced Ethernet and IP feature rich devices provides with plenty options for redundancy and QoS with packet-switched voice traffic on rise \u2013 one would think it is not really necessary to consider BERT as something one should use as test method but that would be huge mistake.<\/span><\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">Why BERT<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">There are few considerations that can make BERT an interesting choice. I will list some I think are the most interesting.<\/span><\/p>\n<ul class=\"ili-indent\">\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">It has been designed to run for extended period of time which makes it ideal for acceptance testing which is still often required<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">BERT is ideal for testing jitter as it was one of the primary design goals<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">The different patters used in BERT can be used for packet optimization testing (I will discuss this later in more detail)<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">Most of the BERT tests are smarter than just counting bit errors so the test can be used for other testing<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">BERT Physical setup and considerations<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">On Ethernet network you cannot run a simple L1 test unless you test just a piece of cable or potentially a hub as all other devices would require some address processing. This makes the test being different on Ethernet network from unframed E1 as unlike on E1 we need to set framing to Ethernet with the source and destination \u00a0defined on the tester. Also as Ethernet must be looped on a logical level it is not possible to use simple RJ45 with pair of wires going from TX to RX as you could with E1 and either hardware or software loopback reflector is required. Most tester will actually allow you to specify even layer 3 and 4 for IP addresses and UDP ports. The reason is usually so the management traffic between tester and loopbacks can use this channel for internal communication.<\/span><\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">Pattern selection options<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">As thi<\/span><span style=\"font-family: arial, helvetica, sans-serif;\">s test originates from the telco industry some interesting options are usually presented on the testers. The stream can generate these patterns:<\/span><\/p>\n<ul class=\"ili-indent\">\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">All zeros or all ones \u2013 which are specific patters originated from TDM environment<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">0101 pattern and 1010 pattern \u2013 patterns that can be easily compressed<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">PRBS \u2013 Pseudo Random Bit Sequence \u2013 is an deterministic sequence that cannot be compressed\/optimized the details and calculation can be found on\u00a0<a title=\"PRBS calculation of Wikipedia\" href=\"https:\/\/web.archive.org\/web\/20150214053728\/http:\/\/en.wikipedia.org\/wiki\/Pseudorandom_binary_sequence\" target=\"_blank\" rel=\"noopener\">wikipedia<\/a><\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">Inverted PRBS \u2013 the same as above but the calculation function is inversed to counter any \u201coptimization\u201d for the PRBS<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">The thing to remember is that PRBS will be applied to the payload of the frame\/packet\/datagram so it there is any sort of optimization present it will have no effect as PRBS is by design not compressible. There are various \u201cstrengths\u201d of the pseudo-random pattern the higher the number the less repeating it will include. Normally it is possible to see two main variants: 2^15 which is \u00a032,767 bits long\u00a0and 2^23 which\u00a08,388,607 bits long. Obviously the longer the pattern the better and more \u201crandom\u201d behavior it emulates.<\/span><\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">Error injecting Options<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">As this test originated in telco world injecting errors was a major thing but in Ethernet network it lost its importance. If you inject even a single bit error in an Ethernet frame the CRC should be incorrect and the whole frame should be dropped on first L2 equipment it will be passed through which should always result in alarm LoF(Loss of Frame)\/LoP (Loss of Pattern).<\/span><\/p>\n<h3><span style=\"font-family: arial, helvetica, sans-serif;\">Use cases, Best Practices and Conclusion<\/span><\/h3>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">The most common use case for BERT in nowadays network would be in commissioning new links as you can run a fairly simple test for a long time that will give you a reasonable idea bout it\u2019s quality in terms of frames drops and\u00a0<a title=\"Jitter on wikipedia\" href=\"https:\/\/web.archive.org\/web\/20150214053728\/http:\/\/en.wikipedia.org\/wiki\/Packet_delay_variation\" target=\"_blank\" rel=\"noopener\">jitter<\/a>.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">The few recommendations about how to run this test would be as follows:<\/span><\/p>\n<ul class=\"ili-indent\">\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">Use the largest pattern you can.<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">Remember that the line rate and L2 rates will be different because of the overheads.<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">Remember that 99.999% of availability results in 0.8s outage in 24 hours (which can be quite a lot of frames)<\/span><\/li>\n<li><span style=\"font-family: arial, helvetica, sans-serif;\">PRBS cannot be optimized<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial, helvetica, sans-serif;\">So as you can see BERT is rather simple and straight forward test that even though is in many ways deprecated by\u00a0<a title=\"RFC2544 explained\" href=\"https:\/\/web.archive.org\/web\/20150214053728\/http:\/\/www.kuncar.net\/blog\/rfc2544-testing-practic-experience-and-evaluation\/2013\/\" target=\"_blank\" rel=\"noopener\">RFC2544<\/a>\u00a0and others (like\u00a0Y.156sam) it is still a very good test to know especially if you are in jitter sensitive environment e.g. where VoIP and IPTV is deployed.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article will be rather short in comparison with the others in the mini-series about various Ethernet\/IP testing methods but it is one that is necessary as Bit Error Tests have a long tradition in telco environment (circuit based networks) but are still quite valid even in nowadays packet networks \u2013 at least for some &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.kuncar.net\/blog\/2018\/bit-errror-rate-test-bert-explained\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Bit Errror Rate Test (BERT) explained&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,14],"tags":[],"class_list":["post-127","post","type-post","status-publish","format-standard","hentry","category-recovered","category-testing"],"_links":{"self":[{"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/posts\/127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/comments?post=127"}],"version-history":[{"count":4,"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/posts\/127\/revisions"}],"predecessor-version":[{"id":152,"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/posts\/127\/revisions\/152"}],"wp:attachment":[{"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/media?parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/categories?post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kuncar.net\/blog\/wp-json\/wp\/v2\/tags?post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}