I am looking for a device that would allow me to connect one laptop to two Ethernet cables. Each Ethernet cable has a distinct public IP and 100 Mbits symmetrical bandwidth. The goal of this link aggregation is to increase download/upload speed. The laptop has only one Ethernet port. I am not sure what the best solution is between adding another Ethernet port (e.g. with an Ethernet <-> USB adapter) and trying to configure the operating system to use both Ethernet cables simultaneously (Windows 7 SP1 x64 Ultimate and Kubuntu 14.04 LTS x64), or having an external device that takes care of link aggregation.
Since your laptop doesn't natively support link aggregation, you will either have to use software to combine two connections together, or use a external piece of hardware.
To do this in software, you will need to use the onboard LAN and another LAN port (such as a USB to LAN adapter) and then aggregate it together. The advantage of this is that it's cheap but the downsides are many. First of all, this will take a toll on your CPU to do this because your CPU isn't specifically designed to do tasks like this and will use a lot of resources. Secondly, using software link aggregation could be buggy and cause crashes which means downtime from the internet.
A much better solution is to use a external piece of hardware, specifically, a switch that supports link aggregation. You would this connect this switch to your gigabit connection so it would seem like one connection to your computer, but in reality its two. This solves all the downsides of software based aggregation. This has no toll on the CPU and it is very stable. The only downside would be that it isn't very cheap (at least USD$100) to buy a switch with link aggregation.