What kind of code runs on routes and switches

1 answer

On routers and switches, the code that runs is generally referred to as firmware or operating system software. This software is specifically designed to manage the hardware functions of the network devices and provide routing/switching capabilities. Here are some examples of the code and systems commonly used in networking devices:

  1. Router Operating Systems:

    • Cisco IOS (Internetwork Operating System): A widely used operating system for Cisco routers and switches, known for its robustness and extensive feature set.
    • Juniper Junos: Used in Juniper Networks devices, offering a modular architecture and a unified management approach.
    • Mikrotik RouterOS: A Linux-based operating system that provides routing, firewall, bandwidth management, and more functionalities.
  2. Switch Operating Systems:

    • Cisco IOS: Also used in Cisco switches, providing Layer 2 and Layer 3 switching capabilities.
    • Arista EOS (Extensible Operating System): A Linux-based operating system designed for high-performance switching in data centers.
    • HP ProCurve OS: Used in HP switches, offering features tailored for enterprise network switching.
  3. Network Device Management Code:

    • Open Network Install Environment (ONIE): An open-source project that allows network devices to install network operating systems.
    • Open vSwitch (OVS): A multilayer virtual switch used to create network functionality within virtualized environments.
  4. Open Source Operating Systems:

    • FRRouting (FRR): An IP routing protocol suite for Linux and Unix platforms, providing routing capabilities for various protocols.
    • OpenWrt: An open-source firmware primarily for embedded devices, commonly used in routers.

These operating systems manage various functions such as routing protocols (BGP, OSPF), switching mechanisms (VLANs, STP), Quality of Service (QoS), security features (ACLs, firewalls), and network management tasks (SNMP, syslog). The exact code and features available will vary based on the specific hardware and vendor technology.