A Services Descriptions

A Services Descriptions

Our discussion above has identified many of the pieces that structure the Internet. But we can also explain the Internet from completely different angle - namely, as an infrastructure that gives services to applications. These applications contain electronic mail, Web surfing, instant messaging, Voice-over-IP (VolP), Internet radio , video  streaming, distributed games, peer-to-peer (P2P) file sharing, television over the Internet, remote login, and much, much more. The applications are said to be distributed applications, since they engage multiple end systems that exchange data with each other.  Importantly, Internet applications run on end systems - they do not run in the packet switches in the network core. Though packet switches make easy the exchange of data among end systems, they are not concerned with the application that is the source or sink of data.

Let's discover a little more what we mean by an infrastructure that gives services to applications. To this end, assume you have an exciting new idea for a distributed Internet application, one that may greatly benefit humanity or one that may just make you rich and renowned. How might you go about converting this idea into a real Internet application? Because applications run on end systems, you are going to need to write software pieces that run on the end systems. You might, for instance, write your software pieces in Java, C, or Python. Now, because you are creating a distributed Internet application, the software pieces running on the different end systems will need to send data to each other. And here we get to a main issue - one that leads to the substitute way of describing the Internet as a platform for applications. How does one application piece running on one end system instruct the Internet to deliver data to another software piece running on another end system'?

End systems attached to the Internet provide an Application Programming Interface (API) that identifies how a software piece running on one end system asks the Internet infrastructure to deliver data to a particular destination software piece running on another end system. The Internet API is a set of rules that the sending software piece must follow so that the Internet can deliver the data to the destination software piece. We’ll talk about the Internet API in detail in "Application Layer". For now, let's draw upon a simple analogy, one that we will often use in this blog. Assume Alice wants to send a letter to Bob using the postal service. Alice, obviously, can't just write the letter (the data) and drop the letter out her window. Instead, the postal service requires that Alice put the letter in an envelope: write Bob's full name, address and zip code in the center of the envelope; seal the envelope; put a stamp in the upper-right-hand corner of the envelope: and lastly, drop the envelope into an official postal service mailbox. In this way, the postal service has its own "postal service API" or set of rules, that Alice must follow to have the postal service deliver her letter to Bob. Similarly, the Internet has an API that the software sending data must follow to have the Internet deliver the data to the software that will receive the data.

The postal service, obviously, provides more than one service to its customers. It provides express delivery, reception confirmation, ordinary use and many more services. Similarly, the Internet provides multiple services to its applications. When you develop an Internet application, you too must choose one of the Internet's services for your application. We'll explain the Internet's services in "Application Layer".

This second explanation of the Internet - an infrastructure for providing services to distributed applications - is an important one. Increasingly, advances in the nuts-and-bolts elements of the Internet are being driven by the needs of new applications. So it's important to keep in mind that the Internet is an infrastructure in which new applications are being constantly invented and deployed.

We have just given two explanations of the Internet; one in terms of its hardware and software components, the other in terms of an infrastructure for providing services to distributed applications. But maybe you are still confused as to what the Internet is. What are packet switching, TCP/IP and an API? What are routers? What kinds of communication links are present in the Internet? What is a distributed application? How can a toaster or a weather sensor be connected to the Internet? If you feel a bit overwhelmed by all of this now, don't worry - the purpose of this blog is to introduce you to both the nuts and bolts of the Internet and the principles that govern how and why it works. We’ll clarify these important terms and questions in the following sections.



Tags

network core, packet switches, routers

Copy Right

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.