Showing posts with label knowledge. Show all posts
Showing posts with label knowledge. Show all posts

Tuesday, 29 March 2016

What is VPN (Virtual Private Network)? How it Works?

VPN is a technology used to setup a private network over the internet to share the resources of a corporate intranet with remote users and other office locations of the company. 
Virtual Private Network or simply VPN is a personal network created over the internet, so that the devices connected over it can have an uninterrupted communication, regardless of any physical or digital barriers in the mid-way.

How it works?

The working of VPN is not a tough deal to understand, though it is. But, before that, you need to get an idea about the protocols or set of rules in laymen terms, used by VPN in providing a secure personal network. Let’s tell you more about it:
SSL (Secured Socket Layer): It uses a 3-way handshake method for assuring proper authentication between the client and server machines. The authentication process is based on cryptography where certificates behaving as cryptographic keys already stored in the client and server, are used for initiating the connection.
IPSec (IP Security): This protocol can work on transport mode or tunnelling mode, so that it can do its job of securing the VPN connection. The difference between the two is, transport mode only encrypts the Payload in the data i.e. only the message present in the data, whereas tunnelling mode encrypts the whole data to be transmitted.
PPTP (Point-To-Point Transfer Protocol): It connects a user located at some remote location to a private server in a VPN network, and also uses the tunnelling mode for its operations. Its low maintenance and simple working makes it the most widely adopted VPN protocol, further credit goes to the inbuilt support provided by Microsoft Windows.
L2TP (Layer Two Tunnelling Protocol): It facilitates the tunnelling of data between two geographical sites over the VPN network, often used in combination with the IPSec protocol which further aids to the security layer of the communication.
So, you have a rough idea about the various protocols used in a VPN. We shall proceed further and see how it works. When you are connected to a public network such as internet, you can assume that all your data is flowing through a big tunnel along with the data of other users.
So, anyone who wants to spy on you, can easily sniff your data packets from the network. When VPN comes into the scene, it actually provides you a personal tunnel inside that big tunnel. And all your data is transformed into garbage values, so no one can recognize it.

Setting up a VPN Connection involves Three Phases:

Authentication: In this phase, data packets are first encapsulated, basically wrapped inside another packet and some headers and other stuff are attached, all done to conceal the identity of the data packets. Now, your device initiates the connection by sending a Hello request to the VPN server, which replies with an acknowledgement and asks for the user credentials to clarify the authenticity of the user.
Tunnelling: After the authentication phase is finished, what we say, an imaginary tunnel is created which provides a direct point to point connection through the internet. We can send whatever data we want to via that tunnel.
Encryption: After we’ve successfully created the tunnel, we can send whatever information we want to, but that information is still not safe if we are connected to a free VPN service, which is also used by other people. So, we encrypt the data packets before sending them over the tunnel, thus barring any other user to peep into our packets, as he will only see some unrecognisable rubbish data flowing through the tunnel.
Say, you want to access a website, your device will send the access request to the VPN server which will then forward the request to the website in its name and receive the data from it. This data will then be transferred back to your device. And the website will think, the VPN server is the user and will find no trace of your device as the actual user.
18hwrzl3r7yupjpg
Remote User Access: A VPN connection is used to provide direct access of a corporate network to a user who is not in the geographical coverage of the corporate network. Logically, the remote user is connected just like a normal user who is using the network within the corporate premises.
Site to Site: VPN is also used to provide a homogenous network environment to a corporate firm having its office locations in different parts of the world. Thus, creating an uninterrupted sharing of resources bypassing the geographical hurdles.
Other uses include, accessing those services on the internet which are not available in a particular country or region, accessing censored content or if a user simply wants to remain anonymous on the internet.

Pros and Cons:

The biggest advantage of using a VPN is the cost effectiveness it facilitates in providing a single private network in comparison to using separate leased lines which can burn the pockets of corporate firms. All credited goes to the internet, for acting as the medium for uninterrupted VPN connections.
Apart from all the good things VPN does for us, it has its weak sides too. Not having a streamlined procedure for ensuring Quality of Service (QoS) over the internet, is the biggest incapacity VPN technology has in its possession. Furthermore, the level of security and authenticity outside the private network is beyond the purview of VPN technology. The incompatibility between different vendors only adds to its bunch of drawbacks.

Popular VPN services:

HideMyAss, PureVPN, VyprVPN, all these are well known the QoS and security they provide in their VPN connections.
Cyber Ghost, Surf Easy, Tunnel Bear are some free VPN services you can use if you don’t want to shell out your pocket. But you’ll have to satisfy yourself with less features, download limits, or advertisements. Also, these free services can’t beat the paid services, note that.

VPN on Android:

You can also setup a VPN connection on your smartphones running on Android OS. This allows you to access your company’s private network right on your Android Devices. VPN also facilitates the network administrator to control your device, add or delete data and track your usage.

Winding Up:

VPN has so far equipped us with an extraordinary level of security and anonymity we can accomplish while sharing our confidential data over the internet. Corporate giants have always admired the ease and uniformity they can engineer in their network while using VPN. Though, it has its limitations, but so far it has outperformed our expectations and should be praised for the cost effectiveness it provides in its operations.
Have a look at this video about VPN:
 Writing is a good habit, if you use your creative mind and write some good stuff, it would make you sound more intelligent among your friends. So, don’t wait, just use your keyboard and type your imagination in the comments section below.

What Is The Difference Between HTTP And HTTPS?

You might have seen that a website URL generally starts with HTTP or HTTPS. Do you know what is the difference between the two? Read further to find out more.
In your browser’s address bar, the URL of every website you visit always starts with either HTTP or HTTPS, the latter one considered more secure. You might have noticed that numerous times while you were busy with your internet life, didn’t you? Even Facebook with almost a billion daily active users flaunts its status as of a HTTPS website and you confidently post your personal information without giving it a second thought. What if it gets into the wrong hands? Well, you know chances are less such blunder ever happens on the Facebook planet.So, whether it is Facebook or online payments involving your credit card information, all you want is HTTPS written as the URL. So, why the simple HTTP website isn’t used for online payments or storing your personal data? There is an obvious difference between the two.

What is HTTP?

Hypertext Transfer Protocol it stands for, which your teacher made you learn by heart in your 4th grade. It is a request/response protocol based on the client/server communication mode. A client or user agent is your web browser or any other device which can access, receive, and display web content.
The client sends a request message to a server which hosts HTML content, replies with the response message that may contain the requested HTML content by the client. The response message is a confirmation that the server has successfully received the Request message.
So, HTTP can be considered as a rule book that your web browser refers, like, what to do when you press enter after typing a website address. It is a Stateless protocol which means there is no relation between two consecutive HTTP commands given to a website. Furthermore, there is a list of Status Codes used by the web server to inform your browser if there is any problem. For example, “404 Not Found” is used when the webpage is not present at the URL entered in the browser.
The credit for the original development of HTTP goes to Tim Berners-Lee – who proposed the idea of the ‘World Wide Web’ – and his CERN team, which was developed alongside the HTML (Hypertext Markup Language). The very first HTTP documentation was published in 1991 as HTTP/0.9 which consisted of only one method GET. The development progressed, with HTTP/1.0 in 1996 and HTTP/1.1 in 1997.
HTTP/1.1 facilitated persisted connections (more than one request/response on the same HTTP connection), improved caching, new status code, Enhanced compression support, OPTION method for Cross Origin Resource Sharing in web application and much more.
HTTP uses the reliable TCP (Transmission Control Protocol) Port 80 to send and receive data packets over the network for internet applications like email, World Wide Web, File Transfer, etc. However, it also utilizes UDP (User Datagram Protocol) which is an unreliable protocol but contributes to reduced network latency used for live streaming (not to be confused with preloaded videos on YouTube) which requires continuous packet flow done at the cost of minor packet loss during the transmission.
The latest addition to the family is HTTP/2, developed by Hypertext Transfer Protocol Working Group of the Internet Engineering Task Force. This specification was approved as a Proposed Standard by IESG in February 2015 and was published in May 2015. It has been adopted by all the famous web browsers.

What is HTTPS?

The development of HTTPS began in 1993 by Netscape Communications, an AOL company, who had their famous Netscape Navigator web browser in the 1990s. Originally implemented with SSL (Secure Socket Layer), the HTTPS protocol was later upgraded to use SSL’s newer transformation TLS (Transport Layer Security). It also uses TCP to send/receive the data packets but uses a different Port 443 in order to do so.
The ‘S’ stands for secure in HTTPS. Now, what does it mean in laymen terms? A website which uses HTTPS protocol establishes an encrypted connection with your device. So, if you try to send some data to the website, say any name, like Steve Jobs. The encrypted form will look somewhat like ‘xkndsoumnkjbktkctfc’. And you can’t understand it, do you?
The data to be transmitted is encrypted using a Public Key which is then used by the recipient to decrypt it. The public key is created by a server administrator or a user, which is included in a digital certificate known as SSL Certificate and is signed by certification authorities like VeriSign. Any act which involves sharing of the Public key to unknown devices must be prohibited, as it may compromise the level of encryption, ultimately leading to disclosure of personal information or user credentials.
Most modern web browsers now feature inbuilt support for HTTPS protocol. A web browser integrated with HTTPS protocol requires SSL Certificate signed by certification authorities in order to authenticate a server or a website. You might have seen a green coloured padlock placed before HTTPS in the Google Chrome address bar. Once you click it, the certification authority information of the website will be presented to you.
The HTTPS website you’re visiting must provide a valid certificate to your web browser in order to gain browser’s trust. If it is unable to do so, the browser will display a warning message. So, the website obtains it either for free or after paying some bucks to the certification authorities.
Basically, HTTPS is simply an HTTP connection wrapped in SSL/TLS encryption layer. All done to protect the integrity and privacy of the data being transmitted and the assurance that it won’t fall into wrong hands while in transit. Its main motive is to check the authenticity of the website being visited. An unsecured connection like a public WiFi network might serve as the medium for man-in-the-middle attacks and eavesdropping.

The Difference between HTTP and HTTPS

In a nutshell, HTTPS can be regarded as an advanced modification to HTTP equipped with more security. However, HTTP uses Port number 80 while HTTPS uses Port number 443 by default and that differentiates the two a separate connection types.
The sole intention of HTTP is to display the information on the recipient device without bothering about how the data gets transmitted between two devices. And it is the same for HTTPS, the only advantage is, it packs an extra layer of security by using SSL/TLS which is also utilized by VPNs to encrypt data, thus protecting from eavesdroppers.

What Is Network Topology And What Are Its Different Types?

Network topology is defined by two types — physical topology and the logical topology. While physical topology talks more about the geometry and physical placement of the devices on the same hand, logical topology is more about the way data communication or signalling happens among the devices.

What is Network Topology?

Network topology is the arrangement of the different networking elements like network links, computers, switches, nodes, Wi-Fi access points, laptops and other network devices in a computer network.There are two types of Network Topologies:
  • Physical Network topology and,
  • Logical Network topology

What is a Physical topology?

A Physical topology defines how all the network devices are connected physically in a computer network. It mostly defines the physical connections among the devices.

What is a Logical topology?

A logical topology defines the logical connectivity of network devices on a computer network. So, it might happen that the devices connected in one type of physical topology might have different underlying logical topology.
If we elaborate more on the physical topology, it is essentially the placement of the various network components in a computer like the placement of the devices, the connection among the devices, installation of the cables etc. On the other hand, logical connection defines how data flows among the devices.
For example, let say there are five devices (A, B, C, D and E) that are connected in a row. This configuration of network devices might look more like a Bus topology. But let’s say device A can directly transmit the data to the device E. That means it looks more like a Circle which a Ring topology logically but a bus topology physically.
We will talk about different kinds of topologies — physical and logical — one by one in the next article. If you want articles on some particular topic, feel free to ask us in comments below.

What Is HTTP/2 And How It Works

HTTP/2 or HTTP Version 2 is the second major version of HTTP network protocol. It is based on SPDY/2 to improve web performance to a very great extent. HTTP/2 is developed by the Hypertext Transfer Protocol working group of the Internet Engineering Task Force.
HTTP 1.1 was a major move from HTTP 1.0 as it allowed persisted connections(more than one request/response on the same HTTP connection), improved caching, new status code, Enhanced compression support, OPTION method for Cross Origin Resource Sharing in web application and much more.
HTTP/1.1 has served the Web well for more than fifteen years, but its age is starting to show. Loading a Web page is more resource intensive than ever, and loading all of those assets efficiently is difficult, because HTTP practically only allows one outstanding request per TCP connection.
Because of which, many TCP connections are created to issue parallel requests. And since there isn’t any limit on this; too many connections are used most of the times which leads to TCP congestion and unfair resource usage by browsers. It also means lots of duplicate data being transferred “on the wire”.
If too many requests are made, it hurts performance. This has led the industry to a place where it’s considered Best Practice to do things like spriting, data: inlining, domain sharding and concatenation. These hacks are indications of underlying problems in the protocol itself, and cause a number of problems on their own when used.
HTTP/2, on the other hand, enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection. It also introduces unsolicited push of representations from servers to clients. This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax. HTTP’s existing semantics remains unchanged.
At a high level, HTTP/2:
  • is binary, instead of textual
  • is fully multiplexed, instead of ordered and blocking
  • can therefore, use one connection for parallelism
  • uses header compression to reduce overhead
  • allows servers to “push” responses proactively into client caches
Read more about HTTP/2 here.
Add your views in the comments below.

What is DNS (Domain Name System) and How it Works ?


DNS stands for Domain Name System is used to as the medium to translate domain names to their respective IP addresses when a client initiates a request query. DNS stores the database of all the domain names and their IP addresses which are registered on the network.
Most of us are quite familiar with the term DNS or Domain Name System. DNS can be thought of as an attendance register for various websites present over the internet. In the case of DNS, it maintains the database of all the websites Domain Names and their IP (Internet Protocol) addresses that are operational all over the world.

Historical Notes

The origins of DNS date back to the time of ARPANET, when there were only a few computers to get an entry in the database. A HOSTS.TXT file was maintained by Stanford Research Institute, which constituted the data of all the machines, and was copied by all the host machines to remain updated.
Jon Postel from the Information Sciences Institute requested Paul Mockapetris to design the very first implementation of DNS, at the University of California, Irvine, in 1983. Then in 1984, BIND (Berkeley Internet Name Domain) was created by four students, Douglas Terry, Mark Painter, David Riggle, Songnian Zhou, for Unix machines. After some revisions made in 1985 by Kevin Dunlap, it was later ported to Windows machines, and is still the most widely used DNS on the planet.

Working Mechanism

To understand the basic working of DNS, let me guide you with an example of a hotel. Let us assume, you need to visit your friend at some hotel. Now, what will you do? You’ll reach the hotel reception and ask the receptionist for room number of your friend. In order to do so, you’ll need to tell the name of your friend to the receptionist, who’ll check the same in her database and satisfy you with the room number of your friend. She’ll also call your friend to confirm whether he is available or not.
Now, try to relate the example to working of DNS. In this case, you’re the client sending a request to a DNS server, the receptionist, and your friend’s name is the domain name and his room number is his IP address.
The receptionist will type your friend’s name in her computer containing the database of all the guests, called the Domain Name Space, if your friend is staying in the hotel she’ll tell you the room number, otherwise not. Similar thing happens, when you type the website name in your browser, the browser sends a request to the DNS server, if the website domain name is registered in the database with the DNS, then it’ll reply you with the IP address of the website you are trying to access, which is something like 117.234.214.14

Understanding the Domain Name and IP Address

Take the domain name, http://www.google.com. The naming convention moves from right to left and vice-versa for IP address. In the domain name for Google, first the DNS will check for com which stands for commercial domain, and is a top-level domain. Proceeding further, google.com, is a sub-domain to com and subsequently www, is a sub-domain to com domain. The dot (.) is used to separate the domains from their sub-domains. The full domain name can only consist of 253 characters.
Now, if some wants to know the domain name registered against an IP address, he will request the DNS server with the IP address of the website. Say, the IP address sent is  31.13.79.246, the DNS will first check the 31 then 13 then 79 and finally 246, concluding that the IP address belongs to http://www.fb.com. The DNS resembles the hierarchy structure of a tree, not the biological one, there is a different tree in computer data structures, in which the address 31 belongs to the top position of the tree and is the primary domain in the hierarchy, addresses 13, 79, 246 are consecutive sub-domains. The number 246 refers to the server machine hosting the website http://www.fb.com. All this domain and sub-domain thing is not that much complicated as you think, but it’ll take some time for you to get it correctly if you’re new to this concept.

Evolution of DNS

In earlier days, a master file was maintained by one main server which was updated manually with the entry of every new website and then it was copied by other servers. But, as the count of websites proliferated with time, it was hard to maintain the domain name database manually. So, the need of an automated system was felt and then the ability to automatically update the database all around the world was introduced in the newer generations of DNS.
So, if you register your website name with a Domain Name Registrar, it will take around 24 hours for your website to be present in the DNS databases all around the world.
The Master-Slave server relations were introduced in which a master server maintained the database and Slave server only had to copy the database to remain updated. In order to facilitate the dynamic updates to DNS database, the mechanisms NOTIFY and IXFR were introduced.
In NOTIFY, when the master server updates the database, it sends a notification to the slave servers about the update, which then copies the database. IXFR (Incremental Zone Transfer) eliminates the need to copy the whole database every time a single entry has been made, it allows the slave servers to only add the updated entry in their database, thus reducing the efforts and making the dynamic update process faster.

Resolving IP Address

It refers to the process of translation of a domain name to its respective IP address. The DNS resolver is the client PC, you in that hotel example, which sends the query to the DNS server, the receptionist. There are two methods used for resolution:
Recursive: Now continuing with the hotel example, assume the hotel has more than one branch in the city, and the receptionist was unable to find your friend’s room number. Then she’ll check if your friend has been staying in the other branch by contacting the receptionist present there. So, if the DNS server in unable to find any IP associated to the domain name sent in the query then it’ll ask the other servers connected to resolve the IP address for the requested domain. It’ll gather the information from those servers and reply to you with the appropriate IP address.
Iterative: Suppose you also want to know the floor on which the friend’s room is situated, in order to do so, you’ll again ask the receptionist. Similarly, if the DNS resolver wants more information about a domain, it’ll initiate a new query for the same DNS server.

DNS Cache

The DNS server temporarily stores the request queries in the form of Cache, so as to reduce the response time if any other DNS resolver requests the same query. The time for which the Cache information remains valid is called TTL (Time To Live), is set by the administrator for each query record stored in the cache.

DNS Applications

The first and foremost application of DNS is nslookup, in which a DNS server replies with the IP address of the domain name requested in the query. DNS is used by different Mail Transfer Agents (MTA) like Microsoft Exchange Server and IBM Domino, so that they can deliver the e-mails more efficiently.
DNS proves to be very helpful in identifying black-listed IP addresses over the internet and barring the users from accessing them. This helps in protecting the users from spam e-mails and potential hacking attacks.
The data for each domain name and its IP address is kept on more than one DNS server, so as to retrieve the data in case any problem occurs on one server.

DNS Vulnerabilities

Cache Poisoning: Also called DNS Spoofing, is the technique used by malevolent people, in which they alter the data in resolver cache of the DNS server, rendering incorrect IP address to DNS resolver, may be to divert the user to a hacker’s machine.
DNS responses are not encrypted thus allowing the possibilities of potential attacks. However, Domain Name System Security Extensions (DNSSEC) are used to render cryptographically signed DNS responses.
Phishing attacks can be planned due to visual resemblance of some characters on the user’s screen, like the letter l and 1 appear the same on some screens, thus redirecting users to different IP addresses by displaying the same look and feel as of the original website.

Use custom DNS

What if the that hotel receptionist is very slow and many people are asking for room numbers at same time, then she’ll not be able to provide you with correct room number quickly. So, you may ask some other person at the reception counter to attend your concern. Similarly, when we connect to the internet, we generally use the DNS Server provided by our ISPs. But what if the default DNS server is irresponsive or if it can’t handle a large number of queries at a given moment, such instances will only degrade your browsing experience. But don’t worry, there is another way out. You can configure your system to use a different DNS server for resolving IP addresses.

Popular DNS servers:

Google’s Public DNS: The search giant has set-up some serious high-grade DNS servers capable of handling millions of requests at any given moment. And they’re absolutely free to use like Google’s other services. You can configure your machine to use the following DNS addresses:
8.8.8.8 and 8.8.4.4
OpenDNS: This is a private company which provides safe and reliable DNS server for free. Just configure the following addresses on your machine:
208.67.222.222 and 208.67.220.220
For those readers who don’t know how to configure DNS on your machine, please refer the link below:

Winding Up

DNS has been a topic of utmost importance since its advent as a systematic way to maintain such a huge database of millions of websites and servers around the world. Without DNS, it would’ve instigated a whole lot of mess of all the domain names and IP addresses, and it would’ve taken ages just to locate google.com from a haphazard collection of all the domain names. DNS has streamlined the process of IP resolution and seriously, if DNS wasn’t there, I know you would’ve burnt your brain circuits in order to remember all those IP addresses. And let me ask you, do you remember Facebook’s IP address I mentioned above. And don’t scroll up now, even I don’t remember it, because DNS is there to remember it for us. We only need to express our gratitude for the noble work DNS has been doing since the last three decades, and it has become faster, smarter and more reliable.
Watch this video about DNS:



Write Your thoughts in the comment section Below…And  Plz Do Like and share the Blog