I'm using this SSL handshake reference. It talks about the client generating a pre-master key and encrypting that with the server's public key. Then it sends that pre-master key securely to the server. Makes total sense.
My question is, though, hasn't symmetric encryption already been accomplished? The client and server both have and know the pre-master key and no other actor can. So if that's the case, then what is the point of the client and the server generating a shared secret key?
It seems like the shared secret is just another symmetric key.
And also, a related question: The client and server both generate the shared secret key, but they do this separately. Is the client shared secret identical to the server shared secret (I assume "yes", just wanted to clarify)?