Operating Systems Technology



System Administration

Course Notes #12

Networks and Network Software

Network terminology:

• Server: a computer that takes requests from other computers and sends back messages.

• Client: a computer that requests information from another computer.

There are numerous types of servers: web servers, mail servers, ftp servers. Aside from computers being servers and clients, we refer to the software run on the computers as server and client software. For instance, Mozilla and Internet Explorer are web client software whereas apache is web server software. A server must run server software and have a dedicated connection to the network it is serving. A client does not have to be accessible to the network all of the time, only when the client wants information from a network server.

• Host: a computer that you can log into, or a computer that serves as a remote processor (see below).

• Local: the computer you are using to access the network (e.g., your home computer).

• Remote: the computer being accessed over the network.

Internet-specific terminology:

• TCP/IP: IP is the Internet Protocol and dictates how computers must package up messages to be sent over the Internet. We will skip the details (you see these in other classes like INF 284 and CIT 384). One piece of information that is dictated by this protocol is a machine’s Internet address. Addresses are 4 numbers pieced together with a . between each number where each number is between 0 and 255. IP address are used to route messages across the Internet. TCP is a transmission protocol that is written on top of IP and is used in many different networks and operating systems. NOTE: 0 to 255 is the range of integer values that can be stored in an 8-bit (byte) binary value, so in fact an IP address is 4 bytes long.

o The 4 sets of numbers are the network domain (e.g., edu), the LAN number (e.g., NKU’s designation), the specific network within the LAN (e.g., the lab in ST 361), and the machine number. Notice that ST 361 has a few different networks so the third number may differ between two machines in the lab.

• IP Alias: IP addresses are often hard to remember, so we allow users to reference servers by aliases, such as studenthome.nku.edu. In order to translate from an alias to the actual IP address, you need access to a domain name server. Every network either has a DNS (domain name server) or knows where to find a DNS. Most of this is hidden from you as a user, but if you are a network administrator, you will have to either set up a DNS or know where to find one. There are further aliases to restrict what a user might have to remember. For instance, NKU’s web server, sappho, is aliased as www for convenience so that nku.edu and sappho.nku.edu are equivalent names.

• DNS: the domain name server is provided with an Internet alias and looks this up in its own DNS table to translate the alias to an IP address. The IP address is then sent back to your computer.

Network software:

• Telnet: a program that allows one to log into another computer over the network. The person performing the telnet operation needs to have an account on the destination (host) computer.

• SSH: secure shell – a variation of telnet that is more secure because messages are encrypted before being transmitted and decrypted once received. This allows one to access the remote machine and send such information as passwords without fear of having someone learn your password.

• R-utilities: r stands for “remote” and includes a suite of tools such as rlogin, rsh, rwho. In particular, rlogin is a useful program if you are using a network of linux machines and have the same account on multiple machines. In such a case, you can rlogin to another machine without having to send your user name or password. rwho is who remotely, rsh is to open a shell remotely.

• ping: continue to send packets to the given computer and output acknowledgement messages. This lets you know 1. if your machine can reach the network and 2. if the remote machine is accessible. You can also use ping to see how long the message and response take (for instance to determine if you have some abnormal network latency).

• traceroute: somewhat like ping, it outputs the route taken between your computer and the remote computer listed.

• wget: a non-interactive file transfer program that will transfer the listed program from the file. For instance, to obtain the file stuff.txt from the machine ftp. under the directory pub/fox, you would say wget ftp.pub/fox/stuff.txt. If the given item is hypertext (an html page), then wget will recursively get all files linked to it if you use the –r parameter. This can be a problem if in fact links are to pages that have links to other pages, or links back to the first page. The –p parameter fetches all files needed for the given page (e.g., image files or java applet class files).

• ftp: this stands for file transfer protocol, but there is also a program named ftp to perform this operation . This performs file transfer interactively, unlike wget. You log into a remote computer and use commands like ls and cd on the remote computer, put to upload a file to the remote computer and get to download a file. To navigate in your local computer, use lcd (for instance, if you need to change directories. There are two different levels of FTP access. You can FTP to a computer in which you already have an account, and therefore you can download (and possibly upload) files to your remote home directory or the machine’s public directory, or you can log in as an anonymous user which only allows you to upload and download files to the remote computer’s public directory. Anonymous login allows one to build an ftp repository and share it with anyone. Typically you are expected to enter your email address as your password when logging in anonymously. FTP commands include the Linux commands of ls, cd, pwd, mkdir, chmod, rm, rmdir and mv, all of which operate on the remote machine. Other commands include quit, lcd (change your local machine’s directory), get to download a file and mget and mput which are the same as get and put except that you can specify multiple files using * as in mput *.txt.

• nslookup: checks the domain name and IP information of a server

Linux-specific network commands

• ifconfig: displays your machine’s current network connections. Usually at least two sets of information are displayed, lo (local) and a network connection (eth0 if the network is connected by Ethernet card). ifconfig will display your machine’s IP address among the various network information (the IP address is listed under inet). All Linux computers have an lo IP address of 127.0.0.1. Your eth0 IP address will vary. At NKU, IP addresses are assigned dynamically so that this entry will change every time you log in. Most Internet Service Providers operate similarly.

• arp: checks Ethernet connectivity and network card response

• netstat: status of network connectivity and socket status

• route: lists the routine tables (includes such things as network gateway IP address and local network IP address and masks)

• traceroute: sort of like ping but outputs the IP addresses of the machines and routers used to go from your computer to the destination computer, this can be handy when trying to resolve network problems such as a server that is not responding

Also of note is the network service command: /sbin/service network command where command is down, start, restart, status.

Useful files:

• /etc/hosts: IP addresses of machines that your machine will often communicate with. By placing the IP addresses in this file, your machine does not have to communicate with the DNS first, saving time.

• /etc/resolv.conf: stores the address of your DNS.

• /etc/sysconfig/network-scripts/: stores configuration files that are run during the boot process to set up network connections.

• /etc/xinetd.d/: contains services that rely on the network daemon, xinetd

• /etc/hosts.allow and /etc/hosts.deny: to permit or restrict access to your computer

• /etc/hosts.equiv: contains IP addresses of “trusted” machines so that r-utilities will work for all computers defined as equiv (equivalent)

Networks and the Internet

Computer networks have existed for decades. In the past, most computer networks were local area networks (LAN) and they were isolated – you could communicate within the network, but not outside of the network. The Internet changed all of this. To communicate over the Internet, a machine needs to run the TCP/IP protocol. With the popularity of the Internet, all computers today run TCP/IP. So a computer connected to a LAN can also communicate over the Internet if the LAN has a connection to the Internet, and most do. So we have blurred the lines of where one network stops and the next starts. For instance, the network connecting the machines in ST 361 is a LAN. However, this LAN connects to other LANs in the ST building. The LANs in ST connect to other LANs in other buildings on the NKU campus which connect to the LANs in the Covington branch campus. All of these computers also connect to the Internet which connects to thousands of other organizations which have one or more LANs. And with Internet Service Providers, computers in people’s homes also connect to the Internet making the Internet a network of networks. So you might think of the Internet as an extension to the LAN of your current computer. There are three technologies “gluing” these computers together:

1. Packet switching. The telephone network uses circuit switching – when you dial a number, a pathway is set up between the source phone and the destination phone and that pathway remains fixed and established until one of the phones hangs up. Packet switching on the other hand breaks the communication down into small packets of data and each is sent across the network. Each packet could potentially take a different pathway to reach the destination. Packet switching was pioneered in the 1960s when the Internet was first being constructed (see the history below).

2. Routers. What makes packet switching work are routers. A router is a device which receives a packet that contains an address and the router uses the address to determine where to move the packet to. For instance, a router at NKU might receive a packet intended for a printer in room ST 361. The router then passes the packet along the proper cable headed to ST (if the router is outside of ST) or to room 361 (if the router is inside ST). Every network has at least one router and potentially many.

3. IP addresses. Part of the TCP/IP protocol is addressing rules. An IP address consists of 4 numbers where each number is between 0 and 255. For instance, 10.11.241.105 is an IP address. Each number is actually stored in 1 byte of memory (1 byte is 8 bits, and 8 bits can store any number from 0 to 255). This makes an IP address 4 bytes or 32 bits in size. The four parts of the IP address usually denotes the computer’s domain, subdomain, LAN and the specific machine within the LAN. For instance, 10 might denote “edu” (the US University backbone of the Internet), 11 might denote NKU, 241 might denote the lab ST 361, and 105 might denote a particular machine. IP addresses are hard to remember, so today we often reference machines by IP alias, an English-like name (for instance, nku.edu or google.edu or even nku059966.hh.nku.edu (this is the machine named nku059966 at the Heighland Heights campus of NKU). In order to translate from an IP alias to an IP address, we use a domain name server. The DNS is merely a computer that stores a table of IP aliases to addresses, along with the IP addresses of other DNS tables that can be reached quickly.

How the Internet works

Briefly, the Internet works as follows. You want to send a message from your computer to another (email message, http request for a web page, ftp request, ssh or telnet communication). Your computer takes your message and packages it up into one or more packets. Packets are relatively small, so if the message is short, it can fit in one packet. For instance, will be short, but an email message could be thousands to millions of bytes long so might be placed in multiple packets. Each packet is given the destination address (usually as an IP alias) and a checksum (error detection information based which often is computed by summing up the byte values of several bytes and then doing some compression type operations on that sum and then summing the sums).

Each packet is ready to go. Before sending out the packets, the IP alias of each packet must be translated into an IP address. Your computer stores the address of your site’s DNS (in Linux, this is stored in /etc/resolv.conf). So your computer sends a message to the site’s DNS to translate the IP alias to an IP address. Now the packets go out. They are sent from your computer to your site’s Internet point of presence (or gateway). The message is routed from the current LAN to this server. And from there, the server sends each packet off along one of its pathways that connect it to the Internet. Each packet finds its own way across the Internet by going from one router to another. This could be one or two links or dozens. Use the traceroute command to see what happens.

Upon receiving a message at the destination site, the message destination IP address may or may not indicate the specific subdomain, LAN and machine. This information might be filled in by the DNS at the destination site. For instance, because NKU uses internal IP addresses assigned by a DHCP (dynamic host configuration protocol) server, an outgoing message will not have the internal IP address, so the local DNS will determine how to route the incoming message to the proper machine. Once received, that machine waits for all of the packets to arrive (packets are numbered, such as packet 3 out of 5) and pieces the packets together before the message can be processed. Notice that the entire process takes seconds or less (usually).

A Brief History of the Internet

In 1968, four research organizations were funded by the D.O.D. to create a computer network for long-distance communication. These organizations were the University of Utah, UCLA, UCSB, and SRI. Their intention was to build an “electronic thinktank” by having a computer network that could accommodate the transfer of files and allow remote access to each other’s computers. They enhanced the fairly recently proposed packet switching technology ideas into practice and used telephone networks to connect these computers together. The first message was sent between UCLA and SRI on October 29, 1969.

The original protocol used was called 1822 protocol. This protocol was not very efficient and would eventually be replaced by TCP/IP in 1983. The first email message was sent over the Internet in 1971. FTP was added in 1973. As time went on, more computers were added to the Internet. 9 computers by June 1970, 13 by December 1970, 18 by September 1971, 29 by 1972 and 40 by 1973. Two satellites were added to the network to connect the network to both Hawaii and Norway in 1973 allowing the network to become international. By 1975, the network had reached 57 computers. By 1975, the DOD handed over control of the Internet from ARPA to the Defense Communications Agency (another part of the DOD). In 1983, the military portion of the network (MILNET) was separated. Before this split, there were 113 computers and afterward, 68.

In 1974, the UK developed their own form of packet switched network, X.25. X.25 became publicly available. Other networks were created in the late 70s and early 80s. These, along with ARPANET, would eventually become components of the Internet. In 1979, two Duke students created UUCP for sharing messages via an electronic bulletin board. This became known as Usenet news. Usenet was made available over a number of networks and people could access the network using dial-up over a MODEM from their home computer or from a networked machine.

In 1983, with the creation of TCP/IP, the ARPANET was renamed the Internet. The various previous networks that were connected together became the NSF Backbone, which would become the Internet’s backbone as the Internet continued to grow. In the 1980s and early 1990s, NSF sponsored an initiative to provide Internet access with as many US universities as possible. In the meantime, pay networks (AOL, Genie, Compuserve, etc) began connecting to the Internet.

In the late 80s and early 90s, there were several other developments that would change the Internet. First, access was being made available to the public through pay networks, libraries, schools and universities. Second, hypertext documents were being pioneered. Third, the US government passed legislature to make it easier for companies to offer Internet services and therefore provide more access to home computer users. However, many people were still uncomfortable trying to access the Internet.

Around 1994, the idea of a web browser was developed. The first one was known as Mosaic. The idea was that the browser would load a document which included hypertext information. Hypertext would appear as links for the user to click on. Once clicked, a link would activate which would send out a message to another computer as a request for a new document. The document would be sent back and displayed in the browser. Until this time, most users had to understand how to send messages (whether ftp, telnet, email, or other) including knowing how to specify IP aliases or addresses. But now, all the user had to know how to do was click on links. Eventually, the web browser replaced most other methods for Internet communication except for email.

Where are we today? Tens of millions of computers make up the Internet. The exact number is hard to tell because home computer users do not leave the computers on all the time, but the number is almost certainly more than 500 million. There are perhaps trillions of documents available over the Internet. Most of these documents use hyperlinks to connect to each other created the World Wide Web (notice that the web is not the Internet, the web consists of those documents stored on certain Internet servers that have links to other documents or are linked to by other documents). The figure below indicates the growth of Internet computers since 1992.

[pic]

The Future of the Internet

There are significant problems with the Internet.

1. Dial-up access. Many people have used the telephone network to obtain access to the Internet through an ISP. The problem is that the telephone network consists primarily of twisted wire pair and this medium can only support a limited bandwidth of message traffic (approx 56,000 bits per second). Downloading a 1 MByte file (a small picture for instance) would take 18 seconds at this bandwidth. While other technologies are now available such as digital cable or direct digital lines to people’s households, there are still millions of households forced to use the slower technology. This has been called “last mile technology” because most of the telephone network uses fiber optic cable except for about the last mile or two as the telephone lines go from neighborhood connections to individual houses.

2. TCP/IP seemingly offers 4 billion unique IP addresses (32 bits gives you 2^32 or roughly 4 billion combinations of addresses). However, not all of the addresses are usable. Consider for instance that NKU’s addresses all start with 172.31 so that should give the University 256 domains with 256 machines each, or over 65,000 different addresses. Well, we don’t have nearly that many computers on campus, so we are underutilizing the number of addresses available. Many organizations have this problem so of the 4 billion available, many are not being used. There are 6 billion people on the planet. Eventually, we might need addresses for everyone, but we will quickly run out!

3. The Internet backbone was not set up to support billions or even millions of users especially when the users are requesting large documents like images, movies, music and so forth. The result is that the Internet is sluggish.

To resolve these problems, IPv6 (IP version 6) is being used by some networks. However, IPv6 cannot solve all the problems and so researchers are investigating technologies for Internet2, a new form of Internet. Whether this will utilize the current backbone or require brand new hardware will be decided in the upcoming years.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download