Friday, November 22, 2013

Session Layer

The session layer manages sessions between applications, including initiation, maintenance and termination of information transfer sessions. Usually this is visible to the user by having to log on with a password.

The session layer tracks connections, also called sessions. The session layer should keep track of multiple file downloads requested by a particular FTP application, or multiple telnet connections from a single terminal client, or web page retrievals from a web server.

With TCP/IP this functionality is handled by application software addressing a connection to a remote machine and using a different local port number for each connection.


The session layer performs the following functions:

Communication with the Presentation layer above.

Organize and manage one or more connections per application, between hosts.

Communication with the Transport layer below.

Session layer protocols are particularly useful for multimedia applications for which it is necessary to coordinate the timing of two or more types of data, such as voice and moving images, with a high degree of precision. Examples include video conferencing and streaming.


Examples of session layer protocols include DLC (data link control), PAP (printer access control), SMB (server message block), ASP (AppleTalk session protocol), NetBIOS (network basic input/output system) and ZIP (zone information protocol).

TYPES of Session:

Simplex: Transmission from one side only. eg TV, Radio.

Half Duplex: Transmission from both side but onc side at a time. eg Walkie Takie, Chatting.

Full Duplex: Transmission from both side simultaneously. eg Telephoe, Mobile, Video Chat.


Hub

This is a hardware device that is used to network multiple computers together. It is a central connection for all the computers in a network, which is usually Ethernet-based. Information sent to the hub can flow to any other computer on the network. If you need to connect more than two computers together, a hub will allow you to do so. If you only need to network two computers together, a simple crossover Ethernet cable will do the trick.

An Ethernet hubactive hubnetwork hubrepeater hubmultiport repeater or hub is a device for connecting multiple Ethernet devices together and making them act as a single network segment. It has multiple input/output (I/O) ports, in which a signal introduced at the input of any port appears at the output of every port except the original incoming. A hub works at the physical layer (layer 1) of the OSI model. The device is a form of multiport repeater. Repeater hubs also participate in collision detection, forwarding a jam signal to all ports if it detects a collision.

Network Hardwares

 

Networking hardware may also be known as network equipment, computer networking devices. Units which are the last receiver or generate data are called hosts or data terminal equipment.

All these terms refer to devices facilitating the use of a computer network. Specifically, they mediate data in a computer network.

 Specific devices

    Hub: a device that connects multiple Ethernet segments, making them act as a single segment. When using a hub, every attached device shares the same broadcast domain and the same collision domain. Therefore, only one computer connected to the hub is able to transmit at a time. Depending on the network topology, the hub provides a basic level 1 OSI model connection among the network objects (workstations, servers, etc.). It provides bandwidth which is shared among all the objects, in contrast to switches, which provide a connection between individual nodes. It works on OSI layer 1.

    Switch: a device that allocates traffic from one network segment to certain lines (intended destination(s)) which connect the segment to another network segment. Unlike a hub, a switch splits the network traffic and sends it to different destinations rather than to all systems on the network. It works on OSI layer 2.

    Repeater: a device which amplifies or regenerates digital signals received while sending them from one part of a network into another. It works on OSI layer 1.

    Router: a specialized network device that determines the next network point to which it can forward a data packet towards the ultimate destination of the packet. Unlike a gateway, it cannot interface different protocols. It works on OSI layer 3.

    Bridge: a device that connects multiple network segments along the data link layer. It works on OSI layer 2.

    Gateway: this device is placed at a network node and interfaces with another network that uses different protocols. It works on OSI layers 4 to 7.

    Network interface controller: a piece of computer hardware allowing the attached computer to communicate by network.

    Wireless network interface controller: a piece of computer hardware allowing the non-attached computer to communicate by LAN.

    Modem: device that modulates an analog "carrier" signal (such as sound) to encode digital information, and that also demodulates such a carrier signal to decode the transmitted information, such as a computer communicating with another computer over a telephone network.

 

Thursday, November 21, 2013

Application Layer

 

In the Internet model, the application layer is an abstraction layer reserved for communications protocols and methods designed for process-to-process communications across an Internet Protocol (IP) computer network. Application layer protocols use the underlying transport layer protocols to establish process-to-process connections via ports.

In the OSI model, the definition of its application layer is narrower in scope. The OSI model defines the application layer as being the user interface. The OSI application layer is responsible for displaying data and images to the user in a human-recognizable format and to interface with the presentation layer below it.[2]

It separates functionality above the transport layer at two additional levels, the session layer and the presentation layer. OSI specifies strict modular separation of functionality at these layers and provides protocol implementations for each layer. The interface – responsible for displaying the information received to the user.

 The application layer consists of what most users think of as programs. The application does the actual work at hand. Although each application is different, some applications are so useful that they have become standardized.

The Internet has defined standards for:

 

File transfer (FTP):

    Connect to a remote machine and send or fetch an arbitrary file. FTP deals with authentication, listing a directory contents, ascii or binary files, etc.

Remote login (telnet):

    A remote terminal protocol that allows a user at one site to establish a TCP connection to another site, and then pass keystrokes from the local host to the remote host.

Mail (SMTP):

    Allow a mail delivery agent on a local machine to connect to a mail delivery agent on a remote machine and deliver mail.

News (NNTP):

    Allows communication between a news server and a news client.

Web (HTTP):

    Base protocol for communication on the World Wide Web.

 

Message encapsulation

Message encapsulation
As data are passed down from an application level through the transport level, the network layer to the
data-link layer they are encapsulated, this is shown in figure 1.4. In order to transmit the characters the
transport layer puts a header on to communicate with its peer module at the remote end. In this header will
be the port number. The transport module passes the data plus header to the network module which puts on
its header containing the remote system address. Finally when this is passed to the data-link code another
header is added.

Protocols

Set of Rules and procedure under which network governs.

To request any service or exchange any information between 2 programs there must be an agreed set of
commands and data formats, this is a protocol. So, for example, the commands and data sent between
a World Wide Web browser and a remote server are a protocol. The browser (probably) uses the GET
command follow by the name of the required file (page), this protocol is recognised and understood by the
web server program which responds appropriately. Similarly the format of packets sent between Ethernet
cards and their drivers are a protocol. The programs exchanging messages are called peers.

Communication channel

Communication channel
In telecommunications and computer networking, a communication channel, or channel, refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel. Communicating data from one location to another requires some form of pathway or medium. These pathways, called communication channels, use two types of media: cable (twisted-pair wire, cable, and fiber-optic cable) and broadcast (microwave, satellite, radio, and infrared).
A channel is used to convey an information signal, for example a digital bit stream, from one or several senders (or transmitters) to one or several receivers. A channel has a certain capacity for transmitting information, often measured by its bandwidth in Hz or its data rate in bits per second.

Transmission media are classified as one of the following:
·         Guided (or bounded)—waves are guided along a solid medium such as a transmission line.

·         Wireless (or unguided)—transmission and reception are achieved by means of an antenna.

Tuesday, December 11, 2012

Semaphore


In computer science, a semaphore is a variable or abstract data type that provides a simple but useful abstraction for controlling access by multiple processes to a common resource in a parallel programming or multi user environment.
A useful way to think of a semaphore is as a record of how many units of a particular resource are available, coupled with operations to safely (i.e., without race conditions) adjust that record as units are required or become free, and if necessary wait until a unit of the resource becomes available. Semaphores are a useful tool in the prevention of race conditions; however, their use is by no means a guarantee that a program is free from these problems. Semaphores which allow an arbitrary resource count are called counting semaphores, while semaphores which are restricted to the values 0 and 1 (or locked/unlocked, unavailable/available) are called binary semaphores (same functionality that mutexes have).
The semaphore concept was invented by Dutch computer scientist Edsger Dijkstra in 1965, and the concept has found widespread use in a variety of operating systems.

Important observations

When used for a pool of resources, a semaphore does not keep track of which of the resources are free, only how many there are. Some other mechanism (possibly involving more semaphores) may be required to select a particular free resource.
Processes are trusted to follow the protocol. Fairness and safety are likely to be compromised (which practically means a program may behave slowly, act erratically, hang or crash) if even a single process acts incorrectly. This includes:
  • requesting a resource and forgetting to release it
  • releasing a resource that was never requested
  • holding a resource for a long time without needing it
  • using a resource without requesting it first (or after releasing it).
Even if all processes follow these rules, multi-resource deadlock may still occur when there are different resources managed by different semaphores and when processes need to use more than one resource at a time, as illustrated by the dining philosophers problem.

CUI V/S GUI


CUI and GUI are acronyms that stand for different kinds of user interface systems. These are terms used in reference to computers. CUI stands for Character User Interface while GUI refers to Graphical User Interface. Though both are interfaces and serve the purpose of running the programs, they differ in their features and the control they provide to the user. Here is a brief explanation of the two types of user interface for the help of those who do not know about them.


What is CUI?
CUI means you have to take help of a keyboard to type commands to interact with the computer. You can only type text to give commands to the computer as in MS DOS or command prompt. There are no images or graphics on the screen and it is a primitive type of interface. In the beginning, computers had to be operated through this interface and users who have seen it say that they had to contend with a black screen with white text only. In those days, there was no need of a mouse as CUI did not support the use of pointer devices. CUI’s have gradually become outdated with the more advanced GUI taking their place. However, even the most modern computers have a modified version of CUI called CLI (Command Line Interface).


What is GUI?
GUI is what most modern computers make use of. This is an interface that makes use of graphics, images and other visual clues such as icons. This interface made it possible for a mouse to be used with a computer and interaction really became very easy as the user could interact with just a click of the mouse rather than having to type every time to give commands to the computer.


Tuesday, December 04, 2012

Project management


Project management is the discipline of planning, organizing, securing, managing, leading, and controlling resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end (usually time-constrained, and often constrained by funding or deliverables), undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value. The temporary nature of projects stands in contrast with business as usual (or operations), which are repetitive, permanent, or semi-permanent functional activities to produce products or services. In practice, the management of these two systems is often quite different, and as such requires the development of distinct technical skills and management strategies.
The primary challenge of project management is to achieve all of the project goals and objectives while honoring the preconceived constraints. The primary constraints are scope, time, quality and budget. The secondary —and more ambitious— challenge is to optimize the allocation of necessary inputs and integrate them to meet pre-defined objectives.