Zebra 2.0 and Lagopus: Newly-Designed Routing Stack On

Total Page:16

File Type:pdf, Size:1020Kb

Zebra 2.0 and Lagopus: Newly-Designed Routing Stack On Zebra 2.0 and Lagopus: newly-designed routing stack on high-performance packet forwarder Kunihiro Ishiguro∗, Yoshihiro Nakajimay, Masaru Okiz, Hirokazu Takahashiy ∗ Hash-Set, Tokyo, Japan y Nippon Telegraph and Telephone Corporation, Tokyo, Japan z Internet Initiative Japan Inc, Tokyo, Japan e-mail: [email protected], [email protected], [email protected], [email protected] Abstract First GNU Zebra architecture and its issues Zebra 2.0 is the new version of open source networking When we designed the first GNU Zebra, the biggest ambition software which is implemented from scratch. Zebra 2.0 was to make multi-process networking software work. The is designed to supports BGP/OSPF/LDP/RSVP-TE and co- first GNU Zebra is made from a collection of several dae- working with Lagopus as fast packet forwarder with Open- mons that work together to build the routing table. There may Flow API. In this new version of Zebra, it adapts new archi- be several protocol-specific routing daemons and Zebra’s ker- tecture which is mixture of thread model and task completion nel routing manager. Figure 1 shows the architecture of the model to achieve maximum scalability with multi-core CPUs. first GNU Zebra. RIB (Routing Information Base) / FIB (For- Zebra has separate independent configuration manager that warding Information Base) and the interface manager are sep- supports commit/rollback and validation functionality. The configuration manager understand YANG based configuration arated into an isolated process called ’zebra’. All of protocol model so we can easily add a new configuration written in handling is also separated to it’s own process such as ’ripd’, YANG. Lagopus is an SDN/OpenFlow software switch that is ’ospfd’, ’bgpd’ and so on. This makes easier to add a new designed to achieve high-performance packet processing and protocol modules without re-building the whole staff. It in- high-scalable flow handling leveraging multi-core CPUs and creases the system stability - one process crash does not af- DPDK on commodity servers and commodity NICs. Lagopus fect to other process. Most importantly it extend possibility of supports match/action-based packet forwarding and process- efficient use of multi-core CPU and / or distributed environ- ing as well as encapsulation/decapsulation operation for MPLS ments resources. The architecture succeeded and we believe and VxLAN. The inter working mechanism of the user space that it shows the architecture works in various operational en- data plane of Lagopus and the network stack in kernel allows vironments. At the same time there was several problems to easy integration with Zebra 2.0 and its OpenConfigd. be solved. One of them is a performance issue. All of protocol mod- Keywords ules are single threaded because matured threading library did not exist when we designed the first GNU Zebra. Therefore Routing stack, BGP, OSPF, LDP, RSVP-TE, Packet for- there must be careful thoughts about event management and warder, YANG, OpenConfig. non-preemptive manner of task execution. This is really an- noying overhead to the programmer. Introduction Another issue is to support various virtualized environ- ments, such as VRF (Virtual Routing and Forwarding), VM Zebra 2.0 is a sequel to GNU Zebra [5] / Quagga [13] which is (Virtual Machine) and Containers. When we designed the widely used an open source routing software. Since first GNU original Zebra architecture, virtualized environment was not Zebra was designed in 1996, the architecture start showing so common as today. Thus we did not take into account of the it’s age. In past 20 years, there were a lot of technology possibility of the software runs on a virtualized environment. evolution. Here we have re-designed a 21st century routing Adding to that in past couple of years there are several software from the ground up to match to the today’s industry new packet forwarding architectures and technologies, such needs. as DPDK (Data Plane Development Kit)[3], OF-DPA (Open- In this paper, we describe the design and implemenation of Flow Data Plane Abstraction)[9] emerged to industry. That Zebra 2.0 and its integration to a high-performance software needs tight integration with networking software today. switch called Lagopus. In the next section, we mention important issues to be Design and Implementation solved in the first GNU Zebra. In Section III, we describe the basic design and implementation of Zebra 2.0. In Section We have designed Zebra 2.0 to achieve high-performance net- IV, we present Lagopus software switch and its integration to work protocol handling and high-extensible for various plat- Zebra 2.0. Finally, we conclude the paper. form. Figure 2 shows the architecture overview of Zebra 2.0. Proceedings of netdev 1.1, Feb 10-12, 2016, Seville, Spain zAPI RSVP- BGP OPSF LDP bgpd ripd ospfd zebra TE UNIX Kernel routing table FEA Figure 1: The architecture of the first GNU Zebra. Figure 2: The architecture of Zebra 2.0. New process and thread model Zebra 2.0 Lagopus The biggest bottle neck of the original design was protocol handling affect to packet in/out and keep-alive timer. For example, a large SPF (Shortest Path First) calculation is re- API API quired in a large-scale network on OSPF, OSPF can’t handle packet in/out and keep-alive timer without voluntary yield of the execution of SPF calculation because it is single threaded. OpenConfigd DB This lead OSPF to Hello time out. That was the typical sce- nario of the performance issue. completion show config Zebra 2.0 employs totally new process and thread model to achieves drastically improved performance and stability. In Zebra 2.0, the protocol handler and packet in/out (including confsh keep alive timer) handler are executed in a separate thread. By default, when a new protocol module is instantiated, two Figure 3: The architecture of the OpenConfigd. threads are created. One is for the protocol handling, the an- other one is for packet in/out and time out handling. In ad- dition, a lock-free queue between these two threads is intro- duced. automatically generated by OpenConfigd with YANG model. When a control packet comes in, the packet is handled by a OpenConfigd integrates OpenConfig[11] model, that aims to packet handler thread. The packet handler thread is supposed develop programmatic interfaces and tools for managing net- to update keep-alive timer and to validate the packet, then the works in a dynamic and vendor-neutral way. thread puts into the shared lock free queue. With this architec- OpenConfigd has user interface shell called ’confsh’. It ture, protocol handling, such as SPF calculation, large scale communicates the configuration manager to show possi- BGP table updates, do not interfere with keep-alive timers. ble completion and show to execute the command. In As we learned from nginx[7] and node.js[8] achievement, Zebra 2.0, all of the protocol modules has configuration the task completion model with single thread has a lot of set/unset/validate callback functions which will be invoked advantage over to multi-thread model in performance stand from OpenConfigd. OpenConfigd use gRPC for transport to point. In Zebra 2.0 we combine the best part of task comple- allow easy micro-service integration. tion model and multi thread model. Forwarding Engine Abstraction Separation of Configuration Manager In past couple of years, new forwarding technology was in- In Zebra 2.0, configuration manager is not part of the vented. DPDK is one of the example. It delivers the packet implementation. Today’s industry require having a sin- directly from device buffer to user-space packet forwarder. gle integrated configuration manager which supports com- To handle the architecture, we need to have well designed mit/rollback with well designed configuration database. The FEA (Forwarding Engine Abstraction). Other example is OF- configuration manager handles all of the configuration on the DPA that wraps hardware functionality provided by merchant box or even boxes. To do that, we decouple configuration switch silicon with OpenFlow like APIs. With OF-DPA, manager from Zebra 2.0 then we introduce its own indepen- hardware forwarder configuration is much easier than it used dent software package called ‘OpenConfigd’. to be. Software forwarder and hardware forwarder is pretty The OpenConfigd generate configuration schema de- different. Therefore it require different API calls with dif- scribed in YANG[1]. Several interfaces and APIs such as CLI ferent kind of objects as arguments. In addition, sometimes (Command Line Interface), NETCONF and REST API are it require different API call sequences. Much worse, there Proceedings of netdev 1.1, Feb 10-12, 2016, Seville, Spain OpenFlow OVSDB CONF NET CLI L3 L2 SNMP might be a situation of supporting both software forwarder agent API API and hardware forwarder at the same time to handle slow path. 1.3 JSON IF In Zebra 2.0, new packet forwarding abstraction layer switch configuration datastore called FEA is introduced. FEA has sets of API which can (configuration/stats API, SW DSL) switch manager/ switch HAL automatically handle various different configuration under- Lagopussoftware dataplane neath of packet forwarders. FEA provides primitive con- Packet processing pipeline trol and configuration API for packet forwarder including in- Flow table Flow table Flow table flow Flow table GroupFlow table meterFlow table terface/port management, bridge management, routing table, table table table ARP table. A protocol modules must attach FEA and call queue/ flow lookup flow cache FEA APIs for packet forwarder controls. policer DPDK libs raw-socket / Kernel DPDK-enabled NIC Standard NIC Virtualization Figure 4: The design of Lagopus switch. Virtualization support is inevitable to today’s networking in- dustry for an execution environment of Zebra 2.0.
Recommended publications
  • ECE 435 – Network Engineering Lecture 15
    ECE 435 { Network Engineering Lecture 15 Vince Weaver http://web.eece.maine.edu/~vweaver [email protected] 25 March 2021 Announcements • Note, this lecture has no video recorded due to problems with UMaine zoom authentication at class start time • HW#6 graded • Don't forget HW#7 • Project Topics due 1 RFC791 Post-it-Note Internet Protocol Datagram RFC791 Source Destination If other than version 4, Version attach form RFC 2460. Type of Service Precedence high reliability Routine Fragmentation Offset high throughput Priority Transport layer use only low delay Immediate Flash more to follow Protocol Flash Override do not fragment CRITIC/ECP this bit intentionally left blank TCP Internetwork Control UDP Network Control Other _________ Identifier _______________________ Length Header Length Data Print legibly and press hard. You are making up to 255 copies. _________________________________________________ _________________________________________________ _________________________________________________ Time to Live Options _________________________________________________ Do not write _________________________________________________ in this space. _________________________________________________ _________________________________________________ Header Checksum _________________________________________________ _________________________________________________ for more info, check IPv4 specifications at http://www.ietf.org/rfc/rfc0791.txt 2 HW#6 Review • Header: 0x000e: 4500 = version(4), header length(5)=20 bytes ToS=0 0x0010: 0038 = packet length (56 bytes) 0x0012: 572a = identifier 0x0014: 4000 = fragment 0100 0000 0000 0000 = do not fragment, offset 0 0x0016: 40 = TTL = 64 0x0017: 06 = Upper layer protocol (6=TCP) 0x0018: 69cc = checksum 0x001a: c0a80833 = source IP 192.168.8.51 0x001e: 826f2e7f = dest IP 130.111.46.127 • Valid IPs 3 ◦ 123.267.67.44 = N ◦ 8.8.8.8 = Y ◦ 3232237569 = 192.168.8.1 ◦ 0xc0a80801 = 192.168.8.1 • A class-A allocation is roughly 224=232 which is 0.39% • 192.168.13.0/24.
    [Show full text]
  • FRR - a New Quagga Fork with a More Open Development
    FRR - A new Quagga fork with a more open development Martin Winter [email protected] 1 What is FRR ? (for the not so technical People) ‣ Open Source (GPLv2+) Routing Stack ‣ Implements RIP, RIPng, OSPF (v2&v3), ISIS, BGP, PIM, LDP ‣ Fork of Quagga ‣ Works on Linux and most BSD based systems ‣ For use in many Clouds as virtual routers, white box vendors and network providers (full routing stack) 2 FRR - Why a new fork? Community Driven Faster Development Open Development Model 3 FRR - Who is behind the Fork? 4 FRR - What’s different? ‣ Methodical vetting of submissions ‣ More automated testing of contributions ‣ Github centered development ‣ Elected Maintainers & Steering Committee ‣ Common Assets held in trust by Linux Foundation 5 FRR – Current Status First stable version (2.0) – out very soon BGP Zebra LDP (new) ‣ Performance & Scale fixes ‣ MPLS Support IPv4/v6 for static ‣ RFC 5036 (LDP Specification) LSPs ‣ AddPath Support ‣ RFC 4447 (Pseudowire Setup and Maintenance using LDP) ‣ Remote-AS internal/external ‣ 32-bit route-tags Support ‣ RFC 4762 – (Virtual Private LAN ‣ Nexthop Tracking Service (VPLS) using LDP) ‣ BGP Hostname support ‣ RFC 5549 (unnumbered) Support ‣ RFC 6720 - The Generalized TTL ‣ Update Groups Security Mechanism (GTSM) for ‣ RFC 5549 (unnumbered) Support LDP ‣ Nexthop tracking ‣ RFC 7552 - Updates to LDP for OSPF V2/V3 IPv6 ‣ 32-bit route-tags ‣ OpenBSD Support restored Others Testing ‣ 32-but route-tags ‣ JSON Support ‣ Dejagnu unittests changed to pytest ‣ RFC 5549 (unnumbered) Support ‣ VRF Lite (Linux VRF device support) for BGP and Zebra ‣ Topology Tests 6 ‣ Snapcraft Packaging FRR - Links ‣ Website (very soon!) • http://www.frrouting.org ‣ Github • http://github.com/freerangerouting/frr.git ‣ Issue Tracker • https://github.com/freerangerouting/frr/issues ‣ New feature list, test results etc (until web is up) • https://github.com/freerangerouting/frr/wiki 7.
    [Show full text]
  • LABEL MATRIX 2021 Release Notes Version 2021.00.00
    LABEL MATRIX 2021 Release Notes Version 2021.00.00 Table of Contents System Requirements ................................................................................................................. 3 Virtual Environment .................................................................................................................... 3 LABEL MATRIX 2021 New Features, Improvements and Fixes ........................................................... 4 LABEL MATRIX 2019 New Features, Improvements and Fixes ........................................................... 5 LABEL MATRIX 2018 New Features, Improvements and Fixes ........................................................... 7 LABEL MATRIX 2016 New Features, Improvements and Fixes ......................................................... 10 LABEL MATRIX 2015 New Features, Improvements and Fixes ......................................................... 11 LABEL MATRIX 2014 New Features, Improvements and Fixes ......................................................... 12 LABEL MATRIX 2012 New Features, Improvements and Fixes ......................................................... 14 LABEL MATRIX 8 New Features, Improvements and Fixes .............................................................. 15 New Device Support.................................................................................................................. 19 Known Limitations .................................................................................................................... 34 www.teklynx.com
    [Show full text]
  • P310 Maintenance Manual
    P310 Maintenance Manual CPARD RINTER P RODUCTS Manual No. 980264-001 Rev. B ©2001 Zebra Technologies Corporation FOREWORD This manual contains service and repair information for P310 Card Printers manufactured by Zebra Technology Corporation, Camarillo, California. The contents include maintenance, diagnosis and repair information. TECHNICAL SUPPORT For technical support, users should first contact the distributor that originally sold the product—phone +1 (800) 344 4003 to locate the nearest Eltron Products Distributor. Eltron Products offers the following: U.S.A Europe Asia Latin America http://www.eltron.com Internet ftp://ftp.eltron.com e-mail [email protected] [email protected] [email protected] [email protected] Compu 102251,1164 Serve Phone +805 578 1800 +33 (0) 2 40 09 70 70 +65 73 33 123 +1 847 584 2714 +44 (0) 1189 895 762 FAX +1 805 579 1808 +65 73 38 206 +1 847 584 2725 +33 (0) 2 40 09 70 70 RETURN MATERIALS AUTHORIZATION Before returning any equipment to Eltron for either in- or out-of-warranty repairs, contact the Eltron Repair Administration for a Return Materials Authorization (RMA) number. Then repackage the equipment, if possible using original packing materials, and mark the RMA number clearly on the outside. Ship the equipment, freight prepaid, to one of the following addresses: For USA and Latin America: For Europe, Asia, and Pacific: Zebra Technologies Corporation Zebra Technologies Corporation Eltron Card Printer Products Eltron Card Printer Products 1001 Flynn Road Zone Industrielle Rue d’Amsterdam Camarillo, CA 93012-8706, USA 44370 Varades, France Phone: +1 (805) 579-1800 Phone: +33 (0) 2 40 09 70 70 FAX: +1 (805) 579-1808 FAX: +33 (0) 2 40 83 47 45 COPYRIGHT NOTICE This document contains information proprietary to Zebra Technology Corporation.
    [Show full text]
  • The-Dark-Zebra-User-Guide.Pdf
    ZebraHZ and THE DARK ZEBRA Version 2.9.3 22. Jul 2021 U-HE • Heckmann Audio GmbH • Berlin Table of Contents Introduction 5 The Dark Zebra .....................................................5 ZebraHZ ................................................................5 Installation .............................................................6 Terms of Use .........................................................7 User Interface 8 Basic Operation ....................................................8 Upper Bar ..............................................................9 GUI size ...............................................................10 Synthesis Window ...............................................10 Main grid .........................................................11 Lane Mixer ......................................................12 Lane Compressors ..........................................13 Performance Window ..........................................14 Lower Bar and Lower Pane .................................15 Preset Browser 16 Overview .............................................................16 Directory Panel (folders) ..................................17 Presets Panel (files) .........................................19 Preset Info Panel .............................................21 Installing More Soundsets................................... 21 Preset Tagging ....................................................22 Search by Tags ....................................................23 Search by Text ....................................................24
    [Show full text]
  • Programming Announcements Announcements Announcements
    5/20/2008 Programming Announcements FIT100 FIT100 • Why is programming fun? • Undergraduate Research • Finally, there is the delight of working in such a Symposium tractable medium. The programmer, like the ∗ Friday poet, works only slihtllightly re-moved from pure thought-stuff. He builds his castles in the air, ∗ How many attended? from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. Source: Frederick P. Brooks, Jr. The Mythical Man-Month Essays on Software Engineering. Announcements Announcements FIT100 FIT100 •Project 2B • Labs this week ∗ Due on Wednesday before 12 Noon ∗ Monday-Tuesday •If yyqou don't submit the quiz before 11, • Finish uppp proj ect 2B your answers are gone!! ∗ Wednesday-Thursday • Aim at submitting quiz before 11 • Grading spreadsheet that will calculate your current grade in the class Getting Help Exercise 4 FIT100 FIT100 • JavaScript Exercise 4 ∗ Describe how you use a for loop to cyygcle through radio buttons to find the one that has been checked. 1 5/20/2008 Exercise 4 Exercise 4 FIT100 FIT100 <label for="giraffe">Giraffe</label><br /> <label for="giraffe">Giraffe</label><br /> <input type="radio" id="giraffe" <input type="radio" id="giraffe" name="animals" /> name="animals" /> <label for="zebra">Zebra</label><br /> <label for="zebra">Zebra</label><br /> <input type="radio" id="zebra" <input type="radio" id="zebra" name="animals" /> name="animals" /> <label for="lion">Lion</label><br
    [Show full text]
  • Laboratory 2 ARP; Zebra Routing Daemon Part1. Introduction
    Facultatea de Electronică şi Telecomunicaţii Communications Network Laboratory 1 Laboratory 2 ARP; Zebra routing daemon Part1. Introduction ARP Address Resolution Protocol, ARP, is used by a system, which wants to send data an IP address on the local network, and it doesn’t know the destination MAC address. Systems keep an ARP look-up table where they store information about the association between the IP and MAC addresses. If the MAC address is not in the ARP table, then ARP protocol is used it knowing the destination IP addresss. ARP operation for communications inside the local network: • System checks its ARP table for the MAC address associated with the IP address. • If the MAC address is not in the ARP table, an ARP request is broadcasted in the local network, requesting the MAC address for the specified IP address. • The machine with the requested IP address will reply with an ARP packet containing its MAC address. • Thepacket is sent to the learned MAC address. ARP operation for communication between hosts located in different networks • System determines that the IP address does not belong to the local network and decides to send the packet to the gateway. It has to determine the MAC address of the gateway. • It broadcast an ARP request asking for the MAC address of the IP address belonging to the gateway. It knows the gateway’s IP address from the static route specifying the default gateway. • The gateway will reply with its MAC address. • The packet is sent to the gateway. • The gateway will be in charge with sending the packet to the next hop towards the destination.
    [Show full text]
  • Challenges in Testing How Opensourcerouting Tests Quagga
    Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Sevilla, Spain Feb 10-12, 2016 Challenges in Testing How OpenSourceRouting tests Quagga Martin Winter Feb 10, 2016 1 Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Who is OpenSourceRouting ? ‣ Who is Open Source Routing ? • www.opensourcerouting.org • Project by NetDEF (Network Device Education Foundation) - www.netdef.org - Non-Profit Company based in California • Working on Quagga Routing ‣ Who is Martin Winter ? • Co-Founder of NetDEF • Focusing on Testing Quagga • Previously worked for Equipment Vendor & large ISP 2 Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) What is Quagga ? ‣ Routing Protocol Stack • RIP / RIPNG / OSPFv2 / OSPFv3 / ISIS / BGP / PIM • Running on Linux / FreeBSD / NetBSD / OpenBSD / Solaris • Used on low-end OpenWRT boxes, physical and virtual software routers, SDN deployments, distributed routers • Originally derived from Zebra • GPLv2+ Open Source / “Community” owned & controlled 3 Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Quagga Community How it works today No single entity behind Quagga No Large community of “contributers” “Owner” Maintainer = person with commit access Main source git on Savannah Simple Single master branch with Git Model development branch merged into every few months Email Code
    [Show full text]
  • Vyos Documentation Release Current
    VyOS Documentation Release current VyOS maintainers and contributors Jun 04, 2019 Contents: 1 Installation 3 1.1 Verify digital signatures.........................................5 2 Command-Line Interface 7 3 Quick Start Guide 9 3.1 Basic QoS................................................ 11 4 Configuration Overview 13 5 Network Interfaces 17 5.1 Interface Addresses........................................... 18 5.2 Dummy Interfaces............................................ 20 5.3 Ethernet Interfaces............................................ 20 5.4 L2TPv3 Interfaces............................................ 21 5.5 PPPoE.................................................. 23 5.6 Wireless Interfaces............................................ 25 5.7 Bridging................................................. 26 5.8 Bonding................................................. 27 5.9 Tunnel Interfaces............................................. 28 5.10 VLAN Sub-Interfaces (802.1Q)..................................... 31 5.11 QinQ................................................... 32 5.12 VXLAN................................................. 33 5.13 WireGuard VPN Interface........................................ 37 6 Routing 41 6.1 Static................................................... 41 6.2 RIP.................................................... 41 6.3 OSPF................................................... 42 6.4 BGP................................................... 43 6.5 ARP................................................... 45 7
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Verifiable Asics Riad S
    Verifiable ASICs Riad S. Wahby?◦ Max Howald† Siddharth Garg? abhi shelat‡ Michael Walfish? [email protected] [email protected] [email protected] [email protected] [email protected] ?New York University ◦Stanford University †The Cooper Union ‡The University of Virginia Abstract—A manufacturer of custom hardware (ASICs) can under- deploy the two ASICs together, and, if their outputs differ, mine the intended execution of that hardware; high-assurance ex- a trusted processor can act (notify an operator, impose fail- ecution thus requires controlling the manufacturing chain. How- safe behavior, etc.). This technique provides no assurance if ever, a trusted platform might be orders of magnitude worse in per- formance or price than an advanced, untrusted platform. This pa- the foundries collude—a distinct possibility, given the small per initiates exploration of an alternative: using verifiable computa- number of top-end fabs. A high assurance variant is to execute tion (VC), an untrusted ASIC computes proofs of correct execution, the desired functionality in software or hardware on a trusted which are verified by a trusted processor or ASIC. In contrast to platform, treating the original ASIC as an untrusted accelerator the usual VC setup, here the prover and verifier together must im- pose less overhead than the alternative of executing directly on the whose outputs are checked, potentially with some lag. trusted platform. We instantiate this approach by designing and This leads to our motivating question: can we get high- implementing physically realizable, area-efficient, high throughput assurance execution at a lower price and higher performance ASICs (for a prover and verifier), in fully synthesizable Verilog.
    [Show full text]
  • Printer RFID Reader the Tags Will All Be Within Six Inches of the Reader/Writer Module So High Amplification Is Unnecessary
    Compact RFID Printer Module for WJ Communications, Inc. Dr. John Bellantoni, Liaison A Major Qualifying Project Report Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for the Degree of bachelor of Science Submitted by: ___________________________________ Brett Ferguson [email protected] ___________________________________ Ian Levesque [email protected] ____________________________________ Jeremy Turner [email protected] Approved by: ____________________________________ Project Advisor: Professor John Orr [email protected] March 1, 2007 1 Abstract In order to advance the expanding RFID market with a truly unique product, this project focuses on the creation of a compact, short-range RFID module with integrated antenna. To achieve this goal, a prototype is constructed and tested following standard RF design techniques. The final module, named the WJM4000, reliably reads and writes RFID tags while featuring a smaller form factor and consuming less power than existing RFID designs. 2 Executive Summary Radio Frequency Identification (RFID) technology has been in use for over 50 years, but has only recently begun to experience massive growth in the form of new applications and implementations. Recent standardization efforts have created a market for a wide variety of RFID transponders (tags) and many different styles of readers and writers. One area of particular growth is inventory and supply-chain management, both industrial and commercial. This application commonly utilizes compact passive tags embedded within adhesive labels, which are printed with conventional barcode information, but also contain additional information in the form of EPC codes written into the embedded RFID tags. Major companies in the barcode industry, such as Zebra Technologies, have expanded their lines of barcode printers to include RFID functionality.
    [Show full text]