There isn't a consensus over how many layers the TCP/IP protocol stack has - we've got 2 major camps, one of which says there are 5 layers while the other claims that it has 4 layers.
If you look at this article on Wikipedia, the table on the different layers and the names of the layers pretty much summarizes the disagreement. Tanenbaum and Kurose, along with the Cisco Academy, believe that there are 4 layers in the TCP/IP stack and the RFC 1122 document says so too. However, Forouzan, Comer, Kozierok and Stallings insist that there are 5 layers.
Now, let's say sometime in the not too distant future, in 2010, if they all do reach an agreement on the number of layers, the argument would continue over the names that we ought to assign to the layers :-)
PS: Did you know we have a standard for the transmission of IP packets with carrier pigeons? Look up RFC 2549 - IP over Avian Carriers with Quality of Service.