TAP provides packet reception and transmission for user-space programs. It can be viewed as a simple Ethernet device, which instead of receiving packets from a physical medium, receives them from a user-space program and instead of sending packets via physical media, writes them to the user-space program.