Title: Computer Networks CSE 4344 *
1Computer Networks CSE 4344
Don Montgomery Department of Computer Science and
Engineering School of Engineering Southern
Methodist University
many of the following slides were first
developed by Sarvesh Kulkarni, Villanova U. --
other credits will be noted in situ
2Background Concepts
computers running advanced
computer networks operating systems (e.g.
distributed systems)
3Background Concepts
computers running advanced
computer networks operating systems (e.g.
distributed systems) Several processing systems
or computers are connected together
and controlled by an advanced
operating system. User sees only
one huge computing machine, and is not
aware of the distributed nature of
the system. The OS couples
different
subsystems very tightly.
4Background Concepts
computers running advanced
computer networks operating systems (e.g.
distributed systems) Several processing systems
or computers are
Interconnected mesh of completely connected
together and controlled by an
autonomous computers. One system
advanced operating system. User sees only
does not control another.
Users are one huge computing machine, and is not
aware of the
existence of different aware of the distributed
nature of the
systems, and possibly their system. The OS
couples different
locations. subsystems very tightly.
5what is expected of a network?
- accurate delivery in bounded time
- fair and efficient network resource allocation
- convenient network administration
- scales in size to support growth
6key concepts in networking
- protocols
- speaking the same language
- syntax and semantics
- layering
- standing on the shoulders of giants
- key to managing complexity
- resource allocation
- dividing scare resources among competing parties
- memory, link bandwidth, wireless spectrum, paths,
- distributed vs. centralized algorithms
- naming
- what to call computers, services, protocols,
this slide and the four next slides taken from
Larry L. Peterson's Princeton course materials
7(No Transcript)
8okay, so that was not working ...
- You When are you free to meet for 1.5 hours
during the next two weeks? - Advisor 1030am on Feb 8 and 115pm on Feb 9.
- You Book me for 1.5 hours at 1030am on Feb 8.
- Advisor Yes.
... good enough now?
9well, let's try this ...
- Student 1 When can you meet for 1.5 hours
during the next two weeks? - Advisor 1030am on Feb 8 and 115pm on Feb 9.
- Student 2 When can you meet for 1.5 hours
during the next two weeks? - Advisor 1030am on Feb 8 and 115pm on Feb 9.
- Student 1 Book me for 1.5 hours at 1030am on
Feb 8. - Advisor Yes.
- Student 2 Book me for 1.5 hours at 1030am on
Feb 8. - Advisor Uh well I can no longer can meet then.
Im free at 115pm on Feb 9. - Student 2 Book me for 1.5 hours at 115pm on
Feb 9. - Advisor Yes.
10specifying calendar service details
- how to identify yourself?
- name? social security number?
- how to represent dates and time?
- time, day, month, year? in what time zone?
formatting? - number of seconds since Jan 1, 1970?
- what granularities of times to use?
- any possible start time and meeting duration?
- multiples of five minutes?
- how to represent the messages?
- strings? record with name, start time, and
duration? - what do you do if you dont get a response?
- ask again? reply again?
11protocol architecture implementation
- evaluation of requirements
- elaboration of algorithm
- detail definition
- at every layer of each network
- multiple alternative implementations per layer
(exception for TCP/IP the narrow waist)
12definitions protocol a set of (rigidly)
defined rules for communication. As long as
different computers (possibly with varied
hardware) can speak the same protocol, they can
communicate in a network. service interface
methods exposed by a protocol to a higher
layer peer interface methods recognized by
endpoints on the same layer network
architecture set of rules governing the form
and content of a specific protocol graph
Peterson/Davie, sec. 1.3.1 demux key
identifies destination protocol of an incoming
message
13client a computer that generates data and/or
consumes information. server a computer that
processes data and serves up information. host
a client or a server connected to a
network. router a specialized network switch in
a network that can store and
forward data packets. node a host or a router
in a network. link a communication medium
(wired or wireless) that connects
nodes. point-to-point connects two
nodes multiple-access connecting medium shared
among a plurality of nodes channel a
logical (not necessarily physical) connection
between hosts, or between processes on
hosts. request/reply file transfer, control
messages message stream VoIP, VoD,
teleconferencing, etc.
14 circuit-switching setting up end-to-end
connection between source and sink multiplexing
combining independent data flows over the same
physical channel time-division multiplexing
independent data flows time-share a
connection/link using synchronous
time-slots statistical multiplexing sharing a
link/links in an on-demand basis---taking
turns packet-switching sending messages across
a network without establishing connections
15cloud a networked set of nodes of indeterminate
configuration. addressing scheme to identify
hosts uniquely used during routing/switching
negotiation, configuration, and
transmission unicast a message sent to a single
recipient broadcast a message sent to ALL
recipients multicast a message sent to a set of
recipients that belong to a group (called a
multicast group)
16metric units
- principal metric prefixes
17caution!
- in computer architecture (for data size)
- 1 KB 210 bytes 210 x 8 bits
- 1 MB 220 bytes 220 x 8 bits
- In Computer Networks (for data transmission
speed) - 1 KBps 103 bytes per sec 103 x 8 bits per sec
- 1 Kbps (or 1 kbps) 103 bits per sec
- and
- 1 MBps 106 bytes per sec 106 x 8 bits per sec
- 1 Mbps (or 1 mbps) 106 bits per sec
18network performancehigh speed networks
- signal speed (speed of wavefront, of propagation)
- cannot get any faster --- why?
- telegraph vs. 10 gigabit Ethernet
- hi-speed connection
- line capacity (bandwidth) gets bigger
- result?
- high bandwidth, same propagation delay
19network performance metrics
- packet latency (delay)
- txn delay queueing delay propagation delay
- transmission delay
- (message size)/bandwidth
- queueing delay
- propagation delay
- distance/(speed of light)
20network performance metrics
- bandwidth
- given in freq range (Mhz), or bit rate (Mbps)
- throughput
- delivered data quantity, per time unit
- capacity maximum throughput possible
- link utilization
- percentage of link capacity actually used
21(No Transcript)
22network performance metricdelay-bandwidth
product
- network data pipes with storage
- network link (waveguide/medium) is short term
memory (why?) - delay-bandwidth product represents link
capacity (full pipe) - how can we have high link utilization?
- how do point-to-point and shared media differ,
wrt utilization?
23jump
24example network for business applications
25Another Typical Network
26what is a network cloud? a collection of
routers, LANs, stand-alone computers, etc.
Host B
Host A
Subnet
Subnet
subnet
Network Backbone
Subnet
subnet
Subnet
27- what is a subnet?
- -- short for communication subnetwork
- -- a collection of routers and their
communication lines
28network types
- geographical size (diameter) classification
- SANs (e.g., Fibre Channel, HiPPI)
- LANs (e.g., Ethernet, FDDI)
- MANs (e.g., SONET, RPR, OBS)
- WANs (e.g., Internet, provider backbones)
29Local Area Networks (LANs)
broadcast networks (a) bus, (b) ring switched
networks (not shown)
30Metropolitan Area Networks (MANs)
sample cable TV infrastructure
31Wide Area Networks (WANs)
32routing in WANs
stream of packets from sender to receiver
33network type based on transmission medium
34extra-terrestrial wireless networks
- direct sky-land connection
sky-LAN (!)
35wired vs. wireless
36network topologies
- links can be
- broadcast
- point-to-point
- network topologies can be
- ring
- bus
- star
- tree
- combination of the above
- completely interconnected!
37 completely interconnected networks -- a bad
idea?
38 completely interconnected networks -- a bad
idea? in general yes, a bad idea! because
too many connections are required -- how
many?
39telephone network vs. data network
packet-switched -- routers must store data
circuit-switched -- switches don't store
voice
40(No Transcript)
41network reliability
- three classes of failure
- 1. bit errors error rate 1/106 in Cu, 1/1012 in
fiber - 1.1 bit inversion
- 1.2 burst errors
- causes -
- for Cu lightning car alternators bad
weather induction by power lines - for fiber misfiring laser-diodes / electronic
glitch
42network reliability
- three classes of failure (contd.)
- 2. packet errors
- 2.1 corrupt packet
- 2.2 missing packet
- causes -
- unsalvageable bit errors packet drops at
routers due to congestion
43network reliability
- three classes of failure (contd.)
- 3. node or link failures
- 3.1 router crash
- 3.2 link goes down
- causes -
- router power failure buggy software in router
- cut/damaged communications line (wired medium)
- bad weather (wireless) etc.
44- different types of service in networks
- when reliable, in-order delivery is essential ...
- connection-oriented service
- (used by telnet, rlogin, ftp)
- has connection setup overhead
- when timely delivery is more important than
reliable delivery ... - connectionless service
- (used by NFS, client-server request-replies,
real time voice/video) - no connection setup overhead
45network architecture layers protocols
- hosts routers need to communicate
- ? communication model needed!
- how to model?
- -- use layers
46services to protocols relationship
- higher layer uses services of next lower layer,
using function calls (APIs) - data flows vertically in single instance model
- data flows horizontally across two instance model
at lowest layer only
47protocol standardization
- communicating hosts must speak the same protocol
- standardization enables multiple implementations
- or, the same folks have to write all the software
- Internet Engineering Task Force (IETF)
- working groups focus on specific issues
- produce Request For Comments (RFCs)
- promoted to standards via rough consensus and
running code - e.g., RFC 959 on File Transfer Protocol
- IETF Web site http//www.ietf.org
- de facto standards same folks writing the code
- P2P file sharing, Skype, ..., ltyour protocol
heregt, ...
48protocol standardization
- main players
- ISO
- ITU
- IETF
- ANSI
- IEEE
49ITU
- main sectors
- radiocommunications
- telecommunications Standardization
- development
- classes of members
- national governments
- sector members
- associate members
- regulatory agencies
50IEEE 802 Standards
The important ones are marked with . The ones
marked with ? are hibernating. The one marked
with gave up.
51OSI reference model hosts and routers
52OSI reference model
53notes on the OSI Model
- 1. protocols running on different machines, but
at the same layer (level) ? peers - 2. one or more protocols per layer
- 3. layered model ? protocol stack
54functions of OSI layers
- layer 1 physical (PHY) layer
- 1. electrical, mechanical procedural interfaces
- e.g.,
- specs of physical medium wired, wireless,
optical, - dimensions of media and plugs,
- timing issues how long (in nanosecs)
a bit lasts - 2. direction of communication
- e.g.
- simplex
- duplex
- semi-duplex (half-duplex)
55functions of OSI layers
layer 2 data link layer 1. packet framing 2.
error detection / correction -
generate/process acknowledgements (ACK/NACK)
- checksum packets 3. fragmentation/reassembly
of packets - fragment sequence numbering 4.
medium access control (MAC) - for broadcast
(shared) media - rules for sharing, resolving
contention
56functions of OSI layers
layer 3 network layer 1. finding using routes
2. interconnection of heterogeneous
networks/nodes 3. congestion control -
congestion avoidance - congestion recovery
this function is implemented in the transport
layer in the tcp/ip model
57functions of OSI layers
layer 4 transport layer 1. establish
connection segment data into packets 2.
sequencing of packets 3. flow control (to
prevent fast sender from swamping
slow receiver with data) note
the transport layer and all higher layers are
true end-to-end layers
58functions of OSI layers
layer 5 session layer 1. establish sessions
between source-destination hosts 2.
synchronization / checkpointing i.e.,
bookmarking during file transfers 3. token
management (for performing critical functions)
59functions of OSI layers
layer 6 presentation layer 1. representation of
characters/numbers is m/c specific - bits
in characters, integers fp numbers -
bit/byte ordering (little endian big endian) -
ASCII vs. EBCDIC so, convert char/num
representation to network standard format
60functions of OSI layers
layer 7 application layer 1. virtual terminal
control 2. application programs - email, web
browser, file transfer, telnet, chat
61OSI TCP/IP reference models compared
TCP/IP reference model
OSI reference model
62TCP/IP protocol interaction
63 64protocol hierarchies headers/trailers
information flow in a 5 layer model
65is layering harmful?
- layer n may duplicate lower level functionality
- e.g., error recovery to retransmit lost data
- layers may need redundant information
- e.g., timestamps, maximum transmission unit size
- strict adherence to layering may hurt performance
- e.g., hiding details about what is really going
on - some layers are not always cleanly separated
- inter-layer dependencies for performance reasons
- some dependencies in standards (header checksums)
- multi-part headers start to get really big
- sometimes more header bytes than actual content
66TCP/IP model
- defined in its original form by Cerf Kahn
(1974) - built for robustness
- - used redundant routers connections
- the Internet layer in the TCP/IP model is
equivalent to the network layer in the OSI model - -- in TCP/IP, hosts are assigned IP addresses
- -- the IP address identifies a host/router
- (like a postal address)
- -- packets are routed using IP addresses
67TCP/IP protocols
protocols and networks in the TCP/IP model
NOTE the TCP/IP model specifies no specific
protocol for the lowest (IP-to-network) layer,
therefore a subnet may implement its own, shim,
interior routing protocol above the link layer.
68TCP/IP model
- ltre-emphasisgt
- transport layer has 2 main protocols
- 1. TCP reliable, connection-oriented
- 2. UDP unreliable, connectionless
- Internet layer (network layer) has 1 main
protocol - 1. IP routing
- Internet model name TCP/IP
69OSI vs. TCP/IP
- OSI
- seven layer model came first
- protocols after
- supports numerous network protocols
- TCP/IP
- four layer protocols came first
- model descriptive
- supports only IP network protocol (narrow waist)
70defining characteristic of the Internet
architecture
- need sub-layer to join incompatible networks
- between transport and network layers
- at gateways between networks
- for routing and flow control between networks
- sub-layer looks like transport, to networks being
joined - sub-layer looks like network, to end-to-end
transport - In the Internet, the Internet Protocol (IP) is
that sub-layer. - (when IP is used as the network layer in the
networks, - no other network layer protocol is needed)
(from a slide by Eytan Modiano)
71example networks
- the Internet
- connection-oriented networks X.25, frame
relay, and ATM - Ethernet
- wireless LANs 802.11
72NSFNET
NSFNET backbone in 1988
73architecture of the Internet
(Telecom/datacom is swimming in synonyms and
redundant acronyms.)
74demo of 'ping'
- What is ping?
- - a utility to see if destination host is
reachable - and
- - if reachable, to find packet Round Trip Time
(RTT)