Successfully reported this slideshow.
15-744: Computer Networking L-1 Intro to Computer Networks
Outline <ul><li>Administrivia </li></ul><ul><li>Whirlwind tour of networking </li></ul>
Who’s Who? <ul><li>Professor: Srinivasan Seshan </li></ul><ul><ul><li>http://www.cs.cmu.edu/~srini </li></ul></ul><ul><ul>...
Objectives <ul><li>Understand the state-of-the-art in network protocols, architectures and applications </li></ul><ul><li>...
Web Page <ul><li>Check regularly!! </li></ul><ul><li>Course schedule </li></ul><ul><li>Reading list </li></ul><ul><li>Lect...
Course Materials <ul><li>Research papers </li></ul><ul><ul><li>Links to ps or pdf on Web page </li></ul></ul><ul><ul><li>C...
Grading <ul><li>Homework assignments  </li></ul><ul><ul><li>Problem sets & hands-on assignments (15%) </li></ul></ul><ul><...
Waitlist & HW 0 <ul><li>HW 0 – due next Thursday in class </li></ul><ul><li>If you are trying to add class </li></ul><ul><...
Outline <ul><li>Administrivia </li></ul><ul><li>Whirlwind tour of networking </li></ul>
What is the Objective of Networking? <ul><li>Communication between applications on different computers </li></ul><ul><li>M...
Four Steps to Networking <ul><li>Communicating across a link </li></ul><ul><li>Connecting together multiple links (interne...
A First Step <ul><li>Creating a link between nodes </li></ul><ul><li>Link: path followed by bits </li></ul><ul><ul><li>Wir...
Types of Links Point-to-Point Multiple Access …
Packet Transmission Modes <ul><li>Unicast </li></ul><ul><ul><li>Transmission to single specific receiver </li></ul></ul><u...
What are Switched Networks? <ul><li>Switch: moves bits between links </li></ul><ul><ul><li>Packet switching </li></ul></ul...
Back in the Old Days…
Then Came TDM… Multiplex (mux) Demultiplex (demux) <ul><li>Synchronous time division multiplexing </li></ul>
TDM Logical Network View
Packet Switching (Internet) Packets
Packet Switching <ul><li>Interleave packets from different sources </li></ul><ul><li>Efficient: resources used on demand <...
Statistical Multiplexing Gain <ul><li>1 Mbps link; users require 0.1 Mbps when transmitting; users active only 10% of the ...
Characteristics of Packet Switching <ul><li>Store and forward </li></ul><ul><ul><li>Packets are self contained units </li>...
Second Step: Internet[work] <ul><li>A collection of interconnected networks </li></ul><ul><li>Host: network endpoints (com...
Challenge <ul><li>Many differences between networks </li></ul><ul><ul><li>Address formats </li></ul></ul><ul><ul><li>Perfo...
Third Step: How To Find Nodes? Internet Computer 1 Computer 2
Naming <ul><li>Humans use readable host names </li></ul><ul><ul><li>E.g.  www.cmu.edu </li></ul></ul><ul><ul><li>Globally ...
Domain Name System What’s the IP address for www.cmu.edu ? It is  128.2.11.43 DNS server address manually configured into ...
Packet Routing/Delivery <ul><li>Each network technology has different local delivery methods </li></ul><ul><li>Address res...
Network:Address Resolution Protocol Ethernet Broadcast: who knows the  Ethernet address for  128.2.11.43 ? Ethernet Unicas...
Internetwork: Datagram Routing R R R R R H H H H R R H R Routers send packet to next closest point H: Hosts R: Routers
Routing <ul><li>Forwarding tables at each router populated by routing protocols. </li></ul><ul><li>Original Internet: manu...
Fourth Step: Application Demands <ul><li>Reliability </li></ul><ul><ul><li>Corruption </li></ul></ul><ul><ul><li>Lost pack...
What if the Data gets Corrupted? Internet GET windex.html GET index.html Solution: Add a  checksum Problem: Data Corruptio...
What if Network is Overloaded? <ul><li>Short bursts: buffer </li></ul><ul><li>What if buffer overflows? </li></ul><ul><ul>...
What if the Data gets Lost? Internet GET index.html Problem: Lost Data Internet GET index.html Solution: Timeout and Retra...
What if the Data Doesn’t Fit? Problem: Packet size Solution: Fragment data across packets <ul><li>On Ethernet, max IP pack...
What if the Data is Out of Order? Solution: Add Sequence Numbers Problem: Out of Order GET x.ht inde ml GET x.htindeml GET...
Network Functionality Summary <ul><li>Link </li></ul><ul><li>Multiplexing  </li></ul><ul><li>Routing </li></ul><ul><li>Add...
What is Layering? <ul><li>Modular approach to network functionality </li></ul><ul><li>Example: </li></ul>Link hardware Hos...
Protocols <ul><li>Module in layered structure </li></ul><ul><li>Set of rules governing communication between network eleme...
Layering Characteristics <ul><li>Each layer relies on services from layer below and exports services to layer above </li><...
Layering Host Host Application Transport Network Link User A User B Layering: technique to simplify complex systems
Layer Encapsulation Get index.html Connection ID Source/Destination Link Address User A User B
Protocol Demultiplexing <ul><li>Multiple choices at each layer </li></ul>FTP HTTP TFTP NV TCP UDP IP NET 1 NET 2 NET n … T...
E.g.: OSI Model: 7 Protocol Layers <ul><li>Physical:  how to transmit bits </li></ul><ul><li>Data link: how to transmit fr...
OSI Layers and Locations Switch Router Host Host Application Transport Network Data Link Presentation Session Physical
Example: Transport Layer <ul><li>First end-to-end layer </li></ul><ul><li>End-to-end state </li></ul><ul><li>May provide r...
Example: Network Layer <ul><li>Point-to-point communication </li></ul><ul><li>Network and host addressing </li></ul><ul><l...
Is Layering Harmful? <ul><li>Sometimes.. </li></ul><ul><ul><li>Layer N may duplicate lower level functionality (e.g., erro...
Class Coverage <ul><li>No coverage of physical and data link layer </li></ul><ul><ul><li>Students expected to know this </...
Lecture Topics <ul><li>Traditional </li></ul><ul><li>Layering </li></ul><ul><li>Internet architecture </li></ul><ul><li>Ro...
Next Lecture: Design Considerations  <ul><li>How to determine split of functionality </li></ul><ul><ul><li>Across protocol...
Upcoming SlideShare
Loading in …5
×

Lecture 01

601 views

Published on

Networking fundamentals, www.maruthivishnuvardhan.blogspot.com

  • Be the first to comment

Lecture 01

  1. 1. 15-744: Computer Networking L-1 Intro to Computer Networks
  2. 2. Outline <ul><li>Administrivia </li></ul><ul><li>Whirlwind tour of networking </li></ul>
  3. 3. Who’s Who? <ul><li>Professor: Srinivasan Seshan </li></ul><ul><ul><li>http://www.cs.cmu.edu/~srini </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Office hours: Wed 1:30-2:30pm </li></ul></ul><ul><li>TA: Amit Manjhi </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Office hours: Mon 3:00-4:00pm </li></ul></ul><ul><li>Course info </li></ul><ul><ul><li>http://www.cs.cmu.edu/~srini/15-744/F02/ </li></ul></ul>
  4. 4. Objectives <ul><li>Understand the state-of-the-art in network protocols, architectures and applications </li></ul><ul><li>Understand how networking research is done </li></ul><ul><ul><li>Teach the typical constraints and thought process for networked systems </li></ul></ul><ul><li>How is class different from undergraduate networking (15-441) </li></ul><ul><ul><li>Training network programmers vs. training network researchers </li></ul></ul>
  5. 5. Web Page <ul><li>Check regularly!! </li></ul><ul><li>Course schedule </li></ul><ul><li>Reading list </li></ul><ul><li>Lecture notes </li></ul><ul><li>Announcements </li></ul><ul><li>Assignments </li></ul><ul><li>Project ideas </li></ul><ul><li>Exams </li></ul><ul><li>Student list </li></ul>
  6. 6. Course Materials <ul><li>Research papers </li></ul><ul><ul><li>Links to ps or pdf on Web page </li></ul></ul><ul><ul><li>Combination of classic and recent work </li></ul></ul><ul><ul><li>~40 papers </li></ul></ul><ul><ul><li>Optional readings </li></ul></ul><ul><li>Recommended textbook </li></ul><ul><ul><li>For students not familiar with networking </li></ul></ul><ul><ul><li>Peterson & Davie 2 nd edition </li></ul></ul><ul><ul><ul><li>2 copies on reserve </li></ul></ul></ul><ul><ul><li>Kurose & Ross (preferably 2 nd edition) </li></ul></ul><ul><ul><ul><li>I have some spare (1 st ed) that I can lend out </li></ul></ul></ul>
  7. 7. Grading <ul><li>Homework assignments </li></ul><ul><ul><li>Problem sets & hands-on assignments (15%) </li></ul></ul><ul><ul><li>Hand-ins for readings (10%) </li></ul></ul><ul><li>Class participation (5%) </li></ul><ul><li>2 person project (30%) </li></ul><ul><li>Midterm exam (20%) </li></ul><ul><li>Final (2 nd Midterm) exam (not cumulative) (20%) </li></ul>
  8. 8. Waitlist & HW 0 <ul><li>HW 0 – due next Thursday in class </li></ul><ul><li>If you are trying to add class </li></ul><ul><ul><li>HW 0 is due on Tuesday in class </li></ul></ul><ul><ul><li>I will email enrollment decisions by next Friday </li></ul></ul>
  9. 9. Outline <ul><li>Administrivia </li></ul><ul><li>Whirlwind tour of networking </li></ul>
  10. 10. What is the Objective of Networking? <ul><li>Communication between applications on different computers </li></ul><ul><li>Must understand application needs/demands </li></ul><ul><ul><li>Traffic data rate </li></ul></ul><ul><ul><li>Traffic pattern (bursty or constant bit rate) </li></ul></ul><ul><ul><li>Traffic target (multipoint or single destination, mobile or fixed) </li></ul></ul><ul><ul><li>Delay sensitivity </li></ul></ul><ul><ul><li>Loss sensitivity </li></ul></ul>
  11. 11. Four Steps to Networking <ul><li>Communicating across a link </li></ul><ul><li>Connecting together multiple links (internetworking) </li></ul><ul><li>Finding and routing data to nodes on internetwork </li></ul><ul><li>Matching application requirements </li></ul>
  12. 12. A First Step <ul><li>Creating a link between nodes </li></ul><ul><li>Link: path followed by bits </li></ul><ul><ul><li>Wired or wireless </li></ul></ul><ul><ul><li>Broadcast or point-to-point (or both) </li></ul></ul><ul><li>Node: any device connected to a link </li></ul>
  13. 13. Types of Links Point-to-Point Multiple Access …
  14. 14. Packet Transmission Modes <ul><li>Unicast </li></ul><ul><ul><li>Transmission to single specific receiver </li></ul></ul><ul><li>Broadcast </li></ul><ul><ul><li>Transmission to all network nodes </li></ul></ul><ul><li>Multicast </li></ul><ul><ul><li>Transmission to specific subset of nodes </li></ul></ul><ul><li>Anycast </li></ul><ul><ul><li>Transmission to one of a specific subset of nodes </li></ul></ul>
  15. 15. What are Switched Networks? <ul><li>Switch: moves bits between links </li></ul><ul><ul><li>Packet switching </li></ul></ul><ul><ul><li>Circuit switching </li></ul></ul>Switched Network
  16. 16. Back in the Old Days…
  17. 17. Then Came TDM… Multiplex (mux) Demultiplex (demux) <ul><li>Synchronous time division multiplexing </li></ul>
  18. 18. TDM Logical Network View
  19. 19. Packet Switching (Internet) Packets
  20. 20. Packet Switching <ul><li>Interleave packets from different sources </li></ul><ul><li>Efficient: resources used on demand </li></ul><ul><ul><li>Statistical multiplexing </li></ul></ul><ul><li>General </li></ul><ul><ul><li>Multiple types of applications </li></ul></ul><ul><li>Accommodates bursty traffic </li></ul><ul><ul><li>Addition of queues </li></ul></ul>
  21. 21. Statistical Multiplexing Gain <ul><li>1 Mbps link; users require 0.1 Mbps when transmitting; users active only 10% of the time </li></ul><ul><li>Circuit switching: can support 10 users </li></ul><ul><li>Packet switching: with 35 users, probability that >=10 are transmitting at the same time < 0.0017 </li></ul>
  22. 22. Characteristics of Packet Switching <ul><li>Store and forward </li></ul><ul><ul><li>Packets are self contained units </li></ul></ul><ul><ul><li>Can use alternate paths – reordering </li></ul></ul><ul><li>Contention </li></ul><ul><ul><li>Congestion </li></ul></ul><ul><ul><li>Delay </li></ul></ul>
  23. 23. Second Step: Internet[work] <ul><li>A collection of interconnected networks </li></ul><ul><li>Host: network endpoints (computer, PDA, light switch, …) </li></ul><ul><li>Router: node that connects networks </li></ul><ul><li>Internet vs. internet </li></ul>Internet[work]
  24. 24. Challenge <ul><li>Many differences between networks </li></ul><ul><ul><li>Address formats </li></ul></ul><ul><ul><li>Performance – bandwidth/latency </li></ul></ul><ul><ul><li>Packet size </li></ul></ul><ul><ul><li>Loss rate/pattern/handling </li></ul></ul><ul><ul><li>Routing </li></ul></ul><ul><li>How to translate between various network technologies </li></ul>
  25. 25. Third Step: How To Find Nodes? Internet Computer 1 Computer 2
  26. 26. Naming <ul><li>Humans use readable host names </li></ul><ul><ul><li>E.g. www.cmu.edu </li></ul></ul><ul><ul><li>Globally unique (can correspond to multiple hosts) </li></ul></ul><ul><li>Naming system translates to physical address </li></ul><ul><ul><li>E.g. DNS translates name to IP Address (e.g. 128.2.11.43) </li></ul></ul><ul><ul><li>Address reflects location in network </li></ul></ul>
  27. 27. Domain Name System What’s the IP address for www.cmu.edu ? It is 128.2.11.43 DNS server address manually configured into OS Local DNS Server Computer 1
  28. 28. Packet Routing/Delivery <ul><li>Each network technology has different local delivery methods </li></ul><ul><li>Address resolution provides delivery information within network </li></ul><ul><ul><li>E.g., ARP maps IP addresses to Ethernet addresses </li></ul></ul><ul><ul><li>Local, works only on a particular network </li></ul></ul><ul><li>Routing protocol provides path through an internetwork </li></ul>
  29. 29. Network:Address Resolution Protocol Ethernet Broadcast: who knows the Ethernet address for 128.2.11.43 ? Ethernet Unicast: Yes, it is 08-00-2c-19-dc-45
  30. 30. Internetwork: Datagram Routing R R R R R H H H H R R H R Routers send packet to next closest point H: Hosts R: Routers
  31. 31. Routing <ul><li>Forwarding tables at each router populated by routing protocols. </li></ul><ul><li>Original Internet: manually updated </li></ul><ul><li>Routing protocols update tables based on “cost” </li></ul><ul><ul><li>Exchange tables with neighbors or everyone </li></ul></ul><ul><ul><li>Use neighbor leading to shortest path </li></ul></ul>
  32. 32. Fourth Step: Application Demands <ul><li>Reliability </li></ul><ul><ul><li>Corruption </li></ul></ul><ul><ul><li>Lost packets </li></ul></ul><ul><li>Flow and congestion control </li></ul><ul><li>Fragmentation </li></ul><ul><li>In-order delivery </li></ul><ul><li>Etc… </li></ul>
  33. 33. What if the Data gets Corrupted? Internet GET windex.html GET index.html Solution: Add a checksum Problem: Data Corruption 0,9 9 6,7,8 21 4,5 7 1,2,3 6 X
  34. 34. What if Network is Overloaded? <ul><li>Short bursts: buffer </li></ul><ul><li>What if buffer overflows? </li></ul><ul><ul><li>Packets dropped </li></ul></ul><ul><ul><li>Sender adjusts rate until load = resources </li></ul></ul><ul><li>Called “congestion control” </li></ul>Problem: Network Overload Solution: Buffering and Congestion Control
  35. 35. What if the Data gets Lost? Internet GET index.html Problem: Lost Data Internet GET index.html Solution: Timeout and Retransmit GET index.html GET index.html
  36. 36. What if the Data Doesn’t Fit? Problem: Packet size Solution: Fragment data across packets <ul><li>On Ethernet, max IP packet is 1.5kbytes </li></ul><ul><li>Typical web page is 10kbytes </li></ul>GET inde x.ht ml GET index.html
  37. 37. What if the Data is Out of Order? Solution: Add Sequence Numbers Problem: Out of Order GET x.ht inde ml GET x.htindeml GET index.html ml 4 inde 2 x.ht 3 GET 1
  38. 38. Network Functionality Summary <ul><li>Link </li></ul><ul><li>Multiplexing </li></ul><ul><li>Routing </li></ul><ul><li>Addressing/naming (locating peers) </li></ul><ul><li>Reliability </li></ul><ul><li>Flow control </li></ul><ul><li>Fragmentation </li></ul><ul><li>Etc…. </li></ul>
  39. 39. What is Layering? <ul><li>Modular approach to network functionality </li></ul><ul><li>Example: </li></ul>Link hardware Host-to-host connectivity Application-to-application channels Application
  40. 40. Protocols <ul><li>Module in layered structure </li></ul><ul><li>Set of rules governing communication between network elements (applications, hosts, routers) </li></ul><ul><li>Protocols define: </li></ul><ul><ul><li>Interface to higher layers (API) </li></ul></ul><ul><ul><li>Interface to peer </li></ul></ul><ul><ul><ul><li>Format and order of messages </li></ul></ul></ul><ul><ul><ul><li>Actions taken on receipt of a message </li></ul></ul></ul>
  41. 41. Layering Characteristics <ul><li>Each layer relies on services from layer below and exports services to layer above </li></ul><ul><li>Interface defines interaction </li></ul><ul><li>Hides implementation - layers can change without disturbing other layers (black box) </li></ul>
  42. 42. Layering Host Host Application Transport Network Link User A User B Layering: technique to simplify complex systems
  43. 43. Layer Encapsulation Get index.html Connection ID Source/Destination Link Address User A User B
  44. 44. Protocol Demultiplexing <ul><li>Multiple choices at each layer </li></ul>FTP HTTP TFTP NV TCP UDP IP NET 1 NET 2 NET n … TCP/UDP IP IPX Port Number Network Protocol Field Type Field
  45. 45. E.g.: OSI Model: 7 Protocol Layers <ul><li>Physical: how to transmit bits </li></ul><ul><li>Data link: how to transmit frames </li></ul><ul><li>Network: how to route packets </li></ul><ul><li>Transport: how to send packets end2end </li></ul><ul><li>Session: how to tie flows together </li></ul><ul><li>Presentation: byte ordering, security </li></ul><ul><li>Application: everything else </li></ul>
  46. 46. OSI Layers and Locations Switch Router Host Host Application Transport Network Data Link Presentation Session Physical
  47. 47. Example: Transport Layer <ul><li>First end-to-end layer </li></ul><ul><li>End-to-end state </li></ul><ul><li>May provide reliability, flow and congestion control </li></ul>
  48. 48. Example: Network Layer <ul><li>Point-to-point communication </li></ul><ul><li>Network and host addressing </li></ul><ul><li>Routing </li></ul>
  49. 49. Is Layering Harmful? <ul><li>Sometimes.. </li></ul><ul><ul><li>Layer N may duplicate lower level functionality (e.g., error recovery) </li></ul></ul><ul><ul><li>Layers may need same info (timestamp, MTU) </li></ul></ul><ul><ul><li>Strict adherence to layering may hurt performance </li></ul></ul>
  50. 50. Class Coverage <ul><li>No coverage of physical and data link layer </li></ul><ul><ul><li>Students expected to know this </li></ul></ul><ul><li>Focus on network to application layer </li></ul><ul><li>We will deal with: </li></ul><ul><ul><li>Protocol rules and algorithms </li></ul></ul><ul><ul><li>Investigate protocol trade-offs </li></ul></ul><ul><ul><li>Why this way and not another? </li></ul></ul>
  51. 51. Lecture Topics <ul><li>Traditional </li></ul><ul><li>Layering </li></ul><ul><li>Internet architecture </li></ul><ul><li>Routing (IP) </li></ul><ul><li>Transport (TCP) </li></ul><ul><li>Queue management (FQ, RED) </li></ul><ul><li>Naming (DNS) </li></ul><ul><li>Recent Topics </li></ul><ul><li>Multicast </li></ul><ul><li>Mobility </li></ul><ul><li>Active networks </li></ul><ul><li>QOS </li></ul><ul><li>Security </li></ul><ul><li>Network measurement </li></ul><ul><li>Overlay networks </li></ul><ul><li>P2P applications </li></ul>
  52. 52. Next Lecture: Design Considerations <ul><li>How to determine split of functionality </li></ul><ul><ul><li>Across protocol layers </li></ul></ul><ul><ul><li>Across network nodes </li></ul></ul><ul><li>Assigned Reading </li></ul><ul><ul><li>[Cla88] Design Philosophy of the DARPA Internet Protocols </li></ul></ul><ul><ul><li>[SRC84] End-to-end Arguments in System Design </li></ul></ul><ul><ul><li>[Cla02] Tussle in Cyberspace: Defining Tomorrow’s Internet </li></ul></ul>

×