Here you can find some of them: Dynamic DNS providers
If you have a machine is on 7*24, then it's easy just installing the client on it, it will automatically update your ip to the provider. If not, your router/modem I guess it should be on all the time, check the vendor make sure it suppords DDNS. On my case it's Cisco router, C870 Software (C870-ADVIPSERVICESK9-M), Version 12.4(24)T2.
The following is the key commands:
ip name-server YOURDNS server
no ip domain loop
2. The Wan interface,
ip ddns update hostname YOURHOST.dyndns.org
ip ddns update DYNDNS.ORG
ip nat outside
3. The update method,
ip ddns update method DYNDNS.ORG
interval maximum 0 0 30 0
interval minimum 0 0 20 0
I didn't bother security, because if some knows my ip, I am ok with it, I know the IP will change next time. If you do, here is the link to import the Dyndns certificate and using https rather than http.