bt0087
-
Upload
manish-kumar -
Category
Documents
-
view
109 -
download
0
description
Transcript of 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.
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).
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
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.
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.
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.
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.
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
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.
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