bt0087

15
August 2011 Bachelor of Science in Information Technology (BScIT) – Semester 5 BT0087 – WML and WAP Programming - Theory – 2 Credits (Book ID: B1182) Assignment Set – 1 (30 Marks) Answer all questions 5 x 6 = 30 1. Mention the devices for which WAP is designed. Ans: In computer networking, a wireless access point (WAP) is a device that allows wireless devices to connect to a wired network using Wi- Fi, Bluetooth or related standards. The WAP usually connects to a router (via a wired network), and can relay data between the wireless devices (such as computers or printers) and wired devices on the network. Industrial grade WAPs are rugged, with a metal cover and a DIN rail mount. During operations they can tolerate a wider temperature range, high humidity and exposure to water, dust, and oil. Wireless security includes: WPA-PSK, WPA2, IEEE 802.1x/RADIUS, WDS, WEP, TKIP, and CCMP (AES) encryption. Unlike some home consumer models, industrial wireless access points can also act as a bridge, router, or a client. Common WAP applications A typical corporate use involves attaching several WAPs to a wired network and then providing wireless access to the office LAN . The wireless access points are managed by a WLAN Controller which handles automatic adjustments to RF power, channels, authentication, and security. Further, controllers can be combined to form a wireless mobility group to allow inter-controller roaming. The controllers can be part of a mobility domain to allow clients access throughout large or regional office locations. This saves the clients time and administrators overhead because it can automatically re-associate or re-authenticate.

description

bsc it smu

Transcript of bt0087

Page 1: bt0087

August 2011

Bachelor of Science in Information Technology (BScIT) – Semester 5

BT0087 – WML and WAP Programming - Theory – 2 Credits (Book ID: B1182)

Assignment Set – 1 (30 Marks)

Answer all questions 5 x 6 = 30

1. Mention the devices for which WAP is designed.

Ans: In computer networking, a wireless access point (WAP) is a device that allows wireless devices to

connect to a wired network using Wi-Fi, Bluetooth or related standards. The WAP usually connects to a

router (via a wired network), and can relay data between the wireless devices (such as computers or

printers) and wired devices on the network.

Industrial grade WAPs are rugged, with a metal cover and a DIN rail mount. During operations they can

tolerate a wider temperature range, high humidity and exposure to water, dust, and oil. Wireless security

includes: WPA-PSK, WPA2, IEEE 802.1x/RADIUS, WDS, WEP, TKIP, and CCMP (AES) encryption.

Unlike some home consumer models, industrial wireless access points can also act as a bridge, router, or

a client.

Common WAP applications

A typical corporate use involves attaching several WAPs to a wired network and then providing wireless

access to the office LAN. The wireless access points are managed by a WLAN Controller which handles

automatic adjustments to RF power, channels, authentication, and security. Further, controllers can be

combined to form a wireless mobility group to allow inter-controller roaming. The controllers can be

part of a mobility domain to allow clients access throughout large or regional office locations. This saves

the clients time and administrators overhead because it can automatically re-associate or re-authenticate.

A hotspot is a common public application of WAPs, where wireless clients can connect to the Internet

without regard for the particular networks to which they have attached for the moment. The concept has

become common in large cities, where a combination of coffeehouses, libraries, as well as privately

owned open access points, allow clients to stay more or less continuously connected to the Internet,

while moving around. A collection of connected hotspots can be referred to as a lily-pad network.

The majority of WAPs are used in Home wireless networks. Home networks generally have only one

WAP to connect all the computers in a home. Most are wireless routers, meaning converged devices that

include the WAP, a router, and, often, an ethernet switch. Many also include a broadband modem. In

places where most homes have their own WAP within range of the neighbors' WAP, it's possible for

technically savvy people to turn off their encryption and set up a wireless community network, creating

an intra-city communication network although this does not negate the requirement for a wired network.

Page 2: bt0087

A WAP may also act as the network's arbitrator, negotiating when each nearby client device can

transmit. However, the vast majority of currently installed IEEE 802.11 networks do not implement this,

using a distributed pseudo-random algorithm called CSMA/CA instead.

Device Architecture

WAP Client Architecture

The architecture for WAP devices is shown in Figure 6. The Application Framework provides the device

execution environment for WAP applications. WAP applications are comprised of markup, script, style

sheets and multimedia content, all of which are rendered on the device. The WAP Application

Environment (WAE) processing model defines the structure in which these various forms of executable

and non-executable content interact. The network protocols on the WAP client are shared between client

and server. They are described in further detail below. Content renderers interpret specific forms of

content and present them to the end user for perusal or interaction.Common functions are defined to be

utilised by the application framework, including persistence and data synchronisation.The Wireless

Identity Module (WIM), as specified in [WIM], contains the identity of the device and the cryptographic

means to mutually authenticate WAP devices and servers. The architecture also provides a mechanism to

access external functions that are embedded or attached to the devices via the External Functionality

Interface (EFI).

Page 3: bt0087

2. Why HTTP, TLS and transmission control protocol (TCP) are inefficient over mobile networks?

Ans: The Hypertext Transfer Protocol (HTTP) is a networking protocol for distributed, collaborative,

hypermedia information systems. HTTP is the foundation of data communication for the World Wide

Web.

The standards development of HTTP has been coordinated by the Internet Engineering Task Force

(IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of

Requests for Comments (RFCs), most notably RFC 2616 (June 1999), which defines HTTP/1.1, the

version of HTTP in common use.

HTTP functions as a request-response protocol in the client-server computing model. In HTTP, a web

browser, for example, acts as a client, while an application running on a computer hosting a web site

functions as a server. The client submits an HTTP request message to the server. The server, which

stores content, or provides resources, such as HTML files, or performs other functions on behalf of the

client, returns a response message to the client. A response contains completion status information about

the request and may contain any content requested by the client in its message body.

A web browser (or client) is often referred to as a user agent (UA). Other user agents can include the

indexing software used by search providers, known as web crawlers, or variations of the web browser

such as voice browsers, which present an interactive voice user interface.

The HTTP protocol is designed to permit intermediate network elements to improve or enable

communications between clients and servers. High-traffic websites often benefit from web cache servers

that deliver content on behalf of the original, so-called origin server, to improve response time. HTTP

proxy servers at network boundaries facilitate communication when clients without a globally routable

address are located in private networks by relaying the requests and responses between clients and

servers.

HTTP is an Application Layer protocol designed within the framework of the Internet Protocol Suite.

The protocol definitions presume a reliable Transport Layer protocol for host-to-host data transfer. The

Transmission Control Protocol (TCP) is the dominant protocol in use for this purpose. However, HTTP

has found application even with unreliable protocols, such as the User Datagram Protocol (UDP) in

methods such as the Simple Service Discovery Protocol (SSDP).

HTTP Resources are identified and located on the network by Uniform Resource Identifiers (URIs)—or,

more specifically, Uniform Resource Locators (URLs)—using the http or https URI schemes. URIs and

the Hypertext Markup Language (HTML), form a system of inter-linked resources, called hypertext

documents, on the Internet, that led to the establishment of the World Wide Web in 1990 by English

computer scientist and innovator Tim Berners-Lee.

The original version of HTTP (HTTP/1.0) was revised in HTTP/1.1. HTTP/1.0 uses a separate

connection to the same server for every request-response transaction, while HTTP/1.1 can reuse a

Page 4: bt0087

connection multiple times, to download, for instance, images for a just delivered page. Hence HTTP/1.1

communications experience less latency as the establishment of TCP connections presents considerable

overhead.

Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), are cryptographic

protocols that provide communication security over the Internet. TLS and SSL encrypt the segments of

network connections above the Transport Layer, using asymmetric cryptography for key exchange,

symmetric encryption for privacy, and message authentication codes for message integrity.

Several versions of the protocols are in widespread use in applications such as web browsing, electronic

mail, Internet faxing, instant messaging and voice-over-IP (VoIP).

TLS is an IETF standards track protocol, last updated in RFC 5246, and is based on the earlier SSL

specifications developed by Netscape Communications.

Description

The TLS protocol allows client/server applications to communicate across a network in a way designed

to prevent eavesdropping and tampering.

Since most protocols can be used either with or without TLS (or SSL) it is necessary to indicate to the

server whether the client is making a TLS connection or not. There are two main ways of achieving this,

one option is to use a different port number for TLS connections (for example port 443 for HTTPS). The

other is to use to the regular port number and have the client request that the server switch the

connection to TLS using a protocol specific mechanism (for example STARTTLS for mail and news

protocols).

Once the client and server have decided to use TLS they negotiate a stateful connection by using a

handshaking procedure. During this handshake, the client and server agree on various parameters used to

establish the connection's security.

The handshake begins when a client connects to a TLS-enabled server requesting a secure

connection and presents a list of supported CipherSuites (ciphers and hash functions).

From this list, the server picks the strongest cipher and hash function that it also supports and

notifies the client of the decision.

The server sends back its identification in the form of a digital certificate. The certificate usually

contains the server name, the trusted certificate authority (CA) and the server's public encryption

key.

The client may contact the server that issued the certificate (the trusted CA as above) and

confirm the validity of the certificate before proceeding.

In order to generate the session keys used for the secure connection, the client encrypts a random

number with the server's public key and sends the result to the server. Only the server should be

able to decrypt it, with its private key.

Page 5: bt0087

From the random number, both parties generate key material for encryption and decryption.

This concludes the handshake and begins the secured connection, which is encrypted and decrypted with

the key material until the connection closes.

If any one of the above steps fails, the TLS handshake fails and the connection is not created.

The Transmission Control Protocol (TCP) is one of the core protocols of the Internet Protocol Suite.

TCP is one of the two original components of the suite, complementing the Internet Protocol (IP), and

therefore the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered delivery of

a stream of bytes from a program on one computer to another program on another computer. TCP is the

protocol that major Internet applications such as the World Wide Web, email, remote administration and

file transfer rely on. Other applications, which do not require reliable data stream service, may use the

User Datagram Protocol (UDP), which provides a datagram service that emphasizes reduced latency

over reliability.

Network function

TCP provides a communication service at an intermediate level between an application program and the

Internet Protocol (IP). That is, when an application program desires to send a large chunk of data across

the Internet using IP, instead of breaking the data into IP-sized pieces and issuing a series of IP requests,

the software can issue a single request to TCP and let TCP handle the IP details.

IP works by exchanging pieces of information called packets. A packet is a sequence of octets and

consists of a header followed by a body. The header describes the packet's destination and, optionally,

the routers to use for forwarding until it arrives at its destination. The body contains the data IP is

transmitting.

Due to network congestion, traffic load balancing, or other unpredictable network behavior, IP packets

can be lost, duplicated, or delivered out of order. TCP detects these problems, requests retransmission of

lost data, rearranges out-of-order data, and even helps minimize network congestion to reduce the

occurrence of the other problems. Once the TCP receiver has reassembled the sequence of octets

originally transmitted, it passes them to the application program. Thus, TCP abstracts the application's

communication from the underlying networking details.

TCP is utilized extensively by many of the Internet's most popular applications, including the World

Wide Web (WWW), E-mail, File Transfer Protocol, Secure Shell, peer-to-peer file sharing, and some

streaming media applications.

TCP is optimized for accurate delivery rather than timely delivery, and therefore, TCP sometimes incurs

relatively long delays (in the order of seconds) while waiting for out-of-order messages or

retransmissions of lost messages. It is not particularly suitable for real-time applications such as Voice

over IP. For such applications, protocols like the Real-time Transport Protocol (RTP) running over the

User Datagram Protocol (UDP) are usually recommended instead.

Page 6: bt0087

TCP is a reliable stream delivery service that guarantees delivery of a data stream sent from one host to

another without duplication or losing data. Since packet transfer is not reliable, a technique known as

positive acknowledgment with retransmission is used to guarantee reliability of packet transfers. This

fundamental technique requires the receiver to respond with an acknowledgment message as it receives

the data. The sender keeps a record of each packet it sends, and waits for acknowledgment before

sending the next packet. The sender also keeps a timer from when the packet was sent, and retransmits a

packet if the timer expires. The timer is needed in case a packet gets lost or corrupted.

TCP consists of a set of rules: for the protocol, that are used with the Internet Protocol, and for the IP, to

send data "in a form of message units" between computers over the Internet. While IP handles actual

delivery of the data, TCP keeps track of the individual units of data transmission, called segments, that a

message is divided into for efficient routing through the network. For example, when an HTML file is

sent from a Web server, the TCP software layer of that server divides the sequence of octets of the file

into segments and forwards them individually to the IP software layer (Internet Layer). The Internet

Layer encapsulates each TCP segment into an IP packet by adding a header that includes (among other

data) the destination IP address. Even though every packet has the same destination address, they can be

routed on different paths through the network. When the client program on the destination computer

receives them, the TCP layer (Transport Layer) reassembles the individual segments and ensures they

are correctly ordered and error free as it streams them to an application.

Page 7: bt0087

3. What are the goals of WAP architecture?

Ans: The goals of the WAP Forum architecture are as follows. This summary is informative and non-

exhaustive; the order of the items does not represent any priority or importance.

Provide a web-centric application model for wireless data services that utilises the telephony,

mobility, and otherunique functions of wireless devices and networks and allows maximum

flexibility and ability for vendors toenhance the user experience.

Enable the personalisation and customisation of the device, the content delivered to it, and the

presentation of thecontent.

Provide support for secure and private applications and communication in a manner that is

consistent and interoperable with Internet security models.

Enable wireless devices and networks that are currently or in the near future being deployed,

including a wide variety of bearers from narrow-band to wide-band.

Provide secure access to local handset functionality.

Facilitate network-operator and third party service provisioning.

Define a layered, scaleable and extensible architecture.

Leverage existing standards where possible, especially existing and evolving Internet standards.

Page 8: bt0087

4. What are the differences between HTML and WML?

5. Explain the use of type attribute.

Ans: The type attribute

The type attribute is most often used on linking elements to describe the target of a cross-reference. It is

also used on the note element to describe the type of the current note, and on several other elements for

varying purposes.

The descriptions for the type attribute on linking elements and on note are too long to fit in the usual

attribute table, so they are included in this section; for other elements, such as audience, copyright, or

object, the description can be found with the element.

Using type on a linking element

The type attribute describes the target of a cross-reference and may generate cross-reference text based

on that description. Only the <xref> element can link to content below the topic level: other types of

linking can target whole topics, but not parts of topics. Typically <xref> should also be limited to topic-

level targets, unless the output is primarily print-oriented. Web-based referencing works best at the level

of whole topics, rather than anchor locations within topics.

When the type attribute is unspecified, it should be determined by inspecting the target if possible. If the

target cannot be inspected for some reason, the value should default to "topic".

If the type attribute is specified when referencing DITA content, it should match one of the values in the

target's class attribute. For example, if type="topic", the link could be to a generic topic, or any

specialization of topic, including concept, task, and reference. Applications may, but need not, issue a

Page 9: bt0087

warning when the specified or inherited type attribute value does not match the target (or a specialization

ancestor of the target).

Some possible values for use on the xref element and its specializations include:

fig

Indicates a link to a figure.

table

Indicates a link to a table.

li

Indicates a link to an ordered list item.

fn

Indicates a link to a footnote.

section

"section" indicates a link to a section.

Other values that may be used on any linking element include:

concept, task, reference, topic

Cross-reference to a topic type.

(no value)

The processor should retrieve the actual type from the target if available. If the type cannot be

determined, the default should be treated as "topic".

Other values can be used to indicate other types of topics or elements as targets. Processing is only

required to support the above list, or specializations of types in that list. Supporting additional types as

targets may require the creation of processing overrides.

Using type in a note element

In a note element, this defines the type of note. For example, if the note is a tip, the word Tip may be

used to draw the reader's attention to it. If type is set to other, the value of the othertype attribute may be

used. If you use othertype, many processors will require additional information on how to process the

value. Allowable values for the type attribute are:

note

This is just a note.

attention

Please pay extra attention to this note.

caution

Care is required when proceeding.

danger

Important! Be aware of this before doing anything else.

Page 10: bt0087

fastpath

This note will speed you on your way.

important

This note is important.

remember

Don't forget to do what this note says.

restriction

You can't do what this note says.

tip

This is a fine little tip.

other

This is something other than a normal note.

-dita-use-conref-target