0% found this document useful (0 votes)
38 views

01 Intro

This document provides an overview of a graduate-level computer networking course. It introduces key concepts like layering, the roles of professors, TAs, and students. It outlines course objectives to understand state-of-the-art networking research and protocols. The document details how to read and critique research papers, grading criteria, and sample lecture topics on traditional and recent networking topics.

Uploaded by

62 CH Tabraiz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

01 Intro

This document provides an overview of a graduate-level computer networking course. It introduces key concepts like layering, the roles of professors, TAs, and students. It outlines course objectives to understand state-of-the-art networking research and protocols. The document details how to read and critique research papers, grading criteria, and sample lecture topics on traditional and recent networking topics.

Uploaded by

62 CH Tabraiz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

15-744: Computer Networking

Intro to Computer Networks


Outline

• Administrivia

• Layering

2
Who’s Who?
• Professor: Srinivasan Seshan
• http://www.cs.cmu.edu/~srini
[email protected]
• Office hours: by appt.
• TAs:
• Devdeep Ray
• http://www.cs.cmu.edu/~devdeepr/
• Devdeepr [at] cs [at] cmu [dot] edu
• Vamshi Konagari
• vkonagar [at] andrew.cmu.edu
• Course info
• http://www.cs.cmu.edu/~15744/

3
Objectives
• Understand the state-of-the-art in network
protocols, architectures and applications
• Understand how networking research is
done
• Teach the typical constraints and thought
processes used in networking research
• How is class different from undergraduate
networking (15-441)
• Training network programmers vs. training
network researchers

4
Web Page
• Check regularly!!

• Course schedule
• Reading list
• Lecture notes
• Announcements
• Assignments
• Project ideas
• Exams
5
Discussion Site
• On Piazza
• Please signup at
http://piazza.com/cmu/spring2018/15744

6
Discussion Site
• For each lecture, post a brief comment about each
paper:
• Since I would like to read the reviews before the lecture, you
should have this done by 5pm the day before the lecture.
• Learn to critique and appreciate systems papers

• Each student will present on the lecture topic once this


semester
• 10 min presentation
• Choose a relevant but uncovered paper
• HW0 for signup

7
How to read a paper (3-pass approach)
1. Skim abstract/intro + section headings +
references (5-10min)
• Make rough assessment of paper
• Many people will read your paper at this level

2. Read but ignore details (e.g. proofs) (1hr)


• Good general understanding of techniques
• Identify related work you need to look at

3. ”Virtual re-implementation” (1-3hrs)


• Identify hidden assumptions
• Identify issues with techniques used

8
How to read a paper
• Learn to be critical
• Many papers are part “marketing” – trying to show their design in
the best possible light
• Some papers may be “old”

• Learn to be positive
• Very easy to become overly critical especially once you know topic
area
• Focus on what you learned from the paper

• Why or why not keep this paper in syllabus?


• What issues are left open for future research?
• What are the important implications of the work?
• What would you have done differently or differently now?

9
Course Materials
• Research papers
• Links to ps or pdf on Web page
• Combination of classic and recent work
• ~40 papers
• Optional readings
• Recommended textbooks
• For students not familiar with networking
• Peterson & Davie, Kurose & Ross, Tanenbaum
& Wetherall

10
Grading
• Homework assignments (15%)
• 4 Problem sets & hands-on assignments
• Class + discussion site participation (10%)
• Midterm exam + final exam (40%)
• Closed book, in-class
• 2 or 3 person project (35%)
• Main focus of class work
• Make project productive for you!

11
Class Coverage
• Little coverage of physical and data link layer
• Little coverage of undergraduate material
• Students expected to know this or learn this along
the way
• Focus on network to application layer
• We will deal with:
• Protocol rules and algorithms
• Investigate protocol trade-offs
• Why this way and not another?

12
Lecture Topics

Traditional Recent Topics


• Layering • Data centers
• Internet architecture • Mobility/wireless
• Routing (IP) • Security
• Transport (TCP) • Content delivery
• Queue management • SDN
(FQ, RED) • P2P systems
• Naming (DNS) • Privacy

+ some TBD slots


13
Homework 0
• Fill Google Form
• 4 lecture choices for presentation
• 1 sentence version of project interest areas &
list of project partner
• E.g., I want to apply game theory to network routing
• 1 request for TBD lecture slot

14
Outline

• Administrivia

• Layering

15
This/Monday Lecture: Design Considerations

• How to determine split of functionality


• Across protocol layers
• Across network nodes
• Assigned Reading
• [SRC84] End-to-end Arguments in System
Design
• [Cla88] Design Philosophy of the DARPA
Internet Protocols
• Optional Reading
• [CT90] Architectural Considerations for a New
Generation of Protocols

16
What is the Objective of Networking?
• Communication between applications on
different computers
• Must understand application
needs/demands
• Traffic data rate
• Traffic pattern (bursty or constant bit rate)
• Traffic target (multipoint or single destination,
mobile or fixed)
• Delay sensitivity
• Loss sensitivity

17
Back in the Old Days…

18
Packet Switching (Internet)

Packets

19
Packet Switching
Positives Challenges

• Interleave packets from • Store and forward


different sources • Packets are self contained
• Efficient: resources used units
on demand • Can use alternate paths –
reordering
• Statistical multiplexing
• Contention
• General
• Congestion
• Multiple types of
• Delay
applications
• Allows for bursty traffic
• Addition of queues

20
Internet[work]
• A collection of Internet[work]
interconnected
networks
• Host: network
endpoints (computer,
PDA, light switch, …)

21
Internet[work]
• A collection of Internet[work]
interconnected
networks
• Host: network
endpoints (computer,
PDA, light switch, …)
• Router: node that
connects networks

22
Challenge
• Many differences between networks
• Address formats
• Performance – bandwidth/latency
• Packet size
• Loss rate/pattern/handling
• Routing
• How to translate between various network
technologies?

23
Challenge 1: Address Formats
• Map one address format to another?
• Bad idea à many translations needed
• Provide one common format
• Map lower level addresses to common format

24
Challenge 2: Different Packet Sizes
• Define a maximum packet size over all
networks?
• Either inefficient or high threshold to support
• Implement fragmentation/re-assembly
• Who is doing fragmentation?
• Who is doing re-assembly?

25
Gateway Alternatives
• Translation
• Difficulty in dealing with different features
supported by networks
• Scales poorly with number of network types
(N^2 conversions)
• Standardization
• “IP over everything” (Design Principle 1)
• Minimal assumptions about network

26
IP Standardization
• Minimum set of assumptions for underlying net
• Minimum packet size
• Reasonable delivery odds, but not 100%
• Some form of addressing unless point to point

• Important non-assumptions:
• Perfect reliability
• Broadcast, multicast
• Priority handling of traffic
• Internal knowledge of delays, speeds, failures, etc

27
How To Find Nodes?

Internet

Computer 1 Computer 2

Need naming and routing

28
Naming

What’s the IP address for www.cmu.edu?

It is 128.2.11.43

Computer 1 Local DNS Server

Translates human readable names to logical endpoints

29
Routing

Routers send
packet towards
destination H R

H
R R
H

R
H
R
R H: Hosts
H R: Routers

30
Meeting Application Demands
• Reliability
• Corruption
• Lost packets
• Flow and congestion control
• Fragmentation
• In-order delivery
• Etc…

31
What if the Data gets Corrupted?

Problem: Data Corruption

GET index.html GET windex.html


Internet

Solution: Add a checksum

0,9 9 6,7,8 21
X
4,5 7 1,2,3 6

32
What if Network is Overloaded?

Problem: Network Overload

Solution: Buffering and Congestion Control


• Short bursts: buffer
• What if buffer overflows?
• Packets dropped
• Sender adjusts rate until load = resources à “congestion control”

33
What if the Data gets Lost?

Problem: Lost Data

GET index.html
Internet

Solution: Timeout and Retransmit

GET index.html
GET index.html
Internet
GET index.html

34
What if the Data Doesn’t Fit?

Problem: Packet size

• On Ethernet, max IP packet is 1.5kbytes


• Typical web page is 10kbytes

Solution: Fragment data across packets

ml x.ht inde GET

GET index.html

35
What if the Data is Out of Order?

Problem: Out of Order

ml inde x.ht GET

GET x.htindeml

Solution: Add Sequence Numbers

ml 4 inde 2 x.ht 3 GET 1

GET index.html

36
Lots of Functions Needed
• Link
• Multiplexing
• Routing
• Addressing/naming (locating peers)
• Reliability
• Flow control
• Fragmentation
• Etc….

37
What is Layering?
• Modular approach to network functionality
• Example:

Application

Application-to-application channels

Host-to-host connectivity

Link hardware

38
Protocols
• Module in layered structure
• Set of rules governing communication
between network elements (applications,
hosts, routers)
• Protocols define:
• Interface to higher layers (API)
• Interface to peer
• Format and order of messages
• Actions taken on receipt of a message

39
Layering Characteristics
• Each layer relies on services from layer
below and exports services to layer above
• Interface defines interaction
• Hides implementation - layers can change
without disturbing other layers (black box)

40
Layering

User A User B

Application

Transport

Network

Link

Host Host

Layering: technique to simplify complex systems


41
E.g.: OSI Model: 7 Protocol Layers

• Physical: how to transmit bits


• Data link: how to transmit frames
• Network: how to route packets
• Transport: how to send packets end2end
• Session: how to tie flows together
• Presentation: byte ordering, security
• Application: everything else

42
OSI Layers and Locations

Application

Presentation

Session

Transport

Network

Data Link

Physical

Host Switch Router Host

43
IP Layering (Principle 2)
• Relatively simple
• Sometimes taken too far

Application

Transport

Network

Link

Host Router Router Host

44
IP Hourglass
• Need to interconnect many
existing networks
• Hide underlying technology
email WWW phone...

SMTP HTTP RTP... Applications

from applications TCP UDP…

IP

• Decisions: ethernet PPP…

CSMA async sonet... Technology


• Network provides minimal copper fiber radio...

functionality
• “Narrow waist”

Tradeoff: No assumptions, no guarantees.


45
Is Layering Harmful?
• Sometimes..
• Layer N may duplicate lower level functionality
(e.g., error recovery)
• Layers may need same info (timestamp, MTU)
• Strict adherence to layering may hurt
performance

46
Friday Lecture: Recitation on Routing
• Background material from 15-441/641
• Basics of routing on the Internet
• Link-state
• Distance-vector
• Forwarding
• Address allocation
• IP basics

47
Monday Lecture: Design Considerations
• How to determine split of functionality
• Across protocol layers
• Across network nodes
• Assigned Reading
• [SRC84] End-to-end Arguments in System
Design
• [Cla88] Design Philosophy of the DARPA
Internet Protocols

48
Homework 0
• (by Friday) Fill Google Form
• 4 lecture choices for critique/public review
• Note that lecture dates may shift
• 1 topic choice for first TBD lecture
• 1 sentence version of project interest & list of
project partner(s)
• E.g., I want to apply game theory to network routing.
• We will be posting some questions on Piazza
to answer about the two papers for Monday’s
lecture (post response by 5pm on Sunday)

49
Layer Encapsulation

User A User B

Get index.html

Connection ID

Source/Destination

Link Address

50
Protocol Demultiplexing
• Multiple choices at each layer

FTP HTTP NV TFTP

TCP UDP
Network IP TCP/UDP
IPX IP
Type Protocol Port
Field Field Number
NET1 NET2 … NETn

51

You might also like