cours 2. m2-internet introduction 1-2 tier-1 isp: e.g., sprint … to/from customers peering to/from...

66
Cours 2

Upload: rayna-hollimon

Post on 30-Mar-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Cours 2

Page 2: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-2

Tier-1 ISP: e.g., Sprint

to/from customers

peering

to/from backbone

….

………

POP: point-of-presence

H. Fauconnier

Page 3: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-3

Internet structure: network of networks

“Tier-2” ISPs: smaller (often regional) ISPs Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs

Tier 1 ISP

Tier 1 ISP

Tier 1 ISP

Tier-2 ISPTier-2 ISP

Tier-2 ISP Tier-2 ISP

Tier-2 ISP

Tier-2 ISP pays tier-1 ISP for connectivity to rest of Internet tier-2 ISP is customer oftier-1 provider

Tier-2 ISPs also peer privately with each other.

H. Fauconnier

Page 4: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-4

Internet structure: network of networks

“Tier-3” ISPs and local ISPs last hop (“access”) network (closest to end systems)

Tier 1 ISP

Tier 1 ISP

Tier 1 ISP

Tier-2 ISPTier-2 ISP

Tier-2 ISP Tier-2 ISP

Tier-2 ISP

localISPlocal

ISPlocalISP

localISP

localISP Tier 3

ISP

localISP

localISP

localISP

Local and tier- 3 ISPs are customers ofhigher tier ISPsconnecting them to rest of Internet

H. Fauconnier

Page 5: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-5

Internet structure: network of networks

a packet passes through many networks!

Tier 1 ISP

Tier 1 ISP

Tier 1 ISP

Tier-2 ISPTier-2 ISP

Tier-2 ISP Tier-2 ISP

Tier-2 ISP

localISPlocal

ISPlocalISP

localISP

localISP Tier 3

ISP

localISP

localISP

localISP

H. Fauconnier

Page 6: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-6

Chapter 1: roadmap

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 and throughput in packet-switched networks

1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History

H. Fauconnier

Page 7: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-7

How do loss and delay occur?packets queue in router buffers packet arrival rate to link exceeds output link

capacity packets queue, wait for turn

A

B

packet being transmitted (delay)

packets queueing (delay)

free (available) buffers: arriving packets dropped (loss) if no free buffers

H. Fauconnier

Page 8: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-8

Four sources of packet delay

1. nodal processing: check bit errors determine output link

A

B

propagation

transmission

nodalprocessing queueing

2. queueing time waiting at output

link for transmission depends on

congestion level of router

H. Fauconnier

Page 9: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-9

Delay in packet-switched networks3. Transmission delay: R=link bandwidth

(bps) L=packet length (bits) time to send bits into

link = L/R

4. Propagation delay: d = length of physical

link s = propagation speed in

medium (~2x108 m/sec) propagation delay = d/s

A

B

propagation

transmission

nodalprocessing queueing

Note: s and R are very different quantities!

H. Fauconnier

Page 10: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-10

Caravan analogy

cars “propagate” at 100 km/hr

toll booth takes 12 sec to service car (transmission time)

car~bit; caravan ~ packet Q: How long until caravan

is lined up before 2nd toll booth?

Time to “push” entire caravan through toll booth onto highway = 12*10 = 120 sec

Time for last car to propagate from 1st to 2nd toll both: 100km/(100km/hr)= 1 hr

A: 62 minutes

toll booth

toll booth

ten-car caravan

100 km

100 km

H. Fauconnier

Page 11: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-11

Caravan analogy (more)

Cars now “propagate” at 1000 km/hr

Toll booth now takes 1 min to service a car

Q: Will cars arrive to 2nd booth before all cars serviced at 1st booth?

Yes! After 7 min, 1st car at 2nd booth and 3 cars still at 1st booth.

1st bit of packet can arrive at 2nd router before packet is fully transmitted at 1st router! See Ethernet applet at AWL

Web site

toll booth

toll booth

ten-car caravan

100 km

100 km

H. Fauconnier

Page 12: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-12

Nodal delay

dproc = processing delay typically a few microsecs or less

dqueue = queuing delay depends on congestion

dtrans = transmission delay = L/R, significant for low-speed links

dprop = propagation delay a few microsecs to hundreds of msecs

proptransqueueprocnodal ddddd

H. Fauconnier

Page 13: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-13

Queueing delay (revisited)

R=link bandwidth (bps) L=packet length (bits) a=average packet

arrival rate

traffic intensity = La/R

La/R ~ 0: average queueing delay small La/R -> 1: delays become large La/R > 1: more “work” arriving than can be serviced,

average delay infinite!

H. Fauconnier

Page 14: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-14

“Real” Internet delays and routes What do “real” Internet delay & loss look like? Traceroute program: provides delay

measurement from source to router along end-end Internet path towards destination. For all i: sends three packets that will reach router i on path

towards destination router i will return packets to sender sender times interval between transmission and reply.

3 probes

3 probes

3 probes

H. Fauconnier

Page 15: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-15

“Real” Internet delays and routes

1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms17 * * *18 * * *19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms

traceroute: gaia.cs.umass.edu to www.eurecom.fr

Three delay measurements from gaia.cs.umass.edu to cs-gw.cs.umass.edu

* means no response (probe lost, router not replying)

trans-oceaniclink

H. Fauconnier

Page 16: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-16

Packet loss

queue (aka buffer) preceding link in buffer has finite capacity

packet arriving to full queue dropped (aka lost)

lost packet may be retransmitted by previous node, by source end system, or not at allA

B

packet being transmitted

packet arriving tofull buffer is lost

buffer (waiting area)

H. Fauconnier

Page 17: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-17

Throughput

throughput: rate (bits/time unit) at which bits transferred between sender/receiver instantaneous: rate at given point in time average: rate over longer period of time

server, withfile of F bits

to send to client

link capacity

Rs bits/sec

link capacity

Rc bits/sec pipe that can carry

fluid at rate

Rs bits/sec)

pipe that can carryfluid at rate

Rc bits/sec)

server sends bits

(fluid) into pipe

H. Fauconnier

Page 18: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-18

Throughput (more)

Rs < Rc What is average end-end throughput?

Rs bits/sec Rc bits/sec

Rs > Rc What is average end-end throughput?

Rs bits/sec Rc bits/sec

link on end-end path that constrains end-end throughput

bottleneck link

H. Fauconnier

Page 19: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-19

Throughput: Internet scenario

10 connections (fairly) share backbone bottleneck link R

bits/sec

Rs

Rs

Rs

Rc

Rc

Rc

R

per-connection end-end throughput: min(Rc,Rs,R/10)

in practice: Rc or Rs is often bottleneck

H. Fauconnier

Page 20: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-20

Chapter 1: roadmap

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 and throughput in packet-switched networks

1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History

H. Fauconnier

Page 21: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-21

Protocol “Layers”Networks are

complex! many “pieces”:

hosts routers links of various

media applications protocols hardware,

software

Question: Is there any hope of organizing structure of

network?

Or at least our discussion of networks?

H. Fauconnier

Page 22: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-22

Organization of air travel

a series of steps

ticket (purchase)

baggage (check)

gates (load)

runway takeoff

airplane routing

ticket (complain)

baggage (claim)

gates (unload)

runway landing

airplane routing

airplane routing

H. Fauconnier

Page 23: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-23

ticket (purchase)

baggage (check)

gates (load)

runway (takeoff)

airplane routing

departureairport

arrivalairport

intermediate air-trafficcontrol centers

airplane routing airplane routing

ticket (complain)

baggage (claim

gates (unload)

runway (land)

airplane routing

ticket

baggage

gate

takeoff/landing

airplane routing

Layering of airline functionality

Layers: each layer implements a service via its own internal-layer actions relying on services provided by layer below

H. Fauconnier

Page 24: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-24

Why layering?

Dealing with complex systems: explicit structure allows identification,

relationship of complex system’s pieces layered reference model for discussion

modularization eases maintenance, updating of system change of implementation of layer’s service

transparent to rest of system e.g., change in gate procedure doesn’t

affect rest of system layering considered harmful?

H. Fauconnier

Page 25: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-25

Internet protocol stack application: supporting network

applications FTP, SMTP, HTTP

transport: process-process data transfer TCP, UDP

network: routing of datagrams from source to destination IP, routing protocols

link: data transfer between neighboring network elements PPP, Ethernet

physical: bits “on the wire”

application

transport

network

link

physical

H. Fauconnier

Page 26: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-26

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 needed?

application

presentation

session

transport

network

link

physical

H. Fauconnier

Page 27: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-27

source

application

transportnetwork

linkphysical

HtHn M

segment Ht

datagram

destination

application

transportnetwork

linkphysical

HtHnHl M

HtHn M

Ht M

M

networklink

physical

linkphysical

HtHnHl M

HtHn M

HtHn M

HtHnHl M

router

switch

Encapsulationmessage M

Ht M

Hn

frame

H. Fauconnier

Page 28: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-28

Chapter 1: roadmap

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 and throughput in packet-switched networks

1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History

H. Fauconnier

Page 29: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-29

Network Security The field of network security is about:

how bad guys can attack computer networks how we can defend networks against attacks 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!

H. Fauconnier

Page 30: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-30

Bad guys can put malware into hosts via Internet Malware can get in host from a virus, worm, or

trojan horse.

Spyware malware can record keystrokes, web sites visited, upload info to collection site.

Infected host can be enrolled in a botnet, used for spam and DDoS attacks.

Malware is often self-replicating: from an infected host, seeks entry into other hosts

H. Fauconnier

Page 31: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-31

Bad guys can put malware into hosts via Internet Trojan horse

Hidden part of some otherwise useful software

Today often on a Web page (Active-X, plugin)

Virus infection by receiving

object (e.g., e-mail attachment), actively executing

self-replicating: propagate itself to other hosts, users

Worm: infection by passively

receiving object that gets itself executed

self- replicating: propagates to other hosts, usersSapphire Worm: aggregate scans/sec

in first 5 minutes of outbreak (CAIDA, UWisc data)

H. Fauconnier

Page 32: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-32

Bad guys can attack servers and network infrastructure

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 (see botnet)

3. send packets toward target from compromised hosts target

H. Fauconnier

Page 33: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-33

The bad guys can sniff packetsPacket sniffing:

broadcast media (shared Ethernet, wireless) promiscuous network interface reads/records all packets

(e.g., including passwords!) passing by

A

B

C

src:B dest:A payload

Wireshark software used for end-of-chapter labs is a (free) packet-sniffer

H. Fauconnier

Page 34: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-34

The bad guys can use false source addresses IP spoofing: send packet with false source

addressA

B

C

src:B dest:A payload

H. Fauconnier

Page 35: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-35

The bad guys can record and playback

record-and-playback: sniff sensitive info (e.g., password), and use later password holder is that user from system point of

view

A

B

C

src:B dest:A user: B; password: foo

H. Fauconnier

Page 36: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-36

Chapter 1: roadmap

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 and throughput in packet-switched networks

1.5 Protocol layers, service models1.6 Networks under attack: security1.7 History

H. Fauconnier

Page 37: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-37

Internet History

1961: Kleinrock - queueing theory shows effectiveness of packet-switching

1964: Baran - packet-switching in military nets

1967: ARPAnet conceived by Advanced Research Projects Agency

1969: first ARPAnet node operational

1972: ARPAnet public

demonstration NCP (Network Control

Protocol) first host-host protocol

first e-mail program ARPAnet has 15 nodes

1961-1972: Early packet-switching principles

H. Fauconnier

Page 38: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-38

Internet History

1970: ALOHAnet satellite network in Hawaii

1974: Cerf and Kahn - architecture for interconnecting networks

1976: Ethernet at Xerox PARC

ate70’s: proprietary architectures: DECnet, SNA, XNA

late 70’s: switching fixed length packets (ATM precursor)

1979: ARPAnet has 200 nodes

Cerf and Kahn’s internetworking principles: minimalism, autonomy -

no internal changes required to interconnect networks

best effort service model stateless routers decentralized control

define today’s Internet architecture

1972-1980: Internetworking, new and proprietary nets

H. Fauconnier

Page 39: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-39

Internet History

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

1980-1990: new protocols, a proliferation of networks

H. Fauconnier

Page 40: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-40

Internet History

Early 1990’s: ARPAnet decommissioned

1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995)

early 1990s: 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

est. 50 million host, 100 million+ users

backbone links running at Gbps

1990, 2000’s: commercialization, the Web, new apps

H. Fauconnier

Page 41: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

M2-Internet Introduction 1-41

Internet History

2007: ~500 million hosts Voice, Video over IP P2P applications: BitTorrent

(file sharing) Skype (VoIP), PPLive (video)

more applications: YouTube, gaming

wireless, mobility

H. Fauconnier

Page 42: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Les standard internet

Internet Engineering Task Force (IETF) (ouvert) W3C (industriels fermé) RFC IETF:

Experimental Proposed standard Draft standard Standard Informational Historic

Niveau de recommandation Not recommended Limited use Elective Recommended required

H. Fauconnier M2-Internet Introduction 42

Page 43: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Internet 2010

Introduction 1-43

Page 44: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Internet 2010

Introduction 1-44

Page 45: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Facebook

Introduction 1-45

Page 46: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Chapitre II

M2Internet et java

H. Fauconnier 1-46

M2-Internet Java

Page 47: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Sommaire

Rappels java Entrées-sorties Thread

Rappels tcp-udp Socket tcp et SocketServer Socket udp compléments

H. Fauconnier M2-Internet Java 47

Page 48: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Entrées-sorties java

Streams Output streams Input streams Filter streams Readers et writer

(non blocking I/O)

H. Fauconnier M2-Internet Java 48

Page 49: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

OuputStream

public abstract class OutputStream public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException Public void write(byte[] data, int offset, int length)

throws IOException public void flush( ) throws IOException public void close( ) throws IOException

H. Fauconnier M2-Internet Java 49

Page 50: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

InputStream

public abstract class InputStream

public abstract int read( ) throws IOException public int read(byte[] input) throws IOException public int read(byte[] input, int offset, int length) throws

IOException public long skip(long n) throws IOException public int available( ) throws IOException public void close( ) throws IOException public void mark(int readAheadLimit) public void reset( ) throws IOException public boolean markSupported( )

H. Fauconnier M2-Internet Java 50

Page 51: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Lecture:

int bytesRead=0;int bytesToRead=1024;byte[] input = new byte[bytesToRead];while (bytesRead < bytesToRead) { int result = in.read(input, bytesRead,

bytesToRead - bytesRead); if (result == -1) break; bytesRead += result;}

H. Fauconnier M2-Internet Java 51

Page 52: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Filtres

Chainage des filtres:DataOutputStream dout = new

DataOutputStream(new BufferedOutputStream(new FileOutputStream ("data.txt")));

H. Fauconnier M2-Internet Java 52

Page 53: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Filtres

Streams avec buffer BufferedInputStream BufferedOutputStream

PrintStream (System.out) PushbackInputStream Streams de données (lire et écrire des données java en

binaire) le codage est celui de java DataInputStream DataOutputStream

Streams avec compression Streams avec digest Streams cryptées

H. Fauconnier M2-Internet Java 53

Page 54: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Attention

Une méthode comme println est dépendante de la plate-forme: Le séparateur de ligne est soit \n, soit \r,

soit \r\n Le codage par défaut des caractères dépend

de la plate-forme PrintStream capte les exceptions

H. Fauconnier M2-Internet Java 54

Page 55: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Compression

public class DeflaterOutputStream extends FilterOutputStreampublic class InflaterInputStream extends FilterInputStreampublic class GZIPOutputStream extends DeflaterOutputStreampublic class GZIPInputStream extends InflaterInputStreampublic class ZipOutputStream extends DeflaterOutputStreampublic class ZipInputStream extends InflaterInputStream

H. Fauconnier M2-Internet Java 55

Page 56: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

décompresser une archive:

FileInputStream fin = new FileInputStream("shareware.zip");ZipInputStream zin = new ZipInputStream(fin);ZipEntry ze = null;int b = 0;while ((ze = zin.getNextEntry( )) != null) { FileOutputStream fout = new FileOutputStream(ze.getName( )); while ((b = zin.read( )) != -1) fout.write(b); zin.closeEntry( ); fout.flush( ); fout.close( );}zin.close( );

H. Fauconnier M2-Internet Java 56

Page 57: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Décompresser un fichier

FileInputStream fin = new FileInputStream("allnames.gz");

GZIPInputStream gzin = new GZIPInputStream(fin);FileOutputStream fout = new

FileOutputStream("allnames");int b = 0;while ((b = gzin.read( )) != -1) fout.write(b);gzin.close( );out.flush( );out.close( );

H. Fauconnier M2-Internet Java 57

Page 58: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

digest

public class DigestOutputStream extends FilterOutputStream

public class DigestInputStream extends FilterInputStream

H. Fauconnier M2-Internet Java 58

Page 59: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Digest exemple:

MessageDigest sha = MessageDigest.getInstance("SHA");DigestOutputStream dout = new DigestOutputStream(out, sha);byte[] buffer = new byte[128];while (true) { int bytesRead = in.read(buffer); if (bytesRead < 0) break; dout.write(buffer, 0, bytesRead);}dout.flush( );dout.close( );byte[] result = dout.getMessageDigest( ).digest( );

H. Fauconnier M2-Internet Java 59

Page 60: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Cryptage décryptage

public CipherInputStream(InputStream in, Cipher c)

public CipherOutputStream(OutputStream out, Cipher c)

Exemplebyte[] desKeyData =    "Monmotdepasse".getBytes( );DESKeySpec desKeySpec = new DESKeySpec(desKeyData);SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");SecretKey desKey = keyFactory.generateSecret(desKeySpec);Cipher des = Cipher.getInstance("DES");des.init(Cipher.DECRYPT_MODE, desKey);CipherInputStream cin = new CipherInputStream(fin, des);

H. Fauconnier M2-Internet Java 60

Page 61: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Exemple

String infile = "secrets.txt";

String outfile = "secrets.des";String password = "Un mot de passe"; try { FileInputStream fin = new FileInputStream(infile); FileOutputStream fout = new FileOutputStream(outfile); // register the provider that implements the algorithm Provider sunJce = new com.sun.crypto.provider.SunJCE( ); Security.addProvider(sunJce); char[] pbeKeyData = password.toCharArray( ); PBEKeySpec pbeKeySpec = new PBEKeySpec(pbeKeyData); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithMD5AndDES"); SecretKey pbeKey = keyFactory.generateSecret(pbeKeySpec);

H. Fauconnier M2-Internet Java 61

Page 62: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Exemple suite

// use Data Encryption Standard Cipher pbe = Cipher.getInstance("PBEWithMD5AndDES"); pbe.init(Cipher.ENCRYPT_MODE, pbeKey); CipherOutputStream cout = new CipherOutputStream(fout, pbe); byte[] input = new byte[64]; while (true) { int bytesRead = fin.read(input); if (bytesRead == -1) break; cout.write(input, 0, bytesRead); } cout.flush( ); cout.close( ); fin.close( );}catch (Exception ex) { System.err.println(ex);}

H. Fauconnier M2-Internet Java 62

Page 63: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Readers et Writers

Hiérarchie de classe pour les caractères (avec encodage) au lieu d’octets.

Writer et Reader classes abstraites OutputStreamWriter InputStreamReader Filtres

• BufferedReader, BufferedWriter• LineNumberReader• PushbackReader• PrintReader

H. Fauconnier M2-Internet Java 63

Page 64: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Reader et Writer

OutputStreamWriter reçoit des caractères, les convertit en octets suivant un certain codage

public OutputStreamWriter(OutputStream out, String encoding) throws UnsupportedEncodingException

public OutputStreamWriter(OutputStream out)

Exemple: OutputStreamWriter w = new

OutputStreamWriter( new FileOutputStream("russe.txt",

"Cp1251"));

H. Fauconnier M2-Internet Java 64

Page 65: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Reader et Writer

InputStreamReader lit des octets et les convertit suivant un certain codage public InputStreamReader(InputStream in) public InputStreamReader(InputStream in, String encoding)

throws UnsupportedEncodingException public static String getMacCyrillicString(InputStream in) throws IOException { InputStreamReader r = new InputStreamReader(in, "MacCyrillic"); StringBuffer sb = new StringBuffer( ); int c; while ((c = r.read( )) != -1) sb.append((char) c); r.close( ); return sb.toString( ); }

H. Fauconnier M2-Internet Java 65

Page 66: Cours 2. M2-Internet Introduction 1-2 Tier-1 ISP: e.g., Sprint … to/from customers peering to/from backbone …. … … … POP: point-of-presence H. Fauconnier

Filtres

BufferedReader BufferedWriter LineNumberReader PushbackReader PrintWriter

H. Fauconnier M2-Internet Java 66