Nell Dale & John Lewis

(adaptation by Michael Goldwasser and Erin Chambers)

Networks

Computer Network

A collection of computing devices that are connected in order to communicate and share resources

Overview

Network Topology	how is hardware (physically) connected?

Addressing	how is a message’s destinations identified?

Message Delivery	should all data be sent in the same fashion?

Routing	what path through the network is taken?

Security	how can strangers pass (private) messages?

Issue 1: Network Topology

If every pair of computers on a network had a dedicated communication link, passing messages would be direct and straightforward. (e.g., the “hotline” between the White House and Kremlin)

Unfortunately, with hundreds, thousands or millions of computers on a network, they cannot all have direct links to each other.

Local-area Network (LAN)

A local-area network (LAN) connects a relatively small number of machines in a relatively close geographical area

For example: computers in a lab; in a building; on a small campus.

The generic term node or host to refer to any device on a network

A communication connection directly between two nodes is called a link

Common Network Topologies

A bus technology called Ethernet has become the industry standard for local-area networks

Figure 15.2 Various network topologies

Choosing a Topology

Pro’s and Con’s

Number of links (they cost money)

Network Performance

How efficient is communication?

Network Reliability

How does network respond to overload?

How susceptible is network to collapse?

Best choice depends on the size of the network

Wide-Area Networks

A wide-area network (WAN) connects two or more local-area networks over a potentially large geographic distance

Often one particular node on a LAN is set up to serve as a gateway to handle all communication going between that LAN and other networks

Communication between networks is called internetworking

The Internet, as we know it today, is essentially the ultimate wide-area network, spanning the entire globe

Hierarchical Topologies

Figure 15.1 Local-area networks connected across a distance to create a wide-area network

Issue 2: Addressing

If a device wants to send a message to another, how does it specify precisely which device?

To what address?

Network Addresses

An IP address is a 32-bit (i.e., 4 byte) pattern which uniquely identifies a particular computer on the Internet.	(e.g. 148.78.250.12)

A hostname is a mnemonic address unique a string of characters	(e.g. turing.slu.edu)

Note: There is no direct relation between assignment of IP address and hostname

IP Addresses

An IP address can be split into

network address, which specifies a specific network

host number, which specifies a particular machine in that network

Figure 15.9
An IP address is stored in four bytes

Network Classes

The first part of the IP address designates the network. The number of bits in the network address depends upon the size of the network

Class A network: Designated by first byte (very large; e.g., Apple has 17.x.x.x, MIT has 9.x.x.x)

Class B network: Designated by first two bytes (moderate size; e.g., SLU has 165.134.x.x)

Class C network: Designated by first three bytes (very small; e.g., Iowa Public Television iptv.org has 205.221.205.x)

IPv4 versus IPv6

IPv4 is the protocol using 32-bit addresses. It has been officially used since 1977

IPv6 is a new protocol (defined in 1996) using 128-bit addresses. The Internet is in the process of transitioning to IPv6

With a vastly larger address space, it provides better separation of network location and host identity, allowing better portability when devices move from network to network.

Hostname

A hostname generally consists of the computer name followed by the domain name

csc.villanova.edu is the domain name

A domain name is separated into two or more sections that specify the organization, and possibly a subset of an organization, of which the computer is a part

Two organizations can have a computer named the same thing because the domain name makes it clear which one is being referred to

Top-Level Domains

The very last section of the domain is called its top-level domain (TLD) name

Figure 15.10 Top-level domains, including some relatively new ones

Country Codes

Organizations based in countries other than the United States use a top-level domain that corresponds to their two-letter country codes

Figure 15.11
Some of the top-level domain names based on country codes

Hostnames -> IP Addresses

How is this conversion done?

Originally, there was one big table kept on a computer at Stanford. Whenever a computer needed to know an address, it would ask this computer.

But as the Internet grew, this computer was overloaded with requests and the underlying table was being updated too often.

Domain Name System

The domain name system (DNS) is chiefly used to translate hostnames into numeric IP addresses

DNS is an example of a distributed database. Many computer all over the Internet keep (partial) tables.

If a server can resolve the hostname, it does

If not, that server asks another domain name server for the translations. And so on…

Issue 3: Message Delivery

When you send something by US Mail:

You must give an address which uniquely identifies the recipient

You usually send everything in one package. Packages are not all the same size.

You do not know what physical route your package will take on its way to destination.

Are packages ever lost?

How fast would you like delivery to be?

Do you want confirmation of receipt?

Delivery on the Internet

Many different types of data delivered

Instant Message (very short)

Email (size ranges)

Web Page Description (size ranges)

Photographs, MP3, software (large)

Streaming Radio/Music

Streaming Video

Software protocols are used for delivery

Protocols & Ports

Figure 15.7
Some protocols and the ports they use

Packet Switching

To improve the efficiency of transferring information over a shared communication line, messages are divided into fixed-sized, numbered packets

Network devices called routers are used to direct packets independently between networks

Figure 15.4
Messages sent by packet switching

TCP

TCP = Transmission Control Protocol (reliable, but less efficient)

Before sending true message, it sends a warning message to recipient:	“I’m about to send you a # of packets”

It then waits for an acknowledgement message from the recipient	“okay, I’ll watch for them”

This process establishes a “connection”

TCP (continued)

Once “connection” is established:

Individual packets are sent

The receiver separately acknowledges each packet which arrives by sending an ACK. Or if the packet arrived damaged, a negative acknowledgement (NAK)

Sender will resend damaged packets. Also, if a long time passes without an ACK or NAK, it assumes the packet must have been lost, and so it resends.

UDP

UDP stands for User Datagram Protocol (more efficient, less reliable)

Original device simply sends the packets and doesn’t worry about whether they get lost.

Which protocol would you choose for:

Email messages?

Streaming Audio?

Issue 4: Routing

Since there are not direct connections between all devices, the communication of messages will need to routed through intermediary nodes.

Of course, there is (intentionally) more than one route between most pairs of nodes on the Internet.

Deciding on an entire route from the origination is difficult, since it might require a map of the entire Internet.

Message Hops

If a node has a packet to deliver to a destination, it does not plan the entire route.

Instead, it simply decides on the single next “hop” for the packet. That is, it chooses one of its neighbors to send it too, and leaves the rest of the routine decisions to that neighbor (or others).

Routing Tables

Each node has its personal routing table which it uses to decide where to pass packets, based on the destination.

Many complications arise in having routing tables coordinated properly to avoid too many hops (or infinitely many hops in the case that a messages encounters a loop).

Last resort: “Hot Potato” routing (random)

Issue 5: Security

How can you pass messages “securely” on an open network like the Internet?

Issues:

your message might be read by others

it could presumably even be modified

can others read/modify information on your computer which you did not intend to share?

can others disrupt efficiency of your system with unnecessary network activity?

“solutions” (?)

Some possible techniques for security

A group can rely entirely on a private network for important communication.

Password Protection!

Perhaps your messages can be suitably encrypted so that anyone who intercepts it will not be able to understand it or to forward on a forgery.

A protected network could be connected to Internet through a single machine (“firewall”)

Firewalls

Figure 15.8 A firewall protecting a LAN

PowerPoint Presentation

Jones & Bartlett Publishers

2002-06-09T13:56:08