A Whirlwind Introduction to the Internet

CS312 Spring 2009 Internet Concepts Overview
‹

What’s the Internet
» What’s a protocol? local ISP

Lecture 03 Intro to the Internet – part B
Thursday, January 22nd 2009 Christopher Boyle Department of Computer Science Old Dominion University cboyle@cs.odu.edu

‹

Network structure
» Network edge » Access networks and physical media » Network core regional ISP

‹ ‹ ‹

Performance: loss and delay Protocol layering Networks under attack!
company network

CS312 - Internet Concepts Old Dominion University

Spring 2009

1

2

Understanding the Performance of the Internet
Delay in packet-switched networks
A B
‹ ‹ transmission propagation

Understanding the Performance of the Internet
Delay in packet-switched networks
A B
transmission propagation

nodal processing

queuing

nodal processing

queuing

Packets experience variable delays along the path from source to destination Four sources of delay at each hop
» Nodal processing:
™ ™

dnodal = dproc + dqueue + dtrans + dprop
‹ Transmission

Beware: s and R are very different quantities!
‹

Check for bit errors Determine the output interface to forward packet on

» Transmission » Propagation

» Queuing:
™ ™

delay = time to “put bits onto the link” = L/R
» R = link bandwidth (bps) » L = packet length (bits)

Propagation delay = d/s
» d = length of physical link » s = signal propagation speed in medium (~2x108 m/sec)

Time spent waiting at outbound interface for transmission Duration depends on the level of congestion at the interface
3

4

Transmission & Propagation Example
Transmission on a “slow” link
Time = 0
1,000,000 bytes to send 1,544,000 bps (T-1) 193 bytes/ms 30 ms propagation latency

Transmission & Propagation Example
Transmission on a “fast” link
Time = 0
1,000,000 bytes to send 622,080,000 bps (OC-12) 77,760 bytes/ms

Time = 10 ms
998,070 bytes to send 1,930 bytes in the link

30 ms propagation latency

Time = 10 ms
222,400 bytes to send

777,600 bytes in the link

Time = 30 ms
994,210 bytes to send 5,790 bytes in the link

Tme = 30 ms
0 bytes to send

1,000,000 bytes in the link

Time = 5,181.4 ms
0 bytes to send

Bandwidth-Delay Product (BDP)
5,790 bytes in the link 994,210 bytes recv’d
5

Time = 42.86 ms
0 bytes to send

0 bytes in the link 1,000,000 bytes recv’d

Understanding the Performance of the Internet
Delay in packet-switched networks
A B
transmission propagation

Understanding the Performance of the Internet
Delay in packet-switched networks
A B
transmission propagation

nodal processing

queuing

nodal processing

queuing

Transmission delay = 120 Ps Propagation delay = 10 Ps Queuing delay = k x 120 Ps Processing delay = 100 Ps

What is k? What is k? k
‹

Typical transmission delay: 120 Ps
» 1,500 byte packet on a 100 Mbps Ethernet

‹ Typical

processing delay:

‹ ‹

What dominates end-to-end delay? Note that processing, transmission, and queuing delays are encountered at each hop
» End-to-end delay is largely a function of the number of routers encountered along the path from source to destination

» ??
‹ Typical

‹

Typical propagation delay: » 1 Ps on a small campus
» 25 ms to the West coast

queuing delay:

» ??
7

8

Questions
‹ What

Questions
‹ What

is the transmission delay for a 2000-byte packet over a 1 Mbps link? is the last bit of the packet after the transmission delay has passed? is the transmission delay for a 250,000-bit packet over a 1 Mbps link?

are the four types of delay that are (potentially) encountered at every router/hop? Which one may not be encountered? is the difference between transmission delay and propagation delay? two things affect the duration of queuing delay for a particular packet?

‹ Where

‹ What

‹ What

‹ What

9

10

Understanding the Performance of the Internet

Question
How long would it take a 5000-bit packet to travel from source to destination over the following network?

Example: What was the delay from my house?
‹ Virginia

Beach (11 mile drive from campus,.... )

2.5 Mbps / 10 ms

10 Mbps / 20 ms

5 Mbps / 10 ms

11

12

Understanding the Performance of the Internet
Example: What was the delay from a house 1 mile away?
‹A

Understanding the Performance of the Internet
Example: What was the path from the same house?

house in Larchmont (less than 1 mile from campus)
1 2 3 4 5 6 7 8 9 10 11 12 13 home54g.larcmnt.home Home cable modem router 10.11.184.1 Cox Cable default router 68.10.14.137 nrfkdsrj01-ge0705.rd.hr.cox.net Cox network - Hampton Roads 12.118.122.77 What’s this? tbr1-p010401.wswdc.ip.att.net AT&T network - Rockville, MD ar5-p3110.wswdc.ip.att.net AT&T Gateway - Sprint network - DC att-gw.dc.sprint.net sl-st22-ash-15-0.sprintlink.net Sprint network - Ashburn, VA sl-bb24-rly-8-0.sprintlink.net Sprint network - Relay, MD sl-gw21-rly-9-0.sprintlink.net sl-vwan-9-0.sprintlink.net ODU’s Sprint default router 128.82.254.198 ODU’s campus router

% ping fast.cs.odu.edu Pinging fast.cs.odu.edu [128.82.4.4] with 32 bytes of data: Reply Reply Reply Reply from from from from 128.82.4.4: 128.82.4.4: 128.82.4.4: 128.82.4.4: bytes=32 bytes=32 bytes=32 bytes=32 time=30ms time=40ms time=28ms time=32ms TTL=238 TTL=238 TTL=238 TTL=238

Ping statistics for 128.82.4.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 28ms, Maximum = 40ms, Average = 32ms

13

14

Understanding the Performance of the Internet
Example: What was the path from my house?
Cox network - Hampton Roads

Understanding the Performance of the Internet
Traceroute
‹ Traceroute

Cox - Ashburn, VA

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

ODU’s campus router

3 probes

15

16

Understanding the Performance of the Internet
Packet Loss
‹ Queue

Understanding the Performance of the Internet
Throughput
‹ throughput:

(aka buffer) preceding the link 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 all
A B
buffer (waiting area) packet being transmitted

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

packet arriving to full buffer is lost
17

link capacity server, with server sends bits pipe that can carry Rs bits/sec fluid at rate file into pipe (fluid) of F bits Rs bits/sec to send to client

link capacity pipe that can carry Rfluid at rate c bits/sec Rc bits/sec
18

Understanding the Performance of the Internet
Throughput
‹ Rs

Understanding the Performance of the Internet
Throughput: Internet Scenario
‹ Per-connection

< Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec

end-to-end
Rs Rs R Rc Rc Rc Rs

throughput:
» min(Rc,Rs,R/10)
‹ In

‹ Rs

> Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec

practice:

» Rc or Rs is often bottleneck

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

10 connections (fairly) share backbone bottleneck link R bits/sec
20

A Whirlwind Introduction to the Internet
Overview
‹

Protocol Layering in the Internet
Internet protocol layers (“stack”)
‹

What’s the Internet
» What’s a protocol? local ISP

Application layer
» Supporting network applications
™

FTP, SMTP, HTTP

‹

Network structure
» Network edge » Access networks and physical media » Network core regional ISP

‹

Transport layer
» Host-host data transfer
™

TCP, UDP

‹

Network layer
» Routing of packets from source to destination
™

‹ ‹ ‹

Performance: loss and delay Protocol layering Networks under attack!
company network

IP, routing protocols

‹

Link layer
» Data transfer between directly connected network elements
™

Ethernet, 802.11, SONET, …

‹

Physical layer
» The insertion of individual bits “on the wire”
™

Different services specified at each layer interface

Manchester encoding

21

22

Protocol Layering in the Internet
Internet protocol layers (“stack”)
‹ Each

Protocol Layering in the Internet
Airline Example
‹

layer implements a protocol with its peer layer in a distributed system
Application protocol Transport protocol Network protocol Link protocol Physical (signaling) protocol

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

ticket (purchase) tick (p has ) tic t (purch ti ket (purchase) baggage (check) baggag baggage (check) h k) gates (load) g t (lo d) gates (l ad) ( ) runway (takeoff) runway (takeoff) k off) ff airplane routing airplane routing i pl routi ting
departure airport

tick tic t (c plai ) ti ket (compl in) ticket (complain) baggag (claim baggage (claim l im baggage clai gates (unload) g t (unload) gates (unload) ) runway (land) runway (land) and) d airpla routing airplane routing airplane routing p airpla routing airplane routing airplane routing p airplane routing airpla routing airplane routing p
arrival airport

ticket baggage gate takeoff/landing airplane routing

intermediate air-traffic control centers

End system A

End system B
23 24

Protocol Layering in the Internet
Logical communication
‹ The
application application transport transport network network link link physical physical

Logical Communication Example
The transport layer
‹ Receive

implementation of each layer is distributed throughout the network
» Some layers just distributed on the end-systems

application application transport transport network network link link physical physical

network netwo network t or link link link link physical physical

‹ The

distributed components perform actions, exchange messages with peers

application application transport transport network network link link physical physical

...

application application n transport transport network network link link physical physica physical

data from application ‹ Add transportlayer protocol information ‹ Send to peer transport layer ‹ Wait for peer transport layer to respond ‹ Peer transport delivers data to its application layer

data

application application transport transport transport network network link link physical physical application application transport transport network network link link physical physical
data

network netwo network t or link link link link physical physical
ack data

...

application application transport transport network network link link physical physical

...

application application n transport transport transport network network link link physical physica physical
26

25

Protocol Layering in the Internet
Data flow through protocol layers
data

Protocol Layering in the Internet
Protocol layering and data formats
‹

At sender, each layer takes data from above
» Adds header information to create new data unit » Passes new data unit to layer below

application application transport transport network network link link physical physical application application transport transport network network link link physical physical

‹ link physical

Process reversed at receiver
Send Message M Receive Message

network netwo network t or link link link link physical physical
data

Source
application transport network link physical

Destination
application transport network link physical M Message Htrans M Segment Hnet Htrans M Datagram Hlink Hnet Htrans M Frame

Htrans M Hnet Htrans M Hlink Hnet Htrans M

application application transport transport network network link link physical physical ph

...

application application transport transport network network link link physical cal physical
27

28

Protocol Layering in the Internet
Common logical functions in most layers ‹ Error control
» Make the logical channel between layers reliable (or simply more reliable)
‹ Flow

Questions
‹ What

are the five network protocol layers? layers do end systems use? layers do routers use?

control and reassembly

» Avoid overwhelming a peer with data
‹ Segmentation

‹ Which

» Partitioning large messages into smaller ones at the sender and reassembling them at the receiver
‹ Multiplexing

‹ Which

» Allowing several higher-level sessions to share a single lower-level connection
‹ Connection

setup
29 30

» Handshaking with a peer

A Whirlwind Introduction to the Internet
Overview
‹

Networks Under Attack!
‹

What’s the Internet
» What’s a protocol? local ISP

Attacks on Internet infrastructure:
» infecting/attacking hosts: malware, spyware, worms, unauthorized access (data stealing, user accounts) » denial of service: deny access to resources (servers, link bandwidth)

‹

Network structure
» Network edge » Access networks and physical media » Network core regional ISP
‹

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!

‹ ‹ ‹

Performance: loss and delay Protocol layering Networks under attack!
company network

31

32

What Can Bad Guys Do?
Malware
‹

What Can Bad Guys Do?
Denial of service (DoS) attacks
Worm:
» infection by passively receiving object that gets itself executed » self-replicating: propagates to other hosts, users
‹

Spyware:
» infection by downloading web page with spyware » records keystrokes, web sites visited, upload info to collection site

‹

Attackers make resources (server, bandwidth) unavailable to legitimate traffic by overwhelming resource with bogus traffic Distributed DoS select target break into hosts around the network (see malware) send packets toward target from compromised hosts

‹

Virus
» infection by receiving object (e.g., e-mail attachment), actively executing » self-replicating: propagate itself to other hosts, users

Sapphire Worm: aggregate scans/sec in first 5 minutes of outbreak (CAIDA, UWisc data)

‹ 1. 2.

target

3.

33

34

What Can Bad Guys Do?
Sniff, modify, delete your packets
‹ Packet

What Can Bad Guys Do?
Masquerade as you
‹ IP

sniffing:

spoofing: send packet with false source address
A
src:B dest:A payload

» broadcast media (shared Ethernet, wireless) » promiscuous network interface reads/records all packets (e.g., including passwords!) passing by A C

C

B
src:B dest:A payload

B » Ethereal software used for end-of-chapter labs is a (free) packet-sniffer » more on modification, deletion later
35 36

What Can Bad Guys Do?
Masquerade as you
‹ IP

What Can Bad Guys Do?
Masquerade as you
‹ IP

spoofing: send packet with false source address ‹ Record-and-playback: sniff sensitive info (e.g., password), and use later
» password holder is that user from system point of view C A
src:B dest:A user: B; password: foo

spoofing: send packet with false source address ‹ Record-and-playback: sniff sensitive info (e.g., password), and use later
» password holder is that user from system point of view

later …..
A

C

src:B dest:A

user: B; password: foo

B

B

37

38

Internet History Lesson Internet History Lesson
‹ 1961-1972:

1961-1972: Early packet-switching principles
‹

Early packet-switching principles Internetworking, new and proprietary nets New protocols, a proliferation of networks

‹ 1972-1980:

‹ ‹

‹ 1980-1990:

‹

‹ 1990-2007:

commercialization, the Web, new apps

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

39

40

Internet History Lesson
1972-1980: Internetworking, new and proprietary nets
‹ ‹

Internet History Lesson
1980-1990: new protocols, a proliferation of networks
‹ ‹

‹ ‹

‹ ‹

1970: ALOHAnet satellite network in Hawaii 1974: Cerf and Kahn architecture for interconnecting networks 1976: Ethernet at Xerox PARC late 70’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

1982: SMTP e-mail protocol defined 1983: deployment of TCP/IP

‹

New national networks: Csnet, BITnet, NSFnet, Minitel 100,000 hosts connected to confederation of networks

‹

‹ ‹

1983: DNS defined for nameto-IP-address translation 1985: FTP protocol defined 1988: TCP congestion control

‹

‹

41

42

Internet History Lesson
1990, 2000’s: commercialization, the Web, new apps
‹

Internet History Lesson
2007
‹ ‹

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

~500 million hosts Voice, Video over IP P2P applications: BitTorrent (file sharing) Skype (VoIP), PPLive (video) more applications: YouTube, gaming wireless, mobility

‹

‹

‹

‹

‹

‹

43

44

A Whirlwind Introduction to the Internet
Summary
‹ Covered

a “ton” of

material

‹ You

now hopefully have:

CS312 Spring 2009 Internet Concepts

» Internet overview » What’s a protocol? » Network edge, core, access network » Performance: loss, delay ‹ Something dangerous to » Layering and service mumble at parties! models » Backbones, NAPs, ISPs » Network security » History

» Context, overview, “feel” of networking » More depth, detail later in course

Questions?

45

Old Dominion University – Chris Boyle – Computer Science Department

46

Sign up to vote on this title
UsefulNot useful