|
Page 2 of 3
Addressing & Routing
Now that we know how to
send post cards (UDP packets) and make telephone calls (TCP
connections,) how do we specify who we want to talk to? And, once we
specify who we want to talk to, how does the message get from where
we are to where it's supposed to go?
Routing
The address information
that a human writes on a post card tends to follow a certain form:
Street number, Street, Borough, City, State and Country. Notice how
the address is written in human form: From the nearest details to the
farthest details. When sent to a different country, the post card
address is processed in the reverse order: At each step in the
delivery process, the size of the next geographical region is
reduced.
As the post card is
routed at the various steps before the final destination, the people
who are routing it don't really know exactly where it's going - but
each one can figure out how to get it to the next step in the route.
Finally, at the last step, the mail man who is handed the post card
actually knows where to find the house that the post card is going
to.
TCP/IP networks also
have an addressing scheme and a process for routing a message.
Addressing of devices on a TCP/IP network is not much different from
telephone numbers. The Routing procedure on the network is more
complicated than the one used by the Post Office - but the basic
ideas are not much different. Messages need to be routed from one
network to another until they arrive at their destination. At any
given step in the chain there may not be enough information available
to know exactly where the message will arrive - but each router in
the system does know the next step in the route that the message must
take.
Fortunately, a typical
server in a small company or home office is not connected to many
networks. As a result, routing is often very easy to do for the
majority of network administrators. For now it's enough to know that
messages do need to be routed - we don't need to study routing in
more detail just yet.
Addressing
On the Internet today
there are two major addressing systems available: Internet Protocol
version 4 (IPv4) and Internet Protocol version 6 (IPv6.)
The one that most of us
are using at the time of this writing is IPv4. It allows a message to
be delivered to any one of about four billion devices. This may sound
like a large number, but, because of the way that IP numbers have
been assigned to various companies throughout the world, we don't
have enough to go around. There is currently a shortage of IP
numbers.
IPv6 solves this
problem. IPv6 supports so many possible devices that there's no real
chance that we will ever run out of IP numbers in the future. When
will start using IPv6? Well, at the moment there is more and more
software available that is able to operate in IPv6 environments. We
should be able to go ahead and start using it right away. Eventually
more people will do so and, eventually, the day will come when you
will connect to your Internet Service Providers' network and find
that you have been assigned an IPv6 address. On that day you will
know that the IPv6 future has arrived, at least for you.
For learning purposes
we can continue to use the shorter IPv4 numbers. Again, we don't
really need to know about routing just yet - but we need to look at
addressing.
Each computer
(specifically each network device) needs to have an address so that
it can be found. The device address is called an Internet Protocol
number, or IP Number. To make it easier to remember it's
broken up into sections - sort of like a telephone number - but
basically it's a big number.
IP Addresses are also
logically organized into ranges. Some of the IP ranges are reserved
for internal use within private networks. Other ranges are assigned
to various companies, on a first-come first-served basis, by an
international organization that was charged with this responsibility.
Most of us get our public IP numbers from our local Internet Service
Provider.
Port Numbers
Computers tend to run
lots of software at the same time. When we address a message to
another computer, we need to specify which program we want the
message to go to. This part of the address is called the Port
Number.
It is used to route the message to the software that will handle it.
Destination Port
Numbers for common protocols are assigned by convention. For example:
if we want to get a web page from a web server we connect to
Destination Port 80. Port 80 is the well known port number for
the web protocol. The http:// part of the address that you
type into the browser eventually translates into port 80 - you
don't often need to type the actual port number. Another well known
port number is 25 for sending email. Again, you don't normally need
to know the number - by convention the network software defaults to
port 25 when email is being sent.
There are 65,535 port
numbers available. The standard port numbers are listed in a file
called services. On Unix systems this file is found in the
/etc/ directory; in Microsoft Windows it's found in the windows
installation directory (often C:\Windows\.)
Source Port Numbers are
used for responses sent back from the server. When a web browser
connects to a web server it must specify destination port 80.
Remember that, by convention, port 80 is the well known port number
that the web server software is listening to. However, the web
browser doesn't care what port number it receives its replies on.
For this reason, Source Port Numbers are automatically assigned from
available port numbers when a connection is made.
|