Title: Computer Networking
1Computer Networking
Yishay Mansour (mansour at cs.tau.ac.il)
Teaching Assistant Hillel Avni
2Course Information
- Lectures Sunday 4 7
Orenstein 111 - Exercises Wednesday 11 12, 12 1 Super
Center 315 ????? ??
Web site http//www.cs.tau.ac.il/research/hille
l.avni/courses/comnet10.html
Books
- A Top-down Approach to Computer Networking /
Kurouse-Ross
- An Engineering Approach to Computer Networking /
Keshav - Computer Networks / Tanenbaum
- Data Networks / Bertsekas and Gallager
3Practical Information
Homework assignment Mandatory Both
theoretical and programming
Grades Final Exam 60 theory exercises
20 Programming exercises 20
4Motivation
- Todays 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!
5Information?
- A representation of knowledge
- Examples
- books
- bills
- CDs DVDs
- Can be represented in two ways
- analog (atoms)
- digital (bits)
- the Digital Revolution
- convert information as atoms to information as
bits - use networks to move bits around instead of atoms
6The Challenges
- represent all types of information as bits.
- move the bits
- In large quantities,
- everywhere,
- cheaply,
- Securely,
- with quality of service,
- .
7Todays Networks are complex!
- hosts
- routers
- links of various media
- applications
- protocols
- hardware, software
Tomorrows will be even more!
8Internet Physical Infrastructure
- Residential access
- Cable
- Fiber
- DSL
- Wireless
- The Internet is a network of networks
- Each individually administrated network is called
an Autonomous System (AS)
- Campus access, e.g.,
- Ethernet
- Wireless
8
9This courses Challenge
- To discuss this complexity in an organized way,
that will make todays computer networks (and
their limitations) more comprehensive. - identification, and understanding relationship of
complex systems pieces. - Problems that are beyond a specific technology
10Early 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.
11Data 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.
12Qwest backbone
http//www.qwest.com/largebusiness/enterprisesolut
ions/networkMaps/preloader.swf
13Networking 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 _at_ Fixed sampling rate. not self
descriptive! have to know where and when a sample
came
14Networking 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- Telephone networks support a single, end-to-end
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
16History 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
17History 1972-1980 Internetworking, new and
proprietary nets
- 1970 ALOHAnet satellite network in Hawaii
- 1973 Metcalfes PhD thesis proposes Ethernet
- 1974 Cerf and Kahn - architecture for
interconnecting networks - late70s proprietary architectures DECnet, SNA,
XNA - late 70s switching fixed length packets (ATM
precursor) - 1979 ARPAnet has 200 nodes
18Cerf and Kahns internetworking principles
- minimalism, autonomy - no internal changes
required to interconnect networks - best effort service model
- stateless routers
- decentralized control
Defines todays Internet architecture
19History 1980-1990 new protocols, proliferation
of networks
- 1983 deployment of TCP/IP
- 1982 SMTP e-mail protocol defined
- 1983 DNS defined for name-to-IP-address
translation - 1985 FTP protocol defined
- 1988 TCP congestion control
- new national networks CSnet, BITnet, NSFnet,
Minitel - 100,000 hosts connected to confederation of
networks
20History 1990 - commercialization and WWW
- early 1990s ARPAnet decommissioned
- 1991 NSF lifts restrictions on commercial use of
NSFnet (decommissioned, 1995) - early 1990s WWW
- hypertext Bush 1945, Nelson 1960s
- HTML, http Berners-Lee
- 1994 Mosaic, later Netscape
- late 1990s commercialization of WWW
21Demand and Supply
- Huge growth in users
- The introduction of the web
- Faster home access
- Better user experience.
- Infrastructure
- Significant portion of telecommunication.
- New evolving industries
- Although, sometimes temporary setbacks
22Internet Users
23Penetration around the Globe (2009)
http//www.internetworldstats.com/stats.htm
24Users around the Globe (2002/5/9)
25Technology Modem speed
26Todays options
- Modem 56 K
- ISDN 64K 128K
- Frame Relay 56K
- Today High Speed Connections
- Cable, ADSL, Satellite.
- All are available at
- 5Mb (2005)
- 30 Mb (2009)
OBSOLETE
27Coming soon (1999)
28Today (2005)
29Why do we need Standards
- Networks (and other media) support communication
between different entities - Need agreement to ensure correct, efficient and
meaningful communication
30Various 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)
31Protocol Layers
- A way for organizing structure of network
- Or at least our discussion of networks
- The idea a series of steps
32Protocol 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
33Mail system functionality
34How do we Communicate?
Hollywood, California
- Send a mail from Alice to Bob
- Alice in Champaign, Bob in Hollywood
- Example
- US Postal Service
Bob
Champaign, Illinois
Alice
35What does Alice do?
Alice 200 Cornfield Rd. Champaign, IL 61820
Bob 100 Santa Monica Blvd. Hollywood, CA 90028
- Bobs address (to a mailbox)
- Bobs name in case people share mailbox
- Postage have to pay!
- Alices own name and address
- in case Bob wants to return a message
- In case the mail has to be returned.
36What 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
37Layers
Person delivery of parcel Post office counter
handling Ground transfer loading on trucks
Airport transfer loading on airplane Airplane
routing from source to destination
Peer entities
- each layer implements a service
- via its own internal-layer actions
- relying on services provided by layer below
38Advantages of Layering
- explicit structure allows identification
relationship of complex systems pieces - layered reference model for discussion
- modularization eases maintenance updating of
system - change of implementation of layers service
transparent to rest of system
39Protocols
- A protocol is a set of rules and formats that
govern the communication between communicating
peer - set of valid messages - syntax
- meaning of each message - semantics
- Necessary for any function that requires
cooperation between peers
40Protocols
- 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
41Protocol 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 transfer protocol.
42Open protocols and systems
- A set of protocols is open if
- protocol details are publicly available
- changes are managed by an organization whose
membership and transactions are open to the
public - A system that implements open protocols is called
an open system - International Organization for Standards (ISO)
prescribes a standard to connect open systems - open system interconnect (OSI)
- Has greatly influenced thinking on protocol stacks
43ISO OSI reference model
- Reference model
- formally defines what is meant by a layer, a
service etc. - Service architecture
- describes the services provided by each layer and
the service access point - Protocol architecture
- set of protocols that implement the service
architecture - compliant service architectures may still use
non-compliant protocol architectures
44The seven Layers
There are only 5 !!
Application
Intermediate system
End system
End system
45The seven Layers - protocol stack
data
TH
Network
Data Link
DHdataDT
Physical
bits
- Session and presentation layers are not so
important, and are often ignored
46?????? ??????
????? X ?????? ????? ??? ?????? ????? X ???? ???
?????
Destination
Source
Application
Application
Identical message
Transport
Transport
Identical message
Network
Network
Identical message
Data-Link
Data-Link
Network
47Postal 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. - Transport layer mail clerk sends a message,
retransmits if not acked - Network layer postal system computes a route and
forwards the letters - datalink layer letters carried by planes,
trains, automobiles - physical layer the letter itself
48Internet 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
49Protocol layering and data
source
destination
message
application transport network Link physical
segment
datagram
frame
50Physical layer L1
- Moves bits between physically connected
end-systems - Standard prescribes
- 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.
51Datalink 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 frame - Begin and end markers delimit a frame
- Internet
- a variety of datalink layer protocols
- most common is Ethernet
- others are FDDI, SONET, HDLC
52Datalink 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.
53Network 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
54Network 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,
call-establishment, call-teardown (doesnt touch
data bytes)
55Network 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
56Network 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
57Transport 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
58Transport layer (contd.)
- Error 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 - Flow control
- 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
59Session layer
- Not common
- Provides full-duplex service, expedited data
delivery, and session synchronization - Internet
- doesnt have a standard session layer
60Session layer (cont.)
- Duplex
- if transport layer is simplex, concatenates two
transport endpoints together - Expedited data delivery
- 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
61Presentation 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
62Application layer
- The set of applications that use the network
- Doesnt provide services to any other layer
63?????? ??????
Destination
Source
VoIP
Application
Email(smtp)
ftp
UDP
Transport
TCP
Network (IPv4)
Network
Ethernet
Data-Link
WiFi
Modem
Network
64?????? ??????
Destination
Source
app3
app1
app2
UDP
TCP
Network (IPv4)
Ethernet
WiFi
Modem
Network
65Discussion
- 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
66Course outline