Download presentation
Presentation is loading. Please wait.
1
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006
2
Networks 2 CS502 Spring 2006 Computer Networks Much more than can be covered in this course CS 513, CS 577 Outline Protocol Stack Kinds of network connections Socket interface Textbook: Networking is spread out over multiple chapters. Distributed Computing I/O Devices Memory Management –Buffer allocation Real Time OS
3
Networks 3 CS502 Spring 2006 Computer A Process 1 Computer B Process i Computer C Process j The Network
4
Networks 4 CS502 Spring 2006 Network Goal Allow activities on multiple computer systems to communicate with each other Shared memory (or data) Message passing Remote Procedure Call Create abstractions that make these (relatively) transparent
5
Networks 5 CS502 Spring 2006 Principal Abstraction – Socket Originally created in BSD Unix Subsequently in most OS’s Allows opening a connection between two processes across network
6
Networks 6 CS502 Spring 2006 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 –Running upon network-aware devices Communicate with each other –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
7
Networks 7 CS502 Spring 2006 Network Stack (continued) Arrived at 7 layer model –Software architecture –Created where a different layer of abstraction is needed –Well defined function –Layer chosen with international standards being defined –Boundaries chosen minimize information flow across interfaces –Number of layers: Large enough –Distinct functions need not be thrown together –In the same layer out of necessity Small enough –Architecture does not become unwieldy
8
Networks 8 CS502 Spring 2006 The OSI 7-layer model (in a nutshell) Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
9
Networks 9 CS502 Spring 2006 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 a line 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
10
Networks 10 CS502 Spring 2006 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 Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
11
Networks 11 CS502 Spring 2006 The OSI 7-layer model (continued) Layer 4 – Transport Layer –Accept data from layer 5 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 Isolates layer 5 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 Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
12
Networks 12 CS502 Spring 2006 The OSI 7-layer model (continued) Layer 5 - Session Layer –Allows users on different machines to establish sessions between them –Example SSL, RTP 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, smtp Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer
13
Networks 13 CS502 Spring 2006 Example of OSI 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
14
Networks 14 CS502 Spring 2006 TCP/IP – a subset Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer HTTP, DNS, Telnet, SMTP, FTP, SSH, etc. TCP-UDP IP Not Defined Device Hardware
15
Networks 15 CS502 Spring 2006 Some Terms Packet: –A unit of communication at Data Link layer 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.)
16
Networks 16 CS502 Spring 2006 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
17
Networks 17 CS502 Spring 2006 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/spawns a process/thread c to talk with m:q, then resumes listening 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.
18
Networks 18 CS502 Spring 2006 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
19
Networks 19 CS502 Spring 2006 Connection-less communication UDP – User Datagram Protocol –Used when a certain number of errors can be tolerated
20
Networks 20 CS502 Spring 2006 Next time Will assign Project 4 – a simple HTTP server and web client –Using sockets
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.