I'm a bit bored today, so I might as well explain this in some detail...
The original ethernet protocol was designed for communication over coaxial cables. A coaxial cable is a conducting wire inside a conducting cylinder, with the wire separated from the cylinder by an insulator. You would create a network by connecting several computers to the same coaxial cable, so that they could "listen" by measuring the voltage between the wire and the cylinder, and "talk" by changing that voltage. Ethernet is the protocol (=set of rules) that specifies the voltages, the timing, the addressing and e.g. what a "talking" computer should do if it determines that someone else is trying to talk at the same time. The addresses that are defined by the ethernet protocol are 48-digit binary numbers. They're called MAC addresses. The protocol says that messages are to be sent in pieces of 1500 bytes. These pieces are called "frames". Each frame starts with a "header" that contains the source MAC address, the destination MAC address, and some additional data.
Computers today use unshielded twisted pair (UTP) cables instead of coaxial cables. A UTP cable consists of eight insulated wires. A computer uses two of them to "listen" (by measuring the voltage between them) and two of them two "talk" (by changing that voltage). The other four aren't used. I remember that wires 1,2,3 and 6 are used. I don't remember which two are used to listen and which two are used to talk. Let's say that a computer uses wires 1 and 2 to talk, and wires 3 and 6 to listen. It might be the other way round though.
The simplest way to create a network using UTP cables is to use a hub. You connect each computer to the hub. Everything that a hub "hears" on wires 1 and 2 (where the computer is talking) from any of the cables connected to it, it "speaks" on wires 3 and 6 on all the other cables connected to it. This way, every computer can hear everything that every other computer connected to the hub is saying.
This is very inefficient. For that reason, hubs got obsolete very quickly. They were replaced by switches, which are what people use today. A switch is essentially a hub that remembers all the MAC addresses it has seen, so that when it hears a computer trying to talk to a certain MAC address, it can repeat what it has heard only on the cable that's connected to the computer with that specific MAC address.
The ethernet protocol has been changed a few times, so that it can deal with higher bandwidths. Ethernet (10 Mb/s), Fast Ethernet (100 Mb/s) and Gigabit Ethernet (1000 Mb/s) are technically different protocols, but they're very similar. In particular, they all use MAC addresses. It's common to refer to any of them simply as "ethernet".
IP is a protocol that's used to connect several ethernet networks together. It involves another addressing scheme. An IP address is a 32-digit binary number. IP messages are sent in pieces called "packets". Each packet starts with a header that contains the source IP address, the destination IP address, and some other data. Suppose that a computer A wants to send data to a computer B on the same ethernet network. It goes roughly like this: Computer A looks at the destination IP address and sees that it's an address in the range that's used for the directly connected ethernet network. It then broadcasts a question on the network (using the address resolution protocol, ARP): "Who has this IP address?". Computer B hears the request and says "I do...and this is my MAC address". Computer A then encapsulates the IP packet in an ethernet frame with B's MAC address as the destination MAC address and sends it out on the network. B receives it, removes the ethernet header, looks at the IP packet inside, and realizes "hey, this is for me" (because the destination IP address is B's IP address).
To enable IP communication between two different ethernet networks, you need a router. A router is a device that's physically connected to two different ethernet networks. Each device that can use the IP protocol has a table called a "routing table". Suppose that a computer A wants to send data to a computer B on a different ethernet network. Then the IP packet must be encapsulated in an ethernet frame that can be sent to a router on the same ethernet network. So the routing table tells you, for each possible destination IP address, the IP address of a router on the directly connected network that is connected to another network that's closer to the destination. So when A is ready to send the packet, and sees that the destination IP isn't in the range that's used for the directly connected ethernet network, then it looks up this "next hop" IP address in the routing table, and then proceeds as in the previous paragraph. The packet will eventually reach computer B, but it may have passed through 15 routers on the way.