My understanding is that most secure web communication protocols ultimately want to agree on a symmetric encryption algorithm to use for sending and receiving data. Once an algorithm is agreed upon by both client and host, how is this maintained on the host/server side? For example, when multiple users are SSHing into a server, the channels opened by each user should each have its own symmetric encryption algorithm. Same for TLS: when a bunch of browsers are accessing , each browser is encrypting their requests with different algorithms.
How is the tracking of each of these encryption algorithms to a client/browser implemented in these protocols that require individualized algorithms for all of their communications?