This is a very COMPLEX question that is still a cause for debate. Personally having studied anthropology and other cultures, I find that "race" is cultural construction that varies from culture to culture: for example what may be considered "black" in the US may not be considered "black" in Brazil because each culture/language has a different way of classifying "race". But the traditional definitions (and I'm paraphrasing here haha) are:
- "race" is characterized usually by physical/genetic features: skin color, facial structure, stature, shared genetics
- "ethnicity" is characterized by a shared common trait: usually language, religion, or homeland
So my "race" would be caucasian (white), but my ethnicity would be American. Ethnicity and nationality are often interchangeable as well, fyi. Hope this helps!