Of course, TCP isn't the only user protocol in TCP/IP networking. Although suitable for applications like rlogin, the overhead involved is prohibitve for applications like NFS. Instead, it uses a sibling protocol of TCP called UDP, or User Datagram Protocol. Just like TCP, UDP also allows an application to contact a service on a certain port on the remote machine, but it doesn't establish a connection for this. Instead, you may use it to send single packets to the destination service - hence its name.
Assume you have mounted the TeX directory hierarchy from the department's central NFS server, galois, and you want to view a document describing how to use LaTeX. You start your editor, who first reads in the entire file. However, it would take too long to establish a TCP connection with galois, send the file, and release it again. Instead, a request is made to galois, who sends the file in a couple of UDP packets, which is much faster. However, UDP was not made to deal with packet loss or corruption. It is up to the application - NFS in this case - to take care of this.