CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Similar documents
CS 43: Computer Networks. 20: The Network Layer November 5, 2018

CS 43: Computer Networks The Link Layer. Kevin Webb Swarthmore College November 28, 2017

Communications Software. CSE 123b. CSE 123b. Spring Lecture 2: Internet architecture and. Internetworking. Stefan Savage

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

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

Network layer overview

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Where we are in the Course

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

CSE 3214: Computer Network Protocols and Applications Network Layer

CSE 123b Communications Software

CMSC 332 Computer Networks Network Layer

Welcome (day 2) CSE 123b Communications Software. Application layer (HTTP) Application layer? Name resolution (DNS) Transport layer (TCP)

CSEP 561 Internetworking. David Wetherall

Chapter 4 Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2018

Lecture 7. Network Layer. Network Layer 1-1

Computer Networks. Instructor: Niklas Carlsson

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

CSC 401 Data and Computer Communications Networks

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

Introduction to Internetworking

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

Communication Networks - 3 general areas: data communications, networking, protocols

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

Networking and Internetworking 1

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

Lecture 8: Networks to Internetworks

4.2 Virtual Circuit and Datagram Networks

CS 678 Spring 2013 Network Architecture and Principles

Lecture 10: Internetworking"

Internet Architecture. CPS 214 (Nick Feamster) January 14, 2008

Chapter 4: network layer

Network Layer: Control/data plane, addressing, routers

Internet Architecture and Experimentation

19: Networking. Networking Hardware. Mark Handley

Switching / Forwarding

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

Goal of Today s Lecture. EE 122: Designing IP. The Internet Hourglass. Our Story So Far (Context) Our Story So Far (Context), Con t

cs144 Midterm Review Fall 2010

Networking and Internetworking 1

CSCD 330 Network Programming

CS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018

Lecture 2: Internet Architecture

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

CS4700/5700: Network fundamentals

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

Part 1: Introduction. Goal: Review of how the Internet works Overview

IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching

Network Layer: outline

CS164 Final Exam Winter 2013

ECE 158A: Lecture 7. Fall 2015

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

Chapter 4 Network Layer

Lecture 2: Internet Structure

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

Architectural Principles

The Network Layer and Routers

TCP/IP THE TCP/IP ARCHITECTURE

EEC-484/584 Computer Networks

Introduction to computer networking

Network Architecture COS 461: Computer Networks

TCP/IP and the OSI Model

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

CSCI Computer Networks Fall 2016

Key Network-Layer Functions

CS 3516: Advanced Computer Networks

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

CS 598: Advanced Internet

TCP/IP Architecture. Brighten Godfrey CS 538 January 24, slides by Brighten Godfrey unless otherwise noted

CS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017

Review on The Design Philosophy of the DARPA Internet Protocols by David D. Clark. Presented by : Daminda Perera 16/02/2008

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Revision of Previous Lectures

Network Protocols and Architectures

Network layer: Overview. Network Layer Functions

COMP/ELEC 429/556 Introduction to Computer Networks

Networking Background

ECE 650 Systems Programming & Engineering. Spring 2018

Router Router Microprocessor controlled traffic direction home router DSL modem Computer Enterprise routers Core routers

CMSC 611: Advanced. Interconnection Networks

Chapter 11: Wide-Area Networks and the Internet

Internetworking I: Basics. November 11, 1999

Data & Computer Communication

Business Data Communications and Networking

Design Principles : Fundamentals of Computer Networks Bill Nace

1 Connectionless Routing

Outline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems

Administrivia CSC458 Lecture 4 Bridging LANs and IP. Last Time. This Time -- Switching (a.k.a. Bridging)

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

Lecture 2: Layering & End-to-End

Raj Jain. The Ohio State University Columbus, OH

Internet Routing. Review of Networking Principles. What s the Internet: nuts and bolts view. Communication links

Internet Routing. Review of Networking Principles

Operating Systems CS 571

Local Area Networks; Ethernet

Design Considerations : Computer Networking. Outline

internet technologies and standards

Transcription:

CS 43: Computer Networks The Network Layer Kevin Webb Swarthmore College November 2, 2017

TCP/IP Protocol Stack host host HTTP Application Layer HTTP TCP Transport Layer TCP router router IP IP Network Layer IP IP Ethernet interface Ethernet interface SONET SONET interface Link Layer interface Ethernet interface Ethernet interface

Some background 1968: DARPAnet/ARPAnet (precursor to Internet) (Defense) Advanced Research Projects Agency Network Bob Taylor, Larry Roberts create program to build first wide-area packet-switched network Mid 1970 s: new networks emerge SATNet, Packet Radio, Ethernet All islands to themselves didn t work together Big question: how to connect these networks?

Internetworking Cerf & Kahn, in 1974, A Protocol for Packet Network Intercommunication Foundation for the modern Internet Routers forward packets from source to destination May cross many separate networks along the way All packets use a common Internet Protocol Any underlying data link protocol Any higher layer transport protocol

DARPAnet Primary Goal: Connect Stuff Effective technique for multiplexed utilization of existing interconnected networks David Clark (1988) Minimal assumptions about underlying networks No support for broadcast, multicast, real-time, reliability Extra support could actually get in the way Packet switched, store and forward Matched application needs, nets already packet switched Enables efficient resource sharing/high utilization Gateways interconnect networks Routers in today s nomenclature

Internet Protocol Stack Application: Email, Web, Transport: TCP, UDP, Network: IP Link: Ethernet, WiFi, ATM, Physical: copper, fiber, air, Email Web UDP TCP IP Ethernet ATM Hourglass model, thin waist, narrow waist

Internet Protocol Stack This should seem weird. Everyone uses IP? Email UDP IP Web TCP Ethernet ATM Hourglass model, thin waist, narrow waist

Example of Internet Routing X Z A Y B SMTP SMTP TCP TCP IP IP IP IP IP Link Link Link Link Link Physical Physical Physical Physical Physical A X Y Z B Network layer involved at every hop along the path.

Network Layer Functions Forwarding: move packets from router s input to appropriate router output ( data plane ) Routing: determine route taken by packets from source to destination. ( control plane )

When should a router perform routing? Forwarding? A. Do both when a packet arrives. B. Route in advance, forward when a packet arrives. C. Forward in advance, route when a packet arrives. D. Do both in advance. E. Some other combination

Network Layer Functions Forwarding: move packets from router s input to appropriate router output Look up in a table Routing: determine route taken by packets from source to destination. Populating the table

Interplay between routing and forwarding routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 routing algorithm determines end-end-path through network forwarding table determines local forwarding at this router value in arriving packet s header 0111 1 3 2 Each packet is forwarded independently. Does it have to be that way?

Circuit Switching Reserve path in advance A B (Old) telephone system

Why doesn t the Internet (typically) use circuits? A. It s too slow to establish a connection. B. It doesn t offer good enough performance. C. It wastes resources. D. It requires too many resources. E. Some other reason.

Packet Switching Do we always need to reserve a link? Statistical multiplexing Assign multiple conversations to a physical path At any given time, one will have something to say A B Keep link busy

Which of the following is/are generally true of packet vs. circuit switching? 1. Packet switching has less variance in performance. 2. Circuit switching is less reliable. A. Only 1 is true. B. Only 2 is true. C. Both 1 and 2 are true. D. Neither 1 nor 2 are true.

Circuit-switching vs. Packet switching A B A B Circuit switching: establish path, send data Reserve resources, provide performance control Example: telephone system Packet switching: forward packets hop by hop Fair sharing despite bursts, statistical multiplexing Example: postal system

Datagram vs. Virtual Circuit Datagram network provides network-layer connectionless service (packet switching) Virtual-circuit network provides network-layer connection service (like circuit switching)

Virtual circuits: Signaling Protocols Used to setup, maintain, teardown VC Used in ATM, frame-relay, X.25 Less common in today s Internet application transport network data link physical 5. data flow begins 6. receive data 4. call connected 3. accept call 1. initiate call 2. incoming call application transport network data link physical

Datagram Networks No call setup at network layer Routers: no state about end-to-end connections no network-level concept of connection Packets forwarded individually towards destination application transport network data link physical 1. send datagrams 2. receive datagrams application transport network data link physical

How do we populate a router s forwarding table? A. A person adds entries to the table. B. A program external to the router adds entries to the table. C. Routers communicate with each other to add entries to the table. D. Some other mechanism.

Routing Traditional Routers run a routing protocol to exchange state. Use state to build up the forwarding table. Assume this is the type of routing we re talking about unless we explicitly say otherwise!

Routing Traditional Routers run a routing protocol to exchange state. Software-Defined Routers are dumb, just do what they re told. Use state to build up the forwarding table. Controller service explicitly tells each router what to do. Rare on the Internet, hot topic in data centers.

Datagram Forwarding Routers periodically exchange state. Use the state to build a forwarding table (FIB)

Datagram forwarding table routing algorithm local forwarding table dest address output link? 3 2 2 1 IP destination address in arriving packet s header 1 3 2

Routers exchange state (we ll save the what and when for later). They decide, for each destination, how to get there, and build a lookup structure. What should they build? A. A list scan for the destination. B. A hash table look up the destination. C. A tree Follow branches that lead to the destination. D. Some other software structure. E. We can t do this in software, we need special hardware.

Datagram forwarding table routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 4 billion IP addresses, so rather than list individual destination address list range of addresses (aggregate table entries) IP destination address in arriving packet s header 1 3 2

Datagram forwarding table Destination Address Range 11001000 00010111 00010000 00000000 through 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 11001000 00010111 00011111 11111111 Otherwise (default gateway) Link Interface 0 1 2 3 Q: but what happens if ranges don t divide up so nicely?

Longest prefix matching longest prefix matching when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address. examples: Destination Address Range 11001000 00010111 00010*** ********* 11001000 00010111 00011000 ********* 11001000 00010111 00011*** ********* Otherwise (default gateway) DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011000 10101010 Link interface 0 1 2 3 which interface? which interface?

Coming up in ~1 week. Routing Traditional Routers run a routing protocol to exchange state. Software-Defined Routers are dumb, just do what they re told. Use state to build up the forwarding table. Controller service explicitly tells each router what to do. Rare on the Internet, hot topic in data centers.

Software-Defined Networking (SDN) Traditional Hardware SDN Hardware You Can t read this, it s too small! Seriously, stop trying to read this, more important things are happening elsewhere! You Can t read this, it s too small! Seriously, stop trying to read this, more important things are happening elsewhere! Left Right You Can t read this, it s too small! Seriously, stop trying to read this, more important things are happening elsewhere! 35

Software-Defined Networking (SDN) Traditional Hardware SDN Hardware Right Left Right You Can t read this, You it s Can t read this, it s too small! Seriously, too small! Seriously, stop trying to read this, stop trying to read this, more important things more important things are happening are happening elsewhere! elsewhere! Controller 36

Summary Forwarding: moving packet from one interface to another (table lookup) Routing: Populating the table in advance On the Internet, best effort packet switching is the norm Hardware helps with quick forwarding using longest prefix matching