Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

Similar documents
CS 3516: Advanced Computer Networks

Introduction to the Application Layer. Computer Networks Term B14

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

Goal and A sample Network App

CSC 4900 Computer Networks: End-to-End Design

CMSC 322 Computer Networks Applications and End-To- End

CS 3516: Advanced Computer Networks

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

CSC 401 Data and Computer Communications Networks

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

EECS 3214: Computer Network Protocols and Applications

Chapter II: Application Layer

Chapter 1 Introduction

Chapter 2 Application Layer

Lecture 12. Application Layer. Application Layer 1

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Application Layer: HTTP

CSEE 4119 Computer Networks. Chapter 1 Introduction (4/4) Introduction 1-1

Review of Previous Lecture

DATA COMMUNICATOIN NETWORKING

Introduction to Security. Computer Networks Term A15

Chapter 2 Application Layer

Computer Networking Introduction

end systems, access networks, links circuit switching, packet switching, network structure

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Chapter 2: Application layer

Lecture 11. Transport Layer (cont d) Transport Layer 1

Client/Server Computing

1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

COMP 562: Advanced Topics in Networking

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

CS 4390 Computer Networks

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 3

Client/Server Computing & Socket Programming

Chapter 2 Application Layer

CSC 401 Data and Computer Communications Networks

Chapter 2 Application Layer

Review for Internet Introduction

Foundations of Telematics

Chapter 1 Introduction

CSC 401 Data and Computer Communications Networks

ECE 4450:427/527 - Computer Networks Spring 2017

CSC 401 Data and Computer Communications Networks

COSC4377. Chapter 1: Roadmap

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Client/Server Computing & Socket Programming

CSCI Computer Networks Fall 2016

ENEE 457: Computer Systems Security 11/07/16. Lecture 18 Computer Networking Basics

Computer Networks and Applications

Hybrid of client-server and P2P. Pure P2P Architecture. App-layer Protocols. Communicating Processes. Transport Service Requirements

Introduction to computer networking

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Chapter 2 Application Layer

Chapter 2: Application Layer. Chapter 2: application layer. outline. Some network apps. Client-server architecture. Application architectures

Chapter 1: roadmap parte B

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

Chapter 2 Application Layer

Data Communications and Networks Spring Syllabus and Reading Assignments

Transport layer Internet layer

CSC 401 Data and Computer Communications Networks

SCS3004 Networking Technologies Application Layer Protocols

CS 332: Computer Networks Introduction

PLEASE READ CAREFULLY BEFORE YOU START

Different Layers Lecture 21

Course on Computer Communication and Networks. Lecture 2 Chapter 1: Introduction: Part B: Network structure, performance, security prelude

Web Protocols and Practice

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

CSEE 4119 Computer Networks. Chapter 1 Introduction (2/2) Introduction 1-1

PLEASE READ CAREFULLY BEFORE YOU START

Layered Model. DoD Model. ISO/OSI Model

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Chapter 4: Networking and the Internet. Network Classifications. Network topologies. Network topologies (continued) Connecting Networks.

COSC4377. Chapter 1: Roadmap

CSC 401 Data and Computer Communications Networks

Internet Security: Firewall

LECTURE 1 - INTRODUCTION. Jacob Aae Mikkelsen

PLEASE READ CAREFULLY BEFORE YOU START

Internet Architecture & Performance. What s the Internet: nuts and bolts view

Fundamentals of Information Systems

CMPE 80N: Introduction to Networking and the Internet

Application Layer Protocols

CS 4390 Computer Networks. Transport Services and Protocols

Multimedia Networking

Chapter 1: Introduction

Δίκτυα Μετάδοσης Δεδομένων Data Networks. Introduction 1-1

Lecture 2 - Application Layer. Lecture 1 Review. Application Layer. Principles of network applications. Notes. Notes. Notes. Notes

CC451 Computer Networks

CSCE 463/612 Networks and Distributed Processing Spring 2018

13. Internet Applications 최양희서울대학교컴퓨터공학부

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

Course on Computer Communication and Networks. Lecture 2 Chapter 1: Introduction: Part B: Network structure, performance, security prelude

Computer Networks and Applications. Introduction(Protocol Layering, Security) & Application Layer (Principles, Web, FTP)

Defining the Internet

CSC 4900 Computer Networks: Transport Layer

Chapter 1 Introduction

Transcription:

CSC 401 Data and Computer Communications Networks Protocol Layers, Security Sec:1.5-1.6 Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

Outline Computer Networks and the Internet (Ch 1) 1.1 What is the Internet? 1.2 network edge end systems, access networks, links 1.3 network core circuit switching, packet switching, network structure 1.4 delay, loss, throughput in networks 1.5 protocol layers, service models 1.6 networks under attack: security 1.7 history NCSU CSC401 Lina Battestilli 12

Network security Field of network security: 1. how bad guys can attack computer networks 2. how we can defend networks against attacks 3. how to design architectures that are immune to attacks Internet NOT originally designed with (much) security in mind original vision: a group of mutually trusting users attached to a transparent network Internet protocol designers playing catch-up security considerations in all layers!

Malware into hosts via Internet malware can get in host from: virus: self-replicating infection by receiving/executing object (e.g., e-mail attachment) worm: self-replicating infection by passively receiving object that gets itself executed spyware malware can record keystrokes, web sites visited, upload info to collection site

Malware creating Botnets DDoS Attacks Denial of Service (DoS): attackers make resources (server, bandwidth) unavailable to legitimate traffic by overwhelming resource with bogus traffic 1. select target 2. break into hosts around the network 3. send packets to target from compromised hosts target

Bad guys can sniff packets packet sniffing : broadcast media (shared Ethernet, wireless) promiscuous network interface reads/records all packets (e.g., including passwords!) passing by A C src:b dest:a payload B Wireshark is a packet-sniffer!

Bad guys can use fake addresses IP spoofing: send packet with false source address A C src:b dest:a payload B lots more on security ( Chapter 8)

Outline Computer Networks and the Internet (Ch 1) 1.1 What is the Internet? 1.2 network edge end systems, access networks, links 1.3 network core circuit switching, packet switching, network structure 1.4 delay, loss, throughput in networks 1.5 protocol layers, service models 1.6 networks under attack: security 1.7 history NCSU CSC401 Lina Battestilli 18

http://nsf.gov/news/special_reports/nsf-net NCSU CSC401 Lina Battestilli 19

Ch 1 Summary covered a ton of material! 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 you now have: context, overview, feel of networking more depth, detail to follow!

Outline Application Layer (ch 2) 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP 21

our goals: Chapter 2: Application Layer conceptual, implementation aspects of network application protocols transport-layer service models client-server paradigm peer-to-peer paradigm learn about protocols by examining popular application-level protocols HTTP, FTP, SMTP/POP3/IMAP, DNS creating network applications socket API 22

Some network apps 1970s and 1980s e-mail text messaging remote login mid 1990s World Wide Web search ecommerce P2P file sharing multi-user network games 2000s voice over IP (e.g., Skype) streaming stored video (YouTube, Hulu, Netflix) real-time video conferencing social networking 23

Creating a network app write programs that: run on (different) end systems communicate over network e.g., web server software communicates with browser software no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development application transport network data link physical application transport network data link physical application transport network data link physical 24

25 Application architectures possible structure of applications: client-server peer-to-peer (P2P)

Client-Server Architecture server: always-on host permanent IP address data centers for scaling client/server clients: communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other Classic Example: Web server and Web browsers 26

P2P Architecture no always-on server arbitrary end systems directly communicate peers request service from other peers, provide service in return to other peers self scalability new peers bring new service capacity, as well as new service demands peers are intermittently connected and change IP addresses complex management Examples: BitTorrent, Internet Telephony, IPTV peer-peer Q: Challenges of P2P apps? 27

Processes communicating process: program running within a host within same host, two processes communicate using inter-process communication (defined by OS) processes in different hosts communicate by exchanging messages clients, servers client process: process that initiates communication server process: process that waits to be contacted Note: applications with P2P architectures have client processes & server processes: Client downloading file Server uploading file 28

Sockets process sends/receives messages to/from its socket socket analogous to a dropbox at a door sending process shoves message into dropbox sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process application process socket application process controlled by app developer transport transport network link Internet network link controlled by OS physical physical 29

Addressing processes to receive messages, process must have identifier host device has unique 32- bit IP address Q: does IP address of host on which process runs suffice for identifying the process? A: no, many processes can be running on same host identifier includes both IP address and port numbers associated with process on host. example port numbers: HTTP server: 80 mail server: 25 to send HTTP message to gaia.cs.umass.edu web server: IP address: 128.119.245.12 port number: 80 http://www.iana.org/ 30

Application Layer protocol defines types of messages exchanged, e.g., request, response message syntax: what fields in messages & how fields are delineated message semantics meaning of information in fields rules for when and how processes send & respond to messages open protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP proprietary protocols: e.g., Skype 31

What transport service is needed? data integrity some apps (e.g., file transfer, web transactions) require 100% reliable data transfer other apps (e.g., audio) can tolerate some loss timing some apps (e.g., Internet telephony, interactive games) require low delay to be effective throughput some apps (e.g., multimedia) require minimum amount of throughput to be effective other apps ( elastic apps ) make use of whatever throughput they get security encryption, data integrity 32

Transport service requirements: common apps application data loss throughput time sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games text messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no 33

Internet transport protocols services TCP service: reliable transport between sending and receiving process flow control: sender won t overwhelm receiver congestion control: throttle sender when network overloaded does NOT provide: timing, minimum throughput guarantee, security connection-oriented: setup required between client and server processes UDP service: unreliable data transfer between sending and receiving process does NOT provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup, Q: why bother? Why is there a UDP? 34

Internet apps: application, transport protocols application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (e.g., YouTube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype) underlying transport protocol TCP TCP TCP TCP TCP or UDP TCP or UDP Q: Why some apps use TCP and UDP? 35

Securing TCP TCP & UDP no encryption cleartext passwords sent into socket traverse Internet in cleartext Secure Sockets Layer (SSL ) provides encrypted TCP connection data integrity end-point authentication SSL is at app layer Apps use SSL libraries, which talk to TCP SSL socket API cleartext passwds sent into socket traverse Internet encrypted see Chapter 7 36

References Some of the slides are identical or derived from 1. Slides for the 7 th edition of the book Kurose & Ross, Computer Networking: A Top-Down Approach, 2. Slides by Jim Kurose for his CSC453 course at Umass 3. Slides from Nick McKeown, CS144 at Stanford University NCSU CSC401 Lina Battestilli