TCP/IP and Phil, the UPS Guy


The Setup:
    Imagine a building which houses five businesses; let's say: Pete's Pet Supplies, The Law Offices of Dewey, Cheatum, & Howe, Edna Kruk's House of Beauty, Things On A Stick, and Melvin's Mansion of Music. The only thing these businesses have in common is that they all use UPS (and happen to rent space in the same building). Phil is the friendly, capable UPS driver who makes the pickups and deliveries at these businesses.

Receiving:
    Every day Phil delivers packages to the five businesses. Each business has different methods (or protocols) of dealing with the packages; how they sort, store, distribute, &/or use the contents. None of this is Phil's concern, however. Once the package has reached its destination, Phil's interaction with it is done.

Shipping:
    Each business has various packages that they need to ship out. Phil doesn't know or care what's in the packages (Phil is friendly and capable, but not very curious). As long as the packages have the proper label, and conform to UPS's standards for size and weight, Phil is happy to carry them to his brown van.   In turn, the businesses really don't know or care about the details of how their packages are shipped. The routes, regulations, and logistics of shipping the packages are UPS's concern.

The Relevance:
    If the building in the scene above was actually a computer, the businesses would be programs, and UPS would be the TCP/IP protocol. A bag of kibble and a jar of cold cream are two very different products, but if they're boxed and addressed properly then UPS will ship both. All UPS sees is a package that needs to be delivered somewhere.     Likewise, an e-mail program uses, manipulates, and stores data differently than a Web browser does, but they both use TCP/IP as their delivery service. TCP/IP doesn't care what the data is that it's transporting; its only job is to see that the data is properly delivered.


Home