+ All Categories
Home > Documents > Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed...

Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed...

Date post: 21-Dec-2015
Category:
View: 219 times
Download: 5 times
Share this document with a friend
Popular Tags:
42
Networks and Comm unication CS-4513 D-term 200 8 1 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne, Distributed Systems: Principles & Paradigms, 2 nd ed. By Tanenbaum and Van Steen, and Modern Operating Systems, 2 nd ed., by Tanenbaum)
Transcript
Page 1: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 1

Networks and Communication

CS-4513Distributed Computing Systems

(Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne, Distributed Systems: Principles & Paradigms, 2nd ed. By Tanenbaum and Van Steen, and

Modern Operating Systems, 2nd ed., by Tanenbaum)

Page 2: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 2

Context

• Networking was formerly regarded as “just another form of I/O”

• Today, focus is Distributed Computing• Shared files and other resources among physically separated

systems on networks– NFS, remote printing, etc.

• Integrated computations across network– Airline reservations, ATMs, etc.

• Interactive games and multimedia• …

• Note: this topic overlaps with CS-513/ECE-506 and with CS-4514

Page 3: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 3

Topics

• Fundamentals• Socket interface• Protocol Stack• Kinds of network connections

• Kinds of Communication• Remote Procedure Call• Message-oriented communication• Stream-oriented communication

• Naming• Names, addresses, routes

Page 4: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 4

Computer A

Process k

Computer B

Process i

Computer C

Process j

The Network

Page 5: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 5

Network Goal

• Allow activities on multiple computer systems to communicate with each other

• Shared memory, files, or data

• Message passing

• Remote Procedure Call

• Integrated applications — distributed across physical space

• Create abstractions that make these (relatively) transparent

Page 6: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 6

Principal Abstraction – Socket

• Originally created in BSD Unix• Subsequently, part of most operating systems• Allows opening a connection between two

processes across network• Connection:

– a serial conversation between two end points• e.g., processes, threads, tasks on different machines

– organized as a sequence of messages or datagrams

– distinct from all other connections

Page 7: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 7

The NetworkComputer A

Process k

Process p

Computer B

Process i

Task q

Computer C

Process j

Thread r

Page 8: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 8

Definition — Protocol

• Formal set of rules that govern the formats, contents, and meanings of messages from computer to computer, process to process, etc.

• Must be agreed to by all parties to a communication

• May be defined in terms of other protocols

Page 9: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 9

There are many, many protocols

• TCP, UDP, IP, NCP, SMTP, SNNP, NNTP, FTP, TFTP, POP, IMAP, HTTP, VMRL, …

• Appletalk, Netware, …

• Remote Procedure Call, NFS, …

• CORBA, GLOBE, JINI, …

• Network Streaming, …

• …

How to make sense out of all of them?

Page 10: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 10

Network Stack

• 1983 – Open System Interconnection (OSI) 7 layer Reference Model– Working group of the International Standards

Organization (ISO)

– Defines seven layers• Describe how applications communicate with each other

– Via network-aware devices

– Most day-to-day protocols• work on a slightly modified layer system

• E.g. TCP/ IP uses a 6-rather than a 7-layer model

Page 11: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 11

OSI 7-layer model

• Primarily a software and protocol architecture • Layers of model correspond to layers of abstraction• Each layer has a well-defined function• Layers chosen so that …

– international standards can be defined

• Boundaries between layers chosen to …– minimize information flow across interfaces

• Number of layers:–– Large enough

• Distinct functions need not be thrown together

– Small enough • Architecture does not become unwieldy

Page 12: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 12

The OSI 7-layer model(in a nutshell)

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Silbershatz, §§16.6-16.7

Page 13: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 13

Annotated OSI 7-Layer Stack

Silbershatz, page 630

Page 14: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 14

The OSI 7-layer model (continued)

• Layer 2 – Data Link Layer– Take the raw transmission facility and

transform it into an abstract link that appears free of errors to layer 3.

• Error correcting coding (e.g. FEC)• Rate Control (Slow device not overrun by high

speed device)• Defines Packet abstraction

• Layer 1 – Physical Layer– Defines the physical and electrical

characteristics of the network. • Transmitting of raw bits over the communication

channel• Defines Bit abstraction

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Page 15: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 15

The OSI 7-layer model (continued)

• Layer 2 – Data Link Layer– Take the raw transmission facility and

transform it into an abstract link that appears free of errors to layer 3.

• Error correcting coding (e.g. FEC)• Rate Control (Slow device not overrun by high

speed device)• Defines Packet abstraction

• Layer 1 – Physical Layer– Defines the physical and electrical

characteristics of the network. • Transmitting of raw bits over the communication

channel• Defines Bit abstraction

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Page 16: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 16

The OSI 7-layer model (continued)

• Layer 3 – Network Layer– Controlling the operation of the subnet – How packets are routed– Congestion Control– Accounting function (billing)

• Network Statistics– Example - IP layer (IPv4, IPv6)

• Differences between v4, v6 source/destination addressing

– V4 – 32 bit addressing– V6 – 128 bit addressing

– Defines Internet abstraction – i.e., packets that can be sent from anywhere to anywhere

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Page 17: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 17

The OSI 7-layer model (continued)

• Layer 4 – Transport Layer– Accept data from higher layers

• Split it up into smaller units if need be• Passes these to the network layer• Ensures that the packets all arrive correctly at the

destination in the right order• Isolates higher layers from changes in the underlying

hardware– Two types of service to provide

• Reliable or unreliable delivery– True end-to-end layer – Example:– TCP or UDP – Defines Connection abstraction – i.e., data to

destination

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Page 18: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 18

The OSI 7-layer model (continued)

• Layer 7 – Application Layer– User layer protocol, multiple protocols required– Example – http, ftp, smtp

• Layer 6 – Presentation Layer– Performs certain functions that are requested sufficiently

often to warrant finding a general solution for them rather than letting each user solve the problem

– Example – encoding data

• Layer 5 - Session Layer– Allows users on different machines to establish sessions

between them– Example SSL, RPC

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Page 19: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 19

Summary — OSI 7-layer model

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

SendingProcess

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

ReceivingProcess

Bits

DH Data DT

NH Data

TH Data

SH Data

PH Data

AH Data

Data

Page 20: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 20

Layered Protocols

• OSI 7-layer model was intended to be a foundation of a family of international standard protocols

• Those protocols never gained much acceptance

• Role of Session and Presentation layers is murky, at best.

• Internet protocols (TCP/IP, etc.) are dominant

Page 21: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 21

The TCP/IP Protocol LayersTCP/IP

Page 22: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 22

The TCP/IP Protocol LayersTCP/IP

Defined by manufacturers, industry sub-groups, and separate standards bodies

Subsumed by middleware

Page 23: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 23

Modified Layers

Page 24: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 24

Examples of Middleware

• Authentication protocols

• Commit protocols for atomic transactions

• Multimedia protocols

• Remote Procedure Call protocols (RPC)

• …

Page 25: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 25

Styles of Communication

• Message-oriented

• Remote Procedure Call

• Streaming

Page 26: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 26

Some Terms

• Packet:– A unit of communication at Data Link layer– aka datagram

• IP Address:– A four-part “number” used by Network Layer to route a packet

from one computer to another

• Port:– A 16-bit number used within one computer to identify who/where

to send packet to

• Well-known port:– A port with number < 1024, used by agreement for standard

services – e.g.,• telnet (23), ftp (21), smtp (25), pop (110)

Page 27: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 27

More Terms

• Socket:– End point of a communication– Usually used in pairs, one for each direction– Comprises [IP Address: Port #]

• Connection:– A logical linkage between pairs of sockets at

two endpoints for purposes of a particular communication between those endpoints

– i.e., a serial conversation between endpoints• Usually two-way

Page 28: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 28

Connection

• The backbone of most message-oriented communication protocols

• Each party retains knowledge of the other• Each party retains information about state of the

other (vis a vis the protocol itself)• Each party “knows” if connection is broken• …

• Note: some popular protocols are “connection-less” – one side retains no state information about other side

Page 29: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 29

Establishing a Connection

• Process a on machine m creates a socket• OS assigns a new port number q to that socket

• Process a attempts to open a connection to machine n:p• p is a well-known port

• Process b on machine n is listening on p• Receives request from m:q

• Process b forks a process or spawns a thread c to talk with m:q, then resumes listening on p

• Thread/process c• Creates a new socket r for this connection• Replies to m:q with return address n:r

• a and c continue to communicate over this pair of sockets until they are finished.

Page 30: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 30

Typical Client-Server Connection

• Create socket • On server side

• Bind • I.e., connect socket to port # (usually well-known port)

• Listen• Sit and wait for a communication to come in

• Accept• Create new socket for purpose of responding to this caller

Page 31: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 31

Notes

• Responder to request for connection does not have to be the original server machine

• Delegate workload to other server systems

• Systems often include a connection ID as part of request to open connection

• Unique or randomly chosen• Reduces spoofing of server responses

• Unix/Linux will not re-use a socket # within 30 seconds

• To avoid confusion between old connection and new

Page 32: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 32

Reliable Connections

• Transport layer partitions messages into packets• TCP – Transmission Control Protocol• Sequence number of current packet• Sequence number of last packet received correctly

• Receiver keeps track of seq. # of packets• Reassembles in right order• Notify sender of missing, broken packets

• Sender keeps copy of each packet until receipt acknowledged

• Retransmits packets if no acknowledgement

• Window defines how many packet buffers to maintain for efficient transmission

• Allows many packets in “flight”

Page 33: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 33

Reliable Connections (continued)

Packet i

Packet i+1

Packet i+2

Packet i+3

Packet i+k

time

rec’d i

Page 34: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 34

Reliable Connections (continued)

Packet i

Packet i+1

Packet i+2

Packet i+3

Packet i+k

time

rec’d i

rec’d i

Page 35: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 35

Reliable Connections (continued)

Packet i

Packet i+1

Packet i+2

Packet i+3

Packet i+k

time

rec’d i

rec’d i

rec’d i+2

Page 36: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 36

Reliable Connections (continued)

Packet i

Packet i+1

Packet i+2

Packet i+3

Packet i+k

time

rec’d i

rec’d i

rec’d i+2

rec’d i+2

lost

Page 37: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 37

Reliable Connections (continued)

• If acknowledgement received for packet i• Delete from buffer all packets i

• If no acknowledgement received within a reasonable time for packet k

• Retransmit from buffer all packets k

• Result• Recovers from loss of packets• Recovers from loss of acknowledgements• Works well for reasonably reliable internet• Doesn’t work so well for noisy, unreliable networks

Page 38: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 38

Reminder

• How do we know if a packet is received correctly?

• Cyclic Redundancy Check (CRC)– Polynomial computed from packet header and

body– Usually 16 or 32 bits, computed by hardware

– Appended to message– Recomputed on reception, compared with

transmitted CRC– Equal packet received correctly

Page 39: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 39

Examples of Connection-based Protocols

• Telnet (virtual terminal)– 2-way communication by character stream– Line-by-line organization

• SMTP (Simple Mail Transport Protocol)– For sending mail– Layered on top of telnet protocol

• POP (Post Office Protocol)– For receiving your mail– Layered on top of telnet protocol

• FTP (File Transfer Protocol)– For transmitting ASCII or binary files– Binary data transmission not layered on telnet protocol

• …

Page 40: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 40

Connection-less communication

• Some communication protocols don’t need the overhead of reliable connections– When some number of errors can be tolerated

– Where recovery from those errors is easy

• UDP – User Datagram Protocol– The internet connection-less protocol (layer 4)

– Breaks messages into packets

– Messages delivered atomically or not at all

– Does not send acknowledgement of correct receipt

Page 41: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 41

Examples

• HTTP (HyperText Transport Protocol)– Web server responds directly to requests– If client does not get response, retries request

• NFS (Network File System)– For access to files on servers as if they are local– If client does not get response, retries request

• RPC (Remote Procedure Call)– Next topic

• …

Page 42: Networks and Communication CS-4513 D-term 20081 Networks and Communication CS-4513 Distributed Computing Systems (Slides include materials from Operating.

Networks and Communication

CS-4513 D-term 2008 42

Summary

• Socket, connection

• Network stack, 7-layer model

• Establishing a connection

• Reliable transmission

• Reading assignment– Silbershatz Chapter 16


Recommended