CS 3640: Introduction to Networks and Their Applications Fall 2018, - - PowerPoint PPT Presentation

cs 3640 introduction to
SMART_READER_LITE
LIVE PREVIEW

CS 3640: Introduction to Networks and Their Applications Fall 2018, - - PowerPoint PPT Presentation

CS 3640: Introduction to Networks and Their Applications Fall 2018, Lecture 1: The Internet Layers Instructor: Rishab Nithyanand Teaching Assistant: Md. Kowsar Hossain 1 Today in class 1. 2. 3. Where do I get What is the What does this


slide-1
SLIDE 1

1

CS 3640: Introduction to Networks and Their Applications

Fall 2018, Lecture 1: The Internet Layers Instructor: Rishab Nithyanand Teaching Assistant: Md. Kowsar Hossain

slide-2
SLIDE 2

2

Today in class

1.

Where do I get help? What is the Internet? What does this course look like?

2. 3.

slide-3
SLIDE 3

3

Where do I get…

  • Administrivia, slides, logistics,

assignments, references, and policies?

  • Class website (https://www.rishabn.com/cs3640-f18)
slide-4
SLIDE 4

4

Where do I get…

  • Support, discussion, etc.?
  • Class forum on Piazza

(http://piazza.com/uiowa/fall2018/cs3640)

  • Meet me after class if you don’t have an invite yet.
slide-5
SLIDE 5

5

Rules of engagement: Seating

  • Occupy the front rows. Let there be

no gaps in seating.

  • You will be asked to interact with the

people around you in class.

slide-6
SLIDE 6

6

Rules of engagement: Interaction

  • Ask questions!
  • I don’t want to get bored.
  • Answer questions!
  • I’ll wait until you do. I have no problem

with awkward silences.

slide-7
SLIDE 7

7

Rules of engagement: Electronics

  • Avoid using your phone, computer,
  • etc. (unless I ask you to)
  • I will post lecture slides and references
  • nline.
slide-8
SLIDE 8

8

Rules of engagement: Congeniality

  • Collaborate and be helpful.
  • You will need to work well with your peers

to do well in this class.

slide-9
SLIDE 9

9

Today in class

1.

Where do I get help? What is the Internet? What does this course look like?

2. 3.

slide-10
SLIDE 10

10

What is a network?

  • An arrangement of lines that connect points.

Node Node A B C Node Edge Edge Edge

slide-11
SLIDE 11

11

Examples and goals of a network

  • Goals: Resource sharing and communication.
  • Discuss: What makes a good network?
  • Well connected, high capacity, affordable, etc.
slide-12
SLIDE 12

12

What is a computer network?

  • A network of computing devices.
  • Nodes: Computing devices.
  • Edges: Transmission media.
  • Examples: Cellular networks, Wi-Fi, ethernets, etc.
slide-13
SLIDE 13

13

Computer networks

Each network uses a specific type of transmission media to interconnect a specific set of devices.

slide-14
SLIDE 14

14

What is the Internet?

The Internet is not a specific network. The Internet ties different networks together.

slide-15
SLIDE 15

15

What is the Internet?

  • The Internet facilitates communication

between many different networks.

  • It allows you (on a university ethernet network) to

talk to your friend (on a home Wi-Fi network).

slide-16
SLIDE 16

16

Design goals: Networks vs. Internet

  • Networks:
  • Speed, cost, reliability, etc.
  • Achieved through engineering.
  • How should this task get done?
  • Internet:
  • Interoperability, scalability, fault-tolerance, etc.
  • Achieved through architectural design.
  • What tasks have to get done? Who should do them?
slide-17
SLIDE 17

17

Let’s design a messaging app

  • Scenario: No “Internet”
  • Three users:
  • A on ethernet
  • B on Wi-Fi
  • C on cellular network
  • Discuss: How would you make this app? What

protocols would you have to implement?

slide-18
SLIDE 18

18

Let’s design a messaging app

  • You’d have to design a way for your app to use ethernet, Wi-Fi,

and cellular.

  • You’d have to design a way for your app to locate devices on

each network.

  • You’d have to keep adding new technology support and

maintain existing code.

  • Ugh! All of that sounds like a lot of work for every new app.

How does the Internet make this easier?

slide-19
SLIDE 19

19

The 4-layer Internet model

  • The Internet has a hierarchy of operations.
  • Examples of operations: writing to a medium, finding a

device in a network, etc.

  • Many of these are common to every app.
  • If we made the design modular, we could easily reuse

them.

  • If we made layers, each operation could go in a layer.
  • Each layer could provide this operation as a service to a

higher layer.

slide-20
SLIDE 20

20

The 4-layer Internet model

slide-21
SLIDE 21

21

The link layer

  • Links connect end devices (phones, laptops,

etc.) to network gateways (routers).

  • Links connect network gateways to each
  • ther.
  • The link layer is responsible for sending

packets over a link.

  • The link layer is used as a service by the

network layer.

slide-22
SLIDE 22

22

The link layer

  • The link layer carries the

packet over a single link.

  • All it does is deliver data to

the next hop.

  • Examples: Wi-Fi and ethernet

Source Destination Routers Packet/Header Link

slide-23
SLIDE 23

23

The network layer

  • The network layer provides an “end-to-

end” (source to destination) service.

  • It delivers packets from the source to the

destination.

  • Uses the link layer as a service.
  • How?
  • It figures out what the next hop should be and

tells the link layer to send it there.

  • It doesn’t care how.
slide-24
SLIDE 24

Network Link Network Link Transport Application Router

Source End-Host

Network Link Transport Application

Destination End-Host

Network Link Router

The network layer

slide-25
SLIDE 25

25

The network layer

  • There is only one network layer protocol for data delivery: The

Internet Protocol (IP).

  • It is the glue of the Internet. There is no Internet without IP.
  • Internet Control Message Protocol (ICMP) is only for error and diagnostic

functions.

  • IP makes no promises that datagrams will reach the destination :
  • uncorrupted.
  • in the order they were sent.
  • at all.
  • Discuss: Why would the Internet Protocol work this way?
slide-26
SLIDE 26

26

The transport layer

  • Interface between the application and the

network layer. It implements:

  • Reliable delivery, in-order delivery, congestion

detection, and congestion control (if required).

  • Discuss: Why wouldn’t these always be required?
  • Makes network communication appear like inter-

process communication for applications.

  • Examples: TCP (Transmission Control Protocol)

and UDP (User Datagram Protocol).

slide-27
SLIDE 27

27

The application layer

  • This is where the logic for your application goes.
  • Every app is different, but they all really only

need to use the network through the Transport layer abstraction.

  • You don’t have to write any code below this layer

to make an Internet application!

  • Developers are insulated from the constant evolution
  • f networking technology and protocols.
slide-28
SLIDE 28

Network Link Network Link Transport Application Router

Source End-Host

Network Link Transport Application

Destination End-Host

Network Link Router

Putting it all together

slide-29
SLIDE 29

Network Link Transport Application

Delivers data end-to-end. Best-effort delivery – provides no guarantees. Must use the Internet Protocol (IP). Delivers data over a single link between an end host and router, or between routers. What transport properties are required? Implements reliability, in-order delivery, congestion control. Logic of the Internet application. What should the app do? How can users interact with the app?

Summary of the 4-layer Internet model

slide-30
SLIDE 30

30

Let’s design a messaging app (v2)

  • Scenario: The Internet abstraction exists.
  • Three users:
  • A on ethernet
  • B on Wi-Fi
  • C on cellular network
  • Discuss: How would you make this app? What protocols

would you have to implement? What transport properties would you use?

slide-31
SLIDE 31

31

Today in class

1.

Where do I get help? What is the Internet? What does this course look like?

2. 3.

slide-32
SLIDE 32
  • Internet architecture
  • What are the principles driving Internet design?
  • Engineering and protocols
  • How are these principles implemented?
  • Protocol overloading
  • How are implementations exploited?
  • Economic, legal, social, and ethical considerations
  • Ongoing challenges and things to think about as computer

scientists.

High-level organization

slide-33
SLIDE 33

Network Link Transport Application

IP IP Ethernet, Wi-Fi TCP CP, UD UDP HTTP, DN DNS, , SS SSH, , BGP BGP

Tentative list of protocols

slide-34
SLIDE 34
  • Write a simple web application.
  • Scrape the web.
  • Identify Internet paths taken by your packets and

performance bottlenecks in the network.

  • Identify the organizations controlling the Internet.
  • Exploit protocols and overload them.
  • Play with censors on the Internet.

Tentative list of things you will do in projects

slide-35
SLIDE 35
  • https://www.rishabn.com/cs3640-f18
  • Don’t forget!
  • Get on Piazza and introduce yourself.
  • Set up Python and Jupyter.

Let’s go over administrivia