An efficient routing algorithm based on segment routing in software-defined networking