Wednesday, April 20, 2011

World Wide Web

The World Wide Web, abbreviated as WWW or W3 and commonly known as the Web, is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them via hyperlinks. Using concepts from earlier hypertext systems, English engineer and computer scientist Sir Tim Berners-Lee, now the Director of the World Wide Web Consortium, wrote a proposal in March 1989 for what would eventually become the World Wide Web. At CERN in Geneva, Switzerland, Berners-Lee and Belgian computer scientist Robert Cailliau proposed in 1990 to use "HyperText ... to link and access information of various kinds as a web of nodes in which the user can browse at will", and publicly introduced the project in December.
"The World-Wide Web was developed to be a pool of human knowledge, and human culture, which would allow collaborators in remote sites to share their ideas and all aspects of a common project."



The terms Internet and World Wide Web are often used in every-day speech without much distinction. However, the Internet and the World Wide Web are not one and the same. The Internet is a global system of interconnected computer networks. In contrast, the Web is one of the services that runs on the Internet. It is a collection of interconnected documents and other resources, linked by hyperlinks and URLs. In short, the Web is an application running on the Internet.
Viewing a web page on the World Wide Web normally begins either by typing the URL of the page into a web browser, or by following a hyperlink to that page or resource. The web browser then initiates a series of communication messages, behind the scenes, in order to fetch and display it.

Pulse-code modulation

Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals, which was invented by Alec Reeves in 1937. It is the standard form for digital audio in computers and various Blu-ray, Compact Disc and DVD formats, as well as other uses such as digital telephone systems. A PCM stream is a digital representation of an analog signal, in which the magnitude of the analogue signal is sampled regularly at uniform intervals, with each sample being quantized to the nearest value within a range of digital steps.
PCM streams have two basic properties that determine their fidelity to the original analog signal: the sampling rate, which is the number of times per second that samples are taken; and the bit depth, which determines the number of possible digital values that each sample can take.

Service primitives of Network Software

Service primitives

A service is formally by a set of primitives or operations a user or other entities can invoke to access the service. That is what materializes an interface. We commonly classify service primitives into 4 classes:
primitive meaning
request an entity is requesting a service (we are requesting a connection to a remote computer)
indication an entity is informed of an event (the receiver has just received a connection request)
response an entity is responding to an event (the receiver is sending the permission to connect)
confirm an entity acknowledges the response to its request (the sender acknoledge the permission to connect to the remote host)
Most primitives need parameters. For instance, parameters of a CONNECT.request (used to query a connection) are the machine you want to connect to, the service you want to use (FTP, telnet...) and the maximum size of exchanged packets.
A acknowledged service is a service that requires a request, an indication, a response and a confirm. A unacknowledged service is a service that requires only a request and an indication. Typically, the service that establishes a connection is an acknowledged service because the peer entity must agree to set the connection. On the other hand, data transmission may be an unacknowledged service, whether we want an acknowledgement or not.
On an implementation point of view, primitives correspond to functions we can use in a program to access a given service.

services/protocols relations

A service is a set of primitives a layer provides to the upper layer. The service defines the operations a layer may realize, but it does not tell how these operations are really realized. The most characteristic element of a service is the interface between two adjacent layers.
Conversely, a protocol is a set of rules that applies to the meaning and format of messages exchanged between two peer entities. Entities uses protocols to implement service specifications. A service may therefore remain the same with two different protocols.
Protocols and services are different, but they are close to each other. We must not confuse. A service is rather an abstract notion, although the protocol corresponds to what really happens. This distinction actually answers to modern programming and implementation requirements. It is equivalent to making the distinction between an algorithm and its implementation.

connection-oriented services and connectionless services


The connection-oriented service requires a connectio to be set between two points. The receiver then expects the sender to transmit data. At the end of the transmission, the connection is stopped. Such a service is for example the telephone: to use it, we must first take of the hook, and dial a number. The called person picks up the phone and the connection is then set. The two speakers converse until they hang up.
The connectionless service is characterized by the independance of transmitted messages. Someone can receive a message without being aware of it. Messages can then follow different routes. The consequence is that we can receive messages in an inverted order. The typical example for this kind of service is the mail system: someone writes a letter and sends it without warning the addressee. This letter may then arrive after a second letter the same guy may have sent to the same addressee. Routes followed by these two letters may be different.

Frame Relay

Frame Relay is a standardized wide area network technology that specifies the physical and logical link layers of digital telecommunications channels using a packet switching methodology. Originally designed for transport across Integrated Services Digital Network (ISDN) infrastructure, it may be used today in the context of many other network interfaces.
Network providers commonly implement Frame Relay for voice (VoFR) and data as an encapsulation technique, used between local area networks (LANs) over a wide area network (WAN). Each end-user gets a private line (or leased line) to a frame-relay node. The frame-relay network handles the transmission over a frequently-changing path transparent to all end-users.
Frame Relay has become one of the most extensively-used WAN protocols. Its cheapness (compared to leased lines) provided one reason for its popularity. The extreme simplicity of configuring user equipment in a Frame Relay network offers another reason for Frame Relay's popularity.
With the advent of Ethernet over fiber optics, MPLS, VPN and dedicated broadband services such as cable modem and DSL, the end may loom for the Frame Relay protocol and encapsulation

Frame relay is a synchronous HDLC protocol based network. Data is sent in HDLC packets, referred to as "frames". The diagram below of an HDLC frame may be familiar, since without adding specific definitions of how the Address, Control and CRC is used, the diagram is applicable to IBM's SDLC, to X.25, to HDLC, to Frame Relay, as well as other protocols.