Credits and Course Format
Credits and Course Format
Attendance: 05%
Assignments: 20%
Mid-Term: 15%
End-Term: LAB Test: 15%
End-Sem: 45%
Grading Pattern = 1
Credits = 4
2 Classes/week, 1hr/Class,
2 Labs/Week, 2hr/Lab,
Motivation
Computer network programming enables computers to share data with each
other via inter-process communication. Operating system kernel plays an
important role in managing the basic requirements of networking. One of such
operating system is Unix. Unix is an open source operating system that is the
most versatile and coustomizable operating system available. Moreover the
netwoshing function that are essential for network communication is already
built in to its kernel. Hence, programmer prefer Unix as the main system for
running servers.
First, this course talks about the basics of networking and network protocols.
Then it dives in to C programming concepts for designing server and clients on
Unix system.
Introduction to computer networks
A computer network is a group of devices connected with each other through a
transmission medium such as wires, cables etc. These devices can be
computers, printers, scanners, Fax machines etc.
The purpose of having computer network is to send and receive data stored in
other devices over the network. These devices are often referred as nodes.
Rules Rules
Message
Sender Transmission Media Receiver
Cost Sharing
CN enable resources like Speed
effectiveness
file, software, hardware The data sharing speed
Resources sharing
to be shared among has increased significantly
enable user to use
devices due to the computer
costly software and
networks.
hardware without
Features of
owning them
computer
Security network Scalability
Size of computer network can
Gives user nights to
Integration dynamically increase with time
restrict or allow sharing
of information and Computer network
resources devices can seamlessly
coordinate to give user an
experience of having large
resources
Some uses of computer network
Computer networks have become invaluable to organizations as well as
individuals. Some of its main uses are as follows −
• Information and Resource Sharing − Computer networks allow organizations
having units which are placed apart from each other, to share information in a
very effective manner. Programs and software in any computer can be
accessed by other computers linked to the network. It also allows sharing of
hardware equipment, like printers and scanners among varied users.
• Retrieving Remote Information − Through computer networks, users can
retrieve remote information on a variety of topics. The information is stored in
remote databases to which the user gains access through information systems
like the World Wide Web.
• Speedy Interpersonal Communication − Computer networks have increased
the speed and volume of communication like never before. Electronic Mail
(email) is extensively used for sending texts, documents, images, and videos
across the globe. Online communications have increased by manifold times
through social networking services.
• E-Commerce − Computer networks have paved way for a variety of business
and commercial transactions online, popularly called e-commerce. Users and
organizations can pool funds, buy or sell items, pay bills, manage bank
accounts, pay taxes, transfer funds and handle investments electronically.
• Highly Reliable Systems − Computer networks allow systems to be
distributed in nature, by the virtue of which data is stored in multiple sources.
This makes the system highly reliable. If a failure occurs in one source, then the
system will still continue to function and data will still be available from the
other sources.
• Cost–Effective Systems − Computer networks have reduced the cost of
establishment of computer systems in organizations. Previously, it was
imperative for organizations to set up expensive mainframes for computation
and storage. With the advent of networks, it is sufficient to set up
interconnected personal computers (PCs) for the same purpose.
Network hardware, and network software
Router
Internet
Bridge
Hub
Server
Repeater
Hardware Components
• Servers −Servers are high-configuration computers that manage the resources
of the network. The network operating system is typically installed in the server
and so they give user accesses to the network resources. Servers can be of
various kinds: file servers, database servers, print servers etc.
• Clients − Clients are computers that request and receive service from the
servers to access and use the network resources.
• Peers − Peers are computers that provide as well as receive services from
other peers in a workgroup network.
• Transmission Media − Transmission media are the channels through which data
is transferred from one device to another in a network. Transmission media
may be guided media like coaxial cable, fibre optic cables etc; or maybe
unguided media like microwaves, infra-red waves etc.
• Connecting Devices − Connecting devices act as middleware between
networks or computers, by binding the network media together. Some of the
common connecting devices are:
a. Routers
b. Bridges
c. Hubs
d. Repeaters
e. Gateways
f. Switches
Software Components
Normally, ‘‘m’’ is used for milli and ‘‘µ’’ (the Greek letter mu) is used for micro.
Network performance metrics
Message size
Transmission time =
Bandwidth
Propagation Time Propagation time measures the time required for a bit to
travel from the source to the destination.
Distance
Propagation time =
Speed in medium
What are the propagation time and the transmission time for a 2.5-kbyte
message (an e-mail) if the bandwidth of the network is 1 Gbps? Assume that the
distance between the sender and the receiver is 12,000 km and that light
travels at 2.4 x 108 m/s.
12,000 x 1000
Propagation time 50 ms
8
2.4 x 10
3
2.5 x 10 x8
Transmission time 0.020 ms
9
1 x 10
Latency The latency or delay defines how long it takes for an entire message to
completely arrive at the destination from the time the first bit is sent
out from the source.
Unit is in hertz
Capacity The maximum number of bits that can be transmitted in second over
a channel.
Not in dB
Capcity Bandwidth
Imagine a highway designed to transmit 1000 cars per minute from one point to
another. However, if there is congestion on the road, this figure may be reduced
to 100 cars per minute. The bandwidth is 1000 cars per minute; the throughput
is 100 cars per minute.
8
10 m/s. The link has a bandwidth of 5 Mbps. Which component of the total delay
is dominant?
We have,
Latency = processing time + queuing time + transmission time + propagation time
The transmission time is dominant here because the packet size is huge.
Hence,
8
Bit length = (2 ×10 m/s) × [(1 / (1 Mbps)] = 200 m. This means a bit
occupies 200 meters on a transmission medium.