Basic Internet Concepts
02
The Internet is one of the seven Big Ideas of the CS Principles (CSP) curriculum and rightly so: The Internet has had a tremendous impact on our lives and on modern society. Yet, despite its impact and influence, most people do not really understand what the Internet is and how it works.
We introduced the Internet earlier, where we covered the following points:
The Internet is the global public network of independent and autonomous networks that are governed by the Internet Protocol Suite.
The Internet is not the same as the World Wide Web (WWW). The WWW is an application that runs on the Internet using the HTTP protocol.
The Internet is based on open (non-proprietary) standards, which has enabled it to grow exponentially since its inception in the early 1980s.
The cloud is an everyday term for the Internet and/or WWW.
This lesson provides a high-level overview of some of the Internet's and WWW's key concepts and terminology. A follow-up lesson will go into greater detail in explaining how the Internet works.
Technical Terminology
Network - A computer network is a group of two or more computers that are linked together
World Wide Web - An Internet application that is based on the HTTP protocol
Client - A client is a computer or software application that requests services from a server located on the internet: e.g a Web browser is an example of a client
SMTP/POP - Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP) are sets of rules that govern the email servcies
URI - Uniform Resource Identifier (URI) is WWW identier that uniquely identifies a resource on the WWW: e.g 'http-//host.com'
Protocol - A protocol is a system of rules that govern the behavior of some system
Modem - A modem is a device that connects a computer to an Internet Service Provider (ISP)
Ethernet - An Ethernet is a network that uses wires to connect computers
Host - An Internet host computer is a computer that's connected directly to the Internet: often a computer that provides certain services or resources
LAN - A local area network (LAN) connects computers within a school or home
WAN - A wide area network (WAN) connects devices over a broad geographic region: e.g a telephone network
Server - A server is a computer connected to the Internet that provides some kind of service: e.g Google's Gmail service
HTTP - The HyperText Transfer Protocol (HTTP) is the set of rules that governs the WWW application
HTML - The HyperText Markup Language (HTML) is a language for formatting Web pages
Router - A router is a device that transmits data between two different networks
Internet Service Provider - An Internet service provider (ISP) is a company that provides customers with Internet access
WiFi - A WiFi network uses radio waves to connect devices (computers, smart phones, printers)
Basic Concepts and Terminology
Earlier we defined the Internet as a network of disparate networks that is governed by systems of rules, known as protocols. In this first presentation we'll see some examples of different types of networks (ethernet, token-ring, wifi) and we'll learn about the role that special computers known as routers play in enabling communication between different types of networks.
Answer the following questions:
Which country has the fastest download speeds on the Internet? Is the U.S. in the top 3? Try to guess the answers to these before looking them up on Speed Test Global Stats.
What is the percentage of Internet user penetration (the percentage of the population that has access to and uses the Internet) for the United States? The Internet Live Stats site presents another view of Internet users by country. It is ordered by the number of Internet users, but you can click on any column to re-order the data.
Do all countries have similar Internet user penetration or is there a digital divide (a gap between those who have Internet access and those who don't)? Find data on the Internet Live Stats site to answer this.
What can we do to reduce the effects of the digital divide?
Client/Server Model
When you are using the Internet to read email or visit a web site, your device (phone or tablet or computer) is playing the role of a client. It is using client software, such as a web browser or email application to communicate with a server, which is computer on the Internet that provides a specific service, such as email or web browsing. Clients and servers are the end points of the end-to-end architecture that connects devices over the network. In this next presentation we'll look at how communication occurs between a client and server using the HTTP Protocol.
Activity: Client Server
The above lecture described the client/server model as it applies to accessing a Web page. Our App Inventor programming platform is another example of this model. Using this picture as a model, work out the details of what happens when you open an existing project in CMU.
What is the client?
What is the server's URL?
What protocol is being used?
What information is sent to the server to request a specific project and what does the server send back?
Internet Abstraction Hierarchy
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
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.
The Power of Open Protocols
The growth of the Internet has been fueled by open protocols, standards that are not owned by a company.
Examples of open protocols:
Standards for sharing information and communicating between browsers and servers on the Web include HTTP, Simple Mail Transfer Protocol (SMTP) and secure sockets layer/transport layer security (SSL/TLS)
Standards for packets and routing include transmission control protocol/Internet protocol (TCP/IP).
The protocols for the Internet change over time. The Internet Engineering Task Force, IETF, are the experts in charge of developing and approving these protocols. ICANN controls the DNS hierarchy and the allocation of IP addresses.
Who's In Charge of the Internet?
Some people think that nobody's in charge of the Internet—that everyone just cooperates freely with no central organization. It's true that free cooperation plays an important role, but people can't just pick any IP address or host name they want, or else there would be conflicts. Until 2009, the Internet domain name hierarchy was entirely controlled by the United States government, with the details delegated to ICANN (the Internet Corporation for Assigned Names and Numbers).
In 2009 the US Department of Commerce signed a new agreement with ICANN recognizing it as an independent, multinational organization, although it is still under contract with the Department of Commerce to maintain certain principles. International critics are still not satisfied that ICANN is truly independent of the United States.
The Issue of US Control
If you think it's strange for one country to control a worldwide network, you're not alone. Other countries have never been happy about the US control of the Internet, which was officially under US control until 2009 and is still, according to many critics, unofficially dominated by the US government.
For example until 2009, all DNS domain names had to use the English alphabet, despite constant requests to accommodate other languages.
The issue of US control has become much more heated since 2013 when Edward Snowden exposed the US National Security Agency (NSA) for spying on Internet traffic worldwide. It's too soon to know how these concerns will eventually be resolved.
Internet Performance
In this next presentation we learn about two important measures of Internet performance. The first, bandwidth, refers to the amount of data that can be sent in a fixed amount of time and is usually measured in kilobits or megabits per second. The second, latency, refers to how long it takes a packet of data to go from its source (e.g., a client) to its destination (e.g., a server). You'll be introduced to some easy-to-use tools that will enable you to measure bandwidth and latency from your home or school networks.
Activity: Measuring Bandwidth
As you learned in the slide presentation bandwidth is a measure of a network's speed measured in bits per second.
Use one of these bandwidth tools to measure the bandwidth from your home and from your school. BandwidthPlace or xfinity
What are the download and upload speeds for the school's Internet connection? Note that these bandwidth are measured in megabits per second (Mbps).
Why do you think Internet Service Providers (ISPs) provide different bandwidths for downloading and uploading from the Internet?
This speed test also provides a latency test using a utility called ping which returns the amount of time (usually measured in milliseconds) to send a small packet of data from one computer (the testing server) to another (your computer).
What is the latency for the school's connection? Why is this a useful measurement?