You are on page 1of 5

Network Basics

Protocols
In the context of communications, a protocol is a set of rules that must be observed by participants,
while communicating over a network involving computers. For each protocol, there must be rules that
specify the following:
• How is the data exchange encoded?
• How are events (sending, receiving) synchronized or ordered so that the participants can send and
receive in a coordinated manner?
For example, the Hypertext Transfer Protocol (HTTP) specifies the rules that must be observed
between a Web browser process and a Web server process. Any Web server program written in
conformance to these rules satisfies the protocol, regardless of what programming language or syntax
is employed.
The Internet Protocol is mainly used for identifying computers on the network and for routing the
data. At the transport layer, there are two widely used protocols: The Transmission Control Protocol
(TCP) provides connection-oriented communication, while the User Datagram Protocol (UDP)
supports connectionless communication. The TCP and protocols of the Internet and transport layers
of this architecture are universally employed for data communication over the Internet.
Finally, at the application layer, protocols such as File Transfer Protocol (FTP), Simple Network Mail
Protocol (SNMP), and Hypertext Transmission Protocol (HTTP) are specified for network
applications.

Connection-Oriented versus Connectionless Communication


In connection-oriented communication, a connection may be physically provided using hardware such
as cables, modems, etc, or logical using software that emulates a connection and it is established
between two parties, the caller and the callee.
In Connection-oriented communication, once a connection is established, data can be sent repeatedly
over the connection continued until the session is over. Once the data reaches the destination, you will
get an acknowledgment message, confirming the delivery of data. It also ensures that data packets are
delivered safely and in order, along with an established connection, at the cost of additional processing
overhead.
As the name implies, connectionless communication involves no connection. Instead, data is sent a
packet at a time. Each packet must be explicitly addressed by the sender to the receiver. Each packet
takes a separate path from source to destination and there is no guarantee of the data delivery. The
exchange continues until the session, is over. Similarly, at the transport layer of the TCP/IP suite, the
User Datagram Protocol (UDP) is connectionless, while the Transmission Control Protocol (TCP) is
connection-oriented.
Connection Oriented Vs Connectionless Interprocess Communication
Connection Oriented Connectionless

Addressing Specified at connection time; there is no Addressing is specified with


need to re-specify with each subsequent each operation
operation.

Connection There is overhead for establishing a Not applicable.


Overhead connection.

Addressing There is no addressing overhead with each Overhead is incurred with each
Overhead individual operation. operation.

Data Delivery The connection abstraction allows the |IPC The lack of connection makes
order mechanism to maintain the order of it difficult for the IPC to
delivering data packets. maintain a delivery order.

Protocols This mode is appropriate for protocols that This mode is appropriate for
require the exchange of a large stream of protocols that require
data and/or a large number of rounds of exchange a small amount of
exchange data in a limited number of
rounds of exchange

Network Resources
Network resources refer to the resources that are available to the participants of a distributed
computing community. For example, on the Internet the network resources include hardware such as
computers (including Internet hosts and routers) and equipment (printers, facsimile machines,
cameras, etc and software such as processes, email mailboxes, files, and Web documents. An
important class of network resources is network services, such as the World Wide Web (WWW) and
file transfer service, which are provided by specific processes running on computers.

Host Identification and Internet Protocol Addresses


Physically, the Internet is a gigantic mesh of network links and computers. Conceptually, the main
arteries of the Internet are a set of high bandwidth network links that constitute the "backbone" of the
network. Connected to the backbone are individual networks, each of which has a unique identifier.
Computers with TCP/IP support, called Internet hosts, are linked to individual networks. Through this
system of "information highways" data be transmitted from a host H1 on network NI to another host
H2 on network N2. To transfer data from within a program, it must be possible to uniquely identify
the process that is to receive the data,
similar to addressing the recipient of data
delivered by the postal service.

A process is a run-time representation of a


program when the program is executed on
a computer. On the internet, a computer, or
host, is linked to a network. To identify a
process, it is, therefore, necessary to name
the network, the host linked to that
network, and then the particular process
running on the host.
In the internet architecture, host identification is part of the internet protocol (IP), is the protocol at
the Internet layer of the TCP/IP suite. The discussion that follows refers to the host identification
scheme specified in version 4 of IP or IPv4. Although the scheme has been modified in IP version 6
(IPv6) to accommodate more Internet addresses, the principles of the scheme are unchanged in the
two versions, and IPv4 is chosen here for its relative simplicity.
In the IPv4, each host on the Internet is identified by a unique 32-bit string. Given a length of 32 bits,
the total number of addresses allowable is 2 32. In another way, the address space of IPv4
accommodates 232 (4,294,967,296 or over 4 billion) addresses in total.
Each IP address must identify both networks on which a host resides and then the particular host on
that network. In IPv4, the address space is divided into five classes, A through E.

Each class has a unique prefix. Class A starts with a bit 0, Class B with nit sequence 10, Class C with
110, class D with 1110, and Class E with 1111. Class A has 31 bits for Network-host identification,
this means that 231 class A addresses are available. A maximum of 230 Class B, the maximum number
of addresses class C, D, and E can be calculated in the same manner. IP addresses will be there in
dotted decimal notation as 129.65.24.50.
An IP network address is assigned by an authority, known as the Internet Assigned Numbers
Authority (IANA) to an organization such as a university or an Internet Service Provider (ISP).
Within each network, the assignment of the host portion is internal to the organization. An
organization makes use of this portion of the address to subdivide its network into a hierarchy of
subnets, with a unique host number assigned to each computer attached to a subnet.
Due to the increase in demand for IP addresses, a dynamic addressing scheme was introduced. Using
dynamic addressing, 65 thousand addresses are pooled and when accessing the internet through ISP,
the IP address of the client computer may vary from one login session to the next.
It is not possible to memorize the IP address. Hence, a symbolic name to identify the host is preferable.
That is why the Domain Name System (DNS) was adopted. Every domain name contains two or
more components separated by dots. Top-level domain names are classified as shown below:
.com For commercial entities, which anyone anywhere in the world, can register.

.net Originally used by organizations directly involved in Internet operations. It is


increasingly used by businesses when the desired name under .com is already registered
by another organization. Today anyone can register a name in .net domain.

.org For miscellaneous organizations including nonprofits

.edu For four-year accredited institutions of higher learning

.gov For US federal government entities

.mil For US military


Country For individual countries based on International Standards Organization .in India, ja
codes Japan .ca for Canada and so on.

Each domain name are mapped to the corresponding IP address. This is performed by using a
network service known as DNS naming resolution.
The internet consists of n hierarchy of networks, interconnected via a network backbone. Each
network has a unique network address. Computers or hosts are connected to a network. Each host
has a unique ID within its network. Each process running on a host is associated with zero or more
ports for data transmission.

Identifying Processes with Protocol Ports


Specifying the correct domain name or its corresponding IP address allows us to locate a
computer or host on the Internet. But in network applications, data needs to be delivered to a
specific process running on a computer. Thus we need a naming scheme to allow us to uniquely
identify such a process. There are any numbers of possible schemes to do so. For example, one
possibility is to make use of a unique process identifier (PID) assigned to the process by the
operating system.
On the Internet, the protocol for process identification involves the use of a logical entity
known as a protocol port or a port for short. The transport layer in the Internet architecture is
responsible for dispatching data to processes, and that two well-known protocols are in use at this
layer: TCP and UDP. Each of these protocols uses a separate set of ports on each host for this
purpose. A process that wishes to exchange data with another process using either TCP or UDP
must be assigned one of the ports.
In the TCP and UDP protocols, protocol numbers 0 through 1023 (210) are reserved for well-
known services known as well-known ports, these numbers are assigned by the Internet Assigned
Numbers Authority (IANA) and on some systems, these numbers can only be used by system
processes or by programs executed by privileged users. Each popular network service, such as
telnet, FTP, HTTP, or SMTP, is assigned one of these port numbers (23, 21, 80, and 25,
respectively).

Email Addresses
An email address takes the form of username@DomainName. For example,
mliu@csc.calpoly.edu identifies a person. When an email identifying that email address as the
recipient is sent, a mailer program on the IP host with the specified domain name delivers the
email to the mailbox of the specified user on that system.

URLs
Users of Web browsers are familiar with Uniform Resource Locators (URLs). When you enter a
name string such as http://www.csc.calpoly.edu in the browser to visit a particular Web site, you
are specifying a URL.
A URL is a naming scheme under the more general scheme known as Uniform Resource
Identifiers (URIs). URIs are short strings that identify resources on the Web, including documents,
images, downloadable files, services, and electronic mailboxes. The URI scheme provides a
uniform way of addressing these resources under a variety of naming schemes used in individual
application protocols such as HTTP, FTP, and Internet mail.
The Uniform Resource Name (URN) is a scheme specified by RFC2141 which provides
persistent names within a namespace, thus allowing a permanent object to be mirrored over several
known sites. Thus, if a site is unavailable, the object could be found or resolved at another site.
The general format of a URL can be written as:
<protocol>/ / <user>:<password>@<host-ID>:<port-number>/<directory path>
Where <protocol>is the exact but case-insensitive name of the application-layer protocol you wish to
use to access the resource; for example, HTTP if you are attempting to access a web browser.
<user>:<password>is for access authorization, if required by the protocol. <host-ID>is the domain
name or dotted-decimal IP address of the host that provides the service allowing you to access the
protocol; for example, www.w3schools.com.
<port-number>is the transport-layer protocol port for the process that provides the service on the
remote host; for example, 80 (by default) for HTTP or Web servers.
<directory path>specifies wherein the file system of the remote host the resource can be located.
It can also be called the root of the document directory hierarchy; for example
w3shools/csc102/index.html.
A shortened form of a URL termed a relative URL, can be used at times, where if another file
exists in that same directory called courses.html, then the URL courses.html can be named in that
document instead of the full URL.

Extensible Name Service (XNS)


Extensible Name Service (XNS) is an Internet naming service managed by the XNS Public Trust
Organization (XNSORG), an independent, open-forum organization. The service supports a
naming scheme that allows a single, universal address to be used by a user to perform
communications of all types - email phone, fax, Web pages, instant messaging, even postal mail.
As a naming and addressing service, XNS operates at a higher level than DNS. It is designed to
resolve a name into the address of an Internet host computer. XNS is designed to resolve a
universal address into any type of address on any type of communications network.
An XNS is a character string. There are three types of XNS names: personal names, business
names, and general names, each of which starts with a unique leading character (=, @, and +,
respectively), and each of which can contain up to 64 Unicode characters.

Name Resolution
Whenever a symbolic name is used to identify a resource, the name must be translated to the
corresponding physical address to locate the resource. We have already seen
that a domain name such as www.google.con, for an Internet host must be translated to the
numerical address, say 129.65.123.7, of that particular computer. The process of the translation is
called name resolution, or more simply, name lookup.
To perform name resolution, a database also called a directory or a registry must exist containing
the mappings between symbolic names and physical names. If the namespace of a naming scheme
is of a limited size, then it is possible to perform name resolution manually. In the case of the DNS
or XNS, a manual process cannot be done and a network service has to be provided to support
online name resolution.
For the DNS, the name lookup service is provided by machines that are called DNS servers. A
central authority maintains the name database and sees to that the database is distributed
throughout the Internet to the DNS server. When a domain name is specified -whether entered
into a browser or coded in a program being executed, the name is submitted to the nearest DNS
server for resolution. If the nearest server does not have the mapping, that server forwards the
request to another DNS server. The propagation of the request continues until the name is
resolved, at which time the mapping is sent back to the process that originated the request.

You might also like