Yes, a reservation is a good idea. How far in advance you need to purchase depends on when you're travelling. Summer is much busier than winter, and holiday weekends get booked up many weeks in advance.
I agree with Kristine.
I recommend getting an online reservation. They can be changed without fees (if done far enough in advance) so you are guaranteed a spot. Only a regular ferry rider could give you a realistic estimate of how early is early enough. Good luck.
Thanks! Your answer is awaiting moderation.