the way it works is your pc needs a static ip address supplied by the router(you set this yourself on your pc), so every time it gets a request on that port it is sent to the correct pc, now your "real" ip address is supplied by your isp and yes this is usually dynamic so can change at any time, when it changes it means the people who connect to your server will no longer be able to do so until you give them the new ip address.
now there are ways around this change in ip address that you can use so people can always make a connection to your server without you doing anything some are free and some you need to pay for, but to be honest i don't know a lot about them or how they really work, because my dynamic ip address isn't a problem for me so have never felt the need to look into it deeper.