diff_drive_controller is not a node, it is a controller_manager plugin. In order to use it, there should be a ros node with a controller_manager managing your robot's resources. There are out-of-the-box plugins for doing this in Gazebo (see the gazebo_ros_control package), while if you want to have this running on real hardware you'll need to expose your robot to ros_control first.