Download presentation
Presentation is loading. Please wait.
1
Networks and Communication CS-4513 D-term 20081 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)
2
Networks and Communication CS-4513 D-term 20082 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
3
Networks and Communication CS-4513 D-term 20083 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
4
Networks and Communication CS-4513 D-term 20084 Computer A Process k Computer B Process i Computer C Process j The Network
5
Networks and Communication CS-4513 D-term 20085 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
6
Networks and Communication CS-4513 D-term 20086 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
7
Networks and Communication CS-4513 D-term 20087 The Network Computer A Process k Process p Computer B Process i Task q Computer C Process j Thread r
8
Networks and Communication CS-4513 D-term 20088 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
9
Networks and Communication CS-4513 D-term 20089 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?
10
Networks and Communication CS-4513 D-term 200810 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
11
Networks and Communication CS-4513 D-term 200811 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
12
Networks and Communication CS-4513 D-term 200812 The OSI 7-layer model (in a nutshell) Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer Silbershatz, §§16.6-16.7
13
Networks and Communication CS-4513 D-term 200813 Annotated OSI 7-Layer Stack Silbershatz, page 630
14
Networks and Communication CS-4513 D-term 200814 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
15
Networks and Communication CS-4513 D-term 200815 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
16
Networks and Communication CS-4513 D-term 200816 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
17
Networks and Communication CS-4513 D-term 200817 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
18
Networks and Communication CS-4513 D-term 200818 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
19
Networks and Communication CS-4513 D-term 200819 Summary — OSI 7-layer model Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer Sending Process Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer Receiving Process Bits DHDataDT NHData THData SHData PHData AHData
20
Networks and Communication CS-4513 D-term 200820 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
21
Networks and Communication CS-4513 D-term 200821 The TCP/IP Protocol Layers TCP/IP
22
Networks and Communication CS-4513 D-term 200822 The TCP/IP Protocol Layers TCP/IP Defined by manufacturers, industry sub-groups, and separate standards bodies Subsumed by middleware
23
Networks and Communication CS-4513 D-term 200823 Modified Layers
24
Networks and Communication CS-4513 D-term 200824 Examples of Middleware Authentication protocols Commit protocols for atomic transactions Multimedia protocols Remote Procedure Call protocols (RPC) …
25
Networks and Communication CS-4513 D-term 200825 Styles of Communication Message-oriented Remote Procedure Call Streaming
26
Networks and Communication CS-4513 D-term 200826 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)
27
Networks and Communication CS-4513 D-term 200827 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
28
Networks and Communication CS-4513 D-term 200828 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
29
Networks and Communication CS-4513 D-term 200829 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.
30
Networks and Communication CS-4513 D-term 200830 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
31
Networks and Communication CS-4513 D-term 200831 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
32
Networks and Communication CS-4513 D-term 200832 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”
33
Networks and Communication CS-4513 D-term 200833 Reliable Connections (continued) Packet i Packet i+1 Packet i+2 Packet i+3 Packet i+k … time rec’d i
34
Networks and Communication CS-4513 D-term 200834 Reliable Connections (continued) Packet i Packet i+1 Packet i+2 Packet i+3 Packet i+k … time rec’d i
35
Networks and Communication CS-4513 D-term 200835 Reliable Connections (continued) Packet i Packet i+1 Packet i+2 Packet i+3 Packet i+k … time rec’d i rec’d i+2
36
Networks and Communication CS-4513 D-term 200836 Reliable Connections (continued) Packet i Packet i+1 Packet i+2 Packet i+3 Packet i+k … time rec’d i rec’d i+2 … lost
37
Networks and Communication CS-4513 D-term 200837 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
38
Networks and Communication CS-4513 D-term 200838 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
39
Networks and Communication CS-4513 D-term 200839 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 …
40
Networks and Communication CS-4513 D-term 200840 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
41
Networks and Communication CS-4513 D-term 200841 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 …
42
Networks and Communication CS-4513 D-term 200842 Summary Socket, connection Network stack, 7-layer model Establishing a connection Reliable transmission Reading assignment –Silbershatz Chapter 16
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.