Edit : Tribute makes the source country and the target country both cannot attack each other for 30 days.
Why I made it so that the tributes/Vassalage needs at least 1 port is because usually country that has ports has people in it. If a country has no people in it, they would keep tributing/Vassalage every country they see and that would be a mess.
A country having 100+ Vassalage of country with no people? That wouldn't look nice.