CS526 S2005 Final Solution
You have until 7:05pm to finish your exam.

Your Name:


1. LVS Server Cluster and UML Virtual Machine

  1. You are given three server machines, 128.198.63.100, 128.198.63.101, and 128.198.63.102, and a subnet 128.198.63.0/24 with gateway at 128.198.63.1. You are asked to setup one LVS-NAT cluster to host a web site with VIP=128.198.63.10. Assume the three real servers have the same processing power.
    1. What is the scheduling discipline you propose to use in this web cluster?
      Ans: According to http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.ipvsadm.html#scheduler
      The rr,wrr,lc,wlc schedulers should all work similarly when the director is directing identical realservers with identical services. The lc scheduler will better handle situations where machines are brought down and up again (see thundering herd problem). If the realservers are offering different services and some have clients connected for a long time while others are connected for a short time, or some are compute bound, while others are network bound, then none of the schedulers will do a good job of distributing the load between the realservers. LVS doesn't have any load monitoring of the realservers. Figuring out a way of doing this that will work for a range of different types of services isn't simple (see load and failure monitoring). Depending on the type of network services,
      Since the three real servers have the same processing power, there is not need to use wlc or wrr.
    2. Show the configuration script for the LVS load balancer.
      Ans: We need to decide which of the three server machine will be served as the LVS load balancer and it needs to have two NICs. Assume that we pick the server with 128.198.63.100. We use a switch to connect its second NIC and the NIC of the other two server. Assign the private LAN address 10.1.1.1, 10.1.1.101, and 10.1.1.102 to those three network interfaces. Note that the two real servers need to configure their default gateway as 10.1.1.1.

      Assume that we are providing http and ssh services. Here is the configuration script to be run on
      #!/bin/sh
      
      echo "1" >/proc/sys/net/ipv4/ip_forward
      
      #add ethernet device and routing for VIP 128.198.63.10
      /sbin/ifconfig eth0:1 128.198.63.10 broadcast 128.198.63.255 netmask 255.255.255.0
      
      #setup_ipvsadm_table
      #clear ipvsadm table
      /sbin/ipvsadm -C
      
      #installing LVS services with ipvsadm
      #add http to VIP with round robin scheduling
      /sbin/ipvsadm -A -t 128.198.63.10:http -s rr
      /sbin/ipvsadm -A -t 128.198.63.10:ssh -s rr
      
      #forward http to realserver using NAT
      
      /sbin/ipvsadm -a -t 128.198.63.10:http -r 10.1.1.101 -m
      /sbin/ipvsadm -a -t 128.198.63.10:http -r 10.1.1.102 -m
      
      #forward ssh to realserver using NAT
      
      /sbin/ipvsadm -a -t 128.198.63.10:ssh -r 10.1.1.101 -m
      /sbin/ipvsadm -a -t 128.198.63.10:ssh -r 10.1.1.102 -m
      
      #displaying ipvsadm settings
      /sbin/ipvsadm
      
      Note that there is feature called local node which allows the LVS load balancer
      to be used also as a real server. See http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.localnode.html

      "With localnode, the director machine can be a realserver too. This is convenient when only a small number of machines are available as servers. To use localnode, with ipvsadm you add a realserver with IP 127.0.0.1 (or any local IP on your director). You then setup the service to listen to the VIP on the director, so that when the service replies to the client, the src_addr of the reply packets are from the VIP. The client is not connecting to a service on 127.0.0.1 (or a local IP on the director), despite ipvsadm installing a service with RIP=127.0.0.1."
  2. What is the main advantage of using UML Virtual Machines for hosting a site?
    Ans: We can give the users total control of their own virtual machines with their own login/password access control and software installation. UML also allows copy-on-write feature to allow multiple User Mode Linux (UML virtual machines) to share the same OS images and use much smaller disk space on their individual differential file system. http://user-mode-linux.sourceforge.net/old/UserModeLinux-HOWTO.html#toc7
    .

2. Content Switching

  1. What is TCP delayed binding? Name two ways to improve it.
    Ans: Delayed binding, also called TCP splicing, is the postponement of the connection between the client and the server in order to obtain sufficient information to make a routing decision. In the context of content switching, it refers to the problem where the content switch commits a TCP squence number on behalf of a real server and results in the requirement for the content switch to translate/map the squence numbers for each packets exchanged between the client and the real server. See http://cs.uccs.edu/~chow/pub/conf/pdcat/tutorial.ppt page 50
    .
  2. Why the current browser such as Microsoft IE does not support pipelining multiple requests in a single TCP connection?
    Ans: Because it will require additonal mechanism to separate the responses from the server and it is not clearly specified.

3. Wireless Sensor Network

  1. Crossbow has motes operating at 433 and 916 MHz. In a straight hallway, which type of motes can be deployed further apart? Which mote has the longer antenna?
    Ans: http://www.mwrf.com/Article/ArticleID/11071/11071.html

    Using lower frequencies would help in extending the communications range due to low path loss attenuation. With low propagation path loss, the antenna gain would not become an important factor in the system link budget. However, low frequencies require larger sized antennas. If the density of deployment allows for few meters spacing between the nodes, the choice of lower frequencies would be a good choice. Very low operating frequencies (70 MHz or even lower) may provide better solutions for some wireless sensor applications. Table 2 shows the frequencies and communications ranges of some commercial WSNs.

    From Table 2, for data rate of 38.4 kbaud and operating at 433 MHz, the current drawn is 25 mA. Achieving the same data rate but at 868/916 MHz requires 27 mA current. In addition, the communication range of the 433-MHz systems is twice the range of the 868/916-MHz systems. Therefore, choosing low frequencies would contribute to power savings and extending the system reach.

    http://www.mwrf.com/Files/30/11071/Table_02.html

  2. Mobile Ad Hoc Network vs. Wireless Sensor Network.
    1. List two common characteristics.
    2. List three major differences.
      Ans: See page 12 of http://cs.uccs.edu/~cs526/wsn/WirelessSensorNetwork.ppt
  3. The following Sense.nc and SenseM.nc code

4. Answer 4 of the following 9 questions related to the semester project presentations.

  1. Web portal project.
    uPortal is an open source open standard effort built on Java, XML, XSL, J2EE, JDBC.
    What is the main usage of XML and XSL in the uPortal system?
  2. Spyware.
    What type of software module is usually included in the spyware software to relay sensitive information when a secure web page is accessed?
  3. IDS.
    What are two basic types of intruction detection methods?
  4. Securing iSCSI for Data Backup and Disaster Recovery.
    What protocol can be used to encrypt the packets carrying iSCSI PDU? Name one.
  5. Overview of Web Services.
    What is the language used to describe the web service? What system is used for publishing and discovering web services?
  6. Wireless Sensor Networks: Positioning Algorithms & Energy Management.
    Why paths with many shorter links are preferred than those with longer links in typical wireless sensor networks?
  7. Wireless Sensor Networks for Emergency Response
    What is the main goal of the CodeBlue project?
  8. Improve Radio Link Modeling in Wireless Sensor Network Simulation
    How can the radio model plug-in in TinyViz be enhanced?
  9. Basic Dynamic Scheduling for Multiple Path Routing.
    Name three ways that a multiple path connection can be set up in today's networks?