Computer networking allows for the sharing of data and resources between connected computers. The main purpose is sharing information, hardware, software, and administration. Connected devices include network interface cards, cables, hubs/switches, routers, and network software. Common network topologies are peer-to-peer and client-server. Common network types include local area networks within an office and metropolitan area networks within a city.