cs 3640 introduction to
play

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


  1. CS 3640: Introduction to Networks and Their Applications Fall 2018, Lecture 1: The Internet Layers Instructor: Rishab Nithyanand Teaching Assistant: Md. Kowsar Hossain 1

  2. Today in class 1. 2. 3. Where do I get What is the What does this help? Internet? course look like? 2

  3. Where do I get… • Administrivia, slides, logistics, assignments, references, and policies? • Class website (https://www.rishabn.com/cs3640-f18) 3

  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. 4

  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. 5

  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. 6

  7. Rules of engagement: Electronics • Avoid using your phone, computer, etc. (unless I ask you to) • I will post lecture slides and references online. 7

  8. Rules of engagement: Congeniality • Collaborate and be helpful. • You will need to work well with your peers to do well in this class. 8

  9. Today in class 1. 2. 3. Where do I get What is the What does this help? Internet? course look like? 9

  10. What is a network? • An arrangement of lines that connect points. Node A Edge Edge Node C Node B Edge 10

  11. Examples and goals of a network • Goals: Resource sharing and communication. • Discuss: What makes a good network? • Well connected, high capacity, affordable, etc. 11

  12. What is a computer network? • A network of computing devices. • Nodes: Computing devices. • Edges: Transmission media. • Examples: Cellular networks, Wi-Fi, ethernets, etc. 12

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

  14. What is the Internet? The Internet is not a specific network. The Inter net ties different networks together. 14

  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). 15

  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? 16

  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? 17

  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? 18

  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. 19

  20. The 4-layer Internet model 20

  21. The link layer • Links connect end devices (phones, laptops, etc.) to network gateways (routers). • Links connect network gateways to each other. • The link layer is responsible for sending packets over a link. • The link layer is used as a service by the network layer. 21

  22. • The link layer carries the The link layer packet over a single link. • All it does is deliver data to Routers the next hop. • Examples: Wi-Fi and ethernet Link Packet/Header Source Destination 22

  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. 23

  24. The network layer Source End-Host Destination End-Host Application Application Transport Transport Router Router Network Network Network Network Link Link Link Link

  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? 25

  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). 26

  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 of networking technology and protocols. 27

  28. Putting it all together Source End-Host Destination End-Host Application Application Transport Transport Router Router Network Network Network Network Link Link Link Link

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

  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? 30

  31. Today in class 1. 2. 3. Where do I get What is the What does this help? Internet? course look like? 31

  32. High-level organization • 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.

  33. Tentative list of protocols HTTP, DN DNS, , SS SSH, , BGP BGP Application TCP CP, UD UDP Transport IP IP Network Ethernet, Wi-Fi Link

  34. Tentative list of things you will do in projects • 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.

  35. Let’s go over administrivia • https://www.rishabn.com/cs3640-f18 • Don’t forget! • Get on Piazza and introduce yourself. • Set up Python and Jupyter.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend