45
Operating Systems: A Modern Perspective, Chapter 15 Slide 15-1 Copyright © 2004 Pearson Education, Inc.

Networks

Embed Size (px)

DESCRIPTION

Networks. 15. Connecting Computers Using the Telephone Network. Local Computer. Remote Computer. CPU. CPU. Memory. Serial Port. Serial Port. Memory. Modem. Modem. Switched Telephone Network. Data Networks. CPU. CPU. Memory. Network Device. Network Device. Memory. - PowerPoint PPT Presentation

Citation preview

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-1

Copyright © 2004 Pearson Education, Inc.

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-2

Copyright © 2004 Pearson Education, Inc.

15Networks

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-3

Copyright © 2004 Pearson Education, Inc.

Connecting Computers Using the Telephone Network

SerialPort

SerialPortMemoryMemory

CPUCPU

SerialPort

SerialPort MemoryMemory

CPUCPU

Switched Telephone NetworkSwitched Telephone Network

Modem Modem

Local Computer Remote Computer

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-4

Copyright © 2004 Pearson Education, Inc.

Data Networks

NetworkDevice

NetworkDeviceMemoryMemory

CPUCPU

NetworkDevice

NetworkDevice MemoryMemory

CPUCPU

Specialized Data NetworkSpecialized Data Network

•WANs, MANs, and LANs•Specialized communication protocols•Multidrop•Packet oriented•Looks like other devices… make it look like a file ...

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-5

Copyright © 2004 Pearson Education, Inc.

Multidrop Network

S

RR

S

Network

• Multiple senders• Can address multiple receivers

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-6

Copyright © 2004 Pearson Education, Inc.

Packet Network

S

RR

S

Circuit Based

Telephone

R

S S

RPacket Based

Data

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-7

Copyright © 2004 Pearson Education, Inc.

Multidrop Packet Network

• To transmit/receive:– Sender marshals data into a packet– Network interface hardware transforms data for

physical transmission– Network deliver packets to variable destination– Receiver converts physical signal back into a

data packet– Receiver unmarshals packet into data

• Need a widely-agreed upon set of protocols

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-8

Copyright © 2004 Pearson Education, Inc.

Protocol Tasks• Control information delivery rates

• Pass data across networks

• Provide fast/reliable IPC-like communication

• Support logical byte streams

• Create other models for communication– File transfer– Procedure call paradigm– Shared memory paradigm

• Translate machine-dependent data representations

• … and more …

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-9

Copyright © 2004 Pearson Education, Inc.

Standardizing Protocols

• ANSI X.25

• ARPAnet

• ISO Open Systems Interconnect (OSI) model– Now widely used as a reference architecture– 7-layer model– Provides framework for specific protocols (such

as IP, TCP, FTP, RPC, RSVP, …)

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-10

Copyright © 2004 Pearson Education, Inc.

ISO OSI Model

ApplicationPresentation

SessionTransportNetwork

Data LinkPhysical

ApplicationPresentation

SessionTransportNetwork

Data LinkPhysical

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-11

Copyright © 2004 Pearson Education, Inc.

ISO OSI Model

Data LinkPhysical

Data LinkPhysical

•Physical/Data Link layer networks: Ethernet, Wireless, ATM•Often called the “media access control” (MAC) layer

Examples

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-12

Copyright © 2004 Pearson Education, Inc.

Low Level Protocols

• Physical layer: Signaling technology

• Data link layer: Frame management

• All done in hardware

• Examples– Ethernet– Token ring– X.25– ATM

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-13

Copyright © 2004 Pearson Education, Inc.

Ethernet (CSMA/CD)

• Asynchronous• Carrier Sense• Multiple Access• Collision Detection• Backoff

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-14

Copyright © 2004 Pearson Education, Inc.

Wireless

Backbone

•IEEE 802.11 (“WiFi”)•IEEE 802.15 (“Bluetooth”)

Ad hoc networks

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-15

Copyright © 2004 Pearson Education, Inc.

Stop-and-wait Flow Control

Sender transmits a frame;Sender sets a time-out on the transmission;Sender waits for an ACKnowledgment;...if (Sender receives ACKnowledgment) continue;if (frame times-out) Retransmit timed-out frame;(a) Transmitter Receiver accepts the frame; Receiver transmit the ACKnowledgment;(b) Receiver

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-16

Copyright © 2004 Pearson Education, Inc.

ISO OSI Model

NetworkData LinkPhysical

NetworkData LinkPhysical

•Physical/Data Link layer networks: Ethernet, Token Ring, ATM•Network layer net: The Internet

Examples

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-17

Copyright © 2004 Pearson Education, Inc.

Network Layer

• Primary purpose is to combine networks

• Internet protocol (IP) is dominant protocol

• Creates an internet address space

• Implements packet routing across networks

Host XHost X

Host RHost R Host SHost S Host YHost Y

Network B Network CNetwork A

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-18

Copyright © 2004 Pearson Education, Inc.

Addressing & Routing

Host XHost X

Host RHost R Host YHost Y

Network CNetwork A

3b4e87

3b4e62 3b4e55 3b621a

3b6209

•Host X does not know how to send to Host Y•Can send a frame to Host R for forwarding•What should it tell Host R?

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-19

Copyright © 2004 Pearson Education, Inc.

Addressing & Routing

Host XHost X

Host RHost R Host YHost Y

Network CNetwork A

•Host X does not know how to send to Host Y•Can send a frame to Host R for forwarding•What should it tell Host R?•Internet address spans all machines

3b4e87

3b4e62 3b4e55 3b621a

3b6209

128.123.234.033

128.123.234.188 128.229.244.006

128.229.244.109

128.123.234.063

To: 128.229.244.006From: 128.123.234.033Network Layer data

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-20

Copyright © 2004 Pearson Education, Inc.

Addressing & Routing

Host XHost X

Host RHost R Host YHost Y

Network CNetwork A

•Host X does not know how to send to Host Y•Can send a frame to Host R for forwarding •What should it tell Host R?•Internet address spans all machines•Send encapsulated packet to Host R with Host Y

3b4e87

3b4e62 3b4e55 3b621a

3b6209

128.123.234.033

128.123.234.188 128.229.244.006

128.229.244.109

128.123.234.063

To: 3b4e55From: 3b4e87

To: 128.229.244.006From: 128.123.234.033Network Layer data

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-21

Copyright © 2004 Pearson Education, Inc.

Addressing & Routing

Host XHost X

Host RHost R Host YHost Y

Network CNetwork A

•Host X does not know how to send to Host Y•Can send a frame to Host R for forwarding •What should it tell Host R?•Internet address spans all machines•Send encapsulated packet to Host R with Host Y

3b4e87

3b4e62 3b4e55 3b621a

3b6209

128.123.234.033

128.123.234.188 128.229.244.006

128.229.244.109

128.123.234.063

Host SHost S

Network B

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-22

Copyright © 2004 Pearson Education, Inc.

Addressing & Routing

Host XHost X

Host RHost R Host YHost Y

Network CNetwork A

•Host X does not know how to send to Host Y•Can send a frame to Host R for forwarding•What should it tell Host R?•Internet address spans all machines•Send encapsulated packet to Host R with Host Y•Data Link frame is received by Host Y

3b4e87

3b4e62 3b4e55 3b621a

3b6209

128.123.234.033

128.123.234.188 128.229.244.006

128.229.244.109

128.123.234.063

To: 3b621aFrom: ...

To: 128.229.244.006From: 128.123.234.033Network Layer data

Network B

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-23

Copyright © 2004 Pearson Education, Inc.

More on the Network Layer

• Implements internet addressing & routing

• ARPAnet IP protocol is dominant – the foundation for the Internet

• Intermediate hosts are called gateways– Connected to two or more networks– Runs IP routing software– Read pages 496-501

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-24

Copyright © 2004 Pearson Education, Inc.

Using Data Link and Network Layer Addresses

NetworkLayer

Data LinkLayer

0x80C31A80837E

128.123.234.012

Dat

a L

ink

Lay

er F

ram

e

Net

wor

k L

ayer

Pac

ket

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-25

Copyright © 2004 Pearson Education, Inc.

ISO OSI Model

TransportNetwork

Data LinkPhysical

TransportNetwork

Data LinkPhysical

•Physical/Data Link layer networks: Ethernet, Token Ring, ATM•Network layer net: The Internet•Transport layer net: TCP-based network

Examples

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-26

Copyright © 2004 Pearson Education, Inc.

Transport Layer• Provides yet another address extension

– IP references only networks and hosts– Transport layer adds ports -- logical endpoints– Address form is <net, host, port>

• Two primary protocols (both from ARPAnet)– User Datagram Protocol (UDP)

• User-space interface to IP packets

• No guarantee that packet will be delivered

– Transmission Control Protocol (TCP)• Provides a stream-oriented interface to the network

• Reliable delivery

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-27

Copyright © 2004 Pearson Education, Inc.

ISO OSI & TCP/IP

MACMAC

ISO OSI NetworkISO OSI Network

ISO OSI TLIISO OSI TLI

ISO OSI SessionISO OSI Session

ISO OSI packet

ISO OSI frame

EthernetEthernet

ARPAnet IPARPAnet IP

ARPAnet TCPARPAnet TCP

ISO OSI SessionISO OSI Session

ISO OSI packet

IP frame

Ethernet packet

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-28

Copyright © 2004 Pearson Education, Inc.

Domain Name Server (DNS)

• IP uses 32-bit addresses– 128.138.241.1– “anchor.cs.colorado.edu”

• DNS: anchor.cs.colorado.edu128.138.241.1• Huge table

– Distributed/managed according to domain– .edu, .com, .net, .gov, … .us, .ca, are domains– .colorado is a sub domain managed by CU– .cs is a sub domain managed by Computer Sci– anchor is a computer in .cs (in .colorado, in .edu)– anchor is on net 128.138.241, and is host number 1

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-29

Copyright © 2004 Pearson Education, Inc.

DNS

First-Level Domain

.edu

.colorado

.cs

anchor

pawneeneon

.edu Domain

.colorado Domain

.cs Domain

• Supports TCP• Uses UDP

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-30

Copyright © 2004 Pearson Education, Inc.

The DNS Protocol Stack

EthernetEthernet

ARPAnet IPARPAnet IP

ARPAnet UDPARPAnet UDP

DNS ResolverDNS Resolver

UDP packet

IP frame

Ethernet packet

UDP packet

MACMAC

ISO OSI NetworkISO OSI Network

ISO OSI TLIISO OSI TLI

ISO OSI SessionISO OSI Session

ISO OSI packet

ISO OSI frame

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-31

Copyright © 2004 Pearson Education, Inc.

Communication Ports• Global name for a “mailbox”

• Will be many ports at one <net, host>

Transport Layer

Network Layer

Low Layers

P P P P

ports

0 1 2 n

port numbers

mumble.cs.colorado.edu

Host: 34Net: 128.138.34

DN

S r

esol

ve

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-32

Copyright © 2004 Pearson Education, Inc.

Communication Ports• Global name for a “mailbox”

• Will be many ports at one <net, host>

• Each port can be bound to an address

P P P P

Transport Layer

Network Layer

Low LayersHost: 34On Net 128.138.34

128.138.249.34

<128.138.249, 34, 1>

0 1 2 n

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-33

Copyright © 2004 Pearson Education, Inc.

Sharing Names

(5623, 56, 2046)(3456, 77, 6785)

(9876, 88, 3434)(31978, 12, 1234)

Port 1234

Process A on Host #12 on Net #31978

Bind

The OS on Host #12 on Net #31978

send(…,(31978, 12, 1234), …);

Process BProcess A

Transport Layer Global Address Space

0x001a4772

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-34

Copyright © 2004 Pearson Education, Inc.

BSD Sockets

• Sockets are comm ports in UNIX, Windows, etc.• Semantics resemble pipes (files)• Bidirectional

int socket(int addressFamily, int socketType, int protocolNo)

ss = socket(…)

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-35

Copyright © 2004 Pearson Education, Inc.

BSD Sockets (cont)• Once a socket has been created, it can be

bound to an internet port

P

s

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-36

Copyright © 2004 Pearson Education, Inc.

BSD Sockets (cont)• Once a socket has been created, it can be

bound to an internet port

int bind(int skt, struct sockadrr *addr, int addrLength)

P

s

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-37

Copyright © 2004 Pearson Education, Inc.

UDP

• Datagram (“connectionless”) service– Similar to disk I/O level of service

• Logically associated with an IP packet & Data Link frame (but not physically)

• Best-effort delivery of datagrams, but:– Datagram may be dropped (lost)– Datagrams may be delivered out of order

• Efficient, relative to TCP

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-38

Copyright © 2004 Pearson Education, Inc.

Using UDP/* Set up a socket to talk to the server */ skt = socket(AF_INET, SOCK_DGRAM, 0); host = gethostbyname(remoteHostName); bzero(&remote, sizeof(remote)); remote.sin_family = host->h_addrtype; remote.sin_port = htons(remotePort); bcopy(host->h_addr, &remote.sin_addr, host->h_length);/* Export the socket to a port (and IP address) */ host = gethostbyname(localHostName); bzero(&local, sizeof(local)); local.sin_family = host->h_addrtype; local.sin_port = htons(localPort); bcopy(host->h_addr, &local.sin_addr, host->h_length); if(bind(skt, &local, sizeof(local))) { printf("Bind error ... restart\n"); exit(1); } . . . sendto(s, outBuf, strlen(outBuf), 0, remote, sizeof(remote)); if((len = recv(s, inBuf, BUFLEN, 0)) > 0) {. . .}

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-39

Copyright © 2004 Pearson Education, Inc.

TCP

• Connected (or virtual circuit) protocol

• Interface allows programmer to read/write a byte stream over the network

• Byte stream is mapped into a series of packets– Reliable delivery– Each packet must be acknowledged– Effectively 2 packets per transmission

• Must open/close a connection before use

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-40

Copyright © 2004 Pearson Education, Inc.

Using TCP -- Client

skt = socket(AF_INET, SOCK_STREAM, 0);host = gethostbyname(serverHostName);bzero(&listener, sizeof(listener));listener.sin_family = host->h_addrtype;listener.sin_port = htons(port);bcopy(host->h_addr, &listener.sin_addr, host->h_length);if(connect(skt, &listener, sizeof(listener))) { printf("Connect error ... restart\n"); printf("(Must start Server end first)\n"); exit(1);};. . .write(s, outBuf, BUFLEN);if((len = read(s, inBuf, BUFLEN)) > 0) {. . .}

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-41

Copyright © 2004 Pearson Education, Inc.

Using TCP -- Serverskt = socket(AF_INET, SOCK_STREAM, 0); /* Produce an inet address */host = gethostbyname(serverHostName);bzero(&listener, sizeof(listener));listener.sin_family = host->h_addrtype;listener.sin_port = htons(port);bcopy(host->h_addr, &listener.sin_addr, host->h_length);if(bind(skt, &listener, sizeof(listener))) { printf("Bind error ... restart\n"); exit(1);}listen(skt, BACKLOG); /* Listen for a request */newSkt = accept(skt, &client, &clientLen);if (fork() == 0) { close(skt); /* Child doesn't need listener socket */ . . .}close(newSkt); /* Parent doesn't need the new socket */

if((len = read(s, inBuf, BUFLEN)) > 0) { . . .}write(s, outBuf, BUFLEN);

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-42

Copyright © 2004 Pearson Education, Inc.

ISO OSI Model

PresentationSession

TransportNetwork

Data LinkPhysical

PresentationSession

TransportNetwork

Data LinkPhysical

•Physical/Data Link layer networks: Ethernet, Token Ring, ATM•Network layer net: The Internet•Transport layer net: TCP-based network•Presentation/Session layer net: http/html, RPC, PVM, MPI

Examples

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-43

Copyright © 2004 Pearson Education, Inc.

ISO OSI ModelApplicationPresentation

SessionTransportNetwork

Data LinkPhysical

ApplicationPresentation

SessionTransportNetwork

Data LinkPhysical

•Physical/Data Link layer networks: Ethernet, Token Ring, ATM•Network layer net: The Internet•Transport layer net: TCP-based network•Presentation/Session layer net: http/html, RPC, PVM, MPI•Applications, e.g., WWW, window system, numerical algorithm

Examples

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-44

Copyright © 2004 Pearson Education, Inc.

A Firewall

Organization’sIntranet

FirewallFirewall

Internal HostInternal Host

Internal HostInternal Host Internal HostInternal Host

Internal HostInternal Host

Internet

Operating Systems: A Modern Perspective, Chapter 15

Slide 15-45

Copyright © 2004 Pearson Education, Inc.

Client-Server Paradigm

• Making a connection in TCP is an example of the client-server paradigm for distributed computing– Active component is the client

• Runs autonomously

• Decides when it wants to use server

– Passive component is the server• Persistent

• Always waiting for a client to request service

• Not a machine -- just software