Historically network names got called eth0 eth1 and so on. Communication is today the hot topic and devices have various interfaces and booting makes use of running stuff in parallel. Since names as eth0 and so on are assigned sequentially to what is found it could end up that the names are randomly assigned to the network interfaces found in the computer. http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
For most people this is not a topic since they have a PC with just on network device. However Linux is heavily used for devices as network routers and there it is a topic.
Therefore the network names must be assigned predictable. New udev version rename the traditional names eth0 to something ugly looking as enp0s18 and when updating udev and not be aware of it the PC can no more connect to the Ethernet. The name as enp0s18 can be found in the system log dmesg | grep enp or more directly ls /sys/class/net and cat /sys/class/net/eth0/address gives the MAC address of it.
For a Gentoo machine, the following steps are necessarily:
rc-update delete net.eth0 default
ln -s /etc/init.d/net.lo /etc/init.d/net.enp0s18
rm /etc/init.d/net.eth0
rc-update add net.enp0s18
If static IP addresses are assigned the /etc/conf.d./net
needs to get its eth0 names changed to enp0s18
The strange looking name enp0s18 means
en => Ethernet
s18 => slot 18
It is still possible to keep the old names by passing the kernel parameter
net.ifnames=0
to the kernel using the bootloader