If you are on the side of the room farthest away from the door, the machine/IP mapping is A=cs460-5, B=cs460-6, C=cs460-7, D=cs460-8.
If you are on the side of the room nearest to the door, the machine/IP mapping is A=cs460-1, B=cs460-2, C=cs460-3, D=cs460-4.
A sign-up sheet is posted on the door to allow you to reserve a time
to work on the lab. Each student should complete a worksheet and e-mail
it to cs460ta@cs.byu.edu. If you are working with someone else, make
sure that you are actually doing the experiments and not just
following. Groups should be no larger than 3 people for this lab.
Before starting, put all machines into the default state by running "/sbin/ifdown eth2" followed by "/sbin/ifup eth2" to reset the IP address and properties of the 2nd Ethernet card. You will need to do this on machines A,B,C and D.
If you become confused, or things stop working during the lab, try
initializing all of the machines again using this procedure. If
you have to move a wire from one port to another, you always have to run
ifdown, ifup to reset the state.
Now run ifup/ifdown on machine A to reinitialize the port. Telnet to your OmniStack switch. The IP address is on the top of the switch box. The user is "admin" and the password is "switch".
Use the "vi" command to view the port to group mapping. If there are any "2" entries for group in the first column, the last person did not delete the group mappings and you need to do so. If all ports are in group 1, then proceed to part 1
Type "exit" to leave the command line interface and move the wire for A from 9x to 1x.
You can open a window on each of the machines by opening 4 windows on
your local machine and using ssh to connect to the machines destined for
each of those windows. For example, if you are on cs460-5:
1) open 4 terminal windows
2) in the 2nd window "ssh cs460-6"
3) in the 3rd window "ssh cs460-7"
4) in the 4th window "ssh cs460-8"
Now you have a terminal window open to each machine (if you are on the set of machines near the door, you would substitute cs460-4 for cs460-5, cs460-3 for cs460-6, etc)
Now you can run ethereal or any other x application from any of the 4 machines and the output will be displayed on your display.Use ifconfig to figure out the current IP configuration of hosts A,B,C and D. Note: you will only be interested in the information associated with "eth2", the third ethernet card.
| Host Name | IP Address(s) | Mask(s) | OmniStack Port | |
| A | ||||
| B | ||||
| C | ||||
| D |
| A | B | C | D | |
| A | X | |||
| B | X | |||
| C | X | |||
| D | X |
Why is D not able to ping A? (hint - use route -n to view routing table)
How would you change the network mask to allow D to ping A?
Use ifconfig to make the changes to D. What command did you use?
Was D able to ping A and B now?
Was D able to ping C?
Use ifconfig to change the address of D to 192.168.201.248.
Use /sbin/route -n to look at the route table on A.
Ping 192.168.201.248 from A
Since D and A are both hooked to the switch, they are physically able to communicate, but since the routing table on A doesn't have a route for 192.168.201.248, machine A sends the ping packets out the default route. Run ethereal on A to verify that the packets are being sent on eth0 instead of eth2. You can sort by protocol and then look for the ICMP protocol messages.
Now add a route on A to get to D. (Hint, try something like "route add -net 192.168.201.0 netmask 255.255.255.0 dev eth2", but look at the man page to figure out what is happening)
Now ping 192.168.201.248 from A. Does it work? Why?
Try running ethereal on machine D and look at eth2 to see if the arp packets are being received and answered. Are the ARP requests being answered?
Now look at interface eth0 on machine D with ethereal. Sort by protocol and look at the ICMP section. Where are the responses to the ping going?
Try something like "route add -net 192.168.200.0 netmask 255.255.255.0 dev eth2" on machine D.
Now ping 192.168.201.248 from A. Does it work? Why?
Use ifdown and ifup to reset machine D to the default state
Almost every bridging and routing concept we have discussed is implemented on the OmniStack line of switches. It allows ATM Lane uplink modules, gigabit ethernet uplink modules, FDDI uplink modules, and others. The basic structure is that of a 24 port ethernet switch with uplinks for hierarchical aggregation. The basic structure to organize physical ports into static broadcast domains is a VLAN. There is an additional concept called a "group". The group is an organizational unit to represent an abstract broadcast domain. We will not use the advanced features of the group, but it allows "mobile" ports. One associates a rule like "subnet 10.10.10.0/24" with a group and then when a host appears on a physical port with an address in that subnet, the physical port automagically moves to the VLAN in the matching group. The group concept also allows for putting VLANs and LANE ELANs into the same logical structure ... a group. For our purposes a group and a VLAN are the same.
The "vi" command displays the attachment of ports to groups.
What group are the physical ports attached to A, B,C and D attached to?
Since the "group" on an OmniStack can aggregate different types of logical broadcast domains and the group represents a logical bridge, there is a mapping of other entities to a "virtual port". The two that we are concerned with are "physical ports" and "virtual router ports". The "via" command displays the associations of other entities to "virtual ports" in a group. (see 17-49).
What are the virtual port numbers assigned to the physical ports?
| A | |
| B | |
| C | |
| D |
The "gp" command displays all the groups.
What groups currently exist on your OmniStack?
Ping machine B from machine C. Does it work?
The "crgp" command adds a group to the switch.
Add a new group called "test" to the switch . Enable IP and give the virtual router an IP address 192.168.201.1, the mask defines the subnet size. Use all of the defaults except for:
The "addvp" command adds a virtual port to a group. Add the physical ports for C and D to the group you created. (hint "addvp 2 3/3" and type "y" to accept defaults and "Quit" to leave the Vport Configuration menu. Do the same thing for D - 3/4.)
Run ifdown, ifup on all of the machines.
Run "gp" on the switch, you should see your new group.
Run "vi" on the switch, you should see ports 3 and 4 in the new group.
Determine which machines can "ping" each other (use "ping -n" so the
name server will not have to look up the adresses)
| A | B | C | D | |
| A | X | |||
| B | X | |||
| C | X | |||
| D | X |
Why can B not see C?
The Alcatel switch has routing enabled between the two groups. What is keeping the packets from being routed?
Use ethereal to determine which interface the ping packets are being sent on. The ping packets from B to C are being sent on interface eth___.
Now add a route on machine B for the subnet of machine C using the virtual router port in the switch as the gateway. (hint, you will want to set up a route to the subnet that uses the gateway 192.168.200.1, otherwise packets will not be routed across the two groups in the switch. You may want to use something like the following two commands)
This command establishes a route for packets to the gateway
This command establishes a route to the subnet using the virtual router port as the gateway.
Are you able to ping C from B?
use ethereal to see which interface on C is being used for the response packets to the ping.
Now add a route on machine C to machine B. (hint you will have to set up a gateway in the same way as you did in the opposite direction)
Are you able to ping C from B?
Restore the switch and hosts to their original state. Repeat parts 0.5 and 0.8. Run ifdown, ifup on each machine. email this completed form to cs460ta@cs.byu.edu.