Lecture Note 04
Introduction to Computing
(CS111)
Junar A. Landicho
junarlandicho@ustp.edu.ph
“
Often when you think you're at the end of something, you're at the beginning of something else.”
Fred Rogers
Topic 4:
Networking
and the
Internet
IT 416
Information Systems Development and Management
Learning Outcomes
By the end of this topic, students will be able to:
Explain the abstractions in the Internet and how the Internet functions.
Explain characteristics of the Internet and the systems built on it.
Explain how the characteristics of the Internet influence the systems built on it.
Identify existing cybersecurity concerns and potential options to address these issues with the Internet and the systems built on it.
CS 111 – Introduction to Computing
Learning Outcomes
Explain how computing innovations affect communication, interaction, and cognition.
Analyze the beneficial and harmful effects of computing.
Explain the connections between computing and real-world contexts, including economic, social, and cultural contexts.
CS 111 – Introduction to Computing
Overview
1. Network Fundamentals 2. The Internet
3. The World Wide Web 4. Internet Protocols 5. Simple Client Server 6. Security
CS 111 – Introduction to Computing
Network Fundamentals Java
PHP
Python
CS 111 – Introduction to Computing
Network Fundamentals
Network Software allows users to
exchange information and share
resources
▪ Content
▪ Software
▪ Data storage facilities
Network software has evolved into a
network-wide operating system
CS 111 – Introduction to Computing
Network Classifications
Scope
▪ Personal Area Network (short-range)
▪ Local Area Network (building/campus) ▪ Metropolitan Area Network (community) ▪ Wide Area Network (greater distances) Ownership
▪ Closed versus open
Topology (configuration)
▪ Bus (Ethernet)
▪ Star (Wireless networks with central Access Point)
CS 111 – Introduction to Computing
Popular Network Topologies
CS 111 – Introduction to Computing
Protocols
Rules by which activities are
conducted on a network
▪ Example: Coordinating the transmission
of messages between computers. Need
to avoid all machines transmitting at the
same time.
Allows vendors to build products that
are compatible with products from
other vendors
CS 111 – Introduction to Computing
Protocols for Transmitting Messages
CSMA/Collision Detection
▪ used in Ethernet
▪ both machines stop and wait for a
independent, random time
CSMA/Collision Avoidance
▪ used in WiFi, where not all machines can
hear each other (hidden terminal
problem)
▪ give advantage to the machine that has
already been waiting
CS 111 – Introduction to Computing
Communication over a Bus NetworkCS 111 – Introduction to Computing
The hidden terminal problem
CS 111 – Introduction to Computing
Combining Networks
Repeater: passes all messages across
two busses
Bridge: passes only messages that are
destined for computers on the other
bus
Switch: acts like a bridge, but with
connections to multiple busses
Router: Connects two incompatible
networks resulting in a network of
networks called an internet
CS 111 – Introduction to Computing
Combining Networks
Routers connecting two WiFi
networks and an Ethernet
network to form an internet
CS 111 – Introduction to Computing
Methods of Process Communication
Client-server
▪ Many clients, one server (executing
continuously)
▪ Clients make requests of other
processes
▪ Server satisfies requests made by clients
Peer-to-peer (P2P)
▪ Two processes communicating as
equals
▪ Processes execute on a temporary basis
CS 111 – Introduction to Computing
Distributed Systems
Systems units that execute as processes on different computers
Cluster computing
▪ Independent computers work closely together instead of a single, much larger machine
Grid computing
▪ Millions of home PCs (not connected to each other) work on a complex problem
Cloud computing
▪ Provide services, hide the details
CS 111 – Introduction to Computing
The Internet Java
PHP
Python
CS 111 – Introduction to Computing
The Internet
The Internet is an internet that spans
the world
Original goal was to link a variety of
networks into a connected system
unaffected by local disasters
Today, it is a commercial undertaking
that links a worldwide combination of
PANs, LANs, MANs, and WANs
involving millions of computers
CS 111 – Introduction to Computing
Internet Architecture
Internet Service Provider (ISP) ▪ Tier-1 (Internet backbone)
▪ Tier-2
Access or Tier-3 ISP: Provides connectivity to the Internet
▪ Hot spot (wireless)
▪ Telephone lines
▪ Cellular
▪ Cable/Satellite systems
CS 111 – Introduction to Computing
Internet Composition
CS 111 – Introduction to Computing
The Internet
IP address: pattern of 32 or 128 bits
often represented in dotted decimal
notation
Mnemonic address:
▪ Domain names(mu.edu)
▪ Top-Level Domains (.org, .gov, .com, .mil,
.net, .au, .ca, .biz, ….)
Domain name system (DNS)
▪ Name servers
▪ DNS lookup
CS 111 – Introduction to Computing
Internet Corporation for Assigned Names & Numbers (ICANN)
Allocates blocks of IP addresses to
ISPs who then assign those
addresses within their regions.
Oversees the registration of domains
and domain names.
CS 111 – Introduction to Computing
Early Internet Applications
Network News Transfer Protocol
(NNTP)
File Transfer Protocol (FTP)
Telnet and Secure Shell (SSH)
Hypertext Transfer Protocol (HTTP)
Electronic Mail (email)
▪ Domain mail server collects incoming
mail and transmits outing mail
▪ Mail server delivers collected incoming
mail to clients via POP3 or IMAP
CS 111 – Introduction to Computing
SMTP Simple Mail Transfer Protocol
CS 111 – Introduction to Computing
More Recent Applications
Voice Over IP (VoIP)
Internet Multimedia Streaming
▪ N-unicast
▪ Multicast
▪ On-demand streaming
▪ Content delivery networks (CDNs)
CS 111 – Introduction to Computing
World Wide Web Java
PHP
Python
CS 111 – Introduction to Computing
World Wide Web
Hypertext combines internet
technology with concept of linked
documents
▪ Embeds hyperlinks to other documents
Browsers present materials to the
user
Webservers provide access to
documents
Documents are identified by URLs
and transferred using HTTP
CS 111 – Introduction to Computing
A typical URL
CS 111 – Introduction to Computing
Hypertext Markup Language (HTML)
Encoded as text file
Contains tags to communicate with
browser
▪ Appearance
o <h1> to start a level one heading
o <p> to start a new paragraph
▪ Links to other documents and content
o <a href = . . . >
▪ Insert images
o <img src = . . . >
CS 111 – Introduction to Computing
A simple webpage
CS 111 – Introduction to Computing
An enhanced simple webpage
CS 111 – Introduction to Computing
Extensible Markup Language (XML)
XML: A language for constructing
markup languages similar to HTML
▪ A descendant of the Standard
Generalized Markup Language
▪ Opens door to a World Wide Semantic
Web
CS 111 – Introduction to Computing
Using XML to encode music
<staff clef = “treble”> <key>C minor</key> <time> 2/4 </time>
<measure> < rest> egth </rest>
<notes> egth G, egth G, egth G </notes> </measure>
<measure> <notes> hlf E </notes></measure> </staff>
The first two bars of Beethoven’s Fifth Symphony
CS 111 – Introduction to Computing
Client Side Versus Server Side
Client-side activities (browser)
▪ Javascript
▪ Java applets
▪ Macromedia Flash
Server-side activities (webserver)
▪ Common Gateway Interface (CGI)
▪ Servlets
▪ JavaServer Pages (JSP) / Active Server
Pages (ASP)
▪ PHP
CS 111 – Introduction to Computing
Internet Protocols Java
PHP
Python
CS 111 – Introduction to Computing
Internet Protocols
Control how messages are
transferred over the Internet
This software must reside on every
computer in the Internet
Accomplished by a multi-level
hierarchy
CS 111 – Introduction to Computing
Package-shipping example
CS 111 – Introduction to Computing
Internet Software Layers
Application: Constructs message with address
Transport: Chops message into packets
Network: Handles routing through the Internet
Link: Handles actual transmission of packets
CS 111 – Introduction to Computing
Following a message through the Internet
CS 111 – Introduction to Computing
TCP/IP Protocol Suite
Transport Layer
▪ Transmission Control Protocol (TCP) ▪ User Datagram Protocol (UDP) Network Layer
▪ Internet Protocol (IP)
▪ IPv4
▪ IPv6
CS 111 – Introduction to Computing
Simple Client Server Program
Python
Java
PHP
CS 111 – Introduction to Computing
Simple Client Server Program
Socket: an abstraction for processes at
the application layer to connect to the
network via the transport layer
Needs to know
▪ Source Address name (localhost)
▪ Source Port number(1023…65535)
▪ Destination Address
▪ Destination Port number
CS 111 – Introduction to Computing
Client Script in Python
CS 111 – Introduction to Computing
Server Script in Python
CS 111 – Introduction to Computing
Cybersecurity Java
PHP
Python
CS 111 – Introduction to Computing
Cybersecurity
Forms of Attack
▪ Malware (viruses, worms, Trojan horses, spyware, phishing software) ▪ Denial of service (DoS)
▪ Spam (common medium for delivering malware)
Protection and Cures
▪ Firewalls
▪ Spam filters
▪ Proxy Servers
▪ Antivirus software
CS 111 – Introduction to Computing
Cryptography
HTTPS for secure Internet access
Public-key Encryption (asymmetric)
▪ Public key: Used to encrypt messages
▪ Private key: Used to decrypt messages
Certificate Authorities
▪ Trusted to maintain lists of public keys
▪ Provide Certificates to clients containing
a party’s name and its public key
CS 111 – Introduction to Computing
Public key encryption
CS 111 – Introduction to Computing
Legal Approaches to Network Security
Computer Fraud and Abuse Act
Electronic Communication Privacy Act
USA PATRIOT Act
Communications Assistance for Law
Enforcement Act
Anticybersquatting Consumer
Protection Act
CS 111 – Introduction to Computing
CS 111 – Introduction to Computing
</End>
Introduction to Computing
(CS111)
Junar A. Landicho
junarlandicho@ustp.edu.ph
“
Often when you think you're at the end of something, you're at the beginning of something else.”
Fred Rogers
Topic 4:
Networking
and the
Internet
IT 416
Information Systems Development and Management
Learning Outcomes
By the end of this topic, students will be able to:
Explain the abstractions in the Internet and how the Internet functions.
Explain characteristics of the Internet and the systems built on it.
Explain how the characteristics of the Internet influence the systems built on it.
Identify existing cybersecurity concerns and potential options to address these issues with the Internet and the systems built on it.
CS 111 – Introduction to Computing
Learning Outcomes
Explain how computing innovations affect communication, interaction, and cognition.
Analyze the beneficial and harmful effects of computing.
Explain the connections between computing and real-world contexts, including economic, social, and cultural contexts.
CS 111 – Introduction to Computing
Overview
1. Network Fundamentals 2. The Internet
3. The World Wide Web 4. Internet Protocols 5. Simple Client Server 6. Security
CS 111 – Introduction to Computing
Network Fundamentals Java
PHP
Python
CS 111 – Introduction to Computing
Network Fundamentals
Network Software allows users to
exchange information and share
resources
▪ Content
▪ Software
▪ Data storage facilities
Network software has evolved into a
network-wide operating system
CS 111 – Introduction to Computing
Network Classifications
Scope
▪ Personal Area Network (short-range)
▪ Local Area Network (building/campus) ▪ Metropolitan Area Network (community) ▪ Wide Area Network (greater distances) Ownership
▪ Closed versus open
Topology (configuration)
▪ Bus (Ethernet)
▪ Star (Wireless networks with central Access Point)
CS 111 – Introduction to Computing
Popular Network Topologies
CS 111 – Introduction to Computing
Protocols
Rules by which activities are
conducted on a network
▪ Example: Coordinating the transmission
of messages between computers. Need
to avoid all machines transmitting at the
same time.
Allows vendors to build products that
are compatible with products from
other vendors
CS 111 – Introduction to Computing
Protocols for Transmitting Messages
CSMA/Collision Detection
▪ used in Ethernet
▪ both machines stop and wait for a
independent, random time
CSMA/Collision Avoidance
▪ used in WiFi, where not all machines can
hear each other (hidden terminal
problem)
▪ give advantage to the machine that has
already been waiting
CS 111 – Introduction to Computing
Communication over a Bus NetworkCS 111 – Introduction to Computing
The hidden terminal problem
CS 111 – Introduction to Computing
Combining Networks
Repeater: passes all messages across
two busses
Bridge: passes only messages that are
destined for computers on the other
bus
Switch: acts like a bridge, but with
connections to multiple busses
Router: Connects two incompatible
networks resulting in a network of
networks called an internet
CS 111 – Introduction to Computing
Combining Networks
Routers connecting two WiFi
networks and an Ethernet
network to form an internet
CS 111 – Introduction to Computing
Methods of Process Communication
Client-server
▪ Many clients, one server (executing
continuously)
▪ Clients make requests of other
processes
▪ Server satisfies requests made by clients
Peer-to-peer (P2P)
▪ Two processes communicating as
equals
▪ Processes execute on a temporary basis
CS 111 – Introduction to Computing
Distributed Systems
Systems units that execute as processes on different computers
Cluster computing
▪ Independent computers work closely together instead of a single, much larger machine
Grid computing
▪ Millions of home PCs (not connected to each other) work on a complex problem
Cloud computing
▪ Provide services, hide the details
CS 111 – Introduction to Computing
The Internet Java
PHP
Python
CS 111 – Introduction to Computing
The Internet
The Internet is an internet that spans
the world
Original goal was to link a variety of
networks into a connected system
unaffected by local disasters
Today, it is a commercial undertaking
that links a worldwide combination of
PANs, LANs, MANs, and WANs
involving millions of computers
CS 111 – Introduction to Computing
Internet Architecture
Internet Service Provider (ISP) ▪ Tier-1 (Internet backbone)
▪ Tier-2
Access or Tier-3 ISP: Provides connectivity to the Internet
▪ Hot spot (wireless)
▪ Telephone lines
▪ Cellular
▪ Cable/Satellite systems
CS 111 – Introduction to Computing
Internet Composition
CS 111 – Introduction to Computing
The Internet
IP address: pattern of 32 or 128 bits
often represented in dotted decimal
notation
Mnemonic address:
▪ Domain names(mu.edu)
▪ Top-Level Domains (.org, .gov, .com, .mil,
.net, .au, .ca, .biz, ….)
Domain name system (DNS)
▪ Name servers
▪ DNS lookup
CS 111 – Introduction to Computing
Internet Corporation for Assigned Names & Numbers (ICANN)
Allocates blocks of IP addresses to
ISPs who then assign those
addresses within their regions.
Oversees the registration of domains
and domain names.
CS 111 – Introduction to Computing
Early Internet Applications
Network News Transfer Protocol
(NNTP)
File Transfer Protocol (FTP)
Telnet and Secure Shell (SSH)
Hypertext Transfer Protocol (HTTP)
Electronic Mail (email)
▪ Domain mail server collects incoming
mail and transmits outing mail
▪ Mail server delivers collected incoming
mail to clients via POP3 or IMAP
CS 111 – Introduction to Computing
SMTP Simple Mail Transfer Protocol
CS 111 – Introduction to Computing
More Recent Applications
Voice Over IP (VoIP)
Internet Multimedia Streaming
▪ N-unicast
▪ Multicast
▪ On-demand streaming
▪ Content delivery networks (CDNs)
CS 111 – Introduction to Computing
World Wide Web Java
PHP
Python
CS 111 – Introduction to Computing
World Wide Web
Hypertext combines internet
technology with concept of linked
documents
▪ Embeds hyperlinks to other documents
Browsers present materials to the
user
Webservers provide access to
documents
Documents are identified by URLs
and transferred using HTTP
CS 111 – Introduction to Computing
A typical URL
CS 111 – Introduction to Computing
Hypertext Markup Language (HTML)
Encoded as text file
Contains tags to communicate with
browser
▪ Appearance
o <h1> to start a level one heading
o <p> to start a new paragraph
▪ Links to other documents and content
o <a href = . . . >
▪ Insert images
o <img src = . . . >
CS 111 – Introduction to Computing
A simple webpage
CS 111 – Introduction to Computing
An enhanced simple webpage
CS 111 – Introduction to Computing
Extensible Markup Language (XML)
XML: A language for constructing
markup languages similar to HTML
▪ A descendant of the Standard
Generalized Markup Language
▪ Opens door to a World Wide Semantic
Web
CS 111 – Introduction to Computing
Using XML to encode music
<staff clef = “treble”> <key>C minor</key> <time> 2/4 </time>
<measure> < rest> egth </rest>
<notes> egth G, egth G, egth G </notes> </measure>
<measure> <notes> hlf E </notes></measure> </staff>
The first two bars of Beethoven’s Fifth Symphony
CS 111 – Introduction to Computing
Client Side Versus Server Side
Client-side activities (browser)
▪ Javascript
▪ Java applets
▪ Macromedia Flash
Server-side activities (webserver)
▪ Common Gateway Interface (CGI)
▪ Servlets
▪ JavaServer Pages (JSP) / Active Server
Pages (ASP)
▪ PHP
CS 111 – Introduction to Computing
Internet Protocols Java
PHP
Python
CS 111 – Introduction to Computing
Internet Protocols
Control how messages are
transferred over the Internet
This software must reside on every
computer in the Internet
Accomplished by a multi-level
hierarchy
CS 111 – Introduction to Computing
Package-shipping example
CS 111 – Introduction to Computing
Internet Software Layers
Application: Constructs message with address
Transport: Chops message into packets
Network: Handles routing through the Internet
Link: Handles actual transmission of packets
CS 111 – Introduction to Computing
Following a message through the Internet
CS 111 – Introduction to Computing
TCP/IP Protocol Suite
Transport Layer
▪ Transmission Control Protocol (TCP) ▪ User Datagram Protocol (UDP) Network Layer
▪ Internet Protocol (IP)
▪ IPv4
▪ IPv6
CS 111 – Introduction to Computing
Simple Client Server Program
Python
Java
PHP
CS 111 – Introduction to Computing
Simple Client Server Program
Socket: an abstraction for processes at
the application layer to connect to the
network via the transport layer
Needs to know
▪ Source Address name (localhost)
▪ Source Port number(1023…65535)
▪ Destination Address
▪ Destination Port number
CS 111 – Introduction to Computing
Client Script in Python
CS 111 – Introduction to Computing
Server Script in Python
CS 111 – Introduction to Computing
Cybersecurity Java
PHP
Python
CS 111 – Introduction to Computing
Cybersecurity
Forms of Attack
▪ Malware (viruses, worms, Trojan horses, spyware, phishing software) ▪ Denial of service (DoS)
▪ Spam (common medium for delivering malware)
Protection and Cures
▪ Firewalls
▪ Spam filters
▪ Proxy Servers
▪ Antivirus software
CS 111 – Introduction to Computing
Cryptography
HTTPS for secure Internet access
Public-key Encryption (asymmetric)
▪ Public key: Used to encrypt messages
▪ Private key: Used to decrypt messages
Certificate Authorities
▪ Trusted to maintain lists of public keys
▪ Provide Certificates to clients containing
a party’s name and its public key
CS 111 – Introduction to Computing
Public key encryption
CS 111 – Introduction to Computing
Legal Approaches to Network Security
Computer Fraud and Abuse Act
Electronic Communication Privacy Act
USA PATRIOT Act
Communications Assistance for Law
Enforcement Act
Anticybersquatting Consumer
Protection Act
CS 111 – Introduction to Computing
CS 111 – Introduction to Computing
</End>