There is no requirement for a Markdown file extension, as other answers have explained. But in order for editors or parsers to guarantee that the file they are using is Markdown-formatted, they would look for one of the following extensions:
.markdown
.mdown
.mkdn
.md
.mkd
.mdwn
.mdtxt
.mdtext
.text
There are websites such as GitHub that only use a selection of these extensions for converting to HTML so developers will conform to their standard. (see examples below)
Personally, I have seen .markdown and .mdown used the most, and as a Linux user I would avoid using .md as this can also be a machine description file for compiling code with GCC.
Examples of extension usage:
GitHub: markdown, mdown, mkdn, mkd, md (source)
Elements Markdown Editor: markdown, mdown, mdwn, md
Vim markdown: markdown, mdown, mkdn, mdwn, mkd, md
Bitbucket: markdown, mdown, mkdn, mkd, md, text (source