Examples to allow you to work through your sheet:

A 255.255.255.0 mask indicates that there are 24 bits of network and 8 bits of address. 8 bits of address (2^8) gives you 256 addresses, but you take away two - one for the network and one for the broadcast. That leaves you with 254 usable hosts.

25 bits of network gives you 255.255.255.128 (11111111.11111111.1111111

So on and so forth down to two "special cases". 31 bits of network only leaves you with 2 possible addresses, the network and the broadcast with no usable addresses, so not useful for real networks (although can be used for access control lists and the like). 32 bits of network is a single address which can be used in special conditions like loopback addresses for routers that don't need a network per se, but allow you to use a single address efficiently.

For your worksheet, you will need to figure out how to create sub networks that allow 20 hosts. Using powers of two, find the number of bits that will give you sufficient usable addresses to fit your 20 hosts within. Remember to subtract two addresses for the network and broadcast.

2^2 = 4 addresses, 2 hosts

2^3 = 8 addresses, 6 hosts

2^4 = 16 addresses, 14 hosts

...

The paper gives you 24 bits of network and 8 bits of host so you have to divide up 256 addresses to have at least 5 subnets.

Once you've broken it up, the next part is to determine if two hosts are on the same network (do you have to go through a router or not). The way a router determines this is to take the address and the mask to see if it is local to the network or not. To calculate this by hand you have to use bitwise operations of Exclusive OR and AND. Exclusive or functions like this:

1 XOR 1 = 0

1 XOR 0 = 1

0 XOR 1 = 1

0 XOR 0 = 0

AND works like this:

1 AND 1 = 1

1 AND 0 = 0

0 AND 1 = 0

0 AND 0 = 0

First you have to calculate the subnet address for the network. To do so, you "AND off" the host bits by ANDing the subnet mask with the address:

132.241.158.130 in binary is:

10000100.11110001.10011110

11111111.11111111.11111111

--------------------------

10000100.11110001.10011110

which is

132.241.158.0

Take another address you want to check and see if it's on the same network:

1.1.1.1 in binary is:

00000001.00000001.00000001

11111111.11111111.11111111

--------------------------

00000001.00000001.00000001

which is

1.1.1.0

Last, exclusive OR the two networks. If they're on the same network, you'll get a zero. Anything else and you have to "route" it to that network.

10000100.11110001.10011110

00000001.00000001.00000001

--------------------------

10000101.11110000.10011111

Hopefully this will get you started...

Just a note:

Even though your sheet says to assume classful addressing, nobody actually does that any more as has been (long since) replaced by CIDR (classless inter-domain routing) which simply allows you to subnet your ranges efficiently. It's used mainly as "shorthand notation" for subnet masks rather than actual use.