NetworksCS-4513, D-Term 20071 Introduction to Networks CS-4513 Distributed Computing Systems (Slides...

25
Networks CS-4513, D-Term 2007 1 Introduction to Networks CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne and from Modern Operating Systems, 2 nd ed., by Tanenbaum)
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    1

Transcript of NetworksCS-4513, D-Term 20071 Introduction to Networks CS-4513 Distributed Computing Systems (Slides...

NetworksCS-4513, D-Term 2007 1

Introduction to Networks

CS-4513Distributed Computing Systems

(Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne and from Modern Operating Systems, 2nd ed., by Tanenbaum)

NetworksCS-4513, D-Term 2007 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-4514

NetworksCS-4513, D-Term 2007 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

NetworksCS-4513, D-Term 2007 4

Computer A

Process k

Computer B

Process i

Computer C

Process j

The Network

NetworksCS-4513, D-Term 2007 5

Network Goal

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

• Shared memory, files, or data

• Message passing

• Remote Procedure Call

• Create abstractions that make these (relatively) transparent

NetworksCS-4513, D-Term 2007 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

NetworksCS-4513, D-Term 2007 7

Computer A

Process i

Process a

Computer B

Process k

Process b

Computer C

Process j

Process c

The Network

NetworksCS-4513, D-Term 2007 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

NetworksCS-4513, D-Term 2007 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?

NetworksCS-4513, D-Term 2007 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

NetworksCS-4513, D-Term 2007 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

NetworksCS-4513, D-Term 2007 12

The OSI 7-layer model(in a nutshell)

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

Silbershatz, §§16.6-16.7

NetworksCS-4513, D-Term 2007 13

Annotated OSI 7-Layer Stack

Silbershatz, page 630

NetworksCS-4513, D-Term 2007 14

The OSI 7-layer model (continued)

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

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

channel

• 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)Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

NetworksCS-4513, D-Term 2007 15

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 addressingPhysical

Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

NetworksCS-4513, D-Term 2007 16

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

– Type of service to provide• Reliable or unreliable delivery

– True end-to-end layer – Example:– TCP or UDP

Physical Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

NetworksCS-4513, D-Term 2007 17

The OSI 7-layer model (continued)

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

between them– Example SSL, RPC

• 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 7 – Application Layer– User layer protocol, multiple protocols required– Example – http, ftp, smtpPhysical

Layer

Data LinkLayer

NetworkLayer

TransportLayer

SessionLayer

PresentationLayer

ApplicationLayer

NetworksCS-4513, D-Term 2007 18

Example of OSI 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

NetworksCS-4513, D-Term 2007 19

The TCP/IP Protocol LayersTCP/IP

NetworksCS-4513, D-Term 2007 20

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 (telnet, ftp, smtp, pop, etc.)

NetworksCS-4513, D-Term 2007 21

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

NetworksCS-4513, D-Term 2007 22

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.

NetworksCS-4513, D-Term 2007 23

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

NetworksCS-4513, D-Term 2007 24

Connection-less communication

• UDP – User Datagram Protocol– Used when a certain number of errors can be

toleratedand also

– Where recovery from those errors is easy

• Example in future topic – NFS, the Network File System

NetworksCS-4513, D-Term 2007 25

Summary

• Socket, connection

• Network stack, 7-layer model

• Establishing a connection

• Reliable transmission

• Reading assignment– Silbershatz Chapter 16