@Dharmesh, in Selenium Grid a Hub is a server or a central point that controls the test executions on different machines. In any Grid setup, there can be only one Hub and all the tests that need to be executed should be loaded here. In spite of the tests being loaded here, they will be executed only at the Nodes. We can configure any host machine to be our Hub, and it will co-ordinate the activities of test execution in other hosts. For this to happen, we need to first configure the Hub, and then make other Nodes to register to the Hub.
While, Node is the machine which is attached to the hub. There can be multiple nodes in Selenium Grid. The Nodes are the host machines on which the tests are run. The Hub can launch one or more Nodes either on remote machines or the same machine where the Hub itself is located. On each of the Nodes, different operating systems can be booted, and on different operating systems, different versions of the same browser or different browsers can be initiated.