Data Communication and Computer Networks: Dr. Ehsan Munir
Data Communication and Computer Networks: Dr. Ehsan Munir
Data Communication and Computer Networks: Dr. Ehsan Munir
Computer Networks
Lecture # 4
3
Addressing and Routing
Address: byte-string that identifies a node
Usually unique
Routing: forwarding decisions
Process of determining how to forward messages
to the destination node based on its address
Types of addresses
unicast: node-specific
broadcast: all nodes on a network
multicast: some subset of nodes on a network
4
Network Overview
What must a network provide ?
Connectivity
Cost-effective resource sharing
Functionality (common set of services)
Performance
Manageability
How are networks designed and built ?
Layering
Protocols
5
Cost effective resource sharing
(Multiplexing)
Physical links/switches must be shared among
users (simultaneous transmission of multiple signals)
Time-Division Multiplexing (TDM)
Frequency-Division Multiplexing (FDM)
S1 Multiple flows R1
on a single link
S2 R2
Switch 1 Switch 2
S3 R3
Do you see any problem with TDM / FDM ?
6
Statistical Multiplexing
On-demand time-division
Schedule link on a per-packet basis
Buffer packets in switches that are contending for
the link
7
Statistical Multiplexing
An application needs to break-up its message in
packets, and re-assemble at the receiver
Fair allocation of link capacity: FIFO, round-robin or
QoS
If congestion occurs at a switch - buffer may
overflow, packets may be lost
8
What Goes Wrong in the Network?
Reliability
Most important function that network
provide
How networks can fail?
Bit-level Vs Burst errors (electrical
interference)
Packet-level errors (congestion)
distinction between lost and late packet
Link and node failures
distinction between broken and flaky link
distinction between failed and slow node 9
Network Overview
What must a network provide ?
Connectivity
Cost-effective resource sharing
Functionality (common set of services)
Performance
Manageability
How are networks designed and built ?
Layering
Protocols
10
Protocol “layers”
Networks are complex,
with many “pieces”:
hosts Question:
routers is there any hope of
links of various organizing structure of
media network?
applications
protocols …. or at least our
hardware, discussion of networks?
software
What’s a protocol?
human protocols: network protocols:
“what’s the time?” machines rather than
“I have a question” humans
introductions all communication
activity in Internet
… specific msgs sent governed by protocols
… specific actions taken protocols define format,
when msgs received, order of msgs sent and
or other events received among network
entities, and actions
taken on msg
transmission, receipt
What’s a protocol?
a human protocol and a computer network protocol:
Hi TCP connection
req
Hi
TCP connection
Got the response
time? Get http://www.awl.com/kurose-ross
2:00
<file>
time
14
Layered Approach
A complex problem is divided into a number
of pieces of manageable and comprehensible
size
It provides structured modular approach
Each module can be developed and tested
independently
15
Layered Approach
Allows easy enhancement and
implementation of the functions of a
particular layer without affecting other layers
Layering provides 2 nice features
Decompose the problem
Provides modular design
16
Organization of air travel
ticket (purchase) ticket (complain)
a series of steps
Layering of airline functionality
airplane routing airplane routing airplane routing airplane routing airplane routing
20
Layers of the OSI model
Physical Layer: Transmission/reception of raw bits
Data Link Layer: Maps bits into frames, dictates sharing of
common medium, corrects/detects errors , re-orders frames
Network Layer: Routes packets to destination, may perform
fragmentation and re-assembly, IP, routing protocols
Transport Layer: Flow (congestion) control, transparent
transport to upper layers, TCP, UDP
Session Layer: Establishes connection among hosts, duplex,
half-duplex, graceful connection termination, combination of
streams
Presentation Layer: Negotiation of format of data exchanged
between hosts
Application layer: Application services such as FTP, HTTP
21
The Internet TCP/IP Architecture
FTP HTTP TFTP DNS
Net 1 Net 2
Ethernet FDDI
23
Protocol layering and data
Each layer takes data from above
adds header information to create new data unit
passes new data unit to layer below
source destination
M application application M message
Ht M transport transport Ht M segment
Hn Ht M network network Hn Ht M datagram
Hl Hn Ht M link link Hl Hn Ht M frame
physical physical