Race is a biological phenomenon while ethnicity is a cultural phenomenon. For example, Jews and Arabs are two different ethnicities, but they belong to the same race (Semitic Race). And just to make a point:
RACE HAS ABSOLUTELY NOTHING TO DO WITH SKIN COLOR.
Race is a sub-species classification used in anthropology and biology to categorize organisms that share similar genetic and physical traits within the same species. Racial classifications are based upon anthropology, most notably facial features and the shape of the skull - not skin color. People can be of very different skin color, and yet be categorized in the same racial group based on similar facial features.
"Caucasian" is a racial classification that means anyone of European, North African, Persian (modern-day Iran), and Indian ancestry. The term "Caucasian" is synonymous with the word "Japhetic". Caucasians are characterized by a vertical forehead; a slender, protruding nose; and soft cascading hair. This is in contrast to the Semitic Race (Jews, Arabs, Turkic peoples), which are characterized by a receding forehead; a prominent, hooked nose; and more rigid hair. The Hamitic Race (sub-Saharan Africans and native Australians) are characterized by a wide, flat nose; large jawbone; and very rigid hair. (One side note: In case you don't know, Turkic peoples live in countries such as Turkey, Kazakhstan, Uzbekistan, Tajikistan, Turkmenistan, Afghanistan, Kyrgyzstan, Azerbaijan, etc. A large group - the Tatars - live in Eastern parts of Russia)
The etymology of the word "Caucasian" is derived from the Caucusus Mountains, a mountain range stretching from the Black Sea to the Caspian Sea. This geographic location is where many scientists and historians believe that the first Caucasian people, the Aryans, have originated. The Aryans migrated into Europe and North Africa in the first wave of migration, and then later to modern-day Iran and India in a second wave of migration. In India, they displaced the original inhabitants (the Dravidians), much the same way that Europeans displaced Amerindian populations in North America. Many historians believe that the Hindu caste system evolved to its current rigid status because the Aryans wanted to retain political superiority over the native Dravidians, who were assigned to lower social castes. According to the World Factbook, approximately 70% of India's population today is Indo-Aryan, while 30% is Dravidian. However, these figures are not concrete because large-scale miscegenation occurred since the Aryan invasion, which took place between 1700-1300 B.C.E., despite the formation of the caste system. (As a side note, It is important to note that some people choose not to use the word "Aryans" because of its connotations with Nazism and Nazi ideology. Instead, people commonly use the more politically correct term "Indo-Europeans"; such as "Indo-European" language groups, etc.). In short, people from Europe, North Africa, Iran, Pakistan, and India all share a common ancestor - a group of people who lived in the Caucusus Mountains many years ago.
Regarding Northern Africa, it is important to note this in regards to historical contexts, not modern ones. Someone of North African origin today would not be Caucasian, which I will explain. The area known as the Maghreb (which in Arabic literally means "Western") - modern-day Morocco, Algeria, Tunisia, Mali, etc. were originally inhabited by a group of people known as Berbers. The Berbers were a Caucasian people, along with the ancient Egyptians. Although they had very dark skin tones, they are classified as Caucasians because of their facial features (which goes back to my point earlier that race has nothing to do with skin color). The Arabs (who are Semitic) invaded Egypt and North Africa beginning in the 7th century C.E., where they displaced the native Berber and Egyptian populations. In modern-day Egypt, for example, Arabs constitute roughly 90% of the total population. The native Egyptians (today known as Coptic people or Copts), represent only 10% of the total population. That is why most people from North Africa today are not Caucasian, since most of the inhabitants today are Arabs.
The term "white" is a modern term that people use to connote someone of European ancestry. Its etymology is descriptive of European peoples' pale skin pigmentation. It is not a racial categorization and has no anthropological or biological significance. Therefore, "white" is not a race. Also, it is not synonymous with "Caucasian" because Europeans are just one group of Caucasian peoples.
People misuse words all the time. For example, the word "anti-Semitism" means hatred against all Semitic peoples. Jews are just one group of Semitic peoples. It became popular in modern usage to mean hatred against Jews because the Jews were the only Semitic people living in Europe during the 19th Century, when the word first became used. And yet another example, people often say something along the lines of "We all belong to one race: the human race." This also is wrong. We all belong to one species, not one race. The word "human" is synonymous with "Homo-Sapien" - which is the name of the species that we belong to. Race, as I mentioned, is a sub-species classification.
Also, "Hispanic" is not a race, as many people believe. The term "Hispanic" simply means anyone of Latin American national origin, who may be of any racial group. For example, there are many Caucasian Hispanics - such as most people from Argentina. Likewise, there are many Hamitic Hispanics, such as from Brazil.