Professional Documents
Culture Documents
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.
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.
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.
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.
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.
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.