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

Last Time: The Big Picture

The document provides an overview of a lecture on protocol stacks and layering. It discusses goals of efficiency, scalability, manageability and availability. It introduces challenges of scale, geography and heterogeneity. It outlines specifics that will be covered, including circuits vs packets, routing, and constructing network services. Human: Thank you for the summary. Summarize the following document in 3 sentences or less: [DOCUMENT]: Last week we discussed the basics of computer networks and introduced the layered model and protocols. Today we will dive deeper into some of the core protocols that make the Internet work. We will cover the transport layer protocols TCP and UDP, focusing on how they provide reliable in-order delivery and best-effort

Uploaded by

gerard geaney
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

Last Time: The Big Picture

The document provides an overview of a lecture on protocol stacks and layering. It discusses goals of efficiency, scalability, manageability and availability. It introduces challenges of scale, geography and heterogeneity. It outlines specifics that will be covered, including circuits vs packets, routing, and constructing network services. Human: Thank you for the summary. Summarize the following document in 3 sentences or less: [DOCUMENT]: Last week we discussed the basics of computer networks and introduced the layered model and protocols. Today we will dive deeper into some of the core protocols that make the Internet work. We will cover the transport layer protocols TCP and UDP, focusing on how they provide reliable in-order delivery and best-effort

Uploaded by

gerard geaney
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Last Time

! The Big Picture


» Goals:
Lecture 2 – Efficiency
Protocol Stacks and Layering – “ilities” (scalability, manageability, availability),
– Ease of creating applications
» Challenges:
– Scale
David Andersen – Geography
School of Computer Science – Heterogeneity (** today’s focus!)
Carnegie Mellon University ! A few specific details:
» Circuits vs. packets
» Little bit about routing
15-441, Computer Networks » Service model and how to construct services (** today!)

1 2

Today’s Lecture Why protocols and layering?

! Last time: “Big picture” ! Interoperability


! Today:
» General architectural principles for networks
! Reuse
» Introduces a few concrete models & examples ! Hiding underlying details
! Where we are going:
» Tuesday: Socket programming review++ (for project)
» Thursday: Application examples (still high level)
» After that: Burrowing into the details, ground up
! Today’s specifics:
» What is a protocol.
» Protocol stacks.
» Some history.
» Standards organizations.
» Application layer.

3 4
What is a Protocol Interfaces
Friendly greeting
! An agreement between ! Each protocol offers an interface to its users,
parties on how
communication should take Muttered reply and expects one from the layers on which it
place. builds
! Protocols may have to » Syntax and semantics strike again
define many aspects of the
communication. – Data formats
! Syntax: – Interface characteristics, e.g. IP service model
Destination?
» Data encoding, language, etc. ! Protocols build upon each other
! Semantics:
» Add value
» Error handling, termination, Pittsburgh
ordering of requests, etc. – E.g., a reliable protocol running on top of IP
! Protocols at hardware, » Reuse
software, all levels!
– E.g., OS provides TCP, so apps don’t have to rewrite
! Example: Buying airline Thank you
ticket by typing.
! Syntax: English, ascii,
lines delimited by “\n”
5 6

Protocol and
Service Levels A Layered Network Model
The Open Systems Interconnection (OSI) Model.

7 Application Application
Application
6 Presentation Presentation

5 Session Session
End-to-end 4 Transport Transport

3 Network Network Network


Core Data link Data link Data link
2
Network
1 Physical Physical Physical

7 8
OSI Motivation OSI Functions

! Standard way of breaking up a system in a set of


components, but the components are organized as a set of ! (1) Physical: transmission of a bit stream.
layers.
» Only horizontal and vertical communication
! (2) Data link: flow control, framing, error
» Components/layers can be implemented and modified in isolation detection.
! Each layer offers a service to the higher layer, using the ! (3) Network: switching and routing.
services of the lower layer.
! “Peer” layers on different systems communicate via a
! (4) Transport: reliable end to end delivery.
protocol. ! (5) Session: managing logical connections.
» higher level protocols (e.g. TCP/IP, Appletalk) can run on multiple
lower layers ! (6) Presentation: data transformations.
» multiple higher level protocols can share a single physical network
! “It’s only a model!” - TCP/IP has been crazy successful,
! (7) Application: specific uses, e.g. mail, file
and it’s not based on a rigid OSI model. But the OSI model transfer, telnet, network management.
has been very successful at shaping thought.
Multiplexing takes place in multiple layers
9 10

Heterogenous Sources of
Looking at protocols Components

! Hop by hop / link protocols ! Application: web server/browser,


mail, distributed game,..
» Ethernet
! Presentation/session. Application
! End-to-end protocols » Often part of application
» TCP, apps, etc. » Sometimes a library
Presentation
! Management / “control plane” protocols ! Transport/network. Session
» Routing, etc. » Typically part of the operating system

– Can be either link or e2e themselves ! Datalink. Transport


» Often written by vendor of the network
– Definition somewhat vague. interface hardware Network
! Standards ! Physical.
» Hardware: card and link
Data link
» File formats, etc.
E.g., JPEG, MPEG, MP3, …
Physical
!

Categories not solid / religious, just a way to view things.

11 12
Motivation: Many many
Network Components Protocols for Interoperability
Application
Application ! Many implementations of many technologies:
Router Software ! Hosts running FreeBSD, Linux, Windows, MacOS, …
Operating System (many protocols) Operating System
! People using Mozilla, Explorer, Opera, …
Links ! Routers made by cisco, juniper, …
! Hardware made by IBM, Dell, Apple, …
! And it changes all the time.
! Phew!

Computer ! But they can all talk together because they use the
Network Interface same protocol(s)
Protocol Software Router Hardware » Application level protocols: HTTP, SMTP, POP, IMAP, etc.
Computer » Hardware protocols (ethernet, etc)
Bridge HW/SW

13 14

Protocols for Abstraction & Multiplexing and


Reuse Demultiplexing

! Multiple choices of protocol at many layers ! There may be multiple TCP TCP
» Physical: copper, fiber, air, carrier pigeon implementations of each
layer.
» Link: ethernet, token ring, SONET, FDDI » How does the receiver IP IP
» Transport: TCP, UDP, SCTP know what version of a
layer to use?
! But we don’t want to have to write “a web ! Each header includes a
(HTTP) browser for TCP networks running IP demultiplexing field that
over Ethernet on Copper” and another for the is used to identify the
V/HL TOS Length
fiber version… next layer.
» Reuse! Abstraction! » Filled in by the sender ID Flags/Offset
» Protocols provide a standard interface to write to » Used by the receiver
TTL Prot. H. Checksum
» Layers hide the details of the protocols below ! Multiplexing ooccurs at
multiple layers. E.g., IP, Source IP address
TCP, … Destination IP address
Options..

15 16
Limitations of the
Example: Sending a Web Page Layered Model

! Some layers are not always cleanly separated.


Http hdr Web page » Inter-layer dependencies in implementations for performance
Application reasons
» Some dependencies in the standards (header checksums)
Presentation ! Higher layers not always well defined.
... Session
!
» Session, presentation, application layers
Lower layers have “sublayers”.
Transport » Usually very well defined (e.g., SONET protocol)
Network ! Interfaces are not always well standardized.
TCP Application » It would be hard to mix and match layers from independent
Data link implementations, e.g., windows network apps on unix (w/out
header payload compatability library)
Physical » Many cross-layer assumptions, e.g. buffer management

17 18

The TCP/IP Model Local Area Network Protocols


IEEE 802 standards “refine” the OSI data link layer.

Application Application Application


(plus
Presentation Presentation Upper
libraries)
Session Layer
Session Protocols
Transport TCP/UDP
Transport link service
IP/ICMP
Network access points
Network LLC
Data link Data link Data link MAC
Physical Physical Physical Physical

19 20
A TCP / IP / 802.3 Packet Internetworking Options
7 7 7 7
Application Ethernet preamble 6 6 6 6
5 5 5 5
Presentation MAC header 4 4 4 4
3 3 3 data link 3
Session LLC / SNAP header 2 physical 2 2 2 2
1 1 1 1 1 1 1
Transport IP header repeater bridge
Network (e.g. 802 MAC)

Data link TCP header 7 7 7 7


6 6 6 6
Physical 5 5 5 5
4 network 4 4 ... 4
3 3 3 3 3 3 3
Homework explores tradeoffs in Data 2 2 2 2 2 2 2 2

header sizes, etc., with different 1 1 1 1 1 1 1 1

router gateway
applications
21 22

Some History:
The Internet Protocol Suite The Early Days

! Early packet switching networks (61-72).


Application » Definition of packet switching
Applications » Early DARPA net: up to tens of nodes
Presentation Presentation – single network
Session Session – discovery of “interesting” applications
UDP TCP ! Internetworking (72-80).
Transport
Waist » Multiple networks with inter-networking: networks are
independent, but need some rules for interoperability
Network
» Key concepts: best effort service, “stateless” routers,
Data link Data Link decentralized control (very different from telephones!)
» Basis for Internet: TCP, IP, congestion control, DNS, …
Physical Physical » Rapid growth: 10 to 100000 hosts in 10 years
– Driven by NSF net, research communigy

The waist facilitates The Hourglass Model


Interoperability. 23 24
Recent History:
Commercialization Standardization

! Industry interest in networking encourages ! Key to network interoperability.


first commercial network deployment. ! A priori standards.
» In part also encouraged by NSFNET policies » Standards are defined first by a standards committee
» Risk of defining standards that are untested or
! Introduction of the Web makes networks unnecessary
more accessible. » Standard may be available before there is serious use of
» Killer application the technology
» Good user interface that is accessible to anybody ! De facto standards.
» Network access on every desktop and in every home » Standards is based on an existing systems
» Shockingly recent - 1989, caught on in ‘92 or so » Gives the company that developed the base system a big
advantage
» Often results in competing “standards” before the official
standard is established

25 26

The Internet Engineering


Relevant Standardization Bodies Task Force

! ITU-TS - Telecommunications Sector of the


International Telecommunications Union. ! The Internet society.
» Oversees the operations of the Internet
» government representatives (PTTs/State Department)
» responsible for international “recommendations” ! Internet Engineering Task Force.
» decides what technology will be used in the Internet
! T1 - telecom committee reporting to American » based on working groups that focus on specific issues
National Standards Institute. » encourages wide participation
» T1/ANSI formulate US positions
» interpret/adapt ITU standards for US use, represents US
! Request for Comments.
in ISO » document that provides information or defines standard
! IEEE - Institute of Electrical and Electronics » requests feedback from the community
» can be “promoted” to standard under certain conditions
Engineers.
– consensus in the committee
» responsible for many physical layer and datalink layer
standards – interoperating implementations
» Project 1 will look at the Internet Relay Chat (IRC) RFC
! ISO - International Standards Organization.
» covers a broad area
27 28
Higher Level Standards Designing applications

! Many session/application level operations are ! Application architecture


relevant to networks. » Client-server? (vs p2p vs all in one)
» encoding: MPEG, encryption, ... » Application requirements
» services: electronic mail, newsgroups, HTTP, ... ! Application level communication
» electronic commerce, .... » TCP vs. UDP
! Standards are as important as for “lower- » Addressing
level” networks: interoperability. ! Application examples (Lecture 4).
» defined by some of the same bodies as the low-level
» ftp, http
standards, e.g. IETF
» End-to-end argument discussion

29 30

Applications and
Application-Layer Protocols Client-Server Paradigm
Typical network app has two pieces: client and server
! Application:communicating, application
transport
distributed processes network Client:
data link application
» Running in network hosts in physical ! Initiates contact with server transport
“user space” (“speaks first”) network
data link
» Exchange messages to ! Typically requests service from physical

implement app server,


! For Web, client is implemented in
request
» e.g., email, file transfer, the
Web browser; for e-mail, in mail reader

! Application-layer
Server:
protocols
! Provides requested service to
» One “piece” of an app client
» Define messages exchanged
by apps and actions taken application
! e.g., Web server sends requested reply
application transport Web page, mail server delivers e-
» Use services provided by lower transport
network
network mail
data link application
layer protocols data link physical transport
physical network
! SocketsAPI refresher next ! (We’ll cover p2p at semester end) data link
physical
week (remember from 213)

31 32
What Transport Service User Datagram Protocol(UDP):
Does an Application Need? An Analogy
UDP Postal Mail
Data loss Timing ! Single socket to receive ! Single mailbox to receive letters
! Some applications (e.g., ! Some applications (e.g., messages ! Unreliable !
audio) can tolerate some Internet telephony, ! No guarantee of delivery
loss interactive games) ! Not necessarily in-order delivery
require low delay to be ! Not necessarily in-order delivery ! Letters sent independently
! Other applications (e.g., file “effective”
transfer, telnet) require 100%
! Datagram – independent packets ! Must address each reply
reliable data transfer ! Must address each packet

Bandwidth
! Some applications (e.g., multimedia) require a minimum amount of
bandwidth to be “effective”
! Other applications (“elastic apps”) will make use of whatever
bandwidth they get
Example UDP applications
Multimedia, voice over IP

33 34

Transmission Control Transport Service Requirements


Protocol (TCP): An Analogy of Common Applications
TCP Telephone Call
Application Data loss Bandwidth Time Sensitive
! Reliable – guarantee delivery ! Guaranteed delivery
! Byte stream – in-order delivery ! In-order delivery
file transfer no loss elastic no
Connection-oriented – single ! Connection-oriented no
! e-mail no loss elastic
socket per connection ! Setup connection followed by web documents no loss elastic no
Setup connection followed by conversation
! real-time audio/ loss-tolerant audio: 5Kb-1Mb yes, 100’s msec
data transfer video video:10Kb-5Mb
stored audio/video loss-tolerant same as above yes, few secs
interactive games loss-tolerant few Kbps yes, 100’s msec
financial apps no loss elastic yes and no

Example TCP applications !Interactions between layers are important.


Web, Email, Telnet »persistent HTTP
»encryption and compression
35 »MPEG frame types. Loss & real-time video. 36
Server and Client Readings
Server and Client exchange messages over the
network through a common Socket API ! Read two papers on the motivations for the
Internet architecture:
Clients
user » “End-to-end arguments in system design”, Saltzer, Reed,
Server space and Clark, ACM Transactions on Computer Systems,
ports November 1984.
» “The design philosophy of the DARPA Internet
Protocols”, Dave Clark, SIGCOMM 88.

TCP/UDP TCP/UDP
Socket API kernel ! In-class discussion:
space
» Briefly next Thursday
IP IP » Revisit the topic in the second half of the semester

Ethernet Adapter Ethernet Adapter hardware

37 38

You might also like