session_start() creates a 32-hexadecimal string (usually) and stores it as a text file on the server, and as a cookie on the user's computer, assuming that one doesn't already exist. This allows the session to persist across different page loads by checking that the same value exists on both the server and the user's computer. Sessions will expire, by default, based on settings in the PHP config file (php.ini).
If you need to compare certain session values you would do so like this:
// Starting the session
session_start();
$_SESSION['ip'] = "[IP address here]";
$_SESSION['browser'] = "[user's browser here]"; // Can be retrieved using $_SERVER['USER_AGENT'], for one
// Check the session
session_start();
if(!isset($_SESSION['ip']) || !isset($_SESSION['browser'])){
// call logout function, then redirect to a page that doesn't require authentication
}