Here are the key steps to solve this problem:
- Propagation delay = Distance / Speed of light
- Distance = 4 km = 4000 m
- Speed of light = 2 x 10^8 m/sec
- Propagation delay = 4000 m / (2 x 10^8 m/sec) = 20 ms
- Transmit delay = Size of data / Bandwidth
- For transmit delay to equal propagation delay of 20 ms, set:
- Transmit delay = 20 ms
- Size of data = 1 bit (since we want minimum bandwidth)
- 20 ms = 1 bit / Bandwidth
- Bandwidth = 1 bit / 20 ms = 50 Mbps
Therefore, the minimum
2. 2
Chapter
1
Problems
How to build a scalable network that will support
different applications?
What is a computer network?
How is a computer network different from other
types of networks?
What is a computer network architecture?
4. 4
Chapter
1
Applications
Most people know about the Internet (a computer
network) through applications
World Wide Web
Email
Online Social Network
Streaming Audio Video
File Sharing
Instant Messaging
…
Three types of people comes in applications
Application developers
Network managers
Network protocols developers.
6. 6
Chapter
1
Application Protocol
URL
Uniform resource locater
http://www.cs.princeton.edu/~llp/index.html
HTTP( download a page)
Hyper Text Transfer Protocol
TCP
Transmission Control Protocol
17 messages for one URL request
6 to find the IP (Internet Protocol) address
3 for connection establishment of TCP
4 for HTTP request and acknowledgement
Request: I got your request and I will send the data
Reply: Here is the data you requested; I got the data
4 messages for tearing down TCP connection
Multimedia application how it works
7. 7
Chapter
1
Requirements
Perspective
Different perspective of the C.N.
Application Programmer
List the services that his application needs: delay
bounded delivery of data
Network operator
Easy to administrate and manage: faults can easily be
identified, adding of new devices.
Network designer
Design a cost-effective network :sharable resources,
Issues of performance
8. 8
Chapter
1
Connectivity
Provide connectivity
Need to understand the
following terminologies
Scale
Limiting the machines
Grow the network
Growth of orbittarily large
system
Link
(a) Point-to-point
(b) Multiple access
11. 11
Chapter
1
Cost-Effective Resource Sharing
Resource: links and
nodes
How to share a link?
Multiplexing
Share a CPU by many
processes
De-multiplexing
Synchronous Time-division
Multiplexing
Time slots/data
transmitted in
predetermined slots
Frequency division
multiplexing
Multiplexing multiple logical flows
over a single physical link
12. 12
Chapter
1
Cost-Effective Resource Sharing
FDM: Frequency Division
Multiplexing
Statistical Multiplexing
Data is transmitted based
on demand of each flow.
What is a flow?
Packets vs. Messages
FIFO, Round-Robin,
Priorities (Quality-of-
Service (QoS))
Congested?
LAN, MAN, WAN
SAN (System Area
Networks
A switch multiplexing packets from
multiple sources onto one shared
link
13. 13
Chapter
1
Support for Common Services
Logical Channels
Application programs should communicate with each other
Identify the right set of common services
Each channel provides the set of services required by that application
Can think channel as being a pipe connecting two applications
Application-to-Application communication path or a pipe
The challenge is to recognize what functionality the channel should
provide to the application
Guarantee the message is delivered
Acceptable if some message fail to arrive
Process communicating over an
abstract channel
14. 14
Chapter
1
Common Communication Patterns
Earliest application in any network is FTP and
NFS
Client/Server
Two types of communication channel
Request/Reply Channels
Guaranteed every message is delivered, provide privacy
Message Stream Channels
Used by V-O-D and videoconferencing
Support in one way or two way.
Ensure the message delivered arrive at the same order.
May have to support the multicasting.
15. 15
Chapter
1
Reliability
Reliable message delivery is the most important
function
Network don't exists in the perfect word
3 type of failures the designs has to handle
Network should hide the errors
1 Bits are lost
Bit errors (1 to a 0, and vice versa)
Burst errors – several consecutive errors
2 Packets are lost (Congestion)
3 Links and Node failures
Messages are delayed
Messages are delivered out-of-order
16. 16
Chapter
1
Manageability
Networks need to be managed
Making changes as the network grows
Hundered millions of hosts will be running
Configuration of new devices such as routers
Trouble shooting when network things go
wrong
Make operations of the network scalable and
cost effective.
Network management.
17. 17
Chapter
1
Network Architecture
•A computer network should provide general cost effective, fair, and robust
connectivity among a large number of network.
•Network designers have developed general blue print called NETWORK
ARCHICTURE
•Layering and protocol
•Abstraction for the applications that hides complexity from the
application writer
•Service provided by the higher layer are implemnted by the service
provided by the lower layers.
18. 18
Chapter
1
Network Architecture
Layered system with alternative abstractions available at a given layer
•Layering provide the two features
•Building the network into more
manageable components
•Provides the more modular design
19. 19
Chapter
1
Protocols
Protocol defines the interfaces between the
layers in the same system and with the layers of
peer system
Building blocks of a network architecture
Each protocol object has two different interfaces
service interface: operations on this protocol
peer-to-peer interface: messages exchanged with
peer
Term “protocol” is overloaded
specification of peer-to-peer interface
module that implements this interface
21. 21
Chapter
1
Protocols
Protocol Specification: prose, pseudo-code, state
transition diagram
Referred to as abstract interface and form of the
meaning exchanged between peers
Module that actually implements the interfaces
Interoperable: when two or more protocols that
implement the specification accurately
Policies are established by
IETF: Internet Engineering Task Force
ISO
22. 22
Chapter
1
Protocol Graph
Example of a protocol graph
nodes are the protocols and links the “depends-on” relation
•RRR: request
replay
•MSP: message
stream protocol
•HHP: host-host
protocol
26. 26
Chapter
1
Description of Layers
Physical Layer
Handles the transmission of raw bits over a communication link
Data Link Layer
Collects a stream of bits into a larger aggregate called a frame
Network adaptor along with device driver in OS implement the
protocol in this layer
Frames are actually delivered to hosts
Network Layer
Handles routing among nodes within a packet-switched network
Unit of data exchanged between nodes in this layer is called a
packet
The lower three layers are implemented on all network nodes
27. 27
Chapter
1
Description of Layers
Transport Layer
Implements a process-to-process channel
Unit of data exchanges in this layer is called a message
Session Layer
Provides a name space that is used to tie together the potentially
different transport streams that are part of a single application
Presentation Layer
Concerned about the format of data exchanged between peers
Application Layer
Standardize common type of exchanges
The transport layer and the higher layers typically run only on end-
hosts and not on the intermediate switches and routers
29. 29
Chapter
1
•4 layer archicture
•NET1… Protocols are implemented by the combination
of s/w and h/w
•Ethernet, wireless LAN
•IP
•Connects all the network
•TCP
•UDP and TCP
•Application protocols
•HTTP, FTP etc.
30. 30
Chapter
1
Internet Architecture
Evolved from ARPANET
Defined by IETF
Three main features
Does not imply strict layering. The application is free to bypass
the defined transport layers and to directly use IP or other
underlying networks
An hour-glass shape – wide at the top, narrow in the middle and
wide at the bottom. IP serves as the focal point for the
architecture
In order for a new protocol to be officially included in the
architecture, there needs to be both a protocol specification and
at least one (and preferably two) representative implementations
of the specification
31. 31
Chapter
1
Application Programming Interface
Interface exported by the network
Since most network protocols are implemented (those in
the high protocol stack) in software and nearly all
computer systems implement their network protocols as
part of the operating system, when we refer to the
interface “exported by the network”, we are generally
referring to the interface that the OS provides to its
networking subsystem
The interface is called the network Application
Programming Interface (API)
32. 32
Chapter
1
Application Programming Interface (Sockets)
Socket Interface was originally provided by the
Berkeley distribution of Unix
- Now supported in virtually all operating systems
Each protocol provides a certain set of services,
and the API provides a syntax by which those
services can be invoked in this particular OS
33. 33
Chapter
1
Performance
Performance is measured in Bandwidth and latency
Bandwidth
Width of the frequency band
Number of bits per second that can be transmitted over a
communication link
1 Mbps: 1 x 106 bits/second = 1x220 bits/sec
1 x 10-6 seconds to transmit each bit or imagine that a
timeline, now each bit occupies 1 micro second space.
On a 2 Mbps link the width is 0.5 micro second.
Smaller the width more will be transmission per unit time.
34. 34
Chapter
1
Bandwidth
Bits transmitted at a particular bandwidth can be regarded as
having some width:
(a) bits transmitted at 1Mbps (each bit 1 μs wide);
(b) bits transmitted at 2Mbps (each bit 0.5 μs wide).
35. 35
Chapter
1
Performance
Latency = Propagation + transmit + queue
Propagation = distance/speed of light
Transmit = size/bandwidth
One bit transmission => propagation is important
Large bytes transmission => bandwidth is important
36. 36
Chapter
1
Delay X Bandwidth
We think the channel between a pair of processes as a
hollow pipe
Latency (delay) length of the pipe and bandwidth the
width of the pipe
Delay of 50 ms and bandwidth of 45 Mbps
50 x 10-3 seconds x 45 x 106 bits/second
2.25 x 106 bits = 280 KB data.
Network as a pipe
37. 37
Chapter
1
Delay X Bandwidth
Relative importance of bandwidth and latency
depends on application
For large file transfer, bandwidth is critical
For small messages (HTTP, NFS, etc.), latency is
critical
Variance in latency (jitter) can also affect some
applications (e.g., audio/video conferencing)
38. 38
Chapter
1
Delay X Bandwidth
How many bits the sender must transmit
before the first bit arrives at the receiver if the
sender keeps the pipe full
Takes another one-way latency to receive a
response from the receiver
If the sender does not fill the pipe—send a
whole delay × bandwidth product’s worth of
data before it stops to wait for a signal—the
sender will not fully utilize the network
39. 39
Chapter
1
Delay X Bandwidth
Infinite bandwidth
RTT dominates
Throughput = TransferSize / TransferTime
TransferTime = RTT + 1/Bandwidth x
TransferSize
Its all relative
1-MB file to 1-Gbps link looks like a 1-KB
packet to 1-Mbps link
41. 41
Chapter
1
Calculate the total time required to transfer a 1,000-KB file in
the following cases, assuming an RTT of 50 ms, a packet size
of 1-KB data, and an initial 2×RTT of “handshaking” before
data is sent.
(a) The bandwidth is 1.5 Mbps, and data packets can be sent
continuously.
(b) The bandwidth is 1.5 Mbps, but after we finish sending
each data packet we must wait one RTT before sending the
next.
(c) The bandwidth is “infinite,” meaning that we take
transmit time to be zero, and up to 20 packets can be sent
per RTT.
42. 42
Chapter
1
We will count the transfer as completed when the last data bit arrives
at its destination. An alternative interpretation would be to count until
the last ACK arrives back at the sender, in which case the time would
be half an RTT (25ms) longer.
(a) 2 initial RTT’s (100ms) + 1000KB/1.5Mbps (transmit) + RTT/2
(propagation= 25ms)
≈ 0.125 + 8Mbit/1.5Mbps = 0.125 + 5.333 sec = 5.458 sec. If we pay
more careful attention to when a mega is 106 versus 220, we get
8,192,000 bits/1,500,000bps = 5.461 sec, for a total delay of 5.586 sec.
(b) To the above we add the time for 999 RTTs (the number of RTTs
between when packet 1 arrives and packet 1000 arrives), for a total of
5.586 +49.95 = 55.536.
(c) This is 49.5 RTTs, plus the initial 2, for 2.575 seconds.
43. 43
Chapter
1
•Consider a point-to-point link 4 km in length. At what
bandwidth would propagation delay (at a speed of 2 ×
10^8m/sec) equal transmit delay for 100-byte packets?
What about 512-byte packets?
•Propagation delay is 4×10^3m/(2×10^8m/s) = 2×10−5
sec = 20 μs.
•100 bytes/20μs is 5 bytes/μs, or 5MBps, or 40Mbps.
•For 512-byte packets, this rises to 204.8Mbps.
44. 44
Chapter
1
For the following, assume that no data compression is
done, although in practice this would almost never be
the case. For (a) to (c), calculate the bandwidth
necessary for transmitting in real time:
(a) Video at a resolution of 640×480,3 bytes/pixel, 30
frames/second. =640X480X3X8X30= bits/sec
(b) Video at a resolution of160×120,1byte/pixel, 5
frames/second. =160X120X8X5=768000
bits/sec=.768Mbps
(c) CD-ROM music, assuming one CD holds 75
minutes’ worth and takes 650 MB.
=650X10^6X8/(75X60)=1155555bits/sec=1.15MBps
45. 45
Chapter
1
For the following, assume that no data
compression is done. Calculate the bandwidth
necessary for transmitting in real time:
(a) High-definition video at a resolution of
1920×1080, 24 bits/pixel, 30 frames/second.
=1920X1080X24X30=
(b) POTS(plain old telephone service) voice audio
of 8-bit samples at 8
KHz.=8000X8=64000=64kbps
(c) GSM mobile voice audio of 260-bit samples at
50Hz.
(d) HDCD high-definition audio of 24-bit samples
at 88.2kHz. = 88.2X1000X24=
47. 47
Chapter
1
Summary
We have identified what we expect from a computer
network
We have defined a layered architecture for computer
network that will serve as a blueprint for our design
We have discussed the socket interface which will be
used by applications for invoking the services of the
network subsystem
We have discussed two performance metrics using
which we can analyze the performance of computer
networks