The basic form of "I" is 나 (informal, 저 is the formal form).
난 is the contracted form of 나는 = 나 + topic particle -는/은.
You use it for talking about general things.
나는 18살이야. I am 18 years old.
나는 너를 좋아해. I like you.
나는 이제 자러 가. I'm going to sleep now.
내가 is 나 + subject particle -이/가. (This would normally give 나가 but it's an exception, 내가.)
The difference with -는/은 is that -이/가 puts emphasis on the subject, so it's like "It's me who..."
내가 할게. I'll do it (myself).
내가 그랬어? Did I say that?
내가 먼저 갈게. I'll go first.
In all these examples "I" is emphasized.
내 is the contracted form of 나의, which comes from 나 + 의 (possessive particle) so you can use either. It's just a matter of personal preference.