knowt logo

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>

SB

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>

robot