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
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
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.
The Internet authority has chosen to partition its top level into the domain listed in the following table.
Major network support centers
Organizations other than those above
Temporary ARPANET domain (obsolete)
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.
2.File Transfer and Access
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.
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 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.
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:
Flexible Header Format
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.