Chapter 15

Internet Technology


Home | Chapters | Homework | Grades | Final Project | Calendar | Forums | Syllabus

Forum Policy | Assignment Policy | Games | Tests | E-Mail Mr Hull | FTP


Main | Chapter 1 | Chapter 2 | Chapter 3 | Chapter 4 | Chapter 5 | Chapter 6 | Chapter 7

Chapter 8 | Chapter 9 | Chapter 10 | Chapter 11 | Chapter 12 | Chapter 13 | Chapter 14 | Chapter 15


Summary

Chapter 15 finally talks about TCP/IP.  Since it comes so late in the book and it is necessary to understand for the final project we are going to skip ahead to it.  This topic is essential in the networking world because it is the foundation of the internet.


Internet Addresses

IP (Internet Protocol) addresses are used to uniquely identify nodes on the internet and other networks.  In IP address is a 32 bit number that is broken down into 4 separate 8 bit groups called octets.  There are 5 classes of IP address, Class A-E.  These 5 classes help show which part of the address is the network address and what part is the node address.  

What you are seeing above is the binary representation of an IP address.  Usually IP address are written in dotted decimal format.  This would be each octet written in it's decimal form separated by a dot.  i.e. 192.168.0.1  Knowing that each octet is an 8 bit number you will know that the highest value you can have per octet is 255.  So an IP address of 192.168.0.844 is not valid.  So far I have been color coding my IP addresses.  This is to demonstrate what part of the IP address is the network address and what part is the node address.  Below is a chart showing how each of the classes are determined by their first bits.

 

Class A - 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh

Class B - 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh

Class C - 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh

You cannot have the node address part of an IP address that is all 1’s or 0’s.  So if you have a Class C IP address of 192.168.0.Z Z cannot equal 0 or 255 (.00000000 or .11111111).  These addresses are reserve for the following:

  • 192.168.0.0 = The Network ID – This defines the network. 
  • 192.168.0.255 = Broadcast Address – When a computer sends a message to the broadcast address all nodes on that subnet pick up the message.

 

Once the Class is determined by the IP address a default subnet is created.  The subnet is used to tell what part of the address is the network address and what part is the node address at the binary level.  A subnet is a 32 bit number that has a 1 bit for the network address and a 0 for the node address.  See Below:

 

Class A Subnet = 11111111.00000000.00000000.00000000 = 255.0.0.0

Class B Subnet = 11111111.11111111.00000000.00000000 = 255.255.0.0

Class C Subnet = 11111111.11111111.11111111.00000000 = 255.255.255.0

 

What happens when you send data from one node to another on the same network?, or a different network?

 

Example 1: Source Address: 192.168.0.1, Destination Address: 192.168.0.2

 

Source:         11000000.10101000.00000000.00000001

Destination:  11000000.10101000.00000000.00000010

SUBNET:       11111111.11111111.11111111.00000000 

    

As a router receives the the Source and Destination Address it will compare each bit to the subnet.  It will look to see if the subnet bit is a 1, if it is it will then look to see if the corresponding bits in the Source and Destination Address match.  In this case they do, so the router would not route the packet outside of the network because it knows the destination node should be on the current network.

 

Example 2: Source Address 192.168.0.1, Destination Address: 192.168.1.1

 

Source:         11000000.10101000.00000000.00000001

Destination:  11000000.10101000.00000001.00000001

SUBNET:       11111111.11111111.11111111.00000000

   

In this example we see that in the last subnet bit that's a 1 the corresponding Source and Distention Address bits are different.  In this case the router knows that the destination can't be reached on the current network so it routes the packet to the outside world.


Subnetting: So far all we have talked about is the Default Subnet’s for the different classes of IP addresses.  You can modify the subnet to fit the needs of your network.  For example, let’s say you are using the class C network 192.168.0.0 for your small network of ten nodes.  You open up a second office across town that also has ten nodes.  You have a line established between the two sites and a router setup at both sites.  What you need is a way to split your IP address between the two sites to enable routing between the two.  What you can do is borrow two bits from the node address and use them for the network address. 

  • 11111111.11111111.11111111.11000000 = 255.255.255.192

 If we take a look at the last octet of the subnet we can see that two bits are now being used to identify the network.  In the IP address the network portion of the last octet cannot be all one’s or all zero’s.  In this case this means we have two possible subnets that we can use.

  • 10

  • 01

The formula would be: # of subnets = 2^number of network bits borrowed – 2.  So in this example it is 2^2 – 2 = 2 subnets.  The remaining bits are going to identify the node.  But since we are now only using six bits for the node portion we will see that there is a limited number of valid IP address that we can use.  The formula to determine the number of nodes is: # of nodes = 2^number of node bits – 2.  We have 2^6-2=62 nodes per subnet.  Now let’s take a look at an IP address from each subnet.

  • 11000000.10101000.00000000.10000001 = 192.168.0.129
  • 11000000.10101000.00000000.01000001 = 192.168.0.65

The above sample is the lowest IP address we could have on each subnet.  We see that 192.168.0.1 would no longer be a valid IP for either subnet because it would require the network address portion of the last octet to be 00 and that is not allowed.  The network ID and broadcast address for the first subnet are below.

  • 11000000.10101000.00000000.10000000 = 192.168.0.128 = Network ID
  • 11000000.10101000.00000000.10111111 = 192.168.0.191 = Broadcast Address

Below is the result of your subnetting on your small network:

As you can now see when I send a file from 192.168.0.79 to 192.168.0.134 it will be routed to the appropriate network.  Because the associated network bits are different in the last octet.

Source:         11000000.10101000.00000000.01001111

Destination:  11000000.10101000.00000000.10000110

SUBNET:       11111111.11111111.11111111.11000000

 

Here are two resources that may help you in your subnetting tasks.  The IP Sheet handed out in class, from Karen Woodard, and a Subnet Calculator.


Private IP Address:  There are groups of IP address that are set aside for private use.  Below is the list of the Private IP address.  This is explained in RFC 1918.  Also Microsoft will automatically assign IP address to computers configured to receive an IP from a DHCP server (see below) if they are unable to find one. The IP range reserved for that is 169.254.0.0 - 169.254.255.255.  Note: this is in Windows 98 or higher.  For more information check out article Q220874 at Microsoft's knowledge base

 
IP Address Blocks
Reserved for
Private Networks
Network Addresses
in Block
No. of
Networks
No. Hosts
Per
Network

From: 10.0.0.0 From: 10.0.0.0/8

1

16,777,216
To: 10.255.255.255 To: 10.0.0.0/8    

From: 172.16.0.0 From: 172.16.0.0/16

16

65,536
To: 172.31.255.255 To: 172.31.0.0/16    

From: 192.168.0.0 From: 192.168.0.0/24

255

255
To: 192.168.255.255 To: 192.168.255.0/24    

These IP Address are not routable.

 

class.gif (5809 bytes)Copy of diagram I had on the board in class.


Static and Dynamic Addressing

A Static IP address is an IP address that is assigned and never changes.  This is usually manually entered into the network node.  Some network nodes require static IP address, like a server, printer, or router.  These devices should always have a static IP address because if the IP changed all other nodes that point to the IP will not be able to locate it.  Dynamic IP address are assigned to nodes when needed.  This eliminates the need to have people go around to each node and enter an IP address manually.  A good example of Dynamic assigning of IP addresses is an Internet Service Provider (ISP) that hands out IP address to users that dial in.

 

A Dynamic Host Configuration Protocol (DHCP) server is responsible for handing out IP address.  The DHCP server has a database of IP address (called a scope) that it can hand out.  When a computer is started it broadcasts it's need for an IP address.  (A broadcast is a network message addressed to 255.255.255.255, all computers pick up the message)  The server will respond to the MAC address of the computer with an IP address from the scope.  Once the computer receives the IP it responds to the server with an acknowledgement that it is going to use the IP address.  Then the DHCP server will remove the IP address from the available scope.  If a Dynamic Domain Name System (DDNS) server (see below) is available on the network the DHCP server will update the name to IP relationship.  As a side note if you have two DHCP server on a network with a split scope the computer will take the IP address that is first given to it.  It will respond to the second DHCP server declining the IP that it received from it.  The second DHCP will then keep the IP in the scope of available IP addresses.


Internet Naming Convention

IP addresses are difficult for people to remember.  For example this sites address is 24.51.229.88.  To make things easier their are Universal Resource Locators (URL) that give a human name to the IP address.  This website is http://www.hullsite.com.  As you can see this is a lot easier to remember.  The URL is made up of two parts, the protocol and the resource.  http (Hypertext Transfer Protocol) is primarily used on the web to show html (hypertext markup language) pages.  The resource is usually called the domain.  A Domain name is a hierarchical representation of an address.  The examples I used in class were Adelphia's and Road Runner's mail servers.

  • mail.nycap.rr.com

  • mail.bur.adelphia.com 

The address goes from the top level domain on the right to the lowest level on the left.  Below is a list of the generic top level domains.  Because there are too many to list here I have included a link to all the country code top level domains.  

 

Top Level Domains.

COM Companies
EDU US Educational Institutions
GOV US Governmental Entities
INT International Organizations
MIL US Armed Forces
NET Networks
ORG Organizations

 

A domain name is easy for us to remember, like ebay.com or microsoft.com but a computer doesn't know how to understand the names.  It needs to have an IP address.  The Domain Name System (DNS) is the system that converts a domain name to it's associated IP address.

 

Extra Information:  If you want to access a resource without using the URL you can do so by using a socket.  A socket is a combination of a port number and an IP address.  i.e. 24.51.230.59:80 is the socket for http://www.hullsite.com.  80 is the port for http.  Click here to see a list of common ports.


Internet Tools

PING:  With TCP/IP you can use many tools to diagnose a LAN connection.  One such utility is the PING utility.  With this program you send an ICMP packet (Internet Control Message Protocol) to a remote node.  The packet is returned with one of the following codes. (See Below)  Usually the ping program will interpret the code for you and display a detailed message.  ICMP is explained in RFC 792

 

ICMP Codes:

0 = net unreachable

1 = host unreachable

2 = protocol unreachable

3 = port unreachable

4 = fragmentation needed and DF set

5 = source route failed.

 

Below is a successful ping of my server.  You will see that I pinged the server by name.  It resolved the name to the proper IP address.  Also you will see TTL=128 the TTL is Time To Live.  As a packet hops from node to node the TTL is decreased by one.  This will prevent a packet from hoping back and forth between two improperly configured routers forever. 

 

We saw a successful ping, here is a failed ping by name.  You will see it wasn't able to resolve the name to IP so no signal was sent.

 

Here is a failed ping by IP address.  It tried to send a signal four times.

 

Trace Route: 

Trace Route (tracert) is used to trace a route that a packet takes to get to the destination node.  See below for an example.


IPv6

IPv6 addresses some of the limitations of IPv4.  An IPv6 address is 128 bit, it is more secure and the headers are smaller.  Follow the links below to find more information on IPv6.

 

More information on IPv6.

RFC  1752 


More Information

 

View the IP sheet handed out in class.  From Karen Woodard.

Click here to download a subnet calculator.

 

Click Here to download the slides for this chapter

(NOTE: You must have PowerPoint or PowerPoint Viewer if you don't have  either Click Here to download PowerPoint Viewer.)


Home | Chapters | Homework | Grades | Final Project | Calendar | Forums | Syllabus

Forum Policy | Assignment Policy | Games | Tests | E-Mail Mr Hull | FTP