What is Storage?

storage-device-computer

 

In a computer, storage is the place where data is held in an electromagnetic or optical form for access by a computer processor. There are two general usages.

  1. Storage is frequently used to mean the devices and data connected to the computer through input/output operations – that is, hard disk and tape systems and other forms of storage that don’t include computer memory and other in-computer storage. For the enterprise, the options for this kind of storage are of much greater variety and expense than that related to memory. This meaning is probably more common in the IT industry than meaning 2 (the following).
  2. In a more formal usage, storage has been divided into:
    1. Primary storage, which holds data in memory (sometimes called random access memory or RAM) and other “built-in” devices such as the processor’s L1 cache, and
    2. Ssecondary storage, which holds data on hard disks, tapes, and other devices requiring input/output operations.

Primary storage is much faster to access than secondary storage because of the proximity of the storage to the processor or because of the nature of the storage devices. On the other hand, secondary storage can hold much more data than primary storage.

In addition to RAM, primary storage includes read-only memory (ROM) and L1 and L2 cache memory. In addition to hard disks, secondary storage includes a range of device types and technologies, including diskettes, Zip drives, redundant array of independent disks (RAID) systems, and holographic storage. Devices that hold storage are collectively known as storage media.

A somewhat antiquated term for primary storage is main storage and a somewhat antiquated term for secondary storage is auxiliary storage. Note that, to add to the confusion, there is an additional meaning for primary storage that distinguishes actively used storage from backup storage.

Interview Question : What is Hard Disk?

what-is-hard-disk-drive-hdd

A hard disk is part of a unit, often called a “disk drive,” “hard drive,” or “hard disk drive (HDD),” that stores and provides relatively quick access to large amounts of data on an electromagnetically charged surface or set of surfaces. Today’s computers typically come with a hard disk that contains several billion bytes (gigabytes) of storage.

A Hard disk can also be defined as:

  1. a rigid (“hard”) non-removable magnetic disk with a large data storage capacity.
  2. a data storage device used for storing and retrieving digital information using one or more rigid (“hard”) rapidly rotating disks (platters) coated with magnetic material.
  3. A magnetic disk on which you can store computer data. The term hard is used to distinguish it from a soft, or floppy disk. Hard disks hold more data and are faster than floppy disks.

Extra Information

A hard disk is really a set of stacked “disks,” each of which, like phonograph records, has data recorded electromagnetically in concentric circles or “tracks” on the disk. A “head” (something like a phonograph arm but in a relatively fixed position) records (writes) or reads the information on the tracks. Two heads, one on each side of a disk, read or write the data as the disk spins. Each read or write operation requires that data be located, which is an operation called a “seek.” (Data already in a disk cache, however, will be located more quickly.)

A hard disk/drive unit comes with a set rotation speed varying from 4500 to 7200 rpm. Disk access time is measured in milliseconds. Although the physical location can be identified with cylinder, track, and sector locations, these are actually mapped to a logical block address (LBA) that works with the larger address range on today’s hard disks.

To know more regarding the terms follow the post about Difference between Disc and Disk click here.

 

Easy Lesson On : Active FTP vs Passive FTP

Contents:

 

Introduction

One of the most commonly seen questions when dealing with firewalls and other Internet connectivity issues is the difference between active and passive FTP and how best to support either or both of them. Hopefully the following text will help to clear up some of the confusion over how to support FTP in a firewalled environment.

 

The Basics

FTP is a TCP based service exclusively. There is no UDP component to FTP. FTP is an unusual service in that it utilizes two ports, a ‘data’ port and a ‘command’ port (also known as the control port). Traditionally these are port 21 for the command port and port 20 for the data port. The confusion begins however, when we find that depending on the mode, the data port is not always on port 20.

 

Active FTP

In active mode FTP the client connects from a random unprivileged port (N > 1023) to the FTP server’s command port, port 21. Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client’s specified data port from its local data port, which is port 20.

From the server-side firewall’s standpoint, to support active mode FTP the following communication channels need to be opened:

  • FTP server’s port 21 from anywhere (Client initiates connection)
  • FTP server’s port 21 to ports > 1023 (Server responds to client’s control port)
  • FTP server’s port 20 to ports > 1023 (Server initiates data connection to client’s data port)
  • FTP server’s port 20 from ports > 1023 (Client sends ACKs to server’s data port)

When drawn out, the connection appears as follows:active-ftp-winged-post

In step 1, the client’s command port contacts the server’s command port and sends the command PORT 1027. The server then sends an ACK back to the client’s command port in step 2. In step 3 the server initiates a connection on its local data port to the data port the client specified earlier. Finally, the client sends an ACK back as shown in step 4.

The main problem with active mode FTP actually falls on the client side. The FTP client doesn’t make the actual connection to the data port of the server–it simply tells the server what port it is listening on and the server connects back to the specified port on the client. From the client side firewall this appears to be an outside system initiating a connection to an internal client–something that is usually blocked.

 

Active FTP Example

Below is an actual example of an active FTP session. The only things that have been changed are the server names, IP addresses, and user names. In this example an FTP session is initiated from area1.wingedpost.com (192.168.150.80), a linux box running the standard FTP command line client, to area2.wingedpost.com (192.168.150.90), a linux box running ProFTPd 1.2.2RC2. The debugging (-d) flag is used with the FTP client to show what is going on behind the scenes. Everything in red is the debugging output which shows the actual FTP commands being sent to the server and the responses generated from those commands. Normal server output is shown in black, and user input is in bold.

There are a few interesting things to consider about this dialog. Notice that when the PORT command is issued, it specifies a port on the client (192.168.150.80) system, rather than the server. We will see the opposite behavior when we use passive FTP. While we are on the subject, a quick note about the format of the PORT command. As you can see in the example below it is formatted as a series of six numbers separated by commas. The first four octets are the IP address while the last two octets comprise the port that will be used for the data connection. To find the actual port multiply the fifth octet by 256 and then add the sixth octet to the total. Thus in the example below the port number is ( (14*256) + 178), or 3762. A quick check with netstat should confirm this information.

area1: {/home/p-t/wingedpost/public_html} % ftp -d area2
Connected to area2.wingedpost.com.
220 area2.wingedpost.com FTP server ready.
Name (area2:wingedpost): wingedpostuser
---> USER wingedpostuser
331 Password required for wingedpostuser.
Password: TmpPass
---> PASS XXXX
230 User wingedpostuser logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT command successful.
---> LIST
150 Opening ASCII mode data connection for file list.
drwx------   3 wingedpostuser    users         104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.

 

Passive FTP

In order to resolve the issue of the server initiating the connection to the client a different method for FTP connections was developed. This was known as passive mode, or PASV, after the command used by the client to tell the server it is in passive mode.

In passive mode FTP the client initiates both connections to the server, solving the problem of firewalls filtering the incoming data port connection to the client from the server. When opening an FTP connection, the client opens two random unprivileged ports locally (N > 1023 and N+1). The first port contacts the server on port 21, but instead of then issuing a PORT command and allowing the server to connect back to its data port, the client will issue the PASV command. The result of this is that the server then opens a random unprivileged port (P > 1023) and sends P back to the client in response to the PASV command. The client then initiates the connection from port N+1 to port P on the server to transfer data.

From the server-side firewall’s standpoint, to support passive mode FTP the following communication channels need to be opened:

  • FTP server’s port 21 from anywhere (Client initiates connection)
  • FTP server’s port 21 to ports > 1023 (Server responds to client’s control port)
  • FTP server’s ports > 1023 from anywhere (Client initiates data connection to random port specified by server)
  • FTP server’s ports > 1023 to remote ports > 1023 (Server sends ACKs (and data) to client’s data port)

When drawn, a passive mode FTP connection looks like this:passive-ftp-wingedpost

In step 1, the client contacts the server on the command port and issues the PASV command. The server then replies in step 2 with PORT 2024, telling the client which port it is listening to for the data connection. In step 3 the client then initiates the data connection from its data port to the specified server data port. Finally, the server sends back an ACK in step 4 to the client’s data port.

While passive mode FTP solves many of the problems from the client side, it opens up a whole range of problems on the server side. The biggest issue is the need to allow any remote connection to high numbered ports on the server. Fortunately, many FTP daemons, including the popular WU-FTPD allow the administrator to specify a range of ports which the FTP server will use.

The second issue involves supporting and troubleshooting clients which do (or do not) support passive mode. As an example, the command line FTP utility provided with Solaris does not support passive mode, necessitating a third-party FTP client, such as ncftp. 
NOTE: This is no longer the case–use the -p option with the Solaris FTP client to enable passive mode!

With the massive popularity of the World Wide Web, many people prefer to use their web browser as an FTP client. Most browsers only support passive mode when accessing ftp:// URLs. This can either be good or bad depending on what the servers and firewalls are configured to support.

 

Passive FTP Example

Below is an actual example of a passive FTP session. The only things that have been changed are the server names, IP addresses, and user names. In this example an FTP session is initiated from area1.wingedpost.com (192.168.150.80), a linux box running the standard FTP command line client, to area2.wingedpost.com (192.168.150.90), a linux box running ProFTPd 1.2.2RC2. The debugging (-d)  flag is used with the FTP client to show what is going on behind the scenes. Everything in red is the debugging output which shows the actual FTP commands being sent to the server and the responses generated from those commands. Normal server output is shown in black, and user input is in bold.

Notice the difference in the PORT command in this example as opposed to the active FTP example. Here, we see a port being opened on the server (192.168.150.90) system, rather than the client.

area1: {/home/p-t/wingedpost/public_html} % ftp -d area2
Connected to area2.wingedpost.com.
220 area2.wingedpost.com FTP server ready.
Name (area2:wingedpost): wingedpostuser
---> USER wingedpostuser
331 Password required for wingedpostuser.
Password: TmpPass
---> PASS XXXX
230 User wingedpostuser logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode on.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PASV
227 Entering Passive Mode (192,168,150,90,195,149).
---> LIST
150 Opening ASCII mode data connection for file list
drwx------   3 wingedpostuser    users         104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.

 

Summary

The following chart should help admins remember how each FTP mode works:

 Active FTP :
     command : client >1023 -> server 21
     data    : client >1023 <- server 20

 Passive FTP :
     command : client >1023 -> server 21
     data    : client >1024 -> server >1023

A quick summary of the pros and cons of active vs. passive FTP is also in order:

Active FTP is beneficial to the FTP server admin, but detrimental to the client side admin. The FTP server attempts to make connections to random high ports on the client, which would almost certainly be blocked by a firewall on the client side. Passive FTP is beneficial to the client, but detrimental to the FTP server admin. The client will make both connections to the server, but one of them will be to a random high port, which would almost certainly be blocked by a firewall on the server side.

Luckily, there is somewhat of a compromise. Since admins running FTP servers will need to make their servers accessible to the greatest number of clients, they will almost certainly need to support passive FTP. The exposure of high level ports on the server can be minimized by specifying a limited port range for the FTP server to use. Thus, everything except for this range of ports can be firewalled on the server side. While this doesn’t eliminate all risk to the server, it decreases it tremendously.

References

An excellent reference on how various internet protocols work and the issues involved in firewalling them can be found in the O’Reilly and Associates book, Building Internet Firewalls, 2nd Ed, by Brent Chapman and Elizabeth Zwicky. 
Note : This book is VERY old and the information contained therein may be outdated!

Finally, the definitive reference on FTP would be RFC 959, which sets forth the official specifications of the FTP protocol. RFCs can be downloaded from numerous locations, including http://www.faqs.org/rfcs/rfc959.html.

Get an Understanding of Computer Terms

If you’re upgrading your PCs, you might run into many IT terms and computer-related words and phrases that are difficult to understand. We’re to help you know what you’re getting!

Processor

Also known as ‘chip’ or ‘CPU’, the processor controls everything your computer does. It lets you do several things like work, email and surf – all at the same time. More powerful processors are better for more demanding tasks so get one that performs a little above your current needs.

00512012015

RAM

The computer uses random access memory (RAM) to process what the user is doing as they are doing it. This includes multitasking, writing a letter, editing a photo or browsing a web site. 4GB of RAM should be enough for most of your everyday needs, and you can always upgrade and add more RAM later.

Hard Drive

Think of the Hard Disk Drive (HDD) as your computer’s long-term memory. It acts as a filing cabinet for your documents, data, media files and so on. The size or capacity of a hard drive is measured in gigabytes. If you plan on storing a lot of videos and other big files, get a larger hard drive. Another option is to purchase an external USB 2.0 hard drive. Some new notebook PCs now use solid-state drives (SSD) with no moving parts, making them more resistant to shock, quieter and with faster information access.

Processor Number

Acting like a serial number, the processor number differentiates features within a processor family, with a higher number generally indicating more features. You can use this number to verify that your chosen processor includes the features you want. Keep in mind that processor numbers do not work across different processor families.

Intel® HD Graphics

Available as a built-in visual feature on selected Intel® Core™ processors, Intel® HD Graphics enables discrete 3D graphics performance without the added cost of a separate graphics card. You’ll enjoy crisp images with the highest frames per second for mainstream videos.00612012015

Intel® Quick Sync Video

Intel® Quick Sync Video accelerates hardware performance during video editing, burning and sharing to significantly reduce waiting time from hours to just minutes.

Intel® InTru™ 3D Technology

Watch Blu-ray videos in stereo 3D and full 1080p resolution on your computer with Intel® InTru™ 3D Technology.

00712012015Intel® Turbo Boost Technology 2.0

A feature available on selected 4th gen Intel® Core™ processors, Intel® Turbo Boost Technology 2.0 automatically provides an even greater boost of speed to reduce lag time to meet the heavy processing demands of high-end apps.

Integrated Graphics

A graphics component needed to view images. Integrated graphics offers the performance for everyday tasks like watching HD videos, viewing photos and creating presentations. Standard in selected Intel® Core™ processors, integrated graphics improve graphics performance and notebook battery life.

Intel® Clear Video Technology00812012015

Intel® Clear Video Technology delivers higher visual performance for sharper images, richer colour and superior audio and video playback.

Intel® Wireless Display

This built-in visual feature allows you to wirelessly view your personal content, online TV programmes, films and videos on your home TV screen.

00912012015Clock Speed

Just like a stopwatch, clock speed measures how fast your processor performs one activity cycle. A faster clock speed enables your computer to execute instructions more quickly, benefitting most applications from spreadsheets to video editing and more. Clock speed rates are shown in gigahertz (GHz). (See GHz)

Gigahertz (GHz)

A unit to measurement commonly used to express processor speed, also referred to as clock speed. 1 Gigahertz (GHz) = 1 billion cycles per second. A higher number used to mean a faster processor, but advances in technology have made chips more efficient. For this reason it’s not advisable to compare performance based on GHz or clock speed alone. (See Clock Speed)

nm (nanometre)

A unit of measure, a nanometre (nm) is one-billionth of a metre. The transistors on Intel’s latest processors are just 32nm wide, with older models at 45nm and 65nm. The smaller size allows transistors to be packed more densely, leak less energy, produce less heat and switch faster, so processors run faster, use less power and are more energy-efficient.

Intel® Hyper-Threading Technology

Available on selected Intel® processors, Intel® Hyper-Threading Technology makes more efficient use of your processor so you can run demanding applications while maintaining system responsiveness. With this technology, multimedia enthusiasts can create, edit and encode heavy graphics files while running other applications, without losing performance.

Cores and Threads01012012015

Cores and threads go hand-in-hand. Multi-core processors are single chips that contain two or more distinct processors or execution cores in the same integrated circuit. Multi-threading allows each core to work on two tasks at once, letting you do more things at the same time for faster results.

Built-In Visuals

A group of technology features designed to enhance the visual experience delivered by the Intel® Core™ processors. Built-in visual features include Intel® Quick Sync Video, Intel® HD Graphics, Intel® Clear Video Technology and Intel® InTru™ 3D Technology.

Discrete Graphics

This graphics component comes as an additional graphics card. While ideal for high-end 3D designers and video editors, it doesn’t add much performance for most business users. It’s important to note that only more powerful processors can make full use of discrete graphics.

Intel® Smart Cache

A cache is a fast storage area where the processor keeps frequently accessed data. Intel® Smart Cache maximises this data storage. It allows each processor core to utilise up to 100% of the space and pull data faster, improving overall performance for rich media applications and games.

Courtesy: INTEL INDIA