Hardware or software that connects two or more networks, and allows computers to talk to each other.