Internet Basics
Understanding a URL
URL syntax for a Network (Internet-style) item:
protocol://computer_address_or_name/pathname
Examples of common protocols:
http://idallen.com/
mailto:idallen@idallen.ca
ftp://ftp.algonquincollege.com/
telnet://telnet.ncf.carleton.ca
news://news.idallen.com/algonquinc.interest.linux
Components of a Universal Resource Locator (URL):
- http: HyperText Transfer Protocol (standard Web pages)
- ftp: File Transfer Protocol (for downloading/uploading
files)
- telnet: for direct terminal-to-terminal connections to
remote computers
- gopher: a predecessor of http, largely replaced by http
- news: Network News Transfer Protocol (NNTP) for
Usenet-style discussion groups
- mailto: Simple Mail Transfer Protocol (SMTP) for sending
E-Mail
Note that the host name part of a URL is not case-sensitive.
Understanding an Internet E-Mail address
Syntax for an Internet email address:
user_id@computer_address_or_name
Examples of email addresses:
idallen@idallen.ca
aa610@FREENET.CARLETON.CA
Note that the host name part of a mail address is not
case-sensitive.
Computer Addresses and Names
Much of the connecting done between machines on the Internet happens between
computers labelled by numbers, not names. These numbers are called
"IP" (Internet Protocol) numbers. To establish a connection between
the machines, the friendly, human-readable names must be turned into numbers.
Tables of these name-to-number maps typically reside on computers that serve as
Domain Name Servers (DNS).
- Computer names are hierarchical, separated by periods, with the most
specific components on the left and the most general, large domains on the
right, e.g. "news.idallen.com. There is no fixed limit
to the depth of the hierarchy; however, more than four levels is uncommon.
- There are a fixed number of "top level" domains, e.g. .gov,
.edu, .com, .ca, .hu, .jp, .us, etc. (New ones are being added in
2001.)
- Each domain gets control of the naming scheme used inside it and can
use any naming convention it likes, e.g. .com.au, .edu.au, .net.au, etc.
- Name servers only need to know how to find the name servers of the
next level in the name tree - no server needs to know the whole tree.
- IP numbers are also hierarchical; however, the most specific parts of the
IP number are on the right, and the most general, large network components
are on the left, e.g. "134.117.136.20". The IP numbers
written this way are often said to be in "dotted quad" form. Two
machines on the same network may have numbers such as 134.117.136.20
and 134.117.136.24. Their DNS names might be freenet1.carleton.ca
and freenet4.carleton.ca.
- Name servers "cache" name requests for a period of time (the
"time to live"). Subsequent requests for the same name are
served from the cache until the entry expires, then a fresh request is made
to update the cache.
Unix Networking Commands
Most Unix commands that handle machine names will accept either the name of a
computer or its IP address in dotted-quad form. (The mail programs require
you to put the dotted-quad in square brackets to use it as a domain name, e.g. alleni@[192.197.88.4].)
Numbers change often as machines move between networks; names are more reliable.
- ping: sends a packet request for an "echo" to the
remote machine; shows how long the travel time took
$ ping google.ca
$ ping 216.239.33.100
- traceroute: traces the network route taken by a
connection between this machine and a remote machine; shows the route and
the time taken to get to each machine along the route
$ traceroute google.ca
- host: for a particular host, displays information about
the IP addresses and MX (mail exchange) records stored in the DNS for that
host.
$ host google.ca
nslookup and dig are
similar to host but more complex.
- telnet creates an insecure text TCP connection to another machine.
You can change which port you want on the remote machine by giving it as a
second argument on the telnet command line.
$ telnet inmail.algonquincollege.com smtp
Don't use insecure telnet to log in; use the secure ssh instead.
- ftp is an insecure way to transfer files. Don't use this for
anything sensitive except anonymous FTP downloads.
$ ftp ftp.algonquincollege.com
- ssh is a Secure Shell program that uses encryption and PKI to
safely connect across the Internet. Use this
instead of telnet.
$ ssh -l abcd0123 acadunix.algonquincollege.com
- scp is a Secure Copy program that uses encryption and PKI to
safely transfer files across the Internet. Use this
instead of ftp.
$ scp foo.txt abcd0123@acadunix.algonquincollege.com:bar.txt