NIC - each networking computer needs a network adapter to communicate with others.
Hub or router - if you want to connect more than two machines and access the Internet, it is better to have a router to offer DHCP feature. This is easy setup and manage, and protect your computers.
Cable or crossover cable - if you have only computers and save some money, you can have a crossover cable to connect those machines directly.