0% found this document useful (0 votes)
37 views45 pages

Architecture

The document discusses the layered architecture of computer networks. It describes the goals of the Internet architecture and how layering addresses these goals by dividing network functionality into distinct layers. The document outlines several layers including the physical, data link, network, transport, session, and presentation layers.

Uploaded by

nabin malla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views45 pages

Architecture

The document discusses the layered architecture of computer networks. It describes the goals of the Internet architecture and how layering addresses these goals by dividing network functionality into distinct layers. The document outlines several layers including the physical, data link, network, transport, session, and presentation layers.

Uploaded by

nabin malla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 45

CSE 390 Advanced

Computer Networking
Lecture 3: Internet Architecture
(Layer cake and an hourglass)

Based on slides from D. Choffnes Northeastern U. Revised


Fall 2014 by P. Gill
Last time …
2
 History + Introduction

 … Today: architecture, physical, + data link layer


Goals of the Internet Architecture (Clark ‘88)
3

1. Connect existing networks


2. Robust in face of failures (not nuclear war…)
3. Support multiple types of services
4. Accommodate a variety of networks
5. Allow distributed management
6. Easy host attachment
7. Cost effective
8. Allow resource accountability
Robust
4
1. As long as the network is not partitioned, two endpoints should be
able to communicate
2. Failures (excepting network partition) should not interfere with
endpoint semantics (why?)

 Maintain state only at end-points


 Fate-sharing, eliminates network state restoration
 If information associated with an entity is lost, then the entity itself must
have been lost
 stateless network architecture (no per-flow state)

 Routing state is held by network (why?)


 No failure information is given to ends (why?)
Types of Services
5

 Use of the term “communication services” already


implied that they wanted application-neutral network

 Realized TCP wasn’t needed (or wanted) by some


applications

 Separated TCP from IP, and introduced UDP


 What’s missing from UDP?
Variety of Networks
6
 Incredibly successful!
 Minimal requirements on networks
 No need for reliability, in-order, fixed size packets, etc.

 IP over everything
 Then: ARPANET, X.25, DARPA satellite network..
 Now: ATM, SONET, WDM…
Host Attachment
7
 Clark observes that the cost of host attachment may be
somewhat higher because hosts have to be smart
 Imagine a time before all that functionality existed in the
OS!

 But the administrative cost of adding hosts is very low,


which is probably more important
 Happens within a logical domain, no need to coordinate
with others
Real Goals
1. Something that works…..
2. Connect existing networks
3. Survivability (not nuclear war…)
4. Support multiple types of services
5. Accommodate a variety of networks
6. Allow distributed management
7. Easy host attachment
8. Cost effective
9. Allow resource accountability
8
Internet Motto
We reject kings , presidents, and voting.
We believe in rough consensus and running code.”

David Clark

9
Questions
10

 What priority order would a 1. Something that works…..


commercial design have? 2. Connect existing networks
3. Survivability (not nuclear
war…)
 What would a
commercially invented 4. Support multiple types of
services
Internet look like?
5. Accommodate a variety of
networks
 What goals are missing 6. Allow distributed
from this list? management
7. Easy host attachment
 Which goals led to the 8. Cost effective
success of the Internet? 9. Allow resource accountability
Organizing Network Functionality
11
 Networks are built from many components
 Networking technologies
 Ethernet, Wifi, Bluetooth, Fiber Optic, Cable Modem, DSL
 Network styles
 Circuit switch, packet switch
 Wired, Wireless, Optical, Satellite
 Applications
 Email, Web (HTTP), FTP, BitTorrent, VoIP

 How do we make all this stuff work together?!


Problem Scenario
12

Web Email Bittorrent VoIP

• This is a nightmare scenario


• Huge amounts of work to add new apps or media
• Limits growth and adoption

Ethernet 802.11 Bluetooth Cellular


More Problems
13

Bittorrent Bittorrent

Application endpoints
may not be on the same
media

Ethernet 802.11
Solution: Use Indirection
14
Web Email Bittorrent VoIP

API

• O(1) work to add new apps, media


Magical Network Abstraction Layer
•API
Few limitsAPI
on new technology
API

Ethernet 802.11 Bluetooth Cellular


Layered Network Stack
15
 Modularity
Applications  Does not specify an implementation
 Instead, tells us how to organize functionality
Layer N  Encapsulation
 Interfaces define cross-layer interaction

 Layers only rely on those below them


Layer 2  Flexibility
 Reuse of code across the network
Layer 1  Module implementations may change
 Unfortunately, there are tradeoffs
Physical  Interfaces hide information
Media  As we will see, may hurt performance…
Key Questions
16
 How do we divide functionality into layers?
 Routing  Security
 Congestion control  Fairness
 Error checking  And many more…
 How do we distribute functionality across devices?
 Example: who is responsible for security?

Switch Switch
Router
17 Outline

 Layering
 The OSI Model
 Communicating
 The End-to-End Argument
The ISO OSI Model
18
OSI: Open Systems Interconnect Model
Host 1 Switch Host 2
Application Application
Presentation Layers
All communicate
devices implement Presentation
Layers communicate
Session the peer-to-peer
first three layers
peer-to-peer Session
Transport Transport
Network Network Network
Data Link Data Link Data Link
Physical Physical Physical
Layer Features
19

Application
Presentation  Service
Session
 What does this layer do?
 Interface
Transport  How do you access this layer?
Network  Protocol
Data Link  How is this layer implemented?
Physical
Physical Layer
20
 Service
Application  Move information between two
systems connected by a physical link
Presentation
 Interface
Session  Specifies how to send one bit
Transport  Protocol
Network  Encoding scheme for one bit
Data Link  Voltage levels
 Timing of signals
Physical
 Examples: coaxial cable, fiber
optics, radio frequency transmitters
Data Link Layer
21

 Service
Application  Data framing: boundaries between
packets
Presentation  Media access control (MAC)
Session  Per-hop reliability and flow-control
Transport  Interface
Network
 Send one packet between two hosts
connected to the same media
Data Link  Protocol
Physical  Physical addressing (e.g. MAC address)
 Examples: Ethernet, Wifi, DOCSIS
Network Layer
22

 Service
Application  Deliver packets across the network
 Handle fragmentation/reassembly
Presentation  Packet scheduling
Session  Buffer management
Transport  Interface
Network
 Send one packet to a specific destination
 Protocol
Data Link  Define globally unique addresses
Physical  Maintain routing tables
 Example: Internet Protocol (IP), IPv6
Transport Layer
23
 Service
Application  Multiplexing/demultiplexing
 Congestion control
Presentation
 Reliable, in-order delivery
Session  Interface
Transport  Send message to a destination
Network  Protocol
Data Link  Port numbers
 Reliability/error correction
Physical  Flow-control information
 Examples: UDP, TCP
Session Layer
24

 Service
Application  Access management
Presentation  Synchronization
Session  Interface
Transport  It depends…
Network  Protocol
Data Link
 Token management
 Insert checkpoints
Physical
 Examples: none
Presentation Layer
25
 Service
Application  Convert data between different
representations
Presentation  E.g. big endian to little endian
Session  E.g. Ascii to Unicode
Transport  Interface
Network  It depends…

Data Link
 Protocol
 Define data formats
Physical  Apply transformation rules
 Examples: none
Application Layer
26

Application  Service
Presentation  Whatever you want :)
Session  Interface
 Whatever you want :D
Transport
 Protocol
Network  Whatever you want ;)
Data Link  Examples: turn on your smartphone
Physical and look at the list of apps
Encapsulation
27

How does data move through the layers?

Data Application
Presentation
Session
Transport
Network
Data Link
Physical Data
Real Life Analogy Doesn’t know how the
28
Postal network works

Label containsUn-packing
routing info
Doesn’t know
contents of letter

Postal Service
Network Stack in Practice
29

Host 1 Switch Host 2


Application Application
Presentation Presentation
Video
FTP Client
Session
Client Video Server
Session
FTP Server
UDP
Transport
TCP UDP
Transport
TCP
Network
IP Network
IP Network
IP
Data Link
Ethernet
802.11n Data Link
Ethernet
802.11n Data Link
Ethernet
802.11n
Physical Physical Physical
Encapsulation, Revisited
30

HTTP Web Web


Header Page Server

TCP HTTP Web


TCP
Header Header Page
TCP Segment

IP TCP HTTP Web


IP
Header Header Header Page
IP Datagram

Ethernet IP TCP HTTP Web Ethernet


Ethernet
Header Header Header Header Page Trailer

Ethernet Frame
The Hourglass
31

HTTP, FTP, RTP, IMAP, Jabber, …


• One Internet layer means all networks
TCP, UDP, ICMP
interoperate
Think about the
• All applications function
IPv4 on all networks
difficulty of
• Room for development above and belowIPv6…
deploying IP
• But, changing IP802.11x,
Ethernet, is insanely hard
DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …


Orthogonal Planes
32

Control plane: How Internet paths are established

Application
Presentation Well cover this
Session later…
Transport
IP BGP RIP OSPF Control Plane
Data Link
Physical
Orthogonal Planes
33

Data plane: How data is forwarded over Internet paths

Host 1 Switch(es) Host 2

Application Application
Transport Transport
Network Network Network
Data Link Data Link Data Link
Reality Check
34
 The layered abstraction is very nice
 Does it hold in reality?
No.

Firewalls Transparent Proxies NATs


 Analyze application  Simulate application  Break end-to-end
layer headers endpoints within the network reachability
network
35 Outline

 Layering
 The OSI Model
 Communicating
 The End-to-End Argument
From Layers to Eating Cake
36
 IP gives us best-effort datagram forwarding
 So simple anyone can do it
 Large part of why the Internet has succeeded
 …but it sure isn’t giving us much

 Layers give us a way to compose functionality


 Example: HTTP over TCP for Web browsers with reliable
connections
 …but they do not tell us where (in the network) to
implement the functionality
Where to Place Functionality
37
 How do we distribute functionality across devices?
 Example: who is responsible for security?
? ? ?
? ?

Switch Switch
Router
 “The End-to-End Arguments in System Design”
 Saltzer, Reed, and Clark
 The Sacred Text of the Internet
 Endlessly debated by researchers and engineers
Basic Observation
38
 Some applications have end-to-end requirements
 Security, reliability, etc.
 Implementing this stuff inside the network is hard
 Every step along the way must be fail-proof
 Different applications have different needs
 End hosts…
 Can’t depend on the network
 Can satisfy these requirements without network level
support
Example: Reliable File Transfer
39

Integrity Integrity
Check Check

Integrity App has to do a


Check check anyway!

 Solution 1: Make the network reliable


 Solution 2: App level, end-to-end check, retry on failure
Example: Reliable File Transfer
40 Please
Retry
• In-network implementation…
 Doesn’t reduce host complexity
 Does increase network complexity
 Increased overhead for apps that don’t need
functionality Full functionality can
• But, in-network performance mayatbe
be built Appbetter
level

 Solution 1: Make the network reliable


 Solution 2: App level, end-to-end check, retry on failure
Conservative Interpretation
41

“Don’t implement a function at the lower levels of


the system unless it can be completely implemented
at this level” (Peterson and Davie)

Basically, unless you can completely remove the


burden from end hosts, don’t bother
Radical Interpretation
42
 Don’t implement anything in the network that can be
implemented correctly by the hosts

 Make network layer absolutely minimal

 Ignore performance issues


Moderate Interpretation
43
 Think twice before implementing functionality in the
network

 If hosts can implement functionality correctly,


implement it a lower layer only as a performance
enhancement

 But do so only if it does not impose burden on


applications that do not require that functionality…
 …and if it doesn’t cost too much $ to implement
Reality Check, Again
44
 Layering and E2E principals regularly violated

Firewalls Transparent Proxies NATs

 Conflicting interests
 Architectural purity
 Commercial necessity
Takeaways
45
 Layering for network functions
 Helps manage diversity in computer networks
 Not optimal for everything, but simple and flexible
 Narrow waist ensures interoperability, enables
innovation
 E2E argument (attempts) to keep IP layer simple
 Think carefully when adding functionality into the
network

You might also like