Computer Networking

advertisement
Computer Networking
Yehuda Afek (afek at cs.tau.ac.il)
Adopted the slides from Yishay Mansour
Teaching Assistant: Yahav Nussbaum
1
Course Information
Lectures: Sunday
4–7
Exercises: Wednesday 11 –12, 12 – 1
Schreiber 006
Orenstein 103
Web site: http://www.cs.tau.ac.il/~nuss/comnet08/
Books:
•A Top-down Approach to Computer Networking / Kurouse-Ross
1. An Engineering Approach to Computer Networking / Keshav
2. Computer Networks / Tanenbaum
3. Data Networks / Bertsekas and Gallager
2/60
Practical Information
Homework assignment:
Mandatory
Both theoretical and programming
Grades:
Final Exam:
theory exercises:
Programming exercises:
60%
20%
20%
3/60
Motivation

Today’s economy


manufacturing, distributing, and retailing goods
but also creating and disseminating information



publishing
banking
film making….
part of the ‘information economy’

Future economy is likely to be dominated by
information!
4/60
Information?


A representation of knowledge
Examples:




Can be represented in two ways



books
bills
CDs & DVDs
analog (atoms)
digital (bits)
the Digital Revolution


convert information as atoms to information as bits
use networks to move bits around instead of atoms
5/60
The Challenges


represent all types of information as bits.
move the bits






In large quantities,
everywhere,
cheaply,
Securely,
with quality of service,
….
6/60
Today’s Networks are complex!






hosts
routers
links of various media
applications
protocols
hardware, software
Tomorrow’s will be even more!
7/60
Internet Physical Infrastructure
Residential access




Cable
Fiber
DSL
Wireless
ISP
Backbone ISP
ISP
 The Internet is a network
Campus access,
e.g.,


Ethernet
Wireless
of networks
 Each individually
administrated network is
called an Autonomous
System (AS)
8/60
8
This course’s Challenge



To discuss this complexity in an
organized way, that will make today’s
computer networks (and their
limitations) more comprehensive.
identification, and understanding relationship
of complex system’s pieces.
Problems that are beyond a specific
technology
9/60
Early communications systems





I.e. telephone
point-to-point links
directly connect together the users wishing to
communicate
use dedicated communication circuit
if distance between users increases beyond the
length of the cable, the connection is formed by a
number of sections connected end-to-end in series.
10/60
Data Networks




set of interconnected nodes exchange information
sharing of the transmission circuits= "switching".
many links allow more than one path between every
2 nodes.
network must select an appropriate path for each
required connection.
11/60
12/60
Qwest backbone
http://www.qwest.com/largebusiness/enterprisesolutions/networkMaps/preloader.swf 13/60
Networking Issues - Telephone
Addressing - identify the end user
phone number 1-201-222-2673 = country code + city code +
exchange + number

Routing - How to get from source to destination.
Telephone circuit switching: Based on the phone number.

Information Units - How is information sent
telephone Samples @ Fixed sampling rate. not self
descriptive! have to know where and when a sample came
14/60
Networking Issues - Internet

Addressing - identify the end user
IP addresses 132.66.48.37, Refer to a host interface =
network number + host number

Routing- How to get from source to destination
Packet switching: move packets (chunks) of data among
routers from source to destination independently.

Information Units - How is information sent.
Self-descriptive data: packet = data + metadata (header).
15/60
Telephone networks support a single, end-toend quality of service but is expensive to boot
Internet supports no quality of service but is
flexible and cheap
Future networks will have to support a wide
range of service qualities at a reasonable cost
16/60
History
1961-1972: Early packet-switching principles
1961: Kleinrock - queuing theory shows effectiveness of
packet-switching
1964: Baran - packet-switching in military networks
1967: ARPAnet – conceived by Advanced Research Projects
Agency
1969: first ARPAnet node operational
1972: ARPAnet demonstrated publicly
 NCP (Network Control Protocol) first host-host
protocol
 first e-mail program
 ARPAnet has 15 nodes
17/60
History
1972-1980: Internetworking, new and
proprietary nets
1970: ALOHAnet satellite network in Hawaii
1973: Metcalfe’s PhD thesis proposes Ethernet
1974: Cerf and Kahn - architecture for interconnecting
networks
late70’s: proprietary architectures: DECnet, SNA, XNA
late 70’s: switching fixed length packets (ATM precursor)
1979: ARPAnet has 200 nodes
18/60
Cerf and Kahn’s internetworking principles:




minimalism, autonomy - no internal
changes required to interconnect networks
best effort service model
stateless routers
decentralized control
Defines today’s Internet architecture
19/60
History
1980-1990: new protocols,
proliferation of networks
1983:
1982:
1983:
1985:
1988:
deployment of TCP/IP
SMTP e-mail protocol defined
DNS defined for name-to-IP-address translation
FTP protocol defined
TCP congestion control
new national networks: CSnet, BITnet, NSFnet, Minitel
100,000 hosts connected to confederation of networks
20/60
History
1990 - : commercialization and WWW
early 1990’s: ARPAnet decomissioned
1991: NSF lifts restrictions on commercial use of NSFnet
(decommissioned, 1995)
early 1990s: WWW
hypertext [Bush 1945, Nelson 1960’s]
HTML, http: Berners-Lee
1994: Mosaic, later Netscape
late 1990’s: commercialization of WWW
21/60
Demand and Supply

Huge growth in users


Faster home access


Better user experience.
Infrastructure


The introduction of the web
Significant portion of telecommunication.
New evolving industries

Although, sometimes temporary setbacks
22/60
Million users
Internet: Users
1500
1300
1100
900
700
500
300
100
-100
1995 1997 1999 2001 2003 2005 2007 2009
year
23/60
Penetration around the Globe (2008)
80
%Population
%Penetration
USA+Canada
70
60
Australia
Asia/Pacific
Europe
50
40
30
Latin America
Middle East
20
Asia/Pacific
Africa
10
Europe
Africa
Middle East
USA+Canada
Latin America
Australia
U
http://www.internetworldstats.com/stats.htm
Au
st
ra
lia
er
ic
a
Am
La
tin
SA
+C
an
ad
a
st
Ea
id
dl
e
M
Eu
ro
pe
cif
ic
As
ia
/P
a
Af
ric
a
0
26/60
Users around the Globe (2002/5/8)
700
Asia/Pacific
600
2008
500
2005
Europe
400
300
200
100
2002
USA+Canada
Asia
Latin America
USA
Pacific Europe Middle
Latin
Africa
Middle East
Canada
Africa
East
AmericaAustralia
Australia
Au
st
ra
lia
er
ic
a
Am
La
tin
an
ad
a
st
U
SA
+C
Ea
id
dl
e
M
Eu
ro
pe
cif
ic
As
ia
/P
a
Af
ric
a
0
27/60
Technology: Modem speed
100000
56000
60000
40000
20000
300 1200 2400
33600
28800
14400
9600
0
19
79
19
80
19
84
19
87
19
91
19
93
19
95
19
97
20
08
bps
80000
year
28/60
Today’s options




Modem: 56 K
OBSOLETE
ISDN: 64K – 128K
Frame Relay: 56K ++
Today High Speed Connections


Cable, ADSL, Satellite.
All are available at 5Mb (2005)
29/60
Coming soon
(1999)
30/60
Today (2005)
31/60
Why do we need Standards


Networks (and other media) support
communication between different entities
Need agreement to ensure correct, efficient
and meaningful communication
32/60
Various Organizations Issue Standards

IEEE (Institute for Electrical and Electronic Engineers)

IETF (Internet Engineering Task Force)

ITU (International Telecommunications Union)

ISO (International Organization for Standardization)

W3C (World Wide Web Consortium)
33/60
Protocol Layers

A way for organizing structure of network
 … Or at least our discussion of networks

The idea: a series of steps
34/60
Protocol Layering

Necessary because communication is complex

Intended primarily for protocol designers

Divides the problem into intellectually manageable pieces

Provides a conceptual framework that can help us understand
protocols

Think of layering as a guideline, not a rigid specification

Understand that optimizations may violate strict layering

Should be invisible to users
35/60
Mail system functionality
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
36/60
How do we Communicate?

Send a mail from Alice to Bob


Bob
Alice in Champaign, Bob in Hollywood
Example:

US Postal Service
Alice
Hollywood, California
Champaign, Illinois
8/29/07
UIUC - CS/ECE 438, Fall 2007
37/60
What does Alice do?
Alice
200 Cornfield Rd.
Champaign, IL 61820
Bob
100 Santa Monica Blvd.
Hollywood, CA 90028




Bob’s address (to a mailbox)
Bob’s name – in case people share mailbox
Postage – have to pay!
Alice’s own name and address – in case Bob wants to return a
message
8/29/07
UIUC - CS/ECE 438, Fall 2007
38/60
What does Bob do?
Alice
200 Cornfield Rd.
Champaign, IL 61820
Bob
100 Santa Monica Blvd.
Hollywood, CA 90028




Install a mailbox
Receive the mail
Get rid of envelope
Read the message
8/29/07
UIUC - CS/ECE 438, Fall 2007
39/60
Layers:
Person delivery of parcel
Post office counter handling
Ground transfer: loading on trucks
Peer entities
Airport transfer: loading on airplane
Airplane routing from source to destination
each layer implements a service
via its own internal-layer actions

relying on services provided by layer below

42/60
Advantages of Layering


explicit structure allows identification &
relationship of complex system’s pieces
 layered reference model for discussion
modularization eases maintenance &
updating of system
 change of implementation of layer’s
service transparent to rest of system
43/60
Protocols

A protocol is a set of rules and formats
that govern the communication
between communicating peers



set of valid messages
meaning of each message
Necessary for any function that requires
cooperation between peers
44/60
Protocols

A protocol provides a service


For example: the post office protocol for reliable
parcel transfer service
Peer entities use a protocol to provide a
service to a higher-level peer entity

for example, truck drivers use a protocol to
present post offices with the abstraction of an
unreliable parcel transfer service
45/60
Protocol Layers



A network that provides many services needs
many protocols
Some services are independent, But others
depend on each other
A Protocol may use another protocol as a step in
its execution


for example, ground transfer is one step in the
execution of the example reliable parcel transfer
protocol
This form of dependency is called layering

Post office handling is layered above parcel ground
46/60
transfer protocol.
Open protocols and systems

A set of protocols is open if




A system that implements open protocols is
called an open system
International Organization for Standards (ISO)
prescribes a standard to connect open systems


protocol details are publicly available
changes are managed by an organization whose
membership and transactions are open to the public
open system interconnect (OSI)
Has greatly influenced thinking on protocol
stacks
47/60
The seven Layers
There are only 5 !!
Application
Presentation
Session
Application
Transport
Network
Data Link
Network
Data Link
Physical
Physical
End system
Intermediate
system
Application
Presentation
Session
Transport
Network
Data Link
Physical
End system
49/60
The seven Layers - protocol stack
data
Application
Presentation
Session
AH
PH
Network
Data Link
Physical
Physical
Session
data
SH
Transport
Network
Data Link
TH
data
data
data
NH
data
DH+data+DT
bits
Application
Presentation
Session
Transport
Network
Data Link
Physical
and presentation layers are not so important, and are often ignored
50/60
‫עיקרון השכבות‬
Source
Application
‫ מתקבלת הודעה‬X ‫בשכבה‬
Destination
‫זהה להודעה ששכבה‬
Application
‫ מסרה בצד המקור‬X
Identical message
Transport
Transport
Identical message
Network
Identical message
Data-Link
Network
Data-Link
Network
51/60
Postal network






Application: people using the postal system
Session and presentation: chief clerk sends some
priority mail, and some by regular mail ;
translator translates letters going abroad.
mail clerk sends a message, retransmits if not acked
postal system computes a route and forwards the
letters
datalink layer: letters carried by planes, trains,
automobiles
physical layer: the letter itself
52/60
Internet protocol stack





application: supporting network applications
 ftp, smtp, http
transport: host-host data transfer
 tcp, udp
network: routing of datagrams from source
to destination
 ip, routing protocols
link: data transfer between neighboring
network elements
 ppp, ethernet
physical: bits “on the wire”
application
transport
network
link
physical
53/60
Protocol layering and data
M
Ht M
Hn Ht M
Hl Hn Ht M
source
destination
application
transport
network
Link
physical
application
transport
network
Link
physical
M
message
Ht M
Hn Ht M
Hl Hn Ht M
segment
datagram
frame
54/60
Physical layer


Moves bits between physically connected
end-systems
Standard prescribes




L1
coding scheme to represent a bit
shapes and sizes of connectors
bit-level synchronization
Internet

technology to move bits on a wire, wireless link, satellite
channel etc.
55/60
Datalink layer


L2
(Reliable) communication over a single link.
Introduces the notion of a frame

set of bits that belong together

Idle markers tell us that a link is not carrying a

Begin and end markers delimit a frame

Internet
frame



a variety of datalink layer protocols
most common is Ethernet
others are FDDI, SONET, HDLC
56/60
Datalink layer (contd.)




Ethernet (broadcast link)

end-system must receive only bits meant for it

need datalink-layer address

also need to decide who gets to speak next

these functions are provided by Medium ACcess sublayer (MAC)
Datalink layer protocols are the first layer of software
Very dependent on underlying physical link properties
Usually bundle both physical and datalink in hardware.
57/60
Network layer






L3
Carries data from source to destination.
Logically concatenates a set of links to form the
abstraction of an end-to-end link
Allows an end-system to communicate with any other
end-system by computing a route between them
Hides idiosyncrasies of datalink layer
Provides unique network-wide addresses
Found both in end-systems and in intermediate systems
58/60
Network layer types

In datagram networks


provides both routing and data forwarding
In connection-oriented network



separate data plane and control plane
data plane only forwards and schedules data
(touches every byte)
control plane responsible for routing, callestablishment, call-teardown (doesn’t touch data
bytes)
59/60
Network layer (contd.)

Internet







network layer is provided by Internet Protocol (IP)
found in all end-systems and intermediate systems
provides abstraction of end-to-end link
segmentation and reassembly
packet-forwarding, routing, scheduling
unique IP addresses
can be layered over anything, but only best-effort
service
60/60
Network layer (contd.)


At end-systems

primarily hides details of datalink layer

segments and reassemble

detects errors
At intermediate systems
 participates in routing protocol to create routing
tables
 responsible for forwarding packets
 schedules the transmission order of packets
 chooses which packets to drop
61/60
Transport layer


L4
Reliable end-to-end communication.
creates the abstraction of an error-controlled,
flow-controlled and multiplexed end-to-end link
(Network layer provides only a ‘raw’ end-to-end service)

Some transport layers provide fewer services
e.g. simple error detection, no flow control, and no retransmission


Internet
TCP provides error control, flow control, multiplexing

UDP provides only multiplexing

62/60
Transport layer (contd.)

Error control



Flow control


GOAL: message will reach destination despite packet loss,
corruption and duplication
ACTIONS: retransmit lost packets; detect, discard, and
retransmit corrupted packets; detect and discard duplicated
packets
match transmission rate to rate currently sustainable on the path
to destination, and at the destination itself
Multiplexes multiple applications to the same
end-to-end connection

adds an application-specific identifier (port number) so that
receiving end-system can hand in incoming packet to the correct
application
63/60
Session layer



Not common
Provides full-duplex service, expedited data
delivery, and session synchronization
Internet

doesn’t have a standard session layer
64/60
Session layer (cont.)

Duplex


Expedited data delivery


if transport layer is simplex, concatenates two transport
endpoints together
allows some messages to skip ahead in end-system queues,
by using a separate low-delay transport layer endpoint
Synchronization

allows users to place marks in data stream and to roll back
to a prespecified mark
65/60
Presentation layer


Usually ad hoc
Touches the application data
(Unlike other layers which deal with headers)

Hides data representation differences between
applications



characters (ASCII, unicode, EBCDIC.)
Can also encrypt data
Internet


no standard presentation layer
only defines network byte order for 2- and 4-byte
integers
66/60
Application layer


The set of applications that use the network
Doesn’t provide services to any other layer
67/60
‫עיקרון השכבות‬
Destination
Source
3 ‫אפליק‬
2 ‫אפליק‬
UDP
1 ‫אפליק‬
TCP
Network (IPv4)
Modem
Ethernet
Application
Transport
Network
WiFi
Data-Link
Network
68/60
‫עיקרון השכבות‬
Destination
Source
3 ‫אפליק‬
UDP
2 ‫אפליק‬
1 ‫אפליק‬
TCP
2 ‫אפליק‬
UDP
Network (IPv4)
Modem Ethernet
3 ‫אפליק‬
1
TCP
Network (IPv4)
WiFi
Modem
Ethernet
WiFi
Network
69/60
Discussion


Layers break a complex problem into
smaller, simpler pieces.
Why seven layers?



Need a top and a bottom  2
Need to hide physical link; so need datalink  3
Need both end-to-end and hop-by-hop actions; so
need at least the network and transport layers  5
70/60
Course outline
1
2
3
Introduction and Layering
Data Link: Multi Access
Hubs, Bridges and Routers
4
5
6
Scheduling and Buffer Management
Switching Fabrics
Routing
7
8
9
Reliable Data Transfer
End to End Window Based Protocols
Flow Control
10
11
12
Multimedia and QoS
Network Security
Distributed Algorithms
71
Download