Как ssh или LInux/Unix понимает чего от него хотят?
Допустим, у меня есть сервер в Арктике и ssh туннель, созданный вот так: ssh -D :27000 myServer
; иду в браузер, устанавливаю в каком-нить Foxy Proxy localhost:27000
- и всё завертелось - трафик из браузера пошёл через туннель, а страницы, которые я в нём открываю, думают, что я в Арктике. У меня вопрос: а как Linux/Unix(ssh) вообще понимает, что ему на порт 27000 пришёл запрос интернет-страницы, что его нужно куда-то дальше направить, а ответ из этого "дальше" вернуть обратно в туннель(видимо?)? Мне более или менее понятна ситуация, когда на сервере стоит nginx, он слушает конкретный порт, анализирует заголовки полученного запроса и решает что с этим делать. А откуда ssh-сервер знает, что с полученным на данный порт делать? До селе я думал, что ssh - это просто инструмент безопасного создания доступа к командной строке удалённой машины, и все команды, что ты отправляешь в ssh - они просто перенапрвляются в командную строку той машины. Ведь если я напишу в командную строку google.com или 142.251.46.206 - она меня пошлёт.
И доп. вопрос: что вообще происходит внутри ssh-туннеля (или точнее, на концах, внутри-то понятно), как стороны общаются? Где почитать? Это какой-то обмен пакетами или запросами на манер http? Али что?
P.S. Понятия не имею как задать эти вопросы в гугл, ибо в ответ получаю только принцыпы работы шифрования (зачем оно нужно, как защищает, создание ключей, атака "man in the middle", какие алгоритмы и т.д. - всё не то).