Необходимо смотреть исходный код клиентов и серверов, и пользоваться сниффером для исследования, в ином случае реального понимания не будет, теория без практики годится только для курсовой работы и т.п., и не даст вам навыков в работе.
как они эмулируют мышь и клавиатуру?
С помощью API ОС, например на Windows есть WinAPI-функции mouse_event и keybd_event.
их связь c tcp/ip
Протоколы, реализованные в этих программах, реализованы поверх протокола TCP, то есть для передачи изображения с монитора и других данных там используется Berkeley sockets API, это API входит в Windows API и в другие ОС совместимые с POSIX, например Линуксы и OS X.
А каждый "пакет" содержит: заголовок Ethernet, заголовок IPv4, заголовок TCP, и наконец данные конкретного прикладного протокола такого как SSH.
Грубо говоря, протокол - это формат данных, которые содержатся в некоем условном "пакете" - фрагменте потока данных, передаваемых по сети. "Пакет" чем-то похож на файл, он так же является "кусочком" абстрактного множества байт (будь то в кабеле или на диске), и также как и файлы, "пакет" обычно имеет формат, это и есть протокол.
Именно в таких программах, как удаленные рабочие столы, протокол TCP используется "полноценно" или близко к "идеалу", то есть предусмотрена максимальная стабильность, вплоть до выявления и обработки обрывов сетевого кабеля или эквивалентных ему проблем с сетью Wi-Fi.