INTRO
OVERVIEW OF TCP/IP
TCP/IP and the Internet
A Data Communications Model
TCP/IP Protocol Architecture
Network Access Layer
Internet Layer
Transport Layer
Application Layer
Summary
DELIVERING THE DATA
Here we explore in finer detail how data moves between the protocol layers and the systems on the network.
Addressing, Routing, and Multiplexing
To deliver data between two Internet hosts, it is necessary to move the data across the network to the correct host, and within that host to the correct user or process. TCP/IP uses three schemes to accomplish these tasks:
Addressing
IP addresses, which uniquely identify every host on the network, deliver data to the correct host.
Routing
Gateways deliver data to the correct network.
Multiplexing
Protocol and port numbers deliver data to the correct software module within the host.
Each of these functions—addressing between hosts, routing between networks, and multiplexing between layers—is necessary to send data between two cooperating applications across the Internet. Let's examine each of these functions in detail.
The IP Address
Internet Routing Architecture
In that hierarchical structure, routing information about all of the networks on the Internet was passed into the core gateways. The core gateways processed the information and then exchanged it among themselves using the Gateway to Gateway Protocol (GGP). The processed routing information was then passed back out to the external gateways. The core gateways maintained accurate routing information for the entire Internet.
Using the hierarchical core router model to distribute routing information has a major weakness: every route must be processed by the core. This places a tremendous processing burden on the core, and as the Internet grew larger the burden increased. In network-speak, we say that this routing model does not "scale well." For this reason, a new model emerged.
The new routing model is based on co-equal collections of autonomous systems called routing domains. Routing domains exchange routing information with other domains using Border Gateway Protocol (BGP). Each routing domain processes the information it receives from other domains. Unlike the hierarchical model, this model does not depend on a single core system to choose the "best" routes. Each routing domain does this processing for itself; therefore, this model is more expandable
The problem with this model is: how are "best" routes determined in a global network if there is no central routing authority, like the core, that is trusted to determine the "best" routes? In the days of the NSFNET, the policy routing database (PRDB) was used to determine whether the reachability information advertised by an autonomous system was valid. But now, even the NSFNET does not play a central role.
To fill this void, NSF created the Routing Arbiter (RA) servers when it created the Network Access Points (NAPs) that provide interconnection points for the various service provider networks. A route arbiter is located at each NAP. The server provides access to the Routing Arbiter Database (RADB), which replaced the PRDB. ISPs can query servers to validate the reachability information advertised by an autonomous system.
The Routing Table
Address Resolution
The most common example of this Network Access Layer function is the translation of IP addresses to Ethernet addresses. The protocol that performs this function is Address Resolution Protocol (ARP), which is defined in RFC 826.
The ARP software maintains a table of translations between IP addresses and Ethernet addresses. This table is built dynamically. When ARP receives a request to translate an IP address, it checks for the address in its table. If the address is found, it returns the Ethernet address to the requesting software. If the address is not found, ARP broadcasts a packet to every host on the Ethernet. The packet contains the IP address for which an Ethernet address is sought. If a receiving host identifies the IP address as its own, it responds by sending its Ethernet address back to the requesting host. The response is then cached in the ARP table.
Protocols, Ports, and Sockets
Once data is routed through the network and delivered to a specific host, it must be delivered to the correct user or process. As the data moves up or down the TCP/IP layers, a mechanism is needed to deliver it to the correct protocols in each layer. The system must be able to combine data from many applications into a few transport protocols, and from the transport protocols into the Internet Protocol. Combining many sources of data into a single data stream is called multiplexing.
Data arriving from the network must be demultiplexed: divided for delivery to multiple processes. To accomplish this task, IP uses protocol numbers to identify transport protocols, and the transport protocols use port numbers to identify applications.
Some protocol and port numbers are reserved to identify well-known services. Well-known services are standard network protocols, such as FTP and Telnet, that are commonly used throughout the network. The protocol numbers and port numbers are assigned to well-known services by the Internet Assigned Numbers Authority (IANA).
Summary
NETWORK SERVICES
Some network servers provide essential computer-to-computer services. These differ from application services in that they are not directly accessed by end users. Instead, these services are used by networked computers to simplify the installation, configuration, and operation of the network. All of these services discussed in this chapter can be installed on one or several systems on your network.
The functions performed by the servers covered in this chapter are varied:
· Name service for converting IP addresses to hostnames
· Configuration servers that simplify the installation of networked hosts by handling part or all of the TCP/IP configuration
· Electronic mail services for moving mail through the network from the sender to the recipient
· File servers that allow client computers to transparently share files
· Print servers that allow printers to be centrally maintained and shared by all users
Names and Addresses
The Host Table
DNS
Mail Services
File and Print Servers
Configuration Servers
Summary
GETTING STARTED
Connected and Non-Connected Networks
Basic Information
Planning Routing
Planning Naming Service
Other Services
Informing the Users
Summary
CONFIG
BASIC CONFIGURATION
Kernel Configuration
Startup Files
The Internet Daemon
The Extended Internet Daemon
Summary
CONFIGURING THE INTERFACE
The ifconfig Command
TCP/IP Over a Serial Line
Installing PPP
Summary
CONFIGURING ROUTING
Common Routing Configurations
The Minimal Routing Table
Building a Static Routing Table
Interior Routing Protocols
Exterior Routing Protocols
Gateway Routing Daemon
Configuring gated
Summary
CONFIGURING DNS
BIND: Unix Name Service
Configuring the Resolver
Configuring named
Using nslookup
Summary
PLUS
LOCAL NETWORK SERVICES
The Network File System
Sharing Unix Printers
Using Samba to Share Resources with Windows
Network Information Service
DHCP
Managing Distributed Servers
Post Office Servers
Summary
SENDMAIL
sendmail's Function
Running sendmail as a Daemon
sendmail Aliases
The sendmail.cf File
sendmail.cf Configuration Language
Rewriting the Mail Address
Modifying a sendmail.cf File
Testing sendmail.cf
Summary
CONFIGURING APACHE
Installing Apache Software
Configuring the Apache Server
Understanding an httpd.conf File
Web Server Security
Managing Your Web Server
Summary
MGMT
NETWORK SECURITY
Security Planning
User Authentication
Application Security
Security Monitoring
Access Control
Encryption
Firewalls
Words to the Wise
Summary
TROUBLESHOOTING TCP/IP
Approaching a Problem
Diagnostic Tools
Testing Basic Connectivity
Troubleshooting Network Access
Checking Routing
Checking Name Service
Analyzing Protocol Problems
Protocol Case Study
Summary
Saturday, August 18, 2007
Short Notes
Subscribe to:
Posts (Atom)