5 CS1FC16 Computer Networks
5 CS1FC16 Computer Networks
Another way of classifying networks is based on their topology – the pattern in which machines are
connected. The most popular are:
Bus – machines connected to a common communication line, example: Ethernet
Star – one machine serving as a central focal point, popular in wireless networks with central
access point.
The distinction between bus and star is whether the machines communicate directly with each other
over a common bus or indirectly through the central machine.
A bus network might be created by running links from each computer to the central location where they
are connected to a hub – the result is a network that looks like a star but operates like a bus.
Protocols
Network protocols are rules by which activities are conducted if a network is to function reliably. The
development of protocols standards is necessary in the development of networking technologies.
In a bus network based on Ethernet standards, transmitting messages is controlled by the protocol
CSMA/CD - Carrier Sense, Multiple Access with Collision Detection. In this protocol each message is
broadcast on the bus to all machines. Each machine monitors all messages but only keeps those
addressed to itself. To transmit a message a machine waits until the bus is silent and begins transmitting,
still monitoring the bus. If another machine begins transmitting, they both stop and try again after a
certain period of time. CSMA/CD is not compatible with wireless star networks where machines
communicate through central AP – machines may be unable to detect that the messages are colliding –
signals from different machines may be blocked from each other by distance or objects in the way, even
though they can all still communicate with central AP – hidden terminal problem.
Wireless networks adopt the protocol CSMA/CA protocol – Carrier Sense, Multiple Access with
Collision Avoidance. To avoid collisions, machines that have already been waiting for opportunity to
transmit are given advantage. When a machine wants to transmit a message and finds an empty
channel, it doesn’t transmit immediately but waits for a period of time and only starts transmission if
the channel has remained silent. Otherwise it waits for a period of time and tries again. Once this period
is exhausted the machine can claim an empty channel without waiting.
To address hidden terminal problem, some networks require that each machine sends a request to AP
and waits for acknowledgement before transmitting.
Combining networks
Networks can be connected to form a large version of the same type of network. For example, it is
possible to connect buses to form a single long bus. This is done by using repeaters, bridges and
switches.
Repeater – the simplest –passes the signal back and forth between 2 original buses without
considering their meanings
Bridge – also connects 2 buses but doesn’t necessarily pass all messages across the connection,
but looks at the destination address and only forwards messages if they're intended for a
computer on the other side – produces a more efficient system than a repeater
Switch – a bridge that can connect several buses, switch also examines the destination
addresses and forwards the messages to the networks they're intended for
When the networks are connected via repeaters, bridges and switches, the result is a single large
network that uses the same protocol as each of the small ones.
When the networks have incompatible characteristics, they must be connected in a way that builds
network of networks (an internet), in which the original networks continue to function autonomously.
Connecting the networks to form an internet is done via a router – a special purpose computer for
forwarding messages. A router provides a link between networks allowing each network to maintain its
internal characteristics.
Routers forward messages basing on the addressing system. Every device in an internet has a unique
address (every machine has a local address in the original network as well). To send a message, a
machine attaches the internet address of the destination and sends it to the local router, from where it
is forwarded to its destination. Each router maintains a forwarding table containing the information on
where the messages should be sent depending on their destination addresses.
Inter-process communication
Various processes executing on different computers within the network must often communicate with
each other to coordinate their actions and perform their designated tasks – this is called inter-process
communication. There are 2 main models:
Client/server - one process (server) provides service to numerous others (clients)
o The server must execute continuously
o Clients initialize the communication
Peer-to-peer – processes provide and receive services from each other
o 2 processes communicate as equal
o Usually involves processes executed on a temporary basis (short-lived)
o Often used for online games and distributing files – collection of peers participating in
the distribution is called a swarm
Distributed systems
Distributed systems are software systems that enable interaction between computers via a network.
They consist of software units that execute as processes on different computers.
Types of distributed systems:
Cluster computing – many independent computers work closely together to provide
services comparable to a much larger machine. They provide high availability and load balancing
– workload can be shifted from one computer that has too much to do to another.
Grid computing – systems are more loosely connected than clusters but still work
together to accomplish large tasks. Can involve specialized software to make it easier to
distribute data and algorithms to participating machines
Cloud computing – a huge pool of shared computers that can be allocated for user as
needed. Raises concerns about security and privacy – you don’t know who owns the computer
you are using
The Internet
The Internet is a computer network with a collection of connected networks that span world-wide.
These networks are constructed and maintained by Internet Service Providers. The system of networks
operated by the ISPs can be classified in a hierarchy according to the role they play in the overall
Internet structure:
Tier-1 ISP – high speed, high capacity international WANs – backbone of the Internet, operate by
the largest companies in the communication business
Tier-2 ISP – more regional in scope and less potent
Tier-1 and tier-2 ISPs are networks of routers that collectively provide the communication infrastructure
– the core of the Internet
Tier-3 ISPs provide access to this core. A tier-3 ISP is an independent internet (intranet)
operated by a single authority that supplies Internet access to individual homes
End systems / hosts – devices that individual users connect to the access ISP
The most common technology of connecting end systems to networks is by wireless connection based
on Wi-Fi technology – connecting a AP to an access ISP provides Internet access to end systems within
broadcasting range
Internet addressing
IP – Internet Protocol – is used for addressing a machine in the Internet. Each IP address is a pattern of
bits. Originally, 32 bits were used but to provide a larger set of addresses they have been extended to
128.
Allocating the addresses:
Blocks of consecutive addresses are assigned to ISPs by the Internet Corporation for
Assigned Names and Numbers (ICANN).
The ISP allocated individual addresses to the machines.
IP addresses are traditionally written in dotted decimal notation (binary on the machine level).
As bit patterns are inconvenient for human users, the Internet has an alternative addressing system – by
mnemonic names.
System based on the concept of domain – a region of the Internet operated by a single
authority. Each domain must be registered with ICANN. Then it is assigned a mnemonic domain
name.
Mnemonic addresses are convenient for humans but messages are always transferred over the
Internet using IP addresses. Name servers provide translation of mnemonic addresses into IP.
They are collectively used as an Internet-wide directory system called domain name
system(DNS). DNS lookup is the process of using DNS to perform a translation.
Internet applications
In the earlier days, most applications were separate, simple programs, each following a network
protocol, e.g. a newsreader application contacted servers using the Network News Transfer Protocol. As
webservers and browsers became more sophisticated, more of the applications started to be handled by
webpages vie Hyper Text Transfer Protocol (HTTP).
One of the oldest uses of the Internet is electronic mail.
Some of the more recent are:
VoIP – Voice over Internet Protocol – Internet infrastructure used to provide voice
communication in simplest form – 2 processes on different machines transmitting audio via P2P
o VoIP soft phones – P2P software that allows 2 or more PCs to share a call
o VoIP analog telephone adapters – allow users to connect traditional telephone to
phone service provided by an Internet provider
o Embedded VoIP phones – the handset connected directly to TCP/IP network
o Current generation of smartphones uses wireless VoIP technology
Internet Multimedia Streaming – transporting audio and video across the Internet in real time
o N-unicast – single sender sending messages to all clients who requested them – places a
substantial burden on the sender who has to send individual messages to all clients
o Multicast – a server transmits a message to multiple clients by means of single address
and relies on the routers to forward copies to the destinations – implemented in small
networks
o On-demand streaming – user can view the media at a time of their choosing – each on-
demand stream is a unicast to the user that requested it
Large scale streaming services use content delivery networks (CDNs) - groups of servers
distributed around the Internet that stream copies of content to users in their network
neighborhood. Anycast is a networking technology that supports CDNs – it allows end users to
automatically connect to the closest server.
Internet protocols
Transferring messages over the Internet requires the cooperation of all the computer in a system.
Internet protocol is a software implementing the rules and controlling the transfer process.
The software for controlling communication over Internet has four layers:
Application layer – consists of software units that use Internet communication to carry out their
tasks. To send a message, application layer must provide an address compatible with Internet
infrastructure.
Transport layer – accepts messages from the application layer and ensures they are
appropriately formatted for the transmission. It divides long messages into small individual units so that
they don’t obstruct the flow of other messages. It also adds segment numbers to the units so they can
be reassembled at the destination. The units – called packets – are then passed to the network layer.
Network layer – decides in which direction a packet should be sent using forwarding table and
passes it to the link layer.
Link layer – transfers the packet to the link layer at the other end of the connection. From there,
it is passed to the network layer, where its next stop is determined, then returns to link layer and is sent
further. At the final destination, the message goes from link layer to network layer and then to transport
layer. It is assembled from the packets and sent to the appropriate unit within the application layer.
In summary: A message originates in the application layer. From there it is passed to transport and
network layers where it is prepared for transmission and is then passed to the link layer and
transmitted. It is received by the link layer at the destination and passed up to the application layer
TCP/IP Protocol Suite - a collection of protocol standards used by the Internet to implement four-level
communication hierarchy. Transmission Control Protocol (TCP) and Internet Protocol (IP) are two
protocols in this collection. TCP defines a version of the transport layer. IP is the Internet standard for
implementing tasks assigned to the network layer.
WWW originates from making use of the internet technology and combining it with the concept of
linked documents – hypertext.
The key components:
o Hypertext document format – for embedding hyperlinks to other documents
o A protocol for transferring hypertext across the network
o Server process to supply hypertext pages on request
The web grew from this core to support images , audio and video.
Web implementation
Software packages that allow users to access hypertext on the Internet fall into one the two categories:
Browser – resides on user's computer, obtains and presents the material requested
Webserver – resides on the computer containing hypertext to be accessed, provides access to
the document as requested by a browser
Hypertext documents are transferred between webservers and browsers using Hypertext Transfer
Protocol (HTTP).
To locate documents on the Web, they are given unique addresses – Uniform Resource Locators (URL).
The URL contains information needed by a browser to contact the server and request a document.
A URL consists of 4 segments:
Protocol to use for communication with the server
Mnemonic address of the machine containing the server
Directory path to the document
Name of the document
A hypertext document is similar to text file but also contains special symbols – tags – that describe how
the document should appear on the display screen. This system of tags is called Hypertext Markup
Language (HTML). HTML is essentially a notational system by which a document along with its
appearance can be encoded as a text file.
In general, markup languages are designed for the processing, definition and presentation of text. HTML
is a language that organize, improve the appearance of, and link text with data on the Internet.
The Extensible Markup Language (XML) is a standardized style for designing notational systems for
representing data as text files. It defines a set of rules for encoding document for representing
mathematical expressions, multimedia presentations and music. In contrast to HTML, it emphasizes
semantics rather than appearance.