A Layered Approach
Network Attacks and the History of Networking
Networking Applications
2.18M
Категория: ИнтернетИнтернет

A Layered Approach Computer Networks

1. A Layered Approach

Presented by
A Layered Approach
Computer Networks

2.

Topics and Agenda
Project 01: HTML Server
Protocol Layering
Five-Layer Internet Protocol Stack
Seven-Layer ISO OSI Reference Model
Encapsulation

3.

Course Progress
Project 01: HTML Server
• Class 01: Introduction to the Course
• Class 08: Project 01 Lab Time
• Class 02: Networking Basics and
Terminology
• Class 09: File Transfer and Communication
• Class 03: The Network Core and
Performance
• Class 10: Project 01 Lab Time
Class 04: A Layered Approach; Project 01
Introduction
• Class 11: DNS
• Class 05: Network Attacks and the History
of Networking
• Class 12: Peer to Peer Communications
• Class 06: Networking Applications
• Class 13: Socket Programming
• Assessment 01: Network Basics
• Class 14: Project 01 Solution Review
• Class 07: Web Based Services
• Assessment 02: Application Layer
Project 02: Socket to Socket Communications and Control
Project 03: Network Tools
Project 04: Security

4.

Project 01: HTML Server
Did you get my email?
What does ‘done’ look like for Project 01?
What should you do next to successfully complete Project 01?
What should you do if you have questions or get stuck?

5.

Protocol Layers
Networks can appear quite complex, with many “pieces and
parts”:
Hosts
Routers
Links
Applications
Hardware
Software
Protocol layers help in organizing the structure and discussion of
networks

6.

Five-Layer Internet Protocol Stack
Application: supporting network
applications
Transport: process-process data
transfer
IP, routing protocols
Link: data transfer between
neighboring network elements
TCP, UDP
Network: routing of datagrams
from source to destination
FTP, SMTP, HTTP
Ethernet, 802.111 (WiFi), PPP
Physical: bits “on the wire”
Adapted from: Figure 1.23 Computer Networking: A Top-Down Approach
Sixth Edition, Kurose, Ross; All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved

7.

Seven-Layer ISO OSI Reference Model
Presentation: allow applications
to interpret meaning of data, e.g.,
encryption, compression,
machine-specific conventions
Session: synchronization,
checkpointing, recovery of data
exchange
Internet stack “missing” these
layers!
These services, if needed, must be
implemented in application layer
Adapted from: Figure 1.23 Computer Networking: A Top-Down Approach
Sixth Edition, Kurose, Ross; All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved

8.

Why Layering?
Protocol layering helps to structure and describe complicated
systems:
Explicit structure allows identification and relationship of complex
system’s “pieces and parts”
Layered reference model helps organize discussion
Each protocol belongs to one of the layers
Protocols can be implemented in software, hardware, or a
combination of the two
Modularization eases maintenance and updating of system
Change of implementation in one layer’s service is transparent to the
rest of system

9.

Encapsulation
Hosts, routers, and linklayer switches; each
contains a different set of
layers, reflecting their
differences in
functionality
Adapted from: Figure 1.24 Computer Networking: A Top-Down Approach
Sixth Edition, Kurose, Ross; All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved

10.

Encapsulation
Packaging of messages and header information between and
across layers
Each layer adds header information to the message and header from the
preceding layer and then passes encapsulated package to the next layer
Routers and link-layer switches typically only implement the
bottom layers
Link-layer switches implement layers 1 and 2
Routers implement layers 1 through 3
Transport-layer segment encapsulates the application-layer
message
Link-layer adds its own header information and creates a link-layer
frame
Each layer has two types of fields – header fields and a payload
field

11.

Remember…
Project 01: Due on Class 13
Due by 8 p.m. via the LMS
Reading assignments
Computer Networking: A Top-Down Approach : Chapter 2 – complete by
Class 06

12. Network Attacks and the History of Networking

Network Attacks and the History of
Presented by
Networking
Networking and Security

13.

Topics and Agenda
Network Attacks
History of Computer Networking and the Internet
Exercise 05: Calculate End-to-End Delay
Network Basics Summary
Project 01 Lab Time

14.

Course Progress
Project 01: HTML Server
• Class 01: Introduction to the Course
• Class 08: Project 01 Lab Time
• Class 02: Networking Basics and
Terminology
• Class 09: File Transfer and Communication
• Class 03: The Network Core and
Performance
• Class 10: Project 01 Lab Time
• Class 04: A Layered Approach; Project 01
Introduction
• Class 11: DNS
Class 05: Network Attacks and the History
of Networking
• Class 12: Peer to Peer Communications
• Class 06: Networking Applications
• Class 13: Socket Programming
• Assessment 01: Network Basics
• Class 14: Project 01 Solution Review
• Class 07: Web Based Services
• Assessment 02: Application Layer
Project 02: Socket to Socket Communications and Control
Project 03: Network Tools
Project 04: Security

15.

Network Attacks
Network attacks have contributed to the field of Network Security
Malware
Botnets
Viruses
Worms
Server and Network Infrastructure Attacks – Denial of Service
(DoS) attacks
Packet Sniffing
IP Spoofing
Network Security will be addressed more later in the course

16.

History: The Development of Packet Switching: 1961-72
1961: Kleinrock - queueing theory shows effectiveness of packetswitching
1964: Baran - packet-switching in military nets
1967: ARPAnet conceived by Advanced Research Projects Agency
1969: first ARPAnet node operational
1972: Kahn
ARPAnet public demo
NCP (Network Control Protocol) first host-host protocol
first e-mail program
ARPAnet has 15 nodes

17.

History: Internetworking, Proprietary Nets: 1972-80
1970: ALOHAnet satellite network in Hawaii
1974: Cerf and Kahn - architecture for interconnecting networks
1976: Ethernet at Xerox PARC
late70’s: proprietary architectures: DECnet, SNA, XNA
late 70’s: switching fixed length packets (ATM precursor)
1979: ARPAnet has 200 nodes

18.

History: New Protocols, Proliferation of Networks: 1980-90
1983: Deployment of TCP/IP
1982: SMTP e-mail protocol defined
1983: DNS defined for name-to-IP-address translation
1985: FTP protocol defined
1988: TCP congestion control
New national networks: Csnet, BITnet, NSFnet, Minitel
100,000 hosts connected to confederation of networks

19.

History: Commercialization, New Apps: 1990-2000s
Early 1990’s: ARPAnet decommissioned
1991: NSF lifts restrictions on commercial use of NSFnet
(decommissioned, 1995)
Early 1990s: The Web
Hypertext [Bush 1945, Nelson 1960’s]
HTML, HTTP: Berners-Lee
1994: Mosaic, later Netscape
Late 1990’s: commercialization of the Web
Late 1990’s – 2000’s:
More killer apps: instant messaging, P2P file sharing
Network security to forefront
Estimated 50 million hosts, 100 million+ users
Backbone links running at Gbps

20.

History: 2005-Present
~750 million hosts
Smartphones and tablets
Aggressive deployment of broadband access
Increasing ubiquity of high-speed wireless access
Emergence of online social networks:
Service providers (Google, Microsoft) create their own networks
Facebook: soon one billion users
Bypass Internet, providing “instantaneous” access to search, emai, etc.
E-commerce, universities, enterprises running their services in
“cloud” (eg, Amazon EC2)

21.

Network Basics Summary
Internet overview
What’s a protocol?
Network edge, core, access network
Packet-switching versus circuit-switching
Internet structure
Performance: loss, delay, throughput
Layering, service models
Security
History

22.

You have 15 minutes
Complete
Exercise 05

23.

Exercise Reflection
This exercise only considered transmission and propagation
delays.
The transmission delay is typically much greater than the
propagation delay.
These delays can range from negligible to being much more
significant depending on the packet size, length between links,
and the transmission rate.

24.

Project 01 Lab Time
Project 01 Lab Time
Today, you will get together with your Project 01 team.
Use this time productively as a team to work on Project 01 deliverables,
provide team updates, and ask questions.
There are no documents required to be downloaded or uploaded to the
LMS today.
Have fun!

25.

You have the remainder of class
Project 01 Lab
Time

26.

Remember…
Project 01: Due on Class 13
Due by 8 p.m. via the LMS
Assessment 01: Network Basics – Next Class
Reading assignments
Computer Networking: A Top-Down Approach : Chapter 2 – complete by
Class 06

27. Networking Applications

Presented by
Networking Applications
Networking and Security

28.

Topics and Agenda
Assessment 01: Network Basics
Principles of Network Applications
Network Application Architectures
Processes Communicating
Transport Services
Application-Layer Protocols
Exercise 06: HTTP GET Message

29.

Course Progress
Project 01: HTML Server
• Class 01: Introduction to the Course
• Class 08: Project 01 Lab Time
• Class 02: Networking Basics and
Terminology
• Class 09: File Transfer and Communication
• Class 03: The Network Core and
Performance
• Class 10: Project 01 Lab Time
• Class 04: A Layered Approach; Project 01
Introduction
• Class 11: DNS
• Class 05: Network Attacks and the History
of Networking
• Class 12: Peer to Peer Communications
Class 06: Networking Applications
• Class 13: Socket Programming
Assessment 01: Network Basics
• Class 14: Project 01 Solution Review
• Class 07: Web Based Services
• Assessment 02: Application Layer
Project 02: Socket to Socket Communications and Control
Project 03: Network Tools
Project 04: Security

30.

You have 10 minutes
Complete
Assessment 01

31.

Principles of Network Applications
The continual development of network applications reinforce the
on-going need for computer networks, including:
1970s and 1980s: Text-based applications – email, remote access to
computers, file transfer, newsgroups
Mid-1990s: Killer applications – World Wide Web, encompassing Web
surfing, search, electronic commerce, instant messaging, P2P file sharing
2000s: Voice and video applications – VOIP, video conferencing (i.e., Skype),
user-generated video distribution (i.e., YouTube), movies on Demand (i.e.,
Netflix), multi-player online games (i.e., Second Life, World of Warcraft),
social networking applications (Facebook, Twitter)
Expect for this network application trend to continue
The application layer is a great place to continue our study of
protocols

32.

Network Application Architectures
The core of network application
development is writing programs
that run on different end systems
and communicate with each other
over the network
Web applications – browser program
running on user’s host (desktop,
laptop, smartphone) and web server
program running in the Web server
host
P2P file-sharing system – program in
each host that participates in the filesharing host
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

33.

Network Application Architectures
New applications are developed by
writing software that runs on
multiple end systems
Could be written in C, Java, Python,
etc.
Do not need to write software that
runs on network core devices, such
as routers and link-layer switches
Application Architecture
Designed by the application
developer
Dictates how the application is
structured across the various end
systems
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

34.

Client-Server Architecture
Server is an always-on host
Server has a fixed, well-known IP
address
Web server receives request
from browsers running on client
hosts
Many web servers are located in
data centers to create a
powerful virtual server
Clients may be intermittently
connected
Clients may have dynamic IP
addresses
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

35.

Peer-to-Peer Architecture
No always-on server
Arbitrary end systems directly
communicate
Peers request service from other
peers, provide service in return to
other peers
Peers are intermittently connected
and may change IP addresses
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

36.

Processes Communicating
Processes on two different end systems communicate with each
other by exchanging messages across the computer network
Process that sends messages into, and receives messages from,
the network through a software interface is called a socket
Underlying protocol is typically the Internet’s TCP protocol
Socket is the interface between the application layer and the transport
layer within a host – also called the Application Programming Interface
(API)
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

37.

Addressing Processes
The receiving process needs to specify:
In the Internet, the host is identified by a MAC address
The address of the host
The identifier that specifies the receiving process in the destination
host
Every device has a unique MAC address
The MAC address of any device is associated to an IP address for
routing purposes.
Sending process must also identify the receiving process (socket)
running in the host
Destination port number serves this purpose

38.

Transport Services
Transport Services available to applications:
Transport Services provided by the Internet
Reliable Data Transfer
Throughput
Timing
Security
UDP and TCP transport protocols
Service requirements for selected applications
TCP Services
UDP Services
Services not provided by Internet Transport Protocols
Doesn’t include throughput or timing guarantees
Time-sensitive applications designed to cope, to the greatest extent
possible, with these lack of guarantees

39.

Transport Service Requirements: Common Applications
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

40.

Application-Layer Protocols
Application-Layer protocols define:
Types of messages to be exchanged
Syntax of the various message types
Semantics of the fields
Rules for determining when and how a process sends messages and
responds to messages
Some application-layer protocols specified in RFCs (Request for
Comments) such as HTTP and SMTP
Many other application-layer protocols are proprietary such as
Skype

41.

Application, Transport Protocols: Internet Applications
Adapted from: Computer Networking: A Top-Down Approach
Supplemental Material, Sixth Edition, Kurose, Ross; All material
copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved

42.

You have 10 minutes
Complete
Exercise 06

43.

Exercise Reflection
The HTTP GET message is a useful mechanism used to verify
that cached objects are up-to-date
We will learn more about this subject later in the course

44.

Remember…
Project 01: Due on Class 13
Due by 8 p.m. via the LMS
Reading assignments
Computer Networking: A Top-Down Approach : Chapter 3 – complete by
Class 15
English     Русский Правила