COM320 Computer Networks and Operating Systems Kevin Curran.

70
COM320 Computer Networks and Operating Systems Kevin Curran

Transcript of COM320 Computer Networks and Operating Systems Kevin Curran.

COM320 Computer Networks and Operating Systems

Kevin Curran

Before we start…

Main Books:

Tanenbaum, A. (2010) Computer Networks (5th edition), Prentice Hall, ISBN: 978-0132126953

Stallings, W. (2008) Operating Systems, internals and design principles. Upper Saddle River, New Jersey: Pearson/Prentice Hall (6th ed.).

Before we start…

2 important Links…… if you missed class, please ask a colleague…..

Labs & Notes

• Main Page - http://scisweb.ulster.ac.uk/~kevin/com320/index.htm

• Notes - http://scisweb.ulster.ac.uk/~kevin/com320/notes.htm

• Labs - http://scisweb.ulster.ac.uk/~kevin/com320/labs.htm

• Assignments – 2 class tests

• Attendance & what not to do when absent

• Structure of Labs

IntroductionChapter 1

• Uses of Computer Networks• Network Hardware• Network Software• Reference Models• Example Networks• Network Standardization• Metric Units

Uses of Computer Networks

Computer networks are collections of autonomous computers, e.g., the Internet

They have many uses:• Business Applications »• Home Applications »• Mobile Users »

These uses raise:• Social Issues »

This text covers networks for all of these uses

request

response

Business Applications

Companies use networks and computers for resource sharing with the client-server model:

Other popular uses are communication, e.g., email, VoIP, and e-commerce

Home Applications

Homes contain many networked devices, e.g., computers, TVs, connected to the Internet by cable, DSL, wireless, etc.

Home users communicate, e.g., social networks, consume content, e.g., video, and transact, e.g., auctions

Some application use the peer-to-peer model in which there are no fixed clients and servers:

Mobile Users

Tablets, laptops, and smart phones are popular devices; WiFi hotspots and 3G cellular provide wireless connectivity.

Mobile users communicate, e.g., voice and texts, consume content, e.g., video and Web, and use sensors, e.g., GPS.

Wireless and mobile are related but different:

Social Issues

• Network neutrality – no network restrictions• Content ownership, e.g., DMCA takedowns• Anonymity and censorship • Privacy, e.g., Web tracking and profiling• Theft, e.g., botnets and phishing

Network Neutrality

Some network operators block content for their own reasons.

Opponents of this practice argue that peer-to-peer and other content should be treated in the same way because they are all just bits to the network.

This argument for communications that are not differentiated by their content or source or who is providing the content is known as Network Neutrality

Network Hardware

Networks can be classified by their scale:

Scale Type

Vicinity PAN (Personal Area Network) »

Building LAN (Local Area Network) »

City MAN (Metropolitan Area Network) »

Country WAN (Wide Area Network) »

Planet The Internet (network of all networks)

Personal Area Network

Connect devices over the range of a person

Example of a Bluetooth (wireless) PAN:

Local Area Networks

Connect devices in a home or office building

Called enterprise network in a company

Most use Copper Wiring but some use Optical

Wireless LAN with 802.11

Wired LAN withswitched Ethernet

Metropolitan Area Networks

Connect devices over a metropolitan area

Example MAN based on cable TV:

Connect devices over a country

Example WAN connecting three branch offices:

Wide Area Networks (1)

Wide Area Networks (2)

An ISP (Internet Service Provider) network is also a WAN.

Customers buy connectivity from the ISP to use it.

Wide Area Networks (3)

A VPN (Virtual Private Network) is a WAN built from virtual links that run on top of the Internet.

Network Software

• Protocol layers »• Design issues for the layers »• Connection-oriented vs. connectionless service »• Service primitives »• Relationship of services to protocols »

Protocol Layers (1)

Protocol layering is the main structuring method used to divide up network functionality.

• Each protocol instance talks virtually to its peer

• Each layer communicates only by using the one below

• Lower layer services are accessed by an interface

• At bottom, messages are carried by the medium

Protocol Layers (2)

Example: the philosopher-translator-secretary architecture

Each protocol at different layers serves a different purpose

Protocol Layers (3)

Each lower layer adds its own header (with control inform-ation) to the message to transmit and removes it on receive

Layers may also split and join messages, etc.

Design Issues for the Layers

Each layer solves a particular problem but must include mechanisms to address a set of recurring design issues

Issue Example mechanisms at different layers

Reliability despite failures

Codes for error detection/correction (§3.2, 3.3)Routing around failures (§5.2)

Network growth and evolution

Addressing (§5.6) and naming (§7.1)Protocol layering (§1.3)

Allocation of resources like bandwidth

Multiple access (§4.2)Congestion control (§5.3, 6.3)

Security against various threats

Confidentiality of messages (§8.2, 8.6)Authentication of communicating parties (§8.7)

Connection-Oriented vs. Connectionless

Service provided by a layer may be kinds of either:• Connection-oriented, must be set up for ongoing use

(and torn down after use), e.g., phone call• Connectionless, messages are handled separately,

e.g., postal delivery

Statistical TDM

Multiplexing

Many network designs share network bandwidth dynamically, according to the short-term needs of hosts, rather than by giving each host a fixed fraction of the band-width that it may or may not use.

This design is called statistical multiplexing.

SwitchingStore & Forward Switching - Used on a packet network, when the intermediate nodes receive a message in full before sending it on to the next node,

Cut-through switching is a method for packet switching systems, wherein the switch starts forwarding a frame (or packet) before the whole frame has been received, normally as soon as the destination address is processed.

Compared to store and forward, this technique reduces latency through the switch, but decreases reliability; corrupted frames are potentially forwarded.

Adaptive Switching dynamically selects between cut-through and store and forward behaviors based on current network conditions.

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

Four sources of packet delay

dproc: nodal processing

check bit errors

determine output link

typically < msec

A

B

propagation

transmission

nodalprocessing queueing

dqueue: queueing delay

time waiting at output link for transmission

depends on congestion level of router

dnodal = dproc + dqueue + dtrans + dprop

Four sources of packet delay

A

B

propagation

transmission

nodalprocessing queueing

dnodal = dproc + dqueue + dtrans + dprop

dtrans: transmission delay:

L: packet length (bits) R: link bandwidth (bps) dtrans = L/R

dprop: propagation delay:

d: length of physical link s: propagation speed in

medium (~2x108 m/sec) dprop = d/sdtrans and dprop

very different

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

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?

A: Yes! After 7 min, 1st car arrives at second booth; three 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

Service Primitives (1)

A service is provided to the layer above as primitives

Hypothetical example of service primitives that may provide a reliable byte stream (connection-oriented) service:

Service Primitives (2)

Hypothetical example of how these primitives may be used for a client-server interaction

Client Server

LISTEN (0)

ACCEPT RECEIVE

SEND (4)

DISCONNECT (6)

CONNECT (1)

SENDRECEIVE

DISCONNECT (5)

Connect request

Accept response

Request for data

Reply

Disconnect

Disconnect

(2)

(3)

Relationship of Services to Protocols

Recap:• A layer provides a service to the one above

[vertical]• A layer talks to its peer using a protocol

[horizontal]

Relationship of Services to Protocols

Services and protocols are distinct concepts. A service is a set of primitives (operations)that a layer provides to the layer above it.

The service defines what operations the layer is prepared to perform on behalf of its users, but it says nothing at all about how these operations are implemented.

Reference Models

Reference models describe the layers in a network architecture

• OSI reference model »• TCP/IP reference model »• Model used for this text »• Critique of OSI and TCP/IP »

OSI Reference Model

A principled, international standard, seven layer model to connect different systems

– Provides functions needed by users

– Converts different representations

– Manages task dialogs

– Provides end-to-end delivery

– Sends packets over multiple links

– Sends frames of information

– Sends bits as signals

TCP/IP Reference Model

A four layer model derived from experimentation; omits some OSI layers and uses the IP as the network layer.

IP is the “narrow waist” of the Internet

Protocols are shown in their respective layers

Model Used in this Book

It is based on the TCP/IP model but we call out the physical layer and look beyond Internet protocols.

Critique of OSI & TCP/IP

OSI:+ Very influential model with clear concepts− Models, protocols and adoption all bogged down by politics

and complexity

TCP/IP:+ Very successful protocols that worked well and thrived− Weak model derived after the fact from protocols

Model Used in this Book

It is based on the TCP/IP model but we call out the physical layer and look beyond Internet protocols.

Example Networks

• The Internet »• 3G mobile phone networks »• Wireless LANs »• RFID and sensor networks »

Internet (1)

Before the Internet was the ARPANET, a decentralized, packet-switched network based on Baran’s ideas.

ARPANET topology in Sept 1972.

Nodes are IMPs, or early routers, linked to hosts

56 kbps links

Internet (2)

The early Internet used NSFNET (1985-1995) as its backbone; universities connected to get on the Internet

NSFNET topology in 1988

T1 links (1.5 Mbps)

Internet (3)

The modern Internet is more complex:• ISP networks serve as the Internet backbone• ISPs connect or peer to exchange traffic at IXPs• Within each network routers switch packets• Between networks, traffic exchange is set by

business agreements• Customers connect at the edge by many means

− Cable, DSL, Fiber-to-the-Home, 3G/4G wireless, dialup

• Data centers concentrate many servers (“the cloud”)• Most traffic is content from data centers (esp. video)• The architecture continues to evolve

Internet (4)

Architecture of the Internet

Internet (5)Internet Service Provider (ISP) networks may be regional, national, or international in scope.

If a packet is destined for a host served directly by the ISP, that packet is routed over the backbone and delivered to the host.

Otherwise, it must be handed over to another ISP. ISPs connect their networks to exchange traffic at IXPs(Internet eXchange Points).

3G Mobile Phone Networks (1)

3G network is based on spatial cells; each cell provides wireless service to mobiles within it via a base station

3G Mobile Phone Networks (2)

Base stations connect to the core network to find other mobiles and send data to the phone network and Internet

3G Mobile Phone Networks (3)

As mobiles move, base stations hand them off from one cell to the next, and the network tracks their location

Handover

Wireless LANs (1)

In 802.11, clients communicate via an AP (Access Point) that is wired to the rest of the network.

Wireless LANs (2)

Signals in the 2.4GHz ISM band vary in strength due to many effects, such as multipath fading due to reflections

− requires complex transmission schemes, e.g., OFDM

Wireless LANs (3)

Radio broadcasts interfere with each other, and radio ranges may incompletely overlap

− CSMA (Carrier Sense Multiple Access) designs are used

RFID and Sensor Networks (1)

Passive UHF RFID networks everyday objects:− Tags (stickers with not even a battery) are placed on objects− Readers send signals that the tags reflect to communicate

RFID and Sensor Networks (2)

Sensor networks spread small devices over an area:− Devices send sensed data to collector via wireless hops

Peer to PeerA peer-to-peer (abbreviated to P2P) computer network is one in which each computer in the network can act as a client or server for the other computers in the network, allowing shared access to various resources such as files, peripherals, and sensors without the need for a central server.

P2P networks can be set up within the home, a business, or over the Internet. Each network type requires all computers in the network to use the same or a compatible program.

P2P networks can be used for sharing content such as audio, video, data, or anything in digital format.

Many peer-to-peer systems, such as BitTorrent, do not have any central database of content. Instead, each user maintains his own database locally and provides a list of other nearby people who are members of the system.

Peer to PeerP2P is a distributed application architecture that partitions tasks or workloads among peers.

Peers are equally privileged participants in the application. Each computer in the network is referred to as a node.

The owner of each computer on a P2P network would set aside a portion of its resources—such as processing power, disk storage, or network bandwidth—to be made directly available to other network participant, without the need for central coordination by servers or stable hosts.

With this model, peers are both suppliers and consumers of resources and also it can supplement the user detection and recovery and improve quality assurance activity of the product., in contrast to the traditional client–server model where only the server supply (send), and clients consume (receive).

Network Standardization

Standards define what is needed for interoperability

Some of the many standards bodies:

Body Area Examples

ITU Telecommunications G.992, ADSLH.264, MPEG4

IEEE Communications 802.3, Ethernet802.11, WiFi

IETF Internet RFC 2616, HTTP/1.1RFC 1034/1035, DNS

W3C Web HTML5 standardCSS standard

Security

Where do we start?

e.g. Phising

Phising Messages masquerade as originating from a trustworthy party, for example, your bank, to try to trick you into revealing sensitive information, for example, credit card numbers.

…..Hacking tools, DDoS, Passwords, Hashing, PGP, Encryption, Cryptography….all covered later

Network Security

field of network security: 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!

Bad guys: 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 botnet, used for spam and DDoS attacks.

malware often self-replicating: from one infected host, seeks entry into other hosts

Trojan horse• hidden part of some

otherwise useful software

• today often in 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, users

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

Bad guys: put malware into hosts via Internet

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 to target from compromised hosts

target

Bad guys: attack server, network infrastructure

The 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

B

C

src:B dest:A payload

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

The bad guys can use false source addresses

IP spoofing: send packet with false source address

A

B

C

src:B dest:A payload

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

… lots more on security later in course

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

Metric Units

The main prefixes we use:

• Use powers of 10 for rates, powers of 2 for storage− E.g., 1 Mbps = 1,000,000 bps, 1 KB = 1024 bytes

• “B” is for bytes, “b” is for bits

Prefix Exp. prefix exp.

K(ilo) 103 m(illi) 10-3

M(ega) 106 μ(micro) 10-6

G(iga) 109 n(ano) 10-9

Undersea Cables

Today’s Lab

Protocol Layers - Wireshark Network Packet Sniffing Word versionCommand Line Tools - Ping, IPconfig, NSlookup and more.

Week 1 Supplementary TutorialsWeb Page Load Test - Run a diagnostic on www.ulster.ac.uk to see resource loading waterfall charts, Page Speed optimization checks and suggestions for improvements.Web Page Load Comparison - Compare 2 sites such as www.ulster.ac.uk and www.qub.ac.uk to see how optimised they are.Mobile Web Page Load Test - Choose one of the device/location options and hit run. Your page will be loaded on a real mobile device, and you will receive rich detail about how long it took to load, including waterfall charts and video recording of the page load.

Week 1 Online TutorialsOSI Layer Names - Arrange the OSI LayersOSI Layer Activity - Arrange the OSI Layers by functionLayers video - Short tutorial on network layer communication

End

Chapter 1