TCP/IP : Bootstrap And Auto-Configuration,
Dns, Applications, Future Of TCP/IP
10. Bootstrap and Auto-configuration
The BOOTstrap Protocol, BOOTP, provides an alternative
to RARP for a computer that needs to determine its IP address.
BOOTP is more general than RARP because it uses UDP, making
it possible to extend bootstrapping across a router. BOOTP
also allows a machine to determine a router address, a (file)
server address, and the name of a program the computer should
run. Finally, BOOTP allows administrators to establish a
configuration database that maps a generic name, like "Unix"
into the fully qualifies file name that contains a memory
image appropriate for the client hardware.
BOOTP is designed to be small and simple enough to reside
in a bootstrap ROM. The client uses the limited broadcast
address to communicate with the server, and takes responsibility
for transmitting requests if the server does not respond.
Retransmission uses an exponential backoff policy similar
to Ethernet to avoid congestion.
11. DNS(Domain Name System)
The Internet Domain Name System (DNS) offers a hierarchical
naming scheme. DNS uses distributed lookup in which domain
name servers map each domain name to an IP address or main
exchanger address. Clients begin by trying to resolve names
locally. When the local server cannot resolve the name,
the client must choose to work through the tree of name
servers iteratively or request the local name server to
do it recursively.
TCP/IP Internet Domain Names:
The mechanism that implements a machine name hierarchy for
TCP/IP Internets is called the Domain Name System. DNS has two
conceptually independent aspects. The first is abstract: it
specifies the name syntax and rules for delegating authority
over names. The second is concrete: it specifies the implementation
of a distributed computing system that efficiently maps names
to addresses.
The domain name system uses a hierarchical naming scheme
known as domain names. As in our earlier examples, a domain
name consists of a sequence of subnames separated by a delimiter
character, the period. The domain name
cs.columbia.edu
contains three labels: cs, columbia and edu. Any suffices
of label in a domain name is also called a domain. In the above
example the lowest level domain is cs.columbia.edu, the second
level domain is columbia.edu, and the top-level domain is edu.
Domain Names:
The Internet authority has chosen to partition its top level
into the domain listed in the following table.
Domain Name
Meaning
COM
Commercial organizations
EDU
Educational institutions
GOV
Government institutions
MIL
Military groups
NET
Major network support centers
ORG
Organizations other than those above
ARPA
Temporary ARPANET domain (obsolete)
INT
International organizations
Country code
Each Country (geographic scheme)
The top-level Internet domains and their meanings are shown
in the above table. The DNS is case insensitive, so EDU is equivalent
to edu.
Note that if you are implementing an internetwork that is
not part of the bigger Internet (WorldWideWeb) then you are
free to choose the domain naming scheme, as well as IP address
scheme. However, if you want your network to be part of the
Internet, you need to comply with the domain naming and IP addressing
schemes, as determined by IANA.
12. Applications
1.Remote Login
TELNET
Rlogin
2.File Transfer and Access
FTP
TFTP
NFS
3.Electronic Mail
SMTP
MIME
4.Internet Management
SNMP
1.Remote Login:
TELNET Protocol:
The TCP/IP protocol suite includes a simple remote terminal
protocol called TELNET. TELNET allows a user at one site to
establish a TCP connection to a login server at another. TELNET
then passes keystrokes from the user's keyboard directly to
the remote computer as if they had been typed on a keyboard
attached to the remote machine. TELNET also carries output from
the remote machine back to the user's screen. The service is
called transparent because it gives the appearance that he user's
keyboard and display attach directly to the remote machine.
The above figure shows, when a user invokes TELNET, an application
program on the user's machine becomes the client. The client
establishes a TCP connection to the server over which they will
communicate. Once the connection has been established, the client
accepts keystrokes from the user's keyboard and sends them to
the server, while it concurrently accepts characters that the
server sends back and displays them on the user's screen. Then
server must accept a TCP connection from the client, and then
relay data between the TCP connection and the local operating
system.
Rlogin:
Operating system derived from BSD UNIX includes a remote
login service, rlogin, that supports trusted hosts. It allows
system administrators to choose a set of machines over which
login names and file access protections are shared and to establish
equivalences among user logins. Users can control access to
their accounts by authorizing remote login based on remote host
and remote user name. Thus, it is possible for a user to have
login name X on one machine and Y on another, and still be able
to remotely login from one of the machines to the other without
typing a password each time.
2.File Transfer And Access:
FTP (File Transfer Protocol):
File transfer is among the most frequently used TCP/IP applications,
and it accounts for much network traffic. Standard file transfer
protocols existed for the ARPANET before TCP/IP became operational.
These early versions of file transfer software evolved into
a current standard known as the File Transfer Protocol (FTP).
FTP features:
Interactive Access
Format Specification
Authentication Control
FTP Process Model:
Like other servers, most FTP server implementations allow
concurrent access by multiple clients. Clients use TCP to connect
to a server.
The above figure shows, the client control process connects
to the server process using one TCP connection, while the associated
data transfer processes use their own TCP connection. In general,
the control processes and the control connection remain alive
as long ad the user keeps the FTP session going. However, FTP
establishes a new data transfer connection for ach file transfer.
In fact, many implementations create a new pair of data transfer
processes, as well as a new TCP connection, whenever the server
needs to send information to the client.
TFTP (Trivial File Transfer Protocol):
The TCP/IP suite contains a second file transfer protocol
that provides inexpensive, unsophisticated service. Known as
the Trivial File Transfer Protocol, it is intended for applications
that do not need complex interactions between the client and
sever. TFTP restricts operations to simple file transfers and
does not provide authentication. Because it is more restrictive,
TFTP software is much smaller that FTP.
Unlike FTP, TFTP does not need a reliable stream transport
service. It runs on top of UDP or any other unreliable packet
delivery system, using timeout and retransmission to ensure
that data arrives. The sending side transmits a file in fixed
size blocks and awaits an acknowledgement for each block before
sending the next. The receiver acknowledges each block upon
receipt.
NFS (Network File System):
NFS provides on-line shared file access that is transparent
and integrated; many TCP/IP sites use NFS to interconnect their
computers file system. Form the user's perspective NFS is almost
invisible. A user can execute an arbitrary application program
and use arbitrary files for input or output. The file names
themselves do not show whether he files are local or remote.
3.Electronic Mail
Electronic mail is among the most widely available application
services. Like most TCP/IP services, it uses the client-server
paradigm. The mail system buffers outgoing and incoming messages,
allowing the transfer from client and server to occur in background.
SMTP: Simple Mail Transfer Protocol is the TCP/IP
standard protocol for transferring electronic mail messages
from one machine to another. SMTP specifies how two mail systems
interact and the format of control messages they exchange to
transfer mail.
MIME: Multipurpose Internet Mail Extensions is a standard
used to encode data such as images as printable. MIME provides
a mechanism that allows arbitrary data to be transferred using
SMTP. MIME adds lines to the header of an e-mail message to
define the type of the data and encoding used. MIME's mixed
multipart type permits a single message to contain multiple
data types.
4. Internet Management
In addition to protocols that provide network level services
and application programs that use those services, an internet
needs software that allow managers to debug problems, control
routing and find computers that violate protocol standards.
Such activities are referred as Internet Management.
SNMP: Simple Network Monitoring Protocol is a standard
protocol used to monitor hosts, routers and the networks to
which they attach. A router being managed must keep control
and status information that the manager can access. For example,
router keeps statistics on the status of its network interfaces,
incoming and outgoing traffic, dropped datagrams, and error
messages generated. Although it allows a manager to access these
statistics, SNMP does not specify exactly which data can be
accessed. Instead, a separate standard specifies the details.
Known as Management Information Base (MIB), the standard specifies
the data items a host or router must keep and the operations
allowed on each.
13. The Future of TCP/IP
Neither the global Internet nor the TCP/IP protocols are
static. Through its Internet Engineering Task Force, the Internet
Architecture Board provides active, ongoing efforts that keep
the technology evolving. Most notable is the introduction of
IP v6 protocol. IP v4 supports only a limited number of IP addresses,
and the IP address space is fast depleting. To accommodate for
future expansion, IP v6 has been introduced.
Motivation for changing IPv4:
Version 4 of the Internet Protocol (Ipv4) provides the basic
communication mechanism of the TCP/IP suite and the global Internet.
Although the need for a large address space is forcing an immediate
change in IP, other factors are contributing to the design as
well. In particular, IP v6 can support new services, and applications.
Features of Ipv6:
Larger Addresses
Flexible Header Format
Improved Options
Support for Resource Allocation
Provision for protocol extension
In the above Figure,
VERS: Specifies the version of the protocol
FLOW LABEL: The base header contains information that routers
use to associate a datagram with a specific flow and priority.
PAYLOAD LENGTH: Specifies the number of octets carried in
the datagram.
NEXT HEADER: Specifies the type of the following header.
HOP LIMIT: This field interprets a time-to-live as a combination
of hop count and maximum time.
SOURCE ADDRESS: It requires 16 octets to specify the sender
address.
DESTINATION ADDRESS: It requires 16 octets to specify the
recipient address.
IPv6 Address Types:
The destination address on a datagram falls into one
of the three categories:
Unicast: The destination address specifies a single
computer
Cluster: The destination is a set of computers that
all share a single address prefix
Multicast The destination is a set of computers, possibly
at multiple locations.
IPv4 Vs IPv6:
IPv6 retains many of the basic concepts from IPv4, but changes
most details. Like IPv4, IPv6 provides a connectionless, best-effort
datagram delivery service. However, the IPv6 datagram format
is completely different than the IPv4 format, and IPv6 provides
new features such as authentication, a mechanism for flow-controlled
streams of datagrams, and support for security.