L6: Network Hardware and SoftwareECE 544: Computer Networks IISpring 2011Network Hardware BasicsStandards Availability of interoperable equipment from multiple vendors Prevents a “Tower of Babel” situation Equipment from different vendors will interoperate if it complies with the standard Alliances and certification bodies assure interoperability Wi-Fi for 802.11 WiMax for 802.16 Lowers costs to consumers Both through competition and economies of scale Promotes advancement of technology Vendors constantly strive for competitive advantage through improved technology and featuresIEEE 802 StandardsMaintained by IEEE 802 LAN/MAN Standards Committee (LMSC): 802.1 Overview, Architecture, Internetworking and Management 802.2 Logical Link Control 802.3 Ethernet (CSMA/CD PHY and MAC) 802.5 Token Ring PHY and MAC 802.11 Wireless LAN 802.12 Demand Priority Access 802.15 Wireless PAN 802.16 Broadband Wireless Access 802.17 Resilient Packet Ring 802.18 Radio Regulatory 802.19 Coexistence 802.20 Mobile Broadband Wireless Access 802.21 Media Independent Handoff 802.22 Wireless Regional Area NetworkIEEE 802 Naming Conventions Standalone documents either get no letter (IEEE 802.3) or gets a capital letter (IEEE 802.1D) Document that supplements a standalone document gets a lower-case letter (IEEE 802.11b) Letters are assigned in sequential order (a,B,C,d,e …) and uniquely identify both the Working Group Task Force and the actual document Approved standards have IEEE in front while drafts have P only designation followed by the draft number (P802.1p/D9)802.1 802.1B Management 802.1D MAC Bridges 802.1E System Load Protocol 802.1F Common Definitions for Management 802.1G Remote MAC Bridging 802.1H Bridging of Ethernet 802.1Q Virtual Bridged LANsTerminologyPHY LayerHeaderEthernetHeaderIPHeaderTCPHeaderDataEthernetTrailerPHY LayerTrailerTCP SegmentEthernet FrameIP PacketFast Ethernet Symbol StreamSource: Seifert “The switch Book”PDU Interconn. DeviceApplicationGatewayPresentationSessionTransport Segment or MessageFirewall Network PacketRouter Data Link FrameBridgePhysical Symbol StreamRepeaterRouter Hardware History Mid 1980s (early days): Shared LANs interconnected by bridges Two port software based routers Late 1980s – early 1990s (rapid expansion for router market) Slower than bridges but have much more functions “Route when you can, bridge when you must” Early – mid 1990s (routers as necessary evils) Hardware based bridges (switches) with wire-speed performance “Switch when you can, route when you must” Late 1990s Hardware based routers become practical Wire-speed routing Perception that all traffic can be switchedDevices Repeaters/Hubs Bridges (Layer 2 Switches?) Routers (Layer 3 Switches?) Core Edge Firewalls, Network Address Translators (Layer 4 Switches?) Gateways, Load Balancers (Layer 7 Switches?)Basic Building BlocksSwitchingForwardingTableRoutingTableRouting ProtocolsManagement& CLISoftwareHardwareExceptionProcessingControl PlaneData Plane(per-packet processing)Generic Datapath ArchitectureLookupIP AddressUpdateHeaderHeader ProcessingData Hdr Data HdrForwardingTableIP Address Next HopQueuePacketBufferMemorySwitch/Router HardwareMediaInterfaceLink ProtocolControllerHeaderProcessingPort 1 (Line Card)Port N (Line Card)…Port 2Switch FabricProcessor{s}Requirements Distributed Data Plane Packet Processing: Examine L2-L7 protocol information (Determine QoS, VPN ID, policy, etc.) Packet Forwarding: Make appropriate routing, switching, and queuing decisions Performance: At least sum of external BW Distributed Control Plane Up to 106 entries in various tables (forwarding addresses, routing information etc.) Performance: on the order of 100 MIPSSwitch Fabric Connects inputs and outputs Fabric types: Shared Bus – shared backplane with or without DMA (first and second generation routers) – arbitration problem Shared Memory – single common memory is shared between multiple input outputs (typically used in low-cost devices) – memory bandwidth problem Shared Interconnect (Crossbar) – switching fabric provides parallel paths. Scheduler is centralized; routing tables are kept in the line cards (third generation routers) – multicast problemQueuingOutput queuePros: Simple algorithms Single congestion pointCons: N inputs may send to the same output; requires N times speedupInput queuePros: Simple algorithms Single congestion pointCons: Must implement flow control Low utilization due to HoL BlockingModern routersCombine input buffering with virtual output queues (separate input queue per output) and use output buffering Solves blocking problem Resolves contention and simplifies scheduling Can achieve utilization of 1 Scales to > 1 TbpsCrossbar switch for distributed forwardingIncreases complexity (as well as introduces multiple congestion points)Table SRAMFwd/Class TCAMsRTT Buffer Mem (1GB)+ pointer SRAMDistributed Memory Router Line CardInputQueuingReceiveFwdEngineControlCPU MemControlLinecardControlCPUFabricRe-Assem.TransmitFwdEngineOutputQueuingL2 BufferingOpticsToFabricFromFabricFramerRTT Buffer Mem (1GB)+ pointer SRAMTable SRAMFwd/Class TCAMs512+MB DRAMFrom CISCOSwitched LAN Modern switches - LAN Segmentation taken to the extreme (microsegmentation): No access contention No collisions (full-duplex) Dedicated bandwidth for each station No distance reduction per segment Best case capacity (non-blocking switch)nportportDataRateCapacity1Store-and-forwardThe frame (packet,message) is received completely before decision is madeCut-troughTable lookup and forwarding decision is made as soon as “Destination” has been receivedCut-Trough vs. Store-and-Forward Absolute latency (not that much affected by the lookup process) Problem with output port availability Cut-trough is generally not possible for multicast or unknown destination (all output ports have to be available simultaneously)Performance Requirements•In general header inspection and packet forwarding require complex look-ups on a per packet basis resulting in up to 500 instructions per packet•At 40Gbps processing requirements are > 100 MPPSRate[Mbps]OverheadPeak packet rate [Kpps]Time per packet [µs]small large10Base-T10.00 38 [Bytes] 19.5 51.20
View Full Document