Page 3: Internet Abstractions and Open Protocols
Unit 4, Lab 1, Page 3
On this page, you will learn about the communication standards used on the Internet and how they work together.
CSN-1.B.3, CSN-1.C.1
- A protocol is set of rules that specify the behavior of a system.
- An IP address is a unique number assigned to each device on a computer network.
- A packet is a small chunk of any kind of data (text, numbers, lists, etc.) and metadata (information about the data) that is passed through the Internet as a data stream.
- Packet switching means that the Internet sends short bursts of information, not long continuous strings.
Vint Cerf (born 1943) is an American Internet pioneer and is recognized as one of “the fathers of the Internet.” Vint Cerf, along with Bob Kahn, co-developed TCP/IP, a framework for organizing the set of communication protocols used in the Internet and similar computer networks. Cerf has also served on the Board of Trustees of Gallaudet University, a university for the education of the deaf and hard-of-hearing. Cerf himself is hard of hearing and wears hearing aids.
Article: Sound Off: Technology Has Transformed the Deaf Community
There are billions of devices connected to the Internet and hundreds of different kinds of devices: laptops, tablets, phones, smart refrigerators, handheld credit card readers, and so on. How do they all know how to find and talk to each other? Protocols (communication standards) ensure that the variety of devices interact with each other smoothly.
Every device on the Internet has a unique Internet Protocol (IP) address (or more than one, if it’s a router), like a postal or email address. The Internet Protocol specifies how a router handles a request for a different IP address. Each router knows the layout of its specific neighborhood of the Internet and knows which way to send each message to get it a little bit closer to where it’s going. The fact that each router doesn’t have to know the addresses of the complete Internet improves scalability.
When you stream data over the Internet, the stream is divided into packets that IP sends individually. This process is what makes the Internet a packet switching network.
CSN-1.C.2, CSN-1.C.3
The Internet is fairly reliable, but every once in a while a packet will be lost, and devices on the Internet need to tolerate these faults. One way to tolerate faults is not to care (if you lose one frame of video, it doesn’t matter). Another way (called TCP for Transmission Control Protocol) is to keep sending packets until they are acknowledged as having been received correctly. For applications that use TCP, it’s TCP that divides the data into packets. Since packets can travel by different paths, they may arrive out of order; and despite the redundancy of the Internet, it’s possible some won’t arrive at all. TCP guarantees reliable data transmission by keeping track of which packets have been received successfully, resending any that have been lost or damaged, and specifying the order for reassembling the data on the other end.
TCP/IP is a pair of protocols that provide two levels of abstraction:
- IP (Internet Protocol) lets your computer pretend it has a direct connection to another computer. The routers at every connection point on the Internet run IP, which transmits packets from one IP address to another.
- TCP (Transmission Control Protocol) lets your computer pretend it has a reliable connection to the other computer. The computers (including servers) at the two endpoints of a communication run TCP, which guarantees that packets arrive successfully.
- Describe how data are sent through the Internet via packets.
CSN-1.C
Internet Abstraction Hierarchy
CSN-1.D.2 (under “Application Layer Protocols”)
CSN-1.C-4
Example protocols for each layer:
Application layer: Browsers use HTTP (HyperText Transfer Protocol) to interpret HTML instructions for web page formatting. DNS (Domain Name System) converts user-friendly host names (like edc.org or berkeley.edu) into IP addresses. Your email application may use SMTP (Simple Mail Transfer Protocol) to send and IMAP (Internet Message Access Protocol) to read email.
Transport layer: TCP (Transmission Control Protocol) simulates a reliable, long-term connection between two computers by only displaying data once all packets have arrived. When speed is more important than accuracy, such as for real-time video streaming, people use UDP (User Datagram Protocol).
Internet layer: Every device on the Internet needs an IP address so other devices can find it. Routers use Internet layer protocols to detect and work around network congestion.
Network interface hardware: You may connect to the Internet with an Ethernet cable or perhaps a WiFi radio antenna inside the case of your computer. Either connects computers to a local network router which then connects to an Internet service provider (ISP). Cell phones use a longer-range cellular connection to a phone carrier.
There are a lot of protocols! The Internet was designed with several layers of abstraction that sort the protocols according to what part of the process they support. This hierarchy of abstractions manages the complexity of the Internet by hiding the details of lower levels of the system:
- Application Layer Protocols (such as HTTP) are the highest level of abstraction because they manage how data is interpreted and displayed to users. These protocols give meaning to the bits sent by lower-level protocols; user and server computers must agree on what the bits mean, and application protocols offer this.
- Transport Layer Protocols (such as TCP) manage the breakdown of a message into packets to be transmitted by lower level protocols and also the reconstruction of the message from the packets upon arrival.
- Internet Layer Protocols (such as IP) manage the pathways that the data packets travel across networks. These protocols provide an abstraction of the Internet as one large network even though the physical reality on the lower level is one of many subnetworks.
- Network Interface Hardware (using Link Layer Protocols such as WiFi) manage the connection between an Internet device and its local network. These local protocols are the least abstract because they deal directly with your physical hardware.
CSN-1.B.4 (paragraph about “open standards”)
These are all open standards: anyone can look up a protocol and code with it to make new hardware or software without anyone’s permission. The Internet is probably the largest and most complicated artifact in human history, and it relies on cooperation. Despite some governments’ attempts to censor the net, the big picture is one of strong cooperative spirit.
Why care about open standards?
- Your T-Mobile cell phone can talk to your friend’s Verizon phone.
- You can send email to someone in a country that’s considered an enemy of your country (from the US to Iran, for example).
- An engineer at Microsoft can read a web page at Apple even though their companies are competitors.
Before the Internet, there were several different network protocols that were secrets belonging to particular manufacturers. So if you had a particular brand of computer or router, it could talk only to other computers of the same brand.
-
Explain how each of these protocols is an abstraction. What details does each one hide?
- HTTP (HyperText Transfer Protocol)—the protocol that your browser uses to access an HTML web page
- TCP (Transmission Control Protocol)—the protocol that assures reliable transmission of data
- IP (Internet Protocol)—the hierarchical addressing protocol that manages routing of data between computers
- Locate your descriptions of how people connect to the Internet (from page 1), how devices within a network are connected (from page 2), how and why the Internet is fault tolerant (from page 2), and how TCP/IP works (from page 3). Combine your descriptions into a short paper on how the Internet works.
CSN-1.B