One of my first tasks I wanted to be able to do after getting my Mac was to be able to remotely connect to my servers and a number of other trusted systems for support. I wanted to try a number of options and my first serious attempt was with TeamViewer.
My Laptop is a Mac, my Home-PC is Ubuntu Linux and my wife uses Windows XP. I installed version 7.0 of TeamViewer on each OS and got remote access in no time. Thought of creating a short guide on the subject even though the application is very self intuitive.
So here is the guide to getting remote access across different Operating Systems using TeamViewer: TeamViewer Guide
Thanks for the detailed guide 🙂
I had a question in mind which does not relate to TeamViewer but rather to remote connections and I was wondering if you had any thoughts about it. I have developed a small Remote Assistance Tool however one problem I constantly run into is when it is to be used on remote networks since the computers are set behind a router and a direct connection to that computer cannot be achieved.
One way to work around it is to use port-forwarding however this is not usually feasible since users on the other end may have little knowledge of computers and especially port-forwarding.
I was wondering how systems such as TeamViewer, Skype and the likes are able to achieve communication between the computers? Do the clients send the data to the application servers and these in turn send it to the desired end-user? If so, I wonder how they are able to achieve such good frame-rates when sharing screens with this “indirect” form of communication.
My application uses TCP/IP communication however I had used UDP in an other tool, both leading to the same results. Needless to say, I have mostly developed this application for my own satisfaction since other applications are able to provide much better content 🙂
Thanks from a former-student of yours,
Justin C.
Hi Justin,
The shortest and simplest answer would be the one by Niklas Zennstrom as quoted in theregister’s article found here:
“Without being too technical, each Skype client is always connected to a SuperNode (any Skype client can become a SuperNode, the SuperNode is acting as a hub). SuperNodes are always on routable open IP addresses. When a call is set up the established TCP connection with the SuperNode is used to signal that a call is coming. Dependent on the firewall status of the client the data stream is set up either as UDP (if firewall allows) or in worse case as outgoing TCP which is almost always allowed. If both clients are only allowed to do outgoing TCP calls are routed through another peer.”
What you need to know are 2 things:
1) Firstly both Skype and TeamViewer are using default opened ports, or else the default to them if their port is closed, generally 80 or 443, you can read more about this in the following two links for Skype and TeamViewer.
2) Secondly the technology called is UDP Hole Punching, which is what Niklas was explaining very very briefly. You might find some general information here and in most networking literature.
You might find the following posting an interesting read: A simple, solid and stable P2P Bidirectional NAT Traversal technique for RealVNC users… with an even more inspiring debate here.
Hope you find this useful and wish you the best with your project.
—
Regards Frankie Inguanez
Hi Frankie,
Thanks for your quick and nonetheless detailed reply. I have read the information you provided and also checked briefly the links. I’ll make sure to check them out in further detail as soon as I get the chance. Your help and time on this matter has been highly appreciated and thanks for your kind wishes.
Today has been the first time I have stumbled upon your blog but it seems to cover various aspects, so congratulations is in order 🙂
Thanks again,
Justin C.
Very interesting info !Perfect just what I was looking for! “The right to be heard does not autmatically include the right to be taken seriously.” by Hubert Humphrey.
Hello, i believe that i saw you visited my blog so i got here to “go back the desire”.I am trying to to find things to enhance my website!I guess its good enough to use some of your concepts!!