High-speed and Programmable Networks ECE/CS598HPN Instructor: - - PowerPoint PPT Presentation

high speed and programmable networks
SMART_READER_LITE
LIVE PREVIEW

High-speed and Programmable Networks ECE/CS598HPN Instructor: - - PowerPoint PPT Presentation

High-speed and Programmable Networks ECE/CS598HPN Instructor: Radhika Mittal Evolution of Computer Networks 1876: Alexander Graham Bell invented telephone. Evolution of Computer Networks 1876: Alexander Graham Bell invented telephone. Such a


slide-1
SLIDE 1

High-speed and Programmable Networks

ECE/CS598HPN

Instructor: Radhika Mittal

slide-2
SLIDE 2

Evolution of Computer Networks

1876: Alexander Graham Bell invented telephone.

slide-3
SLIDE 3

Evolution of Computer Networks

Such a design cannot scale!

1876: Alexander Graham Bell invented telephone.

slide-4
SLIDE 4

Evolution of Computer Networks

Soon evolved to Public Switched Telephone Network.

Telephone Exchange Trunk

slide-5
SLIDE 5

Evolution of Computer Networks

Earliest circuit-switched network Manually operated!

slide-6
SLIDE 6

Evolution of Computer Networks

Earliest circuit-switched network Manually operated!

Strowger’s competitor’s wife

slide-7
SLIDE 7

Evolution of Computer Networks

1889: AB Strowger invents first mechanical circuit switch.

Earliest mechanical circuit-switched network!

slide-8
SLIDE 8

Evolution of Computer Networks

Earliest mechanical circuit-switched network

slide-9
SLIDE 9

Evolution of Computer Networks

Circuit switching is wasteful!

X X

slide-10
SLIDE 10

Evolution of Computer Networks

Packet switching is designed:

1959(Paul Baran), 1961(Leonard Kleinrock), 1965 (Donald Davies).

slide-11
SLIDE 11

Evolution of Computer Networks

  • Simultaneously, growing interest in connecting computers.
  • Lawrence Roberts meets Davies’ teammate at 1967 SOSP

, and decides to use packet-switching for a network to connect computers.

  • Roberts, Davies, Kleinrock, and Baran get together to

design ARPANET.

slide-12
SLIDE 12

Evolution of Computer Networks

1969: ARPANET is developed.

slide-13
SLIDE 13

Evolution of Computer Networks

Early1970’s: Vint Cerf develops NCP for transport and addressing.

slide-14
SLIDE 14

Evolution of Computer Networks

1973: European nodes added to ARPANET. The term Internet is born.

slide-15
SLIDE 15

Evolution of Computer Networks

  • mid-1970’s: Vint Cerf and Bob Kahn develop TCP/IP

, separating reliability from addressing.

  • 1983: NCP becomes obsolete; all nodes switch to TCP/IP (flag day).
  • Late 1970’s: More scalable routing protocols was developed.
  • 1980: Link-state routing protocol was proposed.
  • 1986: Series of congestion collapse; congestion control added to TCP

.

  • More interconnected networks emerge (Internet grows).
  • Early 1990’s: BGP introduced for inter-domain routing.
slide-16
SLIDE 16

Since then, for many years….

  • No fundamental change in how we operate and use networks.
  • Distributed management of hardware switches.
  • Packet switching with store-and-forward design.
  • Endhost implements a TCP/IP stack in the kernel.
  • Innovations in:
  • Transmission technology: wireless, cellular, more bandwidth.
  • Applications: HTTP

, TLS, SSL, DNS.

  • Specific details: Congestion control algorithms, hierarchical

addressing, etc.

slide-17
SLIDE 17

But, changes have emerged in the last decade... This course tells the story of these changes.

slide-18
SLIDE 18

Key enablers of the changes

  • Increasing scale:
  • greater need to make networks easier to manage.
  • More functionality:
  • greater need to make networks more evolvable.
  • Commercialization:
  • greater emphasis on performance.
slide-19
SLIDE 19

Key enablers of the changes

Emergence of large private networks.

slide-20
SLIDE 20

In this course…

  • What changes have been made to the networking

infrastructure in the last decade?

  • Why were the changes introduced?
  • What do these changes enable?
slide-21
SLIDE 21

In this course…

  • Week 1: Review relevant concepts.
  • Week 2: Historical perspective.
  • Week 3-8: Switching infrastructure.
  • Week 8-12: Endhost infrastructure.
  • Week 13: Beyond switches and endhosts.
slide-22
SLIDE 22

In this course…

  • Week 1: Review relevant concepts.
  • Week 2: Historical perspective.
  • Week 3-8: Switching infrastructure.
  • Week 8-12: Endhost infrastructure.
  • Week 13: Beyond switches and endhosts.
slide-23
SLIDE 23

Classical Papers

  • End-to-end arguments in system design.
  • The Design Philosophy of the DARPA Internet

Protocols.

  • Active networking.
slide-24
SLIDE 24

In this course…

  • Week 1: Review relevant concepts.
  • Week 2: Historical perspective.
  • Week 3-8: Switching infrastructure.
  • Week 8-12: Endhost infrastructure.
  • Week 13: Beyond switches and endhosts.
slide-25
SLIDE 25

Software-Defined Networking

  • Philosophy
  • Individual switches focus on forwarding packets (data plane).
  • A centralized controller manages the switches (control plane).
  • Enabling technology
  • OpenFlow, SDN controllers.
  • Usecases
  • Google’s software-defined WAN (B4), among others.

Limitation: switches can perform a limited set of actions, based on a fixed set of packet headers.

slide-26
SLIDE 26

Programmable Data Plane

  • Programmable switching hardware
  • Reconfigurable match-action tables
  • Language to program the hardware
  • P4
  • Usecases
  • Networking functionality: telemetry, multicast, …
  • Others: caching, application-level load balancing, …
  • Design and implementation of a software data plane.
slide-27
SLIDE 27

Other aspects of packet forwarding

  • Flexible Packet Scheduling
  • Extensible Internet Architecture
slide-28
SLIDE 28

In this course…

  • Week 1: Review relevant concepts.
  • Week 2: Historical perspective.
  • Week 3-8: Switching infrastructure.
  • Week 8-12: Endhost infrastructure.
  • Week 13: Beyond switches and endhosts.
slide-29
SLIDE 29

Host Network Stack

Standard kernel-based TCP stack is inefficient.

  • How do we optimize the kernel?
  • User-space network stack (e.g. over DPDK).
  • Offload network stack to hardware NIC (RDMA)
slide-30
SLIDE 30

Smart NICs

  • Common to offload various functionality to NICs for

achieving better performance.

  • Such hardware offloads limit flexibility.
  • NICs can often be resource constrained.
  • Software NIC to augment hardware.
  • NICs equipped with FPGAs.
  • NICs with multi-core SoC.
slide-31
SLIDE 31

Systems built and used in industry

  • Google’s SNAP (unified host networking solution)
  • Microsoft’s VFP (framework for network virtualization)
  • Microsoft’s AccelNet (offloading VFP to an FPGA-based

smart NIC)

slide-32
SLIDE 32

In this course…

  • Week 1: Review relevant concepts.
  • Week 2: Historical perspective.
  • Week 3-8: Switching infrastructure.
  • Week 8-12: Endhost infrastructure.
  • Week 13: Beyond switches and endhosts.
slide-33
SLIDE 33

Beyond Switches and Endhosts

  • Middleboxes and Network Function Virtualization.
  • Cellular Infrastructure (5G)
  • Network Edge
slide-34
SLIDE 34

A recurring theme

Tussle between performance (high-speed) and programmability.

slide-35
SLIDE 35

Logistics

slide-36
SLIDE 36

Course Website

https://courses.engr.illinois.edu/ece598hpn/fa2020/ https://courses.engr.illinois.edu/cs598hpn/fa2020/

slide-37
SLIDE 37

Office Hours

  • Tuesdays 2pm-3pm.
  • Zoom link on course website.
  • Meet by appointment: radhikam@illinois.edu.
slide-38
SLIDE 38

Reading assignments (30%)

  • Each class: one full-length paper or two half-length papers.
  • Submit by 9pm the day before:
  • 3-4 lines of summary.
  • 2 reasons why you would accept the paper.
  • 2 reasons why you would reject the paper.
  • One follow-up idea
  • Extension, weaker assumption, usecase.
  • Submit via Google Forms (link on course website).
  • 3 skips allowed (partial submission will be counted as a skip).
  • A submission that is late by more than12hrs is counted as a skip.
  • Three late submissions (within 12hrs of deadline) counted as a skip.
slide-39
SLIDE 39

Course Project (50%)

  • Research style project in groups of up to two.
  • Week 2: I’ll provide general pointers on project ideas.
  • Week 5: Project proposals due.
  • Week 8: First progress report.
  • Week 11: Second progress report due.
  • Week 15: Final paper and presentation.
slide-40
SLIDE 40

Warm-up assignments (10%)

  • Three simple assignments to introduce different

networking tools to you.

  • Team up with a partner and be each-other’s TA.
  • Submit a brief evaluation report for your partner.

Class Participation (10%)

  • Actively engage in class discussions.
slide-41
SLIDE 41

Questions?