I've an ISP plan which will not offer external IP address, not even by charging extra (though I don't want to spend money either).
Is there a way, that I can have static external IP address?
Is there any way to know that for how much time our ISP will assign that same external IP address? Or a tricks to extend that lease (like having modem & router connected to UPS so that it doesn't turn off while electricity goes down, etc. etc.)
Are there any free services on the net, that can accomplish this? Or comparison between the services: which is cheaper?
I would like to broaden the topic & ask that is it safe to use these external services in terms of PRIVACY & security?
PS:I'm having Tp-link router WR-740N
The short answer, Techieey, is that the network belongs to the ISP. It's theirs to manage as they see fit.
There are dynamic DNS services that can give you a static hostname. You might be able to lease a virtual server from someone, and then redirect that. But neither of those options actually give your home network a static IP.
You could check your IP address periodically through this site to get an idea of how long the IP address may remain unchanged. Some IPs are effectively static, even if you don't have a business level service which states you will be given a static address. E.g., an IP address assigned by some cable companies won't change as long as you don't change the hardware connected to their cable modem. I.e., if the [URL="http://en.wikipedia.org/wiki/MAC_address"]MAC address[/URL] seen by the cable modem doesn't change, you will maintain the same IP address, even after power outages, etc., so you may retain the same address for years. Even if you change the router or firewall connected to the modem, if the replacement device provides the capability of modifying the MAC address you can make it appear to be the device that was there previously.
Some ISPs won't offer a static IP address for home users, but if you are willing to sign up for a business level service for your home address, you may be able to get a static IP address; you may just need to specify when you talk to them that you want a business-level service. But expect to pay substantially more for that service.
As 0siris mentioned, there are [URL="http://en.wikipedia.org/wiki/Dynamic_DNS"]Dynamic DNS (DDNS)[/URL] services that will allow you to use a [URL="http://en.wikipedia.org/wiki/Fully_qualified_domain_name"]fully qualified domain name (FQDN)[/URL], e.g., myserver.example.com, to reach your system. When you sign up for a DDNS service, you pick a name you want to use, such as myserver.example.com, and then the DDNS service provider associates it with your current IP address. If your IP address changes, the DDNS provider then associates the FQDN with the new IP address. In order for the DDNS provider to always know your current IP address, you install software they provide on one of your systems, which will periodically contact the DDNS provider allowing them to know your current external IP address. Or some routers/firewalls can do that for you by a configuration option in the router/firewall that notifies it you want to use a DDNS provider.
I use [URL="http://www.noip.com/"]No-IP[/URL] for DDNS; they offer a free level of service - see [URL="http://www.noip.com/remote-access"]Remote Access with Dynamic DNS[/URL] for a comparison of their free and paid services. There's also [URL="http://dyn.com/dns/"]Dyn[/URL], and other companies, which provide the service. I often use DDNS at remote locations that don't have a static IP address, so when there are problems I can connect to systems remotely without the need to have someone at the site check to see what IP address has been assigned to them at the moment. DDNS can also be used for web and email servers that may be at a location that doesn't have a static IP address.
Most DDNS providers will allow you to pick a host name to go with domain names they own. E.g., if the provider owns example.com, you can pick some name, such as myserver, so your system is accessible by use of myserver.example.com. They also allow you to use your own domain name, so you could have something like Techieey.com, if you purchased that domain name.
So the question becomes "what is prompting you to want a static IP address?" A static IP address might be the ideal solution, but there are workarounds, such as DDNS, that may suffice for you.
In regards to security and privacy, that depends on what you are making available to the world via the IP address. If you wanted to have your own web server behind the IP address, if your ISP doesn't block port 80 connections to its home user IP address space, you would need to make sure that it was configured securely, so that it couldn't be compromised. For any system, you need [URL="http://en.wikipedia.org/wiki/Password_strength"]strong passwords[/URL] as a starting point for security. And you need to ensure that you only allow the required connectivity through the firewall you are using. Once any system becomes accessible to the Internet at large, you should expect probes from throughout the world by systems controlled by malicious individuals looking for vulnerable systems.
If you only want to allow one system to be accessible from the outside, it would be best to put it on a [URL="http://en.wikipedia.org/wiki/DMZ_(computing)"]demilitarized zone (DMZ)[/URL] separated from the rest of your systems.