endsem





1.how object oriented application testing is different from other testing procedure?

Ans:
No sequential procedural executions
No functional decomposition
No structure charts to design integration testing
Iterative O-O development and its impact on testing and integration strategies


2.what are all structure diagrams available explain them brief?

• Class Diagram – set of classes and their relationships. Describes interface to the class (set of
operations describing services)
• Object Diagram – set of objects (class instances) and their relationships
• Component Diagram – logical groupings of elements and their relationships
• Deployment Diagram - set of computational resources (nodes) that host each component.


3.Elaborate the strategy of testing OOA and OOD model?

l The review of OO analysis and design models is especially useful because the same semantic
constructs (e.g., classes, attributes, operations, messages) appear at the analysis, design, and
code level.
l Therefore, a problem in the definition of class attributes that is uncovered during analysis will
circumvent side effects that might occur if the problem were not discovered until design or
code (or even the next iteration of analysis).
l By fixing the number of attributes of a class during the first iteration of OOA, the following
problems may be avoided:
Creation of unnecessary subclasses.
Incorrect class relationships.
Improper behavior of the system or its classes.
l If the error is not uncovered during analysis and propagated further more efforts needed
during design or coding stages.
l Analysis and design models cannot be tested in the conventional sense, because they cannot
be executed.


4.Define state based and attribute based partitioning?

State-based partitioning - categorizes class operations based on how they change the state of a class
Attribute-based partitions are defined by a value of an attribute in the user directory. The partition can be
set up so that it either matches or doesn't match the attribute value. For example, an attribute-based
partition could select all users who don't belong to a certain department (those who don't have a particular
DepartmentNumber attribute in the user registry) or who belong to a certain division (those who have a
particular OrganizationalUnit attribute).



5.explain the optimization which we need to take in order to effective use of patterns?

• Do not recast everything as a pattern
– Instead, develop strategic domain patterns and reuse existing tactical patterns
• Institutionalize rewards for developing patterns
• Directly involve pattern authors with application developers and domain experts
• Clearly document when patterns apply and do not apply
• Manage expectations carefully.



6. what are the challenges of class testing?

l OO class is the target for test case design.
l Encapsulation:
 Difficult to obtain a snapshot of a class without building extra methods which
display the classes’ state
l Inheritance and polymorphism:
 Each new context of use (subclass) requires re-testing because a method may be
implemented differently (polymorphism).
 Other unaltered methods within the subclass may use the redefined method and
need to be tested
l How is class testing different from conventional testing?
- Conventional testing focuses on input-process-output, whereas class testing focuses on
each method, then designing sequences of methods to exercise states of a class
l White box tests:
 Basis path, condition, data flow and loop tests can all apply to individual methods,
but don’t test interactions between methods


7.explain state transaction testing with a diagram?
State transition testing is used where some aspect of the system can be described in what is called a “finite state machine”. This simply means that the system can be in a (finite) number of different states, and the transitions from one state to another are determined by the rules of the “machine”. This is the model on which the system and the tests are based. Any system where you get a different output for the same input, depending on what has happened before, is a finite state system.




8.explain the methods for forming clusters?

l Function-based clustering
Based on requirements and use cases
Difficult to perform if requirements were not available during the design phase
l Subject-based clustering
Based on subject areas that need to test separately
l Project Schedule-based clustering
l Contract-based clustering


9.Describe the impact of object oriented programming on testing?

Message quiescence:
l A Method/Message path (MM-Path) is a sequence of method executions linked by messages.
l An MM-Path starts with a method and ends when it reaches a method that does not issue a
message of its own, i.e., reaches a message Quiescence.
Event quiescence:
l An input port event followed by a set of MM-Paths, and terminated by an output event is
called Atomic System Function (ASF).


10.explain new methods .inherited methods and redefined methods?

the inherited class has (inherits) all methods of the ancestor. If you want onlx a few changes you have to copy the
coding of the original method and make your changes. The reason that you start with an empty method ist that you
might use the method in a completely different way.
Although, you are right: It would be more comfort if the system would copy the original source and let you modify it.
But as the redefined will use private attributes defined in the inherited class this might lead to confusion.


11.which problem should be avoided during the first iteration of OOA?

By fixing the number of attributes of a class during the first iteration of OOA, the following problems may be
avoided:
Creation of unnecessary subclasses.
Incorrect class relationships.
Improper behavior of the system or its classes.


12.what are the model testing approaches?

l Testing by comparison
compares each model to its predecessor or to previous forms of the model
l Testing by inspection
uses checklists to make sure that the model meets certain criteria
l Testing by verification
follows certain steps to assure completeness and consistency of one part of the model with another


13.what methods to test within classes and explain them?

l New methods: defined in the class under test and not inherited or overloaded by methods in a
superclass: Complete testing
l Inherited methods: defined in a superclass of the class under test: Retest only if the methods
interacts with new or redefined method.
l Redefined methods: defined in a superclass of but redefined in the class under test .
complete Retest reusing tests from the superclass.


14.state the difference b/w state transaction testing and cluster testing?


15.explain development process of UML diagrams?

Structural diagrams – Used to describe the building blocks of the system –features
that do not change with time.
? Behavioral diagrams – Used to show how the system evolves over time
(responds to requests, events, etc.)


16.explain random integration testing?

l Multiple Class Random Testing
1. For each client class, use the list of class methods to generate a series of random test
sequences.
Methods will send messages to other server classes.
2. For each message that is generated, determine the collaborating class and the corresponding
method in the server object.
3. For each method in the server object (that has been invoked by messages sent from the client
object), determine the messages that it transmits
4. For each of the messages, determine the next level of methods that are invoked and
incorporate these into the test sequence


17.explain system testing with one example?
Use Case # 1 of the Telephone Banking System:
Task: Making a balance transfer
User Class: Current customer
Frequency: one per week per customer
User Action
System Response
User dials the number System plays greeting and ask for account number
User enters invalid account number System informs user and ask for account number again
User enter a valid account number System asks for PIN#


18. explain the implementation of the turning models?

The turning model is the bat that the bat maker is copying. The new bat then takes the same model
number, such as C243 etc. Each different model will have different dimensions such as barrel diameter,
handle diameter and length, and knob size and shape. Any model of Louisville Slugger will be fine for
college. I would suggest choosing the pro grade bat, it costs a little more but is better wood.


19. explain the bridge point development suit?


The BridgePoint Development Suite accelerates the development of real-time,
embedded, technical, and simulation systems. BridgePoint provides the most
complete and productive environment for Agile MDA (Model Driven Architecture)
and the development of Executable and Translatable UML models. It has been
used to develop hundreds of the most demanding systems including flight-critical
launch vehicles, life-critical medical systems, large fault-tolerant distributed
telecom systems, highly resource-constrained consumer electronics, and large-
scale distributed discrete-event HLA simulation systems.


20.explain the rules for the synchronization of the objects?

t3


Chapter 7: Wireless LAN

1. How mobility is restricted using WLANs? What additional elements are needed for roaming between networks, how and where can WLANs support roaming? In your answer, think of the capabilities of layer 2 where WLANs reside.

Without further mechanisms mobility in WLANs is restricted to the coverage of a single access point. In order to support roaming additional inter access point protocols are needed. The access points have to inform each other about the current active stations within their coverage. This approach is only feasible for local areas, otherwise location registers etc. similar to GSM are required. The access points simply operate as transparent, self-learning bridges that need additional information to ―forget‖ stations faster compared to the aging mechanisms in fixed network bridges. Station identification is based on MAC addresses. Roaming typically requires a switched layer-2-network.


2. What are the basic differences between wireless WANs and WLANs, and what are the common features? Consider mode of operation, administration, frequencies, capabilities of nodes, services, national/international regulations.

Differences:
 coverage (GSM 70km cells, WLAN 100m),
 data rates (GSM 50 kbit/s, WLAN 50 Mbit/s),
 quality of service (WWAN voice/data rate, WLAN none/some with HiperLAN2),
 transmission power (powerful base stations for WWANs, some hundred mW for WLANs),
 operation (WWAN licensed, WLAN license exempt),
 administration (WWAN public operators, WLAN private),
 frequencies (WWAN many different national frequencies, WLAN almost common international ISM bands).
Common characteristics: similar propagation characteristics, similar problems.


3. With a focus on security, what are the problems of WLANs? What level of security can WLANs provide, what is needed additionally and how far do the standards go?

WLANs introduce the air interface which is very simple to eavesdrop. Thus, many WLAN standards introduce more or less strong encryption mechanisms. The most famous one, WEP, has been cracked soon after introduction. Furthermore, the most prominent WLAN family, 802.11, does not provide powerful authentication mechanisms. New standards introduce more security (802.11i), however, users should always use an additional VPN on top of the WLAN to protect privacy and data integrity. WLANs following Bluetooth or HiperLAN2 offer more advanced security functions compared to 802.11.


4. Compare IEEE 802.11, HiperLAN2, and Bluetooth with regard to their ad-hoc capabilities. Where is the focus of these technologies?

All three standards offer ad-hoc functionality, although only Bluetooth was designed with the focus on ad-hoc networking. 802.11 heavily relies on an access point for many functions (e.g., power control, frequency selection, QoS in polling mode, access control etc.). Bluetooth on the other hand implements all functions in all nodes enabling all devices to set up a network. Main focus of HiperLAN2 is the infrastructure mode, too. Roughly, it can be said that 802.11 covers all standard office applications, Bluetooth focuses on inter-device connectivity, while HiperLAN2 was designed for QoS support (no products yet).


5. If Bluetooth is a commercial success, what are remaining reasons for the use of infra red transmission for WLANs?

One reason for infrared is still cost – IR devices are very cheap and very simple to integrate. Another advantage is the simple protection from eavesdropping. Attackers can much more easily tap Bluetooth communication, incautious users even let their Bluetooth devices open for public access (simply scan for Bluetooth devices at public devices - many are detectable). IR communication is much more secure as the devices have to face each other (directed IR).


6. Why is the PHY layer in IEEE 802.11 subdivided? What about HiperLAN2 and Bluetooth?

802.11 covers a whole family of WLAN standards. Depending on transmission technology, bandwidth etc. different PHY layers exist. They all share a common MAC. In order to adapt the different lower parts of the PHY layer a sublayer offers common functions required by MAC, e.g., carrier sensing. The HiperLAN family specifies several PHY layers. However, currently it seems that only HiperLAN2 has a chance to survive – this standard specifies only one PHY layer. All Bluetooth systems use the same layers.


7. Compare the power saving mechanisms in all three LANs introduced in this chapter. What are the negative effects of the power saving mechanisms, what are the trade-offs between power consumption and transmission QoS?

All systems save power by periodic sleep functions. In particular Bluetooth systems offer several low power modes as they are typically battery operated. Negative effects of power saving are the increased latency for spontaneous transmissions – the devices have to wake-up first. Thus, the shorter access delay should be the less power a device can save. Furthermore, high data rates require high power. If the periodic sleep function is not synchronised with, e.g., periodic data transfer heavy jitter will result.


8. Compare the QoS offered in all three LANs in ad-hoc mode. What advantages does an additional infrastructure offer? How is QoS provided in Bluetooth? Can one of the LAN technologies offer hard QoS (i.e., not only statistical guarantees regarding a QoS parameter)?

802.11 does not offer QoS in the ad-hoc mode as it needs the access point for polling. HiperLAN2, on the contrary, establishes a central controller for the ad-hoc mode (called direct mode), which controls QoS. Bluetooth always works ad-hoc, well, a master controls up to seven slaves and, thus, forms an ad-hoc access point. Bluetooth therefore can offer QoS in its ad-hoc mode. QoS in Bluetooth is provided by periodic polling through the master. This guarantees certain data rates and access latencies. HiperLAN2 can give hard QoS guarantees as it controls access latency, bandwidth etc. After a master has been found, Bluetooth can give hard guarantees for SCO connections. 802.11 can give guarantees if no contention phase is allowed (polling only). As soon as there is a contention phase, the system cannot guarantee access latencies.


9. How do IEEE 802.11, HiperLAN2 and Bluetooth, respectively, solve the hidden terminal problem?

802.11 uses the MACA mechanism sending RTS/CTS to solve the hidden terminal problem. For HiperLAN2 this problem does not exist as the access point controls all medium access. If a terminal is hidden it cannot communicate at all and, thus, does not interfere. In Bluetooth, too, are no hidden terminals as the master controls all visible slaves. If a terminal does not see the master it cannot participate in communication. If this terminal sends anyway it will not interfere as this terminal then acts as master with a different hopping sequence.


10. How are fairness problems regarding channel access solved in IEEE 802.11, HiperLAN2, and Bluetooth respectively? How is the waiting time of a packet ready to transmit reflected?

802.11 implements a back-off mechanism that tries to offer fair access to the medium in the standard case (no polling from the access point). If all systems behave well this mechanism gives a fair share of the overall bandwidth to all stations. In HiperLAN2 and Bluetooth medium access is controlled by an
access point or master, respectively. Fairness then depends on these special nodes, which also decide upon the waiting time of a packet when it will be transmitted. In 802.11 the waiting time directly influences the chances for transmission in the next contention cycle.


11. What different solutions do all three networks offer regarding an increased reliability of data transfer?

802.11 offers immediate acknowledgement, Bluetooth implements different ARQ and FEC schemes, as well as while HiperLAN2 does.


12. In what situations can collisions occur in all three networks? Distinguish between collisions on PHY and MAC layer. How do the three wireless networks try to solve the collisions or minimize the probability of collisions?

During polling, there are no collisions on the MAC layers of HiperLAN2 and Bluetooth as the access point/master controls the medium. However, in order to access the access point, nodes may transmit during a random access phase in HiperLAN2 (random channel with feedback from the access point). At this point collisions may occur on the MAC layer. For 802.11 collisions on the MAC layer are nothing unusual. The MAC algorithm with back-off solves this problem. Collisions on the PHY layer may occur in Bluetooth only if another piconet randomly jumps to the same frequency at the same time. This will destroy data for this time-slot. In HiperLAN2 different networks are separated in frequency, thus there should be not collisions besides the above mentioned during the random access phase. In 802.11 networks MAC collisions are also collisions at the PHY layer. Important packets in 802.11 have higher priorities implemented via shorter waiting times (SIFS, PIFS).


13. Compare the overhead introduced by the three medium access schemes and the resulting performance at zero load, light load, high load of the medium. How does the number of collisions increase with the number of stations trying to access the medium, and how do the three networks try to solve the problems? What is the overall scalability of the schemes in number of nodes?

802.11 has the lowest overhead as each node can simply access the medium if it is free. Thus, 802.11 offers the shortest access latency at zero load and still low latency at light load. The system breaks down at high load as then only collisions will occur and no station is able to send anything. Therefore, 802.11 has a rather soft capacity. HiperLAN2 and Bluetooth require some kind of connection setup. This increases access latency – even if the load is light or zero. As soon as a connection exists, the quality and access latency is almost independent of the load. Both systems can be loaded to the maximum without a system breakdown. For Bluetooth this is true in a piconet, not within scatternets. Scalability is low in general (8 nodes within a piconet). For HiperLAN the number of maximum nodes depends on the QoS requirements. In 802.11 networks the number of supported nodes depends on the traffic patterns.


14. How is roaming on layer 2 achieved, and how are changes in topology reflected? What are the differences between infrastructure based and ad-hoc networks regarding roaming?

HiperLAN 2 and 802.11 need an IAPP, Bluetooth does not support roaming at all. Nodes changing piconets have to resynchronise to the new piconet, there is no signalling between masters for roaming nodes. Typically, inter access point protocols are available in infrastructure networks only (there could be something like a master- to-master protocol in Bluetooth…). For ad—hoc networks the overhead would be too much. Roaming support is typically via self-learning bridges exchanging their filtering databases (which MAC address is visible at which bridge). HiperLAN 2 additionally provides support for key exchange during roaming, sector/radio/network handover etc.


15. What are advantages and problems of forwarding mechanisms in Bluetooth networks regarding security, power saving, and network stability?

Forwarding data in Bluetooth between piconets require a node jumping back and forth between these piconets. This also requires authentication in both networks, nodes that are (almost) always active and synchronous clocks if the master jumps into another piconet. If the master jumps away all network traffic in the piconet stops, all slaves have to wait until the master returns. All hopping sequences must stay synchronous during that time. Up to now not many devices are capable of forming scatternets with nodes jumping back and forth.


16. Name reasons for the development of wireless ATM. What is one of the main differences to Internet technologies from this point of view? Why did WATM not succeed as stand-alone technology, what parts of WATM succeeded?

When the development of WATM started much hype came with ATM in the fixed networks. ATM was seen as the big unifying technology handling all different types of traffic with QoS. Well, in principle this is still true, however, it turned out that this technology is much too complicated for many applications (but it is still dominant in WANs). ATM offers hard QoS, end-to-end. The Internet of today do not offer QoS – most QoS architectures failed or did not succeed until now (Integrated Services, Differentiated Services). However, there were almost no applications that could use the QoS offered by ATM at the desktop. Most applications of today can adapt to the varying quality of the Internet. WATM never made it, but many of the ideas survived as people involved in WATM also developed, e.g., UMTS, HiperLAN2 etc. (and again it is questionable if HiperLAN2 will make it into any product).


Chapter 8: Mobile Network Layer

1. Recall routing in fixed IP networks (Kurose, 2003). Name the consequences and problems of using IP together with the standard routing protocols for mobile communications.

Main problems are the high dynamicity – Internet routing protocols (like the standard fixed network routing protocols in classical phone networks) have never been designed for roaming nodes, not to mention mobile routers. Without additional functions addressing fails, nodes would use topological incorrect addresses etc. Standard routing protocols from the Internet (e.g., OSPF within autonomous systems, BGP between these systems) can handle link and router failures, overload situations etc. if they do not happen too frequently.


2. What could be quick ‘solutions’ and why don’t they work?

Quick solutions could be the permanent adaptation of the current IP address of a mobile node depending on the current location. But then no correspondent node can find the mobile node (or a lot of signalling this current IP address would be necessary). Alternatively, all routers could change routing table to reflect the current location of the mobile node. This obviously does neither scale nor is it secure - changing routing entries destabilizes the whole network.


3. Name the requirements for a mobile IP and justify them. Does mobile IP fulfill them all?
For details read 8.1.1.2 pg 306

The requirements are:
 Compatibility
 Transparency
 Scalability & efficiency
 Security
Although mobile IP tries to provide transparency of mobility it cannot hide, e.g., additional delay due to larger distances or lowered QoS due to inferior connections to the mobile node. However, mobility is transparent if only best-effort transmission is considered. Scalability, too, is a problem as soon as many nodes move between subnets. Mobile IP causes a big overhead due to registration messages. This is one of the reasons for micro mobility supporting approaches. Security is also problematic, as topological incorrect addresses do not work together with firewalls and route optimisation reveals location.


4. List the entities of mobile IP and describe data transfer from a mobile node to a fixed node and vice versa. Why and where is encapsulation needed?

Read 8.1.3 in pg 309 in the text book. Encapsulation is required between the HA and the COA, which could be located at an FA or at the MN. This is needed to make mobility transparent – the inner data packet should not notice data transfer through the tunnel, thus TTL remains untouched.

5. How does registration on layer 3 of a mobile node work?

Refer to Figure 8.4 pg 313. Layer 2 registration is handled by, e.g., the WLAN or fixed LAN.

6. Show the steps required for a handover from one foreign agent to another foreign agent including layer 2 and layer 3.

Assume that the MN detects a stronger signal from an access point compared to the current signal. If available on layer 2 the MN could detach from the old access point after attaching to the new one. It would first set-up a layer two association and listen for agent advertisements. Alternatively, it could send agent solicitations. After receiving the advertisement and attaching to a new FA authentication could start.
Concurrently, the FA could inform the old FA about the node. See figure 8.13 plus layer 2, e.g., 8.3.5.3 for 802.11.


7. Explain packet flow if two mobile nodes communicate and both are in foreign networks. What additional routes do packets take if reverse tunneling is required?

If MNa and MNb are both in foreign networks attached to FAa and FAb the packet flow is as follows. MNa sends packets to MNb via the Internet to HAb (actually, MNa sends to MNb’s address, the packets are only intercepted by HAb). HAb encapsulates the packets to FAb, which then forwards the packets to MNb. If reverse tunnelling is required, the packet flow is as follows: MNa sends its packets via FAa through the reverse tunnel via HAa and the Internet to HAb. HAb then forwards the packets through the tunnel to FAb, which in turn forwards the packets to MNb.


8. Explain how tunneling works in general and especially for mobile IP using IP-in-IP, minimal, and generic routing encapsulation, respectively. Discuss the advantages and disadvantages of these three methods.

Tunnelling simply means that a packet is encapsulated at tunnel entry and decapsulated at tunnel exit. The packet is thus payload of the outer packet inside the tunnel. IP-in-IP encapsulation is the simple case of using IP for encapsulating other IP packets. This is simple because all devices already know how to insert payload into an IP packet. Bandwidth is wasted by transferring the same field several times. Minimal encapsulation tries to avoid this waste of bandwidth, however, it cannot be used in case of fragmentation. GRE is a more general scheme, not only for IP traffic but also, e.g., encapsulation of Ethernet packets into IP packets. Additionally, it may control the level of encapsulation. Several versions exist.


9. Name the inefficiencies of mobile IP regarding data forwarding from a correspondent node to a mobile node. What are optimizations and what additional problems do they cause?

Triangular routing via CN-HA-FA-MN is inefficient. One optimisation is the binding update at the CN. A CN can enter the COA of a MN in its routing table. This lets the CN directly send its data to the MN. This solution reveals the current location of the MN and is not transparent anymore (the CN now knows that the MN is mobile, furthermore, it knows the location via the COA).


10. What advantages does the use of IPv6 offer for mobility? Where are the entities of mobile IP now?

Many mobility supporting function are already integrated in IPv6. An explicit FA is not needed any more, all routers are capable of agent advertisements, tunnelling, forwarding of data, setting up security associations. Authentication is built-in as well as optimisation functions.


11. What are general problems of mobile IP regarding security and support of quality of service?

Mobile IP does not increase security compared to IP, on the contrary. The only additional security related function is the authentication of MN and HA. However, if MN and HA, together, want to attack an FA, nothing can prevent them. Firewalls and mobile IP do not really go together. Either reverse tunnelling or tunnelling in general drills a hole in the firewall or MNs can not operate in foreign networks. The firewall has to be integrated into the security solution. IP does not support QoS. If QoS supporting approaches like DiffServ or IntServ are used, new functions are needed for mobile IP to support QoS during and after handover. Furthermore, packets requiring certain QoS must be treated according to these requirements also inside the tunnel.


12. What is the basic purpose of DHCP? Name the entities of DHCP.

DHCP is a mechanism for configuring nodes. Parameters acquired via DHCP are, e.g., IP address, default gateway, DNS server, subnet mask etc. Without DHCP all parameters must be configured manually. A DHCP server provides DHCP information, a relay can forward data into different LANs


13. How can DHCP be used for mobility and support of mobile IP?

If users only want to access other server, e.g., for WWW browsing, mobile IP is not needed. After obtaining a new IP address via DHCP a node can act as client. However, as soon as a node wants to offer a service, it should keep its IP address. Otherwise it is difficult to find it or other additional mechanisms (DDNS) are required to map, e.g., a node name to the node’s address. DHCP can act as source of COAs in mobile IP.


14. Name the main differences between multi-hop ad-hoc networks and other networks. What advantages do these ad-hoc networks offer?

Ad-hoc networks in general do not require an infrastructure to operate (they can be connected to an infrastructure). Multi-hop ad-hoc networks additionally do not require that all nodes can receive each other. Nodes may forward transmissions for other nodes. Advantages are the lower required transmission power (it’s just like whispering into the neighbour’s ear instead of shouting out loud) and the increased robustness (failure of single nodes can be tolerated).


15. Why is routing in multi-hop ad-hoc networks complicated, what are the special challenges?

Routing is complicated because of frequent topology changes, different capabilities of the nodes, varying propagation characteristics. Furthermore, no central instance can support routing.


16. Recall the distance vector and link state routing algorithms for fixed networks. Why are both difficult to use in multi-hop ad-hoc networks?

Both algorithms assume a more or less stable network – at least changes are very infrequent compared to routing data exchange. Furthermore, both algorithms establish routing tables independent of the necessity for communication. This not only causes a lot of unnecessary bandwidth, but may render useless if the topology changed right before communication should take place.


17. What are the differences between AODV and the standard distance vector algorithm? Why are extensions needed?

AODV is a reactive protocol. Route calculation is only performed if necessary. This improves scalability under light load, but causes a higher initial latency.


18. How does dynamic source routing handle routing? What is the motivation behind dynamic source routing compared to other routing algorithms from fixed networks?

DSR separates finding a route and keeping the route working. If no communication is required DSR does not try to establish any route. As soon as a route is needed, DSR tries to find one. As long as the communication keeps on going DSR tries to maintain the route. In fixed networks routes are always calculated in advance.


19. How does the symmetry of wireless links influence the routing algorithms proposed?

Most algorithms fail if the links are asymmetric (up to the extreme case of unidirectional links). Think of DSR – the algorithm states that the receiver simple sends the packet collecting routers on the way between source and destination back to the source by choosing the routers in the reverse order. But what is some reverse links do not exist? Then DSR has to find a way the other way round, too. Now source
and destination both got a way – but in the wrong direction! Somehow this information must reach the other side – without a route quite difficult (broadcast is always a solution…).


20. Why are special protocols for the support of micro mobility on the network layer needed?

Mobile IP causes too much overhead during registration if used for very mobile nodes (nodes, changing networks quite frequently). Furthermore, all registration messages cross the Internet from the foreign to the home network (plus registrations reveal the current location). Micro-mobility supporting approaches basically insert another layer of hierarchy to offload some of the complexity from the HA (compare with HLR, VLR).


21. What are the benefits of location information for routing in ad-hoc networks, which problems arise?

Location information may help routing (geo routing) by optimising the route. If one already knows the location it is simpler to choose the right router towards the destination. However, again privacy problems may arise. Not too many people want to reveal their location to everyone.


22. Think of ad-hoc networks with fast moving nodes, e.g., cars in a city. What problems arise even for the routing algorithms adapted to ad-hoc networks? What is the situation on highways?

For fast moving cars in cities efficient routing is very difficult as the topology changes very fast. Flooding with some optimisations may be the only way to go. However, if the cars are on a highway, it is simpler: cars typically form clusters per direction. On car of the cluster could be the cluster head, all other cars route via this car. Routing can go along the lanes of the highway.


Chapter 9: Mobile Transport Layer

1. Compare the different types of transmission errors that can occur in wireless and wired networks. What additional role does mobility play?

Packet loss due to transmission errors: Relatively low in fixed networks (10-10 - 10-12), quite high in wireless networks (10-2 - 10-4)/large variation/typically compensated by FEC/ARQ; packet loss due to congestion: no difference between fixed and wireless networks; packet loss due to mobility: happens only in mobile networks…


2. What is the reaction of standard TCP in case of packet loss? In what situation does this reaction make sense and why is it quite often problematic in the case of wireless networks and mobility?

TCP typically assumes congestion in case of packet loss. This is the correct assumption in fixed networks, not in wireless networks (transmission errors due to interference and mobility are more frequent). In wired networks TCP helps stabilizing the Internet, in wireless and mobile networks standard TCP performs very poorly.


3. Can the problems using TCP be solved by replacing TCP with UDP? Where could this be useful and why is it quite often dangerous for network stability?

If only some users replaced TCP by UDP they might experience higher throughput. However, the missing congestion avoidance mechanisms would soon lead to huge packet loss in the Internet. Additionally, reliability has to be added as UDP does not guarantee packet transmission. A lot of research exist for TCP friendly protocols, reliable UDP etc.


4. How and why does I-TCP isolate problems on the wireless link? What are the main drawbacks of this solution?

I-TCP splits the connection into two parts – a wired/fixed and a wireless/mobile part. This isolates problems on the wireless link from the fixed network. However, this also requires that intermediate systems are able to look into IP packets to split the connection. This prevents the usage of IPsec – end-to-end security and I-TCP (or proxy solutions in general) do not go together.


5. Show the interaction of mobile IP with standard TCP. Draw the packet flow from a fixed host to a mobile host via a foreign agent. Then a handover takes place. What are the following actions of mobile IP and how does TCP react?

See figure 8.2 for the packet flow. TCP does not directly interact with IP as mobile IP keeps mobility transparent. TCP may only experience higher loss rates during handover. Mobile IP handles the handover; old FAs may or may not forward packets. If acknowledgements arrive too late, TCP assumes congestion, goes into congestion avoidance and enters slow-start. However, slow-start is absolutely counterproductive. Sending with the same data rate as before would make sense.


6. Now show the required steps during handover for a solution with a PEP. What are the state and function of foreign agents, home agents, correspondent host, mobile host, PEP and care-of-address before, during, and after handover? What information has to be transferred to which entity to maintain consistency for the TCP connection?

Compare with figure 9.2. FA, CN, HA, MH should work as Mobile IP specifies. Without any PEP TCP would experience packet loss due to the change of the subnet if the old FA does not forward packets. If PEPs are used the old PEP must transfer the whole state (buffers for retransmissions, sockets, …) to the new PEP. The CN and the MH should not notice the existence of PEPs. One place to put a PEP is the
FA. However, the PEP could also be located at the edge of the fixed network. PEPs work on layer 4 (in this example), while the Mobile IP components work on layer 3 - they might interact, but they do not have to.


7. What are the influences of encryption on the proposed schemes? Consider for example IP security that can encrypt the payload, i.e., the TCP packet.

Using end-to-end encryption prohibits the use of any proxy schemes – unless the proxy is included in the security association. This is quite often not possible as the foreign network together with the proxy belongs to another organisation. As soon as IPsec with encryption is used, no proxy can look inside the packet and examine the TCP header for further processing.


8. Name further optimizations of TCP regarding the protocol overhead which are important especially for narrow band connections. Which problems may occur?

Selective retransmission is always a good idea. Most of the other optimizations exhibit drawbacks: compare with 9.3. There is no single solution and even the standards/drafts are inconsistent with each other.


9. Assume a fixed internet connection with a round trip time of 20 ms and an error rate of 10–10.
Calculate the upper bound on TCP’s bandwidth for a maximum segment size of 1,000 byte. Now two different wireless access networks are added. A WLAN with 2 ms additional one-way delay and an error rate of 10–3, and a GPRS network with an additional RTT of 2 s and an error rate of 10–7. Redo the calculation ignoring the fixed network’s error rate. Compare these results with the ones derived from the second formula (use RTO = 5 RTT). Why are some results not realistic?

First of all the tricky part. Error rates on links, as given in the question, are always bit error rates. Under the assumption that these errors are independent (and only under this assumption!), the packet loss probability p used in the formulae can be calculated as: p = 1 - ((1-bit error rate)packet size). Using this formula, you can calculate the packet loss rates (this ignores all FEC and ARQ efforts!).
• Fixed network: BER = 10-10, MSS = 1000 byte = 8000 bit, thus the packet loss rate p = 1 - ((1-10-10)8000) ≈ 8*10-7. RTT = 20 ms: Using the simple formula, this yields a max. bandwidth of 0.93 * 8000 / (0.02 * √(8*10-7)) bit/s ≈ 416 Mbit/s.
• WLAN: The same calculation with the WLAN error rate 10-3 and additional 2 ms delay results in a packet loss rate of 0.99966 and a bandwidth of 0.93 * 8000 / (0.022 * √0.99966) bit/s ≈ 338 kbit/s. This is a good example showing why big packets cause problems in WLANs – and why FEC/ARQ is definitively needed… Real life throughput in WLANs is about 6 Mbit/s for 802.11b WLANs (if there are no other users).
• GPRS: Using GPRS with an additional 2 s RTT and a BER of 10-7 (i.e., a packet loss rate of 8*10-4) results in only 0.93 * 8000 / (2.02 * √(8*10-4)) bit/s ≈ 130 kbit/s. Well, currently GPRS offers only 50 kbit/s, but that is a limitation the simple formula does not take into account.
• In practice, the performance depends very much on the error correction capabilities of the underlying layers. If FEC and ARQ on layer 2 do a good job, TCP will not notice much from the higher error rate. However, the delay introduced by ARQ and interleaving will decrease bandwidth. Additionally, the
slow start mechanisms must be considered for short living connections. Nevertheless, it is easy to see from these simple calculations that offering higher data rates, e.g., for GPRS, does not necessarily result in higher data rates for a customer using TCP.


10. Why does the link speed not appear in the formulas presented to estimate TCP’s throughput? What is wrong if the estimated bandwidth is higher than the link speed?

No matter what the estimation is, it is not possible to get a TCP bandwidth higher than the link speed. The link speed itself does not appear in the formula as attempting to send faster than the slowest link in the path causes the queue to grow at the transmitter driving the bottleneck. This increases the RTT, which in turn reduces the achievable throughput.


Chapter 10: Support for Mobility

1. Why is strong consistency of file systems problematic in a wireless and mobile environment? What are the alternatives?

It is simply too expensive to maintain strong consistency. Continuous updates require permanent connectivity, without connectivity all access must be blocked. Alternatives always include weakening the strong consistency. Many schemes include periodic updates, reintegration schemes or, if nothing else works, manual reintegration.


2. How do conventional file systems react to disconnected systems? Try unplugging a computer that has mounted a file system via a network.

Either the file systems together with the computer crash or the computer simply indicates that the directory is not accessible. Just try it with different systems (please save everything before).


3. What advantages has the statelessness of HTTP? In what situations is state useful and how is it provided today? Where is long-term state stored, where is short-term?

No state means no complex state management. Breaking connections does not matter; all necessary state is transferred with the next request. However, state is useful if overhead should be avoided or users should be enabled to resume sessions. Today, all state necessary for HTTP arrives together with the result of the get request. Long term state can be stored in cookies – the state exists as long as the cookie exists. Short term state is stored in the browser. In particular HTTP/1.1 allows for browsers that utilise the history of a session (partial transfer of content, setting of languages, cache handling technologies).



4. Which properties of HTTP waste bandwidth? What is the additional problem using HTTP/1.0 together with TCP? How does HTTP/1.1 improve the situation?

HTTP is text oriented and human readable. This makes parsing for humans quite simple, however, it wastes bandwidth compared to binary representations. Using HTTP/1.0 additionally wastes bandwidth as each request uses a separate TCP connection. This requires connection setup, data transfer, and connection release for each simple element on a web page. HTTP/1.1 uses persistent connections, i.e., one TCP connection can transfer several requests.


5. How does caching improve access time and reduce bandwidth requirements? What are locations for a cache and their specific advantages?

The closer a cache is located to a browser the better it can serve requests with minimum delay. Furthermore, if caches are located within mobile devices, many request can be handled locally thus avoiding unnecessary transmission over wireless links. If a cache is located at the border of the fixed network towards the wireless network the cache can isolate the fixed network from problems in the wireless network. Caches in the fixed network may also follow the user.


6. What are problems of caches in real life? What type of content can be cached, which content causes problems? What are the additional problems with client mobility?

Caches can only store content that does not change over time. However, today’s web pages contain many individualised components: counters, advertisements, browser adapted content etc. Furthermore,
content provides often want users to directly access content from the server to establish usage profiles. Caches without additional mechanisms make access counters and profiling useless. If the client is mobile
caches must follow the client.


7. What discrepancies exist between the possibilities of HTML and the realities of wireless handheld devices? What are the proposed solutions? What is the role of plug-ins today and how do they influence the usability of web pages?

HTML today is not only used to describe content but to define layout. The original idea of HTML was to support the description of text structure (headings, bullets, etc.). Now HTML is used for formatting purposes. Most screen designs assume 1024x768 pixels, true colour. Wireless devices still have low resolution displays, 4096 colours, 320x240 pixels etc. Therefore, many pages do not fit onto the small displays. Solutions include downscaling of pictures, content extraction or the description of the same content with special languages (WML, cHTML). Many pages additionally contain content that requires special plug-ins: flash, 3D animations, streaming media etc. Typically they simply will not work on many mobile devices.


8. Name mechanisms to improve web access for handheld devices. What is their common problem and what led finally to the development of WAP?

Caching, content transformation, picture downscaling, content extraction, textual descriptions of pictures. Many of the proposed solutions during the nineties were proprietary. WAP is the first standardised common solution supported by many network providers and device manufacturers. It is a different story why WAP was no success from the beginning (wrong marketing, wrong underlying transport system).


9. What are typical enhancements to the basic client/server architecture of the web? Reconsider these enhancements for a mobile wireless user with web access over a mobile phone network. What are efficient locations for the enhancements?

Proxies. Proxies can be located at different places – see the figures – and proxies can even be divided into two halves with special protocols between those halves. Proxies behave like clients towards servers, like servers towards clients. Good locations for proxies are close to the mobile/wireless user, but still in the fixed network. Examples could be foreign agents in mobile IP or routers in a GPRS network.


10. What are the primary goals of the WAP Forum efforts and how are they reflected in the initial WAP protocol architecture?

See section 10.3. General goals are: very efficient data transfer (binary representation), avoidance of redundant data transfer (stateful protocols), support of heterogeneous, simple devices (WML), access to telephony functions (WTAI), built-in security (WTLS), support of almost all transport platforms.


11. What migration paths does WAP 1.x offer for Internet and telephony applications and their protocols? Compare with WAP 2.0.

Telephony applications are supported via special interfaces in WAP 1.x (WTAI). Special gateways are required to access Internet content. WAP 2.0 combines Internet protocols with WAP 1.x. This allows direct access of Internet content.


12. Is WDP a fixed protocol and why does WAP not define a SAP which WDP can use?

WDP is not a fixed protocol. The interface to WDP is specified, WDP itself depends on the underlying network. The WDP interface provides an unreliable datagram transfer. If the underlying network already provides IP transfer WDP is simply the UDP protocol known from the Internet. Thus, there is no SAP WDP could use.


13. Why does WAP define its own security layer and does not rely on the security provided by the mobile phone network? What problems does the WAP security layer cause? Think of end-to-end security.

Not all mobile phone networks provide the same level of security. GSM, for example, provides only encryption over the air. WAP adds security from the end device to the WAP gateway. But this is also a problem. WAP does not guarantee end-to-end security. The security relation is broken at the gateway. This is the reason for banks to implement their additional security functions. This is also a difference to the usage of SSL/TLS in the Internet.


14. Name the advantages and disadvantages of user acknowledgements in WTP. What are typical applications for both cases?

Advantage: users can control the acknowledgement process, users may want to know if something went wrong, sometimes it is also possible to slow down a sender by inserting artificial delays in the acknowledgement process, the acknowledgement of a user is ―stronger‖ as it shows the sender that the intended receiver and not the WTP process actually got the message. Disadvantages: users have to interact, this may take some more time. Classical transactional services typically benefit from user acknowledgements, for most push service user acknowledgements are not necessary, still WTP acknowledgements can improve reliability.


15. Which WTP class reflects the typical web access best? How is unnecessary overhead avoided when using WSP on top of this class for web browsing?

WSP/B together with a class 2 transaction would be a good choice for standard web request/response schemes. The web expects a reliable protocol (that is why typically TCP is used) and works with transactions.


16. What problems of HTTP can WSP solve? Why are these solutions especially needed in wireless mobile environments?

WSP offers session management, capability negotiation, push and pull, asynchronous request, and efficient content encoding. Some of these features also come with HTTP/1.1. However, in mobile and wireless environments efficient coding directly results in cheaper web usage.


17. Why does WSP/B not put responses into the same order as the requests? Think, for example, of requests for different items on a web page.

User experience is typically much better if something happens on the screen. Waiting for all responses to arrive in order might cause too long pauses irritating users. As soon as a response arrives, the browser should display it to signal progress. Additionally, quite often users can continue with browsing although only parts of the page are visible.


18. What advantages does a connectionless session service offer compared to a simple datagram service?

Connectionless services typically have a lower overhead compared to connection setup, data transfer and release. Compared to a pure datagram service the connectionless session service additionally offers transaction identifiers and functions comparable to those of the other WSP services.


19. What are the enhancements of WAE to the classic client/server model of the web? What are functions of this enhancement?

Besides languages and content formats the WAE defines gateways between clients and servers. As mobile devices can often not use the standard formats and protocols of servers (TCP, HTTP, SSL etc.), gateways translate between the classical fixed and the new mobile and wireless world.


20. What is the fundamental difference of WML compared to HTML? Why can this difference be important for handheld devices? What is specified in addition to save bandwidth?

WML offers only a few formatting instructions. It rather defines the intention of the author of a page. If the device should present data to a user this could be done via text of synthesised voice. This approach is more flexible compared to HTML relying on powerful displays. Sure the difference between handheld devices and PCs continuously shrink. Additionally, common commands are binary encoded. Instead of
transferring text strings like ―http://www.‖ a single byte can express the same.


21. Why has a scripting language been added to WML? How can this language help saving bandwidth and reducing delay?

Scripting can help to reduce traffic by checking input on the mobile device. Without scripting support the device must transfer all input for checking to a server. Furthermore, scripting can access many device functions.


22. What are typical telephony events and how are they integrated into WAP? How can a user access features of mobile phones via the web browser?

Call indication, call accept, call setup, … WTAI offers special URLs and WTAscript functions for telephony features. A URL can now setup a call, WTAscript functions can change phone book entries etc.


23. What is the role of a WTA server? What are the different ways of integrating WTA servers into the WAP architecture?

WTA servers can much better control QoS as they typically belong to the mobile network operator. Standard servers in the Internet might experience many problems providing QoS – there is not even a widespread QoS architecture in the Internet. In principal there are many places for WTA servers: the operator’s network, other operators’ networks, even the Internet (but then with the above mentioned QoS
problems).


24. What is the difference between WAP service indication and service loading? What applications could use these services? What is a push good for anyway?

Pushs are useful for indicating unexpected events. Pulling would waste bandwidth and require too much energy from the mobile device. The difference between SI and SL is that in the case of SL the client’s user agent decides when to submit the URI (this then is a pull, but not noticed by the user). SIs are indicated and it is up to the user to use the service.


25. Name key differences between WAP 1.x and i-mode. What were problems in the early WAP days and why was i-mode that successful in Japan?

WAP 1.x was created by a consortium backed by network operators and many device manufacturers while i-mode is a proprietary development by NTT DoCoMo/Japan. Imode was used from the beginning over packet oriented transport plus it comprises a certain business model: content providers get about 80% of the revenue a customer generates, the network operator handles billing. WAP had problems in its early days as it was marketed as ―Internet on the mobile phone‖, which it is not. Additionally, it started on a connection oriented transport system. However, web usage is highly interactive. These two facts
caused the failure of WAP in its early days. Transferring the success of i-mode to other countries is not easy. NTT DoCoMo tried this in Europe but did not have the same success. Reasons are the PC penetration in Europe: many people have already fast Internet connections. Furthermore, not all providers chose i-mode. Other services, such as MMS, attract many people.


26. Why is a common synchronization framework useful? What problems remain?

Synchronisation is of major importance for many applications. Several incompatible approaches exist (even applications have their own mechanisms). However, the basic problems of synchronisation are still unsolved: how to synchronise two updated objects? Without application oriented knowledge synchronisation is not possible.


27. What are major differences between WAP 2.0 and WAP 1.x? What influenced the WAP 2.0 development?

WAP 2.0 includes i-mode and Internet components. The development was heavily influenced by the success of Internet applications and the ever increasing power of mobile devices.


28. Compare the presented protocol stacks for WAP 2.0 and give application examples.
See figure 10.38.

 WAP 1.x stack: This stack supports all ―classical‖ WAP phones and applications. As discussed in this section, there are many reasons for session services and more efficient transactional services. Thus, this stack will remain a useful part of WAP.
 WAP with profiled TCP: This i-mode like scenario offers optimised HTTP and TCP. This might be more efficient then using ―pure‖ Internet solutions, but reqires changes in HTTP and TCP – and the proxy to translate.
 WAP with TLS tunnelling: If end-to-end security is a must, the architecture must not break the connection. Therefore this stack offers end-to-end TLS, but can still benefit from an optimised TCP.
 WAP direct: If the devices are powerful enough and delays are not too high, the standard Internet protocol stack can be used. This would be the simplest solution, which does not require any special WAP protocols any more. While the devices might be powerful enough in the future, the delay problems will remain.