public void sendPaquets() throws IOException, InterruptedException {
		
		long start_time;
		boolean dropped;
		
		System.out.println("[Host] Ready to send paquets.");
		NATBox.eth_frame pqt;
		while (Host.RUNNING) {
			
			/* Wait until there are paquets to send */
			while(Host.pqts.isEmpty()) { }
			
			/* Send paquet */
			out.writeObject(pqt = Host.pqts.peek());
			System.out.println("[HostSendThread] Paquet sent.");
			dropped = false;
			
			/* Start ACK and TTL */
			start_time = System.currentTimeMillis();
			Thread.sleep(Host.ACK_TIME); // Pauses the thread.
			
			/* Wait for ACK */
			System.out.println("[HostSendThread] Waiting for ACK.");
			while (Host.pqts.contains(pqt)) {
				
				/* Drop paquet if TTL has expired */
				if (System.currentTimeMillis()-start_time > Host.TTL) {
					System.out.println("[HostSendThread] TTL for paquet has expired. Dropping paquet.");
					Host.pqts.remove();
					dropped = true;
					break;
				}
				
				System.out.println("[HostSendThread] Resending paquet.");
				out.writeObject(pqt = Host.pqts.peek());
				Thread.sleep(Host.ACK_TIME); // Pauses the thread.
			}
			if (!dropped) System.out.println("[HostSendThread] ACK Received.");
		}
	}