CSE398: Network Systems Design

Similar documents
CSE398: Network Systems Design

ECE 697J Advanced Topics in Computer Networks

CSE398: Network Systems Design

CSE398: Network Systems Design

Lecture 3. The Network Layer (cont d) Network Layer 1-1

CSE398: Network Systems Design

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

Router Architectures

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

The Network Layer and Routers

BROADBAND AND HIGH SPEED NETWORKS

Internet Protocols (chapter 18)

Introduction to ATM Technology

CSE 3214: Computer Network Protocols and Applications Network Layer

Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai

Lecture 8. Network Layer (cont d) Network Layer 1-1

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including

Lecture 16: Network Layer Overview, Internet Protocol

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

Chapter 4 Network Layer: The Data Plane

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table

Packet Switch Architectures Part 2

PART X. Internetworking Part 1. (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution)

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Local Area Networks (LANs): Packets, Frames and Technologies Gail Hopkins. Part 3: Packet Switching and. Network Technologies.

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

EE 122: Router Design

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including

IP: Addressing, ARP, Routing

Chapter Motivation For Internetworking

IV. PACKET SWITCH ARCHITECTURES

Last time. BGP policy. Broadcast / multicast routing. Link virtualization. Spanning trees. Reverse path forwarding, pruning Tunneling

CSCI Computer Networks

Homework 1. Question 1 - Layering. CSCI 1680 Computer Networks Fonseca

CSCE 463/612 Networks and Distributed Processing Spring 2018

SEN366 (SEN374) (Introduction to) Computer Networks

Reminder: Datalink Functions Computer Networking. Datalink Architectures

CSC 4900 Computer Networks: Network Layer

ET4254 Communications and Networking 1

1-1. Switching Networks (Fall 2010) EE 586 Communication and. October 25, Lecture 24

Network Layer: Router Architecture, IP Addressing

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Chapter 4 Network Layer

Switching. An Engineering Approach to Computer Networking

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

ECE 158A: Lecture 7. Fall 2015

Lecture 16: Router Design

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Objectives. Chapter 10. Upon completion you will be able to:

Using Time Division Multiplexing to support Real-time Networking on Ethernet

CSE302: Compiler Design

Network Layer PREPARED BY AHMED ABDEL-RAOUF

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

internet technologies and standards

CIS 632 / EEC 687 Mobile Computing

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Lab Using Wireshark to Examine Ethernet Frames

CSC 401 Data and Computer Communications Networks

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca


ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

LS Example 5 3 C 5 A 1 D

Introduction to Internetworking

Lab Using Wireshark to Examine Ethernet Frames

Network Layer: outline

Router Architecture Overview

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

TCP /IP Fundamentals Mr. Cantu

Chapter 11. User Datagram Protocol (UDP)

Where we are in the Course

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 1.

Trade Offs in the Design of a Router with Both Guaranteed and Best-Effort Services for Networks on Chip

Network Layer: Control/data plane, addressing, routers

The IP Data Plane: Packets and Routers

Topics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1,

Switching CHAPTER 8. Solutions to Review Questions and Exercises. Review Questions

TOC: Switching & Forwarding

Chapter 4: network layer

ECE 650 Systems Programming & Engineering. Spring 2018

INTRODUCTORY COMPUTER

CMSC 332 Computer Networks Network Layer

Introduction... xiii Chapter 1: Introduction to Computer Networks and Internet Computer Networks Uses of Computer Networks...

A MULTIPROCESSOR SYSTEM. Mariam A. Salih

Networks. an overview. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. February 4, 2008

Computer Networks. Instructor: Niklas Carlsson

EE 610 Part 2: Encapsulation and network utilities

Key Network-Layer Functions

Tutorial 9. SOLUTION Since the number of supported interfaces is different for each subnet, this is a Variable- Length Subnet Masking (VLSM) problem.

Chapter 6 Delivery and Routing of IP Packets

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Routers Technologies & Evolution for High-Speed Networks

Chapter 4: Network Layer

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Advanced Network Design

ICS 351: Networking Protocols

Transcription:

CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University March 14, 2005

Outline Classification & forwarding (Chapter 9) Switching fabrics (Chapter 10) Summary and homework

Recall: Packet Demultiplexing Used with layered protocols Packet proceeds through one layer at a time (inefficient) On input, software in each layer chooses module at next higher layer On output, type field in each header specifies encapsulation Inefficient b/c sequential processing among layers

Packet Classification Alternative to demultiplexing for higher speed Considers all layers at the same time Linear in number of fields Two possible implementations Software Hardware

Example Classification Classify Ethernet frames carrying traffic to Web server Specify exact header contents in rule set Example Ethernet type field specifies IP: IP type field specifies TCP: 2-octet IP type is 6 TCP destination port specifies Web server: 2-octet TCP destination port is 80

Illustration of Encapsulated Headers

Software Implementation of Classification Compare values in header fields Conceptually a logical and of all field comparisons Example if ( (frame type == 0x0800) && (IP type == 6) && (TCP port == 80) ) declare the packet matches the classification; else declare the packet does not match the classification; Optimization?

Optimizing Software Classification Comparisons performed sequentially reorder comparisons to minimize effort Assume 95.0% of all frames have frame type 0800 16 87.4% of all frames have IP type 6 74.3% of all frames have TCP port 80 Values 6 and 80 do not occur in corresponding positions in non-ip packet headers Reordering tests can optimize processing time if ((TCP port == 80) && (IP type == 6) && (frame type == 0x0800)) declare the packet matches the classification; else declare the packet does not match the classification; At each step, test the field that will eliminate the most packets

Hardware Implementation of Classification Can build special-purpose hardware Hardware can operate in parallel Extract needed fields Concatenate bits Place result in register Perform comparison Constant for Web classifier 08.00.06.01.50 16

Special Cases Of Classification Multiple categories Classification usually involves multiple categories Packets grouped together into flows May have a default category Each category specified with a rule set Variable-size headers Dynamic classification

Example Multi-Category Classification Flow 1: traffic destined for Web server Flow 2: traffic consisting of ICMP echo request packets Flow 3: all other traffic (default)

Rule Sets Web server traffic 2-octet Ethernet type is 0800 16 2-octet IP type is 6 2-octet TCP destination port is 80 ICMP echo traffic 2-octet Ethernet type is 0800 16 2-octet IP type is 1 1-octet ICMP type is 8 if (frame type!= 0x0800) { send frame to flow 3; } else if (IP type == 6 && TCP destination port == 80) { send packet to flow 1; } else if (IP type == 1 && ICMP type == 8) { send packet to flow 2; } else { send frame to flow 3; }

Variable-Size Packet Headers Fields not at fixed offsets Easily handled with software Finite cases can be specified in rules Each variable-size header adds one computation step In worst case, classification no faster than demultiplexing

Hybrid Classification Combines hardware and software mechanisms Hardware used for standard cases Software used for exceptions

Basic Types of Classification Static Flows specified in rule sets Header fields and values known a priori Example? Dynamic Flows created by observing packet stream Values taken from headers Allows fine-grain flows Requires state information Example:?

Forwarding and Flow Classification: packet flow Classification binding is usually 1-to-1 Forwarding Destination address packet disposition Flow packet disposition Forwarding binding can be 1-to-1 or many-to-1 Flow identification Fine-grain flow creation

Forwarding In a connection-oriented network Flow identifiers connection identifiers Efficient forwarding In a connectionless network Route for flow determined when flow created Indexing used in place of route lookup Flow identifier corresponds to index of entry in forwarding cache Forwarding cache must be changed when route changes

Second Generation Network Systems Designed for greater scale Use classification instead of demultiplexing Decentralized architecture Additional computational power on each NIC NIC implements classification and forwarding High-speed internal interconnection mechanism Interconnects NICs Provides fast data path

Outline Classification & forwarding (Chapter 9) Switching fabrics (Chapter 10) Summary and homework

Interconnection Physical interconnection Physical box with backplane Individual blades plug into backplane slots Each blade contains one or more network connections Logical interconnection Known as switching fabric Handles transport from one blade to another Becomes bottleneck as number of interfaces scales

Illustration of Switching Fabric Any input port can send to any output port

Switching Fabric Properties Used inside a single network system Interconnection among I/O ports (and possibly CPU) Can transfer unicast, multicast, and broadcast packets? Scales to arbitrary data rate on any port? Scales to arbitrary packet rate on any port? Scales to arbitrary number of ports? Has low overhead? Has low cost?

Types of Switching Fabrics Space-division (separate paths) Time-division (shared medium)

Space-Division Fabric (separate paths) Can use multiple paths simultaneously Still have port contention

Goals and Solutions High speed and low cost Separation of physical paths Less parallel hardware Crossbar design

Space-Division (Crossbar Fabric) Allows simultaneous transfer on disjoint pairs of ports Can still have port contention

Crossbar Fabric with Queuing Solving contention Queues (FIFOs) Attached to input Attached to output At intermediate points

Time-Division Fabric (shared bus) Chief advantage: low cost Chief disadvantage: low speed

Time-Division Fabric (shared memory) May be better than shared bus Usually more expensive

Multi-Stage Fabrics Compromise between pure timedivision and pure space-division Attempt to combine advantages of each Lower cost from time-division Higher performance from space-division Technique: limited sharing

Banyan Fabric Example of multi-stage fabric Features Scalable Self-routing Packet queues allowed, but not required Basic building block Address added to front of each packet One bit of address used to select output

4-Input and 8-Input Banyan Switches

Outline Classification & forwarding (Chapter 9) Switching fabrics (Chapter 10) Summary and homework Classification & forwarding Switching fabric Two basic approaches Time-division has lowest cost Space-division has highest performance Multistage designs compromise between two Banyan fabric

Homework (due on 03/21) 8.1. (a) Problem 2 of Chapter 8 (Page 115); (b) List two protocols that uses raw sockets for their implementation. 8.2. Problem 9 of Chapter 10 (page 157; also refer to the graph in the slide#32) Question that does not need to be handed in: How Banyan fabric compromises between the time-division and space-division fabric designs?